Несколько объектов планирования для многопланового многопланового оптопланерного решения ранца - PullRequest
0 голосов
/ 19 февраля 2019

Я действительно новичок в Optaplanner и пытаюсь решить проблему, которая явно не подходит ни к одному из примеров, представленных в документации.

У меня есть модель домена, для которой несколько ServiceProvider (s) (@PlanningEntity) нужно выбрать один из различных SPOption (ProblemFact).

Каждый SPOption имеет список контейнеров (другого @PlanningEntity), которые должны быть помещены в коллекцию сервера (еслиопция выбрана).

В настоящее время, когда солвер запускается, он перебирает все решение и изменяет переменную планирования chootedOption с помощью одной из опций, представленных в списке опций для каждого экземпляра SPOption.Тем не менее, он никогда не назначает каждому из экземпляров Контейнера в коллекции SPOption Сервер (еще одну переменную планирования в другом объекте планирования).

Я сообщаю здесь синтетическую диаграмму модели классов с аннотациями, которые я использовал.

Как получить итератор решателя также для переменной размещения сервера в контейнере?

А вот и пастбина конфигурации решателя:

<solver>
    <!-- Define the model -->
    <!--<scanAnnotatedClasses/>-->
    <solutionClass>domain.Fog</solutionClass>
    <entityClass>domain.Container</entityClass>
    <entityClass>domain.ServiceProvider</entityClass>


    <scoreDirectorFactory>
        <easyScoreCalculatorClass>score.FogEasyScoreCalculator</easyScoreCalculatorClass>
    </scoreDirectorFactory>

    <constructionHeuristic>
        <queuedEntityPlacer>
            <entitySelector id="placerEntitySelector">
                <cacheType>PHASE</cacheType>
                <entityClass>domain.Container</entityClass>
            </entitySelector>
            <changeMoveSelector>
                <entitySelector mimicSelectorRef="placerEntitySelector"/>
            </changeMoveSelector>
        </queuedEntityPlacer>
    </constructionHeuristic>
    <constructionHeuristic>
        <queuedEntityPlacer>
            <entitySelector id="placerEntitySelector">
                <cacheType>PHASE</cacheType>
                <entityClass>domain.ServiceProvider</entityClass>
            </entitySelector>
            <changeMoveSelector>
                <entitySelector mimicSelectorRef="placerEntitySelector"/>
            </changeMoveSelector>
        </queuedEntityPlacer>
    </constructionHeuristic>

</solver>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...