Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  LP warm start after adding variable works on Windows, but not on Linux

    Posted 06/02/17 04:39 PM

    Originally posted by: davidfk


    Dear all,

    I have been testing an algorithm (written in C++) that iteratively adds variables to an LP model and (re-)solves it with CPLEX 12.7.0 (using the C++ Concert API).

    On my Windows 7 desktop computer (using MSVC), I can see that CPLEX automatically does LP warm starts each time I add variables and resolve the model. I.e. at each solve() call the algorithm starts with the last known best solution and keeps improving it until LP optimality.

    When I run exactly the same code on a Linux server (using gcc) I can see that CPLEX does not do warm starts anymore, but solves the LP from scratch each time variables are added and the model is resolved.

    In both cases CPLEX 12.7.0 was used and CPLEX was free to choose the LP algorithm. On both OS it either used Barrier or Primal Simplex after variables had been added.

    Is this expected behaviour? How can it be explained that LP warm start is performed automatically on one OS, but not on the other given that the code is the same? How can I make sure that LP warm start is performed in both cases?

    Thanks a lot!

    David


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: LP warm start after adding variable works on Windows, but not on Linux

    Posted 06/02/17 06:24 PM

    Originally posted by: davidfk


    It seems I have just been misinterpreting the CPLEX output. If I enforce the RootAlgorithm to be CPX_ALG_PRIMAL I can see that LP warm start is used on both machines. Apparently CPX_ALG_CONCURRENT is used as RootAlgorithm if CPLEX can choose the algorithm and the output shown on the screen corresponds to the Primal Simplex on my Windows machine, but to the Dual Simplex on the Linux server, which are not necessarily the ones that (are the first to) solve the problem to optimality. The algorithm which actually was the first to solve the LP to optimality is stated in the last line, e.g. as "Barrier solved model", correct? Anyways, it was a bit confusing to see different output on both OS.


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: LP warm start after adding variable works on Windows, but not on Linux

    Posted 06/06/17 04:41 AM

    Originally posted by: BoJensen


    This indeed looks odd. Could you please provide log output from runs on both machines. And also if possible save a .sav files on both machines, just before you call the optimizer after having added variables in the first round. If you can share the problem files, please send them to bo.jensen (at) dk.ibm.com, thank you.
     


    #CPLEXOptimizers
    #DecisionOptimization