Вероятностный анализ различных шельфовых алгоритмов упаковки прямоугольников в полосу1
H.H. Кузюрин, А.И. Поспелов, {nnkuz,ap}@ispras.ru ИСП РАН, 109004, Москва, Б.Коммунистическая, 25
Аннотация. Рассматривается задача упаковки множества прямоугольников в вертикальную полосу (strip packing problem). Изучается важный подкласс онлайновых алгоритмов для этой задачи — так называемые шельфовые алгоритмы. Предложен общий метод вероятностного анализа шельфовых алгоритмов, позволяющий для многих шельфовых алгоритмов оценивать математическое ожидание незаполненной площади, в предположении, что высота и ширина каждого прямоугольника являются случайными величинами.
1. Введение
В задаче упаковки в полосу (strip packing) цель состоит в упаковке множества прямоугольников в вертикальную полосу единичной ширины так, что стороны прямоугольников должны быть параллельны сторонам полосы (вращения запрещены). При анализе по худшему случаю обычно минимизируют необходимую для упаковки высоту полосы, а при анализе в среднем — математическое ожидание незаполненной площади (от нижней границы прямоугольников в упаковке до верхней) [8, 3]. Эта задача возникает во многих контекстах и имеет много приложений, в частности, при разработке СБИС, построении оптимальных расписаний для кластеров и т.д. Ее частными случаями являются задача упаковки в контейнеры (bin packing) и задача об то-процессорном расписании.
'Работа выполнена при поддержке РФФИ, проект05-01-00798.
При анализе on-line версии задачи упаковки в полосу в [ ] были введены так называемые шельфовые алгоритмы. Упаковка состоит из серии слоев (шельфов). Высоты слоев выбираются из множества {?’„}, где rn = (1 — 6)п, S — некоторый параметр, 0 < 6 < 1. Прямоугольники упаковываются в минимальные по высоте шельфы, в которые они входят, т.е. если высота прямоугольника 1ц, упаковываем его в шельфы высоты г„, такой что ?’n+i < h, < г„. Упаковка в слои заданной ширины и порождение новых шельфов осуществляется некоторой одномерной эвристикой упаковки в контейнеры.
Мы будем называть алгоритмом А(Е) шельфовый алгоритм упаковки, который на втором этапе использует некоторую произвольную эвристику Е. Цель работы состоит в описании общего метода вероятностного анализа шельфовых алгоритмов А(Е) , позволяющего для многих шельфовых алгоритмов оценивать ожидаемую незаполненную площадь, используя соответствующие результаты для одномерной эвристики Е.
Мы будем рассматривать вероятностное распределение U ([0,1]) — равномерное распределение на отрезке [0,1]. Всюду в дальнейшем будем считать, что для каждого прямоугольника высота 1ц и ширина га, имеют равномерное распределение на отрезке [0,1]. Будем предполагать, что все случайные величины га,, hi — независимы в совокупности. В дальнейшем будем обозначать через £ математическое ожидание площади, не заполненной прямоугольниками, между основанием полосы и верхней границей самого верхнего шельфа. Будем предполагать, что число прямоугольников N — бесконечно большая величина (N —> оо). Отметим, что вероятностному анализу различных эвристик одно и двумерной упаковки посвящено много работ [ ,3,4, 5, 6,7 ].
Пусть для одномерной эвристики Е выполнено следующее соотношение для математического ожидания разности
где L — число шельфов, в которые эвристика Е упаковывает набор отрез-
ков {їй,;}.
Теорема 1. Пусть для Е выполнено соотношение: /(ЛГ) = ІV"log,3ІV, где О < а < 1, /3 > 0. Тогда для алгоритма А(Е) справедлива следующая оценка:
Отметим, в частности, что для трех важных эврнстнк упаковки в контейнеры известно: для First Fit (FF): f(N) = iV2/3, для Best Fit (BF):
f(N) = iV1/2(logiV)3/4, H для нанлучшей онлайновой эврнстнкн (best
on-line) BO: f{N) = (NlogN)x/2 [ ]. Поэтому из теоремы сразу выте-
кает, что для шельфового алгоритма A(FF) £ = 0(N3/4), для A(BF) £ = О (Ж2/3 (log Ж)1/2) [ ], для А(ВО) £ = О (Ж2/3 (log Ж)1/3). Первые два соотношения дают ответ на вопрос нз [ ].
Известно, что если отказаться от требования, чтобы алгоритм работал в режиме on-line, то, как показано в [ ], можно достичь опенки средней величины незаполненной площади £ = О (N1/2 logAT). Открытым вопросом является достижимость подобной опенки в классе on-line алгоритмов.
Мы показываем, что в классе шельфовых алгоритмов (которые образуют важный подкласс онлайновых алгоритмов) такой опенки достичь невозможно. Более точно справедлива следующая
Теорема 2 .Для любого шельфового алгоритма с произвольной одномерной эвристикой упаковки в контейнеры при распределении w,: и по закону U ([0,1]) справедлива следующая оценка: при N5 ^ оо
Выбирая 5 = N(a х)/(2 log^2 N, получаем оценку £ = О (N1/{2-a) log^2-“» N) .
при 5 1 = О, (ЛГ)
£ = П(ЛГ).
Отсюда, в частности, вытекает, что в классе шельфовых алгоритмов нельзя по порядку улучшить оценку
2. Доказательство теоремы 1
Пусть зафиксированы N —число прямоугольников, и {?’п}^=0 — высоты шельфов. Каждый ¡-й прямоугольник определён своей высотой 1ц и шириной га.,, которые являются независимыми в совокупности случайными величинами. Для краткости будем обозначать через Ь набор (/?•!,... /?лг), а через лу — набор (г«1,... гул?). Пусть ЛГ„ обозначает число прямоугольников, попавших в шельфы высоты г„, т.е.
Заметим, что случайная величина ЛГ„ не зависит от w, а зависит только от Ь.
соты г,,. Так как к, имеет равномерное распределение то случайная величина ЛГ„ имеет биномиальное распределение, такое что Р{Л^„ = А;} = (*1)рк( 1 — р)м~к, где р = О < к < N. Пусть 5„ — число шельфов высоты гп, образо-
вавшихся в процессе упаковки.
Используя для условного математического ожидания Е(Х|У) равенство ЕХ = Е(Е(Х|У)), оценим ожидаемую пустую площадь:
Учитывая предположение теоремы об используемой эвристике и оценке для нее математического ожидания незаполненной площади, получаем:
Е = О (V2/3)
Пусть {го™, — набор прямоугольников, упакованных в шельфы вы
ОО .IV ОО дт- ОО ДТ-
Е ^ /-, >■, ^ «•:/•: =Е^Г„5„--=Е^Г„Е(5„|Ь)--. (1)
Откуда, ввиду независимости ю™ от Ь, получаем оценку для числа шельфов
Е(5„|Ь) =Е
Ь | + О (ЛГ“ 1о/ ЛГ„) =^+0 (лГ“ 1о^ ЛГ„) .
Используя это соотношение, получим, что математическое ожидание пустой площади равно
т = ЕЕ'
гг=0 гг=0
аг(г„ - г„+1;
00 ЛГ 00 Г ЛГ
Е ^ Г„ Е (5„ | Ь) - - = Е ]Г Г„ -^ + 0 (ЛГ“ 1о/ ЛГ„)
Ж
Т
£
гг=0
+ Ег„о(л^1о/ЛГ„)
В последнем равенстве мы использовали очевидное соотношение:
ЕЖ„ = ЛГ(?’„ — ?’п+1). Учитывая, что гп = (1 — 6)п, 0 < 6 < 1, получаем для некоторой константы с > 0:
я V-» N N
Е < с 1о/ ^ Е( 1 - ^ Е + 2(23*) - Т•
Для получения верхней опенки воспользуемся неравенством Иенсена
ЕЩ < (ЕЖ,,)".
Поскольку]? = гп — гп+1 = (1 — 6)п6 н ЕЖ„ = Ир, то Е(ЛГ„)“ < (ЛГр)“. Тогда оценим сумму в (2), обозначив ее через Ех.
оо оо
Е1 < ^(1-<^)"ЕЛ/'“ < ^(1 — й')п(Ж(1 — 6)п6)а.
п=О п=О
Далее, имеем
ОО оо
£х < £(1 “ <^)"(ЛГ(1 - <*)"<*)“ ^ Е(1 “ д')П(^( 1 - ¿Т<5)“ =
п=0 гг=0
(ЛГ£)“
_ 1-(1-г)“+1-
(2)
Таким образом, получаем оценку для £.
Выбирая 6 = \о^^2 ЛГ, получаем оценку
£ = О (Ж1/(2-а) 1оё(^/(2-“))
3. Доказательство теоремы 2
Рассмотрим произвольный шельфовый алгоритм упаковки. Будем использовать те же обозначения, что и в доказательстве теоремы 1. Пусть 5„ — число шельфов высоты г„, образовавшихся в процессе упаковки рассматриваемым шельфовым алгоритмом.
Используя известную оценку для оптимального алгоритма заполнения одномерного контейнера (см. [ ]), получаем:
Откуда, ввиду независимости го" от Ь, получаем оценку для числа шельфов
Подставляя это выражение в равенство (1), получим, что математическое ожидание пустой площади равно
І= 1
00 1\Т 00 Г 1\Т
Е ]Г Г„ Е (5„ І її) - - = Е ]Г Г„ -у- + п (
+ п (\/ж)
N
~4
п=0 гг=0
_ \ ' №(гп — ?’„+! ) -2., Гп о
+ Е?'ПП
В последнем равенстве мы нспользовалн очевидное соотношение:
ЕЖ„ = ЛГ(?’„ — ?’п+х). Учитывая, что?’,, = (1 — 6)п, 0 < 6 < 1, получаем:
Е=£(1-г)"Е!1И+2^-т-
гг=0 4 7
Получим теперь оценку снизу Имеем (учитывая только первую сумму):
£>Х>-дУ £ аД/2(1У(1 ~Р)м~к^
П=о к: \к-Мр\<2ЫМр^Мр ^ '
°° /ЛГ\
> £(1-дТ№-21пл^у/ад1/2 Е (д.¡р'^1-?)1
к: \k—Np\<2\nNp^/Np
/А Т\
\Ы-к
\ к }у ^~Р
п—0 к: ¡к — Мр|<2 1п N р\/ N р
Используем известное неравенство для вероятностей больших уклонений
[12]: для любого 0 < а < 1
£ - 2е~ЛГр“2/3-_ ЛГ I ЛГ пи ' '
(3)
к: \к—Мр\>Мра
Пусть Со больший нз двух корней уравнения
\/С = 41пС.
Тогда, если Жр > Со, то
2е-1п2ЛГр <
ЛГр — 21п Выбрав а = , получим:
£ > 1 - 2е-1п2лГр.
1 -
к: | А;—Ир\ >2 1п Ирл/Ыр
Используя полученные неравенства и вспоминая, чтор = ¿(1 — 6)п, получаем для некоторой константы с' > 0:
£>с' 22 (1-<5)п(Мр)1/2 = с,(Ш)1''2 22 (1-й')(3/2)п-
{п| Мр>Со} {п| Мр>Со}
Условие Жр > Со равносильно следующему условию на п
\nN6-\nCo П~ —1x1(1 — 5) '
Обозначая 1 через К и преобразуя сумму, получим
К о / о / 1п ^¿-1п с о
Е > ¿(Ш)1/2^1 ~ ¿)(3/2)п > ЛЫб)1'21 ~ (1 ~ Й) _ ^
п=0 ^ '
Далее имеем:
1 — (1 — (5)3/2( 1ПЛп(~1-Д)0 ) 1 - ('1п^1')3/2
Е > С/(^)3/2 1_(1_Д)3/3--- ^ С'^112 I _ (1 ^)3/а ^
^ ;М1/2 (л (\П СЛ3/2^
- С ¿1/2 ^
При N5 —> оо имеем
/Ж1/2\
Е = П (¿1ж) •
Для оставшейся части суммы справедливо неравенство:
N ( 1 Л N ( д \ N _
> —д.
2 V2 — ^ 2/ 4 \2-6J ~ 8
Таким образом, получаем общую нижнюю оценку:
/Л/1/2 £ = п(_+Ж).
Нетрудно проверить, что минимум достигается при 6 = N г/3, что дает нижнюю оценку
Е = П (ж2/3) .
Осталось рассмотреть случай 6 1 = S1(N). Имеем для некоторой константы с > 0:
ОО
1/5
N
Е > с]Г(1 -ёГЕМ^2 > с]Г( 1 -¿)1/5X>1/2L W >
гг=0
гг=0
fc=l
1/5
> - 5)”(1 - 5(1 - >
п=0
1/5
> се-Ц 1 - ^(1 - > се-2Ж(1 - б)1*-1 = ЩЫ).
п=0
Доказательство теоремы 2 завершено.
Литература
[1] B.S. Baker, J.S. Schwartz, Shelf algorithms for two dimensional packing problems. SIAMJ. Computing, (1983) 12, 508-525 18
[2] E.G. Coffman, Jr., C. Courcoubetis, M.R. Garey, D.S. Johnson, P.W. Shor, R.R. Weber, M. Yannakakis, Perfect packing theorems and the average-case bahavior of optimal and online bin packing, SIAM Review, (2002) 44 (1), 95— 108. 18
[3] RM. Karp, M. Luby, A. Marchetti-Spaccamela, A probabilistic analysis of multidimensional bin packing problems, In: Proc. Annu. ACM Symp. on Theorty of Computing, 1984, pp. 289-298. 17, 18, 19
[4] P. W. Shor, The average-case analysis of some on-line algorithms for bin packing. Combinatorica (1986) 6, 179-200. 18
[5] P. W. Shor, How to pack better than Best Fit: Tight bounds for average-case on-line bin packing, Proc. 32nd Annual Symposium on Foundations of Computer Science, (1991) pp. 752-759. 18, 19
[6] E. G. Coffman, Jr., D. S. Johnson, P. W. Shorand G. S. Lueker. Probabilistic analysis of packing and related partitioning problems, Statistical Science (1993)8,40-47. 18, 19,22
[7] E. G. Coffman, Jr., P. W. Shor. Packings in two dimensions: Asymptotic average-case analysis of algorithms, Algorithmica (1993) 9, 253-277. 18
[8] J. Csirik, G.J. Woeginger, Shelf Algorithms for On-Line Strip Packing. Inf. Process. Lett. (1997), 63(4), 171-175. 17
[9] Кузюрнн H.H., Поспелов А.И., Вероятностный анализ шельфовых алгоритмов упаковки прямоугольников в полосу, Дискретная математика, 2006, т. 18, N 1, с-76-90. 19
[10] J. Csirik, D.S. Johnson, С. Kenyon, J.B. Orlin, P.W. Shor, R.R. Weber, On the Sum-of-Squares Algorithm for Bin Packing, Proc. Annu. ACM Symp. on Theory of Computing, Portland, Oregon, May 21-23, 2000, pp. 208-217.
[И] C. Kenyon and E. Remila, A near optimal solution to a two-dimensional cutting stock problem, Mathematics of Operations Research, (2000) 25, 645-656.
[12] R. Motwani and P. Raghavan, Randomized algorithms, Cambridge Univ. Press, 1995. 23
[13] Ee-Chien Chang, W. Wang, M.S. Kankanhalli, Multidimensional online bin-packing: An algorithm and its average-case analysis, Information Processing Letters, 48, 1993, 121-125.