4
$\begingroup$

I have formulated an integer linear program (ILP). The constraint matrix for the ILP is totally unimodular.

Should I solve it as an LP without the integral constraints, or should I keep the integral constraints and let the optimization-toolbox's (MOSEK) mixed integer solver handle this special case?

$\endgroup$
4
$\begingroup$

It won't matter to any worthwhile mixed-integer linear programming (MILP, also known as MIP) solver if you keep or omit the integral constraints, as long as your constraint matrix is truly totally unimodular.

To be on the safe side, keep the integral constraints and call your MILP solver. Any solver utilizing a branch-and-bound or branch-and-cut framework should start by solving the linear programming (LP) relaxation of your ILP, in which case, it will omit the integral constraints. Since your constraint matrix is totally unimodular, an optimal solution of the LP relaxation should be satisfy the integral constraint because the polytope those constraints define consists of vertices with integer coordinates. Since the solution to the relaxation satisfies the integral constraints, the MILP solver will stop and return the solution obtained from the LP relaxation with little to no additional overhead beyond calling the LP solver (which is what you would have done if you just solved the LP relaxation).

$\endgroup$
  • 1
    $\begingroup$ Let me just add to this correct account that keeping the integer constraints makes it more likely that a correct result will be obtained even with finite precision arithmetic. (This will be the case unless the solver encounters a very ill-conditioned matrix while solving the first LP.) $\endgroup$ – Arnold Neumaier Jun 13 '12 at 14:55

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.