Option for ipopt

428 views
Skip to first unread message

liuyibing

unread,
Apr 26, 2013, 3:10:30 PM4/26/13
to yal...@googlegroups.com
Hello johan
I have installed the YALMIP and OPTI toolbox with ipopt, but the option for ipopt is invalid, is there a bug?
thank you!

Johan Löfberg

unread,
Apr 26, 2013, 3:15:36 PM4/26/13
to yal...@googlegroups.com
in what sense?

liuyibing

unread,
Apr 26, 2013, 8:17:56 PM4/26/13
to yal...@googlegroups.com
thank you. For example, when I use the folowing command “ops=sdpsettings('solver','ipopt','ipopt.jac_c_constant','yes','verbose',2,'usex0',1,'cachesolvers',1,'showprogress',1);
Besides,all the option of IPOPT are invalid, I am doubt whtherthere is a bug between the OPTI interface and IPOPT?

Johan Löfberg

unread,
Apr 27, 2013, 3:31:37 AM4/27/13
to yal...@googlegroups.com
But what do you mean with invalid? Does something crash, or is something not communicated to IPOPT or what are you trying to say?

The options which can be communicated to the IPOPT interface are

K>> options.ipopt
ans
=
            nlp_scaling_method
: 'gradient-based'
                jac_c_constant
: 'no'
                jac_d_constant
: 'no'
              hessian_constant
: 'no'
            mehrotra_algorithm
: 'no'
                   mu_strategy
: 'adaptive'
                     mu_oracle
: 'quality-function'
                     mu_target
: 0
                       max_soc
: 4
         hessian_approximation
: 'limited-memory'
    limited_memory_max_history
: 6
               derivative_test
: 'none'
                 linear_solver
: 'ma57'
                   print_level
: 3

liuyibing

unread,
Apr 27, 2013, 11:00:38 PM4/27/13
to yal...@googlegroups.com
A simple example is tested by me:
x=sdpvar(1,1);
obj=x*x;
con=[];
con=con+[x<=3];
ops=sdpsettings('solver','ipopt','ipopt.print_level',3,'verbose',2,'debug',1);

sol=solvesdp(con,obj,ops);
if sol.problem == 0
    sol.info
    X = double(x)
    O=double(obj)
else
    display('Hmm, something went wrong!');
    sol.info
    yalmiperror(sol.problem)
end

when I run this progam, the following error:
Error using sdpsettings (line
1628)
Unrecognized property name
'ipopt.print_level'.

Error in solvertest (line 5)
ops=sdpsettings('solver','ipopt','ipopt.print_level',3,'verbose',2,'debug',1);
I use the OPTI-ipopt whcih you recommend, are there some bugs with my OPTI?

liuyibing

unread,
Apr 27, 2013, 11:01:05 PM4/27/13
to yal...@googlegroups.com

Johan Löfberg

unread,
Apr 28, 2013, 2:20:56 PM4/28/13
to yal...@googlegroups.com
Aha. All print levels are controlled using the general YALMIP option 'verbose'. YALMIP will set print_level as print_level = 2+verbose

liuyibing

unread,
Apr 28, 2013, 10:42:08 PM4/28/13
to yal...@googlegroups.com
Not only the "print_level",but also all the propertys in ipopt option can not be recognized by yalmip, could you give me some advice?

Johan Löfberg

unread,
Apr 29, 2013, 2:04:12 AM4/29/13
to yal...@googlegroups.com
Found the bug.

Until fixed, simlpy accses the options directly

ops = sdpsettings;
ops
.ipopt.someoption = value.

Reply all
Reply to author
Forward
0 new messages