Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Build-in Benders

    Posted 03/01/18 03:23 PM

    Originally posted by: ziczyq


    Hi All,

    I am using build in benders decomposition function to solve a two stage mixed integer problem (benders.lp). This problem can be solved in its extensive formulation (extensive.lp). But with build in benders function, CPLEX showed cplex error message: master empty and not valid decomposition. myprob.ann is the annotation file. Could anyone take a look at the problem and see if there is anything wrong with the problem? My code works well and gives out the same result for some problem. But for most of the problem, I have the same issue as explained above.

    Thanks!


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Build-in Benders

    Posted 03/01/18 07:49 PM

    I took a quick look at your models. It looks like extensive.lp and benders.lp are identical. Are they supposed to be different? At any rate, if we run without benders we can see that your problem is solved during presolve. For example, using the interactive:

    CPLEX> read benders.lp
    Problem 'benders.lp' read.
    Read time = 0.01 sec. (0.01 ticks)
    CPLEX> opt
    Tried aggregator 2 times.
    MIP Presolve eliminated 60 rows and 60 columns.
    Aggregator did 25 substitutions.
    All rows and columns eliminated.
    Presolve time = 0.00 sec. (0.15 ticks)
    
    Root node processing (before b&c):
      Real time             =    0.00 sec. (0.18 ticks)
    Parallel b&c, 8 threads:
      Real time             =    0.00 sec. (0.00 ticks)
      Sync time (average)   =    0.00 sec.
      Wait time (average)   =    0.00 sec.
                              ------------
    Total (root+branch&cut) =    0.00 sec. (0.18 ticks)
    
    Solution pool: 1 solution saved.
    
    MIP - Integer optimal solution:  Objective =  1.1975861549e+00
    Solution time =    0.00 sec.  Iterations = 0  Nodes = 0
    Deterministic time = 0.18 ticks  (88.07 ticks/sec)
    

    If I disable presolve, and use your annotation file we no longer get the "Invalid Benders decomposition" error:

    CPLEX> read benders.lp
    Problem 'benders.lp' read.
    Read time = 0.01 sec. (0.01 ticks)
    CPLEX> read myprob.ann
    ANN file 'myprob.ann' read.
    CPLEX> set preprocessing presolve n
    New value for presolve indicator: no
    CPLEX> opt
    CPXPARAM_Preprocessing_Presolve                  0
    Found incumbent of value 23.800000 after 0.00 sec. (0.10 ticks)
    
            Nodes                                         Cuts/
       Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap
    
          0     0        0.0000                        Benders: 1        0         
          0     0        0.3978                        Benders: 4        1         
          0     0        1.1976                            1.1976        5         
    Tried aggregator 1 time.
    MIP Presolve eliminated 10 rows and 5 columns.
    Reduced MIP has 0 rows, 5 columns, and 0 nonzeros.
    Reduced MIP has 0 binaries, 0 generals, 0 SOSs, and 0 indicators.
    Presolve time = 0.00 sec. (0.01 ticks)
    Tried aggregator 1 time.
    Reduced MIP has 0 rows, 5 columns, and 0 nonzeros.
    Reduced MIP has 0 binaries, 0 generals, 0 SOSs, and 0 indicators.
    Presolve time = 0.00 sec. (0.00 ticks)
    
    Root node processing (before b&c):
      Real time             =    0.01 sec. (0.69 ticks)
    Parallel b&c, 8 threads:
      Real time             =    0.00 sec. (0.00 ticks)
      Sync time (average)   =    0.00 sec.
      Wait time (average)   =    0.00 sec.
                              ------------
    Total (root+branch&cut) =    0.01 sec. (0.69 ticks)
    
    Solution pool: 2 solutions saved.
    
    MIP - Integer optimal solution:  Objective =  1.1975861549e+00
    Solution time =    0.01 sec.  Iterations = 5  Nodes = 0 (1)
    Deterministic time = 0.70 ticks  (64.50 ticks/sec)
    

    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Build-in Benders

    Posted 03/07/18 05:09 AM

    Originally posted by: dominiqs81


    The problem is too easy, and it is solved by presolve before even applying Benders. Hence the error.


    #CPLEXOptimizers
    #DecisionOptimization