<HTML><HEAD></HEAD>
<BODY dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: 12pt">
<DIV>Marco,</DIV>
<DIV> </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> </DIV>
<DIV>function keep_going = iterfunc(iter, obj_value, varstruct)</DIV>
<DIV>...</DIV>
<DIV>keep_going = true; % unless you want Ipopt to
terminate</DIV>
<DIV> </DIV>
<DIV> </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> </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> </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> </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> </DIV>
<DIV>-Tony</DIV>
<DIV> </DIV></DIV></DIV></BODY></HTML>