Русская Википедия:Задачи упаковки

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:About Шаблон:Пары задач покрытия/упаковки

Задачи упаковки — это класс задач оптимизации в математике, в которых пытаются упаковать объекты в контейнеры. Цель упаковки — либо упаковать отдельный контейнер как можно плотнее, либо упаковать все объекты, использовав как можно меньше контейнеров. Многие из таких задач могут относиться к упаковке предметов в реальной жизни, вопросам складирования и транспортировки. Каждая задача упаковки имеет двойственную Шаблон:Не переведено 5, в которой спрашивается, как много требуется некоторых предметов, чтобы полностью покрыть все области контейнера, при этом предметы могут накладываться.

В задаче упаковки задано:

  • «контейнеры» (обычно одна двумерная или трёхмерная выпуклая область или бесконечная область)
  • множество «объектов», некоторые из которых или все должны быть упакованы в один или несколько контейнеров. Множество может содержать различные объекты с заданными размерами, или один объект фиксированных размеров, который может быть использован несколько раз.

Обычно в упаковке объекты не должны пересекаться и объекты не должны пересекать стены контейнера. В некоторых вариантах цель заключается в нахождении конфигурации, которая упаковывает один контейнер с максимальной плотностью. В более общем виде целью является упаковка всех объектов в как можно меньше контейнеровШаблон:Sfn. В некоторых вариантах наложение (объектов друг на друга и/или на границы контейнера) разрешается, но это наложение должно быть минимизировано.

Упаковка бесконечного пространства

Многие из этих задач, если размер контейнера увеличивается во всех направлениях, становятся эквивалентны задачам упаковки объектов как можно плотнее в бесконечном евклидовом пространстве. Эта задача относится к некоторому числу научных дисциплин и получает существенное внимание. Гипотеза Кеплера постулировала оптимальное решение упаковки шаров за сотни лет до того, когда была доказана Шаблон:Не переведено 5. Получили внимание другие формы, включая эллипсоиды Шаблон:Sfn, платоновы и архимедовы тела Шаблон:Sfn, в том числе Шаблон:Не переведено 5Шаблон:SfnШаблон:Sfn и димеры различных сфер Шаблон:Sfn.

Шестиугольная упаковка кругов

Файл:Circle packing (hexagonal).svg
Шестиугольная упаковка кругов на 2-мерной евклидовой плоскости.

Шаблон:Main Эти задачи математически отличаются от идей в теореме об упаковке кругов. Связанная задача упаковки кругов имеет дело с упаковкой кругов, возможно различных размеров, на поверхности, например, на плоскости или сфере.

Аналоги круга в других размерностях не могут быть упакованы с абсолютной эффективностью в размерностях, больших единицы (в одномерном пространстве аналог окружности — просто две точки). Таким образом, всегда останется незанятое пространство при упаковке исключительно кругами. Наиболее эффективный путь упаковки кругов, шестиугольная упаковка, даёт примерно 91 % эффективности[1].

Упаковка сфер в высших размерностях

Шаблон:Main

В трёхмерном пространстве гранецентрированная решётка даёт оптимальную упаковку сфер. Доказано, что 8-мерная решётка E8 и 24-мерная решётка Лича оптимальны в соответствующих пространствах.

Упаковка платоновых тел в трёхмерных пространствах

Кубы легко могут быть расположены в трёхмерном пространстве так, что они полностью заполнят пространство. Наиболее естественная упаковка — Шаблон:Не переведено 5. Никакой другой правильный многогранник не может заполнить полностью пространство, но некоторые результаты известны. Тетраэдр может дать упаковку по меньшей мере 85 %. Одна из лучших упаковок правильными додекаэдрами основывается на вышеупомянутой гранецентрированной кубической решётке.

Тетраэдры и октаэдры вместе могут заполнить всё пространство в конфигурации, известной как Шаблон:Не переведено 5.

Тело Оптимальная плотность решётчатой упаковки
икосаэдры 0.836357…Шаблон:Sfn
додекаэдры <math>(5 + \sqrt{5})/8 = 0.904508...</math> Шаблон:Sfn
октаэдры 18/19 = 0.947368…Шаблон:Sfn

Моделирование, совмещающее методы локального улучшения со случайно сгенерированными упаковками, наводит на мысль, что решётчатые упаковки для икосаэдра, додекаэдра и октаэдра являются оптимальными и в более широком классе всех упаковокШаблон:Sfn.

Упаковка в 3-мерные контейнеры

Сферы в евклидов шар

Задача нахождения наименьшего шара, в который можно упаковать без перекрытия <math>k</math> открытых единичных шаров, имеет простой и полный ответ в <math>n</math>-мерном евклидовом пространстве, если <math>\scriptstyle k\leq n+1</math>, а в бесконечномерном гильбертовом пространстве — без ограничений. Имеет смысл описать его здесь с целью показать общую проблему. В этом случае возможна конфигурация <math>k</math> попарно касающихся единичных шаров. Разместим центры в вершинах <math>a_1,..,a_k</math> правильного <math>\scriptstyle(k-1)</math> мерного симплекса с ребром 2. Это легко сделать, начав с ортонормированного базиса. Лёгкие вычисления показывают, что расстояние от любой вершины до центра тяжести равно <math>\scriptstyle\sqrt{2\big(1-\frac{1}{k} \big)}</math>. Кроме того, любая другая точка пространства имеет большее расстояние по меньшей мере до одной из <math>\scriptstyle k</math> вершин. В терминах включения шаров, <math>\scriptstyle k</math> открытых единичных шаров, имеющих центры в точках <math>\scriptstyle a_1,..,a_k</math>, попадают в шар радиуса <math>\scriptstyle r_k:=1+\sqrt{2\big(1-\frac{1}{k}\big)}</math>, который минимален для такой конфигурации.

Чтобы показать, что такая конфигурация оптимальна, допустим, что <math>\scriptstyle x_1,...,x_k</math> — центры <math>\scriptstyle k</math> непересекающихся открытых единичных шаров, находящихся в шаре с радиусом <math>\scriptstyle r</math> и центром в точке <math>\scriptstyle x_0</math>. Рассмотрим отображение из конечного множества <math>\scriptstyle\{x_1,..x_k\}</math> в <math>\scriptstyle\{a_1,..a_k\}</math>, сопоставляющее <math>\scriptstyle x_j</math> в <math>\scriptstyle a_j</math> для всех <math>\scriptstyle 1\leq j\leq k</math>. Поскольку для всех <math>\scriptstyle 1\leq i<j\leq k</math>, <math>\scriptstyle \|a_i-a_j\|=2\leq\|x_i-x_j\|</math>, это отображение 1-липшицево и по теореме Киршбрауна оно распространяется до глобально определённого 1-липшицева отображения. В частности, существует точка <math>\scriptstyle a_0</math>, такая что для всех <math>\scriptstyle1\leq j\leq k</math> имеем <math>\scriptstyle\|a_0-a_j\|\leq\|x_0-x_j\|</math>, а следовательно, <math>\scriptstyle r_k\leq1+\|a_0-a_j\|\leq 1+\|x_0-x_j\|\leq r</math>. Это показывает, что существуют <math>\scriptstyle k</math> непересекающихся единичных открытых шаров в шаре радиусом <math>\scriptstyle r</math> тогда и только тогда, когда <math>\scriptstyle r\geq r_k</math>. Заметим, что в случае бесконечномерного гильбертова пространства отсюда следует существование бесконечного числа непересекающихся единичных открытых шаров внутри шара радиуса <math>\scriptstyle r</math> тогда и только тогда, когда <math>\scriptstyle r\geq 1+\sqrt{2}</math>. Например, единичные шары с центрами в <math>\scriptstyle\sqrt{2}e_j</math>, где <math>\scriptstyle\{e_j\}_j</math> — ортонормальный базис, не пересекаются и содержатся в шаре радиуса <math>\scriptstyle 1+\sqrt{2}</math> с центром в начале координат. Более того, для <math>\scriptstyle r<1+\sqrt{2}</math> максимальное число непересекающихся открытых единичных шаров внутри шара радиуса r равно <math>\scriptstyle\big\lfloor \frac{2}{2-(r-1)^2}\big\rfloor</math>.

Сферы в параллелепипед

Задача определяет число сферических объектов заданного диаметра d, которые могут быть упакованы в прямоугольный параллелепипед размера a × b × c.

Одинаковые сферы в цилиндр

Задача определяет минимальную высоту h цилиндра с заданным радиусом R, в который упаковано n одинаковых шаров радиуса r (< R) Шаблон:Sfn.

Упаковка в 2-мерные контейнеры

Упаковка кругов

Шаблон:Main

Круги в круге

Файл:Disk pack10.svg
Оптимальная упаковка 10 кругов в круге

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

Оптимальные решения были доказаны для n≤13 и для n=19.

Круги в квадрате

Файл:Circles packed in square 15.svg
Оптимальная упаковка 15 кругов в квадрате

Шаблон:Main Упаковка n единичных кругов в как можно меньший квадрат. Задача тесно связана с распределением точек в единичном квадрате с целью достичь наибольшего минимального расстояния dn между точкамиШаблон:Sfn. Для преобразования двух этих формулировок задачи размер квадрата единичных кругов будет L=2+2/dn.

Оптимальные решения были доказаны для n≤30Шаблон:Sfn.

Круги в равнобедренном прямоугольном треугольнике

Файл:6 cirkloj en 45 45 90 triangulo.png
Оптимальная упаковка 6 кругов в равнобедренном прямоугольном треугольнике

Шаблон:Main Упаковка n единичных кругов в как можно меньший Шаблон:Не переведено 5. Хорошие приближения известны для n<300 Шаблон:Sfn.

Круги в правильном треугольнике

Файл:5 cirkloj en 60 60 60 triangulo v1.png
Оптимальная упаковка 5 кругов в правильном треугольнике

Шаблон:Main

Упаковка n единичных кругов в как можно меньший правильный треугольник. Оптимальные решения известны для n<13, а для n<28 высказаны гипотезыШаблон:Sfn.

Упаковка квадратов

Квадраты в квадрате

Файл:10 kvadratoj en kvadrato.svg
Оптимальная упаковка 10 квадратов в квадрате

Шаблон:Main Упаковка n единичных квадратов в как можно меньший квадрат.

Оптимальные решения доказаны для n=1-10, 14-16, 23-25, 34-36, 62-64, 79-81, 98-100 и любого полного квадрата Шаблон:Sfn.

Незаполненное пространство асимптотически равно O(a7/11) Шаблон:Sfn.

Квадраты в круге

Упаковка n квадратов в как можно меньший круг.

Минимальные решения:[2]

Число квадратов Радиус окружности
1 0.707…
2 1.118…
3 1.288…
4 1.414…
5 1.581…
6 1.688…
7 1.802…
8 1.978…
9 2.077…
10 2.121…
11 2.214…
12 2.236…

Упаковка прямоугольников

Одинаковые прямоугольники в прямоугольнике

Задача упаковки множественных копий одного прямоугольника размера (l,w) с разрешением поворота на 90° в больший прямоугольник размера (L,W) имеет несколько приложений, таких как загрузка коробок на поддоны и укладка древесно-стружечных плит.

Например, можно упаковать 147 прямоугольников размера 137x95 в прямоугольник размера 1600x1230 Шаблон:Sfn.

Различные прямоугольники в прямоугольнике

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

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

Связанные задачи

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

Существует важная теорема о замощении прямоугольников (и прямоугольных параллелепипедов) в прямоугольники (прямоугольные параллелепипеды) без промежутков и наложений:

Прямоугольник a × b может быть упакован в ленту 1 × n тогда и только тогда, когда n делится на a или n делится на b Шаблон:SfnШаблон:Sfn
Теорема де Брёйна: прямоугольный параллелепипед может быть упакован Шаблон:Не переведено 5 a × a b × a b c, если параллелепипед имеет размеры a p × a b q × a b c r для некоторых натуральных чисел p, q, r (то есть параллелепипед кратен кирпичу.) Шаблон:Sfn

Изучение замощений плитками полимино в значительной степени касается двух классов задач — замощение прямоугольника конгруэнтными плитками и замощение набором плиток n-полимино прямоугольника.

Классическая головоломка второго вида — расположить все двенадцать плиток пентамино в прямоугольниках размером 3×20, 4×15, 5×12 или 6×10.

Упаковка неправильных объектов

Упаковка неправильных объектов является задачей, решение которой вряд ли возможно в замкнутой (аналитической) форме. Однако в науке об окружающем мире задача весьма важна. Например, неправильные частички почвы упаковываются различным образом при изменении размеров и формы частичек, что ведёт к существенным последствиям для растений по формированию корней и возможности перемещения воды в почве.[3]

См. также

Шаблон:Кол

Шаблон:Кол

Примечания

Шаблон:Примечания

Литература

Ссылки

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

Шаблон:Задачи упаковки Шаблон:Геометрические мозаики Шаблон:Rq