时间表求解器在暂停后找不到解决方案

问题描述 投票:0回答:1

从 timefold 1.13 运行 spring-boot-school-timetableling。 当开始求解时,我们得到最优解分数:0hard/11soft。

13:02:42.523  INFO [pool-2-thread-3] Solving started: time spent (0), best score (-40init/0hard/0soft), environment mode (REPRODUCIBLE), move thread count (NONE), random (JDK with seed 0).
13:02:42.524  INFO [pool-2-thread-3] Problem scale: entity count (20), variable count (40), approximate value count (13), approximate problem scale (3,486744 × 10^29).
13:02:42.533  INFO [pool-2-thread-3] Construction Heuristic phase (0) ended: time spent (10), best score (-1hard/-15soft), score calculation speed (66666/sec), step total (20).
13:03:12.523  INFO [pool-2-thread-3] Local Search phase (1) ended: time spent (30000), best score (0hard/11soft), score calculation speed (34569/sec), step total (60994).
13:03:12.523  INFO [pool-2-thread-3] Solving ended: time spent (30000), best score (0hard/11soft), score calculation speed (34578/sec), phase total (2), environment mode (REPRODUCIBLE), move thread count (NONE).

如果启动后立即停止然后继续,解决方案不会改善。

13:03:30.203  INFO [pool-2-thread-4] Solving started: time spent (1), best score (-40init/0hard/0soft), environment mode (REPRODUCIBLE), move thread count (NONE), random (JDK with seed 0).
13:03:30.203  INFO [pool-2-thread-4] Problem scale: entity count (20), variable count (40), approximate value count (13), approximate problem scale (3,486744 × 10^29).
13:03:30.212  INFO [pool-2-thread-4] Construction Heuristic phase (0) ended: time spent (10), best score (-1hard/-15soft), score calculation speed (66666/sec), step total (20).
13:03:31.296  INFO [nio-8080-exec-3] Terminating solver early.
13:03:31.296  INFO [pool-2-thread-4] Local Search phase (1) ended: time spent (1094), best score (0hard/6soft), score calculation speed (34268/sec), step total (5846).
13:03:31.296  INFO [pool-2-thread-4] Solving ended: time spent (1094), best score (0hard/6soft), score calculation speed (34473/sec), phase total (2), environment mode (REPRODUCIBLE), move thread count (NONE).
13:03:33.442  INFO [pool-2-thread-5] Solving started: time spent (1), best score (0hard/6soft), environment mode (REPRODUCIBLE), move thread count (NONE), random (JDK with seed 0).
13:03:33.442  INFO [pool-2-thread-5] Problem scale: entity count (20), variable count (40), approximate value count (13), approximate problem scale (3,486744 × 10^29).
13:03:33.442  INFO [pool-2-thread-5] Construction Heuristic phase (0) ended: time spent (1), best score (0hard/6soft), score calculation speed (0/sec), step total (0).
13:04:03.441  INFO [pool-2-thread-5] Local Search phase (1) ended: time spent (30000), best score (0hard/6soft), score calculation speed (34240/sec), step total (54656).
13:04:03.441  INFO [pool-2-thread-5] Solving ended: time spent (30000), best score (0hard/6soft), score calculation speed (34239/sec), phase total (2), environment mode (REPRODUCIBLE), move thread count (NONE).

为什么解决方案停止?持续优化怎么样?

timefold
1个回答
0
投票

看起来它陷入了局部最优,甚至默认的元启发式实现也无法摆脱它。

这有时会发生在小数据集上。不太漂亮。

我们在 1.14 中对此进行了修复:废墟和重建动作。我不确定它是否会在 1.14 中默认处于活动状态,或者是否必须显式启用它,但我们肯定正在努力实现开箱即用的良好效果。

© www.soinside.com 2019 - 2024. All rights reserved.