Hello everyone,
I am trying to compare three different modeling approaches on a set of instances with two variables x (integer), and y (continuous) using CPLEX 12.7 version.
In the first one, I use a single MIP model, in the second, a manual Benders decomposition where two separate models, a master (for x) and a sub-problem (for y) are written and cuts are added through LazyConstraints callbacks, and in the third, CPLEX automatic benders decomposition is used.
while the single MIP model and the Manual approach gave the same (optimal) results, CPLEX automatic benders raise the following warning :
"BENDERS WARNING: no sub-problems left", and the problems became infeasible.
No matter which Benders strategy parameter I use (Full, Workers, or User) I got the same error.
After checking the annotation file below written by cplex.writeBendersAnnotation(), it seems that CPLEX annotate every variable y_ijk to a different sub-problem.
Shouldn't the value of every variable be the same so they are placed in the same sub-problem? In my case the value shouldn't the value be equal to 1?
Thank you for your help.
<?xml version='1.0' encoding='utf-8'?>
<CPLEXAnnotations>
<CPLEXAnnotation name='cpxBendersPartition' type='long' default='0'>
<object type='1'>
<anno name='y_0_0_0' index='0' value='1'/>
<anno name='y_0_0_1' index='1' value='2'/>
<anno name='y_0_0_2' index='2' value='3'/>
<anno name='y_0_1_0' index='3' value='4'/>
<anno name='y_0_1_1' index='4' value='5'/>
<anno name='y_0_1_2' index='5' value='6'/>
<anno name='y_0_2_0' index='6' value='7'/>
<anno name='y_0_2_1' index='7' value='8'/>
<anno name='y_0_2_2' index='8' value='9'/>
<anno name='y_0_3_0' index='9' value='10'/>
<anno name='y_0_3_1' index='10' value='11'/>
<anno name='y_0_3_2' index='11' value='10'/>
<anno name='y_1_0_0' index='12' value='12'/>
<anno name='y_1_0_1' index='13' value='10'/>
<anno name='y_1_0_2' index='14' value='10'/>
<anno name='y_1_1_0' index='15' value='13'/>
<anno name='y_1_1_1' index='16' value='14'/>
<anno name='y_1_1_2' index='17' value='15'/>
<anno name='y_1_2_0' index='18' value='16'/>
<anno name='y_1_2_1' index='19' value='17'/>
<anno name='y_1_2_2' index='20' value='18'/>
<anno name='y_1_3_0' index='21' value='19'/>
<anno name='y_1_3_1' index='22' value='20'/>
<anno name='y_1_3_2' index='23' value='21'/>
</object>
</CPLEXAnnotation>
</CPLEXAnnotations>
------------------------------
ISSA bou zeid
------------------------------
#DecisionOptimization