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
Post a Comment