Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  CPLEX Cuts Count

    Posted 02/10/14 05:07 PM

    Originally posted by: SifengLin


    I Use Java to implement a user cut callback scheme with my own separation scheme (the CutManagement value I use is UseCutPurge).  One confusing things I found in the log file is that the number of cuts applied seems confusing:  the number of cuts in the "Best Bound" column does not match the number of cuts provided at the end of the log file.   For example, in the following log file, the total number of cuts reported at the end of the log file is 269+153+2+1111 = 1535.  But the number of cuts reported in best Bound column are 1765+1068+503+...., which is much greater than 1535.  Can anybody tell me how to interpret this?

     

          Nodes                                         Cuts/
       Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap         Variable B NodeID Parent  Depth

    *     0+    0                         1198.8092                  24080     ---
          0     0     1451.6357  4179     1198.8092     1451.6357    24080   21.09%
    *     0+    0                         1199.4581     1451.6357    39949   21.02%
          0     0     1421.8727  4758     1199.4581    Cuts: 1765    39949   18.54%
          0     0     1414.5266  5659     1199.4581    Cuts: 1068    48779   17.93%
          0     0     1412.5269  5993     1199.4581     Cuts: 503    53409   17.76%
          0     0     1411.8302  5932     1199.4581     Cuts: 394    56816   17.71%
          0     0     1411.4532  6121     1199.4581     Cuts: 513    58893   17.67%
          0     0     1410.8017  6036     1199.4581     Cuts: 369    61896   17.62%
          0     0     1410.5876  6159     1199.4581     Cuts: 322    63617   17.60%
          0     0     1410.3010  6206     1199.4581     Cuts: 172    65391   17.58%
          0     0     1410.0763  6235     1199.4581     Cuts: 178    67114   17.56%
          0     0     1409.8382  6339     1199.4581     Cuts: 258    68840   17.54%
          0     0     1409.2184  6132     1199.4581     Cuts: 254    70871   17.49%
          0     0     1409.1222  6137     1199.4581     Cuts: 217    72272   17.48%
          0     0     1408.9216  6299     1199.4581     Cuts: 134    73860   17.46%
          0     0     1408.7811  6276     1199.4581     Cuts: 153    75082   17.45%
          0     0     1408.5627  6310     1199.4581     Cuts: 210    76696   17.43%
          0     0     1408.5065  6355     1199.4581     Cuts: 252    77946   17.43%
          0     0     1408.5033  6337     1199.4581 UserPurge1: 1    78171   17.43%
          0     0     1408.5011  6352     1199.4581 UserPurge1: 1    78299   17.43%
          0     0     1408.4998  6358     1199.4581 UserPurge1: 1    78351   17.43%
          0     0     1408.4986  6358     1199.4581 UserPurge1: 1    78401   17.43%
          0     0     1408.4959  6371     1199.4581 UserPurge1: 1    78499   17.43%
          0     0     1407.9796  6089     1199.4581 UserPurge1: 1    80208   17.38%
          0     0     1407.9733  6258     1199.4581 UserPurge1: 1    80437   17.38%
          0     0     1407.9557  6316     1199.4581 UserPurge1: 1    80821   17.38%
          0     0     1407.9534  6345     1199.4581 UserPurge1: 1    80963   17.38%
          0     0     1407.7005  6056     1199.4581 UserPurge1: 1    82697   17.36%
          0     0     1407.4874  6017     1199.4581 UserPurge1: 1    83895   17.34%
          0     0     1407.4729  5995     1199.4581 UserPurge1: 1    84348   17.34%
          0     0     1407.2920  6020     1199.4581 UserPurge1: 1    85666   17.33%
          0     0     1407.2576  5980     1199.4581 UserPurge1: 1    86170   17.32%
          0     0     1407.1426  5953     1199.4581 UserPurge1: 1    87294   17.31%
          0     0     1406.7234  5866     1199.4581 UserPurge1: 1    89279   17.28%
          0     0     1406.7219  5844     1199.4581 UserPurge1: 1    89437   17.28%
          0     0     1406.7218  5845     1199.4581 UserPurge1: 1    89438   17.28%
          0     0     1405.9687  5943     1199.4581 UserPurge1: 1    91585   17.22%
          0     0     1405.8409  5880     1199.4581 UserPurge1: 1    92485   17.21%
          0     0     1405.8389  5875     1199.4581 UserPurge1: 1    92543   17.21%
          0     0     1405.8098  5924     1199.4581 UserPurge1: 1    93045   17.20%
          0     0     1405.6517  5923     1199.4581 UserPurge1: 1    94004   17.19%
          0     0     1405.6501  5922     1199.4581 UserPurge1: 1    94022   17.19%

    Clique cuts applied:  269
    Zero-half cuts applied:  153
    Gomory fractional cuts applied:  2
    User cuts applied:  1111


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: CPLEX Cuts Count

    Posted 02/13/14 01:13 AM

    Lines like

          0     0     1408.5627  6310     1199.4581     Cuts: 210    76696   17.43%

    report that 210 new cuts were separated at the current node. The final report

    Clique cuts applied:  269
    Zero-half cuts applied:  153
    Gomory fractional cuts applied:  2
    User cuts applied:  1111

    reports only the number of cuts that are active at the end of optimization. A cut may get deactived or purged (for example because it is dominated by another cut or deemed ineffective) during the course of optimization. That is why the numbers in the final report are usually smaller than the total number of cuts separated.


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: CPLEX Cuts Count

    Posted 02/13/14 01:02 PM

    Originally posted by: SifengLin


    By "active", do you mean the cut is in the formulation and it is bounding (satisfied at equality).  Or do you simply mean the cut is still in the formulation ( it could be bounding or not bounding in the current formulation) ?
    Is there any different between get "deactived" and get "purged"?

    We are facing a problem in which the LP solution process is the biggest bottleneck, so we are trying to add our cuts sparingly.  Understanding all these are important to our cut management process. 

    Thanks so much for you help again!

    Sifeng


    #CPLEXOptimizers
    #DecisionOptimization