Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Replacing cplex function for calculating the upper bound

    Posted 11/19/14 08:38 PM

    Originally posted by: Darton


    Hey,

    I have an algorithm which provides better upper bounds compared to cplex. Now I want to replace the inbuilt function which calculates the upper bounds during the branch and bound phase for solving an IP. Is this even possible? If so, is there an example available? I am using C++ as my programming language.

    Best regards.


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Replacing cplex function for calculating the upper bound

    Posted 11/21/14 03:21 AM

    Are you talking about a minimization or maximization problem?

    Assuming you are talking about a minimization problem then an upper bound usually corresponds to a primal feasible solution. So you can inject such a solution using a heuristic callback. You can also set parameter CPX_PARAM_CUTUP a priori to instruct CPLEX to cut off all nodes that exceed this value.


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Replacing cplex function for calculating the upper bound

    Posted 11/21/14 08:28 AM

    Originally posted by: Darton


    That's right. Its a minimization problem.

    So if I am using the heuristic callback, a solution is injected once at the beginning of the optimization process? If this is correct, what is the difference between this one and the addMIPStart function?


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Replacing cplex function for calculating the upper bound

    Posted 11/24/14 03:32 AM

    No, a heuristic callback is invoked at each node in the search tree. So you can add solutions during the search. If you only compute solutions a priori then MIP start is the way to go. However, if you compute solutions during the search, potentially including information that CPLEX has already found (for example existing incumbents) then you should use a heuristic callback.


    #CPLEXOptimizers
    #DecisionOptimization