Decision Optimization

Decision Optimization

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

 View Only
  • 1.  Time Spent by Built In Benders

    Posted Fri July 20, 2018 10:40 PM

    Originally posted by: pegonzalez


    Hi,

    is there a way of getting the computational time spent by CPLEX to solve just the benders decomposition, using the build in benders ?

     

    Best regards


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Time Spent by Built In Benders

    Posted Wed July 25, 2018 04:44 AM

    What exactly do you mean by the time to solve "just the benders decomposition"? Since the master and subproblems are solved repeatedly and cplex does B&B on the master, it is not clear to me what time you are looking for.


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Time Spent by Built In Benders

    Posted Wed July 25, 2018 11:58 AM

    Originally posted by: pegonzalez


    Hi Daniel.

    Sorry for the poor explanation.

    If got it right from the log in the screen, after adding Cplex.setParam(IloCplex::Param::Benders::Strategy, IloCplex::BendersFull); before Cplex.solve(), cplex is running both the Benders Decomposition followed by the Branch and Bound.  (Am I right ?)

     

    Having said that I neither find a way to run just the benders decomposition nor to get time spent in the benders decomposition, before starting the Branch and Bound.

     

    Thanks for the help.

     

    Best regards


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Time Spent by Built In Benders

    Posted Mon July 30, 2018 03:40 AM

    Originally posted by: dominiqs81


    I think there is a misunderstanding here: when we apply the Benders algorithm, Branch-and-Bound refers to solving the master problem, not the whole problem. So the whole time refers to Benders.

    On the other hand, if you were asking how long does it take to actually compute the decomposition (what to put in master and what into the subproblems, and the decomposition of the subproblems), this is not available and in any case it is always very fast, as it is just a linear scan on the problem data and some copying.

     

    Domenico


    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: Time Spent by Built In Benders

    Posted Mon July 30, 2018 12:01 PM

    Originally posted by: pegonzalez


    Hi Domenico.

    I do not agree with you. As I understand, whenever calling the built-in Benders Decomposition, CPLEX takes the model, decompose in master and workers and after decomposing it, the Benders Decomposition is used to find a dual bound to the original problem. After that, CPLEX starts Branch-and-Bound from a hopefully better dual bound (found through Benders) than the linear relaxation of the root node. Did I get it wrong?

    Supposing I understood what is going on, I seek a way to get just the time spent by Benders to find this dual bound.

     

    Best regards.

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 6.  Re: Time Spent by Built In Benders

    Posted Tue July 31, 2018 03:24 AM

    Originally posted by: dominiqs81


    Yes, you got it wrong.

     

    When solving a model with Benders, CPLEX does the following:

    1) decompose the model into master and subproblem(s)

    2) do an initial Benders cut loop, in which Benders cuts are separated looking at the LP relaxation of master (this basically tries to solve the LP relaxation of the original model with the Benders algorithm).

    3) then we solve the master problem as a MIP, separating Benders cuts on the fly when needed.

     

    (1) is trivially fast, (2) and (3) can be expensive. I guess you wanted to query the time spent in (2), but CPLEX does not provide this piece of information.

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 7.  Re: Time Spent by Built In Benders

    Posted Tue July 31, 2018 08:39 AM

    Originally posted by: pegonzalez


    Thanks for the help!


    #CPLEXOptimizers
    #DecisionOptimization