- •Методологические основы моделирования (Миша)
- •Общая классификация основных видов моделирования (Миша)
- •Процедурно-технологическая схема построения и исследования моделей сложных систем (Аня)
- •Отличительные особенности моделей различных классов (Аня)
- •Области применения имитационного моделирования (Люба)
- •Сущность метода имитационного моделирования (Люба)
- •Статическое и динамическое представление моделируемой системы (Виля)
- •Управление модельным временем (Виля)
- •Проблемы стратегического и тактического планирования имитац.Эксп. (Гриша)
- •Общая технологическая схема имитационного моделирования (Гриша)
- •Базовые концепции структуризации и формализации имитационных систем (Леша)
- •Методологические подходы к построению дискретных имитационных моделей (Леша)
- •Язык моделирования gpss (Макс)
- •Сети Петри и их расширения (Макс)
- •Основы технологии имитационного моделирования (Киря)
- •Описание поведения системы (надо убрать воду и проверить формулы) (Киря)
- •Моделирование асинхронных процессов (Даша)
- •Обзор алгоритмов оптимизации (Даша)
- •Глобальная оптимизация (Дима)
- •Классификация алгоритмов оптимизации (Дима)
- •Скорость и точность оптимизации (Антон)
- •Метод Дельфи (Антон)
- •Метод Анализа Иерархий (маи) (Серега)
- •Анкетирование (Серега)
- •Экспертные оценки (Катя)
- •Обработка экспертных оценок (Катя)
- •Метод непосредственного оценивания (Вова)
- •Метод ранжирования (Саша)
- •Основные понятия га (Егор)
- •Стратегии отбора для га (Егор)
- •Модели га (Паша)
- •Применение алгоритмов, инспирированных природными явлениями, для решения задач оптимизации (Паша)
- •Алгоритм имитации отжига (Настя)
- •Алгоритм роя частиц (Настя)
- •Алгоритм муравьиной колонии (Миша)
- •Пчелиные алгоритмы (Люба)
- •Моделирование перемещения бактерий (Виля)
- •Алгоритм культурного обмена (Леша)
- •Алгоритм подъема (Киря)
- •Алгоритм поиска с запретами (Дима)
- •Меметический алгоритм (Антон)
- •Алгоритм поиска гармонии (Серега)
- •Отбор объектов в пространстве признаков. Метод Парето (Катя)
- •Применение интерактивного подхода к решению опт. Задач (Саша)
- •Типовые задачи многокритериальной оптимизации (Паша)
Алгоритм поиска с запретами (Дима)
Алгоритм подъёма очень прост алгоритмически и может быть реализован буквально в нескольких строках на любом высокоуровневом языке. Он практически не требует для работы памяти и хорошо подходит для оптимизации «на лету». С учётом сравнительно неплохих показателей эффективности алгоритм подъёма — это идеальный первый выбор при решении несложных задач оптимизации.
Результатом простоты алгоритма, однако, являются его очевидные недостатки, главный из которых — преждевременная сходимость. Алгоритм подъёма очень легко «застревает» в субоптимальных решениях, вследствие чего его можно рассматривать только как быстрый алгоритм локального поиска, но не как метод глобальной оптимизации. Поиск с запретами (Tabu Search), предложенный Фредом Гловером (Fred Glover) в 1986 г. [3], можно считать модификацией алгоритма подъёма, в некоторой степени свободной от этой проблемы.
Как и алгоритм подъёма, алгоритм поиска с запретами является метаэври- стическим алгоритмом Монте-Карло. Основана на использовании информации только о полученных ранее результатах, без учёта каких-либо характеристик поискового пространства и других особенностей задачи. Это уменьшает его эффективность по сравнению со специализированными алгоритмами, однако благодаря этому метод поиска с запретами может быть использован для решения достаточно широкого круга задач, так как позволяет работать с анализируемой системой как с «чёрным ящиком».
Стратегия поиска, положенная в основу рассматриваемого метода, довольно проста. Как и алгоритм подъёма, алгоритм поиска с запретами двигается по пространству решений от точки к точке. Из каждой точки он переходит в наиболее удачную из его окрестности, т. е. из множества точек, которые могут быть получены применением операции мутации к исходной.
Избежать «застревания» в локальных оптимумах удается благодаря тому, что переходы в уже посещенные точки запрещены, т. е. являются «табу». Такое ограничение гарантирует, что алгоритм не зациклится в окрестностях некоторого субоптимального решения, а продолжит исследование пространства поиска. С точки зрения искусственного интеллекта, такое поведение является естественным: отклонение от уже проверенной стратегии поведения, иногда рассматриваемое как ошибка, может привести к получению лучшего результата. Этот механизм является крайне важным - даже фундаментальным - для человека, он представляет собой не что иное, как «изобретательность» и «находчивость».
На каждом шаге работы алгоритм поиска с запретами исследует окрест- . ности текущей точки и выбирает из возможных вариантов для перехода наилучший. Однако, если выбранная точка уже посещалась и находится в списке запретов, алгоритм переходит в наиболее удачную из точек, не включенных в этот список. Перейдя к новому решению, алгоритм заносит предыдущее в список запретов. Список запретов должен хранить пройденные алгоритмом решения, чтобы избежать их повторного посещения. Однако хранить все пройденные точки, естественно, неразумно, а во многих случаях - невозможно. Проще всего решить эту проблему с помощью циклического списка: после накопления порогового числа элементов в списке при добавлении каждого нового элемента из него удаляется первый элемент. Таким образом, список всегда хранит некоторое количество последних посещённых решений.
Простейшим вариантом выбора критерия останова является использование ограничения на число итераций алгоритма. Кроме того, может быть ограничено число итераций без улучшения значения целевой функции либо оста-
новка может происходить при достижении этим значением определённого - заданного заранее - уровня. В более сложных схемах используют комбинацию всех трёх критериев.
Алгоритм поиска с запретами является метаэвристическим, поэтому область его применения крайне широка. К ней относится, в первую очередь, комбинаторная оптимизация. Кроме того, алгоритм применяется в сфере машинного обучения, сетевых технологий и телекоммуникаций, в биохимии, исследовании операций и др. В последние годы наблюдается увеличение числа публикаций, посвящённых применению алгоритма в непривычных для него сферах, например в непрерывных областях, стохастическом программировании и многокритериальной оптимизации.
С учетом алгоритмической простоты метод поиска с запретами является крайне успешным подходом. Он широко применяется для решения сложных комбинаторных проблем. Главной сложностью при его использовании является необходимость детальной информации о предметной области задачи: для применения алгоритма требуется знать характеристики поискового пространства, а также правильно выбрать способ определения окрестностей точки в нём.
