УДК 519.8 РС!: http://doi.org/10.25728/pu.2020.5.9
РАСПИСАНИЯ ВЫПОЛНЕНИЯ ЗАДАНИЙ ВО ВЗАИМОСВЯЗАННЫХ ПОСЛЕДОВАТЕЛЬНО РАБОТАЮЩИХ ПРОИЗВОДСТВЕННЫХ СИСТЕМАХ
Ю.А. Зак
Аннотация. Классическая в теории расписаний задача построения последовательности выполнения заданий на одной машине в условиях наличия ограничений на времена начала и завершения выполнения заданий и учитывающая не только затраты времени на работу оборудования, но и потери на постобработку, рассмотрена для многостадийных производственных систем, состоящих из взаимосвязанной цепочки участков и цехов промышленного предприятия. Критерием оптимальности задачи является выполнение многостадийного расписания в кратчайшие сроки. Рассматриваемые в работе задачи относятся к классу МР-полных задач экспоненциальной сложности. Исследованы свойства допустимых и оптимальных последовательностей выполнения заданий. Предложены методы расчета нижней границы длины оптимального расписания и правила отсева недопустимых и неоптимальных продолжений. Разработаны алгоритмы точного и приближенного решения задачи модифицированными методами ветвей и границ. Предложенные алгоритмы проиллюстрированы числовыми примерами. Выполненные автором вычислительные эксперименты показали, что наличие системы строгих ограничений на сроки выполнения заданий при реализации предложенных в работе алгоритмов в ряде случаев существенно сокращает число рассматриваемых вариантов.
Ключевые слова: последовательность выполнения заданий, многостадийное расписание, минимальное время, эвристический алгоритм, нижняя граница критерия оптимальности, отсев неперспективных продолжений, метод ветвей и границ.
ВВЕДЕНИЕ
Определение допустимых и оптимальных последовательностей изготовления некоторого множества различных изделий, каждое из которых должно пройти последовательную обработку в К структурных подразделениях (например, участках или цехах) предприятия актуально для построения систем оперативно-календарного производства (см., например, работы [1—6]). Календарное планирование всей последовательной цепочки производств позволит повысить эффективность работы взаимосвязанной системы участков и цехов промышленного предприятия, определит конкретизацию во времени изготовления всех изделий, обеспечит выпуск различных видов продукции в установленные договорами сроки и с наилучшими технико -экономическими показателями.
Каждое структурное подразделение производства в такой постановке задачи рассматривается
как отдельная стадия. Такими стадиями обработки могут быть группы станков, многопроцессорные и многопоточные или автоматические линии, а также различные структурные единицы предприятия более низкого уровня иерархии. Каждая стадия обработки рассматривается как одна машина. В дальнейшем в качестве времени обработки изделий на машине каждой стадии — это суммарное время выполнения всех операций этого задания на этом участке, т. е. на этой стадии обработки (суммарное время обработки на всех станках или автоматических линиях этой стадии). После изготовления на технологическом оборудовании на каждой стадии производится постобработка каждого изделия, связанная с контролем, испытанием, необходимым временем прослеживания (например, с охлаждением или нагреванием), оформлением необходимой документации, транспортными потерями времени и др., что также требует затрат времени.
Технологическая схема производства, рассматриваемая в данной задаче, представлена на рис. 1.
Машина 1
Постобработка
2 _____
Машина 2 -(Постобработка^)
К
Машина К
Постобработка
Рис. 1. Технологическая схема производства
Введем определение технологической организации производства «многостадийная обработка изделий на одной машине».
В монографиях и в периодической литературе по теории расписаний рассматривались в различных постановках и с различными критериями оптимальности математические модели, точные и приближенные методы решения классических задач построения последовательностей выполнения заданий на одной машине применительно только к одному структурному подразделению предприятия. Определенный интерес представляет учет времен, необходимых на постобработку после завершения изготовления изделий на машине. В качестве критериев оптимальности выбирается выполнения всего комплекса работ в кратчайшие сроки (см., например, работы [1, 2, 5, 6] и др.). При этом независимые друг от друга расписания для каждого отдельного участка могут оказаться совершенно не эффективными для общей многостадийной системы, включающей в себя последовательную цепочку из нескольких участков.
Задачам построения многостадийных расписаний выполнение заданий на одной машине, имеющим большое практическое значение и ярко выраженную специфику, как и задачам построения многостадийных расписаний в условиях ограничений на времена выполнения заданий, не уделялось достаточного внимания в литературе. Практически важные постановки и пути решения задач построения двухстадийных расписаний рассматривались в работах М.Х. Прилуцкого и Д. В. Седова [4], а в приложениях, когда второй стадией служит процесс сборки изделий, в работах Е.Н. Хоботова [3]. В работах автора [4, 6, 7] рассматривались постановки, математические модели, точные и приближенные методы решения некоторых классических задач в многостадийных производственных системах.
1. ПОСТАНОВКА ЗАДАЧИ. СОСТОЯНИЕ ПРОБЛЕМЫ
Технологический процесс предусматривает изготовление некоторого множества изделий на нескольких стадиях обработки. Каждая стадия рассматривается как одна единица оборудования, т. е. как одна машина. После изготовления на техноло-
гическом оборудовании осуществляется постобработка каждого изделия, что также требует затрат времени. На всех стадиях обработки последовательность изготовления одинакова для всех изделий. Результат решения задачи — определение номеров временных интервалов, в которых начинается и заканчивается выполнение определенных заданий и постобработки на различных стадиях обработки. Номера этих интервалов заданы целыми числами. Поэтому времена выполнения зада-
¿к к тк
ний , т1 , а также граничные значения й1 выражены в номерах и числе временных интервалов. В качестве временной единицы, в зависимости от конкретных приложений, может рассматриваться час, минута, секунда и даже день или сутки.
Изготовление изделий на оборудовании каждой из этих стадий ведется без прерываний времени выполнения. После изготовления изделия на к-й стадии и постобработки изделие поступает на следующую стадию обработки. На машине каждой стадии обработки может начаться изготовление следующего стоящего в последовательности обработки изделия непосредственно после завершения изготовления предыдущего. Начало обработки каждого изделия на следующем стоящем в последовательной цепочке участке (следующей стадии) может начаться только после постобработки его на предыдущей стадии. Заданы допустимые времена начала обработки каждого изделия на 1-й стадии обработки и граничные времена завершения выполнения этого задания на последней стадии обработки (после завершения постобработки). Необходимо найти допустимую последовательность изготовления изделий, обеспечивающую выполнение всех ограничений на допустимые времена изготовления, которая обеспечит минимальное время выполнения расписания на всех стадиях обработки.
Эффективные алгоритмы точного решения такой задачи в одностадийных системах, учитывающие потери времени на постобработку с помощью Schrage-algorithms и его модификации впервые были предложены в работе [10] и развиты в условиях различного вида ограничений в работах автора [2, 4, 11].
Задачи теории расписаний для многостадийных производственных систем, как правило, отно-
сятся к классу МР-полных задач экспоненциальной сложности Они сложнее задач построения одностадийных расписаний и связаны с существенно большим числом переменных и ограничений. Построение математических моделей таких задач, исследование свойств их допустимых и оптимальных решений, а также алгоритмов получения эффективных и приближенных решений весьма актуально для построения систем календарного планирования производства, планирования ремонтных работ и обслуживания объектов.
Математическая формулировка задачи. Здесь и в дальнейшем под выполнением задания понимается завершение изготовления изделия на всех стадиях обработки. Введем обозначения: i = 1, ..., п — индексы обрабатываемых изделий; k = 1, ..., K —
индексы различных стадий обработки; йЫ — допустимый наиболее ранний срок начала выполнения г-го задания на к-й стадии обработки; di и Di — соответственно граничное время начала и завершены
ния выполнения г-го задания; — время выполнения г-го задания на к-й стадии обработки; г, — необходимое время постобработки после выполнения г-го задания на к-й стадии обработки; хк,
ек — соответственно время начала и завершения выполнения г-го задания на к-й стадии обработки;
к к ггк
, гг и — соответственно время начала, длительности и завершения постобработки г-го задания на к-й стадии технологического процесса;
Т. = 2К — время завершения всех работ м ногоста-дийного изготовления и постобработки г-го изделия; ¥ = тах _ Т — время завершения всех работ
г е I 1
многостадийного расписания, т. е. значение критерия оптимальности задачи.
Пусть построена некоторая последовательность
выполнения заданий и = {и1, и2, ..., и^_ 1, и, ..., ип}.
Времена начала и завершения выполнения каждого из заданий и постобработки изделий на всех стадиях обработки определяются по формулам
хЫ1 = ^ + 1, е11 = хЫ1 + и _ 1, ^ = 0Ы1 + 1 2Ы,1 = ^ + гЫ1 - 1; (1)
хЫ1 = тах( dUl, гЫ1 Х) + 1,
ек = хЫ1 + г\ _ 1, гкч = еЫ1 + 1,
^ = ^ + аЫ1 - 1, к = 1, ..., К; (2)
хЫ = тах(, _ 1) + l, еЫ,_ 1 = х1 + и _ 1,
= еи + 1, = ^ + ги1 _ 1;
хк = х(йк 7к-1) + 1 ек = хк + л _ 1
хи . тах( йи., ¿и]_ 1) + 1, еи, хи , + 'и, 1,
4 = ек + 1,
к к к = Ч + гк. _ 1,
к = 2, ..., К, } = 1, 2, ..., п;
= , . = 1, ..., п.
(3)
(4)
(5)
2. СВОЙСТВА ДОПУСТИМЫХ И ОПТИМАЛЬНЫХ РЕШЕНИЙ
Рассмотрим две подпоследовательности и (5) и
и (р).
Правило отсева 1. Если для двух подпоследовательностей и (5) и и (р) справедливы условия
4() < (), к = 1, 2, ..., (К _ 1),
т (5) т (р)
еК < еК ,
ит (5) ит(р)
(6)
где I1 (р) и I1 (5) — подмножества заданий в подпоследовательностях и (5) и и (р), ит(5) и итр) — соответственно индексы заданий, стоящих на последнем месте в подпоследовательностях и(5) и и (р), 2к. и 2к. — соответственно времена за-
ит (5) ит(р)
вершения постобработки последнего стоящего в
подпоследовательностях и (5) и и (р) задания на
каждой стадии к = 1, 2, ... , (К _ 1), еК и еК —
т (5) т(р)
времена завершения обработки этих изделий на машине последней К-й стадии, то подпоследовательность и (р) не содержит оптимальных решений и может быть отброшена как неперспективная.
Упорядочим все задания по неубыванию граничных времен их завершения, т. е. значений D. —
й = ..., д - р ^ ..., qn\Dql 1 < Dql,
I = 2, 3, ..., п}. (7)
Правило отсева 2. Если для некоторой подпоследовательности и (5) с подмножеством заданий I1 (5), содержащей все (I _ 1) задания, стоящие в начале последовательности й , и на последнем
месте которой стоит задание ит^, справедливы условия
тах.
к
1< к< к - 1 \ ^ + I (4, + Щ > Д
8 = к + 1 1
д1 е {б/11(^)|,
(8)
то эта подпоследовательность й (в) не содержит д о-пустимых планов и может быть отброшена как неперспективная .
Доказательство этого утверждения следует из условий
к К к к + I ( д + 1 + г д, + 1 ) < тах( + 1 ) +
гк , „к +1-
8 = к + 1 к
+ I [тах( 28-1, е8 )] + (4 + г8 ).
/-1 4 +1' +1'1 ■ +1 + 1/ 8 = к + 1
Правило отсева 3 может рассматриваться как усиление правила 2. Если выполняется хотя бы одно из системы неравенств
тах
1<к<К-1 | и
п К
Я. +
т )
I I (%+ф\ > Д
д1 = (т5 + 1) 8 = к + 1
Ч'
е {б /1 Ч*)|,
(9)
то данная подпоследовательность выполнения заданий не имеет допустимых продолжений.
Правило отсева 4. Более слабые условия проверки допустимости строящейся последовательности, но требующие меньшего объема вычислений, связаны с проверкой двух или хотя бы одной из системы неравенств (10)—(12), которые имеют вид
2К- 1 + I ( ¿К + ГК) > Д ,
ит (в) ¿-I дГ
дI = (т5 + 1) д1 е {б / 11(в)},
(10)
к
еи +
ит (в)
I I (% + 4 ) > ^ ,
дI = (т5 + 1) 8 = 1
д1 е {б //Ч*)}, к
еи + I (¿8 + г8) > Д,
ит(в) ¿-Iх
(11)
8 = 1
еК-1 + ((К + ГК) > Д.
ит (в) д1 дГ д1
(12)
3. НИЖНЯЯ ГРАНИЦА ДЛИНЫ ОПТИМАЛЬНОГО РАСПИСАНИЯ
Выражения для вычисления нижней границы как в начале работы алгоритма, так и в процессе построения последовательности выполнения заданий, будут необходимы для реализации последовательных методов решения задачи (метода ветвей и границ и метода динамического программирования). Кроме того, информация о значении нижней границы длины оптимального расписаний позволит оценить точность полученного решения различными алгоритмами приближенного решения задачи.
Время завершения выполнения и постобработки всех заданий многостадийной обработки изделий не может быть меньше каждой из величин
/ = ШП1 <I<п$ I + ШП1 <I<пП , к = 1, ..., К.
I = 1
После выполнения всех заданий с соответствующей постобработкой на к-й стадии технологического процесса необходимы еще временные затраты на всех остальных стадиях обработки, которые не могут быть меньше значения
ц = т^<;<п(^ + + г!), I = 1, ..., (к - 1),
(к + 1), ..., К, I * к.
Следовательно, нижняя граница длины расписания должна быть не меньше значения
к К
^ = к + I Ц,, к = 1, ..., К.
I = 1,1 * к
С учетом изложенного выше значение нижней границы длины многостадийного расписания вычисляется по формуле
ад = тах1 <к<кк + I Н . (13)
^ I = 1,,* к ;
Пусть на некотором в-м шаге алгоритма построена подпоследовательность выполнения подмножества заданий 11(в) — й(в) = {и1(в), и2(в), ..., и.(в), ..., ит(в)}, нижняя граница длины расписания
У т
т < п, и вычислены значения е^ , к = 1, ..., К.
ит(в)
12(в) = {I / -?1(в)| — подмножество подлежащих выполнению заданий. Тогда
кк(в) = min тах( , е^ ) + тт гк,
' I е 12(в) 4 г' ит(¡У 12(5) г'
к = 1, ..., К;
(14)
т
ц1(5) = тш ^ ^[тах( , )) + ^ + ^ ],
(к + 1), ..., X, I * к. (15)
Следовательно, нижняя граница длины расписания для подпоследовательности выполнения подмножества заданий вычисляется по формуле
Н&(^)] = тах1 <к< 1/к(+ I ц,(5)1 . (16)
^ I = 1,1 * к '
В качестве еще одного выражения для вычисления нижней границы может рассматриваться формула
8(Л №)]} = < В( +
'X+
+ тш
д1 = (ш5 + 1), д1 Е(ф11( 5))
К
д1 е{ОД1(5)} дГ
(17)
4. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ
Рассмотрим алгоритм решения задачи модифицированным методом ветвей и границ.
В процессе построения расписания строим различные варианты подпоследовательностей выполнения заданий и (5), 5 = 1, ..., При этом, пользуясь правилами 2 или 4 (см. § 2, а также правилом 1 и формулами (6), (8)—(12)), подпоследовательности, не содержащие допустимых и оптимальных решений, исключаем из рассмотрения. Процесс решения завершается, когда построена некоторая последовательность и (к), в которой сроки завершения выполнения всех заданий м еньше или равны установленных граничных значений, а время выполнения расписания всех работ не превышает нижней границы длины расписания всех подлежащих дальнейшему развитию подпоследовательностей.
Времена начала и завершения выполнения заданий рассчитываются по формулам (1)—(5).
Пусть на некотором шаге решения задачи построено Л(5) допустимых последовательностей выполнения заданий, критерии оптимальности которых соответственно равны ЁрЩ(5)], р = 1, ..., Л(5),
Ё [и(5)] = тшх<р<Л(5)^р[и(5)] — наилучшее из построенных расписаний. В начале работы алгоритма
полагаем Ё [и(5)] ^ да.
Обозначим признаком р(^) = 0 перспективные
подпоследовательности и (5), подлежащие дальнейшему развитию, р(я) = 1 и р(я) = 2 соответственно
и (5), не содержащие оптимальных и допустимых решений; р(я) = 3 — допустимое решение задачи.
Упорядочим все подлежащие выполнению задания в последовательность О в соответствии с выражением (7). Алгоритм предусматривает выполнение следующих шагов.
Шаг 1. Полагаем и(5) = {д}, 5 = 1, 2, ..., п. Рассчитываем значения хк , "к , , к = 1, ..., К, по
(¿5 (¿5 (¿5
~ 1 ~ 2 формулам (1), (2). Полагаем I (5) = {д„}, I (5) =
= { — . Если выполняется неравенство
I }
> \,
хотя бы для одного значения д, то не существует допустимых решений задачи, и алгоритм завершает работу. В противном случае полагаем р(^) = 0,
вычисляем значение нижней границы 9{Ё[и (5)]} (например, по формуле (17), положив = д). Обозначим В(5) — число построенных подпоследовательностей. Переходим к шагу 2.
Шаг 2. Обозначим О(5) = {О/ 1Х(^)}, где О(5) =
{~дх (5), ..., д1 (5), ..., др (5)} — последовательность, в которой отсутствуют все индексы заданий множества I Среди последовательностей и (5), у которых р(5) = 0, выбираем и (5) с наименьшим
значением нижней границы 9{Ё[и (5)]}. Если таких последовательностей не существует, то допустимое расписание с наименьшим значением критерия оптимальности является решением задачи. Если построенных допустимых расписаний не существует, т. е. Ё [и(5)] ^ да, то не существует допустимых решений задачи, и алгоритм завершает работу. Если 12(5) * 0, то устанавливаем на последнее
место в строящейся и (5) каждое из заданий под-
2 1 множества I (5) = {/\(5),у^), ...,у^)}, I [Д» + к] =
= {/(5) и 7к(5)}, ^ТО + к] = {Р^МкШ,
и[В(5) + к] = Ц(5), М2(5), ..., и/5), ..., Мт(5), ]к(5)}, к = 1, 2, ..., ц.
Полагаем р(^) = 1. Вычисляем по формулам
(2) — (5) значения Х^(5) , 9укк(5) , 5) , к = 1 ..., К. Полагая для и[В(5) + к] значение ыт(з) = ]к(и), проверяем выполнение неравенств (9) или (11) и (12),
положив д1 е {О/11 [В(5) + к]}. Если для какого-то индекса ]к(з) выполняется хотя бы одно из этой системы неравенств, то полагаем р[В(^) + к] = 2.
т
Для подмножеств, для которых ни одно из этой системы неравенств не выполняется, полагаем р[Дв) + к(в)] = 0, вычисляем значение нижней границы по формулам (16) или (17). Увеличиваем число построенных подпоследовательностей на число ц, и переходим к шагу 3. Если I'1 [В^) + Н(в)] = I, то переходим к шагу 5.
Шаг 3. Если для подпоследовательности
й[Д(в) + к] выполняется хотя бы одно из неравенств
+ ((К
+ 4)) > д
у в)
у( в)
у( в)
+
К
I ((
8 = 1
8
7( в)
+ Гу8(в) ) > Д
то й[Д(в) + к] не содержит допустимых решений, полагаем р[Д(я) + к(в)] = 3 и переходим к шагу 2. В противном случае переходим к шагу 4.
Шаг 4. Для всех вновь построенных перспективных подмножеств I1 [Д(в) + к(в)], для которых р[Д(в) + к(в)] = 0, проверяем правила 1—3 перспективности продолжения со всеми ранее построенными подпоследовательностями й (в), в = 1, ..., В(в), у которых р(в) = 0. Если будет установлено, что какое-либо из них не содержит оптимальных решений, то для этого подмножества полагаем р[В(в) + к(в)] = 2 или р(в) = 2. Переходим к шагу 2.
Шаг 5. Для построенной допустимой последовательности выполнения заданий значение критерия оптимальности равно Т. (^ = ТВ^) + к(в)] =
= 2.К(в). Если выполняется неравенство Т [й(в)] > > Т[В(в) + к(в)], то полагаем
Т [й(в)] = Т[В(в) + к(в)].
Если
Т №)] < (тп<,<[д^ад^^Ш^) = 0,
то получено решение задачи, и алгоритм завершает работу. В противном случае переходим к выполнению шага 2.
При полной реализации алгоритма ветвей и границ этот алгоритм является алгоритмом экспоненциальной сложности. В случае реализации односторонней схемы ветвления без последующего возвращения к вершинам дерева с меньшим значением нижней границы и в условиях достаточно большой области допустимых решений алгоритм решения в ряде случаев может иметь полиномиальную сложность.
Полиномиальным алгоритмом можно гарантировать получение только приближенного решения задачи без учета ограничений. Здесь методом вет-
вей и границ строится только одна ветвь дерева решений задачи, не обращая внимания, что вершины других ветвей содержат граничные значения критерия оптимальности лучше, чем в строящемся решении. На каждом шаге, требующем определенного объема вычислений, выбирается место в последовательности одного из заданий. Так как таких заданий И, то этот алгоритм является алгоритмом полиномиальной сложности.
5. ИЛЛЮСТРАТИВНЫЙ ПРИМЕР
Времена выполнения семи заданий на машинах трех стадий изготовления изделий, а также потери времени на постобработку на каждой из этих стадий и допустимые времена начала и завершения выполнения заданий сведены в табл. 1. Последовательность по невозрастанию времен завершения выполнения заданий (7) имеет
вид б = {7, 3, 4, 1, 6, 2, 5|.
Вычислим значение нижней границы длины расписания по формуле (13):
е3 = 10 + 12 + 2 + 12 + 4 + 9 = 49, е3 = 5 + 15 + 3 + 3 + 4 + 10 = 40, е3 = 8 + 10 + 5 + 3 + 7 + 12 = 45, е3 = 0 + 8 + 7 + 8 + 5 + 13 = 41, е3 = 12 + 9 + 4 + 10 + 2 + 10 = 47, е3 = 5 + 6 + 6 + 9 + 4 + 11 = 41, е3 = 1 + 15 + 4 + 6 + 5 + 8 = 39. Т3 = 9 + 10 + 12 + 13 + 10 + 11 + 8 = 73; = тт( е3 + (Т3 - 9 + 2); е3 + (Т3 - 10 + 2); е3 + (Т3 - 12 + 2); е3 + (Т3 - 13 + 3); е5 + (Т3 - 10 + 2); е3 + (Т3 - 11 + 2); е3 + (Т3 - 8 + 2)| = 104.
Таблица 1
Временные параметры задачи
Но- Временные параметры на различных стадиях обработки к = 1, 2, 3
мер зада- 4 1-я стадия 2-я стадия 3-я стадия Д
ния 4 1 П 2 г1 ¿3 3
1 10 12 2 12 4 9 3 80
2 5 15 3 3 4 10 5 102
3 8 10 5 7 3 12 4 66
4 0 8 7 8 5 13 2 72
5 12 9 4 10 2 10 6 115
6 5 6 6 9 4 11 5 93
7 1 15 4 6 5 8 4 55
1
е
Далее приведен процесс решения задачи. Для всех построенных подпоследовательностей выполнения заданий нижняя граница оптимального решения вычисляется по формулам (14), (15) или (16), (17).
$ = 1.
3
Задание 1: = 10 + 12 + 2 + 12 + 4 + 9 = 49, 3( Т73) = 49 + 8 + 4 = 61 > 55, т. е. недопустимо.
$ = 3. и = {4, 7, 3}. Так как "7 = 49, "6\и = (4, 7,
3)} = 49 + 11 = 60, 3{7\3(и = (4, 7, 1)} = 60 + 9 + 3 =
= 72 < 80, &{7,3(й = (4, 7, 6, 1, 3)} = 60 + 9 + 12 + 4 =
= 85 > 68, то остальные варианты недопустимы; (Ё\и = = (4, 7, 3)) = 105.
$ = 4. и = {4, 7, 3, 1}. Так как "3 = 61, "6\и = (4,
Задание 2: "2 = 5 + 15 + 3 + 3 + 4 + 10 = 40, 7, 3, 6)} = 61 + 11 = 72, 3{Т63(и = (4, 7, 3, 2)} = 72 + 5 =
= 77 < 90, = (4, 7, 2, 1)} = 72 + 9 + 3 = 84 < 80,
) = 40 + 8 + 4 = 52 < 55; 3("7) = 48, 3( Т33) = 48 +
+ 12 + 4 = 64 < 68; 3("3) = 6, 3( Т43) = 60 + 13 + 2 =
= 75 > 72, т. е. недопустимо.
3
Задание 3: "3 = 8 + 10 + 5 + 3 + 7 + 12 = 45,
3( Т73) = 45 + 8 + 4 = 57 > 55, т. е. недопустимо.
Задание 5: = 12 + 9 + 4 + 10 + 2 + 10 = 47,
3( Т73) = 47 + 8 + 4 = 59 > 55, т. е. недопустимо.
Задание 6: = 3 + 6 + 6 + 9 + 4 + 11 = 39,
3( Т73) = 39 + 8 + 4 = 51 < 55, 3("7) = 47, 3( Т33 ) = 47 +
+ 12 + 4 = 63 < 68; 3("3) = 59, 3( Т43 ) = 59 + 13 + 2 = = 74 > 72, т. е. недопустимо.
Аналогичные вычисления для заданий 4 и 7 показали допустимость установки их на 1-е место в строящейся последовательности. Вычислим значения нижних границ для каждого из этих вариантов: \ы1 = 4) =
= + 9 + 10 + 12 + 10 + 11 + 8 + 3 = 41 + 63 = 104,
= 7) = + 9 + 10 + 12 + 13 + 10 + 11 + 2 = = 38 + 67 = 105.
Выбирая вершину с наименьшим значением нижней границы и выполняя аналогичные вычисления на каждом шаге, строим дерево решений задачи.
$ = 2. и = {4, 7}. Так как = 41, "3\и1 = 4} = 41 + 12 = 53, 3{ Т73 \и1 = 4} = 53 + 8 + 4 = 65 > 55, то остальные варианты недопустимы; \и = {4,7}) = 105.
то остальные варианты недопустимы; й(Ё\и = (4, 7, 3, 1)) = 108.
$ = 5. и = {7, 3}. Так как = 38, 3{ \и = (7, 4)} =
= 38 + 13 = 51, 3{Т43(и = (7, 4, 3)} = 51 + 12 + 4 =
= 67 > 66, то остальные варианты недопустимы; \и = = (7, 3)) = 107.
$ = 6. и = {7, 3, 4}. Так как "3 = 52, 3{ \и = (7, 3,
1)} = 52 + 9 = 61, 3{Т43(и = (7, 3, 1, 4)} = 61 + 13 + 2 =
= 76 > 72, то остальные варианты недопустимы; \ и = = (7, 3, 4)) = 109.
$ = 7. и = {4, 7, 3, 1, 6}. Так как "3 = 72, 3{ "^и =
= (4, 7, 3, 1, 2)} = 72 + 10 = 82, &{Т63(и = (4, 7, 3, 1, 2, 6)} = 82 + 11 + 5 = 96 > 93, то остальные варианты недопустимы; \и = (4, 7, 3, 1, 6)) = 109.
$ = 8. и = {4, 7, 3, 1, 6, 2}. Так как = 83, 3{\и =
= (4, 7, 3, 1, 6, 5)} = 83 + 10 = 93, 3{Т23(и = (4, 7, 3, 1, 6, 5, 2)} = 93 + 10 + 5 = 108 > 102, то остальные варианты недопустимы; 3(Ё\и = (4, 7, 3, 1, 6, 2)) = 109.
$ = 8. и = {4, 7, 3, 1, 6, 2, 5}, (Ё\и = {4, 7, 3, 1, 6, 2}). Дерево решений задачи, построенное методом ветвей и границ описанным алгоритмом решения, приведено на рис. 2. Слева или справа от каждой вершины стоит значение нижней границы критерия оптимальности. Времена начала и завершения выполнения заданий на машинах и постобработки на различных стадиях изготовления в оптимальной последовательности их обработки приведены в табл. 2.
Времена начала и завершения выполнения заданий в оптимальном решении
Таблица 2
Последо- Времена начала и завершения выполнения заданий
вательность вы- 1-я стадия 2-я стадия 3-я стадия
полнения заданий 1 Х1 Т1 2 Х1 Т1 3 Х1 "3 Т1
4 1 8 15 16 23 28 29 41 43 < 72
7 9 23 27 28 33 38 42 49 53 < 55
3 24 33 38 39 45 48 50 61 65 < 66
1 34 45 47 48 59 63 64 72 75 < 80
6 46 51 57 60 68 72 73 83 88 < 93
2 52 66 69 70 72 75 84 93 98 < 102
5 67 75 79 80 89 91 94 103 109 < 115
Рис. 2. Дерево решений примера
Рис. 3. Дерево приближенного решения задачи
Таблица 3
Времена начала и завершения выполнения заданий
Последо- Времена начала и завершения выполнения заданий
вательность вы- 1-я стадия 2-я стадия 3-я стадия
полнения заданий 1 X е? т1 2 X е2 Т1 3 X е3 Т1
4 1 8 15 16 23 28 29 41 43
7 9 23 27 28 33 38 42 49 53
6 24 29 35 36 44 48 50 60 65
2 30 44 47 48 50 54 61 70 75
5 45 53 57 58 67 69 71 80 86
3 54 63 68 69 75 78 81 92 96
1 64 75 77 78 89 93 94 102 105
Рассмотрим также приближенное решение данного примера в условиях, когда ограничения на времена завершения выполнения заданий отсутствуют, т. е. ^ да, I = 1, ..., 7. Применим одностороннюю схему ветвления, не обращая внимание на то, что в д ереве решений есть вершины с м еньшим значением нижней границы функции цели. Дерево решений задачи в этом случае представлено на рис. 3.
Времена начала и завершения выполнения заданий на машинах и постобработки на различных стадиях изготовления в оптимальной последовательности их обработки при отсутствии ограничений на времена завершения их выполнения приведены в табл. 3.
Значение критерия оптимальности в полученном приближенном решении очень близко к значению нижней границы длины расписания.
ЗАКЛЮЧЕНИЕ
Рассмотренные в работе постановки и методы решения задач построения расписаний работы последовательных цепочек участков и цехов взаимосвязанных производств могут найти широкое применение в системах календарного планирования мелко- и среднесерийного производства. Существенная особенность рассматриваемых задач состоит в учете затрат времени не только на работу оборудования, но и потерь времени на постобработку на каждой стадии изготовления, а также в наличии системы ограничений на сроки начала выполнения заданий на 1-й стадии обработки и завершения их выполнения на последней стадии после постобработки. В качестве критерия оптимальности принято построение последовательности вы-
полнения всех заданий системой взаимосвязанных производств в кратчайшие сроки. Сформулированные задачи обобщают известную в теории расписаний задачу построения последовательности выполнения заданий на одной м ашине с учетом постобработки и относятся к классу МР-полных задач экспоненциальной сложности. Алгоритмы получения точных решений таких задач применимы, в самом общем случае, только для решения задач малой размерности. В статье приведены математическая постановка, формулы выражения вычисления нижней границы значения критерия оптимальности, а также свойства д опустимых последовательностей выполнения заданий и правила отсева недопустимых и неоптимальных продолжений.
Предложены алгоритмы получения точных и приближенных решений задачи на основе модифицированного метода ветвей и границ. Полученные результаты проиллюстрированы числовым примером, выполненные автором вычислительные эксперименты показали, что наличие системы строгих ограничений на сроки выполнения заданий при реализации приведенных в работе алгоритмов в ряде случаев существенно сокращает число рассматриваемых вариантов. Это позволяет при сравнительно небольшом объеме вычислений получить допустимые и даже оптимальные или очень близкие к оптимальным решения, а также на начальных этапах решения установить несовместность системы ограничений задачи.
Предложенные в работе алгоритмы применимы для практического применения в автоматизированных системах календарного планирования производств, строительства объектов, выполнения ремонтных работ и в других приложениях.
ЛИТЕРАТУРА
1. Лазарев А.А. — Теория расписаний. Методы и алгоритмы. — М. — ИПУ РАН. — 2019. — 408 с. [Lasarev, A.A. Schedule theory. Methods and algorithms. — М. — IPU RAN. — 2019. — 408 p. (In Russian)]
2. Зак Ю.А. Прикладные задачи теории расписаний и маршрутизации перевозок. — М.: URSS, 2012. — 394 с. [Zack, Yu.A. Applied Problems of the Theory of Schedules and Traffic Routing. — М., URSS, 2012. — 394 p. (In Russian)]
3. Хоботов Е.Н. О некоторых моделях и методах решения задач планирования в дискретных производствах // Автоматика и телемеханика. — 2007. — № 12. — С. 85—100. [Hobotov, E.N On Some Models and Methods for Solving Planning problems in Discrete Production // Automation and Remote Control. — 2007. — Vol. 68, iss. 12. — P. 2172—2186.]
4. Прилуцкий М.Х., Седаков Д.В. Календарное планирование многостадийных производственных систем с взаимозаменяемым оборудованием // Вестник Нижегородского ун-та им. Н.И. Лобачевского. — 2014. — № 4 (1). — С. 433—437. [Priluzkij, M.H., Cedakov, D.V. Scheduling of Multistage Production Systems with Interchangeable Equipment // Bulletin of Nizhny Novgorod University im. N.I. Lobachevsky. — 2014. — No. 4 (1). — P. 433—437. (In Russian)]
5. Domschke, W, Scholl, A., Vop, S. Produktionsplanung. Ablauforganisatorische Aspekte. — Springer Verlag: Berlin — Heidelberg, 2005. — 456 s.
6. Brucker P. Scheduling Algorithms. — Springer-Verlag: Berlin — Heidelberg — New York, 1998. — 377 p.
7. Зак Ю.А. Построение двухстадийных расписаний обработки изделий на одной машине. — Системш дослщження та шформацшш технолога. — 2018. — № 4. — С. 19—36.
[Zack, Yu.A. Construction of two-stage product processing schedules on one machine // Systems research and information technology. — 2018. — No. 4. — P. 19—36.]
8. Зак Ю.А. Двухстадийные задачи планирования для поточной линии // Проблемы управления. — 2019. — № 6. — С. 52—62. [Zack, Yu.A. Two-stage planning tasks for the flow // Control Sciences. — 2019. — No. 6. — P. 52—62. (In Russian)]
9. Зак Ю.А. Алгоритмы приближенного решения многостадийных Flow-shop-problem // Системш дослщження та ш-формацшт технолги. — 2019. — № 3. — С. 100—109. [Zack, Yu.A. Algorithms for the approximate solution of multistage Flow-shop-problem // Systems research and information technology. — 2019. — No. 3. — P. 100—109.]
10. Carlier, J. The one-machine sequencing problem // European Journal of Operational Research. — 1982. — Vol. 11. — P. 42—47.
11. Зак Ю.А. Построение допустимых и оптимальных расписаний выполнения работ на одной машине // Кибернетика и системный анализ. — 2012. — № 1. — С. 51—66. [Zack, Yu.A. Construction of admissible and optimal schedules of work execution on one machine // Cybernetics and Systems Analysis. — 2012. — No. 1. — P. 51—66. (In Russian)]
Статья представлена к публикации членом редколлегии
А.А. Лазаревым.
Поступила в редакцию 19.02.2020, после доработки 7.07.2020.
Принята к публикации 16.07.2020.
Зак Юрий Александрович — д-р техн. наук,
эксперт и консультант, г. Аахен, Германия,
SCHEDULES FOR PERFORMING TASKS IN INTERCONNECTED SEQUENTIAL PRODUCTION SYSTEMS
Yu.A. Zack
Abstract. The problem, which is classical in scheduling theory, of constructing a sequence of tasks execution on one machine under conditions of restrictions on the start and end times of tasks execution and which takes into account not only the time spent on equipment operation, but also the losses for post-processing, is considered for multistage production systems consisting of an interconnected chain of sections and workshops of an industrial enterprise. The criterion for the optimality of the task is the implementation of the multistage schedule in the shortest possible time. The problems considered in this paper belong to the class of NP-com-plete problems of exponential complexity. The properties of admissible and optimal task execution sequences are investigated. Methods for calculating the lower bound for the length of the optimal schedule and the rules for rejecting inadmissible and non-optimal extensions are proposed. Algorithms for the exact and approximate solution of the problem by modified branch and bound methods have been developed. The proposed algorithms are illustrated with numerical examples. The computational experiments performed by the author have shown that the presence of a system of strict restrictions on the timing of tasks when implementing the algorithms proposed in the paper in a number of cases significantly reduces the number of options under consideration.
Keywords: sequence of task execution, multistage schedule, minimum time, heuristic algorithm, lower bound of the optimality criterion, screening out unpromising continuations, branch and bound method.