Применение муравьиных алгоритмов при решении задач оптимизации
Курсовая работа, 26 Февраля 2011, автор: пользователь скрыл имя
Описание работы
Актуальность работы. В последние годы интенсивно разрабатывается научное направление с названием «Природные вычисления» (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 Кб (Скачать файл)
Рис.1.
Представим решение в виде:
- В начале движения из вершины 1 муравей имеет четыре возможных пути: в вершину 2, 3, 4 или 5. Вычислим вероятности перехода в эти вершины
Вычисляем границы четырех секторов , j=2,3,4,5 вероятностей:
Таким образом, отрезок [0,100] разбился на четыре участка
Остается запустить генератор случайных чисел и узнать , куда попадает случайное число . В нашем случае генератор дает =65, что указывает на третий участок 57,5<65<75,89. Следовательно, муравей должен направиться к вершине 4.
- Из вершины 4 только три возможные пути: 4-2, 4-3, 4-5. Пройденная вершина 1 попадает в список запрещенных вершин.
Вероятности перехода в эти вершины
Вычисляем границы трех секторов , j=2,3,5 вероятностей:
Таким образом, отрезок [0,100] разбился на три участка
Случайное число =61, полученное генератором случайных чисел попадает на второй участок. Этот участок указывает на вершину 3. Далее муравей будет выбирать маршрут из этой вершины.
- При выходе из вершины 3 имеется только 2 возможности - направиться в вершину 2 или 5. Остальные вершины попадают в список запрещенных вершин. Оценим возможности перехода:
Таким образом, отрезок [0,100] разбился на два участка
Случайное число =35, полученное генератором случайных чисел указывает на вершину 2.
- В вершине 2 выбор делать не приходиться. Все вершины, кроме 5 попали в список запрещенных вершин, поэтому дальнейший путь муравья очевиден. Сначала он идет в вершину 5, а затем завершает маршрут в 1, там, откуда он и вышел. Общая длина маршрута 1-4-3-2-5-1 равна
1.2 Муравьиный алгоритм для задачи коммивояжёра в псевдокоде
1. Ввод матрицы расстояний D
2.
Инициализация параметров
3.
Инициализация рёбер –
4.
Размещение муравьёв в
5. Выбор начального кратчайшего маршрута и определение L*
//Основной цикл
6. Цикл по времени жизни колонии t=1, tmax
7. Цикл по всем муравьям k=1,m
8. Построить маршрут по правилу (1) и рассчитать длину
9. конец цикла по муравьям
10. Проверка всех на лучшее решение по сравнению с L*
11. В случае если решение лучше, обновить L* и T*
12. Цикл по всем рёбрам графа
13. Обновить следы феромона на ребре по правилам (2) и (3)
14. конец цикла по рёбрам
15. конец цикла по времени
16. Вывести кратчайший маршрут T* и его длину L*
Сложность данного алгоритма, как несложно заметить, зависит от времени жизни колонии (tmax), количества городов (n) и количества муравьёв в колонии (m).
Для исследования работы муравьиного алгоритма проведен вычислительный эксперимент. Предложенным алгоритмом решена задача коммивояжера. Количество городов и количество муравьев совпадают. Программа составлена в среде Delphi (Приложение 1).
Зададим начальные значения: количество городов, интенсивность феромона и стоимость маршрута.
После подсчета программа выводит
кратчайший путь 1-2-3-4-5, и длину пути равную
220. Интенсивность феромона на путях
после прохождения по ним муравьев
увеличилась.
В
ходе вычислительного эксперимента
были сравнены решения данной задачи
с помощью муравьиного и генетического
алгоритмов. В результате пришли к
выводу что, что вычисление муравьиным
алгоритмом происходит быстрее.
| Опыт 1 | Опыт 2 | Опыт 3 | |
| Муравьиный алгоритм | 1,600мс | 1,550мс | 1,750мс |
| Генетический алгоритм | 4,300мс | 3,100мс | 4,700мс |
- 1. Задача оптимального распределения файлов
в компьютерной сети.
В данной главе решается задача уменьшения времени отклика компьютерной сети за счет оптимизации размещения файлов распределенной системы. Для решения задачи предлагается алгоритм, относящийся к классу алгоритмов муравьиной колонии. [16]
Обозначим: - количество запросов к файлу i из узла j в единицу времени; , если файл i расположен в узле j, иначе ; - объем файла i; - объем узла j, i=1...m, j=1…n.
В задаче (1)-(3) необходимо найти матрицу размещений файлов X. В задаче максимизируется суммарный поток локальных запросов. Задача размещения файлов по узлам компьютерной сети имеет вид:
Целевая функция
(1)
Ограничения:
(2)
2.2
Муравьиный алгоритм
для задачи распределения
файлов в компьютерной
сети в псевдокоде.
1.Присвоить переменной record первоначальное (небольшое) значение;
2.Присвоить переменной t значение 1;
3. While Do
Begin
For i:=1 to m do
Begin
а). Сформировать вектор P(n) вероятностей размещения i-го файла в j-й узел.
б). Сгенерировать случайную величину g, распределенную по закону P(n);
в). Если и условие (3) выполняется,
то назначить i-й файл в j-й узел,
иначе - сгенерировать новое значение случайной величины g.
End;
г).Вычислить значение целевой функции по формуле (1) и присвоить его
переменной c_f;
д) Если c_f > record,
е) то
Begin
ж) Присвоить переменной record значение переменной c_f и сохранить рекордное решение;
End;
з) Присвоить переменной t значение t+1;
End;
4. Вывести наилучшее решение и завершить алгоритм.
Пусть - количество феромона, накопленное очередным муравьем на маршруте j, – коэффициент испарения феромона, , – первоначальный уровень феромона, , - уровень феромона на маршруте j. Вероятность размещения файла в узел j вычисляется по формуле:
При выборе узла p для размещения файла происходит увеличение значения : , значение переменной d должно быть одного порядка с оптимальным значением целевой функции. При переходе к очередной итерации алгоритма уровень феромона накапливается:
Для
исследования работы муравьиного алгоритма
проведен вычислительный эксперимент.
Предложенным алгоритмом и методом
полного перебора решена задача распределения
m файлов среди n узлов сети, m=5, n=3. Объемы
файлов - случайные числа. Программа составлена
в среде Delphi (Приложение 2).
Заключение
Муравьиные алгоритмы могут быть успешно применены для решения сложных задач оптимизации. Основная идея, лежащая в основе алгоритмов муравьиной колонии, заключается в использовании механизма положительной обратной связи, который помогает найти наилучшее приближенное решение в сложных задачах оптимизации. То есть, если в данном узле муравей должен выбрать между различными вариантами и если фактически выбранные результаты будут хорошими, то в будущем такой выбор будет более желателен, чем предыдущий. Этот подход является многообещающим из-за его общности и эффективности в обнаружении очень хороших решений сложных проблем.
В данной дипломной работе приведены
теоретические основы муравьиных алгоритмов
оптимизации, проанализированы применения
муравьиных алгоритмов, описаны решения
муравьиными алгоритмами задачи коммивояжера
и задачи оптимального распределения
файлов в компьютерной сети. Решения задач
были реализованы в среде программирования
Delphi. Приведен сравнительный анализ
результатов решения задачи коммивояжера
с помощью муравьиного и генетических
алгоритмов. В ходе эксперимента было
выявлено, что вычисление с помощью муравьиного
алгоритма происходит быстрее.
Список использованной литературы:
- Штовба С. Д. Муравьиные алгоритмы. Математика в приложениях, 2003, №4, стр. 70-75.
- МакКоннелл Дж. Основы современных алгоритмов. – М.: Техносфера, 2004. – 368 с.
- Столлингс В. Современные компьютерные сети. 2-е изд. - СПб: Питер, 2003. - 783с.
- Муравьиный алгоритм. Статья Чуракова Михаила, Якушева Андрея, 2006
- Планирование и оптимизация. Статья Ильи Маляренко Источник: Корпоративные системы PC WEEK/RE №27 25 июля, 2006
- Кузьменко В.М., Таран С.В. Анализ современных методов искусственного интеллекта . Источник: ВІСНИК Донбаської державної машинобудівної академії № 1Е(6), 2006
- Thompson, Jonathan. Ant Colony Optimization.
- Delphi 5.0, учебный курс, Фараонов В.В., ISBN 5-8952-020-4, 400 с.
- Delphi 4.0, Дарахвелидзе П.Г., Марков Е. П. 1998, 816 с.
- Модификация муравьиного алгоритма и его применение к задаче коммивояжера. Статья Кажарова А.А.
- Кирсанов М.Н. Графы в Maple. Задачи, алгоритмы, программы.- М.: Издательство ФИЗМАТЛИТ, 2007
- Отбор информативных признаков на основе модифицированного метода муравьиных колоний. Статья Субботина С.А., Олейник А.А.
- Сравнение различных методов решения задачи коммивояжера на многопроцессорных системах. Статья Игнатьева А.Л.
- Об одном муравьином алгоритме. Статья Курейчик В.М.
- Гладков Л.А., Курейчик В.М., Курейчик В.В. Генетические алгоритмы. – Ростов-на-Дону: ООО «Ростиздат», 2004г.
- Гладков Л.А., Курейчик В.М., Курейчик В.В. Основы теории алгоритмов: Учебное пособие по курсу «Математическая логика и теория алгоритмов». – Таганрог: изд-во ТРТУ, 2002г.