Почему OptaPlanner дает «Выход из никогда не заканчивающегося селектора, чтобы избежать бесконечного цикла». ошибка, когда я использовал @PlanningPin? - PullRequest
0 голосов
/ 30 октября 2019

Я прочитал документацию по optaplanner, и использование @PlanningPin очень просто. Мой PlanningEntity:

@PlanningEntity()
public class CrewGroupAssignment extends AbstractPersistable {

Я использовал PlanningPin внутри PlanningEntity следующим образом:

@PlanningPin
private Boolean pinned = true;
   public Boolean getPinned() {
      return pinned;
   }

   public void setPinned(Boolean pinned) {
      this.pinned = pinned;
   }

Если this.pinned имеет значение false, проблем нет, однако алгоритм работает отлично, когдаэто верно (PlanningVariable внутри этого класса, установленного со значением, оно не пустое) выдает ошибку:

[FilteringEntitySelector] WARN - Отключение селектора neverEnding (Filtering (FromSolutionEntitySelector (CrewGroupAssignment))))чтобы избежать бесконечного цикла.

Если для PlanningVariable внутри этого класса не задано значение, то он также не работает. Почему он выдает эту ошибку по этой причине?

Спасибо!

1 Ответ

0 голосов
/ 03 ноября 2019

Мы видели это раньше. Это потому, что все ваши сущности закреплены. Существует джира для улучшения поведения OptaPlanner: он должен просто немедленно завершить решение при запуске из набора данных без подвижных объектов (либо они отсутствуют, либо все неподвижны (например, потому что они закреплены)).

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