Как переопределить конфигурацию фаз по умолчанию с помощью фильтра выбора (проверка перемещений) в configSolver.xml?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как переопределить конфигурацию фаз по умолчанию с помощью фильтра выбора (проверка перемещений) в configSolver.xml?

Сообщение Anonymous »

Предположим, у меня есть следующая конфигурация в configSolver.xml:

Код: Выделить всё





com.patrick.timetableappbackend.solver.TimetableConstraintProvider

ONLY_DOWN/ONLY_DOWN/ANY




ALLOCATE_ENTITY_FROM_QUEUE
DECREASING_DIFFICULTY_IF_AVAILABLE
DECREASING_STRENGTH_IF_AVAILABLE





1


400


2






3


600



Если я хочу добавить класс выбора фильтра для классов ChangeMove и SwapMove (AFAIK, эти 2 перемещения используются по умолчанию на этапе локального поиска, а декартово произведение с ChangeMove для каждого значение планирования используется на этапе эвристики строительства) в этом configSolver.xml, как мне действовать?
Должен ли я воспроизвести конфигурацию по умолчанию для этих двух этапов, тогда перезаписать его с применением фильтра выбора или есть лучший подход? Я попытался сделать следующее (на данный момент кажется, что это работает правильно, но я не знаю, является ли это лучшей практикой):

Код: Выделить всё


ALLOCATE_ENTITY_FROM_QUEUE
DECREASING_DIFFICULTY_IF_AVAILABLE
DECREASING_STRENGTH_IF_AVAILABLE


com.patrick.timetableappbackend.utils.LessonChangeMoveFilter











1



com.patrick.timetableappbackend.utils.LessonChangeMoveFilter


com.patrick.timetableappbackend.utils.LessonSwapMoveFilter



400


2







com.patrick.timetableappbackend.utils.LessonChangeMoveFilter


com.patrick.timetableappbackend.utils.LessonSwapMoveFilter



3


600



Обратите внимание, что я реализовал фильтры (как для ChangeMove, так и для SwapMove) отдельно, аналогично примерам из документации.
EDIT: Кажется, что приведенное выше решение работает довольно хорошо, но я не знаю, является ли это лучшей практикой для переопределения конфигурации по умолчанию этапов строительной эвристики и локального поиска с помощью фильтра выбора, поскольку качество проблемы планирования решение немного беднее.

Подробнее здесь: https://stackoverflow.com/questions/792 ... es-validat
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»