首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在视光机VRPTW中使用nearbySelection获取异常

在视光机VRPTW中使用nearbySelection获取异常
EN

Stack Overflow用户
提问于 2017-09-12 07:15:32
回答 1查看 174关注 0票数 1

我看到一个博客,用于缩放VRPTW的1000多个位置使用附近的选择。我试着实现它,下面是我编写的xml:

代码语言:javascript
复制
<unionMoveSelector>
            <changeMoveSelector>
                <entitySelector id="entitySelector1">
                    <entityClass>vehiclerouting.domain.Customer</entityClass>
                </entitySelector>
                <valueSelector variableName="previousStandstill">
                    <nearbySelection>
                        <originEntitySelector mimicSelectorRef="entitySelector1"/>
                        <nearbyDistanceMeterClass>vehiclerouting.domain.solver.nearby.CustomerNearbyDistanceMeter</nearbyDistanceMeterClass>
                        `<nearbySelectionDistributionType>PARABOLIC_DISTRIBUTION</nearbySelectionDistributionType>
                    </nearbySelection>
                </valueSelector>
            </changeMoveSelector>
            <swapMoveSelector>
                <entitySelector id="entitySelector2">
                    <entityClass>vehiclerouting.domain.Customer</entityClass>
                </entitySelector>
               <secondaryEntitySelector>
                    <entityClass>vehiclerouting.domain.Customer</entityClass>
                    <nearbySelection>
                        <originEntitySelector mimicSelectorRef="entitySelector2"/>
                        <nearbyDistanceMeterClass>vehiclerouting.domain.solver.nearby.CustomerNearbyDistanceMeter</nearbyDistanceMeterClass>
                        <nearbySelectionDistributionType>PARABOLIC_DISTRIBUTION</nearbySelectionDistributionType>
                    </nearbySelection>
                </secondaryEntitySelector>
            </swapMoveSelector>
        </unionMoveSelector>

下面是我获得的异常(与154个客户一起运行时):

代码语言:javascript
复制
2017/09/12 12:15:00.538 [SimpleAsyncTaskExecutor-1] [DEBUG] org.optaplanner.core.impl.constructionheuristic.DefaultConstructionHeuristicPhase -     CH step (153), time spent (6850), score (-70002hard/-57992000soft), selected move count (156), picked move (161581 {null -> 161582}).
2017/09/12 12:15:00.547 [SimpleAsyncTaskExecutor-1] [INFO] org.optaplanner.core.impl.constructionheuristic.DefaultConstructionHeuristicPhase - Construction Heuristic phase (0) ended: time spent (6859), best score (-70002hard/-57992000soft), score calculation speed (1842/sec), step total (154).
2017/09/12 12:15:00.599 [SimpleAsyncTaskExecutor-1] [DEBUG] org.drools.core.common.DefaultAgenda - State was INACTIVE is now DISPOSED
2017/09/12 12:15:00.603 [SimpleAsyncTaskExecutor-1] [DEBUG] org.drools.core.common.DefaultAgenda - State was INACTIVE is now FIRING_ALL_RULES
2017/09/12 12:15:00.607 [SimpleAsyncTaskExecutor-1] [DEBUG] org.drools.core.common.DefaultAgenda - State was FIRING_ALL_RULES is now HALTING
2017/09/12 12:15:00.607 [SimpleAsyncTaskExecutor-1] [DEBUG] org.drools.core.common.DefaultAgenda - State was HALTING is now INACTIVE
2017/09/12 12:15:00.641 [SimpleAsyncTaskExecutor-1] [DEBUG] mobi.fareye.module.rabbitmq.AutoRoutingListener - Exception : 
java.lang.NegativeArraySizeException: null
    at org.optaplanner.core.impl.heuristic.selector.common.nearby.NearbyDistanceMatrix.addAllDestinations(NearbyDistanceMatrix.java:35) ~[optaplanner-core-7.2.0.Final.jar:7.2.0.Final]
    at org.optaplanner.core.impl.heuristic.selector.entity.nearby.NearEntityNearbyEntitySelector.phaseStarted(NearEntityNearbyEntitySelector.java:96) ~[optaplanner-core-7.2.0.Final.jar:7.2.0.Final]
    at org.optaplanner.core.impl.phase.event.PhaseLifecycleSupport.firePhaseStarted(PhaseLifecycleSupport.java:37) ~[optaplanner-core-7.2.0.Final.jar:7.2.0.Final]
    at org.optaplanner.core.impl.heuristic.selector.AbstractSelector.phaseStarted(AbstractSelector.java:49) ~[optaplanner-core-7.2.0.Final.jar:7.2.0.Final]
    at org.optaplanner.core.impl.phase.event.PhaseLifecycleSupport.firePhaseStarted(PhaseLifecycleSupport.java:37) ~[optaplanner-core-7.2.0.Final.jar:7.2.0.Final]
    at org.optaplanner.core.impl.heuristic.selector.AbstractSelector.phaseStarted(AbstractSelector.java:49) ~[optaplanner-core-7.2.0.Final.jar:7.2.0.Final]
    at org.optaplanner.core.impl.heuristic.selector.move.decorator.FilteringMoveSelector.phaseStarted(FilteringMoveSelector.java:51) ~[optaplanner-core-7.2.0.Final.jar:7.2.0.Final]
    at org.optaplanner.core.impl.phase.event.PhaseLifecycleSupport.firePhaseStarted(PhaseLifecycleSupport.java:37) ~[optaplanner-core-7.2.0.Final.jar:7.2.0.Final]
    at org.optaplanner.core.impl.heuristic.selector.AbstractSelector.phaseStarted(AbstractSelector.java:49) ~[optaplanner-core-7.2.0.Final.jar:7.2.0.Final]
    at org.optaplanner.core.impl.localsearch.decider.LocalSearchDecider.phaseStarted(LocalSearchDecider.java:95) ~[optaplanner-core-7.2.0.Final.jar:7.2.0.Final]
    at org.optaplanner.core.impl.localsearch.DefaultLocalSearchPhase.phaseStarted(DefaultLocalSearchPhase.java:115) ~[optaplanner-core-7.2.0.Final.jar:7.2.0.Final]
    at org.optaplanner.core.impl.localsearch.DefaultLocalSearchPhase.solve(DefaultLocalSearchPhase.java:64) ~[optaplanner-core-7.2.0.Final.jar:7.2.0.Final]
    at org.optaplanner.core.impl.solver.AbstractSolver.runPhases(AbstractSolver.java:87) ~[optaplanner-core-7.2.0.Final.jar:7.2.0.Final]

我想,我可能在xml配置中做错了一些事情。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2018-04-03 15:17:35

这是不可能的,因为在7.7.0中东方就有至少一次检查的sizeMaximum了。最后和晚些时候(还有很多版本也会提前)。

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

https://stackoverflow.com/questions/46170205

复制
相关文章

相似问题

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