最近引起我注意的是,当产生“新的最佳成绩”时,步子比其他人慢。这绝对是在产生“新的最佳分数”的每一步中发生的解决方案克隆。
因此,如果“新的最佳得分”步骤不是连续的,这也没关系。例如,如果我们连续执行 50 个步骤,则解决方案克隆过程将执行 50 次。更聪明的方法是在序列末尾进行克隆过程(仅一次)。
这是可以轻松实现的事情还是有其他事情会阻止它?
另一个想法是在每个“新的最佳得分”步骤中进行克隆,但仅克隆因选择为步骤的移动而更改的规划实体实例,并将它们附加到最佳解决方案。
如果连续 50 个步骤,并且前 23 个步骤改进了最佳解决方案,那么我们是否需要在该工作解决方案的第 23 步中进行规划克隆?
是的,我们这样做,因为不能保证接下来的 27 个步骤中的任何一步都会提高最佳分数,因此我们不想在第 23 步中失去解决方案的状态。并非每一步都会提高最佳分数,有些步骤会提高最佳分数得分更差(尤其是晚接受)。
话虽这么说,在构造启发式中 - 我们实际上不进行中间规划克隆,因为我们可以保证解决方案只会改进(初始化变量越多总是越好)。
无论如何,使规划克隆变得轻量级的最佳方法是设计一个模型,其中规划实体类没有任何传入引用(当然解决方案类除外)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)