[Coin-ipopt] wrong Lagrange-Multiplier

Karsten Theissen tbb at math.uni-muenster.de
Thu Jun 30 05:11:44 EDT 2005


Dear Andreas and all Ipopt-users,

checking a very simple NLOP, we found out that Ipopt calculate a wrong sign 
and wrong value of one Lagrange-Multiplier.

In the following example (see attached aufg43a.mod) the value of ug7 should 
be:

ug7 = 48.9

This could be calculated by the Kuhn-Tucker-condition. Testing the problem 
with LOQO gives us the right value 48.9. 

Did you know what is happening here?? Our ipopt-output can be found in the 
attached file aufg43a.out.

Greetings

Karsten Theißen 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: aufg43a.mod
Type: audio/x-mod
Size: 2663 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/ipopt/attachments/20050630/a897c5cc/attachment.bin 
-------------- next part --------------
ipopt 2.2.1d: imaxiter=9999
iprint=10
dtol=1e-12

******************************************************************************
This program contains IPOPT, a program for large-scale nonlinear optimization.
   IPOPT is released as open source under the Common Public License (CPL).
               For more information visit www.coin-or.org/Ipopt
******************************************************************************

  Going to allocate double precision work space of size            40871
                             integer work space of size              539


Number of variables           :       11
   of which are fixed         :        0
Number of constraints         :        6
Number of lower bounds        :        5
Number of upper bounds        :       11
Number of nonzeros in Jacobian:       32
Number of nonzeros in Hessian :        8
 get_scale: |g|_inf =   291.252981
 get_scale: QFSCALE =   0.343344125
 get_scale: smallest CSCALE =   1.
get_scale: No scaling of constraints necessary

ITER     ERR       MU      ||C||    ||D||   ALFA(X) #LS        F         Regu
    0 .100E+03d .100E+00 .201E+02 .000E+00 .000E+00   0 -.32139044E+05 .000E+00
Constraints not dependent.
Hessian not dependent.
    1 .825E+02c .100E+00 .197E+02 .201E+02 .162E-01f  1 -.32192640E+05 .000E+00
    2 .826E+02d .100E+00 .197E+02 .302E+02 .240E-02h  1 -.32189002E+05 .000E+00
    3 .815E+02c .100E+00 .174E+02 .349E+02 .117E+00h  1 -.32030503E+05 .000E+00
    4 .799E+02c .100E+00 .168E+02 .118E+03 .342E-01f  1 -.32121475E+05 .000E+00
    5 .471E+02d .100E+00 .153E+02 .952E+02 .894E-01f  1 -.32214910E+05 .000E+00
    6 .630E+02d .100E+00 .124E+02 .298E+02 .189E+00h  1 -.32061878E+05 .000E+00
    7 .459E+02d .100E+00 .347E+01 .243E+02 .721E+00h  1 -.31318900E+05 .000E+00
    8 .280E+02d .100E+00 .333E+01 .611E+01 .381E-01h  1 -.31307915E+05 .000E+00
    9 .256E+02d .100E+00 .326E+01 .688E+01 .224E-01h  1 -.31301395E+05 .000E+00

ITER     ERR       MU      ||C||    ||D||   ALFA(X) #LS        F         Regu
   10 .143E+03d .100E+00 .893E-01 .567E+01 .100E+01h  1 -.30718608E+05 .000E+00
   11 .129E+02d .100E+00 .143E-01 .199E+00 .841E+00h  1 -.30673208E+05 .000E+00
   12 .268E-02d .100E+00 .547E-05 .378E-01 .100E+01h  1 -.30664087E+05 .000E+00
get_step_full: Try iterative refinement.
   13 .945E-04c .200E-01 .190E-06 .120E-01 .100E+01f  1 -.30665247E+05 .000E+00
   14 .442E-05c .283E-02 .887E-08 .259E-02 .100E+01f  1 -.30665498E+05 .000E+00
get_step_full: Try iterative refinement.
   15 .107E-06c .150E-03 .215E-09 .404E-03 .100E+01f  1 -.30665537E+05 .000E+00
get_step_full: Try iterative refinement.
   16 .329E-09c .184E-05 .662E-12 .224E-04 .100E+01f  1 -.30665539E+05 .000E+00
get_step_full: Try iterative refinement.
   17 .753E-13c .251E-08 .502E-14 .278E-06 .100E+01f  1 -.30665539E+05 .000E+00
      1 bounds have been changed due to small slacks.
   18 .113E-12c .125E-12 .502E-14 .378E-09 .100E+01h  1 -.30665539E+05 .000E+00

Number of iterations taken .............                     18
Final value of objective function is....-0.3066553886324200E+05

Errors at final point                      (scaled)       (unscaled)
Final maximal constraint violation is... 0.355271E-14    0.355271E-14
Final value for dual infeasibility is... 0.233230E-13    0.679290E-13
Final value of complementarity error is. 0.125443E-12    0.238727E-12

The objective function was evaluated     19 times.
The constraints were evaluated           19 times.

EXIT: OPTIMAL SOLUTION FOUND

CPU seconds spent in IPOPT and function evaluations =          0.0100

ipopt 2.2.1d: OPTIMAL SOLUTION FOUND
x [*] :=
1  78
2  33
3  29.9953
4  45
5  36.7758
;

ZF = -30665.5

ug1 = 3.93473e-15

ug2 = 403.269

ug3 = 4.12911e-14

ug4 = 3.2703e-14

ug5 = 809.425

ug6 = 7.30348e-14

ug7 = -87.1254

ug8 = 0

ug9 = 0

ug10 = 0

ug11 = 0

ug12 = 0

ug13 = 0

ug14 = 0

ug15 = 0

ug16 = 0



More information about the Coin-ipopt mailing list