Применение муравьиных алгоритмов при решении задач оптимизации

Автор работы: Пользователь скрыл имя, 26 Февраля 2011 в 12:33, курсовая работа

Описание работы

Актуальность работы. В последние годы интенсивно разрабатывается научное направление с названием «Природные вычисления» (Natural Computing), объединяющее математические методы, в которых заложены принципы природных механизмов принятия решений. Эти механизмы обеспечивают эффективную адаптацию флоры и фауны к окружающей среде на протяжении нескольких миллионов лет.

Содержание работы

Введение..................................................................................................................3
Глава 1. Муравьиные алгоритмы.
1. Биологические принципы поведения муравьиной колонии.................5
2. Истории создания муравьиных алгоритмов...........................................7
3. Концепция муравьиных алгоритмов.................................. …………....9
4. Обобщённый алгоритм............................................... ...........................11
5. Этапы решения задачи при помощи муравьиных алгоритмов...........13
6. Достоинства и недостатки муравьиных алгоритмов...........................14
6.1. Достоинства:.........................................................................................14
6.2. Недостатки:...........................................................................................14
Глава 2. Применение муравьиных алгоритмов при решении задач оптимизации.
1.1. Применение муравьиных алгоритмов для задачи
коммивояжёра..............................................................................................16
1.2. Муравьиный алгоритм для задачи коммивояжёра в псевдокоде..............................................................................................................25
2.1. Задача оптимального распределения файлов в компьютерной сети……………………………………………………………………….…...28
2.2 Муравьиный алгоритм для задачи распределения файлов
в компьютерной сети в псевдокоде…………………………..…………29
Заключение………………...................................................................................32
Список использованной литературы...................................................................33

Файлы: 1 файл

Муравейник все.doc

— 612.00 Кб (Скачать файл)

 

      4. Обобщённый алгоритм

         Любой муравьиный алгоритм, независимо от модификаций, представим в следующем виде

     • Пока (условия выхода не выполнены)

     1. Создаём муравьёв

     2. Ищем решения 

     3. Обновляем феромон 

     4. Дополнительные действия {опционально} 

         Теперь рассмотрим каждый шаг в цикле более подробно

  1. Создаём муравьёв

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

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

     2. Ищем решения 

         Вероятность перехода из вершины i в вершину j определяется по следующей формуле

       Где – уровень феромона, – эвристическое расстояние, а α, β,– константные параметры.

        При α = 0 выбор ближайшего города наиболее вероятен, то есть алгоритм становится жадным. При  β = 0 выбор происходит только на основании феромона, что приводит к субоптимальным решениям.

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

     3. Обновляем феромон 

Уровень феромона обновляется в соответствии с приведённой формулой

     Где   ρ– интенсивность испарения,   Lk(t )– цена текущего решения для k-ого муравья, а Q – параметр, имеющий значение порядка цены оптимального решения, то есть – феромон, откладываемый k-ым муравьём, использующим ребро (i,j).

     4. Дополнительные действия 

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

     5. Этапы решения задачи при помощи муравьиных алгоритмов

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

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

     2. Определить значение следа феромона.

     3. Определить эвристику поведения муравья, когда строим решение .

     4. Если возможно, то реализовать  эффективный локальный поиск.

     5. Выбрать специфический ACO алгоритм  и применить для решения задачи.

     6. Настроить параметр ACO алгоритма.

     Также определяющими являются

         • Количество муравьёв

         • Баланс между изучением  и использованием

         • Сочетание с  жадными эвристиками или локальным  поиском 

         • Момент, когда обновляется  феромон [4] 
 
 
 
 
 
 

     6. Достоинства и недостатки муравьиных алгоритмов

     6.1. Достоинства:

  • Для TSP (Traveling Salesman Problem) сравнительно эффективны
  • Для небольшого количества узлов TSP может быть решена полным перебором
  • Для большого количества узлов TSP вычислительно сложна (NP-трудная) – экспоненциальное время сходимости
  • Работают лучше, чем другие глобальные оптимизации для TSP (нейронные сети, генетические алгоритмы)
      • Сравнение с GAs (Genetic Algorithms):
      • Опираются на память обо всей колонии вместо памяти только о предыдущем поколении
      • Меньше подвержены неоптимальным начальным решениям (из-за случайного выбора пути и памяти колонии)
 

     6.2. Недостатки:

      • Теоретический анализ затруднён:
    1. В результате последовательности случайных (не независимых) решений
    2. Распределение вероятностей меняется при итерациях
    3. Исследование больше экспериментальное, нежели теоретическое
      • Сходимость гарантируется, но время сходимости не определено
      • Обычно необходимо применение дополнительных методов таких, как локальный поиск
      • Сильно зависят от настроечных параметров, которые подбираются только исходя из экспериментов [1]

 

     

     Глава 2. Применение муравьиных алгоритмов при решении задач оптимизации.

     1.1.Применение муравьиных алгоритмов для задачи коммивояжёра.

        Задача формулируется как задача поиска минимального по стоимости замкнутого маршрута по всем вершинам без повторений на полном взвешенном графе с n вершинами. Содержательно вершины графа являются

городами, которые должен посетить коммивояжёр, а веса рёбер отражают расстояния (длины) или стоимости проезда. Эта  задача является NP-трудной, и точный переборный алгоритм её решения имеет факториальную сложность.

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

        Теперь с учётом особенностей задачи коммивояжёра, мы можем описать локальные правила поведения муравьёв при выборе пути.

     1. Муравьи имеют собственную «память». Поскольку каждый город может  быть посещён только один раз,  то у каждого муравья есть  список уже посещённых городов – список запретов. Обозначим через  J i,k список городов, которые необходимо посетить муравью k, находящемуся в городе i.

              2. Муравьи обладают «зрением» – видимость есть эвристическое желание посетить город j, если муравей находится в городе i. Будем считать, что видимость обратно пропорциональна расстоянию между городами

     

     3. Муравьи обладают «обонянием» – они могут улавливать след

феромона, подтверждающий желание посетить город  j из города i на основании опыта других муравьёв. Количество феромона на ребре (i,j) в

момент  времени t обозначим через 

   На этом основании мы можем сформулировать вероятностно-пропорциональное правило, определяющее вероятность перехода k-ого муравья из города i в город j:

                (1)

      

       Где α, β – параметры, задающие веса следа феромона. При α =0 алгоритм вырождается до жадного алгоритма (будет выбран ближайший город). Заметим, что выбор города является вероятностным, правило (1) лишь определяет ширину зоны города j; в общую зону всех городов бросается случайное число, которое и определяет выбор муравья. Правило (1) не изменяется в ходе алгоритма, но у двух разных муравьёв значение вероятности перехода будут отличаться, т.к. они имеют разный список разрешённых городов.

     5. Пройдя ребро (i,j), муравей откладывает на нём некоторое количество феромона, которое должно быть связано с оптимальностью сделанного выбора. Пусть Tk (t) есть маршрут, пройденный муравьём k к моменту времени t, Lk(t) – длина этого маршрута, а Q – параметр, имеющий значение порядка длины оптимального пути. Тогда откладываемое количество феромона может быть задано в виде

     

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

     

 (2)

     где m – количество муравьёв в колонии.

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

     Дополнительная  модификация алгоритма может  состоять в ведении так называемых «элитных» муравьёв, которые усиливают рёбра наилучшего маршрута, найденного с начала работы алгоритма. Обозначим через T* наилучший текущий маршрут, через L* – его длину. Тогда если в колонии есть e элитных муравьёв, то рёбра маршрута получат дополнительное количество феромона

     

   (3) 
 
 
 
 
 

     Реализация  муравьиного алгоритма  на примере 

     задачи  коммивояжера.

     Постановка  задачи. Задан взвешенный граф  G1 (рис.1). Найти длину пути муравья в задаче коммивояжера. Начальная вершина 1. Дана последовательность Р = 65,61,35 случайных чисел, выпавших при выборе очередной вершины. Расстояния  , между вершинами k,j и интенсивность феромона    на ребре [k,j] заданы таблицы

 
Ребро
           
     1-2

     1-3

     1-4

     1-5

     2-3

     2-4

     2-5

     3-4

     3-5

     4-5

     38

     74

     59

     45

     46

     61

     72

     49

     85

     42

     3

     2

     2

     2

     1

     1

     1

     2

     2

     1

 
 
 

Решение

     Секторы вероятности перехода сортировать  по возрастанию номеров вершин . использовать формулу вероятности  перехода  из вершины k в j.

     

     где  α=1, β=1,  =1/

Информация о работе Применение муравьиных алгоритмов при решении задач оптимизации