[Coin-ipopt] Least square system singular while initializing equality multipliers.

Nguyen An Danh andanh at iam.rwth-aachen.de
Thu Dec 29 12:32:10 EST 2005


Hi Andreas.

When I used ISCALE = 3 or ISCALE = 4, it did not help too.  With ISCALE = 4, 
Ipopt run, but ||C|| became too big then decreased very slowly.

I also tried DFSCALE = 1.d-3 and ISCALE = 4 ( I reaaly do not understand 
completely this parameter), but it did not become better although it ran 
longer!

Here is my small example:
min -x[97]     
C[i,j] x[j] =0   18 linear equalities (i=1,18; j=1,96)
F(xj)<=0.0    24 nonlinear inequalities
-infinity < x[1],...,x[96] < +infinity
         0 < x[97] 
            slack variables <=0
The values of some F(xj) could be very near to zero.  I choose x0 = 0.  But my 
Jacobian of constraints of linear equalities are C[i,j], which are different 
from zero.
The Jacobian of linear equations are order of 0.006 to 10. And the Jacobian of 
nonlinear inequalities are order of 1e-15 to 1e+3.  Is it the difficulty?  
Did Ipopt push out the near zero value of Jacobian?

Is it the reason that I often get the message:
Constraints not dependent.
Hessian not dependent.
when Ipopt tried to scale my problem?  Are they redundant ?  If I ignore them, 
could I get the approximate solution as the original problem?

Since my C[i,j] has a lot of fill-in, could I remodel my problem as follows:
min -x[97]     
(C[1,j] x[j])^2 + (C[2,j] x[j])^2 +... + (C[18,j] x[j])^2=0   1 nonlinear 
equality (j=1,96)
F(xj)<=0.0    24 nonlinear inequalities.

By the way, could you take a look my code for the above bounds?
--------------------------------- 
      ILB(1)=97 
      BNDS_L(1)=0.0d0      

      DO I=1,num_slackvar
      IUB(I)=97+I 
      BNDS_U(I)=0.0D0 
      END DO       

Thank you so much.

Danh.

On Friday 23 December 2005 20:25, you wrote:
> Hi Danh,
>
> The message "Least square system singular while initializing equality
> multipliers." means that the matrix in Equation (36) in
>
> http://www.research.ibm.com/people/a/andreasw/papers/ipopt.pdf
>
> is singular.  This means that the constraint Jacobian does not have full
> row rank, or at least is numerically at the border of not having
> full row rank.
>
> This can happen if you pose constraints that are redundant (or at least
> close to being linearly dependent), and/or if your problem is still badly
> scaled.  Since you using the old version of Ipopt, you could try the
> automatic scaling option ISCALE = 3 and 4 (if you have the required
> Harwell routines compiled into Ipopt), and see if that helps.
>
> Regards,
>
> Andreas
>
> On Thu, 22 Dec 2005, Nguyen An Danh wrote:
> > Dear Andreas,
> >
> > Could you tell me about the message: "Least square system singular while
> > initializing equality multipliers." ?
> >
> > I am now executing another problem (please see below).  I do not know why
> > I can not excute the problem.  Although the total of variables is small.
> >
> > I reread your instruction about ||C||, and try to follow your tips to
> > choose a better starting point.  But I failed!!!  It 's really very stuff
> > to choose suitable starting point.
> >
> > Thank you so much.
> >
> > Parameter IMAXITER             has multiple assignments - using 
> > 0.10000D+05 .
> > *************************************************************************
> >***** 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         10795497
> >                              integer work space of size         15870830
> >
> >
> > Number of variables           :    86017
> >    of which are fixed         :        0
> > Number of constraints         :    17333
> > Number of lower bounds        :        1
> > Number of upper bounds        :    12288
> > Number of nonzeros in Jacobian:  1606464
> > Number of nonzeros in Hessian :   331777
> >  get_scale: |g|_inf =     1.0000000000000
> >  get_scale: QFSCALE =     1.0000000000000
> >  get_scale: smallest CSCALE =    0.24641104282206
> >
> > ITER     ERR       MU      ||C||   ||YPY||  ||PZ||     ||D||   ALFA(V)
> > ALFA(X)     NU   #LS       F      #cor   Regu    CPU(s)
> >     0 .400D+05p .100D+00 .427D+07 .000D+00 .000D+00  .000D+00 .000D+00 
> > .000D +00  .000D+00  0 -.51601698D+03  0 .000D+00 .205D+03
> > Least square system singular while initializing equality multipliers.
> > Setting multipliers to zero.
> >  ma27_call:  LIWMA increased from  5103977 to  26726960
> >  ma27_call:  LA increased from  8063622 to  26726960
> >  ma27_call:  LIWMA increased from  26726960 to  67659177
> >  ma27_call:  LA increased from  26726960 to  67659177
> >  ma27_call:  LIWMA increased from  67659177 to  172652595
> >  ma27_call:  LA increased from  67659177 to  172652595
> >
> > _______________________________________________
> > Coin-ipopt mailing list
> > Coin-ipopt at list.coin-or.org
> > http://list.coin-or.org/mailman/listinfo/coin-ipopt




More information about the Coin-ipopt mailing list