Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Optaplanner更改移动过滤_Java_Optaplanner - Fatal编程技术网

Java Optaplanner更改移动过滤

Java Optaplanner更改移动过滤,java,optaplanner,Java,Optaplanner,我正在为调度问题编写ChangeMoves过滤器,其中规划实体是由几个整数变量定义的移位。 SelectionFilter接口非常简单,但是,我很难获得移动将更改哪个变量的详细信息。在我的情况下,这些信息对于检查是否应该过滤移动是至关重要的 虽然changeMove有getPlanningValue()方法,但我没有找到任何方法来检查将为哪个变量赋值(在我的解决方案中,它们都是整数)。还有getSimpleModeDescriptor()方法,它返回包含变量名的字符串描述,但文档不鼓励解析它返回

我正在为调度问题编写ChangeMoves过滤器,其中规划实体是由几个整数变量定义的移位。 SelectionFilter接口非常简单,但是,我很难获得移动将更改哪个变量的详细信息。在我的情况下,这些信息对于检查是否应该过滤移动是至关重要的

虽然changeMove有getPlanningValue()方法,但我没有找到任何方法来检查将为哪个变量赋值(在我的解决方案中,它们都是整数)。还有getSimpleModeDescriptor()方法,它返回包含变量名的字符串描述,但文档不鼓励解析它返回的值

关于如何找出ChangeMove要更改的变量,有什么想法吗?我做错什么了吗? 在将来的版本中,是否可能从移动的variableDescriptor中公开getVariableName()方法

谢谢:)

编辑:在检查getSimpleMoveDescriptor()代码并测试不鼓励的解析后,例如

if(move.getSimpleMoveTypeDescription().contains("startQuantum")) { 
    return false; 
} 

我得到了想要的行为。不过,可能无法保证移动描述格式会在optaplanner的未来版本中保留变量名

修复了7.0版的。

该ChangeMove应该有一个名为
getVariableName()
的新方法,该方法返回
variableDescriptor.getVariableName()
,并将其链接到此处。好的,可以了,谢谢!jira已经创建,请参见回答谢谢:),同时使用simpleMoveTypeDescription期待最终发布!