I'm curious to learn more about these stunning perf divergences. This is the first model (going through the handbook listing by listing) I'm seeing them so pronounced. How to interpret them, what to conclude if anything (unless the ground truth "it always depends — on everything else or at least a dozen dozen factors" is truly all there safely is to it).
MiniZinc IDE 2.8.0 with default solver config and settings (other than font/color stuff) under Linux 4.19 on a late-2018 "mobile workstation"-type laptop (irrelevant I guess but... CPU: Intel Xeon E-2186M (12) @ 2.900GHz; GPU: Intel Coffee Lake-S GT2 [UHD Graphics P630]), running
unmodified wedding.mzn:
- HiGHS 1.6.0 — 5s
- OR-Tools CP-SAT 9.8.3296 — 3s
- Gecode 6.3.0 — 254msec!
- Chuffed 0.13.0 — 88msec!?
- COIN-BC 2.10.11/1.17.9 — unknown but well over 15 min (stopped it now)
Various initial guesses to invite your "pro corrections / amendments":
1. "different problem classes are optimized in different solvers" aka "it's not really a MIP/SAT/foo problem so the solver's internal translation of the model is sub-optimal but in line with its actual use-cases"
2. "individual solver config really matters"
3. "some really require multi-threading to shine/compete with those that (here) seemingly didn't"
4. "you can never intuit which solver will perform best for your new from-scratch model until after you ran them all on it"
What are your insights on all this, if you like to chime in?