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

РАЗРАБОТКА И ИССЛЕДОВАНИЕ АДАПТИВНЫХ МЕТОДОВ РОЕВОГО ИНТЕЛЛЕКТА В ЗАДАЧАХ КАЛЕНДАРНОГО ПЛАНИРОВАНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

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

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

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

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

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

Разработка и исследование адаптивных методов роевого интеллекта в задачах календарного планирования

П.В. Матренин НГТУ, Новосибирск, Россия

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

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

ВВЕДЕНИЕ

Во всех сферах деятельности для достижения требуемого результата необходимо составлять расписания и планы. Актуальность планирования особенно возросла с развитием средств автоматизации.

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

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

1. ФОРМАЛИЗОВАННАЯ ЗАПИСЬ ЗАДАЧИ КАЛЕНДАРНОГО ПЛАНИРОВАНИЯ

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

Заданы конечное множество Ы={1,2,...,п) требований и конечное множество М={1,2,...,т} приборов.

Процесс обслуживания каждого требования I включает ^ стадий. При этом каждому I и каждой его стадии q (1<д<г) сопоставляется некоторое подмножество приборов М'1} из М. Считается, что каждый прибор в каждый конкретный момент времени может либо обслуживать одно и только одно требование, либо бездействовать

(простаивать). В таких системах с для каждого требования I задается своя, характерная для этого требования последовательность V его обслуживания приборами:

V = {11 \ 12 \..., '}.

(1)

Требование I сначала обслуживается прибором //, затем прибором ¡2' и т.д. Последовательности обслуживания могут быть различными для разных требований и могут содержать повторения приборов. Если требование I на стадии q должно быть обслужено прибором I, то предполагается заданной длительность (и<1 его обслуживания этим прибором. Процесс функционирования системы может быть описан путем задания расписания (календарного плана, плана-графика), т.е. некоторой совокупности указаний относительно того, какие именно требования, какими именно приборами обслуживаются в каждый момент времени.

При принятых выше предположениях расписание можно рассматривать как вектор {$(1), в2(1),..., $т(1)}, компоненты которого являются кусочно-постоянными непрерывными слева функциями. Каждая из них задана на интервале 0<1<&> и принимает значения 0,1,., п.

5 = {$1(1), $2(1),., Вт(1)}

(2)

Если = I , I^ М , ¡^ N , то в момент времени 1 прибор I обслуживает требование ¡. При задании расписания должны соблюдаться все условия и ограничения, вытекающие из постановки рассматриваемой задачи, то есть расписание должно быть допустимым.

Если существует несколько допустимых расписаний, необходимо выбрать лучше из них, то есть задать некоторый критерий выбора (критерий качества). Обычно за такой критерий берется время завершения выполнения всех требований, то есть время завершения последнего требования. Каждое допустимое расписание 5 однозначно определяет вектор

Т($) = (Г1(5),ТМ...,Гп(5))

(3)

моментов завершения выполнения всех требований.

Задается некоторая действительная неубывающая по каждой из переменных функция

F(x) = F(x1,x2,...,xn) . Тогда качество расписания s оценивается значением этой функции при x=T(s): F(x) = max{x} , i=l,n . В этом случае:

F(T(s)) = Tmax(s), где Tmax(s) =max{T(s)} , i=l,n . (4)

Основные сложности такой задачи планирования: дискретность; многовариантность; многофакторность; целевая функция

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

2. МЕТОДЫ РЕШЕНИЯ

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

Метод полного перебора всех вариантов теоретически позволяет найти точное решение, но не используется, так как требует колоссальных затрат времени, даже для задач небольшой размерности при использовании мощных вычислительных систем. Как показано в [2], сложность алгоритма полного перебора для задачи с n требованиями и m приборами, если каждое требование содержит m этапов в различных последовательностях, составляет О((п!)т).

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

Поэтому используются различные

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

3. КОНЦЕПЦИЯ РОЕВОГО ИНТЕЛЛЕКТА

Концепция роевого интеллекта возникла относительно недавно, в 1989 г. [3], и основана на коллективном поведении децентрализованных самоорганизующихся систем. Такие системы состоят из множества простых агентов, локально взаимодействующих друг с другом и с внешней средой для достижения предопределенной цели.

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

пчелиный рой, стаю птиц, косяк рыб. Каждая из перечисленных систем характеризуется

относительно простым поведением отдельных элементов и возникающим сложным интеллектуальным общим поведением.

Преимуществами методов роевого интеллекта являются:

- масштабируемость, возможность решать задачи независимо от их размерности;

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

- простота правил поведения отдельных элементов;

- эффективность решения оптимизационных задач по качеству и скорости.

При переходе к математическим моделям, примеры которых приведены ниже, вводятся так называемые эвристические коэффициенты.

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

4. МЕТОД КОЛОНИИ МУРАВЬЕВ

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

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

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

Таким образом, в основе модели лежит

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

Существует большое количество модификаций муравьиного алгоритма. В работе автором данной статьи [6] показано, как муравьиный алгоритм может быть применен для задачи календарного планирования и какие в нем применялись формулы. При этом использовались 5 коэффициентов: а, в, у, р и X.

Выбор компоненты решения осуществляется по правилам вероятностного выбора на каждом шаге построения решения в соответствии с

Pk =

(fk)° Z (fl)

(5)

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

Если ^ - значение целевой функции на маршруте, то количество феромона, нанесенного муравьем на все дуги маршрута А/ можно определить как:

Df =

' F ^ ч У у

(6)

Здесь в и у - коэффициенты интенсивности нанесения феромона.

После каждой итерации количество феромона на дугах графа уменьшается (испаряется), от значения / до /'. Испаряемость феромона характеризуется коэффициентом р. При этом считается, что на дугах всегда должно оставаться некоторое минимальное не нулевое количество феромона /тп). Максимальное значение /тах) так же ограничено. Коэффициент принимает значения от 0 до 1. Таким образом, после испарения количество феромона на каждой дуге графа изменится следующим образом:

f =

f(1 - р)' fmin < f(1 - р) < fmax

f ■ , f(1 - p) < f .

Jmin ' J 1 Jmin

fmax ' f(1 — p) — fmax

(7)

После испарения на все дуги пути, соответствующего лучшему результату, на каждой итерации добавляется некоторое количество феромона, которое определяется коэффициентом X. Итоговое количество феромона равняется /

f best

I fbest ' ^ ' fbest ' ^ < fm \fmax ' fbest ' ^ — fmax

(8)

5. МЕТОД РОЯ ЧАСТИЦ

Метод роя частиц был изначально разработан для моделирования социального поведения и основан на поведении стай птиц [7]. В 1995 году Дж. Кеннеди и Р. Эберхарт предложили этот метод для оптимизации.

Основная идея метода заключается в перемещении частиц в пространстве решений. Пусть решается задача нахождения минимума (максимума) функции вида /(X), где X - вектор варьируемых параметров, которые могут принимать значения из некоторой области Б. Тогда каждая частица в каждый момент времени характеризуется значением параметров X из области Б (координатами точки в пространстве решений) и значением оптимизируемой функции /(X) (привлекательностью данной точки). При этом частица "помнит" наилучшую точку в пространстве решений, в которой была, и стремиться в нее вернуться, но подчиняется также закону инерции и имеет склонность к небольшому стохастическому изменению направления движения. Однако этих правил недостаточно для перехода к системе, так как не заданы связи между элементами. В качестве связи используется так называемая общая память, суть которой в том, что каждая частица знает координаты наилучшей точки среди всех, в которых была любая частица роя. То есть наилучшее решение, найденное роем в каждый момент времени известно всем его частицам. В итоге на движение частицы влияют стремление к своему наилучшему положению, стремление к наилучшему среди всех частиц положению, инерционность и случайные отклонения.

Классический алгоритм очень просто и использует только 3 коэффициента: а1, а2 и ю. При этом используются следующие формулы.

К/+Ж = У^ы + - А-^-К + - ХчУя

(9),

Xij+i — Xij + I-'tj+i.

(10),

где Ур - скорость г-й частицы на р-й итерации алгоритма, рр - координаты наилучшей точки в пространстве решений, в которой была г-я частицы от первой до р-й итерациях алгоритма, Хр -координаты позиции г-й частицы на р-й итерации алгоритма, О - координаты наилучшей точки, которая была найдена роем на момент р-й итерации, Г] и г2 - случайные числа, равномерно распределенные в интервале [0,1).

Коэффициенты а1 и а2 определяют значимость для частицы памяти о своем лучшем положении и лучшем среди всего роя положении. Коэффициент ю характеризует инерционные свойства частиц, то есть насколько скорость на предыдущем шаге влияет на скорость на текущем шаге.

Кроме того, часто вводятся различные правила, определяющие поведение частицы при достижении границы области поиска.

6. РАЗРАБОТАННЫЙ метод адаптации

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

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

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

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

3. Хромосомы, имеющие большую выживаемость, отбираются для скрещивания и мутации с большей вероятностью.

4. После скрещивания и мутации для полученной новой популяции выполняется шаг 2.

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

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

предложенного подхода показана на рисунке 1.

Рис.1. Схема предложенного адаптивного метода

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

7. РЕЗУЛЬТАТЫ ИССЛЕДОВАНИЯ

Для исследования эффективности

предложенного метода применялись всемирно распространенные тестовые задачи [8,9,10] задачи из литературы, посвященной вопросам планирования многостадийных систем [1,11], производственная задача обработки станочных плит [13]. Далее приведены результаты по некоторым из них. В таблице 1 показаны результаты для метода колонии муравьев. В таблице 2 аналогичные результаты для метода роя частиц. Таблица 3 содержит результаты сравнения с другими авторами [13].

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

Таблица 1

Повышение эффективности при адаптации коэффициентов метода колонии муравьев

Задача Размерность Результат без адаптации Результат с адаптацией Число муравьев Число итераций

п m lmax средний лучший

abz6 10 10 10 1005,3 980 945 1000 100

Й06 5 5 5 55,16 55 55 30 10

Ш0 10 10 10 1038,8 1017 950 1000 100

Ы01 10 5 5 673,08 666 666 30 10

Ы0 15 5 5 958 958 958 1000 100

Ы5 20 5 5 1220,6 1211 1207 1000 100

Ы7 10 10 10 809,32 796 784 1000 100

Ы21 15 10 10 1168,1 1121 1107 1000 100

3plity 3 6 22 664,782 657,55 657,55 30 10

pr_6x10 6 6 10 113,22 109 107 30 10

Таблица 2

Повышение эффективности при адаптации коэффициентов метода роя частиц

Задача Размерность Результат без адаптации Результат с адаптацией Число муравьев Число итераций

п т 1тах средний лучший

abz6 10 10 10 1003,6 951 943 100 100

£106 5 5 5 992,1 55 55 10 5

£110 10 10 10 690,97 937 937 300 300

1а01 10 5 5 963,47 666 666 100 20

1а10 15 5 5 1267,63 958 958 10 5

1а15 20 5 5 815,1 1217 1207 50 50

1а17 10 10 10 1143,17 794 784 100 100

1а21 15 10 10 681,24 1091 1085 500 500

3рШу 3 6 22 116,87 659,5 657,55 50 10

рг_6х10 6 6 10 1003,6 110 107 50 10

Таблица 3

Сравнение результатов с наилучшими известными в мире

Задача Адаптивный метод колонии муравьев Адаптивный метод роя частиц Лучший известный в мире результат

abz6 945 943 943

£106 55 55 55

£110 950 937 930

1а01 666 666 666

1а10 958 958 958

1а15 1207 1207 1207

1а17 784 784 784

1а21 1107 1073 1048

3рШу 657,55 657,55 657,55

рг_6х10 107 107 107

В тестовых задачах считается, что все длительности заданы с условных временных единицах, но задача "3рШу" является реальной, в которой все длительности измерялись в часах. Поэтому для определенности будет полагать, что все указанные в таблицах результаты показывают длительности полученных планов в часах.

Из таблиц 1,2 видно, что планы, полученные с адаптацией, значительно эффективнее не только средних, но даже и лучших результатов, полученных при ручном подборе коэффициентов. Аналогичные результаты зафиксированы и для метода роя частиц. Повышение эффективности можно объяснить тем, что подбор параметров снижает риск сходимости процесса поиска решения к локальным неэффективным экстремумам. Кроме повышения качества решений, значительно снижаются и трудозатраты на их получение, так как отпадает необходимость подбирать коэффициенты вручную. Это особенно важно для задач исследования и сравнения различных методов. Например, получить для задачи "abz6" результат лучше 980 часов методом колонии муравьев авторам не удавалось очень долгое время, пока не была выдвинута идея об адаптации, после

ее реализации сразу же был получен результат 945 часов.

В [13] приводятся наилучшие результаты по задачам [8,9,10], которые были получены различными авторами при использовании различных методов. Сравнение показало, что по многим задачам полученные в данной работе результаты оказались такими же. По некоторым тестовым задачам они хуже, но наибольшее относительное отклонение не превысило 5% для метода колонии муравьев и 3% для метода роя частиц.

8. ОБЛАСТИ ПРИМЕНЕНИЯ

Разработанные алгоритмы и программные решения могут быть применены в следующих областях:

- производственные системы;

- разработка программного обеспечения;

- учебные заведения;

- системы массового обслуживания;

- все сферы применения управления проектами.

На сегодняшний день существует множество

программных продуктов для составления планов и

расписаний. Однако многие из них не используют алгоритмы оптимизации [14], создавая лишь допустимые планы. Большинство коммерческих продуктов дороги, избыточны по своей функциональности, их внедрение требует больших временных затрат, обучения персонала и изменения бизнес-процессов [14].

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

ЗАКЛЮЧЕНИЕ

В работе предложен универсальный способ адаптации всех методов роевого интеллекта, что

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

Направления дальнейшей работы:

1) исследование зависимостей между задачами и наилучшими параметрами алгоритмов;

2) реализация адаптивного метода для других алгоритмов роевого интеллекта;

3) развитие и оптимизация разработанного программного продукта, внедрение.

ЛИТЕРАТУРА

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

[2] Gromicho J. Exponentially better than brute force: solving the job-shop scheduling problem optimally by dynamic programming/ J. Gromicho, J. van Hoorn, F. Saldanha-da-Gama, G. T. Timmer. [Электронный ресурс] URL: http://dare.ubvu.vu.nl/bitstream/handle/1871/37989/Solving%20the %20iob-shop%20scheduling%20problem%20optimally%2Qby%20 dynamic%20programming.pdf;jsessionid=9FAC88F6A63C4CAF76 B4CEBDEC5B1F62?sequence=2.

[3] Beni, G., Wang, J. Swarm Intelligence in Cellular Robotic Systems, Proceed. NATO Advanced Workshop on Robots and Biological Systems, Tuscany, Italy, June 26-30 (1989).

[4] Pedersen M. Tuning & Simplifying Heuristical Optimization/ Pedersen M. // University of Southampton, School of Engineering Sciences, Computational Engineering and Design Group. 2010. [Электронный ресурс] URL: http://www.hvass-labs.org/people/magnus/thesis/pedersen08thesis.pdf

[5] 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. [Электронный ресурс] URL: ftp://iridia.ulb.ac.be/pub/mdorigo/journals/IJ.10-SMC96.pdf

[6] Матренин П.В. Оптимизация адаптивного алгоритма муравьиной колонии на примере задачи календарного планирования /П.В. Матренин, В.Г. Секаев// Программная инженерия, 2013. №4.

[7] J. Kennedy and R. C. Eberhart, Particle Swarm Optimization. Proc. of IEEE International Conference on Neural Network, Piscataway, NJ. Pp.. 1942-1948 (1995).

[8] Adams J., Balas E.,Zawack D. The shifting bottleneck procedure for job shop scheduling// Management Science. 1991. №34. P. 391-401.

[9] Fisher H., Thompson G. Probabilistic learning combination of local job-shop scheduling rules, in Industrial Scheduling. Prentice-Hall, Englewood Cliffs, N.J., 1963.

[10] Lawrence S. Supplement to "resource constrained project scheduling: an experimental investigation of heuristic scheduling techniques"// tech. rep., GSIA, Carnegie Mellon University, October

1984.

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

[12] Секаев В.Г. Использование алгоритмов комбинирования эвристик при построении оптимальных расписаний// Информационные технологии. 2009. №10. С. 6164.

[13] 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.

[14] Фролов Е.Б. MES-системы, как они есть или эволюция систем планирования производства / Е.Б. Фролов, Р.Р. Загидуллин. [Электронный ресурс] URL: http://www.management.com.ua/ims/ims142.html .

Матренин Павел Викторович - магистрант кафедры Автоматизированных систем управления НГТУ, автор более 10 научных статей. Область научных интересов и компетенций - стохастические алгоритмы оптимизации, роевой интеллект, информационные системы.

E-mail: pavel.matrenin@gmail.com.

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