<br><br><div class="gmail_quote">On Wed, Apr 4, 2012 at 1:53 AM, Hans Pirnay <span dir="ltr"><<a href="mailto:hans.pirnay@rwth-aachen.de">hans.pirnay@rwth-aachen.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Ipopt does not guarantee the equality constraints to hold at all<br>
times. However, the bounds you specified on the variables will always<br>
hold. Therefore, if you have a term like<br>
<br>
h(x) = sqrt(f(x))<br>
<br>
try introducing a variable y with<br>
<br>
y = f(x)<br>
h(x) = sqrt(y)<br>
y>=0<br>
<br>
or better yet, get rid of the sqrt altogether<br>
<br>
y = f(x)<br>
z*z = y<br>
h(x) = z<br>
y >=0<br>
z>=0<br>
<br>
However, note that any formulation involving bilinear terms ( x * y )<br>
must not be evaluated at (x=0, y=0), because of the derivatives. So<br>
you will need to specify starting values for y and z > epsilon<br>
<br>
hope this helps<br>
<div><div class="h5"><br>
On Wed, Apr 4, 2012 at 5:34 AM, Ming Ji <<a href="mailto:finalguy@gmail.com">finalguy@gmail.com</a>> wrote:<br>
> --> Starting line search in iteration 2 <--<br>
> Mu has changed in line search - resetting watchdog counters.<br>
> Acceptable Check:<br>
> overall_error = 3.3081951656527707e+01 acceptable_tol_ =<br>
> 9.9999999999999995e-07<br>
> dual_inf = 1.0184827638240758e+03 acceptable_dual_inf_tol_ =<br>
> 1.0000000000000000e+10<br>
> constr_viol = 0.0000000000000000e+00 acceptable_constr_viol_tol_ =<br>
> 1.0000000000000000e-08<br>
> compl_inf = 4.5618525445151024e+00 acceptable_compl_inf_tol_ =<br>
> 1.0000000000000000e-02<br>
> curr_obj_val_ = 2.7727963512437492e-01 last_obj_val =<br>
> 1.3239460189118296e-01<br>
> fabs(curr_obj_val_-last_obj_val_)/Max(1., fabs(curr_obj_val_)) =<br>
> 1.4488503323319196e-01 acceptable_obj_change_tol_ = 1.0000000000000000e+20<br>
> test iter = 2<br>
> The current filter has 0 entries.<br>
> Relative step size for delta_x = 1.790897e-01<br>
> minimal step size ALPHA_MIN = 6.253269E-14<br>
> Starting checks for alpha (primal) = 1.00e+00<br>
><br>
><br>
> On Tue, Apr 3, 2012 at 9:02 PM, Ming Ji <<a href="mailto:finalguy@gmail.com">finalguy@gmail.com</a>> wrote:<br>
>><br>
>> I am trying to solve a NLP problem with IPOPT. I noticed that constraints<br>
>> can be violated during the optimization. I need to take sqrt to estimate one<br>
>> term in my target function. So it is natural to add a constraint to make<br>
>> sure the sqrt calculation is always valid. However, during the iterations,<br>
>> IPOPT use some trial parameters that violate this constraint. The<br>
>> optimization almost always terminates before it finds any solution. Any work<br>
>> around for this?<br>
><br>
><br>
><br>
</div></div>> _______________________________________________<br>
> Ipopt mailing list<br>
> <a href="mailto:Ipopt@list.coin-or.org">Ipopt@list.coin-or.org</a><br>
> <a href="http://list.coin-or.org/mailman/listinfo/ipopt" target="_blank">http://list.coin-or.org/mailman/listinfo/ipopt</a><br>
><br>
</blockquote></div><br>