Научная статья на тему 'ПРИМЕНЕНИЕ МЕТОДА КОЛОНИИ МУРАВЬЕВ В ЗАДАЧАХ КАЛЕНДАРНОГО ПЛАНИРОВАНИЯ, МОДИФИКАЦИЯ МЕТОДА И ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ'

ПРИМЕНЕНИЕ МЕТОДА КОЛОНИИ МУРАВЬЕВ В ЗАДАЧАХ КАЛЕНДАРНОГО ПЛАНИРОВАНИЯ, МОДИФИКАЦИЯ МЕТОДА И ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ Текст научной статьи по специальности «Математика»

CC BY
65
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ОПТИМАЛЬНОЕ РАСПИСАНИЕ / КАЛЕНДАРНОЕ ПЛАНИРОВАНИЕ / КОЛОНИЯ МУРАВЬЕВ / МНОГОСТАДИЙНЫЕ СИСТЕМЫ / ПОДГОТОВИТЕЛЬНЫЙ ЭТАП

Аннотация научной статьи по математике, автор научной работы — Матренин П. В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «ПРИМЕНЕНИЕ МЕТОДА КОЛОНИИ МУРАВЬЕВ В ЗАДАЧАХ КАЛЕНДАРНОГО ПЛАНИРОВАНИЯ, МОДИФИКАЦИЯ МЕТОДА И ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ»

УДК 004.023

П. В. Матренин

ПРИМЕНЕНИЕ МЕТОДА КОЛОНИИ МУРАВЬЕВ В ЗАДАЧАХ КАЛЕНДАРНОГО ПЛАНИРОВАНИЯ, МОДИФИКАЦИЯ МЕТОДА И ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ

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

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

Введение. В современных производственных системах важное значение имеет календарное планирование (КП) загрузки производственных мощностей. Задача эффективного планирования многостадийных систем относится к классу NP-трудных, для ее решения применяют различные эвристические алгоритмы, один из которых - метод муравьиной колонии (МК). Эвристические имитационные методы относятся к мультиагентным методам, моделирующим поведение колоний агентов (муравьев), взаимодействующих посредством выделяемого ими феромона.

Постановка задачи. Подробная математическая постановка задачи дана в [1], кратко можно сформулировать следующим образом.

Имеется конечное множество работ (требований, деталей, партий) и конечное множество приборов (станков). Процесс обслуживания работы включает несколько стадий, каждая из которых выполняется на определенном приборе определенное время. Обычно предполагается, что каждый прибор одновременно может обслуживать не более одного требования.

Процесс функционирования системы может быть описан путем задания расписания (календарного плана, временного графика), т.е. некоторой совокупности указаний относительно того, какие именно работы какими именно приборами обслуживаются в каждый момент времени.

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

Описание метода [2, 3]. В природе муравьи одного муравейника образуют сложную систему, которую можно назвать «коллективным разумом».

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

Для решения задачи КП методом муравьиной колонии (МК) необходимо:

- представить задачу в виде ориентированного взвешенного графа (в отличие от задачи коммивояжера), на котором муравьи будут строить решение;

- определить значение следа феромона;

- определить эвристику поведения муравья при построении решения;

- реализовать по возможности эффективный локальный поиск;

- настроить параметры алгоритма.

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

В методе МК используют несколько коэффициентов, от выбора которых часто зависит качество решения.

Коэффициент а определяет степень влияния количества феромона на к-м ребре (/к) на вероятность того, что муравей выберет это ребро (сумма по всем доступным из узла ребрам):

© Матренин П. В., 2012.

р (fk )a P — ■

Z (fi )a

Коэффициенты в и у - коэффициенты интенсивности выделения феромона. Если ^ -значение целевой функции на маршруте, то количество феромона, нанесенного муравьем на все ребра маршрута Af можно определить так:

4f —

'f У

г)

Коэффициент р влияет на испаряемость феромона, при этом считается, что на ребрах всегда должно оставаться некоторое минимальное не нулевое количество феромона, иначе вероятность выбора ребра может оказаться нулевой и оно будет "игнорироваться" муравьями. Коэффициент принимает значения от 0 (нет испарения) до 1 (испаряется до минимального уровня).

fJf • (1 -Р), f(1 -Р) > fmin

1 fmin , f (1 -Р) ^ fmin

Интерпретация для задачи календарного планирования. Представим поиск решения задачи КП следующим образом. Пусть K - суммарное количество этапов всех работ из множества N.

n

к — Z r.

i—1

Для того чтобы полностью задать расписание, достаточно указать, какую работу загружать на нужный ей прибор на i-м шаге, i=1,2,...,K. Тогда у графа будет K+1 вершин, причем первая вершина соединена только со второй, вторая - с первой и третьей, третья - со второй и четвертой и так далее. Вершина с номером K+1 соединена только с вершиной K. Ребра, соединяющие вершины, соответствуют работам.

Проходя по графу, муравей "запоминает" последовательность работ. Как только работа i попала в эту последовательность столько раз, сколько у нее этапов (ri), муравей начинает «игнорировать» соответствующие ей ребра до конца пути.

Рассмотрим простой пример. Имеется две работы (A, B) и два прибора (S1 и S2). Обе работы содержат по одной стадии на каждом приборе, таким образом, K=4. На рисунке 1 представлен соответствующий граф.

Рис. 1. Пример графа поиска решения

Рассмотрим пример движения муравья. Допустим, на первом шаге муравей выбрал работу А, на втором и третьем - В. Так как работа В содержит два этапа, больше ее выбирать нельзя, и дуга В исключается из графа для муравья до завершения его пути, поэтому будет выбрана дуга А.

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

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

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

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

Согласно [5], при выборе одного решения и заданном количестве итераций 10 количество пропускаемых итераций 11 определяется как 11 = ¡о /е, где е=2,718.

При этом вероятность получить лучшее решение равна примерно 0,368 [5]. Если в подготовительном этапе задано 11 итераций, то необходимо совершить 11 итераций, запомнив лучший результат, и продолжить поиск решения. Как только будет получен результат не хуже сохраненного, прекратить поиск. Если такого результата не будет, то поиск остановится после совершения всех 10 итераций. При этом вероятность получить лучший результат составит примерно 0,368. В отличие от задачи о разборчивой невесте, в рассматриваемом случае пропущенные варианты не теряются. Если лучший результат окажется среди первых 10 итераций (а вероятность этого так же 0,368), то он и будет взят в качестве начального решения, что увеличивает итоговую вероятность выбора лучшего решения.

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

Так, например, программная реализация метода была использована для получения КП производства станочных плит одного из машиностроительных предприятий [7].

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

Общее непрерывное время производства первой плиты составляет 249.85 часа. Общее непрерывное время выполнения второй и третьей плиты составляет 254.25 и 481.35 часов соответственно. В результате решения задачи календарного планирования совокупная длительность производственного цикла составила 680.19 часов, а методом МК средний результат составил 657,55 часов.

В таблице 1 приведены статистические данные о процессе поиска решений без ПЭ (вариант 1), с ПЭ с фиксированным числом итераций (вариант 2) и с ПЭ при использовании алгоритма разборчивой невесты (вариант 3). Число муравьев во всех случаях было одинаково -500, а максимальное число итераций было ограничено тысячью, максимальное число итераций подготовительного этапа установлено в 50 итераций.

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

Полученные данные объединены в таблицу 1 (по всем параметрам приведены средние значения).

Таблица 1

Влияние ПЭ на поиск решения

Параметр / Вариант 1 2 3

Результат 658,0 657,55 657,55

Число итераций ПЭ 0 50 36

Общее число итераций 474,45 80,22 70,14

Время решения (с) 11,4 2,3 1,98

Увеличение скорости нахождения оптимального решения при использовании ПЭ было отмечено и в остальных тестовых примерах. Можно утверждать, что процесс поиска сходится к оптимальному решению значительно быстрее, если начинается из некоторого локального экстремума, а не из случайной точки.

Программная реализация. Для исследования метода МК было разработано и реализовано программное приложение «Ant's Calendar» с учетом особенностей данного типа задач [8]. Основные функции приложения:

- редактирование файлов с исходными данными (технологическими маршрутами и длительностями этапов) с поддержкой разных форматов файлов;

- поиск наилучшего решения задачи планирования;

- вывод полученного решения в различных формах;

- автоматизированное формирование отчета в MS Word.

Полученное расписание представляется в виде графиков Ганта (по работам и по станкам) и текстовых таблиц.

Приложение позволяет создавать выходной документ или отчет, включающий исходные данные и подробные результаты как о расписании, так и о каждом станке и каждой работе в редакторе MS Word с необходимыми графиками и таблицам в автоматическом режиме или автоматизированном (с учетом указаний пользователя).

При разработке приложения значительное внимание было уделено созданию удобного и понятного пользовательского интерфейса с использованием приемов из [8]. Пример экранной формы приложения после решения одной из задач из [6] показан на рисунке 2.

Кмачррнве гдоцфовмк- ке~одж MK prmer L " ИВИР

Файл Пграиетры Реш trete Инструменты Спргеи

3 j 0 й о >+ " Ъ *

■ 1 2 i 5 5 с ? * * Д if tä кг Si is Тс л? ii ri 2* й в я й я к гт а а я а- я в 5 в х » я я -li*

Решениенлнда+к 31 ДюЗкн щычссыьаин uetatr енд графмса

Рис. 2. Экранная форма приложения

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

Библиографический список

1. Танаев, В. С. Теория расписаний. Многостадийные системы / В. С. Танаев, Ю. И. Сотсков, В. А. Струсевич. - М.: Наука, Гл. ред. физ.-мат. лит., 1989. - 328 с.

2. Dorigo, M. Ant Algorithms for Discrete Optimization / M. Dorigo, G. D. Caro,L. M. Gambardella // Artificial Life. - 1999. - Vol. 5. № 2. - P. 137-172.

3. Dorigo, M.The Ant System: Optimization by a colony of cooperating agents / M. Dorigo, V. Maniezzo, A. Colorni // IEEE Transactions on Systems, Man, and Cybernetics - Part B. 1996. V. 26. No. 1. -P. 1-13.

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

5. Гусейн-Заде, С. М. Разборчивая невеста / С. М. Гусейн-Заде. - М.: МЦНМО, 2003. - 24 с.: ил.

6. Петров, В. А. Планирование гибких производственных систем / В. А. Петров, А. Н. Масленников, Л. А. Осипов. - Л.: Машиностроение, 1985. - 182 с.

7. Секаев, В. /".Использование алгоритмов комбинирования эвристик при построении оптимальных расписаний / В. Г. Секаев // Информационные технологии. - 2009. - № 10. - С. 61-64.

8. Матренин, П. В. Программирование оптимизационных задач управления, взаимодействие с пользователем при длительных расчетах / П. В. Матренин // Журнал научных публикаций аспирантов и докторантов. - 2012. - № 1. - С. 67-69.

МАТРЕНИН Павел Викторович - студент кафедры автоматизированных систем управления, Новосибирский государственный технический университет.

i Надоели баннеры? Вы всегда можете отключить рекламу.