自定义移动实现
Custom move implementation
创建自定义移动时,需要实现方法“getPlanningEntities”、“getPlanningValues”。在这些方法中,需要将实体和值添加到列表中并返回。
在我的自定义移动中,我正在更改属于不同规划实体的多个规划实体实例 类。
打开FULL_ASSERT一切正常没有错误。
我只是想知道“getPlanningEntities”返回的规划实体的顺序是否与“getPlanningValues”返回的值的顺序相同(我现在就是这样做的,但我想知道“getPlanningEntities”和“getPlanningValues”是如何运作的。我知道它们用于entityTabu和valueTabu。
还有什么时候调用“equals”和“hashCode”方法我正在打印文本只是为了看看它们何时被调用但它没有出现?
Move.equals()
和 hashCode()
仅用于 moveTabu
(这不是很好,我几乎从不使用它)。
getPlanningEntities()
和 getPlanningValues()
的 return 值的顺序无关紧要,但在大多数情况下它们 return 不同类型的元素(链式除外)个案)。例如,在 cloudBalancing 中,getPlanningEntities()
return 是进程的集合,getPlanningValues()
return 是计算机的集合。在更改移动中,这两个集合都是单例。
请参阅 CloudComputerChangeMove
和 CloudProcessSwapMove
以获取灵感。
创建自定义移动时,需要实现方法“getPlanningEntities”、“getPlanningValues”。在这些方法中,需要将实体和值添加到列表中并返回。
在我的自定义移动中,我正在更改属于不同规划实体的多个规划实体实例 类。
打开FULL_ASSERT一切正常没有错误。
我只是想知道“getPlanningEntities”返回的规划实体的顺序是否与“getPlanningValues”返回的值的顺序相同(我现在就是这样做的,但我想知道“getPlanningEntities”和“getPlanningValues”是如何运作的。我知道它们用于entityTabu和valueTabu。
还有什么时候调用“equals”和“hashCode”方法我正在打印文本只是为了看看它们何时被调用但它没有出现?
Move.equals()
和 hashCode()
仅用于 moveTabu
(这不是很好,我几乎从不使用它)。
getPlanningEntities()
和 getPlanningValues()
的 return 值的顺序无关紧要,但在大多数情况下它们 return 不同类型的元素(链式除外)个案)。例如,在 cloudBalancing 中,getPlanningEntities()
return 是进程的集合,getPlanningValues()
return 是计算机的集合。在更改移动中,这两个集合都是单例。
请参阅 CloudComputerChangeMove
和 CloudProcessSwapMove
以获取灵感。