Решение задачи о назначениях на основе муравьиных алгоритмов

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

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

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

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

7

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

Технологический институт Южного федерального университета, Таганрог

Решение задачи о назначениях на основе муравьиных алгоритмов

А.А. Кажаров (persianland1987@gmail.com)

В.М. Курейчик (kur@tsure.ru)

Введение

В работе рассматривается решение задачи о назначениях на основе муравьиного алгоритма. Основная идея данного алгоритма - моделирование поведения колонии муравьев. Разработана программа, реализующая модифицированную модель муравьиного алгоритма. Приведены экспериментальные исследования. Эффективность разработанного метода подтверждена экспериментальными результатами. В работе рассматривается решение NP-трудной задачи о назначениях на основе муравьиных алгоритмов. Данный класс алгоритмов разрабатывался в рамках научного направления, которое можно назвать "природные вычисления" [Штовба, 2003]. Исследования в этой области начались в середине 90-х годов XX века, автором идеи является Марко Дориго из Университета Брюсселя, Бельгия [Bonavear et al., 1999], [Corne et al., 1999]. В основе этой идеи лежит моделирование поведения колонии муравьев.

В ходе проделанной работы была реализована и исследована математическая модель муравьиного алгоритма. В данной работе представлено нетривиальное применение муравьиного алгоритма, так как его классическое применение лежит в области транспортных задач: коммивояжера, маршрутизация автотранспорта и т.п. [Курейчик и др., 2008], [Курейчик и др., 2010], [Родников, 1995].

1. Постановка задачи о назначениях

Задача о назначениях - задача о наилучшем распределении некоторого числа работ между таким же числом исполнителей при условии взаимно однозначного соответствия между множествами работ и исполнителей [МакКоннелл, 2004]. При ее решении ищут оптимальное назначение из условия максимума общей производительности, которая равна сумме производительности исполнителей. Производительность каждого исполнителя при выполнении каждой из имеющихся работ задается заранее. Задача сводится к задаче линейного программирования. Задача о назначениях представляет собой частный случай транспортной задачи. Данная задача имеет много интерпретаций: распределение работ между механизмами, распределение целей между огневыми средствами для максимизации математического ожидания числа пораженных целей или среднего ущерба и т.д. [МакКоннелл, 2004 [, [Каляев и др., 2009].

В математической модели задача представляется в виде двудольного графа, разбитого на два подмножества вершин X и Y одинаковой мощности n и множеством ребер U, соединяющих вершины из разных подмножеств. Информация о графе хранится в матрице чисел Dij, где i, j 1, 2,…, n, представляющих собой стоимость выполнения j-й работы i-м исполнителем. Требуется найти перестановку ц из элементов множества X, такую, что значение ЦФ равно:

2. Общие положения муравьиного алгоритма

Как было сказано выше, основной идеей данного алгоритма является моделирование поведения муравьев, коллективной адаптации. Колония представляет собой систему с простыми правилами автономного поведения особей. Несмотря на примитивность поведения каждого отдельного муравья, поведение всей колонии оказывается достаточно разумным [МакКоннелл, 2004]. Таким образом, основой поведения муравьиной колонии служит низкоуровневое взаимодействие, благодаря которому, в целом, колония представляет собой разумную многоагентную систему. Взаимодействие осуществляется с помощью специального химического вещества - феромона, откладываемого муравьями на пройденном пути. При выборе направления движения муравей исходит не только из желания пройти кратчайший путь, но и из опыта других муравьев, информацию о котором получает непосредственно через уровень феромонов на каждом пути. Итак, концентрация феромона определяет желание особи выбрать тот или иной путь. Однако при таком подходе неизбежно попадание в локальный оптимум. Эта проблема решается благодаря испарению феромонов, которое является отрицательной обратной связью.

3. Муравьиный алгоритм для решения задачи о назначениях

Определим свойства муравья.

1) Каждый агент обладает собственной "памятью", в котором будет храниться список работ Jk, которые необходимо распределить муравью k.

2) Агенты обладают "зрением", обратно пропорциональным длине стоимости работы (длина ребра):

зij = 1/Dij.

3) Каждый агент способен улавливать след феромона, который будет определять желание агента пройти по данному ребру, т.е. выбрать соответствующее ребру назначение. Уровень феромона в момент времени t на ребре Dij будет соответствовать фij (t).

4) Вероятность перехода муравья из вершины i в вершину j будет определяться следующим соотношением [Bonavear et al., 1999]:

, (3.1)

где б, в - параметры, задающие веса следа феромона. Они определяют "жадность" муравья. При б=0 муравей стремиться выбирать кратчайшее ребро, при в=0 - ребро с наибольшим количеством феромона. Рекомендуемые значения, полученные на основе экспериментальных исследований, варьируют от 1 до 5. Нетрудно заметить, что выражение (3.1) имеет эффект "колеса рулетки". На Рис.1 показан пример распределения вероятностей: с вероятностью 28% 1-й исполнитель выберет 1 работу, 15% - 2-ую, 33% - 3-ю и 25% - 4-ю соответственно.

Рис.1. Распределение вероятностей выбора работы.

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

, (3.2)

где Q - параметр, имеющий значение порядка целевой функции оптимального назначения (задается ЛПР), Lk (t) - целевая функция Tk (t).

Испарение феромона определяется следующим выражением:

, (3.3)

где m - количество муравьев, p - коэффициент испарения (0 ? p ? 1), определяющий долю оставшихся феромонов после каждой итерации.

В простом муравьином алгоритме начальное расположение колонии муравьев определяется следующим образом. Количество муравьев равно числу вершин в графе, и каждому муравью соответствует некоторая вершина. Однако в данном алгоритме все агенты изначально находятся в вершине x1 (X - множество исполнителей). Размер колонии не ограничено в данной модели.

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

1. Ввод матрицы расстояний D.

2. Инициализация параметров алгоритма - б, в, Q.

3. Инициализация видимости зij и начальной концентрации феромона.

4. Размещение муравьев в вершину x1.

5. Выбор начального назначения и определение L*.

6. t = 0.

7. t=t+1.

8. k = 0.

9. k = k+1.

10. Реализовать назначения Tk (t) на основе выражения (1) и ЦФ Lk (t).

11. Если Lk (t) < L*, то L*= Lk (t), Т* = Tk (t).

12. Если k < m, то перейти к п.9.

13. Обновить следы феромона на всех ребрах на основе выражения (3.3).

14. Если t < T, то перейти к п.7.

15. Вывод назначений T* и его ЦФ L*.

Временная сложность данного алгоритма зависит от времени жизни колонии, количества вершин графа и числа муравьев - O (t*n2*m) [МакКоннелл, 2004].

4. Экспериментальные исследования

Экспериментальные исследования проводились на графах, размерность которых варьировала от 10 до 500. Все рассматриваемые графы являются полными двудольными.

Для проведения исследований была создана программа на ЭВМ, производительность которого 1,6 ГГц, а объем ОЗУ равен 768 Мб. В главном окне программы отображаются: начальная ЦФ, конечная ЦФ, улучшение относительно начального назначения, график зависимости ЦФ от времени и сами назначения в виде диаграммы.

На Рис.2-3 приведены полученные решения на различных графах.

Рис.2. Тест с 20 вершинами.

На рис.2-3 показаны назначения работ для исполнителей, как показано в таблице 1. Высота i-го столбца - стоимость выполнения данной работы i-ым исполнителем, номер работы подписан под столбцами.

Таблица 1.

Исполнитель

1

2

3

4

5

6

7

8

9

10

Работа

6

9

2

1

3

10

8

4

5

7

Оптимальные значения параметров алгоритма приведены ниже в таблице 2.

Таблица 2.

Коэффициент эвристики б

1

Коэффициент эвристики в

2-3

Коэффициент испарения

0-0.3

Размер колонии во всех тестах был равен 1000.

Рис.3. Тест с 80 вершинами.

Заключение

В ходе проделанной работы была создана программа на ЭВМ, реализующая описанную модель поведения муравьев. Муравьиный алгоритм показал себя адаптируемым к различным графовым задачам. "Хорошее" решение может быть найдено за короткое время. Для графов с размерностью до 500 вершин такое решение находится менее чем за 3 секунды. Экспериментальные результаты показали эффективность муравьиного алгоритма не только при решении транспортных задач, но и задачи о назначениях.

муравьиный алгоритм программа графовая задача

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

1. [Каляев и др., 2009] Каляев И.А., Гайдук А.Р., Капустян С.Г. Модели и алгоритмы коллективного управления в группах роботов. - М: ФИЗМАТЛИТ, 2009.

2. [Курейчик и др., 2008] Курейчик В.М., Кажаров А.А. О некоторых модификациях муравьиного алгоритма. // Известия ЮФУ. Технические науки. Тематический выпуск "Интеллектуальные САПР". - Таганрог: ТТИ ЮФУ, 2008, №4 (81).

3. [Курейчик и др., 2010] Курейчик В.М., Кажаров А.А. Муравьиные алгоритмы для решения транспортных задач. // Теория и системы управления. - М: Наука. 2010.

4. [МакКоннелл, 2004] МакКоннелл Дж. Основы современных алгоритмов. - М.: Техносфера, 2004.

5. [Родников, 1995] Родников А.Н. Логистика: Терминол. слов. - М: 1995.

6. [Штовба, 2003] Штовба С.Д. Муравьиные алгоритмы. 2003.

7. [Bonavear et al., 1999] Bonavear F., Dorigo M. Swarm Intelligence: from Natural to Artificial Systems. Oxford university Press. 1999.

8. [Corne et al., 1999] Corne D., Dorigo M., Glover F. New Ideas in Optimization. McGrav-Hill. 1999.

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

...

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

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

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

  • Виды алгоритмов как логико-математических средств, характеристика свойств. Корректный вывод алгоритма при решении вычислительной задачи. Механизм реализации алгоритма, его описание. Решение задачи Майхилла при помощи автоматной модели поведения стрелка.

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

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

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

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

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

  • Описание принципа работы генетического алгоритма, проверка его работы на функции согласно варианту на основе готовой программы. Основные параметры генетического алгоритма, его структура и содержание. Способы реализации алгоритма и его компонентов.

    лабораторная работа [20,2 K], добавлен 03.12.2014

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

    курсовая работа [2,0 M], добавлен 12.02.2013

  • Анализ алгоритмов, оценка параметров алгоритма (эффективности, сложности, правильности). Комплексный анализ эффективности алгоритма на основе комплексной оценки ресурсов формальной системы. Верификация при коллективной разработке программных систем.

    презентация [234,9 K], добавлен 22.10.2013

  • Примеры построения тестов и технологии исследования алгоритмов на их основе. Построение тестов на основе метода покрытия решений и проведение исследования соответствующего исходного алгоритма и алгоритма с ошибками в операторах проверки условий.

    контрольная работа [224,8 K], добавлен 24.05.2016

  • Этапы процедуры принятия решений. Разработка математического алгоритма. Блок-схема алгоритма работы программы. Разработка программы на языке программирования С++ в среде разработки MFC. Текст программы определения технического состояния станка с ЧПУ.

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

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

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

  • Исследование понятия алгоритма, особенностей линейных и разветвляющихся алгоритмов. Свойства алгоритма: понятность, точность, дискретность, массовость и результативность. Составление программы для вычисления значения функции и построение её графика.

    контрольная работа [278,0 K], добавлен 25.03.2013

  • Основные свойства алгоритма. Формальный и неформальный исполнитель алгоритма, система его команд. Способы записи алгоритма. Словесное описание, построчная запись, опорный конспект. Характеристики алгоритмического языка. Выполнение алгоритма компьютером.

    презентация [2,0 M], добавлен 04.04.2014

  • Составление алгоритма и разработка в среде программирования Delphi 7 программы, вычисляющей макроэкономические индексы цен. Реализация программы в виде 4 форм и 1 диалогового окна. Описание алгоритма решения задачи. Текст программы, руководство оператора.

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

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

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

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

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

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

    контрольная работа [56,5 K], добавлен 26.09.2012

  • Понятие алгоритма. Цикл программы. Структурная схема алгоритма. Элементы языка Тurbo Рascal. Алфавит. Идентификаторы. Комментарии. Лексика языка С++. ESC-последовательности. Операции. Ключевые слова. Комментарии.

    контрольная работа [43,0 K], добавлен 24.04.2006

  • Оценка погрешности и точности в математике. Составление программы и алгоритма для численного дифференцирования с заданной допустимой погрешностью на алгоритмическом языке Turbo Pascal 7.0. Составление алгоритма и программы аппроксимации функции.

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

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

    лабораторная работа [830,3 K], добавлен 28.04.2014

  • Задачи, решаемые методом динамического программирования. Основные этапы нахождения деревянного алгоритма решения задачи. Выполнение алгоритма Прима. Построение Эйлерового цикла. Решение задач средствами Excel. Алгоритм основной программы - Derevo.

    курсовая работа [586,3 K], добавлен 04.04.2015

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