# Restoration phase failed

**URL:** https://discourse.julialang.org/t/restoration-phase-failed/33590
**Category:** Optimization (Mathematical)
**Tags:** jump, first-steps
**Created:** [January 20, 2020, 3:13pm UTC](https://discourse.julialang.org/t/restoration-phase-failed/33590 "2020-01-20T15:13:44Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![GiuliaM](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giuliam/32/209287_2.png) [@GiuliaM](https://discourse.julialang.org/u/GiuliaM)
#### Post date: [January 20, 2020, 3:13pm UTC](https://discourse.julialang.org/t/restoration-phase-failed/33590/1 "2020-01-20T15:13:44Z")

</div>

Hi everyone!  
I try to optimize a nonlinear problem with Ipopt (v0.6.1) using JuMP (v0.20.1).  
When the algorithm terminates, the output message is:

“EXIT: Restoration Failed!  
Restoration phase converged to a feasible point that is  
unacceptable to the filter for the original problem.  
Restoration phase in the restoration phase failed.”

I read in Ipopt documentation that it could happen if the problem is highly degenerate, does not satisfy the constraint qualification or if NLP code provides incorrect derivative information.

I use the following Ipopt Options:

- derivative\_test=“first-order” and no errors are detected by derivative checker
- print\_info\_string=“yes” and before entering in the restoration phase, letter “L” appears at the end of an iteration line with the diagnostic meaning: “Degenerate Jacobian, δc already perturbed”

What should I do?  
Are there other tests can I implement to find out where the problem is?

I’m new in optimization problems so I apologize in advance for errors and oversights.

---

<div class="post-metadata">

### Author: ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)
#### Post date: [January 20, 2020, 3:27pm UTC](https://discourse.julialang.org/t/restoration-phase-failed/33590/2 "2020-01-20T15:27:48Z")

</div>

Please read the first post of [Please read: make it easier to help you](https://discourse.julialang.org/t/psa-make-it-easier-to-help-you/14757).

If you can provide a simple example that reproduces the issue, it’ll be a lot easier to provide advice.

Try computing a feasible point via a different method (e.g., by hand), and then using the `start` keyword in `@variable`:

```nohighlight
model = Model(with_optimizer(Ipopt.Optimizer))
@variable(model, x, start = 1.23

```

or `set_start_value`:

```nohighlight
model = Model(with_optimizer(Ipopt.Optimizer))
@variable(model, x)
set_start_value(x, 1.23)

```
