Если я хочу переопределить эту конфигурацию, добавив класс выбора фильтра для классов ChangeMove и SwapMove (AFAIK, эти два хода используется по умолчанию на этапе локального поиска, а декартово произведение с ChangeMove для каждого планового значения используется на этапе эвристики построения) в этом configSolver.xml, как мне действовать?
Должен ли я воспроизвести конфигурацию по умолчанию для этих двух этапов, а затем перезаписать ее с примененным фильтром выбора, или есть лучший подход? Я попытался сделать следующее (на данный момент кажется, что это работает правильно, но я не знаю, является ли это лучшей практикой):
Код: Выделить всё
ALLOCATE_ENTITY_FROM_QUEUE
DECREASING_DIFFICULTY_IF_AVAILABLE
DECREASING_STRENGTH_IF_AVAILABLE
com.patrick.timetableappbackend.utils.LessonChangeMoveFilter
com.patrick.timetableappbackend.utils.LessonChangeMoveFilter
com.patrick.timetableappbackend.utils.LessonSwapMoveFilter
com.patrick.timetableappbackend.utils.LessonChangeMoveFilter
com.patrick.timetableappbackend.utils.LessonSwapMoveFilter
EDIT: Кажется, что приведенное выше решение работает довольно хорошо, но я не знаю, является ли это лучшей практикой для переопределения конфигурации по умолчанию этапов строительной эвристики и локального поиска с помощью фильтра выбора, поскольку качество проблемы планирования решение немного беднее.
Подробнее здесь: https://stackoverflow.com/questions/792 ... es-validat