Научная статья на тему 'Применение дихотомии для решения задачи обслуживания единичных требований параллельными приборами'

Применение дихотомии для решения задачи обслуживания единичных требований параллельными приборами Текст научной статьи по специальности «Математика»

CC BY
302
56
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ / ПАРАЛЛЕЛЬНЫЕ МАШИНЫ / РАСПИСАНИЕ / АЛГОРИТМ / LINEAR PROGRAMMING / PARALLEL MACHINES / SCHEDULE / ALGORITHM

Аннотация научной статьи по математике, автор научной работы — Симанчев Р. Ю., Уразова И. В.

В работе [1] была построена модель целочисленного линейного программирования для задачи минимизации общего времени обслуживания единичных требований с предшествованиями параллельными приборами. В настоящей работе для решения данной задачи предлагается алгоритм, основанный на дихотомии множеств расписаний.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The use of dichotomies to solve the problem of individual requirements service by parallel machines

In [1] a model of integer linear programming for a scheduling problem of minimization of the general holding time of individual requirements with precedences by parallel machines has been constructed. We offer an algorithm based on a dichotomy of sets of schedules which solves the problem.

Текст научной работы на тему «Применение дихотомии для решения задачи обслуживания единичных требований параллельными приборами»

МАТЕМАТИКА

Вестн. Ом. ун-та. 2011. № 4. С. 26-30.

УДК 519.8

Р.Ю. Симанчев, И.В. Уразова

ПРИМЕНЕНИЕ ДИХОТОМИИ ДЛЯ РЕШЕНИЯ ЗАДАЧИ ОБСЛУЖИВАНИЯ ЕДИНИЧНЫХ ТРЕБОВАНИЙ ПАРАЛЛЕЛЬНЫМИ ПРИБОРАМИ

В работе [1] была построена модель целочисленного линейного программирования для задачи минимизации общего времени обслуживания единичных требований с предшествованиями параллельными приборами. В настоящей работе для решения данной задачи предлагается алгоритм, основанный на дихотомии множеств расписаний.

Ключевые слова: линейное программирование, параллельные машины, расписание, алгоритм.

1. Постановка задачи

Задача минимизации общего времени обслуживания параллельными приборами единичных требований с предшествованиями имеет следующую постановку.

Заданы множество V требований единичной длительности обслуживания и частичный порядок <1 на V,^ |= п . Требования обслуживаются т идентичными приборами. Все требования поступают на обслуживание одновременно. Запрещены прерывания в обслуживании требований. Требуется построить такое удовлетворяющее частичному порядку расписание обслуживания требований, при котором общее время обслуживания было бы минимальным.

Эта задача допускает следующую формализацию [1]. Пусть й -директивный срок, к которому обслуживание всех требований должно быть завершено. Поскольку длительности обслуживания требований равны между собой, обозначим через В = {1,2,...,й} множество единичных периодов обслуживания.

Требуется найти функцию С : V ^ В = {1,...,й}, удовлетворяющую условиям:

соотношение г < ] влечет неравенство с(г) <ст(у); (1)

для любого к е В имеется не более т вершин г е V, таких что с (г) = к . (2)

Множество расписаний, определенных условиями (1)-(2), обозначим через . Задача заключается в минимизации общего времени обслуживания всех требований, то есть

тах с (г) ^ тт (3)

iеV се'Ей

Очевидно, что задачу (3) можно рассматривать как задачу размещения вершин ациклического орграфа в полосе фиксированной ширины т . При этом условие (2) означает, что, если г < ], то вершина г

© Р.Ю. Симанчев, И.В. Уразова, 2011

должна стоять левее вершины ]. Минимизация общего времени обслуживания означает, что номер последнего из непустых столбцов в полосе должен быть как можно меньше.

Множеству £й сопоставим полиэдр

Мё, который задаётся приведенными

ниже ограничениями (5)-(9). Для описания системы (5)-(9) нам понадобится следующая конструкция.

Граф О, задающий частичный порядок на множестве требований V, является ациклическим орграфом. Исходя из постановки задачи, будем полагать, что граф О не содержит транзитивных дуг. Множество вершин этого графа есть множество V, множество дуг обозначим через Е(О). Если Р - подграф орграфа О, то через V(Р) обозначим множество

вершин подграфа Р. Дугу оргафа О с началом в вершине г и концом в у обозначим через (г, у) .

Расписанию С : V ^ В сопоставим (0,1)-вектор хС = (хС, г е V, к е В) е Рпс1 по правилу

С Г1, с(г) = к;

хС = Гп (4)

[0, иначе.

Построенный таким образом вектор

хС также будем называть расписанием.

Исходя из простых соображений, выделим следующие множества:

Vk ^ V множество таких вершин, что

для любой вершины г е V \ V, выполнено

хгк = 0; множество В { ^ В для г е V, что

для любого к е В \ В { выполнено хгк = 0.

Теперь зададим полиэдр МЛ ^ Кп<1

как множество решений системы линейных уравнений и неравенств.

£ хгк =1, геУ; (5)

кеВг

£ хгк < m, к е В; (6)

^е^к

хгк < £ хЦ , ^ Л е Е(О), к е Вг; (7)

1еВу

I >к

0 < хгк < 1, iеV, к е Вг; (8)

хгк = 0, iеV, к е В \ Вг. (9)

Так как Мй лежит в единичном кубе,

мы можем говорить о том, что (4) задаёт взаимно-однозначное соответствие между

множествами £й и Ма П 2пй. На основании этого многогранник расписаний определим как выпуклую оболочку множества Ма П Га и обозначим через М2. Важным свойством релаксации Мй является то, что она не содержит «лишних» целочисленных точек, не являющихся векторами инциденций расписаний или, что то же, множество векторов инциден-ций расписаний является множеством целочисленных решений системы (5)-(9).

Рассмотрим задачу (3) как задачу ЦЛП на полиэдре Мй с целевой функцией й

Кх) = £\ £ Х1к ^ тіп (10)

ХШй

Здесь Л<< А2 <<...<< Лй [2].

Заметим, что коэффициенты целевой функции имеют экспоненциальный рост, что делает затруднительным решение задачи (10) высокой размерности. Далее, в параграфе 4 будут выделены условия на коэффициенты Лк, к = 1,2,...,й, позволяющие избавиться от их экспоненциального роста.

2. Правильные неравенства

Неравенство ах < а0 называется правильным относительно М2, если для всех х є М2 выполнено ах < а0. Правильное неравенство ах < а0 называется опорным, если существует такой X є М, что аХ = а0.

В [3] описаны классы неравенств, правильных относительно многогранника М2. Кроме того, получены достаточные

условия, при которых построенные неравенства являются опорными относительно многогранника М2. Там же было показано, что построенные неравенства могут служить отсечениями в соответствующих алгоритмах.

Пусть Р ^ G - путь, к є В. Тогда неравенство £ Xк < 1 является правиль-ІєУ (Р)

ным к многограннику М2.

Пусть Р е О - путь, к е В , г еV (Р) -первая вершина в пути Р , г е V(Р) - последняя вершина в пути Р . Тогда нера-

пута в О , Рт = £

«=1

I Б„

т

- т -плотность

к-1

венство

£ хг1 +

I=1

£ л]к ' £ ЛИ

уе (Р) I=к+1

+ £ х,, < 1 явля-

ется правильным к многограннику М2 .

Для решения задачи ЦЛП был разработан алгоритм отсечения БИР, основанный на построенных правильных неравенствах. На каждом шаге алгоритма БИР решается задача идентификации: найти в классе неравенств неравенство, отсекающее заданную нецелочисленную точку или доказать, что в данном классе такого неравенства нет. В [4] приведены результаты вычислительного эксперимента,

подтверждающие эффективность использования описанных неравенств в качестве отсечений. Сравнение проводилось с известными отсечениями, которые

встроены в универсальный пакет СРЬЕХ, разработанный для решения задач ЦЛП. Сравнивалось количество отсечений, потребовавшихся для нахождения оптимума, и время решения задачи.

3. Применение дихотомии

В данном параграфе предложен алгоритм поиска такого значения общего времени обслуживания йтт, что множество £ , не пусто, но £ , пусто. В ос-

йтт йтт 1

нове алгоритма лежит классическая схема метода дихотомии. Нетрудно увидеть, что в силу включения £й е £й, при й < й',

определенное таким образом йтт является оптимальным значением задачи (3). Применимость данного подхода обусловливается тем, что £й е £й, при й < й'.

При использовании дихотомии ключевыми становятся два вопроса: выбор начального разбиения отрезка и решение задачи ЦЛП. Ответ на первый вопрос получен в утверждении 1.

Утверждение 1.

а) Если 1 Втах < т , то йтт =| Ртах 1 +1 .

б) Если 1 Втах|> т , то 1 Ртах 1 +1 < ^ < Рт •

Здесь | Втах | - максимальная по мощности вершинная база в орграфе О ,

| Р | - длина максимального по числу дуг

орграфа О .

Доказательство. Пусть В1, В2,..., В( -

разбиение множества вершин орграфа О на базы. Докажем сначала, что в орграфе О существует такой путь Р, что | V(Р)пВ5 |= 1 для каждого 5 = 1,2,...,, .

Обозначив через и{ = {у е V | (у, г) е Е(О)} множество непосредственных предков вершины г , можем говорить, что для любой вершины г е В( множество ич п В, - 4 не пусто (иначе £ В().

Далее аналогично для каждой г,еич пв,- 4 имеем ; п В(-2 ^ 0 и т. д. Этот процесс завершится в вершинах базы В1. Значит, действительно, в О существует путь, проходящий через каждую базу.

а) Так как вершины пути Ртах лежат в разных базах, то количество баз не может быть меньше, чем | Рпах | +1. Поэтому, если

й <| Ртах | +1, то £ . =0 и, в частности,

| тах I й

£|Р | =0. В силу доказанного выше

|Ртах |

, =| Ртах | +1. Действительно, если

, >| Ртах | +1, то в О найдется такой путь Р , что | Р |>| Ртах |. Теперь можно построить расписание, занимающее ровно | Ртах | +1 столбцов в полосе ширины т ,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

помещая в каждый столбец по одной базе в порядке возрастания их уровня. Это значит, что £|Р |+1 ^0. Утверждение а)

|Ртах |

доказано.

б) Если | Втах | > т , то разместить вер-

шины максимальной базы в одном столбце нельзя. Следовательно,

^тт > , =| Ртах | +1 . В силу утвер^Цения 2

[3] при й = рт множество £ й не пусто. Отсюда вытекает верхняя оценка йтт < Рт . Утверждение б) доказано.

Алгоритм DMN поиска значения йтт

Вход: Мй - полиэдр, заданный ограничениями (5)-(9Ь А =| Ртах |, В = Рт.

d =

к -ая итерация, к = 1,2,...

Шаг 1. Вычисляем значение

'Л + В'

2

Шаг 2. Решаем задачу

шт{Л(х) | х е Ма п Znd } алгоритмом БИР, где И(х) - любая целевая функция.

Если Ма п ХпЛ = 0 , то Л = 1, В = В и шаг 3.

Если Ма п 7п1 ^ 0 , то Л = Л , В = 1 и шаг 3.

Шаг 3. Если В — Л = 1, то выход ^тт = В . Иначе (к +1) -ая итерация.

Конец алгоритма.

4. Варьирование коэффициентов

целевой функции

В [2] было показано, что минимальное значение линейной функции

Кх) = £ Як £ Хк ^ 1ШП , (Ш)

хеМи

к=1

где Я <<...<< над полиэдром Ма

совпадает с оптимальным решением задачи минимизации общего времени обслуживания единичных требований с предшествованиями параллельными приборами

(3)

Для

Як, к = 1,2,

условиям

max cr(i') ^ min .

ieV °eEd

этого коэффициенты

, d должны удовлетворять

да£Л ^А+1, к = 1,2,...,d-1, (11)

г=1

то есть расти экспоненциально. Это требование накладывает серьезное ограничение на применение аппарата ЦЛП для решения задачи (3). В настоящем параграфе проведен эксперимент, одной из целей которого была выработка рекомендаций по выбору функциональной зависимости вида Як = f (к), отличной от экспоненциальной и позволяющей при заданной размерности задачи получить оптимальное решение. Наряду с целевой функцией h(x), удовлетворяющей условиям (11), были рассмотрены функции вида (10) с коэффициентами, построенными по законам

4 = An(к) = пк,

Як = fq (к) = Пк2.

Точные решения задач, необходимые для анализа зависимостей flin и f , были

найдены с помощью дихотомии (алгоритм DMN). При этом, в силу утверждения І, в качестве начальных границ отрезка разбиения были взяты A =| Pmax | и B = pm.

і max і i- m

Всего было рассмотрено І5 серий, отличающихся размерностью, по 50 задач в каждой, отличающихся структурой орграфов. Все орграфы ациклические и не имеют транзитивных дуг.

Задачи каждой серии содержат n x d переменных, где n - число вершин в орграфе, задающем порядок предшествования между требованиями, d - директивный срок, к которому все требования должны быть обслужены.

Орграфы серий на ІЗ, З0, б0 и І20 вершинах взяты из специализированной библиотеки PSPLIB, орграфы серии на І0 вершинах - взяты из различных источников.

Оптимальные значения целевых функций с зависимостями (ІІ), flin и

fsq были найдены алгоритмом SHP.

В таблице в качестве иллюстрации приведены полученные результаты. На остальных задачах ситуация была аналогичной.

Результаты эксперимента с целевыми функциями

h(x), Ап и fsq .

Задача DMN h( x) f sq in

d ■ min dh sq dlin

20_1 в в в 10

20_2 13 13 13 14

20_3 і 1 1 12

60_1 1в 1в 1в 34

60-2 26 26 26 51

60-3 15 15 15 33

90-1 32 - 32 5в

90-2 45 - 45 69

90-3 51 - 51 13

Для описания результатов введем следующие обозначения.

— оптимальные значения

целевых функций с коэффициентами Як

вида (11), /Пп и соответственно;

1тт — значение, найденное алгоритмом ОМЫ.

Знак “—” означает, что ввод коэффициентов Як был затруднителен в связи с их экспоненциальным ростом. Во всех рассмотренных примерах 1тт и 1 совпадают. Значение 1Пп совпало с 1тт лишь до п < 20 . Более того, при п > 90 значение не было найдено, в то время

как Лщ = Лтт .

Таким образом, на задачах высокой размерности для коэффициентов Як це-

левой функции И(х) целесообразно использовать Як = пк, при I > 2.

ЛИТЕРАТУРА

[1] Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М. : Мир, 1982. 416 с.

[2] Симанчев Р. Ю., Уразова И. В. Целочисленная модель задачи минимизации общего времени обслуживания параллельными приборами единичных требований с предшествованиями. // Автоматика и телемеханика. 2010. № 10. С.100-106.

[3] Симанчев Р. Ю., Уразова И. В. Многогранник расписаний обслуживания идентичных требований параллельными приборами // Дискретный анализ и исследование операций. 2011. № 1. С. 87-92

[4] Уразова И. В. Полиэдральная структура и ал-

горитмы решения задач обслуживания единичных требований параллельными приборами : дис.... канд. физ.-мат. наук. Новоси-

бирск : ИМ СО РАН, 2011.

i Надоели баннеры? Вы всегда можете отключить рекламу.