Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  stop callbacks and feasopt

    Posted 12/07/11 03:41 AM

    Originally posted by: SystemAdmin


    Hi,
    I´m developing an optimization problem using cplex 12.3 with java interface. Normally, the real data introduced by the users makes the problem infactible, so the method feasopt is called to solve phases I and II. I need to established different stop rules in phase I and II so I did it introduccing callbacks. But if I call the abort() method in phase I, the phase II doesn´t run. Is there any way to stop cplex in phase one and run automatically phase II?

    Thanks in advance,

    Lucía
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: stop callbacks and feasopt

    Posted 12/07/11 04:49 AM

    Originally posted by: SystemAdmin


    By definition phase II of feasopt works with the optimal solution of phase I. So CPLEX will never start phase II if phase I did not finish with a solution that is optimal or optimal within tolerances.
    If your stopping criterion for phase I is relative or absolute gap then you can achieve that using setting parameters and phase II should kick in as expected. If you need a different stopping criterion in phase I then the only way to get phase II I can see right now is to explicitly create the phase II model (with the solution that CPLEX found in phase I) and solve that.
    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: stop callbacks and feasopt

    Posted 12/07/11 06:34 AM

    Originally posted by: SystemAdmin


    Thanks for your quickly answer. I supposed I can´t do it. I´ll see what to do.

    Thanks again!!
    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: stop callbacks and feasopt

    Posted 12/08/11 04:33 AM

    Originally posted by: SystemAdmin


    Any chance you can switch to using the callable library interface (written in C) instead of Java? I think there might be a way to achieve what you want using that interface.
    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: stop callbacks and feasopt

    Posted 12/08/11 05:19 AM

    Originally posted by: SystemAdmin


    Actually, giving this one more thought I think you may even be able to do this in Java: Use a BranchCallback. If you are in phase I and want to stop then just prune every node. To CPLEX this will look like as if the optimal solution was found in phase I and it will start phase II with the best solution found in phase I.
    The downside of using a BranchCallback is that you may lose dynamic search. But maybe you already lost that due to other callbacks you are using. What Callbacks do you use to implement your stopping criterion?
    #CPLEXOptimizers
    #DecisionOptimization