Задачи упаковки — это класс задач оптимизации в математике, в которых пытаются упаковать объекты в контейнеры. Цель упаковки — либо упаковать отдельный контейнер как можно плотнее, либо упаковать все объекты, использовав как можно меньше контейнеров. Многие из таких задач могут относиться к упаковке предметов в реальной жизни, вопросам складирования и транспортировки. Каждая задача упаковки имеет двойственную задачу о покрытии, в которой спрашивается, как много требуется некоторых предметов, чтобы полностью покрыть все области контейнера, при этом предметы могут накладываться.
 В задаче упаковки задано:
 Обычно в упаковке объекты не должны пересекаться и объекты не должны пересекать стены контейнера. В некоторых вариантах цель заключается в нахождении конфигурации, которая упаковывает один контейнер с максимальной плотностью. В более общем виде целью является упаковка всех объектов в как можно меньше контейнеров. В некоторых вариантах наложение (объектов друг на друга и/или на границы контейнера) разрешается, но это наложение должно быть минимизировано.
 Многие из этих задач, если размер контейнера увеличивается во всех направлениях, становятся эквивалентны задачам упаковки объектов как можно плотнее в бесконечном евклидовом пространстве. Эта задача относится к некоторому числу научных дисциплин и получает существенное внимание. Гипотеза Кеплера постулировала оптимальное решение упаковки шаров за сотни лет до того, когда была доказана Томасом Хейлзом. Получили внимание другие формы, включая эллипсоиды , платоновы и архимедовы тела , в том числе тетраэдры и димеры различных сфер .
 Эти задачи математически отличаются от идей в теореме об упаковке кругов. Связанная задача упаковки кругов имеет дело с упаковкой кругов, возможно различных размеров, на поверхности, например, на плоскости или сфере.
 Аналоги круга в других размерностях не могут быть упакованы с абсолютной эффективностью в размерностях, больших единицы (в одномерном пространстве аналог окружности — просто две точки). Таким образом, всегда останется незанятое пространство при упаковке исключительно кругами. Наиболее эффективный путь упаковки кругов, шестиугольная упаковка, даёт примерно 91 % эффективности.
 В трёхмерном пространстве гранецентрированная решётка даёт оптимальную упаковку сфер. Доказано, что 8-мерная решётка E8 и 24-мерная решётка Лича оптимальны в соответствующих пространствах.
 Кубы легко могут быть расположены в трёхмерном пространстве так, что они полностью заполнят пространство. Наиболее естественная упаковка — кубические соты*. Никакой другой правильный многогранник не может заполнить полностью пространство, но некоторые результаты известны. Тетраэдр может дать упаковку по меньшей мере 85 %. Одна из лучших упаковок правильными додекаэдрами основывается на вышеупомянутой гранецентрированной кубической решётке.
 Тетраэдры и октаэдры вместе могут заполнить всё пространство в конфигурации, известной как тетраэдрально-октаэдральная мозаика.
 Моделирование, совмещающее методы локального улучшения со случайно сгенерированными упаковками, наводит на мысль, что решётчатые упаковки для икосаэдра, додекаэдра и октаэдра являются оптимальными и в более широком классе всех упаковок.
 Задача нахождения наименьшего шара, в который можно упаковать без перекрытия 
  
    
      
        k
      
    
    {\displaystyle k}
  
 открытых единичных шаров, имеет простой и полный ответ в 
  
    
      
        n
      
    
    {\displaystyle n}
  
-мерном евклидовом пространстве, если 
  
    
      
        
          k
          ≤
          n
          +
          1
        
      
    
    {\displaystyle \scriptstyle k\leq n+1}
  
, а в бесконечномерном гильбертовом пространстве — без ограничений. Имеет смысл описать его здесь с целью показать общую проблему. В этом случае возможна конфигурация 
  
    
      
        k
      
    
    {\displaystyle k}
  
 попарно касающихся единичных шаров. Разместим центры в вершинах 
  
    
      
        
          a
          
            1
          
        
        ,
        .
        .
        ,
        
          a
          
            k
          
        
      
    
    {\displaystyle a_{1},..,a_{k}}
  
 правильного 
  
    
      
        
          (
          k
          −
          1
          )
        
      
    
    {\displaystyle \scriptstyle (k-1)}
  
 мерного симплекса с ребром 2. Это легко сделать, начав с ортонормированного базиса. Лёгкие вычисления показывают, что расстояние от любой вершины до центра тяжести равно 
  
    
      
        
          
            
              2
              
                
                  (
                
              
              1
              −
              
                
                  1
                  k
                
              
              
                
                  )
                
              
            
          
        
      
    
    {\displaystyle \scriptstyle {\sqrt {2{\big (}1-{\frac {1}{k}}{\big )}}}}
  
. Кроме того, любая другая точка пространства имеет большее расстояние по меньшей мере до одной из 
  
    
      
        
          k
        
      
    
    {\displaystyle \scriptstyle k}
  
 вершин. В терминах включения шаров, 
  
    
      
        
          k
        
      
    
    {\displaystyle \scriptstyle k}
  
 открытых единичных шаров, имеющих центры в точках 
  
    
      
        
          
            a
            
              1
            
          
          ,
          .
          .
          ,
          
            a
            
              k
            
          
        
      
    
    {\displaystyle \scriptstyle a_{1},..,a_{k}}
  
, попадают в шар радиуса 
  
    
      
        
          
            r
            
              k
            
          
          :=
          1
          +
          
            
              2
              
                
                  (
                
              
              1
              −
              
                
                  1
                  k
                
              
              
                
                  )
                
              
            
          
        
      
    
    {\displaystyle \scriptstyle r_{k}:=1+{\sqrt {2{\big (}1-{\frac {1}{k}}{\big )}}}}
  
, который минимален для такой конфигурации.
 Чтобы показать, что такая конфигурация оптимальна, допустим, что 
  
    
      
        
          
            x
            
              1
            
          
          ,
          .
          .
          .
          ,
          
            x
            
              k
            
          
        
      
    
    {\displaystyle \scriptstyle x_{1},...,x_{k}}
  
 — центры 
  
    
      
        
          k
        
      
    
    {\displaystyle \scriptstyle k}
  
 непересекающихся открытых единичных шаров, находящихся в шаре с радиусом 
  
    
      
        
          r
        
      
    
    {\displaystyle \scriptstyle r}
  
 и центром в точке 
  
    
      
        
          
            x
            
              0
            
          
        
      
    
    {\displaystyle \scriptstyle x_{0}}
  
. Рассмотрим отображение из конечного множества 
  
    
      
        
          {
          
            x
            
              1
            
          
          ,
          .
          .
          
            x
            
              k
            
          
          }
        
      
    
    {\displaystyle \scriptstyle \{x_{1},..x_{k}\}}
  
 в 
  
    
      
        
          {
          
            a
            
              1
            
          
          ,
          .
          .
          
            a
            
              k
            
          
          }
        
      
    
    {\displaystyle \scriptstyle \{a_{1},..a_{k}\}}
  
, сопоставляющее 
  
    
      
        
          
            x
            
              j
            
          
        
      
    
    {\displaystyle \scriptstyle x_{j}}
  
 в 
  
    
      
        
          
            a
            
              j
            
          
        
      
    
    {\displaystyle \scriptstyle a_{j}}
  
 для всех 
  
    
      
        
          1
          ≤
          j
          ≤
          k
        
      
    
    {\displaystyle \scriptstyle 1\leq j\leq k}
  
. Поскольку для всех 
  
    
      
        
          1
          ≤
          i
          <
          j
          ≤
          k
        
      
    
    {\displaystyle \scriptstyle 1\leq i<j\leq k}
  
, 
  
    
      
        
          ‖
          
            a
            
              i
            
          
          −
          
            a
            
              j
            
          
          ‖
          =
          2
          ≤
          ‖
          
            x
            
              i
            
          
          −
          
            x
            
              j
            
          
          ‖
        
      
    
    {\displaystyle \scriptstyle \|a_{i}-a_{j}\|=2\leq \|x_{i}-x_{j}\|}
  
, это отображение 1-липшицево и по теореме Киршбрауна оно распространяется до глобально определённого 1-липшицева отображения. В частности, существует точка 
  
    
      
        
          
            a
            
              0
            
          
        
      
    
    {\displaystyle \scriptstyle a_{0}}
  
, такая что для всех 
  
    
      
        
          1
          ≤
          j
          ≤
          k
        
      
    
    {\displaystyle \scriptstyle 1\leq j\leq k}
  
 имеем 
  
    
      
        
          ‖
          
            a
            
              0
            
          
          −
          
            a
            
              j
            
          
          ‖
          ≤
          ‖
          
            x
            
              0
            
          
          −
          
            x
            
              j
            
          
          ‖
        
      
    
    {\displaystyle \scriptstyle \|a_{0}-a_{j}\|\leq \|x_{0}-x_{j}\|}
  
, а следовательно, 
  
    
      
        
          
            r
            
              k
            
          
          ≤
          1
          +
          ‖
          
            a
            
              0
            
          
          −
          
            a
            
              j
            
          
          ‖
          ≤
          1
          +
          ‖
          
            x
            
              0
            
          
          −
          
            x
            
              j
            
          
          ‖
          ≤
          r
        
      
    
    {\displaystyle \scriptstyle r_{k}\leq 1+\|a_{0}-a_{j}\|\leq 1+\|x_{0}-x_{j}\|\leq r}
  
. Это показывает, что существуют 
  
    
      
        
          k
        
      
    
    {\displaystyle \scriptstyle k}
  
 непересекающихся единичных открытых шаров в шаре радиусом 
  
    
      
        
          r
        
      
    
    {\displaystyle \scriptstyle r}
  
 тогда и только тогда, когда 
  
    
      
        
          r
          ≥
          
            r
            
              k
            
          
        
      
    
    {\displaystyle \scriptstyle r\geq r_{k}}
  
. Заметим, что в случае бесконечномерного гильбертова пространства отсюда следует существование бесконечного числа непересекающихся единичных открытых шаров внутри шара радиуса 
  
    
      
        
          r
        
      
    
    {\displaystyle \scriptstyle r}
  
 тогда и только тогда, когда 
  
    
      
        
          r
          ≥
          1
          +
          
            
              2
            
          
        
      
    
    {\displaystyle \scriptstyle r\geq 1+{\sqrt {2}}}
  
. Например, единичные шары с центрами в 
  
    
      
        
          
            
              2
            
          
          
            e
            
              j
            
          
        
      
    
    {\displaystyle \scriptstyle {\sqrt {2}}e_{j}}
  
, где 
  
    
      
        
          {
          
            e
            
              j
            
          
          
            }
            
              j
            
          
        
      
    
    {\displaystyle \scriptstyle \{e_{j}\}_{j}}
  
 — ортонормальный базис, не пересекаются и содержатся в шаре радиуса 
  
    
      
        
          1
          +
          
            
              2
            
          
        
      
    
    {\displaystyle \scriptstyle 1+{\sqrt {2}}}
  
 с центром в начале координат. Более того, для 
  
    
      
        
          r
          <
          1
          +
          
            
              2
            
          
        
      
    
    {\displaystyle \scriptstyle r<1+{\sqrt {2}}}
  
 максимальное число непересекающихся открытых единичных шаров внутри шара радиуса r равно 
  
    
      
        
          
            
              ⌊
            
          
          
            
              2
              
                2
                −
                (
                r
                −
                1
                
                  )
                  
                    2
                  
                
              
            
          
          
            
              ⌋
            
          
        
      
    
    {\displaystyle \scriptstyle {\big \lfloor }{\frac {2}{2-(r-1)^{2}}}{\big \rfloor }}
  
.
 Задача определяет число сферических объектов заданного диаметра d, которые могут быть упакованы в прямоугольный параллелепипед размера a × b × c.
 Задача определяет минимальную высоту h цилиндра с заданным радиусом R, в который упаковано n одинаковых шаров радиуса r (< R) .
 Упаковка n единичных кругов в как можно меньшую окружность. Задача тесно связана с распределением точек в единичной окружности с целью достичь наибольшего минимального расстояния dn между точками.
 Оптимальные решения были доказаны для n≤13 и для n=19.
 Упаковка n единичных кругов в как можно меньший квадрат. Задача тесно связана с распределением точек в единичном квадрате с целью достичь наибольшего минимального расстояния dn между точками. Для преобразования двух этих формулировок задачи размер квадрата единичных кругов будет L=2+2/dn.
 Оптимальные решения были доказаны для n≤30.
 Упаковка n единичных кругов в как можно меньший равнобедренный прямоугольный треугольник. Хорошие приближения известны для n<300 .
 Упаковка n единичных кругов в как можно меньший правильный треугольник. Оптимальные решения известны для n<13, а для n<28 высказаны гипотезы.
 Упаковка n единичных квадратов в как можно меньший квадрат.
 Оптимальные решения доказаны для n=1-10, 14-16, 23-25, 34-36, 62-64, 79-81, 98-100 и любого полного квадрата .
 Незаполненное пространство асимптотически равно O(a7/11) .
 Упаковка n квадратов в как можно меньший круг.
 Минимальные решения:
 Задача упаковки множественных копий одного прямоугольника размера (l,w) с разрешением поворота на 90° в больший прямоугольник размера (L,W) имеет несколько приложений, таких как загрузка коробок на поддоны и укладка древесно-стружечных плит.
 Например, можно упаковать 147 прямоугольников размера 137x95 в прямоугольник размера 1600x1230 .
 Задача упаковки прямоугольников с различной шириной и высотой в прямоугольник минимальной площади (но без ограничения на ширину и высоту такого прямоугольника) имеет важное приложение для сборки изображений в одно большое изображение. WEB-страница, загружающая одно большое изображение, часто обрабатывается быстрее в браузерах, чем при загрузке множества мелких изображений, поскольку требуется запрос каждого изображения с сервера.
 Пример быстрого алгоритма, упаковывающего прямоугольники различной высоты и ширины в прямоугольник минимальной площади, — здесь.
 В задачах замощения не должно быть ни промежутков, ни наложений. Много головоломок такого типа используют упаковку прямоугольников или полимино в прямоугольник большего размера или другую фигуру, близкую к квадрату.
 Существует важная теорема о замощении прямоугольников (и прямоугольных параллелепипедов) в прямоугольники (прямоугольные параллелепипеды) без промежутков и наложений:
 Изучение замощений плитками полимино в значительной степени касается двух классов задач — замощение прямоугольника конгруэнтными плитками и замощение набором плиток n-полимино прямоугольника.
 Классическая головоломка второго вида — расположить все двенадцать плиток пентамино в прямоугольниках размером 3×20, 4×15, 5×12 или 6×10.
 Упаковка неправильных объектов является задачей, решение которой вряд ли возможно в замкнутой (аналитической) форме. Однако в науке об окружающем мире задача весьма важна. Например, неправильные частички почвы упаковываются различным образом при изменении размеров и формы частичек, что ведёт к существенным последствиям для растений по формированию корней и возможности перемещения воды в почве.
 Многие книги с головоломками, так же, как и математические журналы, содержат статьи об упаковках.