[Coin-ipopt] ensuring decrease of objective

g_sparrow at hotmail.com g_sparrow at hotmail.com
Mon Apr 23 05:15:04 EDT 2007


One thought on this... If you are using the C++ interface, you can implement 
the intermediate_callback() virtual function. By doing this, you can 
implement whatever heuristics you want to cause the algorithm to terminate. 
For example you could set the IPOPT max_iter quantity to some large value 
and then implement your own termination criteria which uses a combination of 
the number of iterations, with the additional check that the objective must 
have decreased. Of course, stopping the algorithm prematurely means that you 
are bypassing IPOPT's own convergence checking, so you may need to some 
additional checks as well (e.g. feasibility etc.).

There may be other (better) ways of doing this, but this is very flexible.

Graham

----- Original Message -----
From: "James Lu" <james.lu at oeaw.ac.at>
To: <coin-ipopt at list.coin-or.org>
Sent: Monday, April 23, 2007 4:27 AM
Subject: [Coin-ipopt] ensuring decrease of objective

> hi:
>
> We are using IPOPT as a local solver within scatter search, for parameter
> identification in gene networks. For some of the scatter search 
> heuristics, it
> is necessary that the objective decreases after carrying out the local 
> solve.
> However, due to the box constraints and the small number of IPOPT 
> iterations we
> carry out, sometimes the objective actually increases at the end of the 
> local
> optimization. Is there a way to set the options so that one carries out 
> enough
> iteations to at least ensure the objective DECREASES from is initial 
> value?
>
> thank you,
>
> James
>
> -- 
> Dr James Lu
>
> Research Scientist
> Johann Radon Institute for Computational and Applied Mathematics
>
> _______________________________________________
> 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