Я работаю над проблемой планирования, включающей:
- набор объектов планирования, каждый из которых содержит переменную планирования A
- глобальная переменная планирования B (содержится в решении планирования)
Поскольку я начинающий с Optaplanner и планирую оптимизацию в целом, я начал с более простой проблемы с версией, сосредоточившись на оптимизации А с помощью модели B как факта планирования.
Теперь, когда У меня есть программа, успешно оптимизирующая A с учетом B. Я хочу реализовать новый решатель, оптимизирующий как A, так и B. Оказывается, лучшая стратегия поиска для оптимизации - сначала выбрать значение B, а затем оптимизировать A с учетом этого значения B. Этот процесс следует повторять до тех пор, пока не будет найден оптимальный (рассматриваемая проблема является иерархической)
Я ищу совет о том, как реализовать это с помощью Optaplanner. Сначала я думал, что реализую это как две фазы (оптимизация B -> оптимизация A), но теперь я понимаю, что фазы Optaplanner не предназначены для этого. Например, решатель не может l oop на этой упорядоченной последовательности двух фаз.
Вместо этого, я думаю, мне следует реализовать пользовательский MoveSelector, который начинается с перемещения по B, а затем бесконечный список перемещений A ..
Что ты думаешь? Я на правильном пути?
С уважением,