Originally posted by: SystemAdmin
[achterberg said:]
My guess is that in all cases the very simple heuristics that we apply at the very beginning are successful in finding a solution, but this is of poor quality (800% gap).
Then, in some cases, the more complicated and powerful heuristics we apply at the root node find good solutions (small gap), but on some problem instances they fail. Thus, what you probably need to do is to crank up the heuristic parameters.
If you have CPLEX 12, one option is to use polishing (also available in CPLEX 10 and 11, but not as convenient). For example (using interactive commands as an example):
set mip polishafter nodes 1
set mip limits nodes 2
mipopt
set mip polishafter nodes 2100000000
set mip limits nodes 2100000000
mipopt
to conduct one round of polishing after the root node has been solved, and then continue the regular solve as usual.
Another alternative is to just try the different MIP emphasis parameters, in your case either
set emphasis mip 1
or
set emphasis mip 4
Then there is the heuristic frequency parameter, which you could, in the extreme case, set to 1:
set mip strategy heuristicfreq 1
You could also try the feasibility pump heuristic:
set mip strategy fpheur 1
or
set mip strategy fpheur 2
Note that all of these settings can have positive or negative effect on your models. If the effect is not undoubtly positive, I would suggest to stick to the default settings. But you also can try the tuning tool to find out preferable parameter settings for your problem class.
#CPLEXOptimizers#DecisionOptimization