Originally posted by: VivekPeriaraj
Hi Paul,
I tried something similar but without penalizing the objective. I didn't want to change the duals from this change so I had the objective as 0. And I selectively set the UB of those variables to 0 as each constraint start to fill up with columns. Ugly trick but still not working as expected. I will elaborate a bit more. This constraint is a demand constraint of the form:
K1 * X1 + K2 * X2 >= D * Y1
Where K1, K2, ... are capacities and D is the demand. And Xs and Ys are binary. I relaxed this when I solve it as LP. When I model the constraint as follows, I get favorable duals:
K1 * X1 + K2 * X2 >= D
But this has one drawback. In the beginning, when no columns are added, it becomes infeasible (0 >= +ve) plus when not many columns are added, it becomes infeasible (which is alright but I would like to avoid this too because I have to now get an extreme ray to handle this situation and I get too many infeasibilities until the model 'stabilizes')
I have tried the following:
1) K1 * X1 + K2 * X2 + A1 >= D
2) K1 * X1 + K2 * X2 >= D * Y1
3) K1 * X1 + K2 * X2 >= D
In Method 3, I begin with RHS as -1 and then change it to D as and when I add columns. Method 3 outperforms 1 and 2 for smaller instances but too many infeasibilities as I don't want to deal with extreme rays for now. I would like to do this without affecting the duals much.
Thanks,
Vivek.
#CPLEXOptimizers#DecisionOptimization