Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  addMIPStart from a callback

    Posted 07/16/12 11:13 AM

    Originally posted by: LeandroCC


    I would like to be able to add a MIP start from a callback, ideally something like an IncumbentCallback.

    The desirable sequence of events is:

    1. CPLEX finds a new integer feasible solution
    2. I get the variables values
    3. I solve a reduced problem starting from these values
    4. I add a mip start to the main model (which can even be infeasible, so I cannot just replace cplex's solution)
    5. CPLEX tries using my mip start

    So far I have things working like this:

    1. set the solution limit to one
    while (!optimal)
    {
    run steps 2, 3, 4, 5
    }

    I would like to embed this in a callback fashion. Is it possible?
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: addMIPStart from a callback

    Posted 07/18/12 04:53 AM

    Originally posted by: SystemAdmin


    What you are asking for cannot be done. In order to add a MIP start you have to stop the optimization, add the MIP start and restart again.
    I wonder what you would like CPLEX to do with that MIP start?
    If the solution you find in step 3 is feasible and better than the current incumbent you can inject this solution using a heuristic callback.
    If the solution you find in step 3 is not feasible then the only use in adding this as a MIP start would be to ask CPLEX to invoke the repair heuristic on it. This cannot be done right now as you cannot inject infeasible solutions into the solution process. However, you could record this infeasible solution and in a heuristic callback implement your own repair heuristic. Once that heuristic manages to find a feasible solution that solution can be injected.
    #CPLEXOptimizers
    #DecisionOptimization