[Ipopt] Incorrect multipliers reported for equality constrained variables
Joel Andersson
joel.andersson at esat.kuleuven.be
Thu Apr 18 06:05:06 EDT 2013
Hello!
I am getting incorrect Lagrange multipliers for equality constrained
variables ("parameters"). For example, when I solve the following problem:
minimize: x0*(3+x1^2)
subject to:
[1.0, -10] <= [x0,x1] <= [1.0, 10]
I get that the multipliers corresponding to the bound is [0,0], which is
obviously wrong (it should be [-3,0]).
If I formulate the same constraint as a nonlinear constraint or if I allow
a range for x0 (e.g. [1.000,1.0001]), then I get the correct multipliers.
I suspect this is related to Ipopt "optimizing away" the variable. Is there
some way to prevent this from happening? Or maybe I missed something in the
doumentation?
Thanks!
Joel
P.S: I use Ipopt from CasADi. For reference here is my test script:
from casadi import *x = ssym("x",2)f =
SXFunction([x],[x[0]*(3+x[1]**2)])s =
IpoptSolver(f)s.init()s.setInput([1., -10.],"lbx")s.setInput([1.,
10.],"ubx")s.evaluate()print s.output("lam_x") # [0,0] # wrong!!!
--
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-4408800 (Spain) / +46-707-360512
(Sweden)
Private address: Weidestraat 5, 3000 Leuven, Belgium
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20130418/18d51cfd/attachment.html>
More information about the Ipopt
mailing list