Оптапланнер странного поведения при FULL_ASSERT - PullRequest
0 голосов
/ 26 февраля 2020

Я разрабатываю добавочный решатель для составления списка, два объекта планирования: Назначение и Сотрудник, рабочий имеет коллекцию назначений @InverseRelationShadowVariable. Я заметил странное поведение при использовании FULL_ASSERT.

В начале фазы LS оценивается EmployeeSwapMove.

После этого вызывается прослушиватель, который сначала забирает все назначения из Employee, а затем вставляет все назначения в соответствии с перемещением в теневую коллекцию.

После этого вызывается resetWorkingSolution, но у сотрудника есть назначения перед перемещением.

Optaplanner также регистрирует, что вышеупомянутое перемещение было выбрано, но состояние Employee (коллекция теней) не отражает это.

Конечно, после этого оценка искажается.

Проблема не возникает при использовании FAST_ASSERT.

Может кто-нибудь дать мне подсказку?

1 Ответ

2 голосов
/ 01 марта 2020

Я узнал наконец. В моем Слушателе я перепутал вызовы after / beforeVariableChanged.

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