Автоматика и телемеханика, № 1, 2023
Оптимизация, системный анализ
и исследование операций
© 2023 г. Ю.Н. СОТСКОВ, д-р физ.-мат. наук (sotskov48@mail.ru)
(Объединенный институт проблем информатики НАН Беларуси, Минск)
ОПТИМАЛЬНОЕ ПО БЫСТРОДЕЙСТВИЮ РАСПИСАНИЕ
ОБСЛУЖИВАНИЯ ТРЕБОВАНИЙ С ПРЕРЫВАНИЯМИ
ОПЕРАЦИЙ КАК ОПТИМАЛЬНАЯ РАСКРАСКА
СМЕШАННОГО ГРАФА1
Установлена взаимосвязь задач теории расписаний с критерием мини-
мизации длины расписания и задач поиска оптимальных (строгих) рас-
красок вершин смешанного графа, т.е. назначений минимального мно-
жества упорядоченных цветов вершинам V = {v1, . . . , v|V|} смешанного
графа G = (V, A, E), для которых вершинам vi и vj , инцидентным ребру
[vi, vj ] ∈ E, назначаются разные цвета, а для дуги (vk, vl) ∈ A цвет вер-
шины vk не больше (меньше) цвета вершины vl. Показано, что любая за-
дача поиска оптимальной раскраски вершин смешанного графа G может
быть представлена как задача GcMP T |[pij], pmtn|Cmax построения опти-
мального по быстродействию расписания обслуживания частично упоря-
доченного множества требований с целочисленными длительностями pij
операций при допустимости прерываний их выполнения. В отличие от
классических задач теории расписаний, в задаче GcMP T |[pij], pmtn|Cmax
для выполнения операции может требоваться несколько приборов и по-
мимо двух типов отношений предшествования, заданных на множестве
операций, необходимо, чтобы единичные операции заданного подмноже-
ства выполнялись одновременно. Задача GcMPT|[pij], pmtn|Cmax псев-
дополиномиально сводится к задаче поиска оптимальной раскраски вер-
шин смешанного графа G, который определяет исходные данные задачи.
В силу доказанных утверждений для результатов, полученных для зада-
чи GcMP T |[pij], pmtn|Cmax, имеются аналоги для соответствующих задач
оптимальных раскрасок вершин смешанных графов G, и наоборот.
Ключевые слова: расписание, прерывание, быстродействие, смешанный
граф, оптимальная раскраска.
DOI: 10.31857/S0005231023010075, EDN: LULDPY
1. Введение
Для оперативно-календарного планирования (ОКП) производства требу-
ется построение оптимальных расписаний обслуживания заданных требова-
ний на имеющемся оборудовании (машинах, станках, процессорах). Опти-
1 Исследование поддержано Белорусским Республиканским Фондом Фундаментальных
Исследований, проект № Ф21-010 и проект № Ф23РНФ-017.
139
мизация расписаний производственных процессов является важным факто-
ром эффективности производства, поскольку позволяет сокращать произ-
водственные затраты, время реализации поступивших заявок, своевременно
снабжать производственные процессы сырьем и комплектующими изделия-
ми, необходимыми для изготовления конечной продукции.
Практические задачи ОКП многообразны как по условиям, ограничени-
ям и назначению производства, так и по целям, которые достигаются при
реализации построенных расписаний. Для решения задач ОКП, как прави-
ло, разрабатываются специальные алгоритмы оптимизации расписаний с уче-
том условий конкретного производства. Расширение области применения ал-
горитмов теории расписаний в ОКП может быть основано на моделях более
сложных обслуживающих систем с целью единообразного представления раз-
личных классов расписанческих задач и разработки на основе таких моделей
общих методов построения оптимальных расписаний.
Известно, что задачи построения оптимальных по быстродействию распи-
саний с единичными длительностями заданных операций эквивалентны зада-
чам поиска оптимальных раскрасок вершин графов. Если же при построении
расписаний необходимо учитывать не только отношения предшествования,
заданные на множестве операций, но и невозможность совместного выпол-
нения операций на одном оборудовании (обслуживающих приборах), то для
оптимизации расписаний можно использовать раскраски вершин смешанных
графов, введенные в [1, 2].
Пусть G = (V, A, E) обозначает конечный смешанный граф с непустым
множеством вершин V = {v1, . . . , v|V|}, множеством дуг A и множеством ре-
бер E. Дуга (vi, vj ) ∈ A определяет упорядоченную пару вершин vi и vj,
а ребро [vp, vq] ∈ E неупорядоченную пару вершин vp и vq. Будем предпола-
гать далее, что рассматриваемый смешанный граф G = (V, A, E) не содержит
кратных дуг, кратных ребер и петель. Если множество A пусто, то получаем
граф (V, ∅, E). Если же множество E пусто, то получаем ориентированный
граф (V, A, ∅).
В [1] введено следующее определение раскраски (вершин) смешанного гра-
фа.
Определение 1 [1]. Целочисленную функцию c : V → {1,...,t} называ-
ют раскраской c(G) смешанного графа G = (V, A, E), если нестрогое неравен-
ство c(vi) ≤ c(vj) выполняется для каждой дуги (vi,vj) ∈ A и c(vp) = c(vq)
для каждого ребра [vp, vq] ∈ E. Раскраска c(G) является оптимальной, если
в ней используется минимальное количество t =: χ(G) различных цветов
c(vi) ∈ {1, . . . , t}. Минимальное число χ(G) называют хроматическим чис-
лом смешанного графа G.
Если A = ∅, то раскраска c(G) является обычной раскраской вершин
графа G = (V, ∅, E). В отличие от раскраски графа (V, ∅, E), существую-
щей для любого графа, раскраска c(G) смешанного графа G = (V, A, E) с
непустыми множествами дуг и ребер может не существовать. Следующий
140
критерий существования раскраски c(G) смешанного графа G = (V, A, E)
доказан в [1].
Теорема 1 [1]. Раскраска c(G) смешанного графа G = (V,A,E) суще-
ствует тогда и только тогда, когда ориентированный подграф (V,A,∅) сме-
шанного графа G не содержит ни одного контура с парой вершин смежных
в подграфе (V,∅,E).
Смешанный граф G = (V, A, E) будем называть раскрашиваемым, если
для него существует раскраска c(G). Задача поиска оптимальной раскрас-
ки c(G) смешанного графа является NP-трудной, даже если A = ∅ [3]. Взаимо-
связь задач поиска оптимальных раскрасок смешанного графа с задача-
ми теории расписаний с критерием минимизации длины расписания (ми-
нимизации общего времени обслуживания требований) при условии, что
все операции обслуживания требований имеют единичные длительности,
исследовалась в статьях [4-8]. В [9] представлен обзор опубликованных
результатов по раскраскам смешанных графов и эквивалентным задачам
построения оптимальных расписаний выполнения операций с единичными
длительностями.
В данной статье установлено, что задача поиска оптимальной раскрас-
ки любого раскрашиваемого смешанного графа сводится к задаче построе-
ния оптимального по быстродействию расписания выполнения частично упо-
рядоченного множества операций с целочисленными длительностями при
допустимости прерываний их выполнения. В отличие от классических за-
дач теории расписаний, в рассматриваемой задаче для выполнения опера-
ции может требоваться несколько различных приборов (машин, процессо-
ров). Помимо двух типов отношений предшествования, заданных на мно-
жестве операций, в задаче может потребоваться, чтобы единичные опера-
ции заданного подмножества выполнялись одновременно. В силу доказанных
утверждений результаты, полученные для исследованных задач построения
оптимальных по быстродействию расписаний, имеют аналоги для соответ-
ствующих задач поиска оптимальных раскрасок вершин смешанных графов,
и наоборот.
2. Оптимальные расписания обслуживания требований
с различными маршрутами и раскраски
вершин смешанного графа
Далее используется терминология монографий [10, 11] по теории графов
и монографий [12, 13] по теории расписаний.
Для классификации задач теории расписаний используется введенное
в [14] трехпозиционное обозначение α|β|γ, в котором α обозначает обслу-
живающую систему и количество приборов (машин, процессоров), β ха-
рактеристики обслуживаемых требований (работ, заданий), а γ целевую
функцию. Используются приведенные в [13] параметры классификации за-
дач теории расписаний.
141
2.1. Единичные длительности операций и строгая
раскраска смешанного графа
Начнем с постановки задачи J|pij = 1|Cmax построения оптимального по
быстродействию расписания (такой критерий оптимальности обозначает-
ся Cmax) обслуживания множества требований J = {J1, . . . , J|J|} с различны-
ми маршрутами (такую многостадийную обслуживающую систему называют
job-shop, т.е. цех работ) и единичными длительностями pij = 1 всех заданных
операций Qij. В задаче J|pij = 1|Cmax множество требований J необходимо
обслужить оптимально на множестве M = {M1, . . . , M|M|} специализирован-
ных (различных) приборов. Обслуживание требования Ji ∈ J подразумевает
выполнение множества Qi = {Qi,1, . . . , Qi,|Qi|} операций в заданном для них
порядке, а именно: (Qi,1, . . . , Qi,|Qi|). Для каждой операции Qij ∈ Qi задан
специализированный прибор Mµ(i,j) множества M ∋ Mµ(i,j), на котором опе-
рация Qij должна выполняться.
Все требования множества J = {J1, . . . , J|J|} готовы к обслуживанию в
начальный момент t = 0 горизонта планирования, и прерывания выполнения
любой операции Qij ∈ Qi по обслуживанию требования Ji ∈ J запрещены.
Следовательно, допустимое расписание обслуживания требований множества
J = {J1,...,J|J|} однозначно определяется моментами начала S(Qij) ≥ 0 = t
или же моментами завершения C(Qij) = S(Qij) + pij выполнения всех опера-
|J |
ций Qij ∈ Q :=
Qi.
i=1
Пусть подмножество Q(k) множества Q состоит из всех операций, которые
должны выполняться на приборе Mk ∈ M. Любая пара операций из множе-
ства Q(k) не может выполняться одновременно при реализации допусти-
мого расписания.
Из приведенной постановки задачи теории расписаний следует, что до-
пустимое расписание для задачи J|pij = 1|Cmax должно определять |M| ли-
нейных строгих порядков выполнения множеств операций Q(k) на специа-
лизированных приборах Mk ∈ M, причем оптимальное по быстродействию
расписание
{
}
(1)
C(Q1,1), . . . , C(Q1,|Q1|), . . . , (C(Q|J |,1), . . . , C(Q|J |,|Q|J||)
=: S
должно иметь наименьшую длину Cmax := max{C1, . . . , C|J|} среди всех до-
пустимых расписаний обслуживания требований множества J . Здесь и да-
лее Ci обозначает момент завершения обслуживания требования Ji ∈ J , т.е.
Ci = C(Qi,|Qi|), где Qi,|Qi|
последняя операция по обслуживанию требова-
ния Ji.
При решении задачи α|β|Cmax поиск оптимального расписания можно
ограничить множеством активных расписаний [12], поскольку существует оп-
тимальное по быстродействию расписание, которое является активным.
Определение 2. Допустимое для задачи α|β|Cmax расписание S назы-
вают активным, если выполнение любой операции из множества Q не мо-
жет быть начато раньше без нарушения порядка выполнения операций при
142
расписании S или (и) другая операция будет выполняться позже, чем при
расписании S.
В [2] введено следующее определение строгой раскраски смешанного
графа.
Определение 3
[2]. Целочисленную функцию c< : V → {1, . . . , t} назы-
вают строгой раскраской c<(G) смешанного графа G = (V, A, E), если нера-
венство
(2)
c<(vi) < c<(vj)
выполняется для каждой дуги (vi, vj ) ∈ A и c<(vp) = c<(vq) для каждого
ребра [vp,vq] ∈ E. Строгая раскраска c<(G) является оптимальной, если в
ней используется минимальное количество t =: χ<(G) различных цветов
c<(vi) ∈ {1,... ,t}.
Строгую раскраску c<(G) можно интерпретировать как частный случай
раскраски c(G) смешанного графа G = (V, A, E) (см. определение 1).
Замечание 1. Раскраску c(G) можно использовать вместо строгой рас-
краски c<(G) для любого смешанного графа G = (V, A, E), в котором для
каждой дуги (vi, vj ) ∈ A выполняется следующая импликация:
(3)
(vi, vj ) ∈ A ⇒ [vi, vj
]∈E.
Если же в смешанном графе G = (V, A, E) имеется дуга (vi, vj ) ∈ A, для ко-
торой импликация (3) не выполняется, то добавим ребро [vi, vj ] в смешанный
граф G для каждой такой дуги (vi, vj ). Тогда любая строгая раскраска c<(G)
смешанного графа G может быть представлена как раскраска c(G+) сме-
шанного графа G+ = (V, A, E+), полученного в результате добавления всех
указанных ребер.
Как следствие из теоремы 1, получаем следующий критерий существова-
ния строгой раскраски c<(G) смешанного графа G = (V, A, E).
Следствие 1. Строгая раскраска c<(G) смешанного графа G = (V,A,E)
существует тогда и только тогда, когда ориентированный подграф (V, A, ∅)
смешанного графа G = (V, A, E) не содержит контуров.
В [4] для задачи J|pij = 1|Cmax доказана следующая
Теорема 2
[4]. Задача J|pij = 1|Cmax эквивалентна задаче поиска опти-
мальной строгой раскраски c<(G) смешанного графа G = (V, A, E), для кото-
рого V = Q и выполняются следующие два условия:
|J|
(а) (Q, A, ∅) =
(Qi, Ai, ∅), где каждый ориентированный под-
i=1
граф (Qi, Ai, ∅) смешанного графа G = (V, A, E) является путем, проходя-
щим через все вершины множества Qi, и выполняется равенство Qi ∩ Qj =
= ∅ для всех индексов i = j;
|M|
(б) (Q, ∅, E) =
(Q(k), ∅, E(k)), где каждый подграф (Q(k), ∅, E(k))
k=1
смешанного графа G = (V, A, E) является полным графом, и равенство
Q(k) ∩ Q(l) = ∅ выполняется для всех индексов k = l.
143
С учетом замечания 1 непосредственно из теоремы 2 получаем
Следствие 2. Задача J|pij = 1|Cmax эквивалентна задаче поиска опти-
мальной раскраски c(G) смешанного графа G = (V, A, E), для которого V = Q
и выполняются условия (а), (б) и (3).
2.2. Прерывания операций с целочисленными длительностями
В этом подразделе теорема 2 обобщается на задачу J|[pij ], pmtn|Cmax по-
строения оптимального по быстродействию расписания обслуживания мно-
жества требований J с целочисленными длительностями pij ≥ 1 операций
Qij ∈ Q, при выполнении которых допускаются прерывания. В обозначении
задачи pmtn определяет допустимость прерываний операций, а [pij] цело-
численность длительностей заданных операций. Допустимость прерываний
операций множества Q приводит к расширению множества активных распи-
саний, что во многих случаях может усложнить поиск оптимального по быст-
родействию расписания. С другой стороны, прерывания всех или некоторой
части операций множества Q может привести к уменьшению длины Cmax
оптимального активного расписания. Следовательно, при решении многих
задач J|[pij ], pmtn|Cmax желательно ограничить количество моментов време-
ни, в которые допустимы прерывания выполнения операций из множества Q
без потери активного расписания наименьшей длины Cmax.
В дальнейшем для задачи J|[pij ], pmtn|Cmax поиск оптимального распи-
сания будет ограничен множеством активных расписаний, при реализации
которых прерывания операций допустимы только в целочисленные моменты
времени. Такое сокращение области поиска решения задачи J|[pij ], pmtn|Cmax
основано на следующем замечании.
Замечание 2. Поскольку все требования множества J = {J1,...,J|J|}
готовы к обслуживанию в момент времени t = 0, и длительности pij ≥ 1 всех
операций Qij ∈ Q являются целочисленными, то существует оптимальное ак-
тивное расписание, при котором прерывания операций ограничены целочис-
ленными моментами времени.
Справедливость замечания 2 следует из того, что прерывание выполне-
ния операции Qij ∈ Q может привести к уменьшению длины активного рас-
писания S без прерываемых операций только при условии, что это преры-
вание произойдет в момент завершения хотя бы одной операции, что поз-
волит начать выполнение другой операции Quv ∈ Q, u = i, на освободив-
шемся приборе Mµ(i,j) = Mµ(u,v) ∈ M. Поскольку все требования множества
J = {J1,...,J|J|} готовы к обслуживанию в момент времени t = 0, и дли-
тельности pij ≥ 1 всех операций Qij ∈ Q являются целочисленными, то в ак-
тивном расписании S без прерываний операций выполнение любой операции
может завершиться только в целочисленный момент времени.
Учитывая замечание 2, разобьем операцию Q1,1 ∈ Q1 целочисленной дли-
тельности на p1,1 единичных операций. Полученное множество единичных
операций обозначим {v1, . . . , vp1,1 }.
144
Здесь и далее будем предполагать, что единичные операции линейно упо-
рядочены и должны выполняться в порядке возрастания их номеров (индек-
сов) в процессе реализации любого допустимого расписания.
Множество единичных операций, на которые разбивается следующая опе-
рация Q1,2 ∈ Q1 требования J1, обозначим {vp1,1+1, . . . , vp1,1+p1,2 }. Аналогич-
но продолжим разбиение операций множества Q1 \ {Q1,1, Q1,2} на единичные
операции и присвоим им очередные номера (индексы). Так, последняя опе-
{
}
операции: v|Q1|-1
,... ,v|Q1|
p1,j+1
p1,j
j=1
j=1
В результате описанного разбиения операций множества Q1 получим мно-
жество
{
}
(4)
W1 = v1,... ,v|Q1|
j=1
p1,j
линейно упорядоченных единичных операций обслуживания первого требо-
вания J1 ∈ J в задаче J|[pij ], pmtn|Cmax.
Начиная с очередной единичной операции v|Q1|
, последовательно
p1,j+1
j=1
обозначим все единичные операции, на которые разбиваются операции мно-
жества Q2 = {Q2,1, . . . , Q2,|Q2|} обслуживания второго требования J2 ∈ J .
Получим множество
{
}
(5)
W2 = v|Q1|
,... ,v|Q1|
|Q2|
p1,j+1
p1,j+
p2,j
j=1
j=1
j=1
линейно упорядоченных единичных операций обслуживания требования J2
∈J.
Продолжая аналогично, будем обозначать единичные операции обслужи-
вания требований множества J \{J1, J2} в порядке возрастания номеров тре-
бований и индексов полученных единичных операций.
На последнем этапе разбиения целочисленных операций множества J на
единичные операции получим множество
{
}
(6) W|J| = v|Q1|
|Q|J|-1|
,...,v|Q1|
|Q|J||
p1,j+...+
p|J|-1,j+1
p1,j+...+
p|J|,j
j=1
j=1
j=1
j=1
линейно упорядоченных единичных операций обслуживания последнего тре-
бования J|J| множества J .
Итак, с учетом замечания 2 обслуживание всех требований множества J
состоит из выполнения следующего множества единичных операций W :=
|J|
:=
Wi.
i=1
Пусть J(k) обозначает подмножество множества требований J ⊇ J(k), об-
служивание которых включает операции, выполняемые на приборе Mk ∈ M.
Если Ji ∈ J(k), то подмножество Q(k)i множества Qi ⊇ Q(k)i содержит все опе-
рации требования Ji, которые выполняются на приборе Mk ∈ M.
145
2.3. Пример 1 задачи J5|[pij ], pmtn|Cmax
Опишем сведение задачи J|[pij ], pmtn|Cmax к задаче поиска оптималь-
ной строгой раскраски c<(G) смешанного графа G на примере 1 задачи
J 5|[pij ], pmtn|Cmax с множеством требований J = {J1, J2, J3} и множеством
приборов M = {M1, . . . , M5}. Исходные данные примера 1 представлены в
табл. 1.
Построим смешанный граф G = (V, A, E), который будет определять все
исходные данные примера 1 в сетевом виде.
Обслуживание требования J1 состоит из четырех операций Q1,1, Q1,2,
Q1,3 и Q1,4 с длительностями p1,1 = 2, p1,2 = 4, p1,3 = 2 и p1,4 = 1. Исполь-
зуя обозначения (4), получаем линейно упорядоченное множество единич-
ных операций W1 = {v1, . . . , v9}, которые включаем в искомое множество вер-
шин V ⊃ W1. Поскольку все операции требования J1 и все единичные опера-
ции, на которые разбивается каждая операция множества Q1, линейно упо-
рядочены при выполнении любого допустимого расписания, то в искомый
смешанный граф G = (V, A, E) включаем следующее множество дуг: A1 =
= {(v1, v2), (v2, v3), . . . , (v8, v9)}; A1 ⊂ A.
Обслуживание требования J2 состоит из пяти операций Q2,1, Q2,2, Q2,3,
Q2,4 и Q2,5 с длительностями p2,1 = 3, p2,2 = 2, p2,3 = 2, p2,4 = 3 и p2,5 = 1.
Используя обозначения (5), получаем множество единичных операций W2 =
= {v10, . . . , v20}, которые включаем в множество вершин V ⊃ W2. Поскольку
все операции требования J2 линейно упорядочены при выполнении любого
допустимого расписания, то в искомый смешанный граф G = (V, A, E) до-
бавляем следующее множество дуг: A2 = {(v10, v11), (v11, v12), . . . , (v19, v20)};
A2 ⊂ A.
Обслуживание требования J3 состоит из пяти операций Q3,1, Q3,2, Q3,3,
Q3,4 и Q3,5 с длительностями p3,1 = 2, p3,2 = 1, p3,3 = 1, p3,4 = 3 и p3,5 = 1.
Используя обозначения (6), получаем множество единичных операций W3 =
= {v21, . . . , v28}, которые включаем в множество вершин V ⊃ W3. Поскольку
все операции требования J3 линейно упорядочены при выполнении любого
допустимого расписания, то в искомый смешанный граф G = (V, A, E) до-
Таблица 1. Исходные данные примера 1 задачи J5|[pij ], pmtn|Cmax
Операции Q1,j требования J1 Q1,1 Q1,2 Q1,3 Q1,4
-
Приборы Mµ(1,j)
M1
M2
M3
M4
-
Длительности p1,j операций Q1,j
2
4
2
1
-
Операции Q2,j требования J2 Q2,1 Q2,2 Q2,3 Q2,4 Q2,5
Приборы Mµ(2,j)
M2
M5
M1
M2
M4
Длительности p2,j операций Q2,j
3
2
2
3
1
Операции Q3,j требования J3 Q3,1 Q3,2 Q3,3 Q3,4 Q3,5
Приборы Mµ(3,j)
M5
M3
M1
M5
M3
Длительности p3,j операций Q3,j
2
1
1
3
1
146
бавляем следующее множество дуг: A3 = {(v21, v22), (v22, v23), . . . , (v27, v28)};
A3 ⊂ A.
|J |
Итак, построен ориентированный подграф (V, A, ∅) =
(Wi, Ai, ∅),
i=1
|J | = 3, искомого смешанного графа (V, A, E) с множеством вершин
|J |
(7)
V = W := Wi
i=1
и множеством дуг
|J |
(8)
A = A := Ai.
i=1
Множество ребер E смешанного графа G = (V, A, E) будем строить после-
довательно для каждого множества Q(k) =Ji∈J (k)Qik) операций, выполняе-
мых на приборе Mk ∈ {M1, . . . , M5}.
Для прибора M1 множество Q(1) разбивается на две единичные операции
{v1, v2} требования J1, две единичные операции {v15, v16} требования J2 и
единичную операцию v24 требования J1. Поскольку ни одна пара операций из
множества Q(1) не может выполняться одновременно, то необходимо постро-
ить полный трехдольный граф (V1, ∅, E1), в котором V1 = {v1, v2; v15, v16; v24}
и E1 = {[v1,v15],[v1,v16],[v2,v15],[v2,v16];[v1,v24],[v2,v24];[v15,v24],[v16,v24]}.
Здесь и далее вершины разных долей построенного k-дольного графа и по-
строенные ребра, инцидентные вершинам разных долей графа, отделяются
знаком; (точка с запятой).
Для прибора M2 множество Q(2) разбивается на четыре единич-
ные операции {v3, v4, v5, v6} требования J1 и шесть единичных операций
{v10, v11, v12, v17, v18, v19} требования J2. Поскольку ни одна пара операций
из множества Q(2) не может выполняться одновременно, то необходимо по-
строить полный двудольный граф (V2, ∅, E2), в котором V2 = {v3, v4, v5, v6;
v10,v11,v12,v17,v18,v19} и |E2| = |Q(2)1| · |Q(2)2| = 4 · 6 = 24.
Для прибора M3 множество Q(3) разбивается на две единичные операции
{v7, v8} требования J1 и две единичные операции {v23, v28} требования J3.
Поскольку пара операций из множества Q(3) не может выполняться одно-
временно, то необходимо построить полный двудольный граф (V3, ∅, E3), в
котором V3 = {v7, v8; v23, v28} и |E3| = |Q(3)1| · |Q(3)3| = 2 · 2 = 4.
Для прибора M4 множество Q(4) разбивается на единичную операцию v9
требования J1 и единичную операцию v20 требования J2. Поскольку операции
множества Q(4) не могут выполняться одновременно, то необходимо соеди-
нить ребром операции v9 и v20 и тем самым построить тривиальный полный
двудольный граф (V4, ∅, E4), в котором V4 = {v9; v20} и E4 = {[v9, v20]}.
Для прибора M5 множество Q(5) разбивается на две единичные операции
{v13, v14} требования J2 и пять единичных операций {v21, v22, v25, v26, v27} тре-
147
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
v11
v12
v13
v14
v15
v16
v17
v18
v19
v20
v21
v22
v23
v24
v25
v26
v27
v28
Рис. 1. Смешанный граф G = (V, A, E), определяющий исходные данные при-
мера 1 задачи J5|[pij ], pmtn|Cmax.
бования J3. Поскольку ни одна пара операций из множества Q(5) не может вы-
полняться одновременно, то необходимо построить полный двудольный граф
(V5, ∅, E5), в котором V5 = {v13, v14; v21, v22, v25, v26, v27} и |E5| = |Q(5)2|·|Q(5)3| =
= 2 · 5 = 10.
|M|
Итак, построен подграф (V, ∅, E) =
(Vk, ∅, Ek), |M| = 5, искомого сме-
k=1
шанного графа G = (V, A, E) с множеством ребер
|M|
(9)
E = E := Ei.
i=1
Каждый подграф (Vk, ∅, Ek ) смешанного графа G является полным
|J(k)|-дольным графом и выполняется равенство Vk ∩ Vl = ∅ для всех пар
различных индексов k = l.
На рис. 1 представлен смешанный граф G = (V, A, E), определяющий ис-
ходные данные примера 1. Покажем далее, что поиск оптимальной строгой
раскраски c<(G) смешанного графа G можно представить как решение при-
мера 1.
Отметим, что для рассмотренной в подразделе 2.1 задачи J|pij = 1|Cmax
справедливы равенства pij = 1 для всех операций Qij ∈ Q, поэтому распи-
сание (1) для задачи J|pij = 1|Cmax определяется моментами завершения
единичных операций Q по обслуживанию всех требований множества J .
Для задачи J|[pij ], pmtn|Cmax с прерываниями целочисленных опера-
ций допустимое расписание обслуживания требований множества J =
= {J1, . . . , J|J|} определяется моментами завершения C(vj) всех единичных
|J|
операций vj ∈ W =
Wi. Величина pij равна целочисленной длительно-
i=1
сти операции Qij . Учитывая замечание 2, помимо множества (1) моментов
завершения целочисленных операций Q по обслуживанию требований мно-
148
жества J , необходимо определить и моменты завершения всех единичных
операций множества W. Следовательно, допустимое расписание S для зада-
чи J|[pij ], pmtn|Cmax с прерываниями целочисленных операций определяется
следующим множеством:
{
}
(10)
C(v1), . . . , C(v|W|)
=: S.
Нетрудно убедиться в том, что для смешанного графа G = (V, A, E), по-
строенного для примера 1, для всех вершин vi ∈ W выполняются следующие
равенства:
(11)
C(vi) = c<(vi
).
Из равенств (10) и (11) следует, что оптимальное по быстродействию рас-
{
}
писание S =
C(v1) = c<(v1), . . . , C(v28) = c<(v28)
для примера 1 определя-
ется следующей оптимальной строгой раскраской c<(G) смешанного графа G,
представленного на рис. 1:
c<(v1) = 1, c<(v2) = 2, c<(v3) = 4, c<(v4) = 5, c<(v5) = 6,
c<(v6) = 7, c<(v7) = 8, c<(v8) = 9, c<(v9) = 10, c<(v10) = 1,
c<(v11) = 2, c<(v12) = 3, c<(v13) = 4, c<(v14) = 5, c<(v15) = 6,
c<(v16) = 7, c<(v17) = 8, c<(v18) = 9, c<(v19) = 10, c<(v20) = 11,
c<(v21) = 1, c<(v22) = 2, c<(v23) = 3, c<(v24) = 4, c<(v25) = 6,
c<(v26) = 7, c<(v27) = 8, c<(v28) = 10.
Вычислим длину оптимального расписания для примера 1:
Cmax = max{C1, C2, C3} = max{c<(v9), c<(v20), c<(v28)} =
= max{10, 11, 10} = 11.
Оптимальность строгой раскраски c<(G) следует из того, что в под-
графе (V, A, ∅) построенного смешанного графа G = (V, A, E) имеется путь
(v10, . . . , v20), длина которого равна 11, из чего следует нестрогое неравен-
ство χ<(G) ≥ 11.
2.4. Задача J|[pij ], pmtn|Cmax и соответствующая задача поиска
строгой раскраски вершин смешанного графа
с полными k-дольными подграфами
Введенные обозначения позволяют сформулировать следующую теорему,
в которой используется условие (а), определенное в теореме 2.
Теорема 3. Задача J|[pij],pmtn|Cmax псевдополиномиально сводится к
задаче поиска оптимальной строгой раскраски c<(G) смешанного гра-
фа G = (V, A, E), множество вершин которого определяется равенством
V = W, и выполняются условие (а) и условие
|M|
(в) (V, ∅, E) =
(Vk, ∅, Ek), где каждый граф (Vk, ∅, Ek) является пол-
k=1
ным |J(k)|-дольным графом, и равенство Vk ∩ Vl = ∅ выполняется для всех
индексов k = l.
149
Доказательство. Для произвольной задачи J|[pij],pmtn|Cmax дока-
жем существование смешанного графа G = (V, A, E) с множеством вершин
V = W, оптимальная строгая раскраска которого определяет оптимальное
расписание для задачи J|[pij ], pmtn|Cmax, и выполняются условия (а) и (в).
Из замечания
2
следует, что оптимальное расписание для задачи
J |[pij ], pmtn|Cmax можно искать в классе активных расписаний, в которых
прерывания операций допускаются только в целочисленные моменты време-
ни. Следовательно, задачу J|[pij ], pmtn|Cmax можно представить как зада-
чу J|pij = 1|Cmax построения оптимального по быстродействию расписания
|J |
обслуживания заданного множества W = {v1, . . . , v|W|} =
Wi требова-
i=1
ний с единичными длительностями. Построение множества требований W
для задачи J|pij = 1|Cmax основано на последовательном разбиении мно-
жеств операций Qi по обслуживанию всех требований Ji ∈ J для задачи
J |[pij ], pmtn|Cmax на единичные операции, как это описано в подразделе 2.2
(см. равенство (4) для операций множества Q1, равенство (5) для операций
множества Q2 и равенство (6) для операций множества Q|J|).
Нетрудно убедиться в том, что теорема 3 следует из теоремы 2, поскольку
условие (б) для смешанного графа G = (V, A, E) с множеством вершин V = Q
превращается в условие (в) для смешанного графа (W, A, E) с построенным
|J|
в подразделе 2.3 множеством вершин W =
Wi (см. равенство (7)), мно-
i=1
|J|
|J|
жеством дуг A =
Ai (равенство (8)) и множеством ребер E =
Ei
i=1
i=1
(равенство (9)). Теорема 3 доказана.
Учитывая замечание 1, получаем
Следствие 3. Задача J|[pij],pmtn|Cmax псевдополиномиально сводит-
ся к задаче поиска оптимальной раскраски c(G) смешанного графа G =
= (V, A, E), для которого выполняются условия (а), (в) и равенство V = W.
3. Оптимальное расписание выполнения многопроцессорных
операций и соответствующая раскраска
вершин смешанного графа
В разделе 2 приведена теорема 2 и доказана теорема 3 о сведении клас-
сических задач теории расписаний J|pij = 1|Cmax и J|[pij ], pmtn|Cmax к за-
дачам поиска оптимальных строгих раскрасок c<(G) смешанных графов
G = (V,A,E), для которых должны выполняться условия (а) и (б) и усло-
вия (а) и (в) соответственно. Нетрудно убедиться в том, что для произвольно
заданного смешанного графа G = (V, A, E) задача поиска оптимальной стро-
гой раскраски c<(G) может не сводиться ни к задаче J|pij = 1|Cmax, ни к
задаче J|[pij ], pmtn|Cmax.
В этом разделе представлены обобщения задач J|pij = 1|Cmax и
J |[pij ], pmtn|Cmax, к которым сводится задача поиска оптимальной раскрас-
ки c(G) любого заданного смешанного графа G = (V, A, E).
150
3.1. Единичные длительности многопроцессорных операций
В отличие от классических задач J|β|Cmax теории расписаний, в которых
каждая операция выполняется на одном из приборов множества M, в об-
служивающих системах с многопроцессорными операциями (заданиями), в
течение всего периода продолжительности pij ≥ 0 для выполнения операции
Qij ∈ Q может требоваться либо единственный прибор, либо несколько спе-
циализированных приборов из множества M [13]. Как и во всех задачах α|β|γ
теории расписаний, при реализации любого допустимого расписания не мо-
жет одновременно выполняться ни одна пара операций, для выполнения ко-
торых требуется хотя бы один общий прибор Mk ∈ M.
В монографии [13, с. 264-283] приведены результаты исследований задач
GMP T ||Cmax, где сокращение MP T используется для обозначения многопро-
цессорных заданий (Multi-Processor Tasks), а G определяет обслуживающую
систему (general shop
общий цех работ) с произвольными отношениями
предшествования, заданными на множестве многопроцессорных операций Q.
В задаче GMP T |pij = 1|Cmax требуется, чтобы момент завершения C(Qij)
операции Qij = vkij предшествовал началу S(Qrq) операции Qrq = vkrq . Такое
отношение предшествования операций типа завершение-начало будем обозна-
чать vkij → vkrq . Нетрудно видеть, что смешанный граф G = (V, A, E), опре-
деляющий исходные данные задачи GMP T |pij = 1|Cmax, должен содержать
как дугу (vkij , vkrq ), так и ребро [vkij , vkrq ] (см. определение 1).
Следует отметить, что интенсивные исследования задач GMP T |β|γ про-
должаются уже несколько десятилетий [15-23], поскольку такие задачи воз-
никают во многих практических задачах ОКП. Опубликованные до 1996 г.
результаты исследований задач GMP T |β|γ представлены в обзоре [19]. Зада-
чи GMP T |pij = 1|γ с единичными длительностями многопроцессорных опе-
раций исследовались в [19-23].
Рассмотрим задачу GcMP T |pij = 1|Cmax, которая эквивалентна задаче по-
иска оптимальной раскраски c(G) смешанного графа G = (V, A, E), как уста-
новлено в [24]. Задача GMP T |pij = 1|Cmax является частным случаем зада-
чи GcMP T |pij = 1|Cmax, а задача J|pij = 1|Cmax частный случай задачи
GMP T |pij = 1|Cmax.
Отличие задачи GcMP T |pij = 1|Cmax от задачи GMP T |pij = 1|Cmax
[13, с. 264-268] состоит в следующем:
1) помимо задания отношений предшествования vkij → vkrq типа заверше-
ние-начало, в задаче GcMP T |pij = 1|Cmax на множестве операций Q могут
быть заданы отношения предшествования типа начало-начало (т.е. момент
начала S(Qij) операции Qij = vkij должен предшествовать началу S(Qrq) опе-
рации Qrq = vkrq );
2) также в задаче GcMP T |pij = 1|Cmax могут быть заданы подмножества
единичных операций {vh1 , . . . , vh|V(h)| } =: V (h) множества V , которые долж-
ны выполняться одновременно при любом допустимом расписании.
151
Опишем отношения предшествования типа начало-начало, как обобщение
задачи J|pij = 1|Cmax при условии, что исходные данные этой задачи пред-
ставлены в виде смешанного графа G = (V, A, E) и, следовательно, задача
J |pij = 1|Cmax сводится к задаче поиска оптимальной раскраски смешанного
графа G (следствие 2).
При описании отношений предшествования, заданных на множестве Q,
будем использовать обозначения vkij ∈ W единичных операций Qij ∈ Q, вве-
денные в подразделе 2.2 для операций c целочисленными длительностями
задачи J|[pij ], pmtn|Cmax, что допустимо, поскольку все операции задачи
J |pij = 1|Cmax имеют единичные длительности. Взаимно однозначное соот-
ветствие элементов множества Q и множества W определяется равенством (4)
для операций требования J1, равенством (5) для операций требования J2 и
равенством (6) для операций последнего требования Jn ∈ J .
Пусть в задаче GcMP T |pij = 1|Cmax требуется, чтобы момент заверше-
ния C(Qij ) операции Qij = vkij предшествовал началу S(Qrq) операции Qrq =
= vkrq. Тогда смешанный граф G = (V,A,E), определяющий исходные дан-
ные задачи GcMP T |pij = 1|Cmax, должен содержать как дугу (vkij , vkrq ), так
и ребро [vkij , vkrq ] (согласно определению 1). Помимо задания отношения
vkij → vkrq типа завершение-начало, в задаче GcMPT|pij = 1|Cmax может
потребоваться, чтобы момент начала S(Quv) операции Quv = vkuv предше-
ствовал моменту начала S(Qel) операции Qel = vkel . Тогда смешанный граф
G = (V,A,E), определяющий исходные данные задачи GcMPT|pij = 1|Cmax,
содержит дугу (vkuv , vkel ) и не содержит ребро [vkuv , vkel ]. Такое отношение
предшествования типа начало-начало будем обозначать vkuv → vkel .
Помимо задания отношений предшествования vkij → vkrq и vkuv → vkel , в
задаче GcMP T |pij = 1|Cmax может потребоваться, чтобы заданное подмно-
жество единичных операций {vh1 , . . . , vh|V(h)| } =: V (h) множества V выполня-
лось одновременно при любом допустимом расписании. Для задания такого
условия ориентированный подграф (V, A, ∅) смешанного графа G = (V, A, E)
должен содержать контур (vh1 , vh2 , . . . , vh|V(h)| , vh1 ), т.е. множество A должно
содержать следующее подмножество дуг:
{(
) (
)
(
) (
)}
vh1 ,vh2 , vh2,vh3
, . . . , vh|V(h)|-1, vh|V(h)|
, vh|V(h)|,vh1
⊆ A.
Пусть в задаче GcMP T |pij = 1|Cmax задано w подмножеств V (1), . . . , V (w)
единичных операций, причем операции каждого подмножества V (h) =
= {vh1 , . . . , vh|V(h)| } ⊆ V должны выполняться одновременно при любом допу-
стимом расписании, h ∈ {1, . . . , w}. Тогда ориентированный подграф (V, A, ∅)
смешанного графа G = (V, A, E) должен содержать следующее подмножество
дуг:
{(
) (
)
(
) (
)}
(12) A0 =
vh1 ,vh2 , vh2,vh3
, . . . , vh|V(h)|-1, vh|V(h)|
, vh|V(h)|,vh1
h=1
152
Поскольку смешанный граф G = (V, A, E) определяет исходные дан-
ные индивидуальной задачи GcMP T |pij = 1|Cmax, то такую индивиду-
альную задачу будем называть задачей GcMP T |pij = 1|Cmax на смешан-
ном графе G = (V, A, E). В отличие от классических задач теории рас-
писаний J|pij = 1|Cmax и J|[pij ], pmtn|Cmax, имеющих решение при лю-
бых исходных данных, существуют примеры (индивидуальные задачи)
GcMP T |pij = 1|Cmax, для которых не существует допустимых расписаний.
Следующий критерий существования допустимого расписания для задачи
GcMP T |pij = 1|Cmax на смешанном графе G = (V, A, E) доказан в [24, c. 76].
Теорема 4 [24]. Допустимое расписание для задачи GcMPT|pij = 1|Cmax
на смешанном графе G = (V,A,E) существует тогда и только тогда, когда
ориентированный подграф (V,A,∅) смешанного графа G = (V,A,E) не содер-
жит ни одного контура со смежными вершинами подграфа (V, ∅, E).
В [24, c. 76] для задачи GcMP T |pij = 1|Cmax доказана и следующая
Лемма 1
[24]. Разрешимая задача GcMP T |pij = 1|Cmax на смешанном
графе G = (V, A, E) эквивалентна задаче поиска оптимальной раскраски c(G)
того же смешанного графа G = (V,A,E).
Нетрудно убедиться в том, что не все задачи GcMP T |pij = 1|Cmax сводятся
к оптимальным строгим раскраскам c<(G) смешанных графов G = (V, A, E),
поскольку строгое неравенство (2) не может быть использовано для задания
отношения предшествования vkij → vkrq типа начало-начало и, как следствие,
ориентированный подграф (V, A, ∅) смешанного графа G, для которого суще-
ствует строгая раскраска c<(G), не содержит контуров (сравните теоремы 1
и 4 со следствием 1).
3.2. Прерывания многопроцессорных операций с целочисленными
длительностями
Следующая теорема 5 обобщает лемму 1 на задачу GcMP T |[pij], pmtn|Cmax
поиска оптимального по быстродействию расписания обслуживания множе-
ства требований J с целочисленными длительностями pij ≥ 1 всех операций
Qij ∈ Q при допустимости прерываний их выполнения.
Теорема 5. Разрешимая задача GcMPT|[pij],pmtn|Cmax псевдополино-
миально сводится к задаче поиска оптимальной раскраски c(G) смешан-
ного графа G = (V,A,E). Для любого раскрашиваемого смешанного графа
G = (V,A,E) существует задача GcMPT|[pij],pmtn|Cmax на том же сме-
шанном графе G = (V, A, E), которая эквивалентна задаче поиска опти-
мальной раскраски c(G) смешанного графа G = (V, A, E).
Доказательство. Для разрешимой задачи GcMPT|[pij],pmtn|Cmax
поиска оптимального по быстродействию расписания обслуживания требо-
ваний множества J = {J1, . . . , J|J|} на заданных специализированных при-
борах M = {M1, . . . , M|M|} покажем, как можно построить смешанный граф
G = (V,A,E), оптимальная раскраска которого определяет решение задачи
GcMP T |[pij], pmtn|Cmax.
153
Учитывая замечание 2, оптимальное по быстродействию расписание для
разрешимой задачи GcMP T |[pij], pmtn|Cmax будем искать в классе активных
расписаний, в которых прерывания операций допускаются только в целочис-
ленные моменты времени. Для этого определим множество единичных опе-
|J|
раций W = {v1, . . . , v|W|} =
Wi в результате последовательного разбие-
i=1
ния множеств целочисленных операций Qi по обслуживанию всех требований
Ji ∈ J для задачи GcMPT|[pij],pmtn|Cmax на единичные операции, как это
описано в подразделе 2.2, в котором для операций Q1 первого требования
равенство (4) определяет подмножество W1 единичных операций, а для опе-
раций Q2 второго требования равенство (5) определяет подмножество W2
единичных операций. Аналогичные равенства для множеств Q3, . . . , Q|J|-1
последовательно определяют подмножества W3, . . . , W|J|-1 единичных опе-
раций. Так, для операций Q|J| последнего требования J|J| равенство (6)
определяет подмножество W|J| единичных операций. В результате последо-
вательного разбиения всех целочисленных операций на единичные операции
получаем подграф (W, ∅, ∅) искомого смешанного графа G = (V, A, E) с мно-
|J |
жеством вершин V = W =
Wi.
i=1
Для любого активного расписания обслуживание требования Ji ∈ J состо-
ит из выполнения линейно упорядоченного множества целочисленных опера-
ций Qi ⊂ Q, которому соответствует линейно упорядоченное множество еди-
ничных операций
{
}
Wi = v|Q1|
|Qi-1|
,... ,v|Q1|
|Qi|
p1,j+...+
pi-1,j+1
p1,j+...+
pi,j
j=1
j=1
j=1
j=1
Множество дуг
{(
)
Ai = v|Q1|
|Qi-1|
, v|Q1|
|Qi-1|
,...,
j=1
p1,j+...+
j=1
pi-1,j
j=1
p1,j+...+
j=1
pi-1,j+1
(
)}
v|Q1|
|Qi|
, v|Q1|
p1,j+...+
pi,j
p1,j+...+
|Qi|
pi,j+1
j=1
j=1
j=1
j=1
и множество ребер
{[
]
Ei = v|Q1|
|Qi-1|
, v
|Q1|
|Qi-1|
,...,
j=1
p1,j+...+
j=1
pi-1,j
j=1
p1,j+...+
j=1
pi-1,j+1
[
]}
v|Q1|
|Qi|
, v|Q1|
p1,j+...+
pi,j
p1,j+...+
|Qi|
pi,j+1
j=1
j=1
j=1
j=1
определяют линейный порядок выполнения операций множества Wi при
реализации допустимого расписания для задачи GcMP T |[pij], pmtn|Cmax.
Пусть помимо отношений предшествования типа завершение-начало меж-
ду операциями множества Qi по обслуживанию одного и того же требо-
вания Ji ∈ J , в задаче GcMP T |[pij ], pmtn|Cmax задано следующее множе-
154
ство R отношений предшествования типа завершение-начало между опе-
рациями разных требований:
(13)
R = {vr1 → vr2,... ,vrn-1 → vrn
};
и следующее множество R отношений предшествования типа начало-
начало между операциями разных требований:
(14)
R = {vl1 → vl2,... ,vlm-1 → vlm
}.
Согласно определению 1, для представления отношений предшествова-
ния (13) в искомый смешанный граф G = (V, A, E) следует включить мно-
жество дуг A|J|+1 := {(vr1 , vr2 ), . . . , (vrn-1 , vrn )} и множество ребер E|J|+1 :=
:= {[vr1 , vr2 ], . . . , [vrn-1 , vrn ]}, а для представления отношений предшествова-
ния (14) в смешанный граф G = (V, A, E) достаточно включить только мно-
жество дуг A|J|+2 := {(vl1 , vl2 ), . . . , (vlm-1 , vlm )}.
В задаче GcMP T |pij = 1|Cmax также могут быть заданы подмножества
V (1), . . . , V (w) единичных операций множества Q такие, что все опера-
ции подмножества V (h) = {vh1 , . . . , vh|V(h)| } ⊆ V должны выполняться од-
новременно при любом допустимом расписании, h ∈ {1, . . . , w}. При зада-
нии такого условия в задаче GcMP T |[pij], pmtn|Cmax множество отношений
предшествования R, представленное в (14), должно содержать следующее
{
w
подмножество отношений предшествования:
vh1 → vh2 ,vh2 → vh3 ,... ,
h=1
}
vh|V(h)|-1 → vh|V(h)| , vh|V(h)| → vh1
. Тогда построенное множество дуг A|J|+2
должно содержать и множество A0 ⊆ A, определенное в (12).
|J|+2
|J|+1
Обозначим A :=
Ai и E :=
Ei. Итак, построен подграф
i=1
i=1
(W, A, E) искомого смешанного графа G = (V, A, E), в котором V = W и
A = A.
Множество E \ E остальных ребер смешанного графа G определим
далее таким образом, чтобы было невозможно выполнять на приборе
Mk ∈ M одновременно ни одной пары единичных операций из множе-
ства Q(k), k ∈ {1, . . . , |M|}, при любом расписании, допустимом для задачи
GcMP T |[pij], pmtn|Cmax. Для каждого прибора Mk ∈ M множество Q(k) це-
лочисленных операций, выполняемых на этом приборе, определяет множе-
ство Vk всех единичных операций, выполняемых на приборе Mk.
Мощность множества Vk равна сумме длитель
{
}
по обслуживанию требований множества J(k)
=: Jk1 ,... ,J|J (k)| , т.е.
|Vk| =Ji∈J (k)pik.РазобьеммножествоVkна|J(k)|подмножествVk единич-
ных операций по обслуживанию требований Jkj ∈ J(k):
Vk = V1k
V|J(k)|k, Vjk = ∅, Vjk
Vlk = ∅, k = l.
Нетрудно убедиться в том, что запрещение одновременного выполнения
любой пары единичных операций из множества Vk в допустимом расписании
155
задается полным |J(k)|-дольным графом (Vk, ∅, Ek), долями которого явля-
ются множества V1k, . . . , V|J(k)|k, и мощность множества ребер Ek равна про-
изведениюJk
|Vjk|.
∈J(k)
j
|M|
Итак, определено множество ребер E \ E =
Ek и построен смешан-
k=1
ный граф G = (V, A, E), в котором V = W, A = A и E = E
⋃E1⋃...⋃E|M|.
Из построения смешанного графа G = (V, A, E) следует, что все отноше-
ния предшествования операций, заданные в задаче GcMP T |[pij ], pmtn|Cmax,
определяются подграфом (W, A, E) смешанного графа G = (V, A, E), а за-
прещение одновременного выполнения любой пары операций из множе-
ства Vk на одном и том же приборе Mk ∈ M определяется подграфом
(
|J|
{⋃|M|
}⋃{⋃|J|
})
W,
Ai,
Ek
Ei
смешанного графа G = (V, A, E). Сле-
i=1
k=1
i=1
довательно, для разрешимой задачи GcMP T |[pij], pmtn|Cmax на смешанном
графе G = (V, A, E) существует допустимое расписание
{
}
(15)
S=
C(v1), . . . , C(v|W|)
,
определяющее раскраску c(G) смешанного графа G = (V, A, E), в которой
равенство c(vi) = C(vi) выполняется для всех вершин vi ∈ W. Очевидно, что
оптимальное по быстродействию расписание определяет оптимальную рас-
краску c(G) смешанного графа G = (V, A, E), что и завершает доказательство
первой части теоремы 5.
Заметим, что оптимальное по быстродействию расписание для задачи
GcMPT |pij = 1|Cmax совпадает с решением задачи GcMPT |pij = 1, pmtn|Cmax,
поскольку согласно замечанию 2, если все операции Qij ∈ Q имеют единич-
ные длительности pij = 1, то прерывания выполнения той или иной операции
из множества Q не приводит к уменьшению длины Cmax искомого оптималь-
ного по быстродействию активного расписания. Поэтому возможность преры-
ваний единичных операций при решении задачи GcMP T |pij = 1, pmtn|Cmax
можно попросту игнорировать при поиске оптимального по быстродей-
ствию активного расписания. Следовательно, задачу GcMP T |pij = 1|Cmax
можно решать, как частный случай GcMP T |pij = 1, pmtn|Cmax задачи
GcMP T |[pij], pmtn|Cmax, представленный в теореме 5. Таким образом, вто-
рая часть теоремы 5 непосредственно следует из леммы 2.
Лемма 2
[24]. Для любого раскрашиваемого смешанного графа G =
= (V, A, E) существует задача GcMP T |pij = 1|Cmax на том же смешанном
графе G = (V, A, E), которая эквивалентна задаче поиска оптимальной рас-
краски c(G).
Приведенное в статье [24, c. 78-79] доказательство леммы 2 содержит ал-
горитм, который для любого заданного раскрашиваемого смешанного гра-
фа G = (V, A, E) строит задачу GcMP T |pij = 1|Cmax на том же смешанном
графе G, поиск решения которой эквивалентен поиску оптимальной раскрас-
ки c(G) смешанного графа G = (V, A, E). Теорема 5 доказана.
156
4. Пример 2 задачи GcMP T |[pij], pmtn|Cmax
Проиллюстрируем первую часть теоремы 5 на следующем примере 2
разрешимой задачи GcMP T |[pij], pmtn|Cmax с пятью требованиями J =
= {J1, . . . , J5} и девятью приборами M = {M1, . . . , M9}. В табл. 2 представ-
лены операции множества Q, длительности их выполнения и приборы мно-
жеств Mµ(i,j) ⊆ M, которые требуются для выполнения операции Qij ∈ Q.
Перед тем, как задать отношения предшествования между операциями раз-
ных требований для примера 2, построим подграф G = (V, A, E) искомого
смешанного графа G = (V, A, E).
Смешанный граф G = (V, A, E) будет представлять ту часть исходных
данных примера 2, которая представлена в табл. 2. При построении всего
смешанного графа G = (V, A, E) будем использовать следующее
Замечание 3. Так как рассматриваемая задача GcMPT|[pij],pmtn|Cmax
на смешанном графе G = (V, A, E) имеет решение, то согласно теореме 4
ориентированный подграф (V, A, ∅) смешанного графа G = (V, A, E) не дол-
жен содержать ни одного контура со смежными вершинами подграфа
(V, ∅, E).
Обслуживание требования J1 состоит из двух операций Q1,1 и Q1,2 с дли-
тельностями p1,1 = 5 и p1,2 = 1. Используя обозначения (4), получаем мно-
жество W1 = {v1, . . . , v6} линейно упорядоченных единичных операций, ко-
торые включаем в множество вершин V ⊃ W1 смешанного графа G. По-
скольку операции обслуживания требования J1 линейно упорядочены при
реализации допустимого расписания, то в смешанный граф G включаем
множество дуг A1 = {(v1, v2), (v2, v3), . . . , (v5, v6)}, A1 ⊂ A, и множество ре-
бер E1 = {[v1, v2], [v2, v3], . . . , [v5, v6]}, E1 ⊂ E.
Обслуживание требования J2 состоит из трех операций Q2,1, Q2,2 и Q2,3 с
длительностями p2,1 = 3, p2,2 = 1 и p2,3 = 3. Используя обозначения (5), по-
лучаем множество W2 = {v7, . . . , v13} единичных операций, которые вклю-
чаем в множество вершин V ⊃ W2. Поскольку все операции требования J2
линейно упорядочены при реализации допустимого расписания, то в смешан-
ный граф G добавляем множество дуг A2 = {(v7, v8), (v8, v9), . . . , (v12, v13)},
A2 ⊂ A, и множество ребер E2 = {[v7,v8],[v8,v9],... ,[v12,v13]}, E2 ⊂ E.
Обслуживание требования J3 состоит из трех операций Q3,1, Q3,2
и Q3,3
с длительностями p3,1 = 2, p3,2 = 1 и p3,3 = 2. Используя обо-
значения (6), получаем множество W3 = {v14, . . . , v18} единичных опера-
Таблица 2. Часть исходных данных примера 2 задачи GcMP T |[pij], pmtn|Cmax
Операции Q1,1 Q1,2 Q2,1 Q2,2 Q2,3 Q3,1 Q3,2 Q3,3 Q4,1 Q4,2 Q4,3 Q5,1 Q5,2
Приборы M1 M7 M1 M6 M7 M2 M5 M3 M3 M8 M9 M4 M5
множества M6
M2
M3
M7
M8
M4
M9
Mµ(i,j)
M5
pij
5
1
3
1
3
2
1
2
4
2
2
4
2
157
ций, которые включаем в множество вершин V ⊃ W3. Поскольку все
операции требования J3 линейно упорядочены при реализации допусти-
мого расписания, то в смешанный граф G добавляем множество дуг
A3 = {(v14,v15),(v15,v16),(v16,v17),(v17,v18)}, A3 ⊂ A, и множество ребер
E3 = {[v14,v15],[v15,v16],[v16,v17],[v17,v18]}, E3 ⊂ E.
Обслуживание требования J4 состоит из трех операций Q4,1, Q4,2 и Q4,3
с длительностями p4,1 = 4, p4,2 = 2 и p4,3 = 2. Продолжая последователь-
но обозначать единичные операции, получаем множество единичных опе-
раций W4 = {v19, . . . , v26}, которые включаем в множество вершин V ⊃ W4.
Поскольку все операции требования J4 линейно упорядочены при реализа-
ции допустимого расписания, то в смешанный граф G добавляем множество
дуг A4 = {(v19, v20), (v20, v21), . . . , (v25, v26)}, A4 ⊂ A, и множество ребер E4 =
= {[v19, v20], [v20, v21], . . . , [v25, v26]}, E4 ⊂ E.
Обслуживание требования J5 состоит из двух операций Q5,1 и Q5,2 с дли-
тельностями p5,1 = 4 и p5,2 = 2. Используя обозначения (6), получаем множе-
ство единичных операций W5 = {v27, . . . , v32}, которые включаем в искомое
множество вершин V ⊃ W5. Поскольку все операции требования J5 линей-
но упорядочены при реализации допустимого расписания, то в смешанный
граф G добавляем множество дуг A5 = {(v27, v28), (v28, v29), . . . , (v31, v32)},
A5 ⊂ A, и множество ребер E5 = {[v27,v28],[v28,v29]... ,[v31,v32]}, E5 ⊂ E.
Итак, построен подграф G = (V, A, E) искомого смешанного графа
5
G = (V,A,E) с множеством вершин V = W :=
Wi, множеством дуг
i=1
5
5
A :=
Ai и множеством ребер E :=
Ei.
i=1
i=1
Пусть помимо заданных в табл. 1 отношений предшествования между
операциями множества Qi по обслуживанию одного и того же требования
Ji ∈ J = {J1,... ,J5}, в примере 2 задано следующее множество R отно-
шений предшествования vkij → vkrq между операциями из разных множеств
Qi ⊆ Q (т.е. vkij ∈ Qi,vkrq ∈ Qr,r = i):
(16)
R = {v1 → v7, v22 → v14, v22 → v30, v27 → v19}
и задано также множество R отношений предшествования vkij → vkrq :
(17)
R = {v9 → v19, v10 → v23, v23 → v15, v15 → v10, v17 → v25
}.
Заметим, что операции множества V (h) = {v10, v15, v23} должны вы-
полняться одновременно при реализации любого допустимого расписа-
ния, поскольку множество
(17) содержит отношения предшествования
v10 → v23, v23 → v15 и v15 → v10. Следовательно, ориентированный подграф
(V, A, ∅) искомого смешанного графа G = (V, A, E) должен содержать контур
(v10, v23, v15, v10).
Для представления множества (16) отношений предшествования vkij
→ vkrq в построенный смешанный граф G = (V,A,E) добавляем множество
дуг A6 = {(v1, v7), (v22, v14), (v22, v30), (v27, v19)}, A6 ⊂ A, а также множество
ребер E6 = {[v1, v7], [v14, v22], [v22, v30], [v19, v27]}, E6 ⊂ E.
158
Для представления множества
(17) отношений предшествования
vkij → vkrq в построенный смешанный граф добавляем множество дуг A7 =
= {(v9, v19), (v10, v23), (v23, v15), (v15, v10), (v17, v25)}, A7 ⊂ {A ∪ A6}.
Итак, построен ориентированный подграф (V, A, ∅) искомого смешанного
графа G = (V, A, E) и подмножество E6 ∪ E множества ребер E.
Остальные ребра множества E \ {E6 ∪ E} искомого смешанного графа
G = (V,A,E) будем строить последовательно для всех множеств Q(k) =
= Ji∈J (k)Qik) операций, выполняемых на приборах Mk ∈ {M1,... ,M9}.
Для прибора M1 множество Q(1) = {Q1,1, Q2,1} целочисленных операций
определяет множество из восьми единичных операций {v1, . . . , v5, v7, v8, v9} =:
=: V1, которое разбивается на пять единичных операций {v1,... ,v5} требо-
вания J1 и три единичные операции {v7, v8, v9} требования J2. Запрещение
одновременного выполнения любой пары операций из множества V1 задается
полным двудольным графом (V1, ∅, E′1), в котором V1 = {v1, . . . , v5; v7, v8, v9}.
Как и в подразделе 2.3, вершины разных долей k-дольного графа отделяются
точкой с запятой. Учитывая замечание 3, ребра [v1, v7], [v1, v8] и [v1, v9] мож-
но исключить из полного двудольного графа (V1, ∅, E′1), поскольку порядок
выполнения операций v1 и vi, i ∈ {7, 8, 9}, определяется путем в ориентиро-
ванном графе (V, A, ∅) и цепью в графе (V, ∅, {E6 ∪ E}) между вершинами
v1 и vi. Поэтому вместо полного двудольного графа (V1,∅,E′1), в котором
|E′1| = |Q(1)1| · |Q(1)2| = 5 · 3 = 15, построим двудольный граф (V1, ∅, E1), в ко-
тором E1 = {[v2, v7], . . . , [v5, v7], [v2, v8], . . . , [v5, v8], [v2, v9], . . . , [v5, v9]}.
Для прибора M2 множество Q(2) целочисленных операций определя-
ет множество V2, которое состоит из пяти единичных операций и раз-
бивается на три единичные операции
{v7, v8, v9} требования J2 и две
единичные операции {v14, v15} требования J3. Запрещение одновременно-
го выполнения любой пары операций из множества V2 задается полным
двудольным графом (V2, ∅, E2), в котором V2 = {v7, v8, v9; v14, v15} и E2 =
= {[v7, v14], [v7, v15], [v8, v14], [v8, v15], [v9, v14], [v9, v15]}.
Для прибора M3 множество Q(3) целочисленных операций определяет мно-
жество V3, которое состоит из восьми единичных операций и разбивается на
четыре единичные операции {v14, v15, v17, v18} требования J3 и четыре единич-
ные операции {v19, . . . , v22} требования J4. Поскольку множество R содер-
жит отношение предшествования v22 → v14, и операции множеств Q3 и Q4
по обслуживанию требований J3 и J4 упорядочены, то нет необходимости
добавлять ребра в искомый смешанный граф для запрещения одновременно-
го выполнения пары операций из множества Q(2). В таком случае полагаем
E3 = ∅.
Для прибора M4 множество Q(4) целочисленных операций определяет мно-
жество V4, которое состоит из восьми единичных операций и разбивается на
четыре единичные операции {v19, . . . , v22} требования J4 и четыре единичные
операции {v27, . . . , v30} требования J5. Запрещение одновременного выполне-
ния любой пары операций из множества V4 задается полным двудольным
159
графом (V4, ∅, E′4), в котором V4 = {v19, . . . , v22; v27, . . . , v30}. В силу замеча-
ния 3, ребра множества {[v19, v28], [v19, v29], [v19, v30]} можно удалить из полно-
го двудольного графа (V4, ∅, E′4), поскольку порядок выполнения операций v19
и vi, i ∈ {28,29,30}, определяется путем в ориентированном графе (V,A,∅) и
цепью в графе (V, ∅, {E6 ∪ E}) между вершинами v19 и vi. Поскольку множе-
ство R содержит отношение предшествования v22 → v30, то удалим ребра
множества {[v19, v30], [v20, v30], [v21, v30]} и вместо полного двудольного графа
(V4, ∅, E′4), в котором |E′4| = |Q(4)4| · |Q(4)5| = 4 · 4 = 16, построим двудольный
граф (V4, ∅, E4), в котором E4 = {[v20, v28], [v20, v29], [v21, v28], [v21, v29]}.
Для прибора M5 множество Q(5) целочисленных операций определяет
множество V5, которое состоит из семи единичных операций и разбивает-
ся на единичную операцию v16 требования J3, четыре единичные операции
{v19, . . . , v22} требования J4 и две операции {v31, v32} требования J5. Запре-
щение одновременного выполнения любой пары операций из множества V5
задается полным трехдольным графом (V5, ∅, E′5), в котором V5 = {v16;
v19,... ,v22; v31,v32}. В силу замечания 3, ребра множества {[v16, v19], . . . ,
[v16, v22]} удалим из полного трехдольного графа (V5, ∅, E′5), поскольку мно-
жество R содержит отношение предшествования v22 → v14. Поскольку мно-
жество R содержит отношение предшествования v22 → v30, то удалим
и ребра множества
{[v19, v31], [v19, v32], [v20, v31], [v20, v32], [v21, v31], [v21, v32],
[v22, v31], [v22, v32]} и вместо полного трехдольного графа (V4, ∅, E′4), в ко-
тором |E′5| = |Q(5)3| · |Q(5)4| · |Q(5)5| = 1 · 4 · 2 = 8, построим трехдольный граф
(V5, ∅, E5), в котором E5 = {[v16, v31], [v16, v32]}.
Для прибора M6 множество Q(6) целочисленных операций определяет мно-
жество V6, которое состоит из шести единичных операций и разбивается на
пять единичных операций {v1, . . . , v5} требования J1 и единичную опера-
цию v10 требования J2. Запрещение одновременного выполнения любой пары
операций из множества V6 задается полным двудольным графом (V6, ∅, E6),
в котором V6 = {v1, . . . , v5; v10} и E6 = {[v1, v10], . . . , [v5, v10]}.
Для прибора M7 множество Q(7) целочисленных операций определяет мно-
жество V7, которое состоит из пяти единичных операций и разбивается на
единичную операцию v6 требования J1, три единичные операции {v11, v12, v13}
требования J2 и единичную операцию v16 требования J3. Запрещение одно-
временного выполнения любой пары операций из множества V7 задается пол-
ным трехдольным графом (V7, ∅, E7), в котором V7 = {v6; v11, v12, v13; v16} и
E6 = {[v6,v11],[v6,v12],[v6,v13]; [v6,v16]; [v11,v16],[v12,v16],[v13,v16]}.
Для прибора M8 множество Q(8) целочисленных операций определяет мно-
жество V8, которое состоит из четырех единичных операций и разбивает-
ся на две единичные операции {v17, v18} требования J3 и две единичные
операции {v23, v24} требования J4. Запрещение одновременного выполнения
любой пары операций из множества V8 задается полным двудольным гра-
фом (V8, ∅, E8), в котором V8 = {v17, v18; v23, v24} и E8 = {[v17, v23], [v17, v24],
[v18, v23], [v18, v24]}.
160
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
v11
v12
v13
v14
v15
v16
v17
v18
v19
v20
v21
v22
v23
v24
v25
v26
v27
v28
v29
v30
v31
v32
Рис. 2. Смешанный граф G = (V, A, E), определяющий исходные данные при-
мера 2 задачи GcMP T |[pij], pmtn|Cmax.
Для прибора M9 множество Q(9) целочисленных операций определяет мно-
жество V9, которое состоит из четырех единичных операций и разбивает-
ся на две единичные операции {v25, v26} требования J4 и две единичные
операции {v31, v32} требования J5. Запрещение одновременного выполнения
любой пары операций из множества V9 задается полным двудольным гра-
фом (V9, ∅, E9), в котором V9 = {v25, v26; v31, v32} и E9 = {[v25, v31], [v25, v32],
[v26, v31], [v26, v32]}.
9
Итак, построен подграф (V, ∅, E \ {E6 ∪ E}) =
(Vk, ∅, Ek) смешанного
k=1
графа (V, A, E), где каждый граф (Vk, ∅, Ek) является |J(k)|-дольным графом.
На рис. 2 представлен построенный смешанный граф G = (V, A, E), опреде-
ляющий все исходные данные примера 2 задачи GcMP T |[pij ], pmtn|Cmax с пя-
тью требованиями J = {J1, . . . , J5} и девятью приборами M = {M1, . . . , M9}.
161
В соответствии с теоремой
5
индивидуальная задача GcMP T |[pij ],
pmtn|Cmax на смешанном графе G = (V,A,E) (т.е. пример 2) сведена к задаче
поиска оптимальной раскраски c(G) того же смешанного графа G = (V, A, E).
Допустимое расписание S для задачи GcMP T |[pij], pmtn|Cmax с прерывания-
ми операций Q определяется множеством (15) моментов завершения выпол-
нения единичных операций множества W. Активное расписание определяет-
ся раскраской c(G) смешанного графа G, в которой c(vi) = C(vi) для всех
вершин vi ∈ W.
Оптимальное по быстродействию активное расписание для примера 2
определяется следующей оптимальной раскраской c(G) смешанного графа
G, представленного на рис. 2:
c(v1) = 1, c(v2) = 5, c(v3) = 6, c(v4) = 7, c(v5) = 8, c(v6) = 9,
c(v7) = 2, c(v8) = 3, c(v9) = 4, c(v10) = 9, c(v11) = 11, c(v12) = 12,
c(v13) = 13, c(v14) = 8, c(v15) = 9, c(v16) = 10, c(v17) = 11,
c(v18) = 12, c(v19) = 4, c(v20) = 5, c(v21) = 6, c(v22) = 7,
c(v23) = 9, c(v24) = 10, c(v25) = 12, c(v26) = 13, c(v27) = 1,
c(v28) = 2, c(v29) = 3, c(v30) = 8, c(v31) = 9, c(v32) = 11.
Оптимальность раскраски c(G) следует из справедливости неравенства
χ(G) ≥ 13, поскольку ориентированный подграф (V, A, ∅) смешанного гра-
фа G содержит путь (v1, v7, v8, v9, v19, v20, v21, v22, v14, v15, v16, v17, v18, v25, v26),
вес которого равен 13. Здесь вес пути в смешанном графе G = (V, A, E) пола-
гаем равным сумме весов w(vi, vj ) всех дуг (vi, vj ), образующих этот путь, а
вес дуги (vi, vj ) ∈ A полагаем равным единице, если [vi, vj ] ∈ E, и w(vi, vj ) = 0
в противном случае.
5. Активные расписания для задачи GcMP T |[pij], pmtn|Cmax
и соответствующие минимальные раскраски
вершин смешанного графа
Пусть E обозначает подмножество всех ребер [vi, vj ] множества E, для
которых вершины vi и vj не являются смежными в ориентированном гра-
фе (V, A, ∅). В силу определения 1 любая раскраска c(G) смешанного гра-
фа G = (V, A, E) для каждого ребра [vi, vj ] ∈ E определяет различные цве-
та c(vi) = c(vj ). Если c(vi) < c(vj ), то добавляем дугу (vi, vj ) в смешанный
граф G, а если c(vi) > c(vj ), то добавляем в смешанный граф симметрич-
ную дугу (vj , vi). В результате добавления указанных дуг для всех ребер
[vi, vj ] ∈ E смешанный граф G = (V, A, E) превращается в смешанный граф
G(c) = (V, A ∪ A(c), E), |E| = |A(c)|, для каждого ребра [vp, vq] ∈ E которого
справедлива следующая импликация:
(18)
[vp, vq] ∈ E ⇒ (vp, vq
) ∈ A ∪ A(c).
162
Из (18) следует, что любая раскраска c(G) смешанного графа G = (V, A, E)
определяет порядок цветов c(vi) для всех вершин vi ∈ V . Следовательно,
можно определить следующее множество минимальных раскрасок c(G) сме-
шанного графа G.
Определение 4. Раскраску c(G) смешанного графа G = (V,A,E) назы-
вают минимальной, если ни один цвет c(vi), vi ∈ V , нельзя уменьшить без
нарушения определенного раскраской c(G) порядка цветов c(vi) для всех вер-
шин vi ∈ V и (или) какую-то вершину vj ∈ V \ {vi} пришлось бы окрасить в
цвет больше цвета c(vj ).
Поиск оптимальной раскраски смешанного графа G = (V, A, E) можно
ограничить множеством минимальных раскрасок, поскольку, очевидно, суще-
ствует оптимальная раскраска любого заданного раскрашиваемого смешан-
ного графа G, которая является минимальной. Заметим, что оптимальная
раскраска c(G) смешанного графа G, построенного для примера 2, является
минимальной.
Минимальная раскраска c(G) определяет оптимальное расписание (15)
для задачи GcMP T |[pij ], pmtn|Cmax на смешанном графе G = (V, A, E), при-
чем это расписание является активным. Из леммы 2 и определений 2
и 4 следует, что любое активное расписание S, существующее для задачи
GcMP T |[pij], pmtn|Cmax на смешанном графе G = (V, A, E), однозначно опре-
деляет минимальную раскраску вершин смешанного графа G, и наоборот.
Получаем следующее утверждение.
Теорема 6. Существует взаимно-однозначное соответствие между
множеством C(G) всех минимальных раскрасок c(G) раскрашиваемого сме-
шанного графа G = (V, A, E) и множеством S(G) всех активных расписаний,
существующих для задачи GcMP T |[pij ], pmtn|Cmax на смешанном графе G =
= (V, A, E).
Согласно теоремам
5
и
6
можно сократить размерность множе-
ства допустимых расписаний, которые сравниваются при решении задачи
GcMP T |[pij], pmtn|Cmax, и соответственно, сократить размерность множе-
ства сравниваемых раскрасок c(G) при поиске оптимальной раскраски.
Из второй части теоремы 5 следует, что задача поиска оптимальной рас-
краски c(G) любого раскрашиваемого смешанного графа G = (V, A, E) име-
ет ту же асимптотическую сложность, что и задача GcMP T |[pij], pmtn|Cmax
на смешанном графе G = (V, A, E), причем справедливо равенство |C(G)| =
= |S(G)|.
Согласно первой части теоремы 5, сведение задачи GcMPT |[pij ], pmtn|Cmax
к поиску оптимальной раскраски c(G) смешанного графа G является псевдо-
полиномиальным. Такое сведение целесообразно при решении практических
задач ОКП, если длительности cij операций Qij ∈ Q не велики. Для задачи
с большими целочисленными длительностями операций множества Q мож-
но вычислить наибольший общий делитель D целочисленных длительностей
всех операций множества Q.
163
Если полученное значение D превосходит единицу, то вместо исходной
задачи GcMP T |[pij ], pmtn|Cmax целесообразно решать ее аналог с модифи-
цированными длительностями, равнымиcijDдлявсехоперацийQij∈Q.
Сократить размерность смешанного графа G = (V, A, E), порождаемого
задачей GcMP T |[pij ], pmtn|Cmax, можно и в результате подходящей декомпо-
зиции начальной задачи на подзадачи меньшей размерности на основе запла-
нированных прерываний производственного процесса, например, в моменты
начала обеденного перерыва или после завершения рабочей смены. За время
такого перерыва уточненные и дополненные данные могут быть включены
в исходные данные очередной подзадачи GcMP T |[pij ], pmtn|Cmax, в резуль-
тате решения которой может быть получено более эффективное расписание
производственного процесса.
Следует отметить, что в теории расписаний общепринято предположение
о том, что прерывание операции не связано с какими-то затратами и выпол-
няется мгновенно, как и последующее возобновление прерванной операции.
Такие идеальные прерывания операций не характерны для многих практи-
ческих задач ОКП. В практических задачах требуется определенное время
для прерывания производственной операции, также необходимо учитывать
временные затраты на переналадку прибора после прерывания операции и
на последующую наладку прибора с целью возобновления ранее прерванной
операции. На практике для учета времени наладки и переналадки приборов
в исходные данные задачи следует включать специальные операции наладки
и переналадки приборов и решать задачи GcMP T |[pij ], pmtn|Cmax с исход-
ными данными, включающими операции наладки и переналадки приборов.
При этом длительности переналадки и наладки приборов Mµ(ij) ∈ M должны
быть меньше длительностей операций Qij ∈ Q, прерывания которых целесо-
образны.
6. Обсуждение полученных результатов
и перспективы использования
Утверждения, представленные в разделах 1-5, можно использовать для
построения сетевых моделей в виде смешанных графов G = (V, A, E) для
многочисленных задач α|[pij ], pmtn|Cmax теории расписаний при допустимо-
сти прерываний выполнения операций и для задач α|pij = 1|Cmax без пре-
рываемых операций. На основе построенных сетевых моделей можно раз-
рабатывать алгоритмы и компьютерные программы минимизации длины
Cmax активных расписаний. Такие алгоритмы будут включать поиск опти-
мальных раскрасок c(G) или строгих раскрасок c<(G) смешанных графов
G = (V,A,E), определяющих исходные данные задачи α|pij = 1|Cmax или раз-
решимой задачи α|[pij ], pmtn|Cmax.
Установленная взаимосвязь представленных в статье обобщений классиче-
ских задач теории расписаний и задач поиска оптимальных (строгих) раскра-
сок вершин смешанных графов позволяет решать любые разрешимые задачи
164
α|[pij ], pmtn|Cmax и любые задачи α|[pij ]|Cmax, а также многочисленные част-
ные случаи этих задач в терминах теории графов и не использовать при этом
специальные термины теории расписаний, которые связаны с практическими
задачами ОКП. Оказалось, что терминов теории графов вполне достаточно
как для постановки любой задачи α|[pij ], pmtn|Cmax или α|pij = 1|Cmax, так и
для разработки алгоритмов решения задач теории расписаний в результате
поиска оптимальных (строгих) раскрасок смешанных графов G = (V, A, E),
определяющих условия поставленных задач.
В качестве иллюстрации преимущества использования терминологии тео-
рии графов при решении задач α|[pij ], pmtn|Cmax и α|pij = 1|Cmax перечис-
лим термины теории расписаний, использованные в этой статье: цех работ
(общий), обслуживающая система (многостадийная), job-shop, general shop,
прибор (обслуживающий, специализированный), машина, станок, процессор,
расписание (активное, допустимое, оптимальное), критерий оптимально-
сти расписания, процесс реализации допустимого расписания, оптимальное
по быстродействию расписание, требование (первое, второе, последнее), за-
дание, обслуживание требования, время готовности требования к обслу-
живанию, горизонт планирования, длина расписания, операция (многопро-
цессорная, прерываемая), прерывание (целочисленное), маршрут обслужи-
вания требования, первая (последняя) операция требования, длительность
(выполнения) операции (единичная, целочисленная), назначение операции на
прибор, недопустимость одновременного выполнения операций, необходи-
мость совместного выполнения (единичных) операций, начало операции, за-
вершение операции, момент начала (завершения) операции, прерывание опе-
рации, быстродействие расписания, отношение предшествования операций
(завершение-начало, начало-начало), время реализации заявок, условия (эф-
фективность) производства, момент времени (целочисленный). Для описа-
ния и доказательства тех же результатов статьи в терминах раскрасок вер-
шин смешанных графов использовалось меньше терминов теории графов, а
именно: вершина (инцидентная, смежная), дуга, ребро (инцидентное), граф
(конечный, ориентированный, смешанный, k-дольный, полный, раскрашивае-
мый), подграф, раскраска (строгая, минимальная, оптимальная), цвет вер-
шины, хроматическое число, путь, длина (вес) пути, цепь, контур.
Утверждения об эквивалентности задач α|pij = 1|Cmax на смешанном гра-
фе G = (V, A, E) и задач поиска оптимальной раскраски c(G) или строгой
раскраски c<(G) того же смешанного графа G = (V, A, E), а также утвер-
ждения о полиномиальной сводимости задачи поиска оптимальной раскрас-
ки c(G) любого раскрашиваемого смешанного графа G = (V, A, E) к задаче
α|[pij ], pmtn|Cmax на смешанном графе G = (V, A, E) и утверждения о псев-
дополиномиальном сведении любой разрешимой задачи α|[pij ], pmtn|Cmax на
смешанном графе G = (V, A, E) к задаче поиска оптимальной раскраски c(G)
смешанного графа G = (V, A, E) имеют важное значение как для теории рас-
писаний, так и для теории графов.
165
Представленные и доказанные в статье результаты можно рассматривать
как обоснование теоретико-графового метода решения задач α|pij = 1|Cmax
и α|[pij ], pmtn|Cmax путем сведения их к соответствующим задачам по-
иска оптимальных раскрасок c(G) или оптимальных строгих раскрасок
c<(G) смешанных графов G = (V,A,E), определяющих условия и ограни-
чения расписанческих задач. Условия и ограничения индивидуальной за-
дачи α|pij = 1|Cmax или GcMP T |[pij ], pmtn|Cmax определяются соответст-
вующим смешанным графом G = (V, A, E). Для задачи α|pij = 1|Cmax та-
кой смешанный граф G = (V, A, E) определяется однозначно, а для зада-
чи GcMP T |[pij ], pmtn|Cmax с точностью до избыточных ребер из множе-
ства E, которые можно найти и удалить в результате разбиения по ран-
гам вершин ориентированного подграфа G = (V, A, ∅) смешанного графа
G = (V,A,E), как это продемонстрировано на примере 2 в разделе 4. Пред-
ставленные в статье результаты могут быть использованы для исследования
раскрасок специальных классов смешанных графов, порождаемых задача-
ми α|pij = 1|Cmax и α|[pij ], pmtn|Cmax, что может способствовать привлече-
нию специалистов в области теории графов к решению задач α|pij = 1|Cmax
и GcMPT|[pij],pmtn|Cmax и их многочисленных частных случаев.
Нетрудно убедиться в том, что разные задачи α|pij = 1|Cmax или
α|[pij ], pmtn|Cmax могут быть заданы одним и тем же смешанным графом
G = (V,A,E). Поэтому результаты полученные для раскраски c(G) или стро-
гой раскраски c<(G) конкретного смешанного графа G = (V, A, E) примени-
мы, как правило, для целого множества расписанческих задач α|pij = 1|Cmax
или задач α|[pij ], pmtn|Cmax соответственно. Следовательно, свойства рас-
красок и алгоритмы поиска оптимальных раскрасок смешанных графов
G = (V,A,E) специального вида могут быть использованы для решения всех
задач α|pij = 1|Cmax или α|[pij ], pmtn|Cmax, соответственно, исходные данные
которых задаются такими же смешанными графами.
7. Заключение
Исследована взаимосвязь задач оптимальной раскраски вершин смешан-
ного графа G = (V, A, E) и задач GcMP T |[pij], pmtn|Cmax построения оп-
тимального по быстродействию расписания выполнения частично упоря-
доченного множества целочисленных операций при допустимости их пре-
рываний, при задании двух типов отношений предшествования на множе-
стве операций (окончание-начало и начало-начало двух операций) и необ-
ходимости одновременного выполнения подмножества единичных операций.
Из теоремы 5 следует, что задача поиска оптимальной раскраски вершин
смешанного графа G = (V, A, E) полиномиально сводится к решению зада-
чи GcMP T |[pij ], pmtn|Cmax на том же смешанном графе G. Из конструк-
тивного доказательства этой теоремы следует, что для многих утвержде-
ний, доказанных для оптимальных раскрасок вершин смешанных графов
(см., например, [1-9, 24]), существуют аналогичные утверждения для за-
166
дачи GcMP T |[pij ], pmtn|Cmax и ее частных случаев. Установлено также,
что любая разрешимая задача GcMP T |[pij ], pmtn|Cmax на смешанном графе
G = (V,A,E) псевдополиномиально сводится к задаче поиска оптимальной
раскраски c(G) вершин того же смешанного графа G, что позволяет полу-
чать утверждения для задач поиска оптимальных раскрасок вершин сме-
шанных графов непосредственно из утверждений, доказанных для задачи
GcMP T |[pij], pmtn|Cmax и ее многочисленных частных случаев [2, 5, 12, 13,
15-24].
Автор благодарен рецензентам за полезные замечания и предложения, ко-
торые позволили улучшить представление полученных результатов.
СПИСОК ЛИТЕРАТУРЫ
1.
Sotskov Y.N., Tanaev V.S. Хроматический многочлен смешаннoго графа // Изв.
АН БССР. Сер. физ.-мат. наук. 1976. № 6. С. 20-23.
2.
Hansen P., Kuplinsky J., de Werra D. Mixed graph colorings // Math. Methods
Oper. Res.. 1997. V. 45. P. 145-160.
3.
Karp R.M. Reducibility among combinatorial problems / In Complexity of Computer
Computations, R.E. Miller, J.W. Thatcher (Editors.) // New York, USA: Plenum
Press. 1972. P. 85-103.
4.
Sotskov Y.N., Dolgui A., Werner F. Mixed graph coloring for unit-time job-shop
scheduling // Int. J. of Math. Algorithms. 2001. V. 2. P. 289-323.
5.
Sotskov Y.N., Tanaev V.S., Werner F. Scheduling problems and mixed graph color-
ings // Optimization. 2002. V. 51. No. 3. P. 597-624.
6.
Al-Anzi F.S., Sotskov Y.N., Allahverdi A., Andreev G.V. Using mixed graph coloring
to minimize total completion time in job shop scheduling // Appl. Math. Comput.
2006. V. 182. P. 1137-1148.
7.
Kouider A., Ait Haddadene H., Ourari S., Oulamara A. Mixed graph coloring for
unit-time scheduling // Int. J. Product. Res. 2017. V. 55. No. 6. P. 1720-1729.
8.
Kouider A., Ait Haddadene H., Oulamara A. On minimization of memory usage in
branch-and-bound algorithm for the mixed graph coloring: application to the unit-
time job shop scheduling // Comput. Oper. Res. 2019. V. 4967. P. 1001-1008.
9.
Sotskov Y.N. Mixed graph colorings: A historical review // Mathematics. 2020. V. 8.
P. 1-24.
10.
Harary F. Graph Theory. MA, USA: Addison-Wesley, Reading, 1969.
11.
Thulasiraman K., Swamy M.N.S. Graphs: Theory and Algorithms. Toronto, Canada:
John Wiley & Sons, Inc. 1992.
12.
Tanaev V.S., Sotskov Y.N., Strusevich V.A. Scheduling Theory: Multi-Stage Sys-
tems. Dordrecht, The Netherlands: Kluwer Academic Publishers, 1994.
13.
Brucker P. Scheduling Algorithms, Berlin, Germany: Springer, 1995.
14.
Graham R.E., Lawler E.L., Lenstra J.K., Rinnooy Kan A.H.G. Optimization and
approximation in deterministic sequencing and scheduling: a survey // Ann. Discret.
Math. 1979. V. 5. P. 287-326.
167
15. Hoogeveen J.A., van de Velde S.L., Veltman B. Complexity of scheduling multipro-
cessor tasks with prespecified processor allocations // Discret. Appl. Math. 1994.
V. 55. P. 259-272.
16. Brucker P., Kramer A. Shop scheduling problems with multiprocessor tasks on ded-
icated processors // Ann. Oper. Res. 1995. V. 57. P. 13-27.
17. Chou F.D. Particle swarm optimization with cocktail decoding method for hybrid
flow shop scheduling problems with multiprocessor tasks // Int. J. Prod. Econom.
2013. V. 141. P. 137-145.
18. Kurdi M. Ant colony system with a novel Non-Daemon Actions procedure for mul-
tiprocessor task scheduling in multistage hybrid flow shop // Swarm Evol. Comput.
2019. V. 44. P. 987-1002.
19. Drozdowski M. Scheduling multiprocessor - an overview // Eur. J. Oper. Res. 1996.
V. 94. P. 215-230.
20. Baptiste P. A note on scheduling multiprocessor tasks with identical processing
times // Comput. Oper. Res. 2003. V. 30. P. 2071-2078.
21. Zinder Y., Dob V.H., Oguz C. Computational complexity of some scheduling prob-
lems with multiprocessor tasks // Discret. Optimization. 2005. V. 2. P. 391-408.
22. Kis T. Scheduling multiprocessor UET tasks of two sizes // Theor. Comput. Sci.
2009. V. 410. P. 4864-4873.
23. Giaro K., Kubale M., Obszarski P. A graph coloring approach to scheduling of multi-
processor tasks on dedicated machines with availability constraints // Discret. Appl.
Math. 2009. V. 157. P. 3625-3630.
24. Sotskov Y.N. Mixed graph coloring as scheduling multi-processor tasks with equal
processing times // J. Belarusian State Univ. Math. Inform. 2021. V. 2. P. 67-81.
Статья представлена к публикации членом редколлегии П.Ю. Чеботаревым.
Поступила в редакцию 04.11.2021
После доработки 15.08.2022
Принята к публикации 29.09.2022
168