Why can't I use yalmip to set benders decomposition with cplex when I solve MILP?

314 views
Skip to first unread message

Amanda Chen

unread,
Mar 9, 2018, 1:26:16 AM3/9/18
to YALMIP
I've used the latest yalmip to set benders decompositon with cplex 12.8 when I solved MILP. The handbook listed below shows how the set the benders paprameter
But the matlab warned that the "Benders stratege" is an "Unrecognized property name ", which is shown in the picture below. I don't know what's wrong with it ? Anybody can help me ???

 

Johan Löfberg

unread,
Mar 9, 2018, 2:51:04 AM3/9/18
to YALMIP
YALMIP does not have any option called 'Benders'. You are not using sdpsettings correctly for tuning solver options (but there is no option in cplex called 'Benders strategy' either..., you don't seem to have looked at the available cplex options in the op struct at all)

...and you obviously haven't read the tutorials, as there is no mention of any command called solvesdp in there. That command is called optimize since a decade back

Amanda Chen

unread,
Mar 9, 2018, 6:38:51 AM3/9/18
to YALMIP
I'm glad to receive your reply!!! The CPLEX V12.7 and V12.8 can use the benders decomposition method by simple calls, just as the IBM shows 
I use the latest yalmip to test the Cplex and found that the yalmiptest('cplex') shows below
It seems like the latest yalmip cannot support the CPLEX v12.8????  And I want to use yalmip to set the Benders parameter in CPLEX V12.8, but actually the "Benders" is not an option in YALMIP. So I don't know whether we can use YALMIP to set the CPLEX V12.8 or not? And how can we set the "Benders" parameter of CPLEX V12.8 through YALMIP?

Johan Löfberg

unread,
Mar 9, 2018, 10:20:57 AM3/9/18
to YALMIP
Latest YALMIP supports 12.8

and this is what I tried to hint at you

>> op = sdpsettings;
>> op.cplex.benders

ans = 

  struct with fields:

           strategy: 0
         tolerances: [1×1 struct]
    workeralgorithm: 0


However, in some version of MATLAB, the options creator of cplex fails. Hence, if you don't get the option structure above, you should check if the cplex options generator actually works by

cplexoptimset('cplex')

which is the command yalmip uses to create the structure. If that command fails (fails on my 2016 version with cplex 12.8) , YALMIP resorts to

cplexoptimset

this function creates a limited structure though. 

You can always test to simply add the field benders to the cplex options and see if cplex accepts that options structure

Johan Löfberg

unread,
Mar 9, 2018, 10:21:54 AM3/9/18
to YALMIP
and now I looked at you post. Isn't it rather obvious that you have a failed cplex installation...

Mark L. Stone

unread,
Mar 9, 2018, 10:36:23 AM3/9/18
to YALMIP
Which version of MATLAB do you have? If you have too old a version of MATLAB (perhaps R2015a and earlier), it will be incompatible with cplex. And that has nothing to do with YALMIP.

Amanda Chen

unread,
Mar 9, 2018, 9:12:53 PM3/9/18
to YALMIP
Thank you very much ! It turns out that I 've tried the matlab R 2014 and R 2016 and it cannot work! actually Yalmip has no problem ! And Yalmip help me a lot in my research !

Amanda Chen

unread,
Mar 9, 2018, 9:15:42 PM3/9/18
to YALMIP
Thank you! I find the problem, just as you bring up the version of matlab fails. I've tried the R2014 and R2016 and both of them cannot work.
Reply all
Reply to author
Forward
0 new messages