[Ipopt] Ipopt Digest, Vol 95, Issue 16

Tony Kelman kelman at berkeley.edu
Fri Nov 23 12:52:08 EST 2012


Martijn,

Ipopt will maintain feasibility with respect to upper and lower bounds on 
variables, but general equality and inequality constraints are only 
guaranteed to be satisfied upon final convergence. If you can formulate your 
problem such that the feasible set is given by simple bounds, then Ipopt 
will be a feasible solver, otherwise it will not. Maintaining feasibility of 
general nonlinear equality constraints is rather difficult based on only 
local information, and to the best of my understanding Ipopt introduces 
slack variables (which are strictly positive at all times) to express all 
problems in terms of equality constraints and bounds. Ipopt does have a 
feasibility restoration feature where it does make an extra effort to 
initially find and finally return a feasible point, but I'm not sure whether 
that restoration phase gets invoked if you set a time limit and the 
algorithm has to terminate early.

Ipopt is quite good at problems of any size in my opinion, but best when 
sparse Jacobian and Hessian expressions are available. Quasi-Newton Hessian 
approximations can be pretty good on some problems, yours is probably small 
enough that they're worth trying. Your problem is on the small side, but the 
fact that you have quite a few more inequality constraints than variables 
could influence your choice of solvers, depending on the structure of those 
inequalities. Looking into better ways of calculating gradient, Jacobian, 
and Hessian will help for basically any solver. Can you use a modeling 
language like AMPL (which would also allow you to switch between solvers and 
compare performance very easily) to express your problem, or are the 
objective and constraints coming from some black-box simulation you don't 
have access to the structure of?

-Tony

-----Original Message----- 
From: Martijn Disse <M.W.Disse at student.tudelft.nl>
Date: Tue, 20 Nov 2012 17:31:07 +0000
To: ipopt mailing list <ipopt at list.coin-or.org>
Subject: [Ipopt] IPOPT versus other NLP solvers

Hi Everyone

In my research I am using IPOPT in a critical real-time model predictive 
control application. I have made a comparison, based on literature, between 
possible NLP solvers, but found it hard to find all the required 
information. It would be great if you could provide some quick feedback on 
the statements below.

>From what I understand there is a distinction between feasible and 
>infeasible solvers. Infeasible solvers (e.g. NPSOL) do not necessarily 
>satisfy the nonlinear constraints until an optimal solution is reached. 
>This is not an ideal situation for critical real-time trajectory generation 
>problems in that a feasible solution is better than none at all. Feasible 
>solvers will stay within the feasible set for every iteration, or at least 
>will put more effort in doing so compared to infeasible solvers. Is IPOPT a 
>feasible solver?

>From what I understand IPOPT is most suited for large NLP problems. My 
>problem consist of around 100 inequality constraint, 7-30 decision 
>variables and 3 equality constraints. Evaluation of the cost and constraint 
>functions and there derivatives is computationally extensive due to 
>finite-difference methods use (Jacobina and Hessian by IPOPT, full-not 
>sparse. Gradient by my own algoritm). Does this make the problem a "small" 
>problem and less suited for IPOPT?

Could you provide me with some feedback on the statements above? I would 
really appreciate it.

Best regards,

-Martijn



More information about the Ipopt mailing list