УДК 519.874
ПОСТРОЕНИЕ РАСПИСАНИЙ ВЫПОЛНЕНИЯ ЗАДАНИЙ ДНЯ ПАРАЛЛЕЛЬНО РАБОТАЮЩИХ СИСТЕМ МАШИН
И ПОТОЧНЫХ ЛИНИЙ
Ю.А. Зак
В развитие Ио'^8Ьор-РгоЪ1ет рассмотрены постановки и математическая модель задачи построения расписаний для параллельно работающих систем машин в условиях заданной системы ограничений на сроки выполнения заданий. Исследованы свойства допустимых и оптимальных расписаний и предложены методы решения задачи с помощью последовательных алгоритмов оптимизации. Приведены числовые примеры.
Ключевые слова: система машин, параллельная работа, Flow-Shop-Problem, ограничения, сроки выполнения, допустимые и оптимальные расписания, оптимизация, последовательные алгоритмы.
введение
Рассматриваемая задача построения расписаний для параллельно работающих систем машин и автоматических (поточных) линий в некоторой степени обобщает классические задачи теории расписаний выполнения работ на параллельных машинах и Flow-Shop-Problem (см., например, работы [1—4]). В отличие от рассматриваемых в литературе обобщений в виде Hybrid Flow-Shop Sсheduling Problem (см., например, работы [5—7]), где каждая j-я операция любого задания может выполняться на любой из параллельно стоящих на j-й стадии обработки M машинах (т. е. все последовательные стадии обработки всех операций одного задания не объединены в одну технологическую линию), в рассматриваемой постановке каждое из N заданий должно выполняться только на одной технологической линии, состоящей из K последовательно работающих машин. В публикациях [5—7]) были предложены только приближенные и эвристические методы решения этих задач без учета всего комплекса ограничений на сроки выполнения заданий и времена работы машин. В настоящей работе предложены точные методы решения сформулированной ниже важной для практических приложений проблемы.
На M параллельно работающих системах машин (участках, автоматических линиях), каждая из которых включает в себя K последовательно работающих машин, необходимо выполнить N заданий. Каждое задание состоит из одного и того же числа работ (операций), равном K, и может выполняться только на одной технологической линии.
Операции всех заданий выполняются в одной и той же и одинаковой для всех заданий последовательности. Выполнение каждой операции может быть назначено только на соответствующей машине; т. е. первая операция выполняется на машине 1, вторая — на машине 2 и т. д., и Х-я операция — на
машине К. Заданы — времена выполнения к-й
операции /-го задания на 1-й технологической линии. Если в /-м задании к-я операция отсутствует,
то полагаем значение = 0. Следовательно, все
перемещения, связанные с окончанием выполнения задания на одной машине и началом выполнения его на другой, должны следовать в одном направлении. Рассматриваемая совокупность последовательно работающих машин каждой технологической линии представляет собой систему конвейерного типа.
Необходимо определить непересекающиеся подмножества заданий, выполняемых на каждой технологической линии, а также оптимальные последовательности выполнения заданий каждого из сформированных подмножеств, удовлетворяющие заданной системе ограничений на сроки выполнения заданий и времена работы машин и доставляющие экстремальное значение некоторому критерию оптимальности.
Рассматриваемая далее обобщенная постановка задачи Flow-Shop-Problem для параллельно работающих систем машин (технологических линий) может быть сформулирована в условиях следующих предпосылок.
• Система состоит из I = 1, ..., М параллельно
функционирующих технологических линий,
каждая из которых включает в себя к = 1, ..., К последовательно работающих машин (рабочих станций). Каждая машина во всех технологических линиях в любой момент времени может выполнять не более одной операции, номер которой равен номеру этой машины, и может начать выполнение операции с тем же номером другого задания только после завершения выполнения операции задания, стоящего в последовательности выполнения на данной технологической линии непосредственно перед ним. Временами переналадок, необходимыми при переходе машин от выполнения операции предыдущего задания к последующему, можно пренебречь.
• Необходимо выполнить N заданий. Выполнение каждого из заданий может быть назначено только на одну из технологических линий.
• Каждое задание состоит из некоторой последовательности работ (операций) к = 1, ..., К, которые должны выполняться в строго установленной и одинаковой для всех заданий последовательности друг за другом. При этом операция с индексом к может выполняться только на определенной технологическим регламентом машине с соответствующим индексом к.
• Длительности выполнения каждой из этих операций ^ (?/к) известны и могут быть различны
для соответствующих машин различных технологических линий, они зависят от последовательности выполнения остальных заданий на этой или других машинах. Никакая из этих операций не допускает прерываний в процессе ее выполнения.
• Для каждого задания и для каждой машины всех рабочих станций могут быть заданы ограничения на начальные и конечные сроки его выполнения и времени работы, которые не могут быть нарушены. Если такие ограничения отсутствуют, то для начальных сроков эти граничные значения устанавливаются равными нулю, а для конечных — да.
• Все граничные значения и времена выполнения операций предполагаются целочисленными величинами.
Необходимо найти подмножества заданий, выполняемых на каждой технологической линии, а также последовательность выполнения заданий каждого из этих подмножеств, в условиях ограничений, что сроки начала и окончания работы машин, начала и завершения выполнения отдельных заданий удовлетворяют всей сформулированной системе ограничений. В качестве критериев оптимальности могут быть выбраны различные показатели эффективности построенного расписания. Как частный случай сформулированной задачи
могут рассматриваться задачи, в которых ограничения на допустимые сроки выполнения заданий и работы машин отсутствуют.
В то время как для Flow-Shop-Problem и задачи построения расписаний выполнения работ на параллельных машинах разработаны алгоритмы получения точных и приближенных решений (см., например, работы [2—4, 8, 9]), исследованию свойств этой важной для практических приложений задачи не уделялось достаточного внимания в литературе. Автору не известны публикации, в которых были бы предложены эффективные методы решения сформулированной задачи для различного вида критериев оптимальности и в условиях заданной системы ограничений. В данной работе рассматривается математическая модель задачи построения расписаний на параллельно работающих системах машин, исследуются свойства допустимых и оптимальных расписаний и предлагаются точные и приближенные методы решения задачи последовательными алгоритмами оптимизации и эвристическими алгоритмами. Алгоритмы решения иллюстрируются числовым примером.
1. математическая формулировка задачи
Так как номер операции однозначно определяет и номер машины, на которой она выполняется, то множество индексов (/, к, I) однозначно идентифицируют каждую операцию любого задания.
Введем обозначения:
П = {1, ..., к, ..., К} — последовательность выполнения операций, одинаковая для каждого задания;
к, I) — время выполнения к-й операции 1-го задания на к-й машине 1-й технологической линии;
Ь, Б1 — соответственно граничные сроки на начало и завершение выполнения /-го задания;
11к Тт1к
п , Н — соответственно граничные начальные и конечные времена возможности использования к-й рабочей станции 1-й технологической линии.
Если величины Ь{ или П1к не заданы, то они полагаются равными нулю. В случае отсутствия граничных значений Б{ или Н1к они полагаются равными да.
Обозначим:
Т1 I -1 -1 -1 1 лт1
I = {11, ..., 1р, ..., 1Н} и N — соответственно
подмножество и число заданий, выполняемых на
~ 1 ~х
1-й технологической линии, I П I = 0, I, X =
= 1,
м ~, м ,
И, I* X; и^ I = I = {1, ..., N}; £ N = N
1= 1
x(i, k, l) — время начала выполнения операции (i, k, l);
9(i, k, l) — допустимый наиболее ранний срок начала выполнения операции (i, k, l);
a(i, k, l) = x(i, k, l) + t(i, k, l) — 1 — время завершения выполнения операции (i, k, l);
T = a(i, K, l) — время завершения выполнения всех операций i-го задания на l-й поточной линии;
T = max max T. = a(i, K, l) — время окончания
1 < i < м{ e I 1
выполнения всего множества заданий.
Ограничения на начало выполнения каждой операции первого из выполняемых заданий на каждой из технологических линий имеют вид:
x( i[, 1, l) l 9( i[, 1, l) = max(b, h11), l = 1, ..., M;
— минимальное суммарное или средневзвешенное время работы машин всех технологических линий
м к
F4 =
X X iN, k, I)
I = 1 к = 1
В выражениях (6) и (7) w¡ 1 0, / = 1, ..., N и в11 0, I = 1, ..., М, Пк 1 0 — некоторые весовые коэффициенты, удовлетворяющие условиям нормировки
N М М К
X w = l, X ßi = 1, XX nlk
= i.
i = 1
l = 1
l = 1 k = 1
2. свойства допустимых и оптимальных
расписаний
х(/[, к, I) 1 9(/[, 1, 0 = тах(ст(/[, к-1, I) + 1, Н1к), к = к + 1, ..., Х, I = 1, ..., М. (1)
Допустимый наиболее ранний срок начала выполнения операций (/, к, I) определяется выражением
х(/, 1, I) 1 9(/, 1, I) = ст(/ - 1, 1, I) + 1,
х(/, к, /) 1 9(/, к, /) = = тах{ст(/ — 1, к, /), а(/, к — 1, /)} + 1,
ll i2 , ..., iN
l = 1, ..., M,
(i — 1) = ij, i = i2, ..., , k = k + 1, ..., K,
где
ст( i1 — 1, k, l) = 0, i = ij, i
l l l 1 , '2 , ..., 'n.
(2)
(3)
Ограничения на времена завершения выполнения заданий могут быть представлены в виде
Т = ст(/, Х, I) < т1п(Вг; Н1К), / = 1, ..., N. I = 1, ..., М. (4)
В качестве критериев оптимальности могут рассматриваться следующие показатели:
— выполнение расписания в кратчайшие сроки
F1 = min max maxa(i, K, l), 1
1 s J s m , e i
(5)
Обозначим: t (i, k) = t (i, k, l) = min t(i, k, l);
1 s l s M
hk = min hlk; Hk = max Hlk; k = 1, ..., K. 1 s ls M 1 s l s M
Пусть известны подмножества выполняемых
заданий на каждой поточной линии /l, l = 1, ..., M. Вычислим значения ранних сроков завершения
выполнения работ на k-й машине (glk), на последних (K — k) машинах (k = 1, 2, ..., у, ..., K — 1) каждой технологической линии G , а также оценку нижней границы времени выполнения всех зада-
ний на k-й машине на всех линиях — R
k
-lk ■ g = min
i e Ii
k
9(i, 1, l) + X t(i, Y, l)
Y = 1 .
l = 1, ..., M, k = 1, ..., K;
nlk .
G = min
г e Ii y = k
X t(i, Y, l),
l = 1,
M, k = 1,
(8)
, K;
Rk = E
f-k N -h + X t (i, k)
г = 1
k = 1, ..., K. (9)
Здесь и в дальнейшем Е [а] — наибольшее целое значение величины в квадратных скобках, т. е.
— минимальное средневзвешенное время, затраченное на выполнение всех заданий
N
f2 = X wP(i, K, l); i = 1
(6)
— минимальное суммарное или средневзвешенное время технологических линий
M
N
F3 = X ßMi , K, l);
(7)
l = 1
Е[а] = [Iа, если \а = а,
[а + 1, если |а| < а < \а\ + 1,
где |а| — целая часть числа а.
Утверждение 1. Время завершения выполнения всех заданий на параллельно работающих системах машин (значение критерия оптимальности Е1) не может быть меньше величины
F l LiF,) = max max (glk + G- 2t(i, k, l)). ♦ 1 0 1 1 i/ 1
^lk
1 s l s M 1 s k s K
k
1к
Определим времена начала Ь и завершения
01к выполнения всех работ на каждой из машин всех поточных линий к = 1, ..., К, I = 1, ..., Ь:
Т 11 ,,;1 , п
Ь = тах[п , тт Ь.],
1 < 1 < N 1
011 = тах[П11, т1п Ьг] + £ 1, I),
1 < 1 < N
1 е I
I = 1, ..., Ь;
Л 1к п
Ь = тах{П; тт[9(/, (к — 1), /) + (к - 1), /)]},
1 е I к = 2, ..
К, I = 1,
Ь;
01к = Ь1к + £ ?(/, к, /),
к = 2,
1 е I
К, I = 1,
Ь,
(11)
(12)
где значения 9(/, (к — 1), I) вычисляются по формулам (1) и (2).
Утверждение 2. Время завершения выполнения всех заданий не может быть меньше величины
Р, 1 ^1) =
= тах тах
1 < 1 < М 1 < к < К
01к + в1к — 2 £ I, к) I. ♦
1 е I
В случае отсутствия ограничений на времена работы машин и сроки начала и завершения выполнения заданий (Пк1 = Ь. = 0, Нк1 = Б. = да;
к = 1, ..., К, I = 1, ..., Ь, / = 1, (8)—(10) упрощаются:
., Щ выражения
к _к я1к = т1п £ ?(/, у, /), Л = Е
1 е I у = 1
N
N
£ t (/, к)
1 = 1
Л /1
ь = £ 1, 0, к = 1, ..., К, I = 1,
1 е I'
Ь,
и оценки значения критерия оптимальности и вычисляются по более простым формулам.
Обозначим: и , /2° и У21ш — соответственно подмножества и подпоследовательности выполнения заданий на 1-й поточной линии в ю-м подмножестве анализируемых вариантов, развитие которых в дальнейшем соответственно целесообразно, и после того, как построены все допустимые
последовательности для данной линии; стк( У/Ш), к = 1, ..., К, — времена завершения выполнения всех заданий на к-й машине для последовательности У/Ш; /р(У/Ш) — значение соответствующего критерия оптимальности для последовательности
У^ . В частном случае /1( У^) = стК( У^).
Утверждение 3. Если для двух вариантов ю и п в процессе построения последовательностей выполнения заданий на некоторой 1-й поточной линии справедливы соотношения
/П с /Ш , аЛ У^) < аЛ У^), к = 1, ..., К;
/„(У>11ш) < /„( V?), р = 1, ..., р,
I / - з (13)
и хотя бы одно из неравенств выполняется как стро-(10) гое неравенство, то последовательность У1 пред-
почтительнее последовательности У^ У^, и последняя может быть исключена из рассмотрения как неперспективная. ♦
Следствие. Если справедливы соотношения
с /2°, ак( У?) < ак( У?), /( У?) < /( У?),
р = 1, ..., р,
(14)
1ю
то последовательность У2 предпочтительнее последовательности У21п, и последняя может быть исключена из рассмотрения как неперспективная. ♦ Правило отсева (14) может применяться, когда построены все допустимые последовательности
У21ш, а правило (13) — в процессе их построения.
Обозначим О™(Х) — ^-й рассматриваемый вариант объединения Х-последовательностей У2Ш
Т ы
подмножества заданий /2 , I = 1, 2, ..., X, выполняемых на первых Х-поточных линиях, X = 2, ..., Ь;
/ [О™(Х)] — подмножество заданий, входящих в О*(Х);
~ X ~ ~ 1- Ш
/ [О*(Х)] = и1 /2 , где /2 = 0, 11, ^2 1, ..., Х, * ^2'
(15)
^ДО^Х)] — значение соответствующего критерия оптимальности для О™(Х). Так, например,
Т 1ш ,
РЛО^Х)] = тах стК(/1 ), 1 1 < 1<х К
1т ,
Р^Х)] = £ Стк(/1 )
(16)
1= 1
Утверждение 4. Если для двух вариантов и w2 объединения последовательностей О (Х) и
О 2 (Х)
справедливы соотношения
/ [ О^2 (Х)] с / [ О^1 (Х)]; Рр[ О1 (Х)] т Рр[ О2 (Х)], (17)
и хотя бы одно из неравенств выполняется как строгое неравенство, то объединение О (Х) предпочти-
X
тельнее П 2 (X), и объединение П (X) может быть исключено из рассмотрения как неперспективное.
Оценки возможности выполнения заданной системы ограничений. Положив ст(/, 0, I) = 0, вычислим времена начала и завершения выполнения работ на каждой машине
х(/, к, I) = тах(Ик, ст(/, к — 1, I) + 1), ст(/, к, I) = х(/, 1, I) + к, I) — 1,
/ = 1, ..., N к = 1, ..., Х, I = 1, ..., X.
Утверждение 5. Если для некоторой пары индексов (1, I) справедливо неравенство
ст( /, Х /) > В, (18)
то выполнение / -го задания на I -й поточной линии
недопустимо. Если для некоторого / -го задания неравенство (18) справедливо для всех значений индек-
, ..., X, то система неравенств задачи не-
сов I = 1 совместимая. ♦
Пусть на некотором 5-м шаге решения задачи
определены I — подмножества заданий, выполняемых на 1-й поточной линии.
Упорядочим все задания / е в последовательность
и = {ы1 , ы2 , ..., ыр , ..., иР | ыр е I , р = 1, ..., Р; В(и1!) < В(и1" !), р = 1, ..., Р — 1},
т> т"1
где Р — число элементов подмножества I . Вычислим значения
х(ы15, 1, I) 1 9(щ , 1, I) = тах(Ь, И11), х(/, к, I) 1 9(/, к, /) = тах{ст(/ — 1, к, /),
ст(/, к — 1, /)} + 1, / = ы25, .
• _ 1$ / • 1 \ _
и, если / = ыр , то (/ — 1) = ыр _ 1
1$
., ыр,
р ' ^ V ^ р -ст(/, 1, I) = х(/, 1, /) + 1, /) — 1,
1$
/ = ы1 ,
1$
ы2 , ..., ыр , ..., ыР .
= тт
I е I
Y*(k, /) = X к, /), £ $ (к, /) =
/ е 1
к -1 ■ 0(/, 1, I) + X У, 1)
у = 1 .
_ К
С $ (к, /) = т1п X у, /) . ^
I е I у = к + 1
I 4 $ = {/?, /2$, ..., /р*, ..., /р}
Утверждение 6. Если выполняется хотя бы одно неравенство из системы неравенств
ст(/, X, I) > Вр / е I4 $,
т $1
то подмножество заданий I не может быть выполнено на 1-й поточной линии в установленные ограничениями сроки, и строящееся расписание не содержит допустимых решений. ♦
Утверждение 7. Если выполняется хотя бы одно из неравенств системы неравенств
Ys(k, I) + £ $ (к, I) + в $ (к, I) > В.,
к = 1, 2, ..., Х, / е I
1, $
т $1
то подмножество заданий I не может быть выполнено на 1-й поточной линии в установленные ограничениями сроки, и строящееся расписание не содержит допустимых решений. ♦
Доказательства утверждений 6 и 7 приведены в работе автора [4].
3. алгоритмы решения задач
Рассматриваемые задачи относятся к классу NP-сложных задач. Рассмотрим методы решения задачи с помощью алгоритмов динамического программирования [10] путем последовательного анализа с отсевом неперспективных вариантов [11]. Алгоритмы решения задачи состоят из двух этапов. На первом из них строятся различные допустимые и перспективные последовательности выполнения заданий на каждой из поточных линий
тт1ю г 1ю 1ю 1ю 1
Ъ = {V! , У2 , ..., Ур( 1Ш) Ь
I = 1, ..., X, Ю = 1, ..., Ж,
1ю
где vp — номера заданий, входящих в последова-
' 1 ю
тельность У1 , а Р(1, ю) — число заданий в этой последовательности.
В процессе построения этих последовательностей вычисляются времена начала и завершения выполнения всех работ каждого из заданий на каждой машине по формулам и отсеиваются варианты, не удовлетворяющие системе ограничений задачи. В процессе построения на основе правил отсева (13) и (14) (см. утверждение 3) производится отсев бесперспективных вариантов. В результате выполнения первого этапа будут построены
1ю тГ-1 ю
последовательности У1 и У2 , объединение которых в множество последовательностей ПГ(Х), г = 1, ..., Я, обеспечит получение допустимых и оптимальных по различным критериям оптимальности решений.
ы
р
На втором этапе решения последовательно X = 2, ..., L рассматриваем различные r-е варианты Qr(X) объединения последовательностей V^ , l = 1, 2, ..., X, удовлетворяющие соотношениям (15) с отсевом неперспективных продолжений на основе правила отсева (17), сформулированного утверждением 4.
Пусть P{Qr(X)} — число заданий во множестве
Qr(X). При построении Qr(X + 1) рассматриваются только такие последовательности выполнения заданий на линиях l = (X + 1), ..., L, для которых справедливо соотношение
P{Qr(X)} + max max Р(ц, ю) +
(I + 2)<ц<L 1 <m< W l ф ц
+ P(X + 1, w) l N, w = 2, ..., W. (19)
Далее приводится формальная схема алгоритма.
На первом этапе решения для каждой поточной линии l = 1, ..., L строятся последовательно все допустимые последовательности V/© выполнения n различных заданий p = 2, 3, ..., P(l, ю).
Времена начала и завершения выполнения всех работ каждого задания вычисляются по формулам (1)—(4), (10)—(12). Если время завершения выполнения p-го задания = alm(p, K, l) > max(Bp, HKl)
или alm(p, K, l) > Hkl, то строящаяся последовательность отбрасывается как недопустимая.
Кроме того, в процессе построения на основе соотношений (13) и (14) исключаются последовательности, не содержащие оптимальных решений. Для дальнейшего рассмотрения оставляются в каждой поточной линии только те последовательности выполнения заданий F2©, число заданий в которых удовлетворяют соотношению (19).
На втором этапе решения последовательно строятся различные варианты объединений последовательностей:
- ~ 1, mi ~ 2, ©о
^ = { V2 1 , V2 2 },
ществляется отсев объединений, не содержащих оптимальных решений.
После выполнения 1-го шага построения допустимых и перспективных объединений последовательностей выполнения заданий на первых I линиях Оь' г, г = 1, ..., Я, среди допустимых последовательностей выполнения заданий на оставшихся линиях Х = (I + 1), ..., Ь оставляем только после-
тТ X, ш
довательности У2 , число выполняемых заданий в которых
Р(Х, м) 1
ь
l N -
max P{Qr(l)} + у max Р(ц, ю)
1 <r<ä ^ 1<ю<W
ц = (/+ 1),
ц ^ x
« L s i L — 1r тт-L, ю
ледовательностеи Q ' = {Q ' , V2
Х = (I + 1), ..., Ь. Если существуют допустимые объединения пос-
5 = 1, ...,
то задача имеет ^ различных допустимых решений, значения критериев оптимальности которых соответственно равны ^(Оь' 4). Оптимальным решением задачи является расписание, удовлетворяющее соотношению
F(QL) = min Fp(QL' s),
F 1 < s < S F
где Fp(QL' s) — соответствующий вид критерия оптимальности. Так, например,
F,( QL) = min F,(QL' s) =
1 1 < s < S 1
= min max ст[ vlp(/ s), K, l],
1 <s < S 1 </< L P(/'s)
F3( QL) = min F3(QL' s) =
3 1 < s < S 3
L
= 1min У ß/CT[ v%,s), K l].
S / = 1
Q3' s = {Q2' r, V,'©}
Q1' s =
= {О1 - 1 г, У2 Ш}, ..., ОЬ'' = {Оь - 1 г, }. Допустимые множества объединений последовательностей О1' 4 = {О1 - 1г, У^'©}, I = 2, ..., Ь, м = 1, ..., W, 5, г = 1, ..., Я, должны удовлетворять
соотношениям (15). Для построенных множеств О1'4 вычисляется значение соответствующего критерия оптимальности (например, по формулам (16)). Среди построенных подмножеств объединений
1 4
последовательностей О на основе правила отсева (17), сформулированного утверждением 4, осу-
4. иллюстративным пример
На трех поточных линиях, каждая из которых состоит из трех машин, необходимо выполнить восемь заданий. Каждое из заданий может выполняться только на одной из поточных линий и состоит из трех операций, которые должны выполнятся в строго заданной последовательности на последовательно расположенных машинах. Времена выполнения операций каждого из заданий на соответствующих машинах этих линий, допустимые времена начала и директивные сроки завершения выполнения каждого из заданий, а также
допустимые времена работы всех машин каждой поточной линии приведены в табл. 1 и 2.
В результате выполнения первого этапа алгоритма получены следующие допустимые и перспективные расписания выполнения заданий на технологических линиях.
Первая технологическая линия:
;1,1
1,1.
1) V ' = {7}, ' ) = 28;
-1,2
1,2 .
2) V = {7, 1}, ) = 33
;1,3
1,3,
3) V = {7, 2}, а^ ' ) = 37
1,4,
4) V = {7, 5}; а(Г' ) = 33
'1,5
1,5,
5) V ' = {7, 1, 3}, аф' ) = 36
;1,б
1,6,
6) V = {7, 1, 5}, ) = 39
;1,7
1,7,
7) V' = {7, 3, 5}, ) = 38
8) V' = {7, 5, 3}, ) = 36.
Так как о( V1,8) < о( V1,7), а I1,8 = I1,7, то на ос-
~ 1,7
нове правил предпочтения последовательность I исключается из дальнейшего рассмотрения как неперспективная.
Таблица 1
Времена выполнения операций на машинах поточных линий
Допустимые
Времена выполнения операций сроки
на машинах поточных линий выполнения
№ заданий
зада-
ния На На На
машинах машинах машинах На- Завер-
первой второй третьей чало шение
линии линии линии
1 4 8 5 6 7 6 3 9 7 5 38
2 5 7 10 6 6 12 7 8 9 10 40
3 10 2 3 8 1 4 9 5 4 3 50
4 6 7 8 7 5 8 6 7 9 1 25
5 3 5 6 2 7 4 4 4 4 4 60
6 6 10 3 6 9 7 5 8 6 5 27
7 7 8 8 6 9 10 10 8 8 2 28
8 3 6 7 5 5 9 4 5 7 3 20
Таблица 2
Допустимые времена работы машин
Времена работы Первая линия (номера машин) Вторая линия (номера машин) Третья линия (номера машин)
машин № 1 № 2 № 3 № 1 № 2 № 3 № 1 № 2 № 3
Начало 6 6 6 1 5 5 5 5 5
Завер- 40 40 40 40 40 40 40 40 40
шение
Вторая технологическая линия:
1) V2,1 = {4}, а^2,1) = 20;
2) V2,2 = {4, 1}, а( V2,2) = 26
3) V2,3 = {4, 2}, а( V2'3) = 33
4) V2,4 = {4, 3}, а( V2'4) = 24
5) V2,5 = {4, 5}, а( V2,5) = 24
6) V2,6 = {4, 1, 3}, а( V2,6) = 32
7) V2,7 = {4, 1, 5}, а( V2'7) = 32
8) V2,8 = {4, 2, 3}, а( V2'8) = 37
9) V2,9 = {4, 2, 5}, а( V2,9) = 37
V2Д0 = {4, 3, 1}, о( V2Д0 ) = 34;
V2'11 = {4, 3, 2}, о( V2,11) = 39;
V2Д2 = {4, 3, 5}; о( V2'12 ) = 28;
V2Д4 = {4, 5, 1}, о( V2'12 ) = 32;
V2'14 = {4, 5, 3}, о( V2'14 ) = 28.
V2'15 = {4, 3, 5, 2,15 1}, о(V '15) = 37
V2Д6 = {4, 5, 1, 3}, о( V2Д6) = 36
V2Д7 = {4, 5, 3, 2,17 1}, a(V ' ) = 36
т /т> 2,6 Ч , /т> 2,10 ~ 2,6 ~ 2,10
Так как а^ ) < а(V ), I = I ,
/т>2,8, , /т>2,11, Т2,8 ~2,11 , ~ 2,13
а(V )< а(V ) и I = I , а также a(V ) =
~ 2,7 Т2,13 Т2,7 = а( V ) и I = I , то последовательности
~ 1,10 ~ 2,11 ~ 2,13
V , V и V исключаются из дальнейшего рассмотрения как неперспективные. Так как
а^2Д6) = а( V2'17) < а(^2,15), Р1 = ?Д6 = I2,17, то на втором этапе алгоритма достаточно рассмот-
~2,16
реть только последовательность V . Третья технологическая линия:
1) 3,1 V ' = {8 ?}, о( V3,1) = 20;
2) 3,2 V3,2 = {8 8, 6}, о( V3,2) = 27;
3) 3,3 V ' = {8 8, 6, 1}, о( V3,3) = 37;
4) 3,4 V ' = {8 8, 6, 2}, о( V3,4) = 38;
5) 3,5 V ' = {8 8, 6, 3}, о( V6,5) = 31;
6) V3,6 = {8 8, 6, 5}, о( V3,6) = 31.
7) 3,7 V ' = {8 8, 6, 3, 5}, о( V3,7) = 35;
8) V3,8 = {8 8, 6, 5, 3}, о( V3,8) = 35.
Так как а(У3,7) = а(У3,8), 13,7 =
3,8
т ' , то на втором этапе алгоритма достаточно рассмотреть толь-
~ 3 7
ко последовательность V ' .
На втором этапе решения задачи получены следующие допустимые и перспективные объединения последовательностей заданий, выполняемых на различных поточных линиях:
1) Q = {V1,2:
Fi(Q) = 37;
2) Q2 = {V1,2: F1( Q) = 37;
3) Q3 = {V1,5: F1( Q3) = 36;
;1,2
V 2'8 V3'6}
V
2,9
~ 3 5
V • }
V2,3 V3,61
~2 3 ~3 7
v 2,3 v 3,71
T (Q1) = (33, 37, 31), T (Q) = (33, 37, 31), T (Q3) = (36, 33, 31), T ( q4 ) = (33, 33, 35),
4) О4 = {V
Fl( О4) = 35.
Так как все остальные допустимые объединения последовательностей выполнения заданий дают не лучшие, чем F1( О4), результаты, то получено
— ~ 12
оптимальное решение задачи О4 = {У ' = (7, 1),
У2'3 = (4, 2), У3'6 = (8, 6, 3, 5)}. Времена начала и завершения выполнения операций на различных машинах каждой из линий для построенного расписания приведены в табл. 3.
5. оценка сложности алгоритма
Система состоит из И технологических линий; И1 < И — число различных по техническим характеристикам технологических линий. Каждая технологическая линия содержит К машин, выполняющих N заданий, предусматривающих выполнение К операций. В условиях отсутствия системы
ограничений требуемое число операций на первом этапе решения составляет П1 вычислений, рассчитываемых по формулам (1)—(3), а также П2 операций сравнения для отсева неперспективных продолжений. Значения П1 и П2 вычисляются по формулам:
П1 = O <{ M1
N
R1 + £ 0,5[R,_ 1(R,_ 1 - 1)]
i = 2
N
П2 = M1 £
i = 1
где R1 = N; R, = 0,5R; _ 1(Ri _ 1 - 1), i = 2, ..., N. Число операций на втором этапе решения зада-
чи П3 = O
N
R
i = 1
M
В случае ограничений объем вычислений существенно сокращается. Так, например, если время работы технологических линий не может превышать минимального для времени выполнения n < N заданий, и при наличии ограничений на сроки выполнения заданий в результате отсева недопустимых вариантов, значения R,, i = 1, ..., N, становятся существенно меньшими. Вследствие этого при вычислении значения П1 число элементов суммирования сокращается, что приведет соответственно к уменьшению значений П1, П2 и П3.
Автором был выполнен вычислительный эксперимент на персональном компьютере с процессором Intel Core I-5 3230M, 2,6 ГГц, до 3,2 ГГц, 3 Мб. Решались модельные задачи теории расписаний по критерию F1 — минимизации длины распи-
Таблица 3
Оптимальные последовательности выполнения заданий на поточных линиях
Времена выполнения операций заданий на различных машинах
№ линии № задания Машина № 1 Машина № 2 Машина № 3 Граничное
Начало Завершение Начало Завершение Начало Завершение значение
1 7 6 12 13 20 21 28 28
1 13 16 21 28 29 33 38
3 17 26 29 30 34 36 50
2 4 1 7 8 12 13 20 25
2 10 15 16 21 22 33 40
3 8 5 8 9 13 14 20 20
6 9 13 14 21 22 27 27
5 14 17 22 25 28 31 60
Таблица 4
сания. Данные времен выполнения операций выбирались случайным образом из диапазона 5—20. Данные граничных значений времен работы технологических линий и завершения выполнения, длина заданий выбирались также случайным образом из соответствующего диапазона, ширина которого зависела от числа операций в задании и от значения лингвистической переменной («слабые»,
«средние», «жесткие»). Значения Ь, В1 и кш, Ишвы-бирались также случайным образом из соответствующего диапазона, длина которого зависела от числа операций в задании и от значения лингвистической переменной, соответствующий терм которой определялся также стохастически. Результаты вычислительного эксперимента сведены в табл. 4.
Результаты вычислительного эксперимента подтверждают полученные оценки сложности предлагаемых алгоритмов, так как решение задач даже большей размерности, но с более жесткой системой ограничений или с большим числом идентичных по техническим характеристикам технологических линий требуют меньших объемов вычислений.
заключение
Автором были проведены вычислительные эксперименты по решению модельных задач размерностью до пяти поточных линий, включающих в себя до восьми машин и выполняющих до 25 заданий. Эксперименты показали, что предложен-
ные точные методы эффективны при решении задач в условиях жесткой системы ограничений на сроки выполнения заданий и на времена работы машин либо в условиях применения идентичных поточных линий. В первом случае происходит интенсивный отсев недопустимых последовательностей выполнения работ на первом этапе алгоритма. Во втором случае — выполнение вычислений на первом этапе осуществляется для одной или небольшого числа систем машин. Для решения практических задач большой размерности могут успешно применяться эвристические и приближенные методы решения, основанные на свойствах допустимых и оптимальных расписаний, установленные в настоящей статье. Рассмотрение этих алгоритмов составляет предмет самостоятельной работы.
литература
1. Конвей Р.В., Максвелл В.А., Миллер Л.В. Теория расписаний. - М.: Наука, 1975. - 359 с.
2. Bruker P. Scheduling Algorithms. — Leipzig: Springer, 2007. — 371 p.
3. Domschke W., Scholl A., Vofi S. Produktionsplanung. Ablauforganisatorische Aspekte. — Berlin — Heidelberg: Springer Verlag, 2005. — 456 s.
4. Зак Ю.А. Прикладные задачи теории расписаний и маршрутизации перевозок. — М.: Кн. дом «Либроком», 2011. — 393 c.
5. Salvador M.S. A solution to special case of flow shop scheduling problems // Elmaghraby S.E. (Hrsg): Symposium of the Theory of Scheduling and its Applications. — Berlin: Springer, 1973. — P. 83—91.
6. Quadt D., Kuhn H. A taxonomy of flexible flow line scheduling procedures // European Journal of Operational Research. — 2007. — Vol. 178, iss. 3. — P. 686—698.
7. Ribas I., Leisten R., Framinan J.M. Review and classification of hybrid flow shop scheduling problems from a production system and a solutions procedure perspective. — Computers & Operations Research. — 2010. — Vol. 37, N 8. — P. 1439—1454.
8. Зак Ю.А. Решение обобщенной задачи Джонсона с ограничениями на сроки выполнения заданий и времена работы машин. Ч. 1. Точные методы решения // Проблемы управления. — 2010. — № 3. — С. 17—25. Ч. 2. Приближенные методы решения. — Там же. — № 4. — С. 12—19.
9. Зак Ю.А. Распределение множества заданий и определение оптимальных очередностей их выполнения на параллельных машинах методами динамического программирования // Информационные технологии. — 2012. — № 8. — С. 14—20.
10. Беллман Р. Динамическое программирование. — М.: Иностранная литература, 1960. — 400 с.
11. Михалевич В.С., Трубин В.А., Шор Н.З. Оптимизационные задачи производственно-транспортного планирования. — М.: Наука, 1986. — 260 с.
Статья представлена к публикации членом редколлегии
В.Н. Бурковым.
Юрий Александрович Зак — д-р техн. наук, науч. консультант,
г. Аахен, Германия,
® +49/(0) 241-54-32-55, И [email protected].
Результаты вычислительного эксперимента
Параметры задачи Параметры ограничений Время
реше-
№ На время На сроки
ния, с
M Mi N K работы выполнения
линии задании
1 2 2 8 4 До 4-6 заданий Слабые на 4 задания 12-15
2 3 2 10 5 До 3-5 заданий Слабые на 6 заданий 28-42
4 4 2 12 4 До 3-6 заданий Средние на 4 и жесткие на 3 задания 110-130
5 4 2 25 8 До 3-5 заданий Жесткие на 10, средние на 7-8 и слабые на 5-7 заданий 320-440
6 5 3 15 3 До 3-4 заданий Слабые на 2, средние на 3 и жесткие на 3 задания 230-270