391Матренин_Статьяx - Студенческое научно

advertisement
УДК 658.514
РАЗРАБОТКА И РЕАЛИЗАЦИЯ АДАПТИВНОГО АЛГОРИТМА
МУРАВЬИНОЙ КОЛОНИИ ДЛЯ РЕШЕНИЯ ЗАДАЧ КАЛЕНДАРНОГО
ПЛАНИРОВАНИЯ
Матренин П.В.
Научный руководитель к.т.н Секаев В.Г.
Новосибирский государственный технический университет
В статье рассматривается задача оптимизации расписаний для многостадийных
систем с использованием адаптивного метода муравьиной колонии. Отличие
предложенного метода в динамической эволюционной адаптации алгоритма под
условия каждой конкретной задачи. Использование адаптации параметров алгоритма
существенно повысило качество решений по сравнению с другими способами подбора
параметров. Предложенный подход позволяет успешно составлять квазиоптимальные
расписания.
Ключевые слова: оптимальное расписание; календарное планирование; метод
колонии муравьев; многостадийные системы; подготовительный этап; генетический
алгоритм.
Введение
В современных производственных системах важное значение имеет этап
календарного планирования (КП) загрузки производственных мощностей. Задача
эффективного планирования многостадийных систем относится к классу NP-трудных,
для ее решения применяют различные эвристические алгоритмы, один из которых –
метод муравьиной колонии (МК). Эвристические имитационные методы относятся к
мультиагентным методам, моделирующим поведение колоний агентов (муравьев),
взаимодействующих посредством выделяемого ими феромона.
Постановка задачи
Формализованная постановка задачи взята из [1]. Краткое описание: имеется
множество требований (партий деталей, работ, заказов) и множество приборов
(станков, рабочих мест, исполнителей). Требования состоят из последовательности
этапов (операций), каждая из которых выполняется на определенном приборе
определенное известное время. Необходимо составить такое расписание (график
выполнения операций), которое бы обеспечило наискорейшее выполнение всех
требований.
Основные сложности задачи заключаются в том, что она
дискретна,
многовариантна, многофакторна, а критерий оптимальности невозможность выразить в
виде аналитической функции.
Одним из подходов к решению задач обсуждаемого класса является метод
муравьиной колонии [2, 3] .
Метод колонии муравьев при решении задач КП
Для решения задачи КП методом муравьиной колонии (МК) необходимо [4]:
- представить задачу в виде ориентированного взвешенного графа (в отличие от
задачи коммивояжера), на котором муравьи будут строить решение;
- определить значение следа феромона;
- определить эвристику поведения муравья при построении решения;
1
- реализовать локальный поиск;
- настроить параметры алгоритма.
Определяющим для решения задачи также являются:
- количество муравьев;
- сочетание с жадными эвристиками и локальным поиском;
- момент обновления феромона.
Итерационный алгоритм МК включает построение решения всеми муравьями,
улучшение решения методом локального поиска, обновление феромона. Построение
решения начинается с пустого частичного решения, которое расширяется путем
добавления к нему новой допустимой компоненты решения. Выбор компоненты
решения осуществляется по правилам вероятностного выбора на каждом шаге
построения решения:
Pk 
( f k )

 ( fi )
.
(1)
i
Коэффициент α определяет степень влияния количества феромона на k-м ребре
(fк) на вероятность того, что муравей выберет это ребро. В знаменателе – сумма по всем
доступным из узла ребрам.
Обновление феромона необходимо для его увеличения на лучшем (коротком)
пути и уменьшения для плохих решений. Используется также испарение феромона для
того, чтобы избежать слишком большой сходимости алгоритма.
Если F – значение целевой функции на маршруте, то количество феромона,
нанесенного муравьем на все ребра маршрута Δf можно определить так:

F
f    .
 
(2)
Коэффициенты β и γ – коэффициенты интенсивности выделения феромона.
Коэффициент β введен, чтобы сделать зависимость нанесения феромона на граф более
гибкой (не обязательно линейной).
Коэффициент ρ влияет на испаряемость феромона, при этом считается, что на
ребрах всегда должно оставаться некоторое минимальное не нулевое количество
феромона, иначе вероятность выбора ребра может оказаться нулевой и оно будет
игнорироваться
муравьями. Максимальное значение так же ограничено, что
предотвращает возможную сходимость алгоритма к одному, далеком от оптимального,
решению. Коэффициент принимает значения от 0 (нет испарения) до 1 (испаряется до
минимального уровня).
 f ( 1   ), f m in  f ( 1   )  f m ax

f m in , f ( 1   )  f m in
f 

f m ax , f ( 1   )  f m in

'
(3)
В ходе экспериментальных исследований было выявлено улучшение результатов
при усилении значимости текущего наилучшего решения. Для этого на все ребра пути,
соответствующего лучшему результату, на каждой итерации добавляется некоторое
количество феромона, определяемое коэффициентом λ. Ограничение на максимально
количество феромона учитывается и здесь.
2
 f best   , f best    f m ax
f best  
 f m ax , f best    f m ax
(4)
Качество получаемых решений в МК методах, отмечается в [4], во многом
зависит от:
- выбора условно оптимального решения на шаге инициализации;
- настроечных параметров в вероятностно-пропорциональном правиле выбора
пути на основе текущего количества феромона;
- параметров правил откладывания, испарения и начального распределения
феромона.
Выбор начального решения на этапе инициализации
В алгоритм решения задачи был введен подготовительный этап (ПЭ), когда
муравьи обходят граф несколько раз, не нанося на него феромона. Поэтому первые
NПЭ итераций производятся без выделения и испарения феромона, который наносится
на ребра только того маршрута, движение по которому дало наилучший результат.
После подготовительного этапа поиск начинается не из произвольной точки, а из
некоторого локального экстремума.
На подготовительном этапе вероятность получения лучшего результата одинакова
на каждой итерации. Чтобы остановить ПЭ раньше отведенного начального числа
итераций с минимальной потерей эффективности решения, пропускаемое число
итераций NПЭ определяется как
N ПЭ 
N0
,
e
(5)
где N0 – начальное число итераций [5].
Выбор настроечных параметров
Подбор настроечных параметров осуществляется по генетическому алгоритму
(ГА) по следующей схеме [6,7,8,9]:
1. Генерация
случайного
начального
состояния.
Первое поколение создается из произвольно выбранных решений (хромосом), где в
качестве генов используются параметры α, β, γ, ρ, λ.
2. Вычисление
коэффициента
выживаемости
(fitness).
Каждому решению (хромосоме) сопоставляется некое численное значение, зависящее
от его близости к значению наилучшей F(·).
3. Воспроизводство. Хромосомы, имеющие большую выживаемость (fitness),
попадают к потомкам с большей вероятностью, осуществляется одноточечный
(многоточечный) оператор кроссовера и оператор мутации.
4. Следующее поколение. Если новое поколение содержит решение достаточно
близкое к значению наилучшей F(·), то задача решена. В противоположном случае оно
проходит через тот же процесс.
Работа генетического алгоритма представляет итерационный процесс до
выполнения критерия останова, например заданного числа поколений. В данном случае
рассматривается задача непрерывной оптимизации
min F ( x ), D  { x1 , x2 , x3 , x4 , x5 | x i на [ ai ,bi ]} ,
(6)
где F(x) – минимизируемая целевая функция, D – область поиска.
Под решением указанной задачи будем понимать вектор x = (x1, x2, x3 x4,x5).
Оптимальным решением задачи будем считать вектор x* с конкретными значениями α,
β, γ, ρ, λ при котором целевая функция принимает минимальное значение.
3
Экспериментальные результаты
Программная реализация метода проверялась на модельных задачах из [10] и [11],
где предлагались квазиоптимальные алгоритмы решения задач КП. Для указанных в
[10,11] задач были приведены расписания, которые были сразу же получены при
программной реализации метода.
Так, например, программная реализация метода была использована для получения
КП производства станочных плит машиностроительного предприятия города
Новосибирск «Сиблитмаш» [11].
Известен технологический маршрут каждой станочной плиты, которые
обрабатываются на станочных модулях за конечное число операций, выполняемых в
заданной последовательности. Задана трудоемкость обработки каждой плиты на
каждой операции.
В таблице 1 приведены усредненные статистические данные о процессе поиска
решений без ПЭ (вариант 1), с ПЭ с фиксированным числом итераций (вариант 2 – 50
итераций) и с ПЭ при использовании алгоритма разборчивой невесты (вариант 3 –
вычисляемое количество итераций).
Таблица 1. Влияние ПЭ на скорость поиска решения
Показатель
Вариант
2
657,55
50
80,22
1,16
1
658,0
0
474,45
5,71
Результат
Число итераций ПЭ
Общее число итераций
Время решения (секунд)
3
657,55
36
70,14
1,01
Увеличение скорости нахождения оптимального решения при использовании
подготовительного этапа было отмечено и в остальных тестовых примерах, особенно в
задачах с малым числом работ, но большим числом технологических операций.
Можно утверждать, что процесс поиска сходится к оптимальному решению
значительно быстрее, если начинается с некоторого решения, приближенного к
оптимальному, а не из случайной точки.
Для оценки повышения качества расписаний, составленных с адаптацией
параметров метода,
использовались, кроме указанных ранее, тестовые задачи
[12,13,14]. Результаты приведены в таблице 2.
Таблица 2. Сравнение результатов.
Задача
Lm1
La1
Lgm
Lga
Imk
Cant
Best
abz6
ft06
ft10
la01
la10
la15
la17
la21
3plity
pr_6x10
977,33
55
995,87
669,4
958
1215,45
798,25
1150,9
662,08
111,45
1000
30
1000
30
1000
1000
1000
1000
30
30
100
10
100
10
100
100
100
100
10
10
943
55
930
666
958
1207
784
1048
-
980
55
1017
666
958
1211
796
1121
657,55
109
1005,3
55,16
1038,8
673,08
958
1220,6
809,32
1168,1
664,782
113,22
945
55
950
666
958
1207
784
1107
657,55
107
В таблице 2 используются обозначения:
Lm1 – лучшее решение, которое было зафиксировано до использования ГА
4
(коэффициенты подбирались оператором вручную);
La1 – среднее значение качества решений, которые были зафиксированы до
использования ГА;
Lgm – лучшее решение, которое было получено с использованием ГА;
Lga – среднее значение качества решений, которые были получены с
использованием ГА;
Imk – количество итераций метода МК;
Cant – количество муравьев в колонии;
Best – условно оптимальное решение из [15].
Эксперименты показали существенное улучшение результатов (до 12%) по
сравнению с полученными ранее (без адаптации коэффициентов). Необходимо
отметить, что лучшие найденные наборы коэффициентов различаются даже при
решении одной и той же задачи, поиск взаимосвязи коэффициентов, их корреляции
является одним из направлений дальнейшего развития работы.
Решения, полученные предложенным адаптивным алгоритмом по многим задачам
из [12,13,14] оказались не хуже известных квазиоптимальных решений [15] по этим
задачам. При этом в [15] указываются лучшие результаты, которые в принципе были
когда-либо получены, а адаптивный метод позволяет получать решения указанного
качества на каждом запуске при достаточном количестве итераций.
Программная реализация
Для исследования метода МК было разработано и реализовано программное
приложение с учетом особенностей данного типа задач [16]. Основные функции
приложения: редактирование файлов с исходными данными (технологическими
маршрутами и длительностями этапов) с поддержкой разных форматов; возможность
импорта и экспорта информации из базы данных; поиск наилучшего решения задачи
планирования; вывод результатов в различных формах; автоматизированное
формирование отчета в MS Word.
Приложение позволяет указывать коэффициенты эвристики и параметры не
только перед началом поиска решения, но и во время поиска, так что при
необходимости можно динамически управлять ходом решения. Если не требуется
вывод результатов по каждой итерации и динамическое изменение параметров, поиск
можно запустить в ускоренном режиме. Ускорение достигается благодаря созданию
дополнительного потока, в котором происходит только поиск решения, действия
пользователя и сообщения операционной системы обрабатываются вне этого потока.
Полученное расписание представляется в виде графиков Ганта (по работам и по
станкам) и текстовых таблиц.
Приложение позволяет создавать выходной документ или отчет, включающий
исходные данные и подробные результаты как о расписании, так и о каждом станке и
каждой работе в редакторе Microsoft Office Word с необходимыми графиками и
таблицам в автоматическом режиме или автоматизированном (с учетом указаний
пользователя).
При разработке приложения значительное внимание было уделено созданию
удобного и понятного пользовательского интерфейса. Пример экранной формы
приложения (таблица исходных данных и результат в виде графика Ганта) приведен на
рисунке 1.
5
Рисунок 1 – Пример экранной формы приложения
Заключение
Метод муравьиной колонии позволяет успешно решать задачи календарного
планирования. Введение в алгоритм подготовительного этапа ускоряет процесс
поиска и повышает качество решений. Использование генетического алгоритма для
поиска параметров метода упрощает исследование, позволяет сделать метод МК
адаптивным к решаемой задаче и улучшить получаемые планы. Предложенный подход
позволяет составлять квазиоптимальные расписания для большого класса
многостадийных обслуживающих систем.
Было создано программное приложение для решения реальных производственных
задач составления планов.
Список литературы
1. Танаев В.С., Сотсков Ю.И., Струсевич В.А. Теория расписаний.
Многостадийные системы. М.: Наука, Гл. ред. физ.-мат. лит., 1989. 328 с.
2. Dorigo M., Maniezzo V., Colorni A. The Ant System: Optimization by a colony of
cooperating agents. IEEE Transactions on Systems, Man, and Cy-bernetics–Part B. 1996. V.
26. No. 1. P. 1–13.
3. Dorigo M., Caro G. D., Gambardella L. M. Ant Algorithms for Discrete Optimization
// Artificial Life. 1999. vol. 5. № 2. P. 137–172.
4. Штовба С.Д. Муравьиные алгоритмы // Exponenta Pro. Математика в
приложениях, 2003. №4. С.70–75.
5. Гусейн-Заде С.М. Разборчивая невеста. М.: МЦНМО, 2003. 24 с.
6. Батищев Д.И. Решение задачи "слепого" упорядочивания с помощью
генетических алгоритмов. // Труды конференции по генетическим алгоритмам. М.:
1996. С. 32–35.
7. / Батищев Д.И., Гудман Э.Д., Норенков И.П., Прилуцкий М.Х. Метод
6
декомпозиций для решения комбинаторных задач упорядочения и распределения
ресурсов // Информационные технологии. 1997. № 1. С.29–33.
8. Норенков И.П. Генетические методы структурного синтеза проектных
решений. // Информационные технологии. 1998. №1. С. 9–13.
9. Норенков И.П. Методы оптимизации в задачах концептуального
проектирования и логистики. // Информационные технологии. 2000. №9. С. 9–14.
10. Петров В.А., Масленников А.Н., Осипов Л.А. Планирование гибких
производственных систем. Л.: Машиностроение, 1985.
11. Секаев В.Г. Использование алгоритмов комбинирования эвристик при
построении оптимальных расписаний// Информационные технологии. 2009. №10. С.
61–64.
12. Adams J., Balas E.,Zawack D. The shifting bottleneck procedure for job shop
scheduling// Management Science. 1991. №34. P. 391–401.
13. Fisher H., Thompson G. Probabilistic learning combination of local job-shop
scheduling rules, in Industrial Scheduling. Prentice-Hall, Englewood Cliffs, N.J., 1963.
14. Lawrence S. Supplement to “resource constrained project scheduling: an
experimental investigation of heuristic scheduling techniques”// tech. rep., GSIA, Carnegie
Mellon University, October 1984.
15. Pezzella F., Merelli E. A tabu search metho d guided by shifting bottleneck for the
job shop scheduling problem // European Journal of Operational Research. 2000. №120. P
297–310.
16. Матренин П.В. Программирование оптимизационных задач управления,
взаимодействие с пользователем при длительных расчетах// Журнал научных
публикаций аспирантов и докторантов. 2012. №1. С 67–69.
7
Скачать