|
|
|
|
|
by indiesolver
2851 days ago
|
|
You can use heuristics if/when the problem becomes ugly due to various constraints you may impose. The trick is to select heuristics depending on the problem at hand and in a way that their hyperparameter values are selected properly. |
|
The default heuristics for commercial solvers are actually pretty darned good these days and there's typically no need to hand-pick them.
In the MIP world, they are the secret sauce to fast solution times.
Hyperparameter tuning has been studied for MIPs (many papers written on this), but ultimately they are black box solutions. My experience inclines me to not even consider hyperparameters except as a last resort or unless you know something specific that a hyperparameter can exploit; there are other more high leverage things than can be done.
Random perturbations to the problem have been found to be much more fruitful for forcing a diversity of branch traversal paths and have lead to significant speedups. (M. Fischetti popularized this idea in 2010s [2])
[1] https://resources.mpi-inf.mpg.de/conferences/adfocs-03/Slide... Also: http://transp-or.epfl.ch/zinal/2017/slides/group5.pdf
[2] https://mat.tepper.cmu.edu/blog/index.php/2012/09/25/fischet...