Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  [JAVA] Starting solution for LP

    Posted 05/20/16 05:24 AM

    Originally posted by: LilTiti


    Hi,

    I'm working on a project in which I solve a problem once and then, after applying few changes, I re-solve the problem, using the first solution to do a kind of "re-optimization".

    To do that, I want to build a feasible solution from the first one to start the second resolution. I could be able to do so by solving the problem with the dual method (adding a constraint in the model just adds a variable in the dual, so the first solution stays feasible for the dual problem) right ? Thus I have 2 questions :

    1) How can I apply the dual method to build this starting solution ? Just by calling the solve() method with the "RootAlg" parameter to 2 (Dual) ?

    2) Once I have a feasible solution to start solving the second problem, how can I instruct CPLEX to consider this solution as a starting solution ? My problem is a LP relaxation of a MIP, so I can't use addMIPStart(). I tried setVectors() (I know that it is deprecated but the CPLEX version available for me is before 12.5 where they add setStart() ) but it does not seem to work, or I am doing it wrong...

     

    Thanks for your help.


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: [JAVA] Starting solution for LP

    Posted 05/20/16 05:16 PM

    Have a look at the User Guide, specifically User's Manual for CPLEX > Continuous optimization > Solving LPs: simplex optimizers > Tuning LP performance > Starting from an advanced basis. With the advanced start switch on (which it is by default), after you add a constraint (or multiple constraints) CPLEX will try to use the final basis of the previous run as the start for solving the modified model.

    As far as the algorithm goes, you are correct that the RootAlg parameter controls this. The default setting lets CPLEX choose, and it will most likely choose dual simplex if the modifications to the previous model are not too extensive. So I would be inclined to leave it at the default setting, but switching to dual will not cause your computer to melt.


    #CPLEXOptimizers
    #DecisionOptimization