Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.

 View Only
Expand all | Collapse all

Constraint Programming vs Mathematical Programming for Binary ILP

  • 1.  Constraint Programming vs Mathematical Programming for Binary ILP

    Posted Tue August 17, 2010 02:45 PM

    Originally posted by: Baldsmooth


    Hi,

    For binary integer linear programming problems containing mainly logical constraints, which solver, CPLEX Optimizer or CPLEX CP, will perform better? Does anyone have some experience or references?

    Thanks,

    Richard
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Constraint Programming vs Mathematical Programming for Binary ILP

    Posted Tue August 17, 2010 04:03 PM

    Originally posted by: SystemAdmin


    Tough question, which begs the "your mileage may vary" response. In my (limited) experience, CP solvers tend to be good at finding combinations of discrete variables that satisfy logical constraints but not particularly good at optimizing objective functions (because they're not particularly adept at getting strong bounds) or dealing with divisible (continuous) variables. MIP solvers tend to be good at bounding and working with divisible variables, but some logic constraints involve gross contortions in the modeling stage and/or loose "big M" formulations. If you've got a model where the MIP formulation requires "big M" constraints and there are no (few?) continuous variables, you might have a candidate for the CP solver. If your problem looks like an LP with a few logic constraints on the side, I suspect it's more likely to be a candidate for CPLEX.

    There's also some work on hybrid approaches, in which you might somehow bake the logical constraint aspect into the branching strategy rather than into the model (I have no direct experience with this) or use something like "combinatorial Benders cuts" to convert the logical part to feasibility subproblems, removing the necessity for "big M" (this I've used). In both cases, I think CPLEX would be the primary platform.

    My zwei pfennige.

    /Paul

    Mathematicians are like Frenchmen: whenever you say something to them, they translate it into their own language, and at once it is something entirely different. (Goethe)
    #CPLEXOptimizers
    #DecisionOptimization