首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Optaplanner用filterClass抛出异常

Optaplanner用filterClass抛出异常
EN

Stack Overflow用户
提问于 2018-01-30 12:31:36
回答 1查看 120关注 0票数 1

我在我的应用程序中将pillarMove配置为:

代码语言:javascript
复制
<pillarChangeMoveSelector>
                <pillarSelector>
                    <entitySelector>
                        <entityClass>com.X.Y.Z.MyEntity</entityClass>
                        <cacheType>STEP</cacheType>
                    </entitySelector>
                    <subPillarEnabled>true</subPillarEnabled>
                    <minimumSubPillarSize>1</minimumSubPillarSize>
                    <maximumSubPillarSize>40</maximumSubPillarSize>
                </pillarSelector>
                <valueSelector variableName="variable">
                </valueSelector>
                <filterClass>com.X.Y.Z.MyEntityPillarMoveFilter</filterClass>
            </pillarChangeMoveSelector>

但它会抛出异常

(DefaultPillarSelector(FromSolutionEntitySelector(MyEntity))):带有randomSelection (真)和subPillarEnabled (真)的选择器randomSelection(真)不支持getSize(),因为子支柱的数量呈指数增长。在org.optaplanner.core.impl.heuristic.selector.entity.pillar.DefaultPillarSelector.getSize(DefaultPillarSelector.java:180) at org.optaplanner.core.impl.heuristic.selector.move.generic.PillarChangeMoveSelector.getSize(PillarChangeMoveSelector.java:73) at org.optaplanner.core.impl.heuristic.selector.move.decorator.FilteringMoveSelector.determineBailOutSize(FilteringMoveSelector.java:119) at org.optaplanner.core.impl.heuristic.selector.move.decorator.FilteringMoveSelector.iterator(FilteringMoveSelector.java:78)在org.optaplanner.core.impl.heuristic.selector.move.composite.UnionMoveSelector$RandomUnionMoveIterator.(UnionMoveSelector.java:144) at org.optaplanner.core.impl.heuristic.selector.move.composite.UnionMoveSelector.iterator(UnionMoveSelector.java:129)

如果没有过滤器,PillarMove就没有多大用处,因为它将选择所有实体。相反,在我的用例中,在没有过滤器的情况下启用subPillar也没有多大帮助。

optaplanner支持pillarMove和filterClass吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-01 08:14:54

目前不支持。

这是由于一个更普遍的问题,至少在7.6.0之前是如此:选择过滤的bailOut计算使用的getSize()并不总是受支持的(不可能支持柱柱移动)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48521562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档