УДК 518.12:519.2
Ю. А. МЕЗЕНЦЕВ
Новосибирский государственный технический университет
АЛГОРИТМЫ СИНТЕЗА РАСПИСАНИЙ МНОГОСТАДИЙНЫХ ОБСЛУЖИВАЮЩИХ СИСТЕМ В КАЛЕНДАРНОМ ПЛАНИРОВАНИИ
Предложены точный и приближенный алгоритмы решения задач синтеза оптимальных расписаний многостадийных обслуживающих систем. Алгоритмы ориентированы на практическое применение в календарном планировании и оперативном регулировании производственных процессов с дискретным характером. Приведены результаты расчетов контрольного примера на основе точного и приближенного алгоритмов, проведено сравнение и оценена трудоемкость алгоритмов при разных входных параметрах.
На сегодня существует устоявшаяся классификация задач теории расписаний (ТР) [ 1 — 3].
По типу обслуживающих систем (ОС) выделяют последовательные, параллельные и последовательно-параллельные ОС. Типы маршрутов обслуживания требований также существенны для классификации задач ТР. Различают многостадийные ОС с одинаковыми маршрутами обслуживания требований, ОС с фиксированными, но различными маршрутами, ОС с нефиксированными маршрутами. Дисциплин обслуживания, как правило, выделяют всего две: с прерываниями обслуживания требований и без прерываний. Дисциплина обслуживания учитывает и возможность (или невозможность) параллельного обслуживания нескольких требований одним прибором. Кроме этого, при классификации учитываются длительности обслуживания требований приборами. Выделяют ОС с одинаковыми длительностями обслуживания всех требований и ОС с различными длительностями обслуживания различных требований.
К настоящему времени найдены полиномиально сходящиеся алгоритмы решения ряда частных задач ТР, однако вместе с тем доказана NP-пoлнoтa большинства наиболее важных задач теории расписаний [3]. Таковыми, в частности, являются практически все задачи календарного производственного планирования.
Алгоритмы приближенного решения подобных задач составляют предмет данной публикации.
1. Многостадийные последовательные ОС
Рассмотрим многостадийную обслуживающую систему, состоящую из к различных приборов, которая обслуживает I требований. Маршруты обслуживания требований приборами фиксированы, но различны. Длительности обслуживания каждого требования каждым прибором также различны, Одновременно одним прибором может обслуживаться только одно требование. Прерываний обслуживания не допускается.
Данную задачу можно, например, интерпретировать как задачу календарного планирования деятельности производственного участка (цеха) [2, 4].
1.1. Формальная постановка задачи производственного участка
Пусть М = 1|, ц,, = П, Т = |г„ |, г = Г7. У = Г7 -матрицы маршрутов и длительностей обработки /
партий деталей на к различных станках, при максимальном количестве операций над одной партией./. Далее удобно перейти от двойной индексации операций над партиями деталей на станках к одинарной, учитывая уникальность каждой операции. Поэтому длительность i'-й операции обозначим tr Введем также обозначения:
А — множество деталеопераций (операций над всеми партиями деталей), включая фиктивные1;
U — множество логических условий предшествования — следования операций;
V — множество логических условий неодновременности выполнения операций;
G= (A,U,V) — некоторый оператор над множествами деталеопераций и логических условий, которым должен удовлетворять процесс обслуживания. В частности G = (A,U,V) можно интерпретировать как смешанный граф с множеством вершин А, множеством дуг U и множеством ребер V.
/(.= /(д(;11 — множество индексов операций и логических условий, определяемых на G; л — общее число операций; j-i — директивный срок окончания всех операций; I* — директивный срок окончания / -й операции; xt — искомое время начала выполнения операции
v' е Ve.a) ■
Целесообразно использовать фиктивные начальную и конечную операции с временем начала выполнения соответственно 0 и хп. Тогда задача производственного участка может быть представлена следующим образом:
Z = хп —> min , (1)
т.е. минимизируется общее время завершения всех операций (длина расписания). Данный критерий качества расписания не единственен. Часто используется ряд других критериев. Например,
-> min г а, > 0 Vi е А.1.0.a, ~ взвешенная в соот-
'бЛ,
ветствии с приоритетом операции сумма моментов времени начала выполнения операций, либо
-t^f ->min, которая минимизирует сум-
2>,н
''-'л
марное отклонение от заданных директивных сроков завершения операций, Определим также:
< Г1. (2)
необязательное ограничение по директивному сроку выполнения плана;
' Операции с нулевым временем выполнения
х< Х1 "Ч й О I <= 1<л.и.е» < (3)
если известно, что операция у непосредственно следует во времени за операцией /.
Если операции / и у одновременно не могут выполняться, но последовательность их выполнения заранее не оговорена, то должно быть справедливо одно из неравенств: либо х/ -х, >0, либо х, -х1 > о . Поставим в соответствие каждой паре таких операций 1 и у величину и>.., принимающую значение и^ = 1, если операцию / решено выполнять раньше операции у,и и^ =0 в противном случае. Т.е.
Р1, если операция / предшествует у
^ ~ |о, в противном случае; '^ 6 (4)
тогда ограничение на порядок следования операций можно записать в виде:
- > ~ х, > - В(1 - и>„), у) £ /(Л0.К), (5) где В — достаточно большое число. Кроме этого, очевидно
х, > 0 . ; = Пи - (6)
С учетом ограничений (2) — (6) возникает проблема выбора календарного плана, оптимального либо по критерию быстродействия (1), включая разновидности, либо по критерию стоимости. Данная формальная постановка задачи календарного производственного планирования является одной из самых компактных [2]. Существует ряд альтернативных постановок [2, 3], однако большинство из них порождают задачи целочисленного программирования гигантских размерностей при описании даже сравнительно простых объектов [5].
1.2. Графическое представление задачи производственного участка
Будем отображать сетевые модели задач на составление расписаний производственного участка в представлении «узел —операция». Отдельные операции изображаются вершинами (узлами) сети, с помощью дуг задаются технологические маршруты обслуживания требований (партий деталей), с помощью ребер — условия неодновременности обслуживания различных требований одним прибором (станком). Представленная на рис. 1 сеть отображает определенный выше смешанный граф С = (А (/, V).
При замене произвольного ребра дугой устанавливается отношение предшествования — следования между двумя операциями. Получаемая в результате замены всех ребер дугами нормальная бесконтурная сеть определяет допустимое расписание (допустимый календарный план) работы производственного участка.
Поэтому оптимальное решение сформулированной выше задачи (1) — (6) графически эквивалентно такой замене всех ребер смешанной сети й дугами, которая определяет нормальную бесконтурную сеть, порождающую расписание минимальной длины. Очевидно, что верхняя оценка Ь числа вариантов решения рассматриваемой задачи
Рис.1. Смешанный граф G=(A,U,V)
календарного планирования равна 2К. Где К = = arg тах(/(0 ИИ,) — количество ребер в сети G.
1.3. Алгоритмы синтеза расписаний многостадийных последовательных ОС
Предварительно отметим наличие взаимнооднозначного соответствия сформулированной выше задачи (1) — (6) и ее графического представления. В частности матрицу коэффициентов левых частей условий (3), (5) можно интерпретировать как матрицу смежности смешанной сети G=(A, U, V). Довольно давно известны и универсальные алгоритмы решения задач класса (1) — (б)2. Однако специфика данной задачи, которая понятна из приведенного выше ее графического представления, позволяет разработать более эффективные алгоритмы, максимально использующие эту специфику.
Для удобства дальнейшего изложения через Ufj обозначим дугу из U, соединяющую операции / и у (i предшествует у). Через V.. обозначим ребро из V между операциями i и j (V^—V^). Через ИЛ и Wt] обозначим пару дуг, заменяющих ребро VfJ, где W:j - W.. Заметим, что для обозначения ориентации дуг достаточно введенных выше булевых переменных W =i и WfJ= 0. Обозначим также через W множество дут, заменяющих все ребра из V, которое порождает бесконтурную сеть G' = (A,UW ,05), где Uw = и u W. называемую временной моделью. Тогда формально задача состоит в нахождении такого множества VV, которое порождает допустимую временную модель, определяющую расписание минимальной длины.
1.3.1. Алгоритм ветвей и границ поиска кратчайшего расписания
1. Все ребра из Аранжируются по убыванию конфликтности, которая определяется количеством конкурирующих относительно одного и того же прибора требований в каждый интервал времени. Отбрасываются все ребра смешанной сети G = (А, U, V). Получаемый при этом граф G" =(A,U,(d) также является временной моделью. Расписание, определяемое графом с" =(A,U,0), не является допустимым относительно исходных условий, но тем не менее с его помощью можно получить первоначальную оценку нижней границы решения исходной задачи.
2. В соответствии с рангом из множества V выбирается ребро Vijt заменяется парой дуг ИЛ и ИЛ,, каждая из которых добавляется к текущей ослабленной задаче, в результате чего образуется пара новых подзадач.
3. Методом критического пути (МКП) [6] определяются нижние оценки решений каждой из подзадач. Процедура МКП определяется правилами нахождения времени раннего начала и позднего окончания операций: t'" = max (tf" + t,}, t"° = = min [t"°-t. Подзадача, соответствующая наименьшей нижней оценке, проверяется на оптимальность, что означает построение G' =(A,UW',<Z) ■ При оптимальном решении процесс завершается, иначе выполняется п. 4.
4. Подзадача, соответствующая наименьшей нижней оценке, выбирается для дальнейшего ветвления, после чего осуществляется переход к п. 2.
Понятно, что кроме специфической для смешанной сети схемы формирования подзадач, в конечном итоге порождающей кратчайшее рас! Наиболее употребимы в данном случае алгоритмы на основе метода ветвей и границ 1МВГ)
Рис. 2. Смешанная сеть для примера 1.1
писание, основным отличием приведенного алгоритма ветвей и границ от той же схемы, применяемой для решения частично-целочисленных задач типа (1) — (6), является применение МКП для решения оценочных (релаксированных) подзадач. Данное обстоятельство позволяет снизить общую трудоемкость решения задач ТР рассматриваемого класса, по крайней мере, в л раз по сравнению с использованием МВГ для решения задач непосредственно в представлении (1) — (6), где п — размерность матрицы смежности сети С. Для иллюстрации алгоритма рассмотрим следующие примеры.
Пример 1.1. Пусть имеются четыре различных прибора (станка), пронумерованные по порядку от 1 до 4-х (/ = 1,4), на которых обрабатываются три требования (партии деталей) (¿ = 1,3). При этом матрицы технологических маршрутов М и трудо-емкостей обработки Т имеют вид:
М =
1
6 О 15 О 9 9
Каждой строке (к = 1,3) в матрице М соответствует технологический маршрут обработки партии деталей под номером к , который задан последовательностью номеров станков в порядке, определяемым технологией.
Соответствующая смешанная сеть С=(А, и, V) представлена на рис. 2. Для наглядности положим номер узла (операции) /, опирающимся на номер партии деталей (к ) и на номер станка (/), накотором производится операция над партией деталей. Для этого переобозначим тройкой (к,1,ц) операцию / обслуживания партии деталей к станком / в <7 -й по очереди раз. (Индекс д вводится также для наглядности [2].) Вместе с тем для краткости, как и ранее, будем полагать = (¿,,/,,4,), ] = (к2,11,дг) — номера операций из А.
В соответствии с п.1. алгоритма при ранжировании ребер исходной смешанной сети получаем упорядоченное множество из девяти элементов
Л
111.211'' 111.311-' 211311
Л.
V V
' ' 121.221 - 2 12.311
111.212- ' 221.321 * ^ 121.321 -
''141.341) •
Все ребра отбрасываются. Определяемая при этом временная модель й" =(А,Ь',0) соответствует подзадаче 1 в дереве решений (рис. 3).
В соответствии с пп. 2 — 4 выполняются шаги алгоритма.
При завершении работы алгоритма получаем следующую оптимальную последовательность дуг из
fV-.IV' = {К'иип. И/|111311,И/2П311. ^121.221. И'212.711,^,1.212 • ^221.321 :
II' IV \ 121.321 141,311 / '
Соответствующая временная модель (подзадача 9.1 в дереве решений) С' =(А.Ь'"' ,0) с рассчитанными временными характеристиками операций изображена на рис. 4. В верхнем секторе каждой вершины указан номер операции, в нижнем — длительность, в левом секторе — раннее время начала, в правом — позднее время окончания операции. Критическое время 36 часов для данного примера является наименьшим временем завершения всех операций.
Рис. 3. Дерево решений
1.3.2. Оценка трудоемкости точного алгоритма
Количество ребер в сетевой модели определяет трудоемкость точного решения задачи календарного планирования. Сделаем по этому поводу следующие допущения.
Пусть для любого требования (партии деталей) среднее число операций, связанных отношением неодновременности выполнения, т.е. конкурирующих по прибору, с каждым другим требованием равно я. Тогда приблизительное общее количество
ребер в сети С составит величину: К = ¿(7-1) +
+ 5(У-2) + ... + 5 = 5У2/2 . Пусть ^ = 10, / = 100, J = 100, тогда /С = 50000 ■ Заметим, что для современного производства сделанные предположения о параметрах производственного процесса определяют типичный (вполне заурядный) объект.
Поскольку верхняя оценка I числа вариантов решения рассматриваемой задачи календарного планирования равна 2ки данная задача является ЫР-полной [7], то верхняя оценка числа шагов любого комбинаторного метода ее решения также равна I
|250(1(Ю|
Существует ряд приемов снижения размерности [7—10]. Все известные вычислительные схемы снижения трудоемкости задач календарного плани-
<
2
а. О в
Рис. 4. Подзадача 9.1
рования можно отнести к трем направлениям: 1) декомпозиция исходной задачи; 2) использование приближенных методов; 3) адаптивное сужение области поиска [5, 11].
Рассмотрим один из возможных подходов, позволяющий добиться приемлемой трудоемкости при решении реальных задач календарного планирования, удовлетворяющих условиям (1) — (6).
Данный подход можно охарактеризовать как гибридный, поскольку он опирается на принцип декомпозиции с использованием эвристических правил. На его основе выстраивается приближенный алгоритм, точность которого можно оценить.
1.3.3. Приближенный алгоритм синтеза кратчайшего расписания
1. Множество ребер у смешанной сети й предварительно разбивается на упорядоченный ряд непересекающихся подмножеств у, (р = 1,Р),т.е. V = { У\ У1,..., Ур}. Для этого определяются: величина Р (количество подмножеств), число и состав элементов каждого подмножества. Количество элементов тг подмножеств у, ( р = 1, Р) может быть различным в зависимости от специфики задачи. Целесообразно использовать, например,
а^тах(/00„)
0> = !,/»-!)
т,. = а^тах(/00и)-
р' |
где
— целая часть
отношения
Ь '
Для решения вопроса о порядке и составе подмножеств, применим два способа: 1) включения ребер в очередное подмножество у в количестве т,, в порядке следования операций в М, при этом весьма эффективен принцип равномерности потоков операций относительно требований*1; 2) включения ребер в очередное подмножество у в количестве т,, в соответствии с их рангами (п. 1. алгоритма 1.3.1).
2. Аналогично п. 1. алгоритма 1.3.1 образуется начальная временная модель С" = (А,и.0)> и> как отмечалось ранее, недопустимое в общем случае расписание, порождаемое графом С" = (А,и.0), с оценкой нижней границы решения исходной задачи. Из упорядоченного множества Г = { У1, У2.....I-'''}
выбирается подмножество у', (т.о. р = 1).
3. В соответствии с рангом из множества у выбирается ребро У/, заменяется парой дуг И? и \УР,, каждая из которых добавляется к текущей ослабленной подзадаче, в результате чего образуется пара новых подзадач.
4. Процедурой МКП определяются нижние оценки решений каждой из подзадач. Подзадача, соответствующая наименьшей нижней оценке
проверяется на оптимальность относительно вре-
р
менной модели с = (А.1'"'\ 0). где ци'' = ^и^".
При оптимальном решении производится проверка на окончание процесса, которое наступает при р = Р, В противном случае (р<Р), выбирается следующее подмножество из К, т.е. р +1 и выбирается с1, после чего следует вернуться к п.З. Если оптимальное относительно временной модели С - (А. и" .0) решение не получено, то выполняется п. 5.
5. Подзадача, соответствующая наименьшей нижней оценке, выбирается для дальнейшего ветвления, после чего осуществляется переход к п. 4.
Для иллюстрации работы алгоритма вернемся к условиям примера 1.1. Множество У = {Уи\ли>К
211 311' 121,221' 212,311' 111,212' 221.321' 121,321' '141,341
V У
' ' 221.321 >к 12
пии> в соответ-
ствии с принципом Корчагина разобьем на три подмножества: У = { У1, У2, где У* ={Ут1п>Кмп>Кюп) .
^ ={К|1.212>^212.311>'/121.22|}' У = 221.321 > ^121.321 > ^41.341} ■
В результате применения алгоритма 1.3.3 синтезируется нормальная бесконтурная сеть (рис. 5), порождающая субоптимальное по быстродействию расписание, которое на поверку совпадает с оптимальным (ср. рис. 4.), полученным с помощью точного алгоритма. На рис. 5 дуги И'/, р = 1,2,3 для р = 1 изображены сплошными линиями, для р = 2 — пунктирными, для р = 3 - штрихпунктирными линиями. Сравнивая дерево решений, полученное при использовании приближенного алгоритма (дерево на рис. 3 за исключением фрагмента, оконтуренного пунктирной линией) с деревом решений на основе точного алгоритма (полное дерево на рис. 3), можно легко заметить, что первое является подмножеством второго. Данный факт не является следствием какой-либо закономерности. Однако в данном случае его можно считать иллюстрацией отсутствия гарантии достижения оптимума посредством алгоритма 1.3.3.
1.3.4. Оценки трудоемкости и точности приближенного алгоритма
Верхняя оценка трудоемкости решения рассматриваемой задачи календарного планирования при использовании алгоритма 1.3.3 определяется
й ' • Для приведенного выше
величинои
примера гипотетической ОС (производственного участка с к = 50000). положив тР= 10, Ур = 1,500 , получим ¿„^ = 500-2'" = 512000 . Сравнив этот результат с оценкой трудоемкости точного алгоритма ( ¿ = 25""""). легко прийти к выводу о ничтожности по современным меркам при заданных параметрах Шр трудоемкости решения задачи приближенным алгоритмом и о принципиальной неразрешимости-той же задачи в рамках точного алгоритма.
Оценим точность решения задачи синтеза оптимального расписания последовательной ОС рассматриваемого класса. Под точностью решения будем понимать степень близости полученного расписания к оптимальному. Поскольку выше в качестве основного критерия эффективности выбран показатель быстродействия ОС, то под оценкой точности решения естественно понимать отклонение вычисленной посредством приближенного алгоритма длины расписания от оценки его оптимального значения. Поэтому оценка точности
1 Прем°жен И.Я. Корчагиным (12,13]
Рис. 5. Граф оптимального расписания
решения прямо зависит от оценки оптимального быстродействия ОС. Можно предложить несколько оценок оптимального быстродействия ОС в рамках приближенного алгоритма 1.3.3. В качестве нижней оценки критерия эффективности целесообразно использовать критическое время временной модели й' = (А,и"'',0) г (/> = !)■ Верхней границей, естественно, является критическое время временной модели & =(А,и"г ,0). (р = Р)- Наконец средней оценкой естественно считать критическое время модели
G'=(A,UW\&), где 0 =
Более точные оценки можно получить, исследуя различные разбиения V = { V[, У2,..., 1/Р}, варьируя способы построения подмножеств у и величины тР,\/р = 1Р.
Подводя итог вышесказанному, отметим два обстоятельства: 1) точный алгоритм синтеза оптимальных расписаний последовательных ОС на базе МВГ является частным случаем приближенного алгоритма (при р = \); 2) при использовании приближенного алгоритма необходимо находить разумный компромисс между точностью и трудоемкостью, которые легко регулируются параметрами алгоритма. Подобный подбор параметров предполагает активное вмешательство эксперта и подразумевает диалоговую процедуру.
Библиографический список
1. Коффман Э.Г. и др. Теория расписаний и вычислительные машины. — М.: Наука, 1984. — 336 с.
2. Танаев B.C., Шкурба В.В. Введение в теорию расписаний. - М.: Наука, 1975. - 256 с.
3. Танаев B.C., Сотсков Ю.Н., Струсевич В.А. Теория расписаний. Многостадийные системы. — М.: Наука, 1989. — 328 с.
4. Первозванский A.A. Математические модели в управлении производством. — М.: Наука, 1975. — 616 с.
5. Мезенцев Ю.А. О применимости метода ветвей и границ для решения задач календарного производственного планирования // Вестник Хакасского государственного университета. — 2001. - Вып. 4. - Серия 1. - С. 97-102.
6. Филлипс Д., Гарсиа-Диас А. Методы анализа сетей. — М.: Мир, 1984.- 496 с.
7. Сергиенко И.В. Математические модели и методы решения задач дискретной оптимизации. — Киев: Наукова думка, 1985. - 382 с.
3. Алексеев О.Г. Комплексное применение методов дискретной оптимизации. — М.: Наука, 1987. — 348 с.
9. Гррмейер Ю.Б. Введение в теорию исследования операций. - М.: Наука, 1971. - 368 с.
10. Емеличев В.А., Комлик В.И. Метод построения последовательности планов для решения задач дискретной оптимизации. - М.: Наука, 1981. - 208 с.
11. Мезенцев Ю.А. Об одном алгоритме решения задач теории расписаний в приложении к календарному производственному планированию // Материалы VI международной конференции: Актуальные проблемы электронного приборостроения. АПЭП 2002. - Новосибирск, 2002. - С. 180-189.
12. Иванов Л.Н., Корчагин И.Я. Проблемно-ориентированная концепция построения структур массово-параллельных вычислительных систем // Автометрия. — 2002. — Т. 38. - №5. - С. 68-75.
13. Корчагин И.Я. Использование метода аналогий в задачах распределения ресурсов и маршрутизации сообщений в массово-параллельных вычислительных системах // Вестник Хакасского государственного университета. — 2003. - Вып. 5. -Серия 1. - С. 53-58.
МЕЗЕНЦЕВ Юрий Анатольевич, кандидат экономических наук, доцент кафедры экономической информатики.
Дата поступления статьи в редакцию: 01.03.06 г. © Мезенцев Ю.А.
Информация
Создаётся первая лаборатория по разработкам IBM
В России открыта первая лаборатория по разработкам IBM, в которую компания намерена инвестировать в течение ближайших трех лет 40 миллионов долларов и количество сотрудников которой к концу 2008 года должно достигнуть 200 человек. Лаборатория будет специализироваться на разработке технологий мэйнфреймов. По словам председателя совета директоров и главного исполнительного директора корпорации IBM Сэмюеля Дж. Пальмизано, российская лаборатория является четвертым центром разработок, открытым корпорацией IBM за последние несколько месяцев. Ранее IBM сообщала об открытии Центра технологий Linux в Сан-Паулу (Бразилия), Центра решений и технологий в Бангалоре (Индия) и Лаборатории по разработкам технологий мэйнфреймов в Шанхае (Китай).
Среди главных задач новой лаборатории - привлечение талантливых российских специалистов к разработке оборудования и программного обеспечения для бизнеса и научных целей. Кроме того, с помощью лаборатории IBM намерена укрепить свое присутствие на российском рынке.
Один из первых проектов лаборатории будет направлен на разработку части операционной системы для мэйнфрейма IBM System z. Команда отечественных специалистов будет помогать совершенствовать ПО Data Facility Storage Management System (DFSMS). Кроме того, российские инженеры будут сотрудничать с коллегами из США и Германии, занимаясь совместной разработкой и тестированием систем IBM Blade-Center нового поколения.
Для поддержки развития лаборатории IBM планирует тесно сотрудничать с ведущими российскими вузами, такими как МГТУ им. Н.Э.Баумана, МГУ им. М.В.Ломоносова, Санкт-Петербургским, Новосибирскими Нижегородским госуниверситетами, атакже с Российской академией наук. Специалисты IBM намерены искать таланты и в других странах СНГ, в том числе в Казахстане, Узбекистане, Белоруссии и на Украине.
http: //www. ras. ru/ne ws/shownews. aspx