<HTML><HEAD></HEAD>
<BODY dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: 12pt">
<DIV>Marco,</DIV>
<DIV>&nbsp;</DIV>
<DIV>As briefly explained (perhaps not in enough detail) on lines 122-132 of 
ipopt.m in the MatlabInterface folder, you should write your iterfunc callback 
as follows:</DIV>
<DIV>&nbsp;</DIV>
<DIV>function keep_going = iterfunc(iter, obj_value, varstruct)</DIV>
<DIV>...</DIV>
<DIV>keep_going = true;&nbsp;&nbsp;&nbsp; % unless you want Ipopt to 
terminate</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>varstruct is a structure with fields x, inf_pr, inf_du, mu, d_norm, 
regularization_size, alpha_du, alpha_pr, and ls_trials, like you would get as 
inputs to a C++ intermediate_callback.</DIV>
<DIV>&nbsp;</DIV>
<DIV>If you would also like to have auxdata as an input to your iterfunc 
callback, this is a slight incompatibility with the pre-3.11 input sequence to 
iterfunc. Have a look at the new wrapper function ipopt_auxdata.m, particularly 
lines 29-34.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Note for you and any other Matlab interface users out there, I posted 
pre-compiled mex files for 64-bit Linux, 64-bit Mac, 32 and 64-bit Windows at <A 
title=http://www.coin-or.org/download/binary/Ipopt/?C=M;O=D 
href="http://www.coin-or.org/download/binary/Ipopt/?C=M;O=D">http://www.coin-or.org/download/binary/Ipopt/?C=M;O=D</A> 
which might save you some time and hassle.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Let me know if you run into any difficulties with this. I’m pleasantly 
surprised to see someone wanting to use this new info right away.</DIV>
<DIV>&nbsp;</DIV>
<DIV>-Tony</DIV>
<DIV>&nbsp;</DIV></DIV></DIV></BODY></HTML>