Генетические алгоритмы против имитации отжига для расписаний

Я разрабатываю приложение для составления расписания. Каковы относительные преимущества генетических алгоритмов по сравнению с имитацией отжига?


У меня есть следующие моменты, характерные для моей ситуации:

  1. За один раз мы выделяем максимум (3 учителя X 6 часов) X (3 класса X 35-часовая рабочая неделя) за один раз, мы итеративно строим расписание.

  2. Будут невозможные состояния, и любые невозможные расписания должны быть уведомлены без зависания приложения - мы ожидаем, что это приложение будет доведено до предела.

  3. Он должен возвращать результаты в постоянное время или сообщать о сбое.


person Jesvin Jose    schedule 29.12.2011    source источник
comment
Вы просматривали существующее программное обеспечение?   -  person Andreas    schedule 30.12.2011


Ответы (1)


Во-первых, я должен сказать, что это кажется довольно небольшим пространством для решения: вы уверены, что грубая сила — не самый простой способ продвижения вперед?

Во-вторых, вы хотите сказать, что вам нужен «довольно хороший» результат за какое-то постоянное время или что вам нужен алгоритм, равный O(1)? Я не скажу, что это невозможно, но... ну, я почти уверен, что это невозможно.

В частности, основное различие между ГА и СА заключается в том, что СА по сути представляет собой алгоритм восхождения на холм, который ищет «вовне» от последней точки в пространстве решений, в то время как ГА являются вероятностными и ищут гиперплоскости в пространстве решений.

Вы говорите две вещи, которые заставляют меня думать, что SA лучше подходит для вашей проблемы: «итеративное построение» и «невозможные состояния». Поскольку ГА рекомбинируют «довольно хорошие» решения по гиперплоскостям в пространстве решений, они имеют тенденцию «повторно обнаруживать» мертвые зоны в пространстве решений. Если вы убеждены, что лучшее решение может быть итеративно построено из довольно хорошего решения, вы находитесь на труднодоступной территории, и SA может подойти лучше.

В общем, относительное преимущество ГА состоит в том, что они быстро обрабатывают очень большие объемы пространства решений, но полагаются на то, что в этом пространстве решений кратко закодированы «хорошие идеи». Относительное преимущество SA заключается в том, что он ищет локальное пространство решений «вокруг» своего исходного решения, что позволяет эффективно находить локальные улучшения. Недостатком является то, что SA заполняется случайным образом и поэтому неэффективен при исследовании больших пространств решений.

person Larry OBrien    schedule 30.12.2011
comment
Могу ли я использовать грубую силу, поскольку «выполнение комбинаций» должно будет оптимистично исследовать 10 ^ 16 состояний (а иногда и в миллион раз)? Я имею в виду не O (1), а предсказуемое количество итераций (скажем, 10 миллионов). - person Jesvin Jose; 30.12.2011
comment
Я предложил грубую силу или восхождение на холм, основываясь на числах 3 * 6 * 18 * 35, которые вы разместили. Если вы можете построить хорошее решение из таких разрозненных фрагментов, то грубая сила или восхождение на вершину могут стать вашим решением. Пространство решений 10 ^ 16 очень велико для SA, если только оно не очень гладкое, чего обычно не бывает в расписании. - person Larry OBrien; 30.12.2011