УЧЕНЫЕ ЗАПИСКИ КАЗАНСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
Том 150, кн. 4
Физико-математические пауки
2008
УДК 519.854
ПСЕВДОПОЛИНОМИАЛЬНЫЙ ПРИБЛИЖЕННЫЙ АЛГОРИТМ РЕШЕНИЯ ЫР-ПОЛНОЙ ЗАДАЧИ МИНИМИЗАЦИИ МАКСИМАЛЬНОГО ВРЕМЕННОГО
СМЕЩЕНИЯ
О.Н. Шульгина, Н.К. Щербакова
Аннотация
В статье предлагается и обосновывается приближенный алгоритм псевдополипомп-альной трудоемкости для решения известной МР -полной в сильном смысле задачи теории расписаний минимизации максимального временного смещения для одного прибора при запрещении прерываний в обслуживании требований. Получена оценка абсолютной погрешности значения целевой функции расписания, построенного с помощью предложенного алгоритма.
Ключевые слова: расписание, временное смещение, псевдополипомиальпый алго-МР
Введение
Одной из известных задач теории расписаний является задача минимизации максимального временного смещения для одного прибора. Указанная задача является NP-полной [1] в сильном смысле, то есть не существует псевдополиномиального алгоритма ее решения в предположении, что классы P и NP не совпадают. Если допускаются прерывания в обслуживании требований, то задача минимизации максимального временного смещения разрешима за полиномиальное время [2-4]. Алгоритмы трудоемкости O(n logn) решения задачи в случае одновременно поступающих требований или одинаковых директивных сроков были предложены в [4, 5]. Получено полиномиальное решение задачи в случае одинаковых продолжительностей обслуживания требований [3, 6, 7]. В [8] разработан и
NP
с. 293] частного случая задачи, когда требования можно перенумеровать одновременно по неубыванию директивных сроков и невозрастанию моментов поступления. Этот алгоритм используется для построения приближенного метода решения задачи, предложенного и обоснованного в данной статье.
1. Постановка задачи и обозначения
На одном приборе не ранее момента времени t необходимо обслужить n требований. Пронумеруем требования числами 1, 2,... ,n и в дальнейшем будем говорить об обслуживании требований множества N = {1, 2,...,n}. Запрещаются одновременное обслуживание более одного требования и прерывания при обслуживании требований. Для каждого требования j, j £ N, заданы следующие параметры: момент поступления требования на обслуживание rj; продолжительность обслуживания pj > 0; желательный (директивный) срок завершения обслуживания dj . Числa t, rj , pj , dj являются целыми. Под расписанием будем понимать
некоторую перестановку элементов любого подмножества множества N. Будем обозначать через n(N',t') множество всех расписаний обслуживания требований множества N' С N с момента времени t' > t. Расписание обслуживания требований любого подмножества множества N' С N будем называть частичным на множестве N'.
Пусть п = (ji,j2, • • •,in') - некоторое расписание из множества n(N',t'), где n' = |N'| - количество элементов в множестве N, ik — номер требования, которое обслуживается k-м то порядку при расписании п. Момент tjk(п) завершения обслуживания требования jk, k = 1, • • •, n', находится следующим образом: tj1 (п) = = max{t', rjl} + pjl; j (п) = max{tjk-1 (п), rÄ } + pjk, k = 2, 3, • • •, n'. Обозначим
через Lj (п) временное смещение требования j G N' при расписании п, то есть Lj(п) = tj(п) - dj-
Пусть п* G n(N',t') - расписание, при котором функция
F(п) = ma* (п), п G n(N',t') (1)
достигает минимального значения на множестве n(N', t'). Тогда расписание п* будем называть оптимальным на множестве n(N',t'). Если N' = 0, то полагаем F(п) = —го, п G n(N',t'), а расписание на пустом множестве будем обозначать через п0. Таким образом, задача минимизации максимального временного смещения для одного прибора заключается в отыскании расписания, оптимального на множестве n(N, t).
Введем необходимые в дальнейшем обозначения. Пусть N' С N N' = 0, t' > t, п G n(N',t'). Положим
rmin(N') = min ri;
iew'
rmax (N') = max ri;
¿ew'
Pmax (N') = max Pi;
¿ew'
T(п) = max to (п); jew' J
J*(п) = {j G N' : F(п) = Lj(п)};
Jd(N') = {j G N' : dj = min di};
¿ew'
П* (N', t') = {п* G n(N',t') : F(п*) = min F(п)} - множество оптимальных
nen(w ',t')
расписаний на множестве n(N', t');
Пг (N', t'), Пd(N',t') - множества расписаний обслуживания требований множества N' с момента времени t', составленных в порядке неубывания моментов поступления требований и в порядке неубывания директивных сроков завершения обслуживания требований соответственно.
Если требование г предшествует требованию j, i = j, при расписании п, то это соотношение номеров будем обозначать через i j. Садись i -— NV, где N С N', i G N означает, что i -— j для любого j G NV, а запись N -— NV, где N, NN С N', N П NV = 0, означает, что для всех пар i, j таких, что i G N, j G N, выполняется
. п . i- j
2. Вспомогательные результаты
Пусть обслуживаемые требования можно перенумеровать так, чтобы
di < • • • < dn, ri > • • • > Гп• (2)
Опишем процедуру h° построения такого расписания nho G n(N, t), что значение F(nh0) будет отличаться от оптимального значения F(п*), п* G n*(N, t), не более, чем на величину Pmax(N) [10], то есть
F(nho ) - F(п*) < Pmax(N). (3)
Процедура Ло [10]. Перенумеруем требования множества N таким образом, чтобы соблюдались неравенства (2).
Полагаем i = max{rn,t}, Ni = {1}, Pi = max{ri,t} + Pj — Pu nf = (1),
jeN
п\ G n(Nf, i) для bcex i = i,..., Pi.
Пусть уже известны Nk, Pk, пгк для вс ex i = t,..., Pk , и 1 < k < n. Полагаем
Nfc+i = Nk U {k +1}, Pk+i = Pk — pk+i. Для всех i = i,..., Pk+i строим
п' = (k +1,nmax{rk+1'i}+pk+1), ni' = (nk ,k +1), пГ = (k +1,ni), ni, п, п" G n(Nk+i, i), ni = (п G {п', п^, п"} : F(п) = min '^ F(п)},
пk+i = argmin{T(п)|п G П»}.
При k = n полагаем п^0 = п|, и процесс заканчивается.
Трудоемкость процедуры h° составляет O(n2P) операций [10]. Пусть 7 - вещественное число. Расписание п G n(N, t) будем называть допустимым относительно 7, если F(п) < 7. Опишем процедуру, которая строит допустимое относительно заданного значения 7 расписание п^ G n(N, t) либо устанавливает, что такого расписания не существует [11].
N
чтобы соблюдались неравенства (2). Полагаем i = max{rn,t}, Ni = {1}, Pi =
= max{r i, t} + Pj — P Ь п| = п0 , если max{r i, i} + p i — di > 7,11 п i = (1), если jeN
max{r i, i} + p i — d i < 7 для всех i = i,... Pi.
Пусть 1 < k < n и известны Nk, Pk, п£ для вс ex i = i,..., Pk. Полагаем Nk+i = Nk U {k + 1}, Pk+i = Pk — Pk+ i • Далее, для каждого i = i,..., Pk+ i строим расписания п',п4 , п^ + i G n(Nk+i, i) следующим образом.
Полагаем п' = п0, если F(k + 1,птах{гк+1'4}+Рк+1) > 7, и п' = (k + + 1, птах{гк+1'г}+Рк+1) в противном случае, п1 = п0, если F(п^, k + 1) > 7, и п% = (п|., k + 1) в противном случае.
Полагаем П = {п G {п',п4 } : п = п0}, пk+i = п0, если П = 0, и пk+i = = argmin{T(п)|п G П}, если П = 0.
При k = n полагаем п^ = п£, и процесс заканчивается.
Трудоемкость процедуры h составляет O(nP) операций [11].
Алгоритм 1 [8]. Полагается 7° = F(п^0). При помощи процедуры h, где 7 = y0, строите допустимое относнтельно 7° расписание п° G П(N, t).
Пусть уже построено расписание п^- i, и k > 1. Тогда расписание п^ строится следующим образом. Полагается 7k = 7k- i — 1, с помощью процедуры h, где 7 = y k, строится допустимое отно сительпо 7k расписан не п^ G П(N, t). Если п\ = п0 j то полагавтся п* = п^- i, и алгоритм закапчивает работу.
N
ваются ограничения (2). Тогда алгоритмом 1 трудоемкоети O(n2P + nPmaxP)
П( N, t)
3. Алгоритм решения
Идея предлагаемого в статье алгоритма заключается в следующем. Директивные сроки требований изменяются так. чтобы новые параметры требований удовлетворяли ограничениям (2). Далее задача решается с помощью алгоритма 1. Полученное расписание является приближенным расписанием с минимальным значением границы абсолютной погрешности оптимального значения целевой функции (1) на множестве оптимальных расписаний частного случая при условиях (2). Минимизация границы абсолютной погрешности обеспечивается использованием алгоритма изменения директивных сроков.
Пусть п*,п' £ n(N,t) — оптимальные расписания обслуживания требований множества N с момента времени t при директивных сроках dj и d j соответственно, то есть max L0 (п*) = F(п*), max L0 (п') = min maxjto (п) — d j}. Очевидно, jeN jeN пей(N,t) je^ j
что F(п') > F(п*).
Теорема 2 [12, с. 36]. Для задач минимизации максимального временного смещения с директивными сроками обслуживания требовании dj и dj, j £ N, имеет место F(п') < F(п*) + р, где р = maxido — d } — minido — d }.
jeN j jeN j
Из теоремы 2 следует, что значение целевой функции (1) оптимального расписания задачи с директивными сроками dj, j £ N, отличается от значения целевой
функции (1) оптимального расписания задачи с директивными сроками dj , j £ N, р
dj
алгоритмом, то полученное расписание будет приближенным для общей задачи с
оценкой абсолютной погрешности оптимального значения целевой функции (1), не р
р
задачу математического программирования.
N
нумерованы так, что
Г1 < Г2 < ■ ■ ■ < rn, (4)
причем
rj = rj+1 ^ dj > dj+i V j = 1,..., n — 1. (5)
Рассмотрим задачу:
min I maxido — d „•} — minido — d „•} I (6)
d l,d '2,..,d 'n\ jeN j jeN jJJ
d 1 > d 2 >■■■> dП, (7)
Решение задачи (6), (7) может быть найдено при помощи следующего алгорит-
N
N1 = N
Пусть уже построено множество Nk, k > 1. Если Nk = 0, то алгоритм закапчивает работу. В противном случае находим
lk = max{j £ Nk : dj = max dj}, (8)
ieNk
Nk = {j £ Nk : j < lk}, и полагаем d j = ddk для всex j £ Nk, Nk+i = Nk \ Nk ■
Лемма 1. Решение задачи (6), (7) отыскивается с помощью алгоритма 2 трудоемкости O(n log n) операции.
Доказательство. Оценим трудоемкость алгоритма 2. Для перенумерации требований понадобится O(nlogn) операций [13, гл. 5, § 5.3]. Поскольку Nk П
Nfc+i = 0, то для нахождения d j для всex j £ N потребуется не более O(n) операций. Следовательно, трудоемкость алгоритма 2 составляет O(n log n) операций.
Пусть число итераций алгоритма 2 равно m. Очевидно, что согласно алгоритму 2 значения d j для вс ex j = 1,..., n удовлетворяют ограничениям (7), то есть
d 1 >•••> dП, (9)
и, кроме того,
d j > dj, j =1, 2,...,n. (10)
Покажем, что
max{d „• — do} — min{d „• — do-} < max{d „• — do-} — min{d „• — do-} (11)
jew j J jew j jew j jew j
dj
доказано. Для этого выберем произвольно целые значения d j, j = 1,..., n, такие, что
d 1 >•••> dП, (12)
d j = dd j j = 1 , . . . , n
Очевидно, что max{do- — d } = — min{d — d,-} и min{do — d } = — max{d — d,-}
je N j je N j je N j je N j
для всех d i,..., d n. Отсюда
max{do — d „•} — min{do — d „•} = max{d „• — do-} — min{d „• — do-} (13)
je N j je N j je N j je N j
max{do — d } — min{do — d } = max{d — do} — min{d — do}. (14)
je N j je N j je N j je N j
N
вания li,..., 1m и множества Ni,..., Nm можно выбрать с помощью алгоритма 2. Очевидно, что Nk П Nk+1 = 0 и N U • • • U Nm = N. Отсюда
max{d— do} — min{d— do} = max (max{d— do}) — min (min{d— do}) (15) jew L j J jewL j J i<fc<mjeNfc j i<fc<mjewfc j
max{d— do} — min{d— do}) = max (max{d— do}) — min (min{d— do}). (16) jew L j J jewL j J i<fc<mjewfc j i<fc<mjewfc j
Обозначим через sk £ Nk такое требование, что
dSfc < dj V j £ Nfc, k =1,...,m. (17)
Согласно алгоритму 2
d j = d jfc = d;fc V j £ Nfc, k =1,...,m. (18)
Согласно выбору (8) требования lk с учетом (17), (18)
maxjd„• — dj} = dlk — dSk V к = 1,..., m, (19)
jeN
min {d j — dj} = 0 V k = 1,..., m, (20)
je N
и dlk > dj для всех j G NVk. Кроме того, в силу (12) d lfc < d j для всех j G NVk, k = 1, . . . , m
min {d — dj} = dlk — dlk V k = 1, . .., m. (21)
jeNkJ k
Пусть числа Cj, j = 1,..., n, таковы, что d j = d j + Cj. Тогда с учетом (18)
d j = difc + Cj V j G JVfc, к =1,...,m, (22)
am (12). (22) следует, что
i < j ^ C > Cj V i,j G NVfc, к = 1,..., m. (23)
Так как max{d „• — dj} > d „• — dj для всех j G NVk, то max{d „• — dj} > d s — dSk .
jeN jeNfc k
Отсюда с учетом (22)
max{d — dj }> dik + CSfc — dSfc V к = 1,...,m. (24)
je N
Из (19) (21). (24) следует, что
max{d„• — dj} — min {d„• — dj} — (maxjd„• — dj} — min {d„• — dj}) < dl — dlk — CSk
jeN jeNk jeN jeN k
для всех к = 1,..., m. Согласно выбор у (8) требований lk и sk имеем, что sk < lk.
Тогда из (22) с учетом (23) следует, что dlk < dlk + Csk для всex к = 1,..., m. Поэтому
max{d — dj} — min {d — dj} < max{d — dj} — min {d — dj} V к = 1,..., m
je N4 jeNk jeN4 J jeN J
и в силу (15), (16)
max{d „• — do-} — min{d „• — d,} < max{d „• — d,-} — min{d „• — d,}.
jeN j jeN j jeN j jeN j
d j = dd j
□
Опишем приближенный алгоритм решения общей задачи минимизации максимального временного смещения.
Алгоритм 3. Для требований множества N при помощи алгоритма 2 находим новые директивные сроки d j , j G N. Далее с помощью алгоритма 1 решаем задачу с условиями ^и dj = d j.
Теорема 3. При помощи алгоритма 3 трудоемкости O(n2P + npmaxP) операций строится расписание п' £ n(N, t) такое, что F(п') — F(п*) < р, где п* £ £ n*(N,t), ' '
d = max{do — d } — min{do — d },
jeN j jeN J j
причем p - минимальное значение разности
max{do — d } — min{do — d }
jeN j jeN j
no всем d 1;..., d n, удовлетворяющих неравенствам (7).
Доказательство. Из теоремы 2 имеем, что F(п') < F(п*) + р, где п*, п' £
£ n(N, t) - оптимальные расписания обслуживания требований множества N с t dj d j
следует, что минимальное значение р достигается при dj = dj, j = 1,...n.
Трудоемкость алгоритма 2 не превышает O(n log n) операций, а трудоемкость алгоритма 1 - O(n2P + npmaxP) операций, поэтому трудоемкость алгоритма 3 составляет 0(п2Р + пртзхР) операций. Теорема доказана. □
Таким образом, изменив директивные сроки исходной задачи и решая полученную задачу с помощью алгоритма 1 за O(n2P + npmaxP) операций, получим приближенное решение исходной задачи с минимальной величиной границы абсолютной погрешности оптимального значения целевой функции (1) на множестве оптимальных расписаний задачи при условиях (2).
Алгоритм 3 показал неплохие результаты при экспериментальном исследовании. Из 1000 проведенных экспериментов с размерностями 3 < n < 10 в 220 примерах было построено оптимальное расписание, в оставшихся 780 случаях F(пА3)/F(п*) < 1.06, где пА3 £ n(N,t) построено алгоритмом 3, п* £ П*(N,t). Минимальное значение отношения теоретически известной величины абсолютной погрешности р к практически полученному значению составило 1.3, максимальное 2.
Summary
O.N. Shulgina, N.K. Sherbakuva. Pseudopolynomial Approximation Algorithm for Solving the NP-Complete Problem of Minimizing Maximum Lateness.
The article states and proves pseudopolynomial complexity approximation algorithm for solving the scheduling theory known as NP-complete problem, namely minimizing maximum lateness on a single machine, interruption in job processing being banned. The bound value absolute error of criterion function for schedule constructed by algorithm is received.
NP - corn pi et в у complexity.
Литература
1. Bruker P., Lenstra J.K., Rinnooy Kan A.E.G. Complexity of machine scheduling problems. Amsterdam: Math. Cent. Afd. Math. Beslisk, 1975, BW 43. 29 p.
2. Лебединская Н.Б. Минимизация максимального отклонения в случае прерывания работ // Зап. науч. семинаров. Лепипгр. отд. Матем. ип-та АН СССР. 1978. С. 117 124.
3. Horn W.A. Some simple scheduling algorithms // Nav. Res. Log. Quart. 21. 1974. No 1. P. 177 185.
4. Lageweg B.J., Lenstra J.K., Rinnooy Кап A.H.G. Minimizing maximum lateness 011 one machine: computational experience and some applications // Statist. Neer. 1976. No 1. P. 25 41.
5. Jackson J.R. Scheduling a production line to minimize maximum tardiness // Res. Report 43, Manag. Sci. Res. Project. Los Angeles: Univ. of California; 1955.
6. Frederickson G.N. Scheduling unit-time tasks with integer release times and deadlines // Inform. Process. Lett. 1983. V. 16, No 4. P. 171 173.
7. Simons B.A. A fast algorithm for single processor scheduling // 19t.li Annu. Symp. Found. Comput. Sci., Ann. Arbor, Mich. N. Y., 1978. P. 246 252.
8. Шульгина O.H. Точный псевдополиномиальный алгоритм решения одной NP-трудпой задачи теории расписаний // Исслед. по прикл. матем. и ипформ. Казань: Казап. гос. уп-т, 2004. Вып. 25. С. 148 151.
9. Таиаев B.C., Гордой B.C., Шафраиский Я.М. Теория расписаний. Одностадийные системы. М.: Наука, 1984. 384 с.
NP
трудной задачи теории расписаний // Исслед. по прикл. матем. и ипформ. Казань: Казап. гос. уп-т, 2003. Вып. 24. С. 146 155.
11. Шульгина О.Н. Процедура построения допустимого расписания для задачи минимизации максимального временного смещения // Исслед. по прикл. матем. и ипформ. Казань: Изд-во Казап. матем. об-ва, 2001. Вып. 23. С. 150 158.
12. Лава/рев А.А. Эффективные алгоритмы решения некоторых задач теории расписаний для одного прибора с директивными сроками обслуживания требований: Дне. ... канд. физ.-мат. паук. Казань, 1989. 108 с.
13. Кнут Д. Искусство программирования для ЭВМ. Т. 3: Сортировка и поиск. М.: Мир, 1973. 348 с.
Поступила в редакцию 01.10.08
Шульгина Оксана Николаевна кандидат физико-математических паук, доцепт кафедры экономической кибернетики Казанского государственного университета. Е-шаП: ONSHULemail.ru, Oksana.ShulginaQksu.ru
Щербакова Наталья Казбековна кандидат физико-математических паук, доцепт кафедры экономической кибернетики Казанского государственного университета. Е-шаП: пМабO6O0m.aU. ги