Minor release fixing some small issues.

Added support for the mixed-integer linear solver
CBC interfaced through
OPTI Toolbox.

Added support for the mixed-integer nonlinear solver
BONMIN interfaced through
OPTI Toolbox.

Updated support for the linear programming solver
CLP by using the mex interface in
OPTI Toolbox.

Fixed issue which caused SOCP capability of CPLEX 12.4 to be lost in latest release.
Comments
Thank you!
Many thanks!
Hi Johan. Do you know how to define and add user cuts in YALMIP (and Matlab) for the cplex solver to solve mixed-integer problems by branch and cut?
Do you mean dynamically? There is no support for that through YALMIP.
Many thanks!
Hi Johan,
when I run the following test model using BONMIN, I get an error:
x1 = sdpvar(50,1);
x2 = intvar(50,1);
x3 = intvar(50,1);
objective = sum(2*x1+x2.*x3+x3.^2);
F = [];
F = F + set(x1'*(4*x1-4*x2+4*x3-20)+x2'*(2*x2-2*x3+9)+x3'*(2*x3-13)+24 > 0);
F = F + set(500-x1'*x2 > 0);
F = F + set(0 <= x1 <= 100);
F = F + set(0 <= x2 <= 100);
F = F + set(0 <= x3 <= 100);
ops = sdpsettings('solver','bonmin');
status = solvesdp(F,objective,ops);
Unknown problem in solver (try using 'debug'-flag in sdpsettings) (Error using bonmin *** Error using Bonmin Matlab interface: *** You have specified a nonexistent BONMIN/IPOPT option ("req_solver"). )
Regards,
There seem to be a bug in the 1.55 release of optilab.
This fixes the issue
ops.bonmin.ipopt = rmfield(ops.bonmin.ipopt,'req_solver')
Note that the problem is nonconvex so bonmin is not guaranteed to find a solution. You can just as well use 'bnb' which seems to perform better here, and if you want to obtain a certified global solution, you can use 'bmibnb'
(changing lower bound on x to negative number, otherwise the problem is trivial for both 'bnb' and 'bmibnb')
Thanks a lot!
Jonathan will release an updated version of OPTI Toolbox soon to fix these issue.
I noticed some other issues related to OPTI Toolbox (with clp, cbc amd ooqp) so I will release a patched version today or tomorrow.
A new version of OPTI Toolbox as been released.
Hi Johan,
when I run the following codes, I get an error:
A_ = (Plant_Balancmr.C)*Plant_Balancmr.A*inv(Plant_Balancmr.C)
Ad_ = (Plant_Balancmr.C)*Plant_Balancmr.B
P = sdpvar(7, 7);
Q = sdpvar(7, 7);
V = sdpvar(7, 7);
W = sdpvar(7, 7, 'full');
d = sdpvar(1, 1);
O(7, 7) = 0;
Aug = [(A_+Ad_)'*P+P*(A_+Ad_)+W'*Ad_+Ad_'*W+Q -W'*Ad_ A_'*Ad_'*V d*(W+P)
-Ad_'*W -Q Ad_'*Ad_'*V O
V*Ad_*A_ V*Ad_*Ad_ -V O
d*(W'+P) O O -V];
Oaug(28, 28) = 0;
F = [Aug<0];
solvesdp(F, -d)
y = max(real(eig(double(Aug))));
%------------------------------
%------------------------------
the information is as follows:
info: 'No suitable solver'
How can I tackle this problem? Thank you.
Best WIshes!
Yours
Jiang Yilang
You have products between decision variables (d and W+P), hence, it is not problem with linear matrix inequalities (guessing you have sedumi or similar linear sdp solver installed)
Your problem can easily be attacked using a bisection approach though
http://users.isy.liu.se/johanl/yalmip/pmwiki.php?n=Examples.DecayRate