Using CPLEX 12.8 Benders Decomposition for two-stage stochastic MIP problem

136 views
Skip to first unread message

Se Heon Kim

unread,
Jul 11, 2018, 2:44:53 PM7/11/18
to ai...@googlegroups.com
Dear AIMMS group members,

I have been struggling to implement CPLEX Benders Decomposition for my two-stage stochastic MIP problem.
Inspired by NetworkRingDesign example, I consider two methods for solving my stochastic model (deterministic equivalent and CPLEX Benders Decomposition).

The problem is that I could not get same result using both methods. Despite solving deterministic equivalent gave me the optimal solution, I got the following solver failure error when I use Benders.

"Warning: After zero iterations CPLEX 12.8 terminated and MyStochasticProgram is still infeasible."

It would be much appreciated if you help me to figure out why this happens.

Few things to note:

         - I have 2 binary variables at first-stage and 3 non-negative stochastic variables at second-stage .
         - I set the option 'Benders Strategy' to 'off'.

Best regards,
Seheon Kim


TestSP_Benders.zip

Marcel Hunting

unread,
Jul 12, 2018, 7:51:00 AM7/12/18
to AIMMS - The Modeling System
Hi,

CPLEX gives an error message that the Benders decomposition is invalid (shown in the Messages Window). You should assign a decomposition value for all variables in the model (except the objective variable), and therefore you should add:

GMP::Benders::SetDecompositionMulti( StochasticGMP, (sc), TotalSlotCost.Stochastic(sc), 0 );
GMP
::Benders::SetDecompositionMulti( StochasticGMP, (sc), TotalWalkingCost.Stochastic(sc), Ord(sc) );
GMP
::Benders::SetDecompositionMulti( StochasticGMP, (sc), TotalUnsatisfiedDemandCost.Stochastic(sc), Ord(sc) );

Best regards,

Marcel Hunting
AIMMS Optimization Specialist
Reply all
Reply to author
Forward
0 new messages