[Ipopt] Detecting violated constraint qualification

Andreas Waechter andreasw at watson.ibm.com
Wed Sep 8 22:10:10 EDT 2010

Hi Bernhard,

> I'm joining this question because it is still unanswered and I have a
> similar problem.
> I also have the supicion that my problem matrizes are rank deficient. Is
> there any output option to print the size of the rank deficiency?
> And the same question as below: Is there any mechanism to detect the
> redundant / linearly dependent constraints?

Well, at some point we tried to get this information from the linear 
solvers and potentially use it as preprocessing, but it didn't work very 
well, so we don't use or advertize it.  However, on your own risk you can 
try to use it, using the option


      "Indicates which linear solver should be used to detect linearly 
dependent equality constraints.",
       "none", "don't check; no extra work at beginning",
       "mumps", "use MUMPS",
       "wsmp", "use WSMP",
       "ma28", "use MA28",
       "The default and available choices depend on how Ipopt has been "
       "compiled.  This is experimental and does not work well.");

But that will only call the chosen at random perturbation of the starting 
point and if I remember correctly remove the constraints that are thought 
to be dependent from the problem during the Ipopt solution.  It should 
print out the list of the constraints when you set the print level to at 
least 6.

Again, this has not been maintained and probably does not work well, but 
you are welcome to play with it.

> Martin Schmidt schrieb:
>> Hi at all,
>> I try to solve an optimization problem with Ipopt and I often get the
>> messages "1 Slack too small, adjusting variable bound" or "WARNING:
>> Problem in step computation; switching to emergency mode."

The second WARNING message can also appear if there are bad floating point 
numbers (Nan or Inf) in the matrices, it might be worthwhile to run with

check_derivatives_for_naninf yes

which will tell you if there is a bad number.

The first message is not necessarily bad, but if it appears repeatedly, it 
probably means that Ipopt is some trouble.

>> I read in other postings to this list that these errors might occur if
>> the problem doesn't satisfy the LICQ. Is there any mechanism to detect
>> the constraint violating the LICQ?

Except for the heuristic idea described above, we have nothing like this 
in Ipopt.  (Sorry for not answering this earlier)



>> Thank you,
>> Martin Schmidt
>> _______________________________________________
>> 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