Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовик1.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
331 Кб
Скачать

1.3. Методы решения задачи минимизации пересечений в графе с использованием генетических алгоритмов

Генетические алгоритмы (ГА) являются случайно направленными поисковыми методами. Генетические алгоритмы осуществляют параллельный поиск в нескольких точках пространства решений. ГА имеют больше шансов найти оптимальное решение, но обычно имеют временную сложность большего порядка, чем итерационные алгоритмы.

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

В отличие от остальных оптимизационных методов ГА более приспособлены для нахождения новых решений за счет объединения квазиоптимальных решений из разных популяций и обладают возможностями для выхода из локальных оптимумов.

В ГА решение (минимальное число пересечений) можно представить в виде списка вершин (см. рис.2). Первый в этом списке город - начало пути, второй - следующий посещаемый город, и т.д. Каждому городу соответствует уникальное число от 0 до N-1, где N - количество городов. Для оценки решения, ГА использует эти числа как указатели в двумерном массиве расстояний между городами.

Кодирование решения для задачи минимизации пересечений

рис. 2.а

рис. 2.б

В естественной среде преобразование наследственной информации в популяциях перекрестников осуществляется по двум направлениям:

а) при передаче НИ от родителей к детям;

б) при воздействии мутационных факторов на носители НИ.

Механизм передачи НИ от родителей к детям при половом размножении показывает, каким образом происходит изменение НИ при смене поколений в естественной среде. В классических механизмах ГА многие положения этого процесса пока не нашли применения, но надо отметить, что естественные аналоги совершенствовались в течение многих лет эволюции и поэтому имеют совершенную в своем роде структуру.

Процесс генерации новых решений является ключевым звеном в механизме ГА. На основе вышесказанного выделим два основных способа генерации новых решений:

1) путем перекомпоновки двух старых (родительских) решений;

2) путем случайной перестройки НИ отдельных индивидов.

Первый способ в механизмах ГА называется оператором кроссинговера (скрещивания), второй - оператором мутации. Рассмотрим подробнее оператор кроссинговера, т.к. он представляет наибольший интерес.

Как указано выше, хромосома представляет собой упорядоченный список вершин. Использование стандартных операторов кроссинговера приводит к появлению нереальных решений, т.е. в хромосомах, как правило, повторяются вершины (одноточечный, двухточечный и т.п. кроссинговеры).

Жадный оператор кроссинговера был предложен в 1988 году Грифенстеттом в соавторстве с другими учеными для решения задачи коммивояжера. Это эвристический оператор кроссинговера, ориентированный на использование знаний об объекте.

Идея построения “жадного” алгоритма заключается в следующем. На каждом шаге последовательно выбираются лучшие элементы из множества имеющихся, т.е. решения, улучшающие целевую функцию, причем таким образом, чтобы не нарушать действующих ограничений. Генерация потомков происходит за счет выбора лучших участков родительских хромосом и их последующего сопряжения.

В то же время схема работы “жадного” ОК может изменяться в зависимости от характера решаемых задач.

Например, для задачи минимизации пересечений схема выполнения “жадного” ОК может быть следующей. В каждой родительской хромосоме, кодирующей взаиморасположение ребер на полуплоскостях, выбирают по одному ребру, имеющему наибольшее число пересечений в данной полуплоскости и производят обмен. После этого среди оставшихся ребер снова выбираются два ребра, имеющие наибольшее число пересечений, и меняются местами и так далее, до тех пор, пока не будут просмотрены все ребра.

Практика показывает, что применение жадного ОК повышает скорость сходимости решения, но в то же время это способствует уменьшению разнообразия популяции.

Оператор мутации служит одним из способов выхода из локального оптимума. Поэтому оператором мутации выбрана мутация обмена. Выбор ген для обмена происходит абсолютно случайно.

Пример:

P1 = {1, 2, 3, 4, 5}

P2 = {1, 4, 3, 2, 5}