MATLAB 2013b compatibility

450 views
Skip to first unread message

Mahdi Kefayati

unread,
Sep 19, 2013, 2:01:01 AM9/19/13
to yal...@googlegroups.com
It seems that YALMIP is broken on r2013b. I have all my solvers working standalone but yalmiptest fails. Any plans for a compatibility release or work around?

Johan Löfberg

unread,
Sep 19, 2013, 2:02:45 AM9/19/13
to yal...@googlegroups.com
So what happens?

For instance, what is displayed when you run
x = sdpvar(1)
solvesdp
(x>=0,x,sdpsettings('debug',1))


Mahdi Kefayati

unread,
Sep 19, 2013, 2:10:08 AM9/19/13
to yal...@googlegroups.com
Here is the result of yalmiptest:
>> yalmiptest
Error using table (line 253)
All variables must have the same number of rows.

Error in yalmiptest (line 124)
table({'Searching for installed solvers'},header,data);

and here is the result of the snippet you posted:

>> x = sdpvar(1)
solvesdp(x>=0,x,sdpsettings('debug',1))
Linear scalar (real, 1 variable)
Error using eval
Undefined function 'callgurobi' for input arguments of type 'struct'.

Error in solvesdp (line 355)
    eval(['output = ' solver.call '(interfacedata);']);
 

Johan Löfberg

unread,
Sep 19, 2013, 2:11:44 AM9/19/13
to yal...@googlegroups.com
and this?

which callgurobi -all

Mahdi Kefayati

unread,
Sep 19, 2013, 2:13:14 AM9/19/13
to yal...@googlegroups.com
>> which callgurobi -all
'callgurobi' not found.


Johan Löfberg

unread,
Sep 19, 2013, 2:15:44 AM9/19/13
to yal...@googlegroups.com
Looks like you have to start by figuring out why you have a flawed installation of YALMIP. The paths are not correct. callgurobi is located in yalmip\solvers, and that directory, and all other diroctories in yalmip must be on the YALMIP path.

Mahdi Kefayati

unread,
Sep 19, 2013, 2:30:01 AM9/19/13
to yal...@googlegroups.com
Well, I have replaced the YALMIP that comes with MPT, with the YALMIP I downloaded. That has worked in the past (lie a year ago). Should it be a problem now?
Anyways, I removed the mpt folders in the path and re-added them (which readded YALMIP subfolders) and now I get:
>> which callgurobi -all
C
:\Program Files\MATLAB\R2013b\toolbox\mpt\yalmip\solvers\callgurobi.mEnter code here...
and then:
>> x = sdpvar(1)
solvesdp
(x>=0,x,sdpsettings('debug',1))
Linear scalar (real, 1 variable)
Optimize a model with 1 rows, 1 columns and 1 nonzeros
Presolve removed 1 rows and 1 columns
Presolve time: 0.00s
Presolve: All rows and columns removed
Iteration    Objective       Primal Inf.    Dual Inf.      Time
       
0    0.0000000e+00   0.000000e+00   0.000000e+00      0s

Solved in 0 iterations and 0.00 seconds
Optimal objective  0.000000000e+00

ans
=

    yalmiptime
: 0.0530
    solvertime
: 0.0030
          info
: 'Successfully solved (GUROBI-GUROBI)'
       problem
: 0
and finally:

>> yalmiptest
Error using table (line 253)
All variables must have the same number of rows.

Error in yalmiptest (line 124)
table
({'Searching for installed solvers'},header,data);

So basically yalmiptest still not working...

Johan Löfberg

unread,
Sep 19, 2013, 2:33:21 AM9/19/13
to yal...@googlegroups.com
Removing the old MPT version of YALMIP is prefered, as it is very old. 

So it looks like the YALMIP auxiliary function table which is used in yalmiptest fails now. Perhaps table is a new functionality in R2013b?

which table -all

Mahdi Kefayati

unread,
Sep 19, 2013, 2:37:48 AM9/19/13
to yal...@googlegroups.com
That is exactly what I do. Replace MPT's YALMIP, with the new release.

Here is the result for table:
>> which table -all
C
:\Program Files\MATLAB\R2013b\toolbox\matlab\datatypes\@table\table.m  % table constructor
C
:\Program Files\MATLAB\R2013b\toolbox\mpt\yalmip\extras\table.m        % Shadowed


Mahdi Kefayati

unread,
Sep 19, 2013, 2:39:10 AM9/19/13
to yal...@googlegroups.com
It seems that MATLAB not has a 'table' that shadows YALMIP's table... any thoughts on how to patch it?

Johan Löfberg

unread,
Sep 19, 2013, 2:42:43 AM9/19/13
to yal...@googlegroups.com
rename the table.m in yalmip/extras to bananasaretasty.m (or what ever you would like to call it), and replace all occurrences of table in yalmiptest with bananasaretasty.

I think the function table only is used in yalmiptest, so no relevant code is actually affected by this, so if you are lazy, simply don't use yalmiptest.

Johan Löfberg

unread,
Sep 19, 2013, 2:51:20 AM9/19/13
to yal...@googlegroups.com
Clearly it has! Listed in the first line.

Johan Löfberg

unread,
Sep 19, 2013, 3:53:15 AM9/19/13
to yal...@googlegroups.com
To summarize:

The problem was two-fold. Your path was messed up which caused YALMIP in general to malfunction. Once that is fixed, everything except yalmiptest, checktest and display of constraint will work in R2013b. The name clash on table.m affecting those three functions have been fixed and a new version will be shipped soon.

Mahdi Kefayati

unread,
Sep 20, 2013, 11:17:35 AM9/20/13
to yal...@googlegroups.com
Super!
Sorry I could not get back on the forum.
I think that solution (renaming the table function) would make everything work perfect. I think what misguided me was that yalmiptest broke before even reaching where it finds the solvers.
Many thanks for the quick support!
Reply all
Reply to author
Forward
0 new messages