Closed DmitryEzhov closed 5 years ago
When Yuck terminates by itself (without error message), that basically means that it cannot find a solution or that it cannot improve on the best solution it has found so far.
Under the hood, the amount of computational resources Yuck puts into a problem is governed by the annealing schedule and the maximum number of restarts.
The annealing schedule supplies simulated annealing with a stream of temperatures (starting from a random temperature) and results in alternating phases of cooling and reheating. The annealing schedule is adaptive in the sense that it prolongues it's own life as long as the solution quality keeps improving but, when progress stalls, the schedule will eventually terminate itself and hence the solver it controls.
By default, Yuck will run up to 100 solvers, each one starting from different (random) assignments (to problem variables) and start temperatures. (Solvers can be run in parallel by means of the -p option, sometimes resulting in a super-linear speedup.)
To increase computational resources, the number of restarts can be increased by means of the --restart-limit command-line option, but the default value is 100 and, in my experience, increasing this value even further is not helpful.
(To increase the restart limit in MiniZinc IDE, add -- --restart-limit <n>
to the solver command-line arguments.)
In win7_64 and IDE 2.2.3 after about 30 minutes yuck stops by itself, ("Stop" button was not pressed).