8
$\begingroup$

Currently, I am working on the implementation of a formulation for an optimization problem, at the moment I already have the MIP formulation implemented in C++ using Cplex studio 12.10 with the Concert technology.

However, for a given instance, the current implementation can not find any integer feasible solution, although that the instance is feasible (I checked it using a heuristic approach to find a feasible solution to the instance).

So, I was thinking about the possibility of some set of constraints is making the formulation invalid, i.e., some set of constraints is making the formulation not find an integer feasible solution. After hours of code debugging, checking if the formulation was implemented right, and I could not find any error in the code, also, the formulation (theoretically) is right.

Therefore, currently, I am trying to use the MIP Start strategy to input the instance feasible solution (achieved through the heuristic method) in the solver, and then in someway detect which constraints are being violated by the given solution. I know that I can give a solution to the Cplex solver using the function cplex.addMIPStart(x_var, x_val, effort_level), also I know very vaguely that I can use the conflict refiner strategy to find the unrespected constraints (if they exist).

I am here to ask for help in the second strategy, the conflict refiner, I know some links on the IBM Cplex resources web page, however at the moment I could not find any resource that approaches the using of MIP Start with conflict refiner to find which constraints of the model are not being respected. Hence, I would like to know if someone worked wit this before, and I could help me with this.

Thank you.

$\endgroup$
  • 1
    $\begingroup$ Would you see this post on OR.SE? $\endgroup$ – A.Omidi Jan 28 at 8:19
  • $\begingroup$ @A.Omidi, no I did not see this post, thank you, I will check it. $\endgroup$ – Matheus Diógenes Andrade Jan 28 at 13:17
4
$\begingroup$

You don't actually need to use the MIP start approach. Fix the upper and lower bounds for all your discrete variables to their values in the heuristic solution, then try to solve the model. Assuming CPLEX asserts that the modified model is infeasible, invoke the conflict refiner to see which constraints (in addition to at least some of your modified bounds) contribute to infeasibility.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.