[Ipopt] Hard constraints in IPOPT

Andreas Waechter awaechter.iems at gmail.com
Fri Sep 2 15:33:41 EDT 2011


Hi Joel,

To follow up with Giacomo's suggestion, Ipopt usually honors variable 
bounds in all iterations (with the caveat of the effect of the 
"bound_relax_factor" option that Giacomo mentioned - see the 
documentation).  So, if you have a function f(x) which is not defined 
for an argument x<x_L, you can just explicitly set the bound x>=x_L in 
the model you give to Ipopt.  If the argument of f(x) is a function 
itself, e.g., f(g(z)), you can introduce an auxiliary variable x and 
include the constraints

x = g(z)
x >= x_L

Hope this helps,

Andreas

On 08/26/2011 04:21 PM, Giacomo Nannicini wrote:
> Joel,
> did you try bound_relax_factor 0? It should do the trick. It could
> decrease performance of the optimization but in most cases, I didn't
> notice the difference.
>
> Giacomo
>
> On Fri, Aug 26, 2011 at 4:55 PM, Joel Andersson
> <joel.andersson at esat.kuleuven.be>  wrote:
>> Hello all,
>>
>> Is there some way to give some "hard" bounds to some constraints or
>> variables in IPOPT? In my case, the result of the evaluation is
>> unpredictable when I go outside the bounds on some variables. I guess I
>> could have the callback function return an evaluation failure, but is there
>> some "prettier" way?
>>
>> Best,
>> Joel
>>
>> --
>> Joel Andersson, PhD Student
>> Electrical Engineering Department (ESAT-SCD), Room 05.11,
>> K.U.Leuven, Kasteelpark Arenberg 10 - bus 2446, 3001 Heverlee, Belgium
>> Phone: +32-16-321819
>> Mobile: +32-486-672874 (Belgium) / +34-63-4452111 (Spain) / +46-727-365878
>> (Sweden)
>>
>> Private address: Weidestraat 5, 3000 Leuven, Belgium
>>
>> _______________________________________________
>> Ipopt mailing list
>> Ipopt at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/ipopt
>>
>>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt



More information about the Ipopt mailing list