Dear Moco development team and Moco users,
Thank you all for your contributions to the biomechanics community! I recently ran into a problem with optimization iterations unexpectedly interrupted when doing a muscle-driven predictive simulation. The specific interruption prompt output by IPOPT is 'Restoration phase is called at point that is almost feasible, with constraint violation 8.756388e-06. Abort.'
EXIT: Restoration Failed!
In the last few iterations, the 'objective' changes very little, 'inf_pr' also maintains a small value (less than 1e-5), and the magnitude of 'inf_du' fluctuates around 1e+01 and 1e+02. I guess the large 'inf_du' value is the main reason for the iteration interruption.
How should I debug to solve this annoying problem? I would be very grateful if someone could give me some advice.
Best Wishes,
Matthew
Unexpected interruption of optimization iterations
- Matthew Lee
- Posts: 52
- Joined: Sat Jun 20, 2020 7:46 pm
- Nicholas Bianco
- Posts: 1050
- Joined: Thu Oct 04, 2012 8:09 pm
Re: Unexpected interruption of optimization iterations
Hi Matthew,
Best,
Nick
The small 'inf_pr' value indicates that the problem constraints are likely being met and the solver is struggling to converge for other reasons. What is the magnitude of the objective value? Keep the objective value scaled between [0.1, 10] is recommended for best convergence. You can scale the objective value by scaling all the weights in your objective by a common factor.In the last few iterations, the 'objective' changes very little, 'inf_pr' also maintains a small value (less than 1e-5), and the magnitude of 'inf_du' fluctuates around 1e+01 and 1e+02.
Best,
Nick
- Matthew Lee
- Posts: 52
- Joined: Sat Jun 20, 2020 7:46 pm
Re: Unexpected interruption of optimization iterations
Dear Nick,
Thanks very much for your quick reply!
The objective function value is around 0.7, which is within [0.1,10]. My convergence tolerance is set to 1e-3.
The final iterations are as follows:
I look forward to getting more guidance from you, thank you very much!
Best Wishes,
Matthew
- Nicholas Bianco
- Posts: 1050
- Joined: Thu Oct 04, 2012 8:09 pm
Re: Unexpected interruption of optimization iterations
Hi Matthew,
Thanks for the info. Could you provide a few more details about the problem you're trying solve?
You should also check to see if any variables are hitting their bounds, which can lead to convergence issues.
Best,
Nick
Thanks for the info. Could you provide a few more details about the problem you're trying solve?
You should also check to see if any variables are hitting their bounds, which can lead to convergence issues.
Best,
Nick
- Ross Miller
- Posts: 375
- Joined: Tue Sep 22, 2009 2:02 pm
Re: Unexpected interruption of optimization iterations
One of my frustrations with IPOPT is that the value of "objective" printed to the screen during iteration is not exactly the value that is being targeted for minimization. Similarly, the data printed to the screen are related to the values being checked against the constraint and convergence tolerances, but are not exactly those values.
Ross
Ross
- Carlos Gonçalves
- Posts: 136
- Joined: Wed Jun 08, 2016 4:56 am
Re: Unexpected interruption of optimization iterations
I think I got the same problem in a simple simulation of isometric max torque.
I had never seen this before. I will try different guess files and weights to see what happens.
Any suggestion?
Code: Select all
Restoration phase converged to a feasible point that is
unacceptable to the filter for the original problem.
Restoration phase in the restoration phase failed.
Any suggestion?