Originally posted by: semihatakan
Hi,
In my application, I am trying to strengthen the feasible region of the (sub)problems that I deal with. To achieve this, I was hoping to use the valid inequalities that are generated by CPLEX. In particular, I let CPLEX process the root relaxation and stop the moment just before branching is initiated. I am aware of the following code which allows me to print or use these cuts, and it works perfectly fine:
http://www-01.ibm.com/support/docview.wss?uid=swg21400065
Nevertheless, I am specifically interested in the valid inequalities that are generated "without" variable fixing or bound strengthening (or applying any other heuristic for that matter). As an example, a binary variable x can be set to 0, even though I might be interested in the cases where x=1 (so, the cuts may not be valid anymore). So far, I have made the following parameter changes:
status = CPXsetintparam(env, CPX_PARAM_PREIND, 0);
status = CPXsetintparam(env, CPX_PARAM_PROBE, -1);
status = CPXsetintparam(env, CPX_PARAM_BNDSTRENIND, 0);
status = CPXsetintparam(env, CPX_PARAM_AGGIND, 0);
status = CPXsetintparam(env, CPX_PARAM_REDUCE, 0);
status = CPXsetintparam(env, CPX_PARAM_COEREDIND, 0);
status = CPXsetintparam(env, CPX_PARAM_RELAXPREIND, 0);
status = CPXsetintparam(env, CPX_PARAM_HEURFREQ, -1);
In spite of this, when I output an LP file from the root relaxation, I still observe some variables as fixed to certain values. I even tried to remove all the bounds (except for nonnegativities) from my own formulation, provided them as explicit constraints. Yet, CPLEX kindly provides some bounds on all variables. I was wondering if I am missing some other parameters, or whether my goal cannot be achieved at all?
Thank you,
Semih Atakan
#CPLEXOptimizers#DecisionOptimization