Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Performance differences between interactive optimizer & callable library

    Posted 12/15/10 08:17 AM

    Originally posted by: kc78


    Hi

    I have a MILP which i solved using CPLEX12.2 callable library, interactive optimizer and Gurobi4.0. The performance times between the interactive optimizer and Gurobi were similar but the callable library took a much much longer time. I switched off the heuristic but it still took a long time. I have attached screenshots of the 3 environments using the same problem

    How can i make the callable library solve the same MILP faster?

    Thank you.
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Performance differences between interactive optimizer & callable library

    Posted 12/15/10 08:44 AM

    Originally posted by: SystemAdmin


    How does the log file for the callable library look when you not disable heuristics?
    Are you sure you are using the same parameter settings for callable library and interactive?
    Do you have multiple versions of CPLEX installed? If so, are you sure that you are using the interactive of the same version as the callable library?
    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Performance differences between interactive optimizer & callable library

    Posted 12/15/10 11:31 AM

    Originally posted by: John Cui


    From the log of callable, I guess you used 12.1's cplex dll to solve the model.
    So, please check your project setting(if you are using Visual Stduio).
    Or you can copy cplex12.2's dll to your project's bin folder to make sure you will use cplex12.2's dll.

    Please tell us the result.

    John Cui
    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Performance differences between interactive optimizer & callable library

    Posted 12/15/10 11:52 AM

    Originally posted by: kc78


    Hi John

    Thank you for your suggestion and changing to 12.2 indeed made the problem solve much faster! As I have to solve the problem iteratively with different objective functions, is there a way or tricks to speed up the process? Currently i do not unload the problem from the solver but just change the objective.

    best rgds
    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: Performance differences between interactive optimizer & callable library

    Posted 12/15/10 09:05 PM

    Originally posted by: John Cui


    I think you can program like:

    ...
    CPXmipopt();
    for(...) {
       CPXchgobj();
       CPXmipopt();
    }
    ...
    


    Because CPLEX have mip start feature, so when you get start to call the second solve, which will used last solution as mip start,
    which is faster.

    Please try and tell us the result.

    John Cui
    #CPLEXOptimizers
    #DecisionOptimization


  • 6.  Re: Performance differences between interactive optimizer & callable library

    Posted 12/16/10 09:54 AM

    Originally posted by: SystemAdmin


    I would expect that just changing the objective function and resolving the problem is the fastest way to do what you want. As John said, CPLEX can re-use the solutions from previous runs as initial integer feasible solutions. This should usually be faster than starting from scratch.
    However, in very rare cases, starting from scratch is faster than starting with the old solutions as initial feasible solution. If you want to try that you have to disable CPX_PARAM_ADVIND.
    #CPLEXOptimizers
    #DecisionOptimization