Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  How to tell CPLEX the objective value is integer?

    Posted 09/24/14 08:22 PM

    Originally posted by: lxysjtu


    In my Branch and Cut, I know every feasible solution should have an integer objective value.

    How can I tell CPLEX this property? Is this setting able to speed up the solution? Thanks.

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: How to tell CPLEX the objective value is integer?

    Posted 09/25/14 12:30 AM

    There is no way to tell this to CPLEX directly. In certain cases CPLEX will recognize this automatically (for example if all coefficients and variables in the objective are integer). Knowing that the objective function is integer can speed up the solution process since it allows for cutting off nodes more aggressively: in a minimization problem, given a feasible solution with objective z you can cut off any node with objective larger than z-1+eps, not just nodes with objective larger than z.

    If CPLEX does not recognize your objective function as integer then you can use a branch callback to explicitly prune nodes based on the objective information.


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: How to tell CPLEX the objective value is integer?

    Posted 09/25/14 05:18 PM

     

    You could create a new integer variable, set it equal to the objective function in a constraint, then optimize the new variable in the objective.


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: How to tell CPLEX the objective value is integer?

    Posted 09/25/14 05:21 PM

     

    Change optimize f(x) s.t. ... into optimize z s.t. z = f(x) and ..., and declare z to be an integer variable.

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: How to tell CPLEX the objective value is integer?

    Posted 09/26/14 02:38 AM

    Originally posted by: T_O


    This is possible, but I think it should be evaluated whether this speeds up the solution process. I think, this might also create some new problems (dual degeneracy in the node-LPs, no reduced-cost fixing, ...). Though, I'm not so sure about that and what the preprocessor does in such a case.

    It might also help to set the absolute MIP-gap to something like 0.99.

    Best regards,
    Thomas


    #CPLEXOptimizers
    #DecisionOptimization