2016-05-16 2 views
0

Я создал решатель с двумя локальными этапами поиска, и он отлично работает. Тем не менее, было время, что вторая фаза не делать какие-либо шаги в примерно 1 минуту, как журнал показывает ниже:Optaplanner - локальная фаза 0 шаг всего за 1 минуту

... 

2016-05-07 14:14:55,847 [main] DEBUG  LS step (10069), time spent (593822), score (0hard/-81medium/5395020soft),  best score (0hard/-80medium/5393781soft), accepted/selected move count (5/48), picked move (CL [cID=1147576, id=27246 => SL [id=49, sID=E942648]] <=> CL [cID=1133912, id=14716 => SL [ id=7, sID=E942592]]). 

2016-05-07 14:14:55,858 [main] DEBUG  LS step (10070), time spent (593833), score (0hard/-81medium/5395390soft),  best score (0hard/-80medium/5393781soft), accepted/selected move count (5/18), picked move (CL [cID=1142322, id=22533 => SL [ id=51, sID=E943251]] <=> CL [cID=1134362, id=14118 => SL [ id=49, sID=E942648]]). 

2016-05-07 14:14:55,858 [main] INFO Local Search phase (1) ended: step total (10071), time spent (593833), best score (0hard/-80medium/5393781soft). 

2016-05-07 14:16:05,042 [main] INFO Local Search phase (2) ended: step total (0), time spent (663017), best score (0hard/-80medium/5393781soft). 

2016-05-07 14:16:05,042 [main] INFO Solving ended: time spent (663017), best score (0hard/-80medium/5393781soft), average calculate count per second (2771). 

Перед фазой 1 закончилась, не было никакого улучшения в последние несколько шаги. И этап 2 начался, но сделал 0 шагов в минуту. Затем решатель закончился, так как он достиг максимального допустимого времени.

Я немного удивлен тем, что этап 2 не сделал никакого шага. Это просто потому, что ему не удалось найти лучшего результата?

+1

Я думаю, что это просто потому, что не было лучшего улучшения - если я установил уровень ведения журнала на Trace, я должен уметь видеть ходы. – oy321

+0

Какова ваша конфигурация решателя? 2 Фазы локального поиска поддерживаются, но не являются общими. –

+0

Re. количество локальных этапов поиска - я думал, что для этого нет предела? – oy321

ответ

0

Если вы не видите никаких ходов в журнале TRACE (как это предлагается в комментариях), это может быть связано с тем, что вы используете настраиваемую фабрику переходов и это слишком долго для инициализации.

+0

Да У меня есть 2 локальных этапа поиска. Оба используют одни и те же пользовательские значенияSelector, entitySelector и swapMoveSelector, но с разными акцепторами и кормовыми устройствами. И я не использую какую-либо фабрику списков переходов. Селекторы довольно прямолинейны и не должно быть никакой задержки вообще. Единственное место, которое я подозреваю, является акцептором 2-го локального поиска, использует Tabu Search размером 100. Я занимаюсь бенчмаркингом, чтобы выяснить, все ли в порядке. – oy321

+0

Отслеживание протоколов действительно объяснит, что происходит. –

+0

Появилась проблема с протоколированием после того, как я обновил ее до 6.4.0 Final из 6.3.0 Final. Выходы регистрации на консоли IDE стали: '2016-05-18 23: 22: 33,045 [main] DEBUG Состояние было НЕАКТИВНО nw FIRING_ALL_RULES 2016-05-18 23: 22: 33,047 [main] DEBUG Fire Loop 2016-05-18 23: 22: 34,464 [main] DEBUG Fire Loop ' .... Я прочитал рецепт обновления, и ничего не изменилось в регистрации. – oy321