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

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

CC BY
152
39
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ДИРЕКТИВНЫЙ СРОК / ДИХОТОМИЯ / РЕЛАКСАЦИОННЫЙ ПОЛИЭДР / ТЕОРИЯ РАСПИСАНИЙ / DIRECTIVE DATE / DICHOTOMY / RELAXATION POLYHEDRON / SCHEDULING THEORY

Аннотация научной статьи по математике, автор научной работы — Симанчев Р. Ю., Шерешик Н. Ю.

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

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

Use of dichotomy scheme for minimum directive algorithm in various requirements satisfaction by single machine

The single machine total tardiness problem with possible breaks is considered. A minimal directive due sufficient to find an optimal solution is obtained. An algorithm finding the minimal directive due using the dichotomy scheme is proposed.

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

МАТЕМАТИКА

Вестн. Ом. ун-та. 2013. № 2. С. 48-50.

УДК 512

Р.Ю. Симанчев, Н.Ю. Шерешик

СХЕМА ДИХОТОМИИ

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

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

Ключевые слова: директивный срок, дихотомия, релаксационный полиэдр, теория расписаний.

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

В статье рассматривается задача обслуживания различных требований одним прибором. Задано множество V требований, | V |= п . В обслуживании требований разрешены прерывания. Каждое требование г имеет положительный вес оз1 и «время ожидания» - некоторое время, в течение которого оно недоступно для обслуживания, - г . Длительности обслуживания требований равны между собой р1 = р, г = 1...п . Требуется минимизировать суммарное взвешенное время завершения обслуживания всех требований. В обозначениях, принятых в теории расписаний,

задача имеет вид 1 ртЫ;р{ = р;г |С 1 .

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

требований различными (в обозначении теории расписаний) - 1 |г| ^ С 1 ,

задача становится МР-трудной [1]. При условии ненулевого времени ожидания каждого требования и возможности прерывания обработки требований 1 ртЫ; г | ^0,-С 1 задача также является МР-трудной [1]. В случае

когда запрещены прерывания обработки требований 1 р{ = р;г|,

задача является полиномиально разрешимой [2]. Случай, когда не учитывается вес каждого требования, разрешены прерывания и время обработки требований различны 1 ртМ; г | ^ С 1 , также является полиномиально разрешимой задачей [1].

Кроме того, в [3] предложен полиномиальный алгоритм для частного

случая задачи: 1 ртМ;р1 = 2;г.|.

Что касается рассматриваемой нами формулировки 1 ртШ; р1 = р;

Г|Е0' , то в настоящее время эта задача остаётся открытой в смысле

теории сложности. Определим величину ё - директивный срок окончания обслуживания всех требований. Априори эта величина не известна, но ясно, что её всегда можно выбрать. Соответственно, дискретные единичные моменты обслуживания требований могут быть перенумерованы как к = 1,2...ё .

Расписание обслуживания требований будем понимать как (0,1) -вектор х е Мпё с координатами х к е {0,1} , единица означает, что в к -й

© Р.Ю. Симанчев, Н.Ю. Шерешик, 2013

Схема дихотомии для поиска минимального директивного срока в задаче обслуживания..

49

момент времени обслуживается г -е требование, ноль иначе. Всякое расписание х удовлетворяет следующей системе ограничений:

ЕхЛ <1, к = , (1)

1=1

ё

Е хк = р, .=1---п, (2)

к=1

хЛ > 0, г= 1...п , к = 1. ё , (3)

хк = 0, г = 1 .п , к = 1. г . (4)

Ограничения (1) гарантируют, что в каждый момент времени обслуживается не более одного требования; ограничения (2) означают, что на обслуживание требования необходимо ровно р единиц времени; ограничения (4) - время ожидания каждого требования г еV.

Полиэдр, задаваемый ограничениями

(1)-(4), обозначим через Мл . Как известно,

ограничения вида (1)-(3) задают в Мпё целочисленный полиэдр (так как, по сути дела, они совпадают с ограничениями транспортной задачи). Ограничения (4) не нарушают его целочисленности. Таким образом, полиэдр Мё является целочисленным и, следовательно, Мл = еопу , где - множество всех расписаний обслуживания требований при данном директивном сроке. Теперь обозначим через Сг (х) время окончания обслуживания требования при данном расписании х . Во введенных терминах целевую

функцию задачи 1 рт№; р г = р; г| Е^С можно записать следующим образом:

/(х) = Е 0С](х) .

=1

Тогда рассматриваемую задачу минимизации суммарного взвешенного времени завершения обслуживания всех требований можно сформулировать как

шт |ЕЕ 0С ‘(х)1х е Мё

при условии «поиска по вершинам». В данном случае целочисленность полиэдра Мё не облегчает задачу (как это было бы в случае задачи ЦЛП), так как целевая функция не является линейной по х .

Будем называть расписание х еЕё оптимальным, если /(х) < /(х) для любого хе^.

Для удобства будем представлять всю работу обслуживания требований в виде таблицы, где строки - это требования, а столбцы - моменты времени. Соответственно, размерность таблицы п х ё . Она заполняется следующим образом. На пересечении к -го столбца и -й строки ставится либо ноль, либо единица. Единица означает, что в к -й момент времени обслуживается -е требование. Состояние ячейки на данном пересечении будем обозначать х к . Соответственно, х Л е {0,1} .

В качестве примера рассмотрим таблицу расписания обслуживания четырёх требований с временем обслуживания, равным трём (см. рис.). На этом примере видно, что требования 1 и 2 обрабатывались в 5, 6, 10 и 4, 11, 12 моменты времени соответственно. Требования 3 и 4 обрабатывались в 7-9 и 1-3 моменты времени соответственно. Суммарное взвешенное время завершения обрабатывания всех требований равно 100 + 48 + 108 + 21 = 277.

Столбец к будем называть нулевым, ес-

п

ли Е хк = 0.

=1

2. Анализ директивного срока и процедура дихотомии

Будем называть директивный срок ё минимальным, если Ф0 , _1 = 0 , и обо-

значать ёшп.

Очевидно, что множества при росте

ё удовлетворяют условию монотонности, т. е. с , при ё < ё'. Докажем следую-

щее утверждение.

р = 3, п = 4 (серым цветом выделены г)

50

Р.Ю. Симанчев, Н.Ю. Шерешик

Лемма. Пусть г1 < г2 < . < гп . Если существует такая строка г еV, что ё _ г =(п _ г + 1)р, то ё < ёшт .

Доказательство. Предположим, что ё _ г = (п _ г +1)р и ё > ёШп . Исходя из определения ёШп, мы можем уменьшить ё, и при этом множество расписаний будет не пусто. Условие ё _ г = (п _ г +1)р означает, что количество столбцов, стоящих правее г и не превосходящих ё , равно количеству единиц в строках не выше г -й. Значит, при уменьшении ё количество единиц в столбцах и, соответственно, в строках станет меньше (п _ г +1)р , а значит, не все требования будут обработаны. Таким образом, мы не можем уменьшить ё , значит, наше предположение не верно.

Лемма доказана.

Теорема. Пусть ё > ёшП. Для любого расписания х е Ей+1 существует такое х' е!,Л , что выполняется /(х') < /(х) .

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

г(х) = шах{к | хк = 0,г = 1,...,п} ,

5 = шт{/1 г(х) < Г } .

Если г(х) < г5, то в столбце г5 есть единица, которую мы перенесем влево по той же строке в столбец г(х) . Получим расписание х1, в котором г(х1) = г5. При этом значение целевой функции не уменьшится. Таким образом, без ограничения общности можем считать, что г(х) е{г1,г2,...,гп,ё +1} .

Итак, пусть г(х) = г . Это означает, что для каждого к > г существует такая строка 7 е V , что хк = 1. Рассмотрим две альтернативные ситуации: 1) 7 > г и 2) 7 <г.

В первом случае для любой строки 5 < г и для любого столбца к > г имеем х5к = 0 . Исходя из того, что все столбцы с номерами к > г ненулевые, получаем равенство ё +1 _ г = (п _ г +1)р . Согласно лемме, это означает, что ё +1 < ёшп. Последнее противоречит условию теоремы.

Во втором случае, т. е. при 7 < г, формируем расписание х1 посредством переноса единицы из клетки (7, к) в клетку (7, г) .

Расписание х1 отличается от х компонентами хг = 1 и хкк = 0 . Тогда г(х1) = к > г и,

следовательно, r(х1) = r , где i < il . При этом

ясно, что f (х1) < f (х) .

С помощью тех же рассуждений мы

можем перейти от расписания х1 к распи-

2

санию х и так далее до тех пор, пока r(х‘) = d +1. Это означает, что столбец d +1

нулевой и х‘ eSd .

Теорема доказана.

Прямым следствием этого результата является тот факт, что оптимальное расписание задачи лежит в множестве Z, , ко-

dmin

торое, как уже говорилось, определяется условием

sd. *0, sd. , = 0 .

dmin dmin 1

В этой связи становится актуальным поиск минимального директивного срока dmln. Для ответа на этот вопрос нами разработана процедура дихотомии, использующая целочисленность полиэдра Md .

Схема дихотомии для поиска dmln.

Полагаем A = 1, B = np + max r .

i=1,...,n

t-я итерация..

Шаг 1. Вычисляем d =

A + B

Шаг 2. Если Md = 0, то A = d , B = B и переход на шаг 3. Если Md *0 то A = A , B = d и переход на шаг 3.

Шаг 3. Если B - A = 1, то выход: dmln = B .

Иначе переход на t +1 -ю итерацию.

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

Проверку условия Md =0 на шаге 2 удобно делать посредством решения задачи ЛП с произвольной целевой функцией на множестве Md . Поскольку полиэдр целочисленный, то наличие решения в этой задаче означает, что Md * 0 , а отсутствие решения означает, что Md = 0 .

ЛИТЕРАТУРА

[1] Peter Brucker. Scheduling Algorithms. Fifth edition. Germany, 2006.

[2] Baptiste Ph. Batching identical jobs // Mathematical Methods of Operations Research. 2000. № 53(3). Р. 355-367.

[3] Bouma H. W, Goldengorin B.. A Polytime Algorithm Based on a Primal LP Model for the Scheduling Problem 1\pmtn;pt = 2;r |// Recent Advance in Applied Mathematics. 2010.

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