Метод АСО для решения задач оптимизации

Разработка Natural Computing - научного направления, объединяющего математические и компьютерные методы с работой естественной системы флоры и фауны. Создание и применение алгоритма муравьиной колонии в задаче поиска пути в графе при наличии ограничений.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 20.09.2018
Размер файла 57,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МЕТОД АСО ДЛЯ РЕШЕНИЯ ЗАДАЧ ОПТИМИЗАЦИИ

Акименко Ангелина Сергеевна - студент,

кафедра информационных технологий, строительный факультет, Санкт-Петербургский государственный архитектурно-строительный университет, г. Санкт-Петербург

Аннотация

На сегодняшний день активно разрабатываются методы, включающие в себя природные механизмы. Natural Computing - «Природные вычисления» - научное направление, объединяющее математические и компьютерные методы с работой естественной системы флоры и фауны. Данное направление помогает найти наилучшее решение при работе со сложными оптимизационными задачами. Одним из таких методов является Ant Colony Algorithms - муравьиные алгоритмы, которые пользуются большой популярностью среди ученых всего мира и входят в класс «роевого интеллекта». Данные алгоритмы способствуют решению множества сложных комбинаторных задач, таких как: задача коммивояжёра, транспортные задачи, задачи полихромии графов, задачи о назначениях, распределениях и других.

Ключевые слова: муравьиный алгоритм, этапы муравьиного алгоритма, задача коммивояжера.

Abstract

THE ACO METHOD FOR THE SOLUTION OF PROBLEMS OF OPTIMIZATION

Akimenko Angelina Sergeevna - Student,

DEPARTMENT OF INFORMATION TECHNOLOGIES, CONSTRUCTION FACULTY,

SAINT-PETERSBURG STATE UNIVERSITY OF ARCHITECTURE AND CIVIL ENGINEERING, SAINT-PETERSBURG

Today the methods that include natural mechanisms are actively developed. Natural Computing - "Natural calculations" - the scientific direction uniting mathematical and computer methods with work of natural system of flora and fauna. This direction helps to find the best solution during the work with difficult optimizing tasks. One of such methods is Ant Colony Algorithms - ant algorithms which enjoy wide popularity among scientists of the whole world and enter a class of "swarm intelligence". These algorithms promote the solution of a set of difficult combinatory tasks, such as: the commercial traveler task, transport tasks, graph polychromy problems, tasks about appointments, distributions and others. Keywords: ant algorithm, stages of an ant algorithm, commercial traveler task.

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

Моделируя подобный процесс на графе, ребра которого будут являться различными маршрутами на пути к цели для прохождения муравьев, получим наиболее концентрированный путь [2]. Именно он станет решением для задачи, полученным методом муравьиных колоний.

Муравьиный алгоритм включает следующие основные этапы [3]:

1. Задаем начальный уровень феромона, который должен будет находиться на пути.

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

3. Для определения маршрута движения, по формуле (1) рассчитываем вероятность перехода из i-ой точки в j-ую:

(1)

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

4. Чтобы получить новую информацию о количестве феромона на пути, пройденного агентом, используем формулу (2):

, (2)

где с - сила испарения, Q/Lk(t) - феромон, откладываемый k-м муравьем.

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

Для реализации метода рассмотрим задачу коммивояжера для n городов, составленную в среде MATLAB [4]. Программа осуществляет процедуру поиска кратчайшего пути и использует основные принципы, какие использует муравьи при поиске пищи. Роль муравьев выполняют агенты, несущие в себе информацию о состоянии пройденных каналов. На своем пути муравей оставляет феромоновый след, который существует в окружающей среде некоторое время, а затем исчезает. Следовательно, муравьи со временем будут использовать путь, на котором большее количество феромона. Через некоторый промежуток времени агенты будут следовать по одному оптимальному пути.

К тому же, возможно задание таких параметров, как: б, в - регулируемые параметры, определяющие вес ребра и уровень феромонов при выборе пути (при б = 0 алгоритм вырождается в жадный, т.к. выбор ближайшей вершины производится без учёта количества феромона, при в = 0 выбор основывается только на величине феромона, не учитывается длина пути); с - параметр, контролирующий интенсивность испарения феромона и позволяющий избегать бесконечного накапливания феромонов на рёбрах, чтобы алгоритм не «забывал» полученные до этого плохие решения; Q - константа, искусственно добавляющая феромон.

Проведем эксперимент, посмотрим, как будет меняться время для поиска оптимального пути муравьям, при изменении параметра, отвечающего за испарение феромона (см. Таблица 1). Значения б, в, Q не изменялись, им присвоены значения 1, 1 и 10 соответственно.

Таблица 1. Исследование на поиск оптимального пути

№ итерации

Длина пути (при ?=0,2)

Длина пути (при ?=0,4)

Длина пути (при ?=0,6)

Длина пути (при ?=0,8)

Длина пути (при ?=1)

1

284

285

281

283

288

2

283

282

270

282

-

3

282

282

270

271

-

4

282

282

270

274

-

5

282

282

274

-

-

6

282

274

-

-

-

7

274

-

-

-

-

математический компьютерный алгоритм задача

Исходя из данных таблицы (Таблица 1), можно сделать вывод, что при малом испарении феромона, время поиска оптимального пути проходит дольше и за большее число итераций соответственно, чем при значениях выше. Но при максимальном значении, агенты проходят один круг и не более, так как феромон испаряется за круг прохода, муравьи будут проходить тот же путь, но он не оптимальный. Наилучший путь в данном исследовании равен 274 (Рисунок 1).

Рис. 1. Оптимальный путь

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

Список литературы

1. Кажаров А.А. Использование шаблонных решений в муравьиных алгоритмах. / А.А. Кажаров, В.М. Курейчик // Известия Южного федерального университета. Технические науки, 2013. № 7 (144). С. 17-22.

2. Ватутин Э.И. Анализ результатов применения алгоритма муравьиной колонии в задаче поиска пути в графе при наличии ограничений / Э.И. Ватутин, В.С. Титов // Известия Южного федерального университета. Технические науки, 2014. № 12 (161). С. 111-120.

3. Ватутин Э.И. Об одном подходе к использованию алгоритма муравьиной колонии при решении задач дискретной комбинаторной оптимизации / Э.И. Ватутин, В.С. Титов // Интеллектуальные и информационные системы (Интеллект 2015). Тула, 2015. С. 8-13.

4. Штовба С.Д. Муравьиные алгоритмы. Математика в приложениях / С.Д. Штовба // Exponenta Pro.

Размещено на Allbest.ru

...

Подобные документы

  • Разработка алгоритма реализации на ЭВМ процесса поиска кратчайшего пути в графе методом Дейкстры. Программная реализация алгоритма поиска кратчайшего пути между двумя любыми вершинами графа. Проверка работоспособности программы на тестовых примерах.

    реферат [929,8 K], добавлен 23.09.2013

  • Разработка модифицированных алгоритмов поиска оптимального маршрута в графе. Задание дополнительных условий и ограничений. Реализация модели для внутреннего представления транспортной сети. Создание программного комплекса в среде Visual Studio 2010.

    курсовая работа [1,1 M], добавлен 16.04.2015

  • Особенности задач линейного программирования. Симплексный метод решения задач линейного программирования. Обоснование выбора языка, инструментария программирования, перечень идентификаторов и блок-схема алгоритма. Логическая схема работы программы.

    дипломная работа [2,4 M], добавлен 13.08.2011

  • Оптимизация показателей эффективности функционирования технологического контура системы управления космическим аппаратом, исследование свойств его показателей. Настройка нейронной сети, гибридизация генетического алгоритма с алгоритмами локального поиска.

    дипломная работа [4,5 M], добавлен 02.06.2011

  • Разработка программного продукта для поиска максимально удалённых вершин в графе. Характеристика ориентированного, смешанного и изоморфного графов. Обзор способов представления графа в информатике. Алгоритм поиска пути. Графический интерфейс программы.

    курсовая работа [384,0 K], добавлен 10.01.2015

  • Программирование численных методов одномерной оптимизации. Решение одномерных задач оптимизации методами последовательного поиска. Градиентные методы и их применение для оптимизации на ЭВМ математических моделей объектов. Методы нулевого порядка.

    контрольная работа [257,9 K], добавлен 15.01.2009

  • Математические основы оптимизации. Постановка задачи оптимизации. Методы оптимизации. Решение задачи классическим симплекс методом. Графический метод. Решение задач с помощью Excel. Коэффициенты целевой функции. Линейное программирование, метод, задачи.

    реферат [157,5 K], добавлен 21.08.2008

  • Назначение и классификация методов поисковой оптимизации. Эффективность поискового метода. Методы поиска нулевого порядка: исходные данные, условия, недостатки и применение. Структура градиентного метода поиска. Основная идея метода наискорейшего спуска.

    лекция [137,8 K], добавлен 04.03.2009

  • Особенности и преимущества языка C#. Алгоритмы поиска маршрутов в графе. Разработка вычислительной системы транспортной логистики на языке C#. Выбор среды разработки, визуализация транспортной сети. Задание условий поиска и пример работы алгоритма.

    дипломная работа [457,1 K], добавлен 24.06.2015

  • Описание алгоритма сортировки с двоичным включением, выбор структур данных. Пример сортировки массива, отсортированного случайным образом. Алгоритм покрытия по методу "Построение одного кратчайшего покрытия". Волновой алгоритм поиска длиннейшего пути.

    курсовая работа [78,2 K], добавлен 24.09.2010

  • Разработка программы, находящей эйлеров путь в графе с количеством вершин n от 2 до 20. Входные и выходные данные. Алгоритм поиска эйлерова пути с возвратом массива, содержащего результат. Описание модулей. Проектирование тестов методами черного ящика.

    курсовая работа [89,9 K], добавлен 25.02.2012

  • Алгоритм сортировки Шейкер: математическое описание задачи и описание алгоритма. Алгоритм покрытия: построение одного кратчайшего покрытия. Описание схемы и работы алгоритма на графах: нахождение кратчайшего пути. Контрольные примеры работы алгоритмов.

    курсовая работа [43,8 K], добавлен 19.10.2010

  • Графы: определения, примеры, способы изображения. Смежные вершины и рёбра. Путь в ориентированном и взвешенном графе. Матрица смежности и иерархический список. Алгоритм Дейкстры - алгоритм поиска кратчайших путей в графе. Работа в программе "ProGraph".

    презентация [383,8 K], добавлен 27.03.2011

  • Последовательность выполнения оптимизации с помощью подходов: критерии различны по значимости; метод оптимума номинала и критерии равнозначны. Решение задачи симплекс-методом, построение таблиц. Уравнение равнозначности. Исходная система ограничений.

    контрольная работа [934,6 K], добавлен 23.01.2014

  • Построение и использование математических и алгоритмических моделей для решения линейных оптимизационных задач. Освоение основных приемов работы с инструментом "Поиск решения" среды Microsoft Excel. Ввод системы ограничений и условий оптимизации.

    лабораторная работа [354,7 K], добавлен 21.07.2012

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

    курсовая работа [684,8 K], добавлен 05.04.2015

  • Оптимизация решения задачи с помощью алгоритма отжига. Анализ теории оптимизации как целевой функции. Метод градиентного спуска. Переменные и описание алгоритма отжига. Представление задачи коммивояжера через граф. Сведение задачи к переменным и решение.

    курсовая работа [784,0 K], добавлен 21.05.2015

  • Исследование методов решения задачи о ходе коня. Описание алгоритмов для итеративной и рекурсивной программ. Генерация перестановок элементов по индексам. Построение эйлерова цикла на графе. Поиск кратчайшего пути на графе. Программная реализация задачи.

    курсовая работа [411,6 K], добавлен 25.04.2013

  • Математическая модель алгоритма с модификацией муравьиной колонии. Выбор аппаратных и программных средств для разработки программы. Особенность построения оптимального маршрута обхода пациентов. Характеристика тестирования и отладки данного проекта.

    дипломная работа [1,9 M], добавлен 17.11.2017

  • Расчет производства необходимого количества продукции для получения максимальной прибыли предприятия. Математическая модель для решения задач линейного программирования. Построение ограничений и целевых функций. Исследование чувствительности модели.

    задача [74,7 K], добавлен 21.08.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.