[Ipopt] Using IPOPT to solve NLP subproblems generated by an outer-approximation algorithm

Ayotte-Sauvé, Étienne Etienne.Ayotte-Sauve at RNCan-NRCan.gc.ca
Fri Feb 17 15:54:53 EST 2012


Andreas, thank you very much for the option suggestions, for the insight on what may be happening 
(and for saving me the time of finding the Bonmin IPOPT settings).

In order for me to investigate in more detail what is happening, I'd like to know if there is a way 
(e.g. using print_level) to have information on the Hessian (objective, Lagrangian
or reduced) and on the KKT matrix at each iteration.   

By using the options acceptable_dual_inf_tol = 1e30 and acceptable_obj_change_tol = 1e-4, the calculation 
times decrease by roughly 20% for the majority of instances I tested. However, in some cases, adding these 
non-default options actually increases calculation times (see example below). Note that in all instances I tested,
the Bonmin options increased calculation times with respect to the default settings. 

I'll continue experimenting with acceptable_* options and looking further into why the primal feasibility threshold 
is achieved rather rapidly while its dual counterpart is harder to achieve (as you said, maybe the KKT matrix is singular).

Remark. All examples have the same initialization.

*****

================
DEFAULT SETTINGS
================

 Major Major     Objective    CPU time  Itera- Evaluation Solver
 Step  Iter       Function     (Sec)    tions   Errors
  MIP    1       137.54720      5.53    10042      0      cbc
  NLP    2        12.61042<     6.73      246      0      ipopt
  MIP    2       151.19669      5.33     6174      0      cbc
  NLP    3        12.97316     10.80      393      0      ipopt
--- DICOPT: Terminating...
--- DICOPT: Stopped on NLP worsening

      The search was stopped because the objective function
      of the NLP subproblems started to deteriorate.

--- DICOPT: Best integer solution found: 12.610419

========================
ALTERNATE IPOPT SETTINGS
========================

acceptable_dual_inf_tol 1e30
acceptable_obj_change_tol 1e-4

 Major Major     Objective    CPU time  Itera- Evaluation Solver
 Step  Iter       Function     (Sec)    tions   Errors
  MIP    1       137.54720      5.53    10042      0      cbc
  NLP    2        12.61042<   173.02     6002      0      ipopt
  MIP    2       158.40236      4.22     3392      0      cbc
  NLP    3        12.50573<    78.70     2698      0      ipopt
  MIP    3       204.26209      9.02     7222      0      cbc
  NLP    4        12.50767    100.02     3677      0      ipopt
--- DICOPT: Terminating...
--- DICOPT: Stopped on NLP worsening

      The search was stopped because the objective function
      of the NLP subproblems started to deteriorate.

--- DICOPT: Best integer solution found: 12.505727

===============
BONMIN SETTINGS
===============

expect_infeasible_problem yes
gamma_phi 1e-08
gamma_theta 0.0001
mu_oracle probing
mu_strategy adaptive
required_infeasibility_reduction 0.1


 Major Major     Objective    CPU time  Itera- Evaluation Solver
 Step  Iter       Function     (Sec)    tions   Errors
  MIP    1       137.54720      5.69    10042      0      cbc
  NLP    2        12.61042<   120.19     4248      0      ipopt
  MIP    2       160.54575      4.78     3993      0      cbc
  NLP    3        12.17984<    41.45     1535      0      ipopt *Nonopt*
  MIP    3       160.56090      3.63     3511      0      cbc
  NLP    4        12.15164<    56.84     2049      0      ipopt
  MIP    4       165.72705      8.00     7725      0      cbc
  NLP    5        12.18169     64.58     2448      0      ipopt *Nonopt*
--- DICOPT: Terminating...
--- DICOPT: Stopped on NLP worsening

      The search was stopped because the objective function
      of the NLP subproblems started to deteriorate.

--- DICOPT: Best integer solution found: 12.151645

      *Nonopt*: an NLP subproblem was not solved to optimality. The solution
      was feasible however, so this solution was accepted.

*****

Stefan, thanks for your answer. I'll test the different Bonmin options and definitely download the new GAMS version. 
As for purchasing access to other linear solvers, I'll definitely consider it as a last resort.

Again, thanks to all for taking the time to answer my questions. It is very much appreciated.

Etienne







More information about the Ipopt mailing list