解决方案克隆发生在产生新的最佳分数的步骤中#34;连续

时间:2017-05-25 01:05:46

标签: optaplanner

最近引起我注意的事情是,当一个"新的最佳分数"被生产。这绝对是在产生新的最佳分数的每一步中发生的解决方案克隆"。

所以如果"新的最佳分数"这是可以的。步骤不是连续的。例如,如果我们连续执行50个步骤,则解决方案克隆过程将执行50次。更聪明的方法是在序列结束时进行克隆过程(仅一次)。

这是否可以轻松实施,或者还有其他一些可以阻止它的东西?

另一个想法是在每个"新的最佳分数"进行克隆。步骤,但仅克隆由选择作为步骤的移动更改的计划实体实例,并将它们附加到最佳解决方案。

1 个答案:

答案 0 :(得分:1)

如果您连续执行了50个步骤,并且前23个步骤可以提高最佳解决方案,那么我们是否需要在该工作解决方案的步骤23中执行规划克隆? 是的,我们这样做,因为无法保证接下来的27个步骤中的任何一个都能提高最佳分数,因此我们不希望在步骤23中放松解决方案的状态。并非每一步都能提高最佳分数得分较差(特别是延迟接受)。

话虽如此,在构建启发式中 - 我们实际上并不做中间计划克隆,因为我们可以保证解决方案只会改进(更多初始化变量总是更好)。

在任何情况下,使规划克隆变亮的最佳方法是设计一个模型,规划实体类没有任何传入引用(当然除了解决方案类)