ЗАДАЧА ВЫПОЛНЕНИЯ ТЕХНОЛОГИЧЕСКИ ВЗАИМОСВЯЗАННЫХ РАБОТ НА ПАРАЛЛЕЛЬНЫХ МАШИНАХ
Н. В. Герасименко
Институт математики им. С. Л. Соболева CО РАН 644099, Омск
УДК 519.8
Б01: 10.24411/9999-018А-2019-10004
Рассматривается задача минимизации общего времени выполнения технологически взаимосвязанных работ единичной длительности на параллельных машинах. Задача является КР-трудной в сильном смысле. При фиксированном числе машин большим двух вычислительная сложность задачи неизвестна. В работе исследуется задача с тремя машинами. Проведен анализ смежных подзадач, сложность которых известна.
Ключевые слова: теория расписаний, общее время завершения работ, параллельные машины, частичный порядок.
Введение
Задача минимизации общего времени выполнения взаимосвязанных работ является одной из важных задач дискретной оптимизации. Имеется множество параметров: длительности работ, различные виды ресурсов, директивные сроки, частичный порядок выполнения работ и так далее. В работе [1] показано, что если ширину частичного порядка ограничить константой, то при самых общих значениях остальных параметров, задача становится полиномиально или псевдополиномиально разрешимой. С другой стороны, при произвольном частичном порядке, даже в случае единичных длительностей работ и единичных объемах потребления единственного ресурса, задача остается МБ--трудной в сильном смысле [2].
Отсюда можно сделать вывод, что основная трудность решения задачи связана с видом частичного порядка. Поэтому, актуальным является исследование задачи при наличии частичного порядка и самых слабых условиях для остальных параметров. Этим условиям удовлетворяет задача Р\ргес\Стах , где Р означает, что используется система с идентичными параллельными машинами, Стах - что минимизируется общее время выполнения работ, а ргес - наличие частичного порядка. При этом в процессе выполнения каждая работа занимает только одну машину. Таким образом, в задаче Р\ргес\Стах требуется минимизировать общее время выполнения взаимосвязанных работ на параллельных машинах. Еще проще вариант задачи Р\ргес, р. = 1\Стах , когда длительности работ единичные. Но даже в этом
упрощенном варианте, задача МР--трудна в сильном смысле [2].
Особый интерес представляет случай, когда число машин ограничено. Известно [3], что задача Р2ргес, р. = 1\Стах полиномиально разрешима. Сложность задачи
Рт\ргес, р. = 1\Стах неизвестна.
В настоящей работе исследуется задача РЗргес, р. = 1|Стах . Одним из способов исследования является поиск взаимосвязей со смежными задачами. Близкой по структуре является задача разбиения на треугольники, которая является МР-трудной в сильном смысле.
В параграфе 1 приведены постановки и анализ сложности смежных задач. В параграфе 2 описана связь задачи разбиения на треугольники, задачи точного покрытия трехэлементными множествами и задачи Рз\ргвс, р^ = 1Стах .
1. Постановка задач
Имеется п работ единичной длительности, которые необходимо выполнить на трех параллельных идентичных машинах. Между некоторыми работами имеется отношения предшествования. Если I предшествует ] , то работа ] не может начать выполняться прежде, чем закончится работа I . Требуется составить расписание выполнения работ при условиях сохранения предшествования, непрерывности выполнения каждой работы, и чтобы каждая машина в любой момент времени выполняла не более одной работы. При этом срок выполнения всех работ должен быть минимальным.
Сформулируем еще две важные задачи. Первая из них - задача разбиения на треугольники. Задан граф Г = (1,и), число вершин которого V\ делится на три, то есть | = 3р для
некоторого числа р . Существует ли такое разбиение V на р непересекающихся подмножеств У1,¥2, ... ,¥р , содержащих по 3 элемента, что для каждого | = } три ребра
(л,уг2}, (л,угз} и V2,у33} принадлежат и ? Будем обозначать эту задачу (Д).
Второй является задача точного покрытия трехэлементными множествами. Задано конечное множество X , такое, что \Х\ = 3д , и семейство С трехэлементных подмножеств множества X . Верно ли, что семейство С содержит точное покрытие множества X , то есть такое подсемейство С'с С, что каждый элемент из X содержится ровно в одном элементе из C ? Обозначим эту задачу (ТП-3).
К сожалению, все попытки свести к задаче Р3ргес, р}. = 1|Стах некоторую ЫР--трудную задачу не увенчалось успехом. В нашей работе опробован подход поиска сложного подкласса задач Р3ргес, р} = 1\Стах . Схема следующая. Формулируем задачу
Р3ргес, р}- = 1\Стах (Р3) в терминах задачи Д . Сводимость это некоторая функция, которая
индивидуальной задаче из Р3 ставит в соответствие индивидуальную задачу из Д . В задаче Д получаем некоторый образ нашей задачи (рис. 1).
Рисунок 1: Образ задачи Р3 в Д
Теперь рассмотрим ЫР-трудность задачи Д . Эта ЫР-трудность осуществляется сведением задачи ТП-3 к Д [4]. Соответственно получаем образ задачи ТП-3 в множество индивидуальных задач Д , которое мы назовем ядром трудности (рис. 2).
Р:
Рисунок 2: Ядро NP-трудности задачи Л
NP-трудны не все задачи Л , но ядро это совокупность наиболее сложных задач. Если образы задачи Р3 и ТП-3 в Л пересекаются, то прообраз их пересечения даст наиболее сложные задачи Р3. Это еще не доказывает МР-трудность, но позволяет выделить подкласс перспективных для исследования задач Р3. Схема дана на рис. 3.
Рисунок 3: Подкласс перспективных для исследования задач P3 Выделим это подмножество индивидуальных задач. Сначала построим образ ТП-3 при сводимости к Л .
Теорема. Задача разбиение на треугольники трудна в сильном смысле. Доказательство [4]. Сведем МР-трудную задачу ТП-3 к задаче Л. Пусть множество х (X\ = 3ц) и семейство С его трехэлементных подмножеств образуют условие произвольной индивидуальной задачи из ТП-3. Построим граф Г = (У,и), такой, что = 3р и для
него существует искомое разбиение тогда и только тогда, когда С содержит точное покрытие.
Основными модулями рассматриваемой индивидуальной задачи из ТП-3 будут трехэлементные подмножества из С . Операция локальной замены "превращает" каждое такое подмножество Сг = {хг }е С в набор Ei, состоящий из 18 ребер, который изображен на
рис. 4. Таким образом, Г = (у,и) определяется так:
С| |С|
V = Хи{а. : 1 < ] < 9}, и = иЕг.
г=1 i=1
Рисунок 4: Компонента графа при сводимости задачи
Заметим, что только вершины из множества C могут быть инцидентны более чем одному множеству Ei . Отметим также, что V | = ¡X | + 9|С| = 3q + 9|С| , так что p = q + 3 |С |. Нетрудно видеть, что эту индивидуальную задачу Л можно построить, отправляясь от рассматриваемой индивидуальной задачи из ТП-3, за полиномиальное время.
Если c1,c2, ... ,стрехэлементные подмножества из C, которые образуют точное покрытие X , то соответствующее разбиение V = У1 У2 ... множества V определяется следующим образом. Если ci = } есть элемент точного покрытия, то из множества
Ei выбираются следующие подмножества: {аг1,аг2,хг}, {аг4,аг5,уг}, {а7,ai8,Zi}, {аг3,а6,аг9}, а если сг не является элементом точного покрытия, то из Ег выбираются подмножества: \ап ,аг2,аг3 },{аг 4 ,аг5,аг6 },{аг 7 ,а8,а9 }. Такой выбор подмножеств обеспечивает, что каждый
элемент из X содержится ровно в одном трехвершинном подмножестве рассматриваемого разбиения.
Обратно, если V = V1 ^ V2 ^... ^ Vp произвольное разбиение графа О на треугольники, то соответствующее точное покрытие получается, если выбрать те сг е С, для которых {аг 3, аг6, аг9 }= V] при некотором ], 1 < ] < р . Непосредственная проверка того, что два построенных разбиения обладают всеми нужными свойствами тривиальна.
2. Связь задачи для трех машин с задачами разбиения на треугольники и точного покрытия трехэлементными множествами
Сформулируем задачу Рз\ргес, р^ = 1|Стах как задачу распознавания. На трех параллельных машинах требуется выполнить п работ единичной длительности, причем |п| = к для некоторого числа к . На множестве работ задано отношение предшествования. Существует ли расписание выполнения работ длины к при условии сохранения отношения предшествования? Заметим, что если существует расписание длины к , то в каждый момент времени выполняются три независимые работы. Таким образом, все работы разбиваются на тройки. Похожие задачи, связанные с выбором троек, рассмотрены в предыдущем параграфе. Важно исследовать связь между этими задачами.
28 "Проблемы оптимизации сложных систем - 2019"
Введем следующее соответствие между множеством всех частичных порядков и множеством неориентированных графов. Частичный порядок будем задавать графом О = (У,Е) , где V - множество вершин, а Е - множество дуг. Причем О не содержит контуров. Сопоставим частичному порядку неориентированный граф Г = (у,и), по следующему правилу. Множества вершин О и Г совпадают. Если в О вершины г и . зависимы (существует путь из одной вершины в другую), то ребро (г,.) £ и . Если вершины г и . в О независимы, то включаем ребро (г,.) в и . То есть, (г,.) е и тогда, и только тогда, когда (г,.) е и независимы в частичном порядке О . Пример такого сведения изображен на рис. 5.
Рисунок 5: Пример частичного порядка О = у,Е) и соответствующего ему графа Г = {у,и)
Утверждение 2.1. Если для графа О = (у,Ё) существует решение задачи Р3\ргее,р] = 1\Стах со значением целевой функции Стах = к, то в графе Г существует разбиение на треугольники.
Доказательство. Действительно, если Стах = к , то все уровни заполнены и в каждой
тройке (на одном уровне) работы независимы. Но для независимых работ в Г существуют ребра и, значит существует соответствующий треугольник. Следовательно, получаем что при Стах = к в Г существует разбиение на треугольники.
Обратное утверждение, что если в Г существует разбиение на треугольники, то в задаче Р3\ргес,р] = 1\Стах существует решение со значением целевой функции Стах = к показать или опровергнуть пока не удалось. Если взять разбиение на треугольники, то в графе О соответствующие тройки работ будут независимы и мы можем их уложить на одном уровне. Но требуется дополнительная проверка соблюдения частичного порядка выполнения работ разных троек.
Каждому частичному порядку О сопоставим граф Г . Тогда множеству всех частичных порядков соответствует некоторое множество неориентированных графов. Очень важным является вопрос, совпадает ли оно с множеством всех неориентированных графов. Если это так, то задача Р3\ргес, р. = 1|Стах и задача разбиение на треугольники сводятся
между собой. К сожалению, это не так. Покажем это.
Утверждение 2.2. К графу С5 (рис. 6) не сводится ни один частичный порядок.
Рисунок 6: Граф С 5 , для которого не существует соответствующего частичного порядка
Доказательство. Вершины графа Г и работы в О однозначно соответствуют друг другу. Поэтому работы будем называть по номеру вершин в графе Г . Работы (1) и (2) зависимы. Без ограничения общности, предположим, что раньше выполняется работа под номером (1) (обратный случай симметричен). Работы (3) и (2) также зависимы, но (1) и (3) не являются зависимыми, следовательно, возможен только один случай: работы под номерами (1) и (3) предшествуют работе (2), и между собой не связаны (рис. 7).
Рисунок 7: Взаимное расположение работ (1), (2) и (3)
Далее, работы (3) и (4) зависимы. Если (4)-я будет предшествовать работе (3), то работы (4) и (2) должны быть также зависимыми, что не так, следовательно возможен только один вариант, (3)-я предшествует (4)-й и независима с работами (1) и (2) (рис. 8).
Рисунок 8: Взаимное расположение работ (1), (2), (3) и (4)
Работа (5) зависима с работами (1) и (4), но работы (1) и (4) в свою очередь являются взаимно независимыми. Следовательно, возможны два варианта:
1. Обе работы, (1) и (4), предшествуют (5)-й, тогда (3)-я становится зависимой с работой (5), что не так (рис. 9).
Рисунок 9: Первый вариант расположение работы (5)
2. Работа (5) предшествует и (1)-й, и (4)-й работам, тогда получаем, что (5)-я и (2)-я должны быть зависимыми, что также не является правдой (рис. 10)
Рисунок 10: Второй вариант расположения работы (5)
Итак, получили, что к графу С 5 (рис. 6) не сводится ни один частичный порядок.
Важный вопрос: Содержит ли образ множества частичных порядков ЫР--трудную массовую подзадачу Л ? Если содержит, то Р3 тоже является ЫР-трудной.
Для ответа на этот вопрос рассмотрим доказательство ЫР-трудности задачи Л . Может оказаться, что семейство ЫР-трудных задач, Л полученных в результате сведения, пересекается с образом множества частичных порядков. Тогда это влечет ЫР-трудность нашей задачи.
В данной работе удалось показать, что это не так. Для подграфа, изображенного на рисунке 6 нет соответствующего частичного порядка. Это означает, что подкласс заведомо трудных задач Л не содержит задачи, к которым сводится частичный порядок. Покажем это.
Утверждение 2.3. Массовая подзадача, возникающая при сведении покрытия трехэлементными множествами к задаче разбиения на треугольники не пересекается с образом множества всех частичных порядков.
Доказательство. Рассмотрим подграф графа, изображенного на рис. 4 (рис. 11).
Рисунок 11: Подграф графа О
Работы А, В и С независимы. Без ограничения общности, в силу симметричности, можно считать, что X, У и 2 связаны следующим отношением предшествования (рис. 12).
Рисунок 12. Зависимость работX, У и 2
а , в и у также образуют цепь, но порядок работ в ней не определен. Рассмотрим множества работ {X ,У, 2} и {а, в, у}. Необходимо ориентировать дуги в следующем подграфе (рис. 13).
Рисунок 13: Связь работ множества {X У, Z, а, в, у} Пары {X а} , {У, в} и {Д у} должны быть независимы. При попытке ориентировать
дуги, получаем следующее:
X ^ у , так как иначе у ^ 2 ; У ^ у, так как иначе у ^ 2 ;
X ^ в , так как иначе в ^ У; а ^ У , так как иначе X ^ а ;
а ^ 2, так как иначе X ^ а; в ^ 2 , так как иначе У ^ в;
в ^ У, так как иначе у ^ 2 ; а ^ в , так как иначе в ^ У.
При удалении транзитивных дуг, получаем следующий частичный порядок (рис. 14)
Теперь рассмотрим работы А , В и С . Они независимы. Работа А связана с работой в . Возможно два случая: если в ^ А , то из полученного частичного порядка (рис. 14) получим а ^ А , что противоречит исходному графу (рис. 11). Значит А ^ в . С другой стороны, работа С связана с работой в . Здесь так же возможно два случая: если С ^ в, то из полученного частичного порядка (рис. 14) С ^ у , что противоречит исходному графу (рис. 11). Значит в ^ С , а это в свою очередь противоречит тому, что А ^ в , так как работы А и С должны быть независимыми. Получили что для подграфа графа, изображенного на рисунке 4, не существует соответствующего частичного порядка. Следовательно, и для всего графа так же не существует частичного порядка. Утверждение доказано.
Итак, образы Р3 и ТП-3 в А не пересекаются, что проиллюстрировано на рисунке 15. С помощью такого подхода не удалось выделить семейство сложных примеров в Р3, что косвенно говорит о том, что задача не является ЫР--трудной.
Рисунок 14: Итоговый частичный порядок работ {X, У, 2, а, в, у}
Рисунок 15: Образ задач P3 и ТП-3 в А
Заключение
Исследуется задача минимизации общего времени выполнения технологически взаимосвязанных работ единичной длительности на трех идентичных параллельных машинах, вычислительная сложность которой неизвестна. Проведен анализ ее взаимосвязи с близкими по постановке NP-трудными задачами разбиения на треугольники и покрытия трехэлементными множествами. Показано, что подмножество наиболее сложных задач разбиения на треугольники и образ задачи с тремя машинами не персекаются между собой.
Список литературы
1. Сервах В.В. Эффективно разрешимый случай задачи календарного планирования с
возобновимыми ресурсами // Дискретный анализ и исследование операций, Сер.2, 2000.
- Т. 7, N. 1. - С. 75-82.
2. Ulman J.D. NP-complete scheduling problems. J.Comput. And Syst.Sci., 1975. - V. 10,
N 3 - P. 384-393.
3. Goffman E.G., Graham R.L. Optimal scheduling for two processor systems. Acta Informal.
1972. - 1(3) - P. 200-213.
4. Rinnooy Kan, Lenstra J.K. Complexity of scheduling under precedence constraints // Oper.
Res. 1978. - 26. - P. 22-35.
Герасименко Наталья Вадимовна - аспирант Института математики им. С. Л. Соболева СО РАН;
email: nati@fto.com.ru