用禁忌和模拟退火在局部最小值中太早停留

时间:2015-03-13 06:29:32

标签: optaplanner timetable

尝试生成员工名单,但要在一小时内完成。资源小时要求类似于8小时1小时,9小时2小时,下午1点1小时。
在分配了前3个资源之后,它通过分配/重新分配给Slots而不试图分配其他员工来不断检查解决方案。

如何解决这个问题?不能是每个约束/违规的权重?如果我在交给本地搜索之前实现填充插槽的快速构造启发式,它会加快速度吗?

当前配置包括first_fit用于构造启发式,爬山作为第一阶段直到它卡住然后禁止模拟退火

1 个答案:

答案 0 :(得分:0)

通常情况下,CH会在LS开始之前分配所有员工,这只是移动它们但从未取消分配任何人。参见章节"优化算法"中的一般相序图。在文档中。假设您不应用过度约束的计划(nullable = true或在值范围内为null)。

如果您确实应用了过度约束的计划,那么您需要确保未分配员工的分数成本低于分数成本,但是他可以分配。

还设置了基准测试配置,因此您可以使用一些基准报告图表来了解正在进行的操作。