У
правление техническими системами и технологическими процессами
УДК 519.8 РС!: http://doi.org/10.25728/pu.2019.6.6
ДВУХСТАДИЙНЫЕ ЗАДАЧИ ПЛАНИРОВАНИЯ ДЛЯ ПОТОЧНОЙ ЛИНИИ
Ю.А. Зак
Аннотация. Сформулирована задача построения расписаний двухстадийной обработки множества изделий на двух расположенных в последовательную цепочку системах машин в одной и той же и одинаковой для всех изделий последовательности. Число машин на каждой стадии обработки может быть различным. Ни одна из выполняемых операций не допускает прерываний в процессе ее выполнения. Учтены также потери времени на постобработку после завершения первой стадии изготовления. В качестве критерия оптимальности рассмотрено выполнение всего комплекса работ в кратчайшие сроки. Получены оценки нижней границы оптимальной последовательности обработки изделий, обеспечивающие выполнение всех работ на двух стадиях обработки в кратчайшие сроки. Предложены алгоритмы точного и приближенного решения задачи методами ветвей и границ и динамического программирования, а также эвристический алгоритм полиномиальной сложности получения приближенных решений. Алгоритмы решения проиллюстрированы на числовом примере. Полученные результаты могут найти широкое применение в системах календарного планирования работы производственных участков и цехов машиностроительного и приборостроительного производства, а также в процессах деревообработки, электронной и легкой промышленности.
Ключевые слова: двухстадийные расписания, flow-shop-problem, оптимальные последовательности, метод ветвей и границ, динамическое программирование, эвристический алгоритм.
ВВЕДЕНИЕ. ПОСТАНОВКА ЗАДАЧИ
Рассмотрим технологический процесс, предусматривающий выполнение заданий и изготовление изделий на двух последовательных стадиях обработки. На этих стадиях все изделия обрабатываются на каждой стоящей в последовательной цепочке системе машин и, как на первой, так и на второй стадии обработки, в одной и той же последовательности. После первой стадии производится постобработка каждого изделия, связанная с испытанием и контролем качества, необходимым временем пролёживания (например, с охлаждением или нагреванием, оформлением необходимой документации, транспортными потерями времени и др.), что также требует затрат времени, различного для каждого из изделий. На первой стадии последовательная цепочка включает в себя т1 машин, на второй — т2. Более сложной может быть ситуация, когда допускаются отличные друг от дру-
га последовательности обработки изделий на каждой стадии изготовления. Без ограничения общности затраты времени на постобработку при решении задачи могут рассматриваться либо как время обработки на последней машине первой стадии изготовления, либо как время обработки на включенной в цепочку первой машине второй стадии изготовления.
Необходимо определить оптимальную последовательность обработки изделий, а также времена начала и завершения обработки группы, состоящей из п, I = 1, ..., п, изделий, одинаковую на всех машинах двух стадий обработки, обеспечивающие выполнение всего комплекса работ в кратчайшие сроки. Задача построения расписания на одной стадии обработки широко известна в литературе (см., например, работы [1—6]) и относится к классу задач планирования для поточной линии (англ. ¥1о^-8Уюр-РгоЫет). Все перемещения обрабатываемых изделий, связанные с окончанием их обработки на одной машине и началом обработки на другой, следуют только в одном направлении.
Обобщенная задача Джонсона (F1ow-Shop-Prob-1ет) формулируется таким образом:
— на некоторой последовательности, состоящей из т, к = 1, ..., т, машин, необходимо выполнить п, I = 1, ..., п, заданий (обработку п изделий);
— каждое из заданий состоит из некоторой упорядоченной последовательности выполнения т работ (операций) на различных машинах; никакая машина не может выполнять более одной операции одновременно;
— длительности выполнения t¡k каждой из этих операций постоянны, известны и не зависят от последовательности выполнения остальных операций на этой или других машинах;
— ни одна из этих операций не допускает прерываний в процессе ее выполнения;
— каждое из заданий выполняется в строго заданной и одинаковой для всех заданий последовательности К = {1, ..., т};
— каждая из операций назначается только на одну определенную машину;
— последовательность прохождения всех машин задана и одинакова для всех заданий.
Необходимо определить последовательность выполнения заданий, обеспечивающую минимальное время выполнения всех работ.
Одностадийные расписания F1ow-Shop-Prob-1ет относится к классу ЖР-сложных проблем, однако некоторые из них могут быть решены за полиномиальное время. Рассматриваемые в литературе многочисленные эвристические методы и правила предпочтения [3, 4, 6—11], генетические алгоритмы (см., например, работы [6, 7]) позволяют зачастую, как показывают вычислительные эксперименты, получить хорошие приближения к оптимальному решению задачи. Правила последовательного улучшения последовательности выполнения заданий путем обмена местами двух индексов [3, 4, 6] не могут рассматриваться как методы спуска в зону глобального минимума. Создание гибридных методов, которые на основе хороших эвристик позволяют осуществить попадание в зону глобального минимума, а затем методами перестановок местами двух индексов заданий осуществить спуск в точку локального минимума этой области. Ни одна из предложенных в литературе эвристик не гарантирует попадание в область глобального минимума. Сравнительно небольшой объем вычислений эвристических алгоритмов и методов локальных вариаций обеспечивает их широкое применение в практических приложениях и в условиях большой размерности [2—4]. Эффективные точные и приближенные методы решения F1ow-Shop-Prob1em в условиях ограничений на сроки и частичные порядки выполнения заданий
рассмотрены в работах автора [3, 4]. Несмотря на большое число приложений в календарном планировании производства, задачам двухстадийного построения расписаний в этих условиях не уделялось достаточного внимания в литературе. Можно отметить лишь несколько публикаций в периодической литературе по данной тематике. В работе [12] предлагается алгоритм построения оптимального по быстродействию расписания обслуживания множества требований в двухстадийной системе с нефиксированными маршрутами и ресурсными ограничениями. В работе [13] рассматривались свойства и приближенные методы решения задач построения расписаний многостадийной обработки изделий на одной машине в различных постановках и с различными критериями оптимальности. Многоступенчатые расписания на одной машине в условиях переналадки рассматривались в работе [14]. В зарубежных публикациях, в основном, рассматривались прикладные задачи по данной тематике: рассмотрен эвристический алгоритм для расписания действий экипажа при управлении самолетом [15]; предложен двухступенчатый подход к планированию квантовых цепей [16]; приведены приложения таких постановок для двухступенчатого режима холодной прокатки [17]. Определение размеров партий и составление графиков производства нескольких продуктов в многоступенчатых поточных производственных системах, каждая из ступеней которых состоит из разнородных параллельных производственных линий, рассматривались в работе [18].
1. ОЦЕНКА НИЖНЕЙ ГРАНИЦЫ ДЛИНЫ РАСПИСАНИЯ Р^-ЗНОР-РЯОБЬЕМ
Рассмотрим вначале оценку минимальной длины расписания F1ow-Shop-Prob1em. Ясно, что общая продолжительность расписания не может быть меньше длительности максимального по суммарной длительности выполнения на всех машинах задания
F0 = ¥> тах £ ^
1 <I<Пк=1
(1)
Для начала работы каждой к-й машины необходимо, чтобы все операции I = 1, ..., к — 1, предшествующие этой к-й операции, были уже выполнены. Для этого в 1-м задании требуется
к -1
времени не менее чем п1(г, к) = £ t¡l даже в том
I = 1
случае, если в этом задании ни одна из машин не теряет времени на простой после выполнения предыдущей операции. Суммарное время выпол-
нения всех операций на k-й машине равно X tik.
i = 1
После того, как операции всех заданий на k-й машине будут выполнены, еще требуется дополнительное время работы машин, l = k + 1, ..., m, рав-
m
ное n2(i, k) = X ta. Это время необходимо для
i = k +1
завершения выполнения i-го задания. Следовательно, оценка времени выполнения расписания из условия занятости всех машин определяется выражением
F0 > %(F) =
= max • X tk + min ni (i, k) + min n2(i, k) l, (2)
1 < k < n у i = 1 1 < i < n 1 1 < i < n J
а с учетом оценки завершения выполнения отдельных заданий — выражением
F0 > £(F) = max
max <! X tk + min пДг, k) +
1 < к < m I i = 1 1 < г < n 1
+ min n2(i, k) ^, max X t¿
1 < г < n
1 <г<nk=1
ik
(3)
Выражение нижней границы длины расписания в виде (3) известно и широко применяется в литературе для получения точных и оценки приближенных решений этой задачи (см., например, работы [3, 4]).
2. НИЖНЯЯ ГРАНИЦА МИНИМАЛЬНОИ ДЛИТЕЛЬНОСТИ ДВУХСТАДИЙНОГО РАСПИСАНИЯ
Рассмотрим алгоритмы решения задачи, основанные на последовательных алгоритмах оптимизации. При построении последовательности выполнения заданий вначале определяются альтернативы установки задания на первое место в последовательности, потом на второе место и т. д. Предположим, что время постобработки, которое обозначим ^ i = 1, ..., п, рассматривается как время выполнения операций на последней машине первой стадии обработки или первой машине второй стадии изготовления изделий, т. е. m1:= (т1 + 1) или т2:= (т2 + 1).
Пусть I = {/ = 1, ..., п} — множество всех изделий, подлежащих обработке, m1 и m2 — соответственно число машин на первой и второй стадиях обработки. Обозначим для каждой s-й ветви дерева решения задачи, s = 0, 1, 2, ... S, где S — число ветвей (вершин) дерева: х^ и х2к — вре-
мена начала обработки i'-го изделия на первой и второй стадиях обработки соответственно на k-й,
k = 1, ..., mp и /-й, / = 1, ..., m2, машинах; t)k и
t,2 — времена продолжительности обработки i-го изделия соответственно на первой и второй стадиях обработки на k-й и /-й машинах; (s) и 92; (s) — времена завершения обработки i-го изделия на k-й и /-й машинах соответственно на первой и второй
стадиях обработки; T/ (s) и T2 (s)— времена завершения изготовления i-го изделия на первой и вто— 1 —2
рой стадиях обработки; T (s), T (s) — времена выполнения всех работ на первой и второй стадиях
обработки; T (s) — время завершения выполнения
всех работ двухстадийного расписания; T1 (s)],
— 2 —
T (s)] и T(s)] — нижняя граница длины расписания на первой и второй стадиях обработки и
длины двухстадийного расписания; 1 (s), 1 (s) — подмножество изделий в s-й ветви дерева решения, для которых уже в процессе выполнения алгоритма определено и не определено место в последовательности обработки; 11 (s) U 12 (s) = 1,
I1 (s) П i2 (s) = 0; U(s) = Цф, ..., up(s), ..., up(s)} — выбранная для данной s-й ветви дерева решений задачи последовательность двухстадийной обработки изделий.
В начале вычислительного процесса, когда s = 0,
положим 11 (s) = U (s) = 0, I2 (s) = 1 = {/ = 1, ..., и},
—1 —1 —2 а также обозначим T ) = T (s)], T ) =
= T2 (s)] и T(s)] = max{^( T1 (s)], ¡j(T2 (s)]}.
Определим нижнюю границу длины расписания в начале работы алгоритма решения задачи.
Длина двухстадийного расписания T не может быть меньше нижней границы длины расписания на каждой из стадий выполнения работ, вычислен— —1 —2 ной по формуле (3), т. е. T > max[^(T ), T )].
Выполнение работ на второй стадии не может начаться ранее завершения изготовления хотя бы одного изделия на первой стадии обработки, т. е. не
Шу
ранее времени ст1 = min X t)k. Только после за-
1- i - nk=1
вершения обработки одного изделия на первой стадии обработки необходимо начать и завершить выполнение всех работ на второй стадии обработки, что потребует затрат времени не менее, чем
Ш2
ст2 = min X t2;. Следовательно, нижняя граница
1 - i - n ;= 1
n
длины двухстадийного расписания T определяется выражением
T) = тах\ т1п £ + £( T );
1 < ¡' < Пк = 1
$( T ) + т1п £ .
1 < ¡ < П I = 1
(4)
и второй стадиях обработки (у = 1, 2) на всех машинах не может быть меньше величин
^[Т= тах\ тах
¡ е I2 (я)
т-1
X1 (s) + £ 4
тах
1 < г < т.
к = 1 т
¡к
X1 (s) + £ + т1п £ 4
t е I (я)
1 < г < т к = г + 1
¡к
(9)
Пусть на некотором шаге вычислительного процесса в s-й ветви дерева решений определены подмножества изделий I (s), I (s), а также последовательность двухстадийной обработки подмножес-
ир 1. Здесь
, я' "Р, я
тва изделий I (s): и = {и1
„ — задание, стоящее на р-м месте в последовательности, построенной в s-й вершине дерева решений задачи. Времена начала и завершения обработки всех изделий на каждой из машин первой и второй стадий обработки определяются по формулам:
Ц, 1 = 1 % к = к -1 + 1, 021; к(s) = 021; к -1 + ^ к,
2 —1 % 1 = Т В1> 1 (s) + 1,
02Н1> 1 (s) = т ¿1,1 ф + ^ ,
*2р> 1 (s) = тах
т! 1 (s), 02
'р 1,
(s)
02р, 1= х2р, 1(s) + ^ - 1;
х2р, к = тах 02р, к -102р 1, к
(s)
+ 1,
+ 1,
(5)
(6)
(7)
т 2р (s) = 02р, к (s) = х2р, к (s) + .2р, к (^ - 1,
у = 1, 2, р = 2, ..., Р; к = 2, ..., т1, если у = 1;
к = 2, ..., т2, если у = 2. (8)
^[Т>)] = тах
1 < г < т0
X2 (s) + £ .¡г +
t е 11( я)
+ тт £ 4
1 < г < т1 к = г + 1
(10)
Т(s)] = тах\^[Т2^)]; ^[Т1^) + тт £ .¡к I. (11)
: 12 к = 1
Оценки (9)—(11) могут быть вычислены для двух вариантов: когда времена постобработки Ьг рассматриваются как времена обработки на последней машине первой стадии изготовления; когда они рассматриваются как времена обработки на первой машине второй стадии изготовления. Обозначив оценки этих вариантов соответственно
Ти ^2[ Т ^)], оценка нижней границы решения может быть определена как минимальная из этих оценок, т. е. Т= тах{^1[ Т(s)], ^2[ Т(s)]}.
Кроме того, процесс двухстадийной обработки может рассматриваться как процесс обработки на одной стадии последовательности, состоящей из М = (т1 + 1 + т2) машин. Здесь времена постобработки включены в качестве времен обработки на машине, стоящей между первой и второй стадиями изготовления, и для вычисления нижней границы можно воспользоваться формулами (1)—(3) для случая Ммашин. Оценку, вычисленную в этих
условиях, обозначим Т ^)]. Тогда нижняя граница длины двухстадийного расписания определяется выражением
Обозначим Х1 (^ = 02р,к(s) + 1, к = 1, ..., т1; Т(s)] = тах(У Т(s)]; тах{М Т(s)], У Т(s)]}).
X2 (s) = 02рк (s) + 1, к = 1, ..., т2, — соответственно времена начала работы машин изготовления подмножества изделий I (s) на первой и второй стадиях обработки в s-й ветви дерева. Пусть последовательность и содержит Р изделий. Минимальные времена завершения обработки подмножества
о т2 / \ е ■ »2 »2 »2 »2 1 о
изделий 1 = {/ = г1, г2, ..., I, ..., } на первой
Рассмотрим два альтернативных варианта построенных подпоследовательностей в процессе решения задачи:
I1 иI2 (s) с параметрами X^ (s), Х^ (s),
I е I2 и ^[Т 1(s)], ^[Т2^)], Т(s)];
~ 1 ~ ~2 12 I (р), и (р), I (р) с параметрами Xk (р), Xk (р),
/ е I2 (р), и $[Т 1(р)], ^[Т2(р)].
т
т
т
т
Правило отсева 1. Если для двух вариантов 5 и р выполняются условия
11 (5) С 11 (р), X1 (р) < X1 (5), к = 1, ..., т{,
X2 (p) < X2 (s),
k = 1,
m,.
то р-й вариант более предпочтителен, чем вариант 5, и вариант сможет быть отброшен как неперспективный.
Правило отсева 2 (нестрогое предпочтение). Если для двух вариантов р и 5 справедливы условия
11 (5) С 11 (р), ^[Г V)] < ^[Г 1(5)]
и X2 (р) < X2 (5), к = 1, ..., т2,
то р-й вариант более предпочтителен, и вариант 5 может быть отброшен как неперспективный.
Правило отсева 3 (правило нестрогого предпочтения). Если для двух вариантов (ветвей дерева) р и 5 справедливы условия
11 (5) с 11 (р), и X-1 И1 (р) < X1 И1 (5),
X,2т2 (р) < X,2т2 (5),
то вариант р более предпочтителен, чем вариант 5, и вариант 5 может быть отброшен как неперспективный.
Правило предпочтения 1 может применяться в алгоритмах точного решения задачи, а правила 2 и 3 — для получения приближенных решений.
3. АЛГОРИТМЫ РЕШЕНИЯ ЗАДАЧИ
В начале работы каждого из алгоритмов s = 0,
11 (s) = U (s) = 0, 12 (s) = 1. Для каждого из вариантов (вершины дерева решений) введем некоторую метку w(s): w(s) = 0, если вариант перспективный и не продолжен во всех возможных направлениях; w(s) = 1 — вариант продолжен во всех возможных направлениях; w(s) = 2 — вариант отброшен как неперспективный.
Рассмотрим алгоритм решения задачи, основанный на методе ветвей и границ.
Алгоритм 1. Вычислим граничное значение минимального времени завершения выполнения двухстадийного расписания по формуле (4) и определим границу T) = T(s = 0)]. Пусть при рассмотрении некоторой s-й вершины дерева уже получено несколько решений задачи F^s), l = 1, ...,
L(s), лучшее из которых обозначим F (s) = min F(l)
1 < l < L
и назовем рекордом. Последовательность выполнения заданий, соответствующую этому расписа-
нию, обозначим П . Полагаем для s = 0, 1 (s) =
= U (s) = 0, I2 (s) = 1.
Шаг 1. Устанавливаем на первое место в последовательности обработки изделий каждое из этих изделий, образуя ветви дерева s = 1, 2, ..., n. Для каждого из вариантов рассчитываем времена начала и завершения выполнения операций на всех машинах двухстадийного расписания по формулам (5)—(7). Определяем подмножества индексов изделий 11 (s) = U (s) = {s}, I2 (s) = (1 /s), s = 1, 2, ..., n. Вычисляем значения нижней границы длины двухстадийного расписания для каждого из вариантов по формулам (9)—(11). Полагаем для каждого из этих вариантов w(s) = 0. Число ветвей дерева S = n. Полагаем w(s = 0) = 1. Переходим к выполнению шага s — a.
Шаг s — a. Среди всех ветвей дерева, для которых w(s) = 0, находим ветвь с наименьшим значением
нижней границы T*(s)] = min T(g)]|w(g) = 0}.
1 < g < s
Если таких вершин несколько, то выбираем среди
1
них вершину, у которой подмножество 1 (s) содержит максимальное число элементов. Для выбранной s-й вершины дерева определены подмножество 11 (s) и последовательность U(s) = {u1 , ..., up s, ..., up s}. Полагаем для выбранной вершины дерева w(s) = 1. Переходим к шагу s — b.
Шаг s — b. Вычислим (или известны) времена начала и завершения обработки последнего стоящего в последовательности U(s) изделия up s на всех машинах первой и второй стадий обработки. Устанавливаем на последнее, т. е. (up + 1)-е, место в последовательности обработки изделий каждое из изделий подмножества 1 (s), число которых равно R(s) = n — P(s), образуя ветви дерева с индексами q = S + 1, S + 2, ..., S + R(s). Для каждого из вновь образованных вариантов рассчитываем времена начала и завершения выполнения операций на всех машинах двухстадийного расписания по формулам (5)—(8). Определяем подмножества индексов изделий 11 (q) = {11 (S) U q},
12 (q) = {12 (S)/q}, U(q) = {^(s), ..., иад, q}. Вычисляем по формулам (9)—(11) значения нижней границы длины двухстадийного расписания каждого из вариантов T (s)], s = S + 1, S + 2, ..., S + R(s). Переходим к шагу s — c.
Шаг s — c. Если для какой-то из вновь образованной вершины T (s)] > F (s), то полагаем для этой вершины w(s) = 2. Если для некоторой из
вновь образованных вершин 1 (1) = 0, то полу-
чено одно из решений задачи и T(1)] = ДА,). Если F(A) < F (s), то полагаем F (s) = F(A). Если при этом F (s) < min T(s)|w(s) = 0]}, то получено
1 < s < S
решение задачи, и алгоритм завершает свою работу. В противном случае, если для какой-то из этих вершин дерева выполняется правило отсева 1 (или выполняются правила отсева 2 или 3 для получения приближенных решений в условиях большой размерности), то полагаем для этого варианта w(s) = 2. Для всех остальных вновь образованных вершин дерева полагаем w(s) = 0. Переходим к шагу s — а.
Ясно, что через некоторое число шагов будет получено оптимальное решение.
Приближенное решение задачи на основе метода ветвей и границ может быть получено при реализации односторонней схемы ветвления до получения первого решения «рекорда», не обращая внимание на то, что в дереве решений есть вершины, для которых w(s) = 0 и F (s) > T (s). При этом первое полученное двухстадийное расписание, для
которого 11 (s) = 1, принимается в качестве решения задачи.
Алгоритм 2 (решение задачи методом динамического программирования). Пусть S — суммарное число построенных вариантов (вершин дерева решений). В начале работы алгоритма S = 0. Наилучшее из построенных решений на предыдущих шагах алгоритма обозначим F (S). На каждом s-м шаге работы алгоритма находим вариант, у которого
1 2
w(s) = 0, определены подмножества 1 (s), 1 (s) и последовательность U (s) = {u1(s), u2(s), ..., uR(s)}, а
также вычисленные значения Xt (s) и Xk (s), вариант с наименьшим значением длины выполнения расписания для уже построенной подпоследовательности обработки U (s), т. е. с наименьшим значением T [ U(s)] = min T [ U(s)]. Если 11 (s) = 1
1 < s < S
и 1 (s) = 0, то переходим к п. 3. В противном случае переходим к п. 1. В дальнейшем для простоты
изложения полагаем s:= s и выполняем вычисления п. 1.
1. На последнее место в подпоследовательности U (s) устанавливаем каждое из изделий подмножества 12 (s) = {г'2 (s), ..., ig (s), ..., i'k (s)} и определяем новые подмножества вариантов
11 (s + g) = {11 (s) U ig2 (s)}, 12 (s + g) = {12 (s)/ i'2 (s)},
2
и(я + ,) = {иДя), ы2(я), ..., ыд(я), ig (я)}, Я = 1, ..., С.
Вычисляем по ниже приведенным формулам времена начала и завершения задания, стоящего последним в каждой из этих подпоследовательностей, на всех машинах:
х(г^ (я), к) = шах{9(ы\р, к), 9(ig2(я), к - 1)} + 1,
9( ig2 (я), к) = х(г^ (я), к) + ?(ig2 (s), к) - 1, , = 1, ..., С.
Полагаем "(я) = 1, "(я + ,) = 0. Образуем новые варианты р = S + ,, для которых
11 ^ + ,) = 11 (я + ,) и г^ (я),
12 ^ + ,) = {12 ^ + ,)/ г^ (я)},
и^ + ,) = {и1(я), ы2(я), ..., ыд(я), ЫК + 1(я) = ig (я)}, , = 1, ..., С.
Вычисляем для каждого из вновь образованных
вариантов времена начала и завершения обработ-
2
ки изделия с индексом г^ (я) = ык + 1(я), стоящего
последним в последовательности и ^ + ,) на всех
машинах первой и второй стадий обработки, а
12 также значения Хк ^ + ,) и Хк ^ + ,). Переходим
к п. 2.
2. Последовательно для каждого из вариантов я = ^ + ,), , = 1, ..., С, выполняем следующие действия. Если построена последовательность,
для которой 11 ^ + ,) = 1, то получено решение
задачи, которое обозначим И[ и^ + ,)]. Если
И[(S + ,)] < { Т [ и(я)]|"(я) = 0}, то получено решение задачи и переходим к п. 3. В противном случае, если И[^ + ,)] < И(5), то полагаем
И (S) = И [^ + ,)]. Для всех вариантов, для которых "(я) = 0 или "(я) = 1 и выполняются условия
Т [ и (я)] > И либо выполняются правила отсева 1 (либо в случае получения приближенных решений правила отсева 2 или 3), полагаем "(я) = 2. Вычисляем новое значение числа образованных вариантов ^ + ,). Переходим к п. 1.
3. Для полученной оптимальной последовательности обработки изделий и (я) = аг§ И ^ вычисляем времена начала и завершения обработки изделий на всех машинах каждой стадии их изготовления, а также времена начала и завершения постобработки между этими стадиями. Здесь
arg F (S) — последовательность обработки изделий в оптимальном решении. На этом алгоритм решения задачи завершает свою работу.
4. ЭВРИСТИЧЕСКИЙ АЛГОРИТМ ПРИБЛИЖЕННОГО РЕШЕНИЯ ЗАДАЧИ
Для решения задачи на двух машинах наиболее эффективен полиномиальный по времени алгоритм Джонсона [9, 10]. Все изделия разбиваются на две группы. Первая из них включает в себя из--1 -2
делия, для которых tf < tf , а вторая — для которых -1 -2
tf > tf . Изделия первой группы упорядочиваются
по неубыванию времен t/ в последовательности
T>1 I 1 1 1 1 1 й! ^ 7 1 7-1 V = {V1, V2,..., V/_ 1, V;,..., Vl 111-1 < 11, l = 2, ..., L},
а изделия второй группы — по невозрастанию вре-
"2 ~ 2 ,22 2 мен tf в последовательности V = {v1, v2, ..., vr-1,
2 2 _2 -2
v,., ..., vR11r_ 1 > tr, r = 2, ..., R}. Обработка изделий
на двух машинах осуществляется в последовательности
т> I 1 1 1 1 1
V = {v1 , v2 , ..., v/_ 1 , v; , ..., vL ,
2 2 2 2 2 v1 , v2 , ..., v,-_ 1 , v,- , ..., vR }.
Доказано [10], что в случае двух машин данный алгоритм обеспечивает оптимальное решение задачи и имеет полиномиальную сложность порядка O(n ). Данная эвристика может быть применена для получения приближенного решения сформулированной в данной работе задачи. Рассмотрим
„ -1 -2
два варианта расчета значений tf и tf :
-1 _ -s"1 -1 -2 _ -г2 -2
t i = Z tik, ti Z tik
+ b,.;
k = 1
"1
k= 1
ti1 = Z t L + bi, 1
t2
= Z t2k.
(12)
k = 1
Для каждого из этих вариантов решаем задачу построения расписания для двух машин описанным выше алгоритмом Джонсона. При этом значения времен выполнения заданий рассчитываются по формулам (5)—(8). Пусть для построенных последовательностей значения критериев опти-
— 1 —2
мальности соответственно равны Т и Т . В качестве решения задачи выбираем вариант и соответствующую последовательность двухстадийной обработки на всех машинах с наименьшим значением
— —1 —2 критерия оптимальности, т. е. Т = шт( Т , Т ).
Описанный алгоритм, как и алгоритм Джонсона, имеет полиномиальную сложность и требует только в два раза большего объема вычислений.
Для получения более точных приближенных решений могут быть рассмотрены и другие варианты вычисления суммарного времени выполнения операций на каждой из двух машин:
х! -1
= Z t а,
-2
t2
= Z
-1
tik
+
m2
V2 -2
Z t ik
k = 1
k = 1
+ b;
ti1 = Z tJk + ьг. + Z tJk, t2 = Z 12k, (13)
k = 1
k = 1
где 81 = 1, 2, ..., (т1 - 1), 82 = 1, 2, ..., (т2 - 1).
Для каждого из этих вариантов строится последовательность выполнения заданий алгоритмом Джонсона. В каждой из построенных последовательностей все времена начала и завершения заданий вычисляем по формулам (5)—(8). Среди всех рассмотренных вариантов, включая варианты, образованные по правилам (12), (13), выбирается последовательность с наименьшим значением критерия оптимальности.
Отметим, что если критерий оптимальности существенно отличается от значения нижней границы оптимального решения, то полученное решение можно попытаться улучшить алгоритмом локальных вариаций, последовательно меняя два члена, стоящие рядом в последовательности.
5. ИЛЛЮСТРАТИВНЫЙ ПРИМЕР
Времена обработки пяти изделий на каждой из машин первой и второй стадий обработки представлены в табл. 1. Первая и вторая стадии предусматривают выполнение трех операций на трех машинах. Времена постобработки изделий Ь = (5, 6, 8, 10, 9). Обработка каждого из изделий должна вестись на машинах, расположенных в заданной последовательности. Не допускается прерываний в процессе обработки на каждой из машин. Начало обработки изделий на первой машине второй стадии может начаться только после завершения обработки его на третьей машине первой стадии и последующей постобработки. Необходимо найти последовательность обработки изделий, обеспечивающую минимальное время выполнения расписания, т. е. всех работ на двух стадиях.
Времена работы машин для случаев, когда времена постобработки Ь рассматриваются как времена работы машин первой или второй стадий изготовления, приведены соответственно в табл. 1 и 2.
5
m
1
k
51 + 1
k = 52 + 1
m
Вычислим нижнюю границу минимального времени выполнения расписания. По формулам (9)—(11) вычисляем
УТ^)] = тах(25 + 13, 3 + 38 + 8, 10 + 45) = 55, да*)] = тах(38 + 17, 5 + 33 + 10, 10 + 34 + 3,
18 + 30) = 55,
Т (*)] = тах(55 + 22, 55 + 1) = 77; УТДО] = тах(25 + 19, 4 + 38 + 13, 10 + 45 + 5,
19 + 38) = 60,
УТ2(*)] = тах(33 + 10, 2 + 34 + 3, 11 + 30) = 43,
У Т (*)] = тах(60 + 17, 43 + 19) = 77;
У Т (*)] = тах(25 + 13 + 22, 3 + 38 + 8 + 22, 10 + 45 + 22, 19 + 38 + 19, 19 + 33 + 10, 5 + 19 + 34 + 3, 19 + 17 + 30) = 77;
Т (*)] = тах(77; тах[77, 77]) = 77.
Рис. 1. Дерево приближенного решения задачи
Таблица 1
Времена выполнения работ на машинах первой и второй стадий (первый вариант)
Номер задания Времена выполнения заданий на машинах первой и второй стадий (4 и 4)
Машины первой стадии Машины второй стадии
1 2 3 3 14 1 2 3 4 4 I 4
к = 1 к = 1
1 5 7 8 20 5 7 6 4 22
2 6 4 9 19 6 10 7 3 26
3 3 10 8 21 8 2 9 10 29
4 7 7 11 25 10 8 5 6 29
5 5 I 4 4 10 9 23 9 6 7 7 29
25 38 45 — 38 33 34 30 —
к = 1
Времена выполнения работ на машинах первой и второй стадий (второй вариант)
Таблица 2
Номер задания
Времена выполнения заданий на машинах первой и второй стадий (4 и 4)
Машины первой стадии
1 2 3 4 3 I 4 к = 1 1 2 3 4 I ' к = 1
5 7 8 5 25 7 6 4 17
6 4 9 6 25 10 7 3 20
3 10 8 8 29 2 9 10 21
7 7 11 10 35 8 5 6 19
4 10 9 9 32 6 7 7 20
25 38 45 38 — 33 34 30 —
Машины второй стадии
;2 '¡к
I 4
к = 1
5
Рис. 2. Дерево точного решения задачи
Приближенное решение задачи получено с помощью алгоритма ветвей и границ в условиях, когда развивается только одна ветвь дерева решений с выбором вершины с наилучшим значением нижней границы (алгоритм одностороннего ветвления с целью получения «рекорда»). Дерево решений задачи приведено на рис. 1. Цифры, расположенные рядом с вершинами дерева, — значения нижней границы данной ветви. Полученное оптимальное значение последовательности обработки
изделий и = {2, 3, 4, 5, 1}. Время выполнения расписа-
Времена завершения выполнения
ния Т(и) = 82. Времена завершения выполнения всех заданий на каждой из машин первой и второй стадий обработки приведены в табл. 2.
В табл. 3 приведены времена завершения выполнения заданий на машинах первой и второй стадий в построенном расписании.
Отметим, что полученное приближенное решение задачи методом ветвей и границ является оптимальным и совпадает с точным решением задачи, полученным методом ветвей и границ (рис. 2). Большой объем вы-
Таблица 3
заданий в оптимальном решении
Номер задания 1 2 Времена завершения выполнения заданий на машинах первой и второй стадий (9;к и 9;к)
Машины первой стадии Машины второй стадии
1 2 3 1 2 3 4
2 3 4 5 1 6 9 16 20 25 10 20 27 37 44 19 28 39 48 56 25 36 49 58 63 35 38 57 64 70 42 47 62 71 78 45 57 68 78 82
Таблица 4
Времена завершения выполнения заданий на машинах (первое решение)
12 Времена завершения выполнения заданий на машинах первой и второй стадий (9;к и 9;к)
Номер задания Машины первой стадии Машины второй стадии
1 2 3 4 1 2 3
3 2 5 4 1 3 9 13 20 25 13 11 27 34 41 21 30 39 50 58 25 36 48 60 65 31 46 52 68 72 40 53 60 73 78 50 56 68 79 83
Таблица 5
Времена завершения выполнения заданий на машинах (второе решение)
Времена завершения выполнения заданий на машинах первой и второй стадий (Э^ и Э2^)
Номер задания Машины первой стадии Машины второй стадии
1 2 3 1 2 3 4
1 2 3 5 4 5 11 14 18 25 20 16 26 36 43 21 29 37 46 57 25 35 45 55 67 32 45 47 61 75 38 52 61 68 80 42 55 71 75 86
числений был необходим только для доказательства оптимальности полученного приближенного решения задачи. Такое большое число вершин дерева объясняется близкими значениями времен обработки изделий на машинах в рассматриваемом примере.
Рассмотрим приближенное решение задачи. Если времена постобработки включены в первую стадию об-
-1 -2
работки изделий, то 1 = {25, 25, 29, 35, 32} и 1 = {17,
-1 -2
20, 19, 23, 22}. Так как 1, > 1, , г = 1, ..., 5, то последовательность по неубыванию времен 1,1 имеет вид
и1 = {2, 3, 1, 5, 4}. Расписание выполнения работ обработки изделий в данной последовательности представлено в табл. 4; Т (и1) = 83.
Если времена постобработки включены во вторую
стадию обработки изделий, то 11 = {20, 19, 21, 25, 23} и
-2 -1 -2 1 = {22, 26, 29, 29, 29}. Так как 1,- < 1,- , г = 1, ..., 5, то
-1
последовательность по невозрастанию времен 1, имеет
вид и2 = {1, 2, 3, 5, 4}, и расписание выполнения работ обработки изделий в данной последовательности представлено в табл. 5; Т (и2) = 86. Так как Т (и1) < Т (и2),
то Т (и1) = 83 принимается в качестве приближенного решения задачи.
изделия как на первой стадии, так и на второй стадии изготовления обрабатываются в одной и той же и одинаковой для всех изделий последовательности, рассматриваемая задача относится к классу ЛР-полных задач и является обобщением известной в теории расписаний Р1о'^8Иор-РгоЪ1ет. Рассмотренные постановки задачи и предложенные в работе точные методы, а также приближенные методы и эвристические алгоритмы полиномиальной сложности решений этих задач могут найти широкое применение в системах календарного планирования работы участков и цехов машиностроительного и приборостроительного производства, а также в процессах деревообработки, электронной и легкой промышленности. Оценка эффективности полученных приближенных решений может быть выполнена в сравнении с вычисленной нижней границей оптимальной длительности выполнения расписания.
Решение рассмотренных проблем в условиях ограничений на времена завершения выполнения заданий и допустимые сроки работы машин, которое может быть предметом дальнейших исследований, позволит также более обоснованно оценить возможности выполнения заказов и планировать время технического обслуживания машин.
ЗАКЛЮЧЕНИЕ
Построение расписаний двухстадийной обработки множества изделий на двух последовательно расположенных в цепочку системах машин имеет много практических приложений в календарном планировании. Необходимо найти последовательность обработки изделий, времена начала и завершения обработки каждого изделия на всех машинах двух стадий изготовления, обеспечивающие выполнение всех работ на обеих стадиях обработки в кратчайшие сроки. Даже в условиях, когда все
ЛИТЕРАТУРА
1. Конвей Р.В., Максвелл В.Л., Миллер Л.В. Теория расписаний. — М.: Наука. 1975. — 359 с. [Konvey, R.W., Maxwell, W.L., Miller, L.W. Teorija raspisanij. — M.: Nauka, 1975. — 359 s. (In Russian)]
2. Танаев В.С., Сотсков Ю.Н., Струсевич В.А. Теория расписаний. Многостадийные системы. — М.: URSS, 1989. — 328 с. [Tanajev, V.S., Sotskov, Yu.N, Strusevitsh, V.A. Teorija raspisanij. Mnogostadijnije sistemi. — М.: URSS, 1989. — 328 s. (In Russian)]
3. Зак Ю.А. Прикладные задачи теории расписаний и маршрутизации перевозок. — М.: URSS, 2012. — 394 с. [Zack, Yu.A. Prikladnije zadachi teorii raspisanij i marshrutisazii perevosok. — М.: URSS, 2012. — 394 s. (In Russian)]
4. Зак Ю.А. Решение обобщенной задачи Джонсона с ограничениями на сроки выполнения заданий и времена работы машин. Ч. 1. Точные методы решения. // Проблемы управления. — 2010. — № 3. — С. 17—25. Ч. 2. Приближенные методы // Проблемы управления. — 2010. — № 4. — С. 12—19. [Zack, Yu.A. Reshenije obobchennoj zadachi Dczon-sona s ogranichenijam na sroki vipolnenija zadanij i vremena raboti mashin. Ch. 1. Tochnije metodi reshenija. // Control Sciences. — 2010. — No. 3. — S. 17—25. Ch. 2; Pribliczennije metodi. — 2010. — No. 4. — S. 12—19. (In Russian)]
5. Brucker, P. Scheduling Algorithms. — Berlin, Heidelberg und New-York: Springer-Verlag, 1998. — 312 p.
6. Domschke, W., Scholl, A., Voß, S. Produktionsplanung. Ablauforganisatorische Aspekte. — Berlin, Heidelberg: Springer Verlag, 2005. — 456 p.
7. Ho, J.C., Chang, Y.-L. A New Heuristic for the n-job, M-ma-chine Problem // European Journal of Operational Research. — 1991. — Vol. 52, iss. 2. — P. 194—202.
8. Ogbu, F.A., Smith, D.K. The Application of the Simulated Annealing Algorithm to the Solution of the n/m/Cmax Flow-shop Problem // Computer & Operations Research. — 1990. — Vol. 17. — P. 243—253.
9. Ogbu, F.A., Smith, D.K. Simulated Annealing for the Permutation Flow-shop Problem // OMEGA. — 1991. — P. 64—67.
10. Hundal, T.S., Rajgopal, J. An Extension of Palmer's Heuristic for the Flow-shop Scheduling Problem // International Journal of Production Research. — 1988. — Vol. 26. — P. 1119—1124.
11. Garey, M.R., Johnson, D.S., & Sethi, R. The Complexity of Flowshop and Jobshop Scheduling // Mathematics of Operations Research. — 1976. — Vol. 1, iss. 2. — P. 117—129.
12. Лушакова И.Н., Струсевич В.А. Двухстадийные системы с нефиксированными маршрутами и ресурсными ограничениями // Журнал вычислительной математики и математической физики. — 1989. — Т. 29, № 9. — С. 1393—1407. [Lushakova, I.L., Strusevitch, V.A. Dwuchstadijnije sistemi s nefiksirovannimi marshrutami i resursnimi ogranichenijami //
Zhurnal vichislitelnoj matematiki i matematichesloj fisiki. — 1989. — Vol. 29, No. 9. — S. 1393—1407. (In Russian)]
13. Зак Ю.А. Построение двухстадийных расписаний обработки изделий на одной машине // Системш дослщження та шформацшш технолги. — 2018. — № 4. — С. 19—36. [Zack, Yu.A. Postrojenije dvuchstadijnich raspisanij obrabotki isdelij na odnoj mashine // Sistemi doslidzhennya ta informaz-ijni technologii. — 2018. — No. 4. — P. 19—36. (In Russian)]
14. Johnson, S.M. Optimal Two-and Three-stage Production Schedules with Setup Times Included // Naval Research Logistics Quarterly. — 1954. — Vol. 1, iss. 1. — P. 61—68.
15. Henry, H.Y.K., Yu, L.Ch. A Two Stage Heuristic Algorithm for the Integrated Aircraft and Crew Schedule Recovery Problems // Computer & Industrial Engineering. — 2015. — Vol. 87. — P. 436—453.
16. Guerreschrn, G.G., Park, Jo. Two-step Approach to Scheduling Quantum Circuits // Quantium Science and Technology. — 2018. — Vol. 3, No. 4. — P. 212—219.
17. Yin, Ai-H., Zhao, Xi-P. A Two-step Approach for Solving the Flexible Job Shop Scheduling Problem // The 2009 IEEE Int. Conf. on Granular Computing, GrC, Lushan Mountain, Nan-chang, China, 17—19 August, 2009.
18. Seenner, F, Mey, H. Multi-stage Simultaneous Lot-sizing and Scheduling for Flow Line Production // OR Spectrum. — 2013. — Vol. 35, No. 1. — P. 33—73.
Статья представлена к публикации членом редколлегии
А.А. Лазаревым.
Поступила в редакцию 15.02.2019, после доработки 31.07.2019.
Принята к публикации 31.07.2019.
Зак Юрий Александрович — д-р техн. наук, науч. эксперт
и консультант, г. Аахен, Германия, Н [email protected].
TWO-STAGE PLANNING TASKS FOR THE FLOW LINE
Yu.A. Zack
Abstract. The problem is formulated of constructing schedules of the two-stage processing of large number of products on two machine systems arranged into a sequential chain, keeping the same sequence for all products. The number of machines at each stage of processing can be different. None of the operations performed allows for interruptions during its execution. Postprocessing time losses after completion of the 1st stage of manufacturing are also taken into account. As the optimality criterion, the implementation of the whole range of work in the shortest possible time is considered. Estimates are obtained of the lower bound of the optimal sequence of products processing, ensuring the implementation of all works at two stages of the processing in the shortest possible time. Algorithms are proposed of the exact and the approximate solution of the problem by the branch and bound method and the dynamic programming method, as well as a heuristic algorithm of polynomial complexity for obtaining the approximate solutions. The decision algorithms are illustrated with a numerical example. The results obtained can be widely used in work scheduling systems for the production sectors and workshops of machine-building and instrument-making production, as well as for the processes in woodworking, electronics and light industry.
Keywords: two-stage schedules, flow-shop-problem, optimal sequences, branch and bound method, dynamic programming, heuristic algorithm.