ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА 2024 Вычислительные методы в дискретной математике № 64
УДК 519.8 DOI 10.17223/20710410/64/8
ЗАДАЧА МИНИМИЗАЦИИ ОБЩЕГО ВРЕМЕНИ ОБРАБОТКИ ИДЕНТИЧНЫХ ДЕТАЛЕЙ1
A.A. Романова*, В. В. Сервах*'**, В. Ю. Тавченко*
* Омский государственный университет, им. Ф. М. Достоевского, г. Ом,ск, Россия **
E-mail: [email protected], [email protected], [email protected]
Рассматривается задача минимизации общего времени обработки идентичных деталей со сложным технологическим маршрутом, когда возможно неоднократное поступление деталей на некоторые машины. Исследуются вопросы вычислительной сложности данной задачи, доказана её NP-трудность в обычном смысле. При фиксированном числе деталей доказана псевдополиномиальная разрешимость задачи. Исследуется вопрос использования циклических расписаний при построении приближённых решений.
Ключевые слова: расписание, идентичные детали, NP-трудность, псевдополиномиальный алгоритм, теория сложности.
MAKESPAN MINIMIZATION IN REENTRANT FLOW SHOP PROBLEM
WITH IDENTICAL JOBS
A.A. Romanova*, V. V. Servakh*'**, V.Yu. Tavchenko*
*Dostoevsky Omsk State University, Omsk, Russia **
We consider the reentrant flow shop problem F|reentrant, pj = Pi|Cmax with identical jobs and makespan criterion. We prove its NP-hardness in the ordinary sense. The proof is performed by polynomial reduction of the problem J3|n = 3|Cmax to the problem F|reentrant, pj = Pi|Cmax with three identical jobs. Using the input data of the problem J3|n = 3|Cmax, we have constructed a special type of job for the problem F|reentrant, pj = Pi|Cmax. In the proof, we analyze all possible variants of critical paths in the constructed instance. We also propose a dynamic programming algorithm to find the optimal solution of the problem F|reentrant, pj = p%|Cmax. Analysis of the time complexity of the algorithm showed that the problem with fixed number of jobs is pseudopolynomially solvable. Next, we study the use of cyclic schedules to construct approximate solutions. A cyclic schedule with a minimum cycle time can be found in polynomial time. We propose a polynomial algorithm for finding an approximate solution. This algorithm is based on the construction of a cyclic schedule with a minimum cycle time and its subsequent compaction at the beginning and at the end. We construct an upper bound of the makespan of cyclic schedules. This bound depends on the number of jobs processed in one cycle. The paper provides numerous examples characterizing cyclic schedules from both the positive and negative sides to solve the problem F|reentrant, pj = pj|Cmax.
1 Работа выполнена в рамках госзадания ИМ СО РАН, проект FWNF-2022-0020.
Keywords: schedule, identical jobs, NP-hardness, pseudopolynomial algorithm, theory of NP-completeness.
Введение
Рассматривается задача обработки идентичных деталей со сложным технологическим маршрутом на современной роботизированной производственной линии, В общепринятой номинации [1] эта задача обозначается как F|reentrant, pij = Pi|Cmax, подразумевая, что все детали проходят одинаковый технологический маршрут и длительности соответствующих операций равны. Тем самым все детали идентичны, а термин «reentrant» означает, что при обработке деталь может поступать на некоторые машины неоднократно. Задача F|reentrant, pij = pi|Cmax является обобщением классической од-номаршрутной задачи Flow-Shop и впервые была сформулирована в [2]. Большинство известных результатов можно найти в [3]. Данная задача является XI'- i рудной даже для случая двух машин. Фактически большинство теоретических вопросов, связанных с общей постановкой, так или иначе закрыты. Если же детали идентичны, то возникает множество математически интересных постановок. Ключевым является вопрос о вычислительной сложности задачи F|reentrant, pij = pi|Cmаx. В литературе рассматриваются различные частные, в том числе полиномиально разрешимые случаи. Однако, как отмечено в обзоре [4], вопрос о полиномиальной разрешимости задачи с идентичными деталями даже для единичных длительностей работ остаётся открытым.
Будем придерживаться следующей постановки. Имеется заказ на выпуск N идентичных деталей. Для их обработки имеется m различных машин Mi, M2,..., Mm, Все детали в процессе обработки проходят одинаковый технологический маршрут, который состоит из n последовательно выполняемых операций Oi,O2,...,On. Операция Oi выполняется на машине Mmi в течение pi G Z+ единиц времени, i = 1,... ,n. Прерывания операций запрещены. Машина не может выполнять более одной операции одновременно, В технологическом маршруте машины могут повторяться. Требуется минимизировать общее время выполнения заказа,
n
шин m, а технологический маршрут задаётся последовательностью (Mi, M2,..., Mm). Для идентичных деталей с таким маршрутом получаем обычный конвейер, и задача решается тривиально. Неоднократное использование машин в технологическом маршруте приводит к различным постановкам задач, В литературе рассматривались случаи V-маршрута (Mi, M2,..., Mm, Mm-i...., M2, Mi) [5], циклического (Mi,M2,..., Mm, Mi, M2,..., Mm, ...,Mi,M2,..., Mm) [6, 7], замкнутого (Mi, M2,..., Mm, Mi) [8], с постоянным возвратом на первую машину (Mi, M2, Mi, M3, Mi,..., Mi, Mm, Mi ) Mi
операциями [14, 15].
Важным аспектом является взаимосвязь рассматриваемой задачи с задачей построения циклических расписаний. Циклические расписания строятся за полиномиальное время и обеспечивают ритмичность производства, равномерный выход продукции, более удобную логистику. Наиболее значимым является результат из [16], где показано, что с ростом количества деталей циклическое расписание с минимальным временем цикла обеспечивает асимтотически точное решение для критерия Cmax, Однако такой подход не решает проблем загрузки оборудования на стадии запуска и стадии завершения обработки партии деталей в производство. Поэтому, если производственная но-
мепклатура предприятия разнообразна и партии идентичных деталей относительно невелики, вопрос о взаимосвязи этих задач остается актуальным.
Структура работы следующая. В н. 1 изложен основной результат: доказано, что задача является ХР-трудной в обычном смысле. В н. 2 приведён алгоритм построения точного решения, который является неевдонолиномиальным при фиксированном число деталей. В н. 3 обсуждается вопрос об использовании циклических расписаний при минимизации Стах, в том числе при наличии дополнительных ограничений на расписание.
1. Вычислительная сложность задачи
Некоторые подходы к анализу сложности задачи предложены в |17|. Входные параметры задачи —это число деталей N число операций п и их длительности рг, г = 1, 2,..., п. Длина входа равна 0(к^2 N + пртах), где ртах — максимальная длительность операций. Далее доказана ХР-трудноеть задачи и сделан анализ её сложности в зависимости от входных параметров.
Теорема 1. Задача ^ (гееЩгап^ р^- = рг |Стах минимизации общего времени обработки однотипных деталей является ХР-трудной.
Доказательство. Рассмотрим ХР-трудную разномаршрутную задачу 33|п = = 3|Стах с тремя машинами М1, М2, М3 и тремя деталями 31,32,33 [18]. Сформулируем её как задачу распознавания. Задано число в, Существует ли допустимое расписание выполнения работ длины не более в? Полиномиально сведём её к задаче ^|гееЩгаЩ, р^ = рг|Стах с тремя идентичными деталями.
Пусть М1 и М2 — машины, на которых выполняются соответственно первая и по-
32
обозначим её Мь Добавим машину М0 и три фиктивные машины М3, М4 и М5, кото-
31 32 33
Рассмотрим деталь со следующим технологическим маршрутом и соответствующими длительностями:
01 О2 0з О4 О5 Об О7 08 О9 О10 О11 О12 О13 О14 О15
М1 Мо М1 М2 М3 М2 Мо М4 Мо М1 М5 М1 М2 Мо М2
4в в 4в 4в в 4в 4в в 4в 4в в 4в 4в в 4в
Пусть необходимо обработать три таких детали. Оптимальное расписание приведено на рис. 1. Его длина равна 63в, Номера машин подписаны. Наиболее загруженными М1 М2
телыю операции обращения времени. Операции каждой детали обрабатываются без простоев, и операция 01 второй детали выполняется только после завершения операции 03 первой детали. При любой другой последовательности операций время обработки будет не менее 66в, Такая конструкция позволяет локализовать операции 05, 08 и 011 в оптимальном расписании.
1 0 1 2 4 2 0 5 0 1 6 1 2 0 2
1 0 1 2 4 2 0 5 0 1 6 1 2 0 2
1 0 1 2 4 2 0 5 0 1 6 1 2 0 2
Рис. 1. Оптимальное расписание для трех деталей
Операции О5, О8 и Оп заменим соответственно на последовательности операций деталей J1, J2, J3, Получим деталь со следующей последовательностью операций:
Oi, О2, О3, О4, J1, О6, О7, J2, О9, О10, J3, О12, О13, О14, О15.
Заметим, что при замене суммарная длительность операций пе увеличилась, так как суммарная длительность операций каждой из деталей J1, J2, J3 не превосходит d. Рассмотрим задачу составления расписания дня трёх таких деталей. Порядок выполнения операций в расписании минимальной длины показан па схеме рис. 2.
1 0 1 2 J1 2 0 J2 0 1 J3 1 2 0 2
1 0 1 2 J1 2 0 J2 0 1 J3 1 2 0 2
1 0 1 2 J1 2 0 J2 0 1 J3 1 2 0 2
Рис. 2. Схема расположения операций деталей .] 1,72 и .]3 в оптимальном расписании
Покажем, что для этой задачи расписание длины не более 63й существует тогда и только тогда, когда для разно маршрутной задачи с деталями 71,7 2, 7 3 существует расписание длины не более чем й.
Доказательство достаточности очевидно. Если для деталей 71,72 к 73 существует расписание длины не более й, то для пар 71,72 к 72,73 тем более существует расписание длины не более й. Следовательно, расписание на рис. 2 имеет длину не более 63й.
Дня доказательства необходимости проведём более детальный анализ. Длину оптимального расписания определяет критический путь — последовательность операций, задержка при выполнении которых приводит к увеличению длины расписания. Операции, входящие в критический путь, обычно называют критическими. На рис, 3 тёмным цветом выделены операции, которые в той или иной ситуации могут входить в критический путь; примеры критических путей приведены па рис. 4 и 5.
1 (1 1 2 J1 2 0 J2 0 1 J3 1 2 0 2
1 0 1 2 J1 2 0 J2 0 1 J3 1 2 (1 2
1 (1 1 2 J1 2 0 J2 0 1 J3 1 2 (1 2
Рис. 3. Множество возможных критических операций
1 (1 1 2 J1 2 0 J2 0 J J3 1 2 0 2
1 0 1 2 J1 2 0 J2 0 1 J3 1 2 (1 2
1 (1 1 2 J1 2 0 J2 0 1 J3 1 2 (1 2
1 (1 1 2 J1 2 0 J2 0 f J3 1 2 (1 2
1 0 1 2 J1 2 0 J2 0 1 J3 1 2 0 2
1 (1 1 2 J1 2 0 ,12 0 1 J3 1 2 (1 2
Рис. 4. Критические пути для вариантов J1 — J1 и J3 — J3
Пусть для деталей 71,72 и 73 длина оптимального расписания превосходит й. Покажем, что тогда и длина расписания в задаче с идентичными деталями будет больше чем 63а!, Рассмотрим возможные варианты начала и завершения критического пути
72
ся на машине М1; а последняя либо на М2, либо на Мь В первом случае имеется
Рис. 5. Критический путь для двух вариантов .]2 — .]2
9 комбинаций первой и последней операций критического пути. К ним добавятся ещё 3 варианта во втором случае. С учётом этого общее количество различных вариантов концов критического пути равно 12. Рассмотрим некоторые из них подробнее.
Пусть критический путь для задачи с деталями 31, 32, 33 содержит первую и последнюю операции детали 31. Назовём его 31 — 31. Тогда выделенная на первой части рис. 4 последовательность операций имеет длину больше чем 63в. Вариант 33 — 33 аналогичен и приведён на второй части рисунка.
32 — 32 М1
М2
63в 32
М1
Все остальные комбинации также дают критический путь, длина которого больше 63в
шествующую операцию, выполняемую па машине 1 или 2, эти операции невозможно сдвинуть па более ранний срок. Справа также всё ограничивают операции, сдвиг которых увеличивает длину критического пути. ■
Отметим, что доказана только обычная ХР-трудпость рассматриваемой задачи. Ниже предложен алгоритм построения точного решения задачи, который при фиксированном число деталей является неевдополипомиальным. Более того, па основе этого алгоритма может быть построена вполне полиномиальная анпроксимациоппая схема |19|, Таким образом, полученный результат является неулучшаемым дня случая фиксированного числа работ. Однако вопрос о вычислительной сложности задачи в зависимости от числа работ остаётся открытым.
2. Точный алгоритм решения задачи
Опишем алгоритм построения точного решения рассматриваемой задачи, идея которого предложена в |20| для задачи календарного планирования с ограниченными ресурсами. Далее этот алгоритм адаптирован дня задачи с идентичными деталями ^|гееЩгаЩ, Ру = Р^Отах-
В основе алгоритма .нежит геометрическая интерпретация задачи, в которой каждой детали сопоставляется ось в ^мерном пространстве и каждая точка параллелепипеда [0,Р]М соответствует промежуточному состоянию обработки деталей, где
п
Р = ^ рг —суммарная длительность операций одной детали. Текущее состояние про-
г=1
цесса обработки детали ] будем задавать величиной ху Значен не ху определяет, сколько времени, без учёта простоев, деталь ] уже обрабатывалась, и требуется ещё Р — ху единиц времени дня завершения обработки. Каждое расписание обработки деталей отображается ломаной линией между точками 0 = (0,0,..., 0), когда ни одна деталь
не начала обработку, и S = (P, P,..., P), когда все детали обработаны. Любое звено ломаной проходит между точками (жь x2,..., xN) и (xi + ti, x2 + т2,..., xN + tn), где Ti = 0 ми Ti = t. Такое звено соответствует одновременной обработке в течение времени т тех деталей, для которых Tj = т. Остальные детали в этот период не обрабатываются, Длина этого участка ломаной полагается равной т, а длина расписания равна сумме длин всех звеньев ломаной.
Так как pi — целые, существует оптимальное расписание, в котором все операции начинаются и заканчиваются в целочисленные моменты времени и для каждого целого t на полуинтервале (t — 1, t] множество обрабатываемых деталей не изменяется, Поэтому достаточно рассмотреть только такие расписания, для которых ломаная меняет направление только в целочисленных точках. Целочисленный вектор x = (x1,x2,... ,xN) будем называть состоянием обработки деталей. Множество всех состояний обозначим через X = {x = (x1,x2, ...,xN) : Xj E {0,1,...,P}}, В такой ситуации ломаную можно разбить на участки единичной длины. Каждый из них со-
x
x + 5, где 5 = (5Ь 52,..., 5N), Sj E {0,1} j = 1, 2,..., N. Процесс перехода соответствует одновременному выполнению в единичном временном интервале операций тех
5j = 1
Идея алгоритма основана на схеме динамического программирования и заключается в переборе всевозможных состояний, а для каждого состояния по рекуррентной формуле вычисляется лучшее допустимое частичное расписание.
Имеется два типа ограничений, которые необходимо учесть. Первое —это непре-
x
i-i i-i
Y, Pk < xj < Y, Pk + Pi k=1 k=1
означает, что операция i детали j была начата и ещё не завершилась. Тогда, в силу
5j x
переход x ^ x + 5, у которого 5j = 0, недопустим.
Второе — это запрет на одновременное выполнение двух операций на одной машине, x5 раций, которые находятся в состоянии выполнения. Если хотя бы одна пара из этого
5
Множество допустимых переходов, приводящих в состояние x E X, обозначим через Дх, Каждый переход соответствует выполнению некоторого набора операций в течение единичного интервала времени. Необходимо найти кратчайшую последовательность допустимых переходов из состояния 0 в состояние S,
Пусть L(x) — наименьшее число переходов из состояния 0 в состояние x. Выпишем рекуррентное соотношение для поиска кратчайшего пути:
L(x) = min{L(x — 5) + 1}, x E X \ {0}. seAx
0
го возрастания перебирает все отмеченные состояния x E X, вычисляя значения L(x). При этом запоминает вектор 5(x) E Дх, на котором достигается минимум L(x). Величина L(S) определяет оптимальное значение целевой функции задачи,
x=S
ход 5(S), Во временном интервале (L(S) —1, L(S)] выполняются операции тех деталей,
для которых 6j(S) = 1. Затем переходим в состояние x = S — i(S). Во временном интервале (L(S) — 2, L(S) — 1] выполняются операции тех деталей, для которых 6j(x) = 1, И так далее, пока не дойдём до состояния x = 0, Зная множества операций, выполняемых в каждом из интервалов (t — 1,t], t =1, 2,..., L(S), определяем моменты начала их выполнения.
Трудоёмкость алгоритма линейно зависит от количества состояний. Для состояния х нужно выбрать минимум из Дх чисел. Верхняя оценка трудоёмкости составит O(2NPn) = O((2P)N), Для идентичных деталей эту оценку можно улучшить. Без ограничения общности детали запускаются в порядке возрастания номеров. Очевидно, что в оптимальном расписании такой же порядок сохранится при выполнении соответствующих операций всех деталей. Поэтому в любой момент имеет место xi > x2 > ... > xN. Это позволяет существенно сократить число перебираемых состояний, В случае N < P верхняя оценка может быть уменьшена до O((2P)N/N!).
Временная сложность алгоритма экспоненциально зависит от количества деталей N. Число машин M не влияет на трудоёмкость, так как в алгоритме для каждой пары операций делается простая проверка, обрабатываются эти операции на одной машине или нет. Если число деталей фиксировать, то предложенный алгоритм становится псевдополиномиальным. Таким образом, справедлива следующая
Теорема 2. Задача минимизации общего времени обработки партии идентичных деталей при условии, что количество обрабатываемых деталей ограничено константой, разрешима за псевдополиномиальное время.
Отметим, что этот вывод может быть также получен из [21] на основе псевдополиномиальной разрешимости задачи J|N = const |Cmax, При N = 2 задача полиномиально разрешима. Уже при N = 3 рассматриваемая задача становится NP-трудной в обычном смысле, что показано выше,
В реальных задачах NP-трудность в зависимости от длительностей не является критической, так как трудно представить ситуацию очень длинных технологических маршрутов при обработке детали, А вот количество деталей может меняться и составлять несколько сотен, а возможно, и тысячи [17]. Поэтому важно исследование вычие-
N
ми деталями длина входа по этому параметру составляет O (log2 N), То есть полино-миальноеть по этому параметру предполагает наличие полиномиального алгоритма от величины O(log2 N), Как вариант, трудоёмкость алгоритма может не зависеть от N. В следующем пункте исследуем возможность использования при минимизации Cmax циклических расписаний. Алгоритм построения расписаний с минимальным временем
N
3. Использование циклических расписаний при минимизации общего времени
Расписание называется циклическим, если выполнение соответствующих операций любых двух последовательно обрабатываемых деталей происходит через промежуток времени C, который называется длиной цикла. Минимально возможная длина цикла равна суммарной длительности операций одной детали на самой загруженной машине. Цикл называется полным, если внутри него выполняются все операции {1, 2,..., n}, возможно, разных деталей. Циклические расписания обеспечивают ритмичность производства, равномерный выход продукции, более удобную логистику. При минимальном времени цикла C и росте числа идентичных деталей эффективность производства возрастает и его производительность стремится к максимально возможной. Более того,
циклическое расписание с минимальным временем цикла может быть найдено за полиномиальное время. Естественным образом возникает идея использования малотрудоёмкого алгоритма построения циклических расписаний для решения ЖР-трудной задачи минимизации общего времени выполнения заказа. На основе таких расписаний в [16] построен асимптотически точный алгоритм для критерия Стах, Недостатком этого алгоритма и циклических расписаний является то, что максимальная загрузка оборудования достигается только в полном цикле. При запуске партии деталей и её завершении формируются неполные циклы и происходит простой оборудования. Для сложного технологического маршрута обработки детали такие простои могут быть довольно значительными. При больших размерах партии (более нескольких тысяч) они не так чувствительны, так как их доля при росте N стремится к пулю. Но когда требуется обработать несколько десятков или сотен сложных деталей, то временные потери могут составлять существенную часть общего времени обработки, В этом случае асимптотика ещё не дает эффекта, а описанный выше псевдополиномиальный алгоритм уже не работает из-за высокой трудоёмкости. Приведём небольшой пример:
01 02 03 04 05 Об ... 02к-1 02к 02/С+1 \
М0 М1 м0 м2 м0 м3 ... м0 мк м0 I . 1 Р1 1 Р2 1 Рз ... 1 Рк 1 /
к
Здесь р = рг ^ 1. Минимальное значение длины цикла определяется загрузкой ма-
г=1
шины М0 и равн о С * = к +1, Но полные циклы, в которых выполняется весь набор операций, начинаются только с (к + 1)-й детали. Выполнив первую и вторую операцию
м0
к
к 01 03
м0
ге самая дефицитная машина в начальной стадии процесса, как и в заключительной
к2
недостатком циклических расписаний являются потери, связанные с запуском и завершением всей партии деталей.
Естественно возникает желание уплотнить неполные циклы, В рассмотренном примере сжатие циклического расписания действительно даёт эффект и приводит к оп-
Стах
пнсання.
Алгоритм 1 является полиномиальным. Так как алгоритм построения расписания с минимальной длиной цикла также полиномиален, то получить таким образом опти-
Стах
рассмотреть всё множество расписаний с минимальным временем цикла и каждое из них уплотнить, то ни одно из этих расписаний может не дать оптимума. Пример очень простой:
01 02 03 04
м1 м2 м3 м1
1 1 1 1
Минимальная длина цикла С = 2. При N ^ 4 любое циклическое расписание (с учётом возможного сжатия) имеет длину 2Ж + 2, А оптимум достигается на расписании рис, 6 и имеет длину При N = 4 отклонение от оптимума — в 1,25 раза. Это означает, что
Алгоритм 1. Уплотнение циклического расписания
1: Строим циклическое расписание с минимальным временем цикла.
2: Выделяем первый цикл с полным набором операций.
3: Операции, входящие в этот и предшествующие циклы, упорядочиваем но невозрастанию времени окончания.
4: Просматриваем список с конца: каждую операцию сдвигаем как можно позднее, пока не нарушится отношение предшествования или две операции не поступят на одну машину. Получим плотное расписание, когда ни одна из операций не может быть сдвинута на более поздний срок.
5: Аналогично при завершении заказа. Берём последний цикл с полным набором операций. Операции этого и всех последующих циклов упорядочиваем но возрастанию моментов их начала.
6: Просматриваем список с начала, каждую операцию сдвигаем как можно раньше, до первого нарушения отношения предшествования или поступления двух операций на одну машину. Получим плотное расписание, когда ни одна операция не может быть сдвинута на более ранний срок.
дня критерия минимизации общего времени обработки деталей в классе циклических расписаний нельзя гарантировать решение с оценкой точности лучше чем 1,25.
Рис. 6. Оптимальное расписание
Если исследовать вопрос о приближении, то значение Стах можно оценить сверху величиной СМ + С(п — 1), так как количество неполных циклов не превосходит 2С(п — 1), а полных циклов будет (М — п + 1). Эта оценка может быть улучшена до значения СМ + С (к — 1), оде к —количество обрабатываемых деталей в одном цикле. Логично было бы предположить, что чем меньше деталей задействовано в цикле, тем лучше должно быть расписание поело уплотнения. Это хорошо согласуется с прежними результатами из |22|, где доказана псевдонолипомиалытя разрешимость задачи минимизации числа деталей при условии оптимальной длины цикла. Однако удалось построить пример, когда это не так.
Пусть в предыдущем примере длительности операций равны 2, 3, 3 и 2 единицы соответственно. На первой части рис. 7 приведено циклическое расписание для N = 5 с минимально возможным числом деталей в цикле, равным трём. Циклы отделены вертикальными линиями. Два первых и два последних цикла неполные. На второй части рис. 7 отображено расписание поело уплотнения. Его длина равна 25. На рис. 8 приведено расписание, когда в цикле минимальной длины обрабатываются четыре детали. Поело ого уплотнения длина расписания равна 21. Тем самым число деталей в цикле
не является определяющим дня поиска лучшего приближения в классе циклических расписаний.
V///////////
/ : ) ■ 1 ■и } 1 ■и 1
1§1 шш ■ ) Ш ■ Ш
■ .1 1
11! Я 1 шш } 1 1
в! ) ¡¡¡¡1 ■ } ¡1111 л
Рис. 7. Расписание для трех деталей в цикле
шш ЫшШ НИ ¡1111
ш ш ¡111 — 1
И11 2 ИИ
щ, II .....% 3 ■
1111 ш к 11 II
г 1111
1 ш 1111! 1
1 2 — 1
11 11 У % 111И11111Ц
1111 яш шш > я
Рис. 8. Расписание для четырех деталей в цикле
Пока непонятно, какое циклическое расписание приведёт к самой плотной упаковке. Но, как сказано ранее, в классе алгоритмов, включающих построение циклического расписания с дальнейшим уплотнением, достижение оптимума не гарантировано. Это косвенно говорит о том, что невозможно построить алгоритм минимизации Стах, трудоёмкость которого не зависит от числа деталей.
Циклические расписания могут существенно помочь, когда количество деталей, одновременно находящихся в обработке, ограничено некоторой величиной |23|, Приведённый в начале пункта пример с (2к + 1) деталями особенно важен в случае, когда число деталей, одновременно находящихся в обработке, ограничено некоторой величиной И, Для обеспечения наибольшей производительности линии необходимо запускать в производство сразу к+1 деталей, и эта величина может существенно превосходить И. Пример циклического расписания для детали с шестью операциями при И = 2 приведён на рис.9. Операции 0\, 03, 05 выполняются на первой машине, а 02,04,06 — на второй. Минимально возможная длина цикла равна суммарной длительности операций одной детали па самой загруженной машине.
Ш 1 2
1 ■$m 1 2 Ш .......1.............
12 12 Ш .......................
1 2 1 2
ы-цикл-»-I
Рис. 9. Фрагмент цикличеекш'о расписания
Теорема 3. При Н = 2 циклическое расписание с минимальным временем цикла
Стах
Доказательство основано на том, что при Н =2 операции, не вошедшие в основной цикл, удаётся уплотнить, и при этом достигается нижняя оценка оптимального времени обработки партии деталей. При Н = 2 задача полиномиально разрешима.
Следствие 1. Задача Р(гееп^ап^ру=рг,Н=2|Стах полиномиально разрешима.
При Н = 3 операции, не вошедшие в полный цикл, не всегда удаётся уплотнить до состояния, когда будет достигнута нижняя оценка. Кроме того, вопрос о вычислительной сложности задачи построения оптимального циклического расписания для Н = 3 до сих нор остаётся открытым.
Заключение
Исследуется вычислительная сложность задачи минимизации общего времени обработки идентичных деталей со сложным технологическим маршрутом, когда возможно неоднократное поступление деталей па некоторые машины. Доказано, что задача Р(гееп^ап^ру = рг|Стах является ЫР-трудной в обычном смысле. Предложен алгоритм построения точного решения задачи. При фиксированном числе деталей N алгоритм является псевдополипомиальным и па его основе может быть построена вполне полиномиальная анпроксимациоппая схема. Если зафиксировать технологический маршрут и длительности операций, то в задаче остаётся единственный параметр—число деталей М, и длина входа составит 0(к^2 N), Такая ситуация более характерна дня реального производства. В этом случае вопрос о вычислительной сложности остаётся открытым. Исследуется взаимосвязь данной задачи с задачей построения циклических расписаний с минимальным временем цикла, которая полиномиально разрешима. Построены оценки возможного отклонения решения, полученного в классе
Стах
ЛИТЕРАТУРА
Pinedo M.L. Scheduling. Theory, Algorithms, and Systems. Springer, 2008. 671 p. Graves S. C., Meal H. M., Ste.fe.k D., and Ze.ghmi A. H. Scheduling of re-entrant flow shops /7 ■J. Opcr. Management. 1983. V. 3. No. 4. P. 197 207.
Emmons H. and Vairaktarakis G. Flow Shop Scheduling: Theoretical Results, Algorithms, and Applications. Springer Science & Business Media, 2012. 334p.
Shufan E., Grinshpoun Т., IkarE., and Ilani H. Reentrant flow shop with identical jobs and makespan criterion /7 .J. Production Res. 2021. V. 61. No. 1. P. 183 197. Lev Vr. and Adiri I. V-shop scheduling /7 Europ. .J. Opcr. Res. 1984. V. 18. No. 1. P. 51 56. Pan J. C.-H. and Chen J.-S. Minimizing makespan in re-entrant permutation flow-shops /7 ■J. Opcr. Res. Soe. 2003. V. 54. No. 6. P. 642 653.
Chen J.-S. A branch and bound procedure for the reentrant permutation flowshop scheduling problem /7 Intern. .J. Adv. Manufacturing Technology. 2006. V. 29. P. 1186 1193.
8. Wang М. Y., Suresh P. S., and van de Velde S. L. Minimizing makespan in a class of reentrant shops 11 Oper. Res. 1997. V.45. No. 5. P. 702-712.
9. Kubiak W., Lou Sh.X. C., and Wang Y. Mean flow time minimization in reentrant job shops with a hub // Oper. Res. 1996. V.44. No. 5. P. 743-753.
10. Xie X., Tang L., and Li Y. Scheduling of a hub reentrant job shop to minimize makespan // Intern. J. Adv. Manufacturing Technology. 2011. V. 56. P. 743-753.
11. Middendorf M. and Timkovsky V.G. On scheduling cycle shops: Classification, complexity and approximation //J. Scheduling. 2002. V. 5(2). P. 135-169.
12. Timkovsky V.G. Cycle Shop Scheduling / LeungJ.Y.-T. (ed.). Handbook of Scheduling. Ch.7. Boca Raton; London; N.Y.; Washington, CRC Press, 2004.
13. Yu T.-S. and Pinedo M. L. Flow shops with reentry: Reversibility properties and makespan optimal schedules // Europ. J. Oper. Res. 2021. V. 282(2). P. 478-490.
14. Kats V. and Levner E. Minimizing the number of robots to meet a given cyclic schedule // Ann. Oper. Res. 1997. V.69. P. 209-226.
15. Kats V. and Levner E. Cyclic scheduling in a robotic production line //J. Scheduling. 2002. V. 5(1). P. 23-41.
16. Boudoukh Т., Penn M., and Weiss G. Scheduling jobshops with some identical or similar jobs 11 J. Scheduling. 2001. V.4(4). P. 177-199.
17. Межецкая M. A., CepeaxB.B. Задачи обработки деталей со сложным технологическим маршрутом // Современные проблемы науки и образования. 2013. №1. https: //science-education.ru/ru/article/view?id=8407.
18. Sotskov Y. N. and Shakhlevich N. V. NP-hardness of shop-scheduling problems with three jobs 11 Discrete Appl. Math. 1995. V.59(3). P. 237-266.
19. Servakh V. V. and Shcherbinina T. A. A fully polynomial time approximation scheme for two project scheduling problems // IFAC Proc. Volumes. 2006. V. 39. Iss.3. P. 131-135.
20. Сервах В. В. Эффективно разрешимый случай задачи календарного планирования с возобновимыми ресурсами // Дискретн. анализ исслед. опер. Сер. 2. 2000. Т. 7. №1. С.75-82.
21. Middendorf М. and Timkovsky V. G. Transversal graphs for partially ordered sets: Sequencing, merging and scheduling problems //J. Combin. Optimization. 1999. V. 3. No. 4. P. 417-435.
22. Romanova A. A. and Servakh V. V. Optimization of identical jobs production on the base of cyclic schedules 11 J. Appl. Industr. Math. 2009. V.3. No. 4. P. 496-504.
23. Боброва, E. А., Романова, А. А., Сервах В. В. Сложность задачи построения циклических расписаний обработки однотипных деталей // Дискретн. анализ исслед. опер. 2013. Т. 20. №4. С. 3-14.
REFERENCES
1. Pinedo M.L. Scheduling. Theory, Algorithms, and Systems. Springer, 2008. 671 p.
2. Graves S. C., Meal H. M., StefekD., and Zeghmi A. H. Scheduling of re-entrant flow shops. J. Oper. Management, 1983, vol.3, no.4, pp. 197-207.
3. Emmons H. and Vairaktarakis G. Flow Shop Scheduling: Theoretical Results, Algorithms, and Applications. Springer Science k, Business Media, 2012. 334p.
4. Shufan E., Grinshpoun Т., Ikar E., and Ilani H. Reentrant flow shop with identical jobs and makespan criterion. J. Production Res., 2021, vol.61, no. 1, pp. 183-197.
5. Lev V. and Adiri I. V-shop scheduling. Europ. J. Oper. Res., 1984, vol. 18, no. 1, pp. 51-56.
6. Pan J. C.-H. and Chen J.-S. Minimizing makespan in re-entrant permutation flow-shops. J. Oper. Res. Soc., 2003, vol.54, no. 6, pp.642-653.
7. Chen J.-S. A branch and bound procedure for the reentrant permutation flowshop scheduling problem. Intern. J. Adv. Manufacturing Technology, 2006, vol.29, pp. 1186-1193.
8. Wang M. Y., Suresh P. S., and van de Velde S. L. Minimizing makespan in a class of reentrant shops. Oper. Res., 1997, vol.45, no.5, pp.702-712.
9. Kubiak W., Lou Sh.X. C., and Wang Y. Mean flow time minimization in reentrant job shops with a hub. Oper. Res., 1996, vol.44, no.5, pp.743-753.
10. Xie X., Tang L., and Li Y. Scheduling of a hub reentrant job shop to minimize makespan. Intern. J. Adv. Manufacturing Technology, 2011, vol.56, pp. 743-753.
11. Middendorf M. and Timkovsky V. G. On scheduling cycle shops: Classification,complexity and approximation. J. Scheduling, 2002, vol. 5(2), pp. 135-169.
12. Timkovsky V. G. Cycle Shop Scheduling. Leung J. Y.-T. (ed.). Handbook of Scheduling. Ch. 7. Boca Raton; London; N.Y.; Washington, CRC Press, 2004.
13. Yu T.-S. and Pinedo M. L. Flow shops with reentry: Reversibility properties and makespan optimal schedules. Europ. J. Oper. Res., 2021, vol. 282(2), pp. 478-490.
14. Kats V. and Levner E. Minimizing the number of robots to meet a given cyclic schedule. Ann. Oper. Res., 1997, vol.69, pp.209-226.
15. Kats V. and Levner E. Cyclic scheduling in a robotic production line. J. Scheduling, 2002, vol. 5(1), pp. 23-41.
16. Boudoukh T., Penn M., and Weiss G. Scheduling jobshops with some identical or similar jobs. J. Scheduling, 2001, vol. 4(4), pp. 177-199.
17. Mezhetskaya M. A. and Servakh V. V. Zadachi obrabotki detalev so slozhnvm tekhnologicheskim marshrutom [The shop scheduling problems with complex technological route]. Sovremennve Problemv Nauki i Obrazovaniva, 2013, no. 1, https¡//science-education ,ru/ru/article/view?id=8407. (in Russian)
18. Sotskov Y. N. and Shakhlevich N. V. NP-hardness of shop-scheduling problems with three jobs. Discrete Appl. Math., 1995, vol. 59(3), pp. 237-266.
19. Servakh V. V. and Shcherhinina T. A. A fully polynomial time approximation scheme for two project scheduling problems. IFAC Proc. Volumes, 2006, vol.39, iss.3, pp. 131-135.
20. Servakh V. V. Effektivno razreshimvv sluchav zadachi kalendarnogo planirovaniva s vozobnovimvmi resursami [An efficiently solvable case of the scheduling problem with renewable resources]. Diskretnvv Analiz i Issledovanive Operatsiv, Ser. 2, 2000, vol.7, no. 1, pp. 75-82. (in Russian)
21. Middendorf M. and Timkovsky V. G. Transversal graphs for partially ordered sets: Sequencing, merging and scheduling problems. J. Combinat. Optimization, 1999, vol. 3, no. 4, pp. 417-435.
22. Romanova A. A. and Servakh V. V. Optimization of identical jobs production on the base of cyclic schedules. J. Appl. Industr. Math., 2009, vol.3, no. 4, pp. 496-504.
23. BobrovaE.A., Romanova A. A., and Servakh V. V. Slozhnost zadachi postroveniva tsiklicheskikh raspisaniv obrabotki odnotipnvkh detalev [Complexity of cyclic scheduling for identical jobs.] Diskretnvv Analiz i Issledovanive Operatsiv, 2013, vol.20, no. 4, pp. 3-14. (in Russian)