optimization - How to interpret the output of the CPLEX interactive optimizer? -


i have been using cplex interactive optimizer solve linear programming problems. generate problem, use read command cplex, , run optimize. problems, cplex produces solution within hour , use write <filename> sol obtain complete solution. problems, however, seems stuck after point. output see looks this:

       nodes                                         cuts/    node  left     objective  iinf  best integer    best bound    itcnt     gap     .        .        .        .        .        .        .        .        .     .        .        .        .        .        .        .        .        .     .        .        .        .        .        .        .        .        . elapsed time = 816.06 sec. (429933.56 ticks, tree = 8.58 mb, solutions = 13)    2884  1809       87.6482 12159      201.6200       80.3540  2100428   60.15%    2938  1863      102.4825 11621      201.6200       80.3540  2149201   60.15%    3727  2616       93.1194 10858      201.6200       80.3540  2409711   60.15%    3743  2632       92.6249 11845      201.6200       80.3540  2437316   60.15%    3767  2656       91.7097 12044      201.6200       80.3540  2466252   60.15%    3803  2692       91.8088 11972      201.6200       80.3540  2491113   60.15%    3805  2694      101.4411 10242      201.6200       80.3540  2497951   60.15%    3827  2716       91.7697 12003      201.6200       80.3540  2522926   60.15%    3937  2826      102.6357  7167      201.6200       80.3540  2676145   60.15%    4175  3056       94.0081  9159      201.6200       83.9275  2783878   58.37% elapsed time = 930.33 sec. (472066.00 ticks, tree = 20.04 mb, solutions = 13)    4178  3059       88.0621 11735      201.6200       83.9275  2788962   58.37%    4190  3071       87.5922 11461      201.6200       83.9275  2809216   58.37%    4202  3083       87.7980 11585      201.6200       83.9275  2823899   58.37%    4214  3095       87.9296 11733      201.6200       83.9275  2841065   58.37%    4215  3096       92.6440 11647      201.6200       83.9275  2844197   58.37%    4227  3108       94.0457 12069      201.6200       83.9275  2869047   58.37%    4239  3119       93.3760 11843      201.6200       83.9275  2890566   58.37%    4251  3131       94.2709 11724      201.6200       83.9275  2916710   58.37%    4274  3153       92.6187 11640      201.6200       83.9275  2945659   58.37%    4286  3163       91.6257 11632      201.6200       83.9275  2965344   58.37% elapsed time = 998.66 sec. (493988.99 ticks, tree = 20.09 mb, solutions = 13)    4310  3186       91.8091 10453      201.6200       83.9275  3010401   58.37%    4323  3199       96.4584 11813      201.6200       83.9275  3034842   58.37%    4335  3211       96.1343 11849      201.6200       83.9275  3057500   58.37%    4359  3234       96.8602 11609      201.6200       83.9275  3092422   58.37% 

in beginning, last column has higher number (e.g., 99.92%), starts decreasing quickly. after point, last gap column keeps stating 58.37% without further reduction. value signify? understanding percentage difference between current optimal solution , global optimum. (i.e., x% means if stop optimization @ point, solution returned provably within x% of global optimum).

is understanding correct? also, can understand , debug/get-around phenomenon of "getting stuck"?

the % gap relative difference between best solution , best known bound solution. guaranteed higher gap between best known solution , true global optimum. in case, best bound 83.9275, best bound 201.62, , minimizing gap

1 - (83.9275 / 201.62)  =  .5837 

the "stuck" behavior see quite common when solving difficult mixed-integer problem. it's possible solution have close optimal, bound isn't tight, or solution far optimal, cplex unable find better. there lot of methods trying solve problem. among them are

  • improve mip formulation
  • try different parameters (turn cuts, probing, switch strong branching, ...)
  • see if solver works better on problem (gurobi or xpressmp)

Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -