Экспоненциальные окрестности

Одним из новых перспективных направлений в области локального поиска является исследование свойств окрестностей экспоненциальной мощности. Если лучшее решение в такой окрестности можно найти за полиномиальное время, то алгоритм локального поиска с такой окрестностью получает определенное преимущество перед остальными. Для задачи коммивояжера первые примеры таких окрестностей были предложены в работе [28]. Изложим, в качестве иллюстрации, идею одного из таких подходов. Этот пример наглядно показывает тесную связь между экспоненциальными окрестностями и полиномиально разрешимыми случаями задачи коммивояжера. Наличие такой связи, по-видимому, будет стимулировать поиск новых полиномиально разрешимых случаев для трудных комбинаторных задач, что в свою очередь может привести к дальнейшему прогрессу в области локального поиска.

Основная идея может быть представлена следующим образом. Предположим, что множество из Экспоненциальные окрестности - student2.ru городов разбито на две части Экспоненциальные окрестности - student2.ru и Экспоненциальные окрестности - student2.ru , так, что Экспоненциальные окрестности - student2.ru и Экспоненциальные окрестности - student2.ru . Для удобства и простоты изложения добавим в первую группу Экспоненциальные окрестности - student2.ru фиктивных городов Экспоненциальные окрестности - student2.ru и рассмотрим окрестность Экспоненциальные окрестности - student2.ru ), состоящую из всех циклов вида

Экспоненциальные окрестности - student2.ru

где Экспоненциальные окрестности - student2.ru ,…, Экспоненциальные окрестности - student2.ru – произвольная перестановка Экспоненциальные окрестности - student2.ru элементов. Содержательно, каждый такой цикл получается вставкой городов Экспоненциальные окрестности - student2.ru между парами городов Экспоненциальные окрестности - student2.ru . Множество Экспоненциальные окрестности - student2.ru ) имеет экспоненциальную мощность Экспоненциальные окрестности - student2.ru при Экспоненциальные окрестности - student2.ru . Оптимальный тур в этом множестве может быть найден с помощью решения задачи о назначениях следующим образом.

При Экспоненциальные окрестности - student2.ru положим

Экспоненциальные окрестности - student2.ru

Введем переменные Экспоненциальные окрестности - student2.ru

и рассмотрим задачу

Экспоненциальные окрестности - student2.ru

Экспоненциальные окрестности - student2.ru

Экспоненциальные окрестности - student2.ru

Экспоненциальные окрестности - student2.ru

Оптимальное решение задачи определяет наилучшее размещение городов Экспоненциальные окрестности - student2.ru , Экспоненциальные окрестности - student2.ru между городами Экспоненциальные окрестности - student2.ru , то есть оптимальный тур в множестве Экспоненциальные окрестности - student2.ru .

Заметим, что максимальная мощность окрестности Экспоненциальные окрестности - student2.ru достигается при Экспоненциальные окрестности - student2.ru . Точнее, пусть Экспоненциальные окрестности - student2.ru , Экспоненциальные окрестности - student2.ru , целое, Экспоненциальные окрестности - student2.ru и Экспоненциальные окрестности - student2.ru (mod 2). Для действительного числа Экспоненциальные окрестности - student2.ru обозначим через Экспоненциальные окрестности - student2.ru (соответственно Экспоненциальные окрестности - student2.ru ) максимальное целое (полуцелое, то есть число вида Экспоненциальные окрестности - student2.ru для нечетных Экспоненциальные окрестности - student2.ru ), не превосходящее Экспоненциальные окрестности - student2.ru . Тогда максимальная мощность Экспоненциальные окрестности - student2.ru окрестности превосходит Экспоненциальные окрестности - student2.ru и, согласно [29], равна: Экспоненциальные окрестности - student2.ru где Экспоненциальные окрестности - student2.ru .

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

Теорема 5.12. Экспоненциальные окрестности - student2.ru .

Перейдем теперь к наиболее интригующему свойству данной окрестности, связанному к расстоянием между турами в графе окрестностей. Оказывается, что с помощью множества Экспоненциальные окрестности - student2.ru можно так определить новую окрестность, что расстояние между любыми двумя турами не будет превосходить 4 [30]. Сам факт, что максимальное расстояние между турами не зависит от размерности задачи, представляется удивительным. Более того, эта константа очень мала; всего 4 шага достаточно сделать, чтобы добраться из заданного решения до любого другого и, в частности, до оптимального. К сожалению, мы не знаем, в какую именно сторону нужно сделать эти четыре шага, иначе задача стала бы полиномиально разрешимой. Кроме того, мы не знаем, как много локальных оптимумов типа 2-замена или city-swap содержится в такой экспоненциальной окрестности. Тем не менее, факт ограниченности диаметра свидетельствует о больших потенциальных возможностях такой окрестности.

Пусть Экспоненциальные окрестности - student2.ru – произвольный гамильтонов цикл. Обозначим через Экспоненциальные окрестности - student2.ru семейство всех подмножеств мощности Экспоненциальные окрестности - student2.ru , состоящих из несмежных вершин цикла Экспоненциальные окрестности - student2.ru . Каждый элемент семейства
Экспоненциальные окрестности - student2.ru однозначно определяет множество циклов Экспоненциальные окрестности - student2.ru . Объединение таких множеств обозначим через Экспоненциальные окрестности - student2.ru . Можно показать, что при фиксированном Экспоненциальные окрестности - student2.ru мощность семейства Экспоненциальные окрестности - student2.ru равна Экспоненциальные окрестности - student2.ru то есть выражается полиномом от Экспоненциальные окрестности - student2.ru , и, следовательно, оптимальный цикл в множестве Экспоненциальные окрестности - student2.ru можно найти за полиномиальное время. Будем говорить, что цикл Экспоненциальные окрестности - student2.ru является соседним к циклу Экспоненциальные окрестности - student2.ru , если в цикле Экспоненциальные окрестности - student2.ru найдутся Экспоненциальные окрестности - student2.ru несмежных вершин Экспоненциальные окрестности - student2.ru , таких,
что Экспоненциальные окрестности - student2.ru .

Теорема 5.13. При Экспоненциальные окрестности - student2.ru для любых циклов Экспоненциальные окрестности - student2.ru и Экспоненциальные окрестности - student2.ru существуют такие циклы Экспоненциальные окрестности - student2.ru , Экспоненциальные окрестности - student2.ru и Экспоненциальные окрестности - student2.ru , что Экспоненциальные окрестности - student2.ru является соседним
к Экспоненциальные окрестности - student2.ru

В общем случае при произвольных Экспоненциальные окрестности - student2.ru длина пути в графе окрестностей Экспоненциальные окрестности - student2.ru между двумя произвольными циклами ограничена сверху величиной Экспоненциальные окрестности - student2.ru .

Метаэвристики

Идеи локального поиска получили свое дальнейшее развитие в так называемых метаэвристиках, то есть в общих схемах построения алгоритмов, которые могут быть применены практически к любой задаче дискретной оптимизации. Все метаэвристики являются итерационными процедурами, и для многих из них установлена асимптотическая сходимость наилучшего найденного решения к глобальному оптимуму. В отличие от алгоритмов с оценками, метаэвристики не привязываются к специфике решаемой задачи. Это достаточно общие итерационные процедуры, использующие рандомизацию и элементы самообучения, интенсификацию и диверсификацию поиска, адаптивные механизмы управления, конструктивные эвристики и методы локального поиска. К метаэвристикам принято относить методы имитации отжига (Simulated Annealing (SA)), поиск с запретами (Tabu Search (TS)), генетические алгоритмы (Genetic Algorithms (GA)) и эволюционные методы (Evolutionary Computation (EC)), а также поиск с чередующимися окрестностями (Variable Neighborhood Search (VNS)), муравьиные колонии (Ant Colony Optimization (ACO)), вероятностные жадные алгоритмы (Greedy Randomized Adaptive Search Procedure (GRASP)) и др. [31].

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

Метаэвристики принято делить на траекторные методы, когда на каждой итерации имеется одно допустимое решение и осуществляется переход к следующему, и на методы, работающие с семейством (популяцией) решений. К первой группе относятся TS, SA, VNS. Траекторные методы оставляют в пространстве поиска траекторию, последовательность решений, где каждое решение является соседним для предыдущего относительно некоторой окрестности. В методах TS, SA окрестность определяется заранее и не меняется в ходе работы. Целевая функция вдоль траектории меняется немонотонно, что позволяет «выбираться» из локальных экстремумов и находить все лучшие и лучшие приближенные решения. Элементы самоадаптации позволяют менять управляющие параметры алгоритмов, используя предысторию поиска. Более сложные методы, например, VNS, используют несколько окрестностей и меняют их систематически в целях диверсификации. Фактически, при смене окрестности происходит смена ландшафта. Сознательное изменение ландшафта, как, например, это происходит в методе шума (Noising method, [32]), благотворно сказывается на результатах поиска. Изучение ландшафтов, их свойств, например, изрезанности (ruggedness), позволяет давать рекомендации по выбору окрестностей.

Ко второй группе методов относятся GA, EC, ACO и др. На каждой итерации этих методов строится новое решение задачи, которое основывается уже не на одном, а на нескольких решениях из популяции. В генетических и эволюционных алгоритмах для этих целей используются процедуры скрещивания (crossover) и целенаправленных мутаций. В методах ACO применяется другая идея, основанная на сборе статистической информации о наиболее удачных найденных решениях. Эта информация учитывается в вероятностных жадных алгоритмах и подсказывает, какие именно компоненты решений (ребра графа, предприятия, элементы системы технических средств) чаще всего приводили ранее к малой погрешности. Методы этой группы, как правило, основаны на аналогиях в живой природе. Идея ACO является попыткой имитации поведения муравьев, которые почти не имеют зрения и ориентируются по запаху, оставленному предшественниками. Сильно пахнущее вещество, феромон, является для них индикатором деятельности предшественников. Оно аккумулирует в себе предысторию поиска и подсказывает дорогу к муравейнику. Попытки подглядеть у природы способы решения трудных комбинаторных задач находят все новые и новые воплощения в численных методах. Например, при инфекции организм старается подобрать (породить, сконструировать) наиболее эффективную защиту. Наблюдение за этим процессом привело к рождению нового метода – искусственным иммунным системам. Исследование жизнедеятельности пчелиного улья, где только одна матка оставляет потомство, послужило основой для новых генетических методов. Однако наибольший прогресс наблюдается на пути гибридизации, например, построения гиперэвристик, автоматически подбирающих наиболее эффективные эвристики для данного примера и симбиоз с классическими методами математического программирования.

Остановимся подробнее на последнем направлении. Здесь наблюдается достаточно широкий спектр исследований [24]:

– построение экспоненциальных по мощности окрестностей,
в которых поиск наилучшего решения осуществляется за полиномиальное время путем решения вспомогательной оптимизационной задачи;

– исследование операторов скрещивания, базирующихся на точ-ном или приближенном решении исходной задачи на подмножестве, заданном родительскими решениями;

– гибридизация метаэвристик с точными методами, например, с методами ветвей и границ и методом динамического программирования;

– разработка новых точных методов, использующих идеи локального поиска;

– применение разных математических формулировок решаемой задачи и использование различных кодировок решений и др.

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

Алгоритм имитации отжига

Экзотическое название данного алгоритма связано с методами имитационного моделирования в статистической физике, основанными на технике Монте-Карло. Исследование кристаллической решетки и поведения атомов при медленном остывании тела привело к появлению на свет стохастических алгоритмов, которые оказались чрезвычайно эффективными в комбинаторной оптимизации. Впервые это было замечено в 1983 г. [32]. В настоящее время этот подход является популярным как среди практиков, благодаря своей простоте, гибкости и эффективности, так и среди теоретиков, поскольку для него удается доказать асимптотическую сходимость к глобальному оптимуму.

Алгоритм имитации отжига относится к классу пороговых алгоритмов локального поиска. На каждом шаге в окрестности текущего решения выбирается новое решение. Если разность по целевой функции между ними не превосходит заданного порога Экспоненциальные окрестности - student2.ru , то новое решение заменяет текущее. В противном случае выбирается другое соседнее решение. Общая схема пороговых алгоритмов может быть представлена следующим образом.

Пороговый алгоритм

1. Выбрать начальное решение Экспоненциальные окрестности - student2.ru и положить Экспоненциальные окрестности - student2.ru

2. Пока не выполнен критерий остановки, делать следующее:

2.1. Выбрать Экспоненциальные окрестности - student2.ru случайным образом.

2.2. Если Экспоненциальные окрестности - student2.ru

2.3. Если Экспоненциальные окрестности - student2.ru

2.4. Положить Экспоненциальные окрестности - student2.ru

3. Предъявить наилучшее найденное решение.

В зависимости от способа задания последовательности Экспоненциальные окрестности - student2.ru различают три типа алгоритмов

1. Последовательное улучшение: Экспоненциальные окрестности - student2.ru для всех Экспоненциальные окрестности - student2.ru – вариант классического локального спуска с монотонным улучшением по целевой функции.

2. Пороговое улучшение: Экспоненциальные окрестности - student2.ru Экспоненциальные окрестности - student2.ru Экспоненциальные окрестности - student2.ru – вариант локального поиска, когда допускается ухудшение по целевой функции до некоторого порога, и этот порог последовательно снижается до нуля.

3. Имитация отжига: Экспоненциальные окрестности - student2.ru – неотрицательная случайная величина с математическим ожиданием Экспоненциальные окрестности - student2.ru – вариант локального поиска, когда допускается произвольное ухудшение по целевой функции, но вероятность такого перехода обратно пропорциональна величине ухудшения, точнее для любого Экспоненциальные окрестности - student2.ru

Последовательность Экспоненциальные окрестности - student2.ru играет важную роль при анализе сходимости и выбирается так, чтобы Экспоненциальные окрестности - student2.ru при Экспоненциальные окрестности - student2.ru . Иногда параметр Экспоненциальные окрестности - student2.ru называют температурой, имея в виду указанные выше истоки. Для анализа данного и последующих алгоритмов потребуются некоторые определения из теории конечных цепей Маркова [32, 33].

Определение 5.6. Пусть Экспоненциальные окрестности - student2.ru обозначает множество возможных исходов некоторого случайного процесса. Цепь Маркова есть последовательность испытаний, когда вероятность исхода в каждом испытании зависит только от результата предшествующего испытания.

Пусть Экспоненциальные окрестности - student2.ru – случайная переменная, обозначающая результат
k-го испытания. Тогда для каждой пары Экспоненциальные окрестности - student2.ru вероятность перехода от Экспоненциальные окрестности - student2.ru к Экспоненциальные окрестности - student2.ru при k-ом испытании задается выражением Экспоненциальные окрестности - student2.ru

Матрица Экспоненциальные окрестности - student2.ru называется переходной матрицей. Цепь Маркова называется конечной, если множество исходов конечно, и однородной, если переходные вероятности не зависят от номера шага Экспоненциальные окрестности - student2.ru .

Для алгоритма имитации отжига испытание состоит в выборе очередного решения на k-м шаге. Вероятность перехода Экспоненциальные окрестности - student2.ru зависит от текущего решения Экспоненциальные окрестности - student2.ru , так как переход возможен только в соседнее решение Экспоненциальные окрестности - student2.ru Она не зависит от того, каким путем добрались до этого решения. Таким образом, последовательность решений Экспоненциальные окрестности - student2.ru образует цепь Маркова. Эта цепь конечна, т. к. множество допустимых решений конечно. Для каждой пары Экспоненциальные окрестности - student2.ru вероятность перехода от Экспоненциальные окрестности - student2.ru к Экспоненциальные окрестности - student2.ru задается выражением: Экспоненциальные окрестности - student2.ru

где Экспоненциальные окрестности - student2.ru есть вероятность выбора решения Экспоненциальные окрестности - student2.ru из окрестности Экспоненциальные окрестности - student2.ru , Экспоненциальные окрестности - student2.ru – вероятность принятия решения Экспоненциальные окрестности - student2.ru . Если в окрестности Экспоненциальные окрестности - student2.ru решения выбираются равновероятно, то Экспоненциальные окрестности - student2.ru а вероятность принятия Экспоненциальные окрестности - student2.ru определяется как Экспоненциальные окрестности - student2.ru

Если Экспоненциальные окрестности - student2.ru , то цепь Маркова является однородной. В общем случае алгоритм имитации отжига порождает конечную неоднородную цепь Маркова. Экспоненциальные окрестности - student2.ru При исследовании асимптотического поведения алгоритмов важную роль играет так называемое стационарное распределение, вектор Экспоненциальные окрестности - student2.ru размерности Экспоненциальные окрестности - student2.ru , компоненты которого определяются как Экспоненциальные окрестности - student2.ru если такой предел существует и не зависит от Экспоненциальные окрестности - student2.ru . Величина Экспоненциальные окрестности - student2.ru равна вероятности оказаться в состоянии Экспоненциальные окрестности - student2.ru после достаточно большого числа шагов.

Теорема 5.14. Пусть Экспоненциальные окрестности - student2.ru для всех Экспоненциальные окрестности - student2.ru и для любой пары Экспоненциальные окрестности - student2.ru найдутся положительное целое число Экспоненциальные окрестности - student2.ru и такие решения Экспоненциальные окрестности - student2.ru , что Экспоненциальные окрестности - student2.ru и Экспоненциальные окрестности - student2.ru для Экспоненциальные окрестности - student2.ru . Тогда для цепи Маркова, порожденной алгоритмом имитации отжига, существует единственное стационарное распределение, компоненты которого задаются формулой

Экспоненциальные окрестности - student2.ru

и

Экспоненциальные окрестности - student2.ru

Последнее равенство, по сути, означает, что с ростом числа итераций вероятность оказаться в точке глобального оптимума стремится к 1, если значение порога Экспоненциальные окрестности - student2.ru стремится к нулю, то есть Экспоненциальные окрестности - student2.ru

На практике, конечно, нет возможности выполнить бесконечное число итераций. Поэтому приведенная теорема является только источником вдохновения при разработке алгоритмов. Существует много эвристических способов выбора конечной последовательности Экспоненциальные окрестности - student2.ru с целью повышения вероятности обнаружения глобального оптимума.

В большинстве работ следуют рекомендациям первопроходцев и используют схему геометрической прогрессии:

1. Начальное значение Экспоненциальные окрестности - student2.ru – максимальная разность между соседними решениями.

2. Понижение порога: Экспоненциальные окрестности - student2.ru , где Экспоненциальные окрестности - student2.ru – положительная константа, достаточно близкая к 1.

3. Финальное значение: Экспоненциальные окрестности - student2.ru определяется либо по числу сделанных изменений, либо как максимальное Экспоненциальные окрестности - student2.ru , при котором алгоритм не меняет текущее решение в течение заданного числа шагов. При каждом значении Экспоненциальные окрестности - student2.ru алгоритм выполняет порядка Экспоненциальные окрестности - student2.ru шагов, не меняя значение порога. Общая схема имитации отжига может быть представлена следующим образом.

Алгоритм SA

1. Выбрать начальное решение Экспоненциальные окрестности - student2.ru и положить Экспоненциальные окрестности - student2.ru , определить начальную температуру Экспоненциальные окрестности - student2.ru и коэффициент Экспоненциальные окрестности - student2.ru

2. Повторять, пока не выполнен критерий остановки.

2.1. Цикл Экспоненциальные окрестности - student2.ru .

Выбрать решение Экспоненциальные окрестности - student2.ru случайным образом.

Вычислить Экспоненциальные окрестности - student2.ru

Если Экспоненциальные окрестности - student2.ru , то Экспоненциальные окрестности - student2.ru иначе Экспоненциальные окрестности - student2.ru с вероятностью Экспоненциальные окрестности - student2.ru .

Если Экспоненциальные окрестности - student2.ru , то Экспоненциальные окрестности - student2.ru .

2.2. Понизить температуру: Экспоненциальные окрестности - student2.ru .

3. Предъявить наилучшее найденное решение Экспоненциальные окрестности - student2.ru

На рис. 5.20 показано типичное поведение алгоритма. На первых итерациях при высокой температуре наблюдается большой разброс по целевой функции. Процесс поиска чем-то напоминает броуновское движение.

Итерации
Экспоненциальные окрестности - student2.ru
Экспоненциальные окрестности - student2.ru

Рисунок-5.20. Поведение алгоритма SA

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

Среди пороговых алгоритмов следует выделить еще один с забавным названием великий потоп (Great Deluge). Правда, для задач на минимум его следует называть скорее великая засуха. На каждой итерации этого алгоритма имеется некоторое допустимое решение задачи Экспоненциальные окрестности - student2.ru , и в его окрестности, как и раньше, выбирается решение Экспоненциальные окрестности - student2.ru случайным образом. Если Экспоненциальные окрестности - student2.ru , то выполняется переход в новое решение. В противном случае значение Экспоненциальные окрестности - student2.ru сравнивается с уровнем воды Экспоненциальные окрестности - student2.ru . Если Экспоненциальные окрестности - student2.ru , то все равно выполняется переход в новое решение. Если же переход не выполнен, то выбирается новое соседнее решение. Порог Экспоненциальные окрестности - student2.ru сначала устанавливается достаточно большим, чтобы были возможны любые переходы. Затем этот порог уменьшается на каждой итерации на заданную величину Экспоненциальные окрестности - student2.ru . Процесс останавливается в локальном минимуме со значением выше уровня воды. Общая схема алгоритма не сильно отличается от имитации отжига, но приводит к качественно другой картине.

Алгоритм GD

1. Выбрать начальное решение Экспоненциальные окрестности - student2.ru и положить Экспоненциальные окрестности - student2.ru определить начальный порог Экспоненциальные окрестности - student2.ru и скорость его падения Экспоненциальные окрестности - student2.ru

2. Повторять, пока не выполнен критерий остановки.

2.1. Выбрать решение Экспоненциальные окрестности - student2.ru Î Экспоненциальные окрестности - student2.ru случайным образом.

2.2. Вычислить Экспоненциальные окрестности - student2.ru

2.3. Если Экспоненциальные окрестности - student2.ru , то Экспоненциальные окрестности - student2.ru иначе если Экспоненциальные окрестности - student2.ru , то Экспоненциальные окрестности - student2.ru .

2.4. Если Экспоненциальные окрестности - student2.ru , то Экспоненциальные окрестности - student2.ru .

2.5. Понизить порог: Экспоненциальные окрестности - student2.ru .

3. Предъявить наилучшее найденное решение Экспоненциальные окрестности - student2.ru

На рис. 5.21 показано типичное поведение алгоритма. Падение порога на каждой итерации вынуждает искать направления спуска. Как рыба, которая не хочет оказаться на суше, мы ищем все более и более глубокие места. Заметим, что для реализации алгоритма достаточно уметь вычислять значение целевой функции и определять окрестность. Параметры Экспоненциальные окрестности - student2.ru и Экспоненциальные окрестности - student2.ru легко настраиваются под специфику задачи, что открывает широкий простор для приложений.

Экспоненциальные окрестности - student2.ru
Итерации
Экспоненциальные окрестности - student2.ru

Рисунок-5.21. Поведение алгоритма GD

Поиск с запретами

Основоположником алгоритма поиска с запретами является Ф. Гловер, который в 1986 г. предложил принципиально новую схему локального поиска [34]. Она позволяет алгоритму не останавливаться в точке локального оптимума, как это предписано в стандартном алгоритме локального улучшения, а путешествовать от одного оптимума к другому, в надежде найти среди них глобальный оптимум. Основным механизмом, позволяющим алгоритму выбираться из локального оптимума, является список запретов Экспоненциальные окрестности - student2.ru Он строится по предыстории поиска, то есть по нескольким последним решениям, Экспоненциальные окрестности - student2.ru и запрещает часть окрестности текущего решения Экспоненциальные окрестности - student2.ru Точнее, на каждом шаге алгоритма новое решение Экспоненциальные окрестности - student2.ru является оптимальным решением подзадачи Экспоненциальные окрестности - student2.ru

Список запретов учитывает специфику задачи и, как правило, запрещает использование тех «фрагментов» решения (ребер графа, координат вектора, цвета вершин), которые менялись на последних Экспоненциальные окрестности - student2.ru шагах алгоритма. Константа Экспоненциальные окрестности - student2.ru определяет его память. При «короткой памяти» Экспоненциальные окрестности - student2.ru получаем стандартный алгоритм локального улучшения.

Существует много вариантов реализации этой идеи. Приведем один из них, для которого удается установить асимптотические свойства. Рассмотрим рандомизированную окрестность Экспоненциальные окрестности - student2.ru . Каждый элемент окрестности Экспоненциальные окрестности - student2.ru включается в множество Экспоненциальные окрестности - student2.ru с вероятностью Экспоненциальные окрестности - student2.ru независимо от других элементов. С ненулевой вероятностью множество Экспоненциальные окрестности - student2.ru может совпадать с Экспоненциальные окрестности - student2.ru , может оказаться пустым или содержать ровно один элемент. Общая схема алгоритма поиска с запретами может быть представлена следующим образом.

Алгоритм TS

1. Выбрать начальное решение Экспоненциальные окрестности - student2.ru и положить Экспоненциальные окрестности - student2.ru

2. Повторять, пока не выполнен критерий остановки.

2.1. Сформировать окрестность Экспоненциальные окрестности - student2.ru

2.2. Если Экспоненциальные окрестности - student2.ru , то найти такое решение Экспоненциальные окрестности - student2.ru , что Экспоненциальные окрестности - student2.ru

Экспоненциальные окрестности - student2.ru

2.3. Если Экспоненциальные окрестности - student2.ru , то Экспоненциальные окрестности - student2.ru и Экспоненциальные окрестности - student2.ru .

2.4. Положить Экспоненциальные окрестности - student2.ru и обновить список запретов.

3. Предъявить наилучшее найденное решение Экспоненциальные окрестности - student2.ru

Параметры Экспоненциальные окрестности - student2.ru и Экспоненциальные окрестности - student2.ru являются управляющими для данного алгоритма. Выбор их значений зависит от размерности задачи и мощности окрестности. Примеры адаптации этой схемы к разным задачам комбинаторной оптимизации можно найти, например, в [23].

Пусть Экспоненциальные окрестности - student2.ru . Тогда алгоритм TS порождает конечную однородную цепь Маркова. Можно показать, что в этом случае переходные вероятности Экспоненциальные окрестности - student2.ru определяются равенством Экспоненциальные окрестности - student2.ru где Экспоненциальные окрестности - student2.ru означает k-й минимальный элемент множества. Если граф окрестностей Экспоненциальные окрестности - student2.ru строго связен, то для такой цепи Маркова существует единственное стационарное распределение, и вероятность не найти глобальный оптимум стремится к нулю со скоростью геометрической прогрессии. Заметим, что для стационарного распределения не получено точной формулы, как это удалось сделать для алгоритма имитации отжига. Утверждается только существование и единственность такого распределения. При малых размерностях его можно получить численно из соотношений Экспоненциальные окрестности - student2.ru Экспоненциальные окрестности - student2.ru

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

Пусть Экспоненциальные окрестности - student2.ru . В этом случае последовательность решений уже не является цепью Маркова, т. к. выбор следующего решения зависит от предыстории. Однако, если рассмотреть множество кортежей Экспоненциальные окрестности - student2.ru длины Экспоненциальные окрестности - student2.ru , то такая последовательность, порождаемая алгоритмом, уже будет конечной однородной цепью Маркова. Матрица переходных вероятностей имеет теперь значительно большую размерность, но ее элементы будут определяться по сути теми же формулами, что и раньше.

Список запретов оказывает существенное влияние на поведение алгоритма. В частности, если на некотором шаге все соседние решения оказываются под запретом, то процесс поиска прекращается. Таким образом, даже свойство строгой связности графа Экспоненциальные окрестности - student2.ru не гарантирует желаемого асимптотического поведения. Тем не менее, при определенных условиях на длину этого списка удается обеспечить сходимость по вероятности наилучшего найденного решения к глобальному оптимуму.

На рис. 5.22 показано типичное поведение алгоритма TS. На первых итерациях он ведет себя как стандартный алгоритм локального улучшения. Получив первый локальный минимум, алгоритм вынужден выполнить несколько шагов с ухудшением, после чего снова открывается путь к новым локальным оптимумам. Рандомизация окрестности привносит определенное разнообразие в процесс поиска и предотвращает зацикливание. Более того, она позволяет сократить трудоемкость одного шага алгоритма и часто повышает вероятность нахождения глобального оптимума за предписанное число итераций. Чем сложнее и запутаннее пример, тем меньшую долю окрестности следует просматривать. Как правило, значения параметра Экспоненциальные окрестности - student2.ru в интервале от 0.2 до 0.3 приводят к хорошим результатам даже при небольшом числе итераций.

Экспоненциальные окрестности - student2.ru
Итерации
Экспоненциальные окрестности - student2.ru

Рисунок-5.22. Поведение алгоритма TS

Наши рекомендации