Difficulty Solving Subproblems

There are classes of MIPs that produce very difficult subproblems, for example, if the subproblems are dual degenerate. In such a case, a different optimizer, such as the primal simplex or the barrier optimizer, may be better suited to your problem than the default dual simplex optimizer for subproblems. These alternatives are discussed in "Subproblem Optimization" . A stronger dual pricing algorithm, such as dual steepest-edge pricing (the parameter DPriInd set to 2), could also be considered.

Overcoming Degeneracy

If the subproblems are dual degenerate, then consider using the primal simplex optimizer for the subproblems. You make this change by setting the SubAlg parameter to 1.

Another effective strategy in overcoming dual degeneracy is to permanently perturb the problem. For subproblems that are dual degenerate, in the Interactive Optimizer, write out the perturbed problem as a DPE file with the command write filename.dpe substituting an appropriate file name. (A .dpe file is saved as a binary SAV format file.) Then you can read the saved file back in and solve it. The subproblem should then solve more cleanly and quickly.

In the case of DPE files solved by the dual simplex optimizer, any integer solution is also guaranteed to be an integer-feasible solution to the original problem. In most cases, the solution will be optimal or near-optimal as well.


Previous Page: Running Out of Memory  Return to Top Next Page: Subproblem Optimization