我的计划变量是布尔值。
我只想使用changeMoves,我想使用changeMove的笛卡尔积来进行更粗略的移动。这是我的计划配置:
<unionMoveSelector>
<changeMoveSelector/>
<cartesianProductMoveSelector>
<changeMoveSelector/>
<changeMoveSelector/>
<changeMoveSelector/>
<changeMoveSelector/>
<changeMoveSelector/>
</cartesianProductMoveSelector>
</unionMoveSelector>
如何避免一半时间“移动不可行”?
目前,我常常有:
Move index (5) not doable, ignoring move (... {false -> false})
基本上,我想要一个包含切换布尔状态的移动,这总是可行的(false
变成true
而true
变成false
)。
对于changeMoves的笛卡尔积更糟糕的是,因为我认为当其中一个changeMove不可行时忽略了移动...所以使用n changeMoves,我只有1/2的机会获得可行的笛卡尔...
我是否必须创建自定义移动或是否有其他方法可以执行此操作?
答案 0 :(得分:0)
解决方法(未经测试 - 请在此处告知我是否有效):在<changeMoveSelector/>
添加MoveFilter
以过滤不可行的移动。这样他们就不会进入笛卡尔选择器,这可能会提高你的效率。
如果此解决方法有效,它也是我们应如何解决PLANNER-589上游问题的证据。