Originally posted by: giask1
I have this trick that seems to work better than MIP in many case
Rather than
… aij Xj … = rhsj with lb=int1 and ub=int2
I double the variables using Boolean (0,1) programming
…. (aij*int1) Yk + (aij*int2)Y k+1 ……. = rhsj
J=1 : k=1
J>1 : k=(J*2)+1
Then I post process the solution
If Yk ==0 & Yk+1 = 0 then Xj=0
If Yk=1 & Yk+1=0 then Xj =int1
If Yk=0 & Yk+1 =1 then Xj=int2
One can further impose Yk+Yk+1 <1
So (say) if int1=7 and int2=9 I do not get x=8 as with the mix integer programming
Do you see any negative implications ?
#CPLEXOptimizers#DecisionOptimization