Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  cplex warm start to solve LP

    Posted 01/11/10 04:57 PM

    Originally posted by: vdesai


    Hi all,
    I have a LP to solve for which I can generate a solution using some
    heuristic. I am interested in warm starting the LP using this
    heuristic solution. I am using primal simplex as my algorithm. I used
    cplex java api setVectors, as mentioned in some of the earlier
    discussions, but it is not working properly. Because, as a test, when
    I provided the optimal solution as a starting point for cplex it still
    does a number of iterations. The way I am providing the starting
    solution is:
    create LP --> use setVectors and set all the variables --> solve the
    LP.
    I suspect I need to be using a SolveCallback but I am not sure how
    to do it. Any help regarding this is much appreciated. Thanks.
    -Vijay
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: cplex warm start to solve LP

    Posted 01/12/10 01:42 AM

    Originally posted by: SystemAdmin


    My guess is that it spends the initial iterations to find a basis
    for your solution. Can you find a basis yourself and set it via
    setBasisStatuses()?
    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: cplex warm start to solve LP

    Posted 01/12/10 09:38 AM

    Originally posted by: Laci Ladanyi


    What dju358 suggest is the best you can do, but if you don't have a basis then I believe setting both the primal and the dual solution works much better than just setting the primal solution.
    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: cplex warm start to solve LP

    Posted 01/13/10 09:36 PM

    Originally posted by: vdesai


    Thank you folks for replying. I realize that my heuristic solution may not be basic and in that case cplex would spend time trying to convert it into one. I am not sure if cplex has some methods implemented to do that. It would be great if someone can point me to some information on this.

    Cheers,
    Vijay
    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: cplex warm start to solve LP

    Posted 01/16/10 06:38 PM

    Originally posted by: SystemAdmin


    Vijay,

    if you just provide a solution vector without providing a basis, then CPLEX performs a crossover, which is the same as what you can see at the end of a barrier solve when crossover is activated: the barrier solver finds a primal/dual solution and a crossover is invoked to convert it into a simplex basic solution.
    It is well-known that this crossover operation can be very time consuming, in some cases even more time consuming than the initial barrier solve to find an optimal solution. Therefore, it could very well be that CPLEX has to spend some time to convert your initial solution into a basic solution.
    #CPLEXOptimizers
    #DecisionOptimization


  • 6.  Re: cplex warm start to solve LP

    Posted 01/17/10 07:54 PM

    Originally posted by: vdesai


    Thanks Tobias, that was helpful. Do you know why cplex does not allow barrier method to accept an initial starting point? If the user makes sure that the solution is strictly interior, it seems like cplex should have no problem in accepting it.
    #CPLEXOptimizers
    #DecisionOptimization


  • 7.  Re: cplex warm start to solve LP

    Posted 01/18/10 04:08 AM

    Originally posted by: SystemAdmin


    I think that a user provided starting point for the barrier usually does not improve performance. And it can lead to all sorts of numerical issues. But I admit that I am not a barrier expert, so maybe others can give you a better answer.
    #CPLEXOptimizers
    #DecisionOptimization


  • 8.  Re: cplex warm start to solve LP

    Posted 01/19/10 07:50 PM

    Originally posted by: SystemAdmin


    Barrier is a primal-dual method. A trial solution that is in the interior of the primal space is not necessarily in the interior of the associated dual space. It remains a research project to make effective use of an arbitrary starting solution in the Barrier method, unlike the case for Simplex where basis handling is well understood.
    #CPLEXOptimizers
    #DecisionOptimization


  • 9.  Re: cplex warm start to solve LP

    Posted 01/20/10 02:33 PM

    Originally posted by: vdesai


    Thanks John! That was helpful guys. I have a fairly large problem and barrier method does very well compared to simplex and dual method. I am interested in cutting down the computational time of the algorithm. I am willing to settle for a suboptimal solution as long as it is primal feasible and I have some idea about the optimality gap. But the problem is from the log file it appears the iterations are working towards primal and dual feasibility, which does not let me do this.
    Is there any way around it?
    #CPLEXOptimizers
    #DecisionOptimization