Научная статья на тему 'Псевдополиномиальный приближенный алгоритм решения NP-полной задачи минимизации максимального временного смещения'

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

CC BY
316
54
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПИСАНИЕ / ВРЕМЕННОЕ СМЕЩЕНИЕ / ПСЕВДОПОЛИНОМИАЛЬНЫЙ АЛГОРИТМ / NP-ПОЛНОТА / ТРУДОЕМКОСТЬ

Аннотация научной статьи по математике, автор научной работы — Шульгина Оксана Николаевна, Щербакова Наталья Казбековна

В статье предлагается и обосновывается приближенный алгоритм псевдополиномиальной трудоемкости для решения известной NP-полной в сильном смысле задачи теории расписаний - минимизации максимального временного смещения для одного прибора при запрещении прерываний в обслуживании требований. Получена оценка абсолютной погрешности значения целевой функции расписания, построенного с помощью предложенного алгоритма.

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

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

УЧЕНЫЕ ЗАПИСКИ КАЗАНСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

Том 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) операций.

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

Пусть число итераций алгоритма 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. ги

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