- •6.1. Продолжительность симплекс-алгоритма
- •6.2. Размер экземпляра задачи лп
- •6.3. Задача эквивалентной допустимости
- •6.4. Начальные сведения о методе эллипсоида
- •6.5. Описание метода эллипсоида на интуитивном уровне
- •7.1. Алгоритм Хачияна
- •7.2. Обоснование метода эллипсоида
- •8.1. Терминология теории графов
- •8.2. Задача потока минимальной стоимости
- •8.3. Метод остовного дерева
- •8.4. Условия оптимальности
- •8.5. Стержневое правило для изменения базиса
- •8.6. Поиск начального допустимого решения
- •8.7. Целочисленность оптимальных решений
- •9.1. Транспортная задача
- •9.2. Табличная форма
- •9.3. Задача назначений
- •9.4. Лп-ослабления
- •9.5. Задача о максимальном потоке
- •10.1. Теорема максимального потока – минимального разреза
- •10.2. Управление проектом
- •10.3. Задача кратчайшего пути
- •10.4. Уравнение Беллмана
- •11.1. Алгоритм Беллмана-Форда
- •11.2. Алгоритм Дейкстры
- •11.3. Преформулировка с неотрицательным
- •11.4. Задача минимального остовного дерева (мод)
- •11.5. Жадный алгоритм Прима для задачи мод
- •12.1. Задача максимального разреза
- •12.2. Задача полуопределенного программирования
- •12.3. Игра «Симметричное рандеву»
- •12.4. Методы внутренней точки для лп и поп
- •13.1. Основы метода
- •13.2. Задача о ранце
- •13.3. Метод Дакина
- •14.1. Виды алгоритмов
- •14.2. Точные методы
- •14.3. Полиномиальная формулировка зк
- •14.4. Решение с помощью метода ветвей и границ
- •14.5. Приближенный алгоритм для задачи коммивояжера
- •15.1. Эвристики задачи коммивояжера
- •15.2. Метод ближайшего соседа
- •15.3. Метод ближайшего соседа для зк
- •15.4. Имитация отжига
- •15.5. Генетические алгоритмы
15.4. Имитация отжига
Этот
метод препятствует «застреванию» в
локальных минимумах, позволяя алгоритму
«выпрыгнуть» из них. Основная идея
заключается в том, что алгоритм начинает
с худших соседей, но постепенно, по мере
приближения к оптимуму, получить
разрешение на «прыжки» становится все
труднее. Метод имитации отжига позволяет
перейти от х
к
с вероятностью
,
где параметр Т вначале имеет достаточно большое значение, а затем уменьшается с каждой итерацией.
Можно показать, что, если начать с параметра Т достаточно большой величины и затем уменьшать его достаточно медленно, то
.
Предположим,
что все решения имеют k
соседей, и на каждом шаге алгоритма один
из этих соседей выбирается в случайном
порядке. Тогда x
движется рядом с соседом y
с вероятностью
.
Если «тонкий баланс»
соблюдается, то стационарное распределение
такой марковской цепи:
где
.
Пусть
будет множеством оптимальных решений.
Для этого стационарного распределения
так как
.
Обычно используется следующий закон
изменения температуры в зависимости
от числа итераций
.
15.5. Генетические алгоритмы
Генетические алгоритмы могут быть применены ко многим задачам. Они достаточно просты в реализации, но могут «застрять» в локальном оптимуме. Проиллюстрируем основные шаги использования генетического алгоритма для ЗК.
Создаем случайное исходное состояние. Это популяция циклов, каждый из которых является списком городов, аналогичный списку хромосом.
Оценка пригодности. Величина пригодности присваивается каждому решению, например, длине цикла.
Воспроизведение. Хромосомы с более высоким значением пригодности допускаются к воспроизведению потомства в первую очередь. Например, алгоритм «жадного скрещивания» (“greedy crossover”) выбирает первый город одного из родителей, сравнивает города, следующие за этим городом у обоих родителей, и выбирает ближайший, чтобы продлить цикл. Если город уже имеется в цикле, выбираем вместо него другой. Если оба города уже есть в цикле, случайным образом выбираем еще неиспользованные города.
Мутация. Случайным образом меняем пару городов.
