[Ipopt] Passing an Error from Callback Function to IPOPT in MATLAB

Arnaud Barré arnaud.barre at icloud.com
Fri Jun 20 11:04:39 EDT 2014

Hi Anil,

I am not a Ipopt guru but in the Matlab documentation of the function ipopt you have this section:

funcs.iterfunc (optional)
      An additional callback routine that is called once per algorithm
      iteration. It takes three inputs: the first is the current iteration
      of the algorithm, the second is the current value of the objective,
      and the third is a structure containing fields x, inf_pr, inf_du, mu,
      d_norm, regularization_size, alpha_du, alpha_pr, and ls_trials. This
      function should always return true unless you want ipopt to terminate
      prematurely for whatever reason. If you would like to use the third
      input to iterfunc along with auxdata functionality, you will need to
      modify the appropriate section of ipopt_auxdata.m.

In your case, if the iterfunc returns false, this should stop the algorithm


On Jun 19, 2014, at 10:32 AM, Anil Rao <anilvrao at gmail.com> wrote:

> All,
> I am using the MATLAB interface of IPOPT.  I would like to know if it is possible to pass to IPOPT an error flag that indicates that the user callback function cannot be evaluated at a particular point?  The idea is to indicate to IPOPT that the current search must be terminated because one or more of the user callback functions cannot be evaluated at the current value of the decision vector and that in order to continue IPOPT needs to choose a different value of the decision vector.  Any help is appreciated.  
> Anil
> -- 
> Anil V. Rao, PhD
> Associate Professor
> Department of Mechanical and Aerospace Engineering
> University of Florida
> Gainesville, FL 32611-6250
> Tel:  (352) 672-1529
> E-mail:  anilvrao at gmail.com
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt

More information about the Ipopt mailing list