无法调用optaplanner valueSelector filterClass来过滤空值

时间:2019-02-10 17:26:01

标签: optaplanner drools-planner

根据文档

  

计划器将自动将null值添加到值范围

我在VariableListener中打印出计划变量,某些空值将分配给计划变量。

就我而言,我尝试从“值选择”中过滤空值。 我尝试对valueSelector使用过滤器类来过滤空值。参考:https://docs.optaplanner.org/7.12.0.Final/optaplanner-docs/html_single/index.html#filteredValueSelection 但是不能调用BUT过滤器类。实体选择的过滤器类工作正常。

还有另一种方法可以从默认值范围中删除空值,或者如何为值选择创建过滤器?

代码:

public class NumberSelectionFilter implements SelectionFilter<BoxAssignment,Integer> {

 @Override
 public boolean accept(ScoreDirector<BoxAssignment> scoreDirector, Integer number) {
   System.out.println("print out filter");
     return true;
 }
}

xml配置:

<localSearch>
       <unionMoveSelector>
      <changeMoveSelector>    
            <valueSelector>
        <filterClass>org.optaplanner.examples.box.domain.solver.NumberSelectionFilter</filterClass>
         </valueSelector>   
      </changeMoveSelector>
    </unionMoveSelector>
  </localSearch>

0 个答案:

没有答案