设置任何移动前的状态起点和移动路径



我正在学习optaplanner。我看了文档和例子。以皇后为例,我试图通过将其替换为骑士而不是皇后来改变一点问题。

  1. 我想把第一个骑士设置在固定的位置,比如col0#row0。这应该是不改变的起点。我该怎么做呢?

  2. 我想指定一个骑士的合法移动路径(从女王更复杂)-在哪里是最好的地方实现它?在自定义移动中指定它?骑士物品本身?

感谢您的帮助

不要混淆"chess move"one_answers"Local Search move"。象棋的移动标志着棋子可以攻击的有效位置。Local Search移动是一种通过更改一个或多个变量从一个解决方案状态移动到另一个解决方案状态的方法。

要将皇后变成骑士,只需以皇后为例并调整scorerrules。所以如果2个棋子是彼此相距甚远的骑士模式,这是一个困难的约束匹配。

注意,有了这些变化,局部搜索移动仍然会简单地改变骑士的行。此外,与皇后不同的是,这个列也可以成为一个计划变量,因为多个骑士可以在同一个列上而不互相攻击。

最新更新