Эффекты вложенного unionMoveSelectors в optaPlanner - PullRequest
1 голос
/ 23 октября 2019

Во время тестирования и бенчмаркинга я непреднамеренно ввел дополнительный уровень unionMoveSelector в свой файл конфигурации xml solver:

<unionMoveSelector>
    <unionMoveSelector>
                <changeMoveSelector>
                    <fixedProbabilityWeight>1.0</fixedProbabilityWeight>
                    <valueSelector variableName="start"/>
                </changeMoveSelector>
                <changeMoveSelector>
                    <fixedProbabilityWeight>1.0</fixedProbabilityWeight>
                    <valueSelector variableName="duration"/>
                </changeMoveSelector>
                <swapMoveSelector>
                    <filterClass>io.solvice.shift.domain.ShiftAssignmentSwapFilter</filterClass>
                    <fixedProbabilityWeight>0.1</fixedProbabilityWeight>
                </swapMoveSelector>
                <swapMoveSelector>
                    <filterClass>io.solvice.shift.domain.EmployeeSwapFilter</filterClass>
                    <fixedProbabilityWeight>0.1</fixedProbabilityWeight>
                </swapMoveSelector>
                <moveIteratorFactory>
                    <fixedProbabilityWeight>0.1</fixedProbabilityWeight>
                    <moveIteratorFactoryClass>customMoveIteratorFactory1</moveIteratorFactoryClass>
                </moveIteratorFactory>
                <moveIteratorFactory>
                    <fixedProbabilityWeight>1.0</fixedProbabilityWeight>
                    <moveIteratorFactoryClass>customMoveIteratorFactory2</moveIteratorFactoryClass>
                </moveIteratorFactory>
    </unionMoveSelector>
</unionMoveSelector>

Обширное тестирование (хотя и на одном, трудно решаемом экземпляре)Показано, что мой решатель работает лучше с на этом дополнительном уровне, чем без.

Может кто-нибудь объяснить мне, что это делает и почему это может превзойти другую ситуацию?

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