Проблема упаковки полосы - Strip packing problem

В проблема упаковки полосы представляет собой двумерную геометрическую задачу минимизации. Учитывая набор выровненных по оси прямоугольников и полосу ограниченной ширины и бесконечной высоты, определите упаковку прямоугольников в полосу без перекрытия, минимизируя ее высоту. Эта проблема связана с разрезанием и упаковкой и классифицируется как Проблема открытого измерения согласно Wäscher et al.[1]

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

Впервые эта проблема была изучена в 1980 году.[2] Это сильно NP-сложный алгоритм, и не существует алгоритма полиномиальной аппроксимации времени с отношением меньше, чем пока не . Однако лучший коэффициент приближения, достигнутый на данный момент (с помощью алгоритма полиномиального времени Харрена и др.[3]) является , ставя открытый вопрос, существует ли алгоритм с коэффициентом аппроксимации .

Определение

Экземпляр из проблема упаковки полосы состоит из полосы шириной и бесконечной высоты, а также множество прямоугольных изделий. Каждый предмет имеет ширину и высота .Пакет предметов - это отображение, которое отображает каждый нижний левый угол предмета. на позицию внутри полосы. Внутренняя точка размещенного предмета точка из множества .Два (размещенных) элемента перекрываются, если они имеют общую внутреннюю точку. Высота упаковки определяется как . Цель состоит в том, чтобы найти упаковку предметов внутри полосы без перекрытия при минимальной высоте упаковки.

Это определение используется для всех алгоритмов с полиномиальным временем. За псевдополиномиальное время и FPT -алгоритмов, определение немного изменено для упрощения обозначений. В этом случае все появляющиеся размеры являются целыми. В частности, ширина полосы задается произвольным целым числом больше 1. Обратите внимание, что эти два определения эквивалентны.

Варианты

Изучено несколько вариантов задачи упаковки стрипов. Эти варианты касаются геометрии объектов, размера проблемы, разрешено ли вращение предметов и структуры упаковки.[4]

Геометрия предметов: В стандартном варианте этой задачи набор заданных элементов состоит из прямоугольников, в часто рассматриваемом подслучае все элементы должны быть квадратами. Этот вариант уже рассматривался в первой статье о стрип-упаковке.[2]Кроме того, были изучены варианты, в которых формы имеют круглую или даже неправильную форму. В последнем случае мы говорим о упаковка нестандартных полос.

Измерение:Если не упомянуто иное, проблема упаковки полос является двумерной проблемой. Однако он также был изучен в трех или даже более измерениях. В этом случае объекты гипер прямоугольники, причем полоса является разомкнутой в одном измерении и ограниченной в остаточных.

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

Состав упаковки:В общей задаче упаковки полосок структура упаковки не имеет значения. Однако есть приложения, в которых есть явные требования к структуре упаковки. Одно из этих требований - уметь разрезать элементы полосы горизонтальными или вертикальными надрезами от края до края. Упаковки, допускающие такую ​​резку, называются гильотинная упаковка.

Твердость

Проблема упаковки полосы содержит проблема с упаковкой бункера как частный случай, когда все элементы имеют одинаковую высоту 1. По этой причине это сильно NP-сложно и не может быть полиномиального времени алгоритм аппроксимации, имеющая отношение аппроксимации меньше, чем пока не . Кроме того, если , не может быть псевдополиномиальное время алгоритм, который имеет коэффициент аппроксимации меньше, чем ,[5] что может быть доказано редукцией от сильно NP-полный Проблема с 3 разделами Обратите внимание, что обе нижние границы и также справедливо для случая, когда разрешен поворот предметов на 90 градусов. Кроме того, это было доказано Ashok et al.[6] эта упаковка полосы W [1] -жесткий при параметрировании высотой оптимальной упаковки.

Свойства оптимальных решений

Есть две тривиальные нижние оценки оптимальных решений. Первый - это высота самого большого предмета. Определять . Тогда считается, что

.

Еще одна нижняя граница определяется общей площадью предметов. Определять тогда он считает, что

.

Следующие две нижние границы учитывают тот факт, что некоторые элементы не могут быть размещены рядом друг с другом в полосе и могут быть вычислены в .[7]Для первой нижней границы предположим, что элементы отсортированы по невозрастающей высоте. Определять . Для каждого определять первый индекс такой, что . Тогда считается, что

.[7]

Для второй нижней границы разделите набор предметов на три набора. Позволять и определить , , и . Тогда считается, что

,[7] куда для каждого .

С другой стороны, Штейнберг[8] показал, что высота оптимального решения может быть ограничена сверху величиной

Точнее он показал, что с учетом и затем предметы можно разместить внутри коробки шириной и высота если

, куда .

Алгоритмы полиномиальной аппроксимации времени

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

Обзор полиномиальных приближений времени
ГодИмяГарантия приближенияИсточник
1980Снизу вверх по левому краю (BL)Бейкер и др.[2]
1980Next-Fit с уменьшающейся высотой (NFDH)Коффман и др.[9]
Первая посадка на убывающую высоту (FFDH)
Раздельная посадка (SF)
1980Slaetor[10]
1981Алгоритм разделения (SP)Голаны[11]
Смешанный алгоритм
1981Вверх-Вниз (UD)Бейкер и др.[12]
1994Обратная посадкаШирмейер[13]
1997Steinberg[8]
2000Кеньон, Ремила[14]
2009Харрен, ван Сти[15]
2009Янсен, Солис-Оба[16]
2011Bougeret et al.[17]
2012Свириденко[18]
2014Harren et al.[3]

Снизу вверх по левому краю (BL)

Пример решений, генерируемых алгоритмом Bottom-Up Left-Justified.

Этот алгоритм был впервые описан Baker et al.[2] Это работает следующим образом:

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

Этот алгоритм имеет следующие свойства:

  • Коэффициент аппроксимации этого алгоритма не может быть ограничен константой. Точнее показали, что для каждого существует список прямоугольных элементов, упорядоченных путем увеличения ширины так, чтобы , куда - высота упаковки, созданной алгоритмом BL, и - высота оптимального решения для .[2]
  • Если элементы упорядочены по уменьшению ширины, то .[2]
  • Если все элементы квадратные и упорядочены по убыванию ширины, тогда .[2]
  • Для любого , существует список прямоугольников, упорядоченных по убыванию ширины, так что .[2]
  • Для любого , существует список квадратов, упорядоченных по убыванию ширины, так что .[2]
  • Для каждого , существует экземпляр, содержащий только квадраты, где каждый порядок квадратов имеет соотношение , т.е. существуют случаи, когда BL нет найти оптимальный даже при повторении всех возможных порядков элементов.[2]

Следующая посадка с уменьшающейся высотой (NFDH)

Пример для NFDH и FFDH, примененных к одному и тому же экземпляру

Этот алгоритм был впервые описан Coffman et al.[9] в 1980 году и работает следующим образом:

Позволять - данный набор прямоугольных элементов. Сначала алгоритм сортирует элементы в порядке невозрастания высоты, а затем начиная с позиции , алгоритм размещает элементы рядом друг с другом в полосе до тех пор, пока следующий элемент не будет перекрывать правую границу полосы. На этом этапе алгоритм определяет новый уровень в верхней части самого высокого элемента на текущем уровне и помещает предметы рядом друг с другом на этом новом уровне.

Этот алгоритм имеет следующие свойства:

  • Время работы может быть ограничено и если товары уже отсортированы даже по .
  • Для каждого набора предметов , производит упаковку высотой , куда это самая большая высота предмета в .[9]
  • Для каждого существует набор прямоугольников такой, что [9]
  • Созданная насадка представляет собой гильотинную насадку. Это означает, что элементы могут быть получены с помощью последовательности горизонтальных или вертикальных разрезов от края до края.

Первая посадка на убывающую высоту (FFDH)

Этот алгоритм, впервые описанный Coffman et al.[9] в 1980 году работает аналогично алгоритму NFDH. Однако при размещении следующего элемента алгоритм сканирует уровни снизу вверх и помещает элемент на первый уровень, на котором он поместится. Новый уровень открывается только в том случае, если предмет не помещается ни на одном из предыдущих.

Этот алгоритм имеет следующие свойства:

  • Время работы может быть ограничено , так как есть не более уровни.
  • Для каждого набора предметов производит упаковку высотой , куда это самая большая высота предмета в .[9]
  • Позволять . Для любого набора предметов и полоса шириной такой, что для каждого , считается, что . Кроме того, для каждого , существует такой набор предметов с .[9]
  • Если все предметы в являются квадратами, то . Кроме того, для каждого , существует набор квадратов такой, что .[9]
  • Созданная насадка представляет собой гильотинную насадку. Это означает, что элементы могут быть получены путем последовательной резки по горизонтали или вертикали от края до края.

Алгоритм раздельной подгонки (SF)

Этот алгоритм был впервые описан Coffman et al.[9] Для заданного набора предметов и полоса шириной , это работает следующим образом:

  1. Решительный , наибольшее целое число такое, что заданные прямоугольники имеют ширину или менее.
  2. Разделять на два набора и , так что содержит все предметы с шириной пока содержит все предметы с .
  3. Заказ и по невозрастающей высоте.
  4. Упакуйте предметы в с алгоритмом FFDH.
  5. Измените порядок уровней / полок, построенных FFDH, таким образом, чтобы все полки общей шириной больше находятся ниже более узких.
  6. Это оставляет прямоугольную область из с , рядом с более узкими уровнями / полками, на которых нет предметов.
  7. Используйте алгоритм FFDH для упаковки предметов в используя площадь также.

Этот алгоритм имеет следующие свойства:

  • Для каждого набора предметов и соответствующие , считается, что .[9] Обратите внимание, что для , считается, что
  • Для каждого , есть набор предметов такой, что .[9]

Алгоритм Слейтора

Для заданного набора предметов и полоса шириной , это работает следующим образом:

  1. Найдите все предметы шириной больше, чем и сложите их внизу полосы (в произвольном порядке). Назовите общую высоту этих предметов . Все остальные предметы будут размещены выше .
  2. Отсортируйте все оставшиеся элементы в порядке невозрастания по высоте. Предметы будут размещены в этом порядке.
  3. Рассмотрим горизонтальную линию на как полка. Алгоритм размещает элементы на этой полке в порядке невозрастания по высоте, пока не останется ни одного элемента или не поместится следующий.
  4. Проведите вертикальную линию на , который разрезает полосу на две равные половины.
  5. Позволять быть наивысшей точкой, покрываемой любым предметом в левой половине, и соответствующая точка в правой половине. Нарисуйте два отрезка горизонтальной линии длины в и через левую и правую половину полосы. Эти две строки создают новые полки, на которые алгоритм будет размещать предметы, как на шаге 3. Выберите половину, у которой есть нижняя полка, и поместите предметы на эту полку, пока не поместятся другие предметы. Повторяйте этот шаг, пока не останется ни одного элемента.

Этот алгоритм имеет следующие свойства:

  • Время работы может быть ограничено и если товары уже отсортированы даже по .
  • Для каждого набора предметов производит упаковку высотой , куда это самая большая высота предмета в .[10]

Алгоритм разделения (SP)

Этот алгоритм является расширением подхода Sleator и впервые был описан Голаном.[11] Он размещает элементы в порядке невозрастания ширины. Интуитивно понятная идея состоит в том, чтобы разделить полосу на подполосы при размещении некоторых элементов. По возможности алгоритм помещает текущий элемент рядом с уже размещенным элементом . В этом случае он разделяет соответствующую подполоску на две части: одна содержит первый элемент. а другой, содержащий текущий элемент .Если это невозможно, он помещает поверх уже размещенного элемента и не разделяет подполоску.

Этот алгоритм создает набор S суб-полос. Для каждой подполосы s ∈ S мы знаем его нижний левый угол s.xposition и s.yposition, его ширина s.width, горизонтальные линии, параллельные верхней и нижней границе элемента, помещенного последним внутри этой подполосы ужин и помедленнее, а также его ширину s.itemWidth.

функция Алгоритм разделения (SP) является    Вход: Предметы я, ширина полосы W    выход: Упаковка предметов    Сортировать I в порядке невозрастания ширины; Определите пустой список S подполос; Определите новую подполосу s с s.xposition = 0, s.yposition = 0, s.width = W, s.lower = 0, s.upper = 0, s.itemWidth = W; Добавить s к S; пока Я не пустой делать        я: = I.pop (); Удаляет самый широкий элемент из I Определите новый список S_2, содержащий все подстроки с s.width - s.itemWidth ≥ i.width; S_2 содержит все подполосы, где i помещается рядом с уже размещенным элементом        если S_2 пуст тогда            В этом случае поместите предмет поверх другого.            Найдите подполоску s в S с наименьшим s.upper; т.е. наименее заполненная подполоса            Поместите i в позицию (s.xposition, s.upper); Обновление s: s.lower: = s.upper; s.upper: = s.upper + i.height; s.itemWidth: = i.width; еще             В этом случае поместите элемент рядом с другим на том же уровне и разделите соответствующую подполоску в этом месте.            Найдите s ∈ S_2 с наименьшим значением s.low; Поместите i в позицию (s.xposition + s.itemWidth, s.lower); Удалите s из S; Определите две новые поддиапазоны s1 и s2 с помощью s1.xposition = s.xposition, s1.yposition = s.upper, s1.width = s.itemWidth, s1.lower = s.upper, s1.upper = s.upper, s1.itemWidth = s.itemWidth; s2.xposition = s.xposition + s.itemWidth, s2.yposition = s.lower, s2.width = s.width - s.itemWidth, s2.lower = s.lower, s2.upper = i.height, s2. itemWidth = i.width; S.add (s1, s2); возвращаться конечная функция

Этот алгоритм имеет следующие свойства:

  • Время работы может быть ограничено так как количество подстилок ограничено .
  • Для любого набора предметов он считает, что .[11]
  • Для любого , существует набор предметов такой, что .[11]
  • Для любого и , существует набор предметов такой, что .[11]

Обратная посадка (RF)

Этот алгоритм был впервые описан Ширмейером.[13] Описание этого алгоритма требует дополнительных обозначений. Для размещенного товара , его левый нижний угол обозначается и его правый верхний угол на .

Учитывая набор предметов и полоса шириной , это работает следующим образом:

  1. Сложите все прямоугольники шириной больше, чем друг на друга (в произвольном порядке) внизу полосы. Обозначим через высота этой стопки. Все остальные предметы будут упакованы выше .
  2. Отсортируйте оставшиеся элементы в порядке невозрастания высоты и рассмотрите элементы в этом порядке на следующих шагах. Позволять быть высотой самого высокого из этих оставшихся предметов.
  3. Поместите предметы по одному по левому краю на полку, обозначенную до тех пор, пока на эту полку не поместится другой предмет или не останется ничего. Назовите эту полку Первый уровень.
  4. Позволять быть высотой самого высокого распакованного предмета. Определите новую полку в . Алгоритм заполняет эту полку справа налево, выравнивая элементы по правому краю, так что предметы касаются этой полки своим верхом. Назовите эту полку второй обратный уровень.
  5. Поместите предметы на две полки в соответствии с функцией First-Fit, т. Е. Разместите предметы на первом уровне там, где они подходят, и на втором в противном случае. Продолжайте до тех пор, пока ничего не останется, или пока общая ширина предметов на второй полке не станет не менее .
  6. Сдвиньте второй обратный уровень вниз, пока элемент из него не коснется элемента из первого уровня. Определять как новое вертикальное положение смещенной полки. Позволять и быть самой правильной парой трогательных предметов с размещен на первом уровне и на втором обратном уровне. Определять .
  7. Если тогда - последний прямоугольник, помещенный на втором обратном уровне. Переместите все остальные предметы с этого уровня ниже (на все одинаковое количество), пока первый не коснется предмета с первого уровня. Снова алгоритм определяет крайнюю правую пару соприкасающихся предметов. и . Определять как величина, на которую полка была сдвинута вниз.
    1. Если тогда сдвиг влево, пока не коснется другого предмета или границы полосы. Определите третий уровень вверху .
    2. Если тогда сдвиг определить третий уровень в верхней части . Место с выравниванием по левому краю на этом третьем уровне, так что он касается элемента с первого уровня слева от него.
  8. Продолжайте упаковывать элементы, используя эвристику First-Fit. Каждый последующий уровень (начиная с третьего уровня) определяется горизонтальной линией, проходящей через верх самого большого элемента на предыдущем уровне. Обратите внимание, что первый элемент, помещенный на следующий уровень, может касаться не границы полосы своей левой стороной, а предмет с первого уровня или предмет .

Этот алгоритм имеет следующие свойства:

  • Время работы может быть ограничено , так как есть не более уровни.
  • Для каждого набора предметов производит упаковку высотой .[13]

Алгоритм Стейнберга (ST)

Алгоритм Стейнберга - рекурсивный. Учитывая набор прямоугольных предметов и прямоугольная целевая область шириной и высота , он предлагает четыре правила сокращения, которые размещают некоторые элементы и оставляют меньшую прямоугольную область с теми же свойствами, что и раньше, в отношении остаточных элементов. Рассмотрим следующие обозначения: Дан набор элементов мы обозначим через самая высокая высота предмета в , самая большая ширина элемента появляется в и по общая площадь этих предметов. Стейнбергс показывает, что если

, , и , куда ,

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

Процедура 1: Может применяться, если .

  1. Найдите все предметы с шириной и удалите их из .
  2. Отсортируйте их по невозрастающей ширине и разместите по левому краю в нижней части целевой области. Позволять быть их общей высотой.
  3. Найдите все предметы с шириной . Удалите их из и поместите их в новый набор .
  4. Если пусто, определите новую целевую область как область выше , т.е. имеет высоту и ширина . Решите проблему, состоящую из этого нового целевого региона и сокращенного набора элементов, с помощью одной из процедур.
  5. Если не пусто, отсортируйте его по невозрастающей высоте и поместите элементы, расположив их по одному, в правом верхнем углу целевой области. Позволять быть общей шириной этих элементов. Определите новую целевую область с шириной и высота в верхнем левом углу. Решите проблему, состоящую из этого нового целевого региона и сокращенного набора элементов, с помощью одной из процедур.

Процедура 2: Может применяться, если выполняются следующие условия: , , и существуют два разных элемента с , , , и .

  1. Находить и и удалите их из .
  2. Поместите более широкий в нижний левый угол целевой области, а более узкий с выравниванием по левому краю поверх первого.
  3. Определите новую целевую область справа от этих обоих элементов так, чтобы она имела ширину и высота .
  4. Поместите оставшиеся предметы в в новую целевую область, используя одну из процедур.

Процедура 3: Может применяться, если выполняются следующие условия: , , , а при сортировке элементов по уменьшению ширины существует индекс так что при определении как первый предметы, которые он держит а также

  1. Набор .
  2. Определите две новые прямоугольные целевые области, одну в нижнем левом углу исходной с высотой и ширина а другой слева от него с высотой и ширина .
  3. Используйте одну из процедур, чтобы поместить предметы в в первую новую целевую область и предметы в во вторую.

Обратите внимание, что процедуры с 1 по 3 имеют симметричную версию при замене местами высоты и ширины элементов и целевой области.

Процедура 4: Может применяться, если выполняются следующие условия: , , и существует элемент такой, что .

  1. Поместите предмет в нижнем левом углу целевой области и удалите его из .
  2. Определите новую целевую область справа от этого элемента так, чтобы она имела ширину и высота и поместите остаточные предметы внутрь этой области, используя одну из процедур.

Этот алгоритм имеет следующие свойства:

  • Время работы может быть ограничено .[8]
  • Для каждого набора предметов производит упаковку высотой .[8]

Псевдополиномиальные алгоритмы аппроксимации времени

Чтобы улучшить нижнюю границу для алгоритмов с полиномиальным временем рассмотрены алгоритмы с псевдополиномиальным временем для задачи упаковки полос. При рассмотрении алгоритмов этого типа все размеры элементов и полосы задаются в виде интегралов. Кроме того, ширина полосы может появляться полиномиально во времени выполнения. Обратите внимание, что это больше не считается полиномиальным временем выполнения, поскольку в данном случае ширина полосы требует размера кодирования, равного .

В разработанных псевдополиномиальных временных алгоритмах в основном используется тот же подход. Показано, что каждое оптимальное решение можно упростить и преобразовать в одно из постоянного числа структур. Затем алгоритм выполняет итерацию всех этих структур и помещает элементы внутрь с помощью линейного и динамического программирования. Лучшее соотношение, достигнутое на данный момент, - .[19] в то время как не может быть псевдополиномиального алгоритма времени с соотношением лучше, чем пока не [5]

Обзор аппроксимаций псевдополиномиального времени
ГодКоэффициент приближенияИсточникКомментарий
2010Янсен, Тёле[20]
2016Надирадзе, Визе[21]
2016Гальвес, Грандони, Ингала, Хан[22]также для поворота на 90 градусов
2017Янсен, Рау[23]
2019Янсен, Рау[19]также для поворота на 90 градусов и непрерывных формовочных работ

Онлайн-алгоритмы

в онлайн-вариант Ленточной упаковки товары прибывают со временем. Когда приходит предмет, он должен быть размещен непосредственно перед тем, как станет известен следующий предмет. Были рассмотрены два типа онлайн-алгоритмов. В первом варианте нельзя менять упаковку после размещения предмета. Во втором случае предметы могут быть переупакованы по прибытии другого предмета. Этот вариант называется миграционной моделью.

Качество онлайн-алгоритма измеряется (абсолютным) коэффициентом конкуренции.

,

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

.

Обратите внимание, что все экземпляры можно масштабировать так, чтобы .

Обзор онлайн-алгоритмов без миграции
ГодКонкурентное соотношениеАсимптотический коэффициент конкуренцииИсточник
19836.99Бейкер и Шварц[24]
1997Чирик и Вегингер[25]
20076.6623Хуринк и Паулюс[26]
20096.6623Е, Хан и Чжан[27]
2007Han et al.[28] + Сейден[29]

Структура Han et al.[28] применимо в онлайн-настройке, если онлайн-алгоритм упаковки бункеров относится к классу Super Harmonic. Таким образом, алгоритм онлайн-упаковки Seiden Harmonic ++[29] подразумевает алгоритм упаковки полосы в режиме онлайн с асимптотическим соотношением 1,58889.

Обзор нижних оценок онлайн-алгоритмов без миграции
ГодКонкурентное соотношениеАсимптотический коэффициент конкуренцииИсточникКомментарий
1982Браун, Бейкер и Кацефф[30]
20062.25Йоханнес[31]также справедливо для задачи планирования параллельных задач
20072.43Хуринк и Паулюс[32]также справедливо для задачи планирования параллельных задач
20092.457Керн и Паулюс [33]
2012Балог и Бекеши[34]нижняя граница из-за основной проблемы с упаковкой бункера
20162.618Ю, Мао и Сяо[35]

Рекомендации

  1. ^ Wäscher, Gerhard; Хауснер, Хайке; Шуман, Хольгер (16 декабря 2007 г.). «Улучшенная типология задач резки и упаковки». Европейский журнал операционных исследований. 183 (3): 1109–1130. Дои:10.1016 / j.ejor.2005.12.047. ISSN  0377-2217.
  2. ^ а б c d е ж грамм час я j Бейкер, Бренда S .; Коффман младший, Эдвард Дж .; Ривест, Рональд Л. (1980). «Ортогональные упаковки в двух измерениях». SIAM J. Comput. 9 (4): 846–855. Дои:10.1137/0209064.
  3. ^ а б Харрен, Рольф; Янсен, Клаус; Прадель, Ларс; ван Сти, Роб (февраль 2014 г.). «Аппроксимация A (5/3 + epsilon) для стрип-упаковки». Вычислительная геометрия. 47 (2): 248–267. Дои:10.1016 / j.comgeo.2013.08.008.
  4. ^ Нойенфельдт-младший, Альваро Луис. «Задача двумерной прямоугольной ленты» (PDF). 10820228.
  5. ^ а б Хеннинг, Сорен; Янсен, Клаус; Рау, Малин; Шмарье, Ларс (2019). «Сложность и несовместимость результатов для параллельного планирования задач и упаковки полос». Теория вычислительных систем. 64: 120–140. arXiv:1705.04587. Дои:10.1007 / s00224-019-09910-6. S2CID  67168004.
  6. ^ Ашок, Прадиша; Колай, Судешна; Meesum, S.M .; Саураб, Сакет (январь 2017 г.). «Параметризованная сложность стриповой упаковки и минимальной упаковки». Теоретическая информатика. 661: 56–64. Дои:10.1016 / j.tcs.2016.11.034.
  7. ^ а б c Мартелло, Сильвано; Моначи, Микеле; Виго, Даниэле (1 августа 2003 г.). «Точный подход к проблеме стрип-упаковки». ИНФОРМС Журнал по вычислительной технике. 15 (3): 310–319. Дои:10.1287 / ijoc.15.3.310.16082. ISSN  1091-9856.
  8. ^ а б c d Стейнберг, А. (март 1997 г.). «Алгоритм упаковки полосы с абсолютным пределом производительности 2». SIAM Журнал по вычислениям. 26 (2): 401–409. Дои:10.1137 / S0097539793255801.
  9. ^ а б c d е ж грамм час я j k Коффман младший, Эдвард Дж .; Garey, M. R .; Джонсон, Дэвид С .; Тарьян, Роберт Эндре (1980). «Границы производительности для алгоритмов двумерной упаковки с ориентацией на уровне». SIAM J. Comput. 9 (4): 808–826. Дои:10.1137/0209062.
  10. ^ а б Sleator, Дэниел Доминик (1980). «Оптимальный в 2,5 раза алгоритм для двухмерной упаковки». Инф. Процесс. Латыш. 10: 37–40. Дои:10.1016/0020-0190(80)90121-0.
  11. ^ а б c d е Голаны, Игал (август 1981 г.). «Границы производительности для ортогонально ориентированных алгоритмов двумерной упаковки». SIAM Журнал по вычислениям. 10 (3): 571–582. Дои:10.1137/0210042.
  12. ^ Бейкер, Бренда S; Браун, Донна Дж; Кацефф, Говард П. (декабрь 1981 г.). «Алгоритм 5/4 для двумерной упаковки». Журнал алгоритмов. 2 (4): 348–368. Дои:10.1016/0196-6774(81)90034-1.
  13. ^ а б c Ширмейер, Инго (1994). «Reverse-Fit: 2-оптимальный алгоритм упаковки прямоугольников». Алгоритмы - ESA '94. Конспект лекций по информатике. 855. Springer Berlin Heidelberg. С. 290–299. Дои:10.1007 / bfb0049416. ISBN  978-3-540-58434-6.
  14. ^ Кеньон, Клэр; Ремила, Эрик (ноябрь 2000 г.). «Почти оптимальное решение двумерной задачи срезаемого материала». Математика исследования операций. 25 (4): 645–656. Дои:10.1287 / moor.25.4.645.12118. S2CID  5361969.
  15. ^ Харрен, Рольф; ван Сти, Роб (2009). «Улучшенные отношения абсолютной аппроксимации для задач двумерной упаковки». Аппроксимация, рандомизация и комбинаторная оптимизация. Алгоритмы и методы, 12-й Международный семинар, {APPROX} 2009 г. и 13-й Международный семинар, {RANDOM} 2009 г., Беркли, Калифорния, США, 21–23 августа 2009 г. Протоколы. 5687: 177–189. Bibcode:2009LNCS.5687..177H. Дои:10.1007/978-3-642-03685-9\_14 (неактивно 2020-11-26).CS1 maint: DOI неактивен по состоянию на ноябрь 2020 г. (связь)
  16. ^ Янсен, Клаус; Солис-Оба, Роберто (август 2009 г.). «Прямоугольная упаковка с одномерным увеличением ресурса». Дискретная оптимизация. 6 (3): 310–323. Дои:10.1016 / j.disopt.2009.04.001.
  17. ^ Бужере, Марин; Дюто, Пьер-Франсуа; Янсен, Клаус; Робенек, Кристина; Тристрам, Денис (5 апреля 2012 г.). «Алгоритмы аппроксимации для упаковки нескольких полос и планирования параллельных работ в платформах». Дискретная математика, алгоритмы и приложения. 03 (4): 553–586. Дои:10.1142 / S1793830911001413.
  18. ^ Свириденко, Максим (январь 2012 г.). «Заметка об алгоритме стрип-упаковки Кеньона-Ремилы». Письма об обработке информации. 112 (1–2): 10–12. Дои:10.1016 / j.ipl.2011.10.003.
  19. ^ а б Янсен, Клаус; Рау, Малин (2019). «Устранение разрыва в псевдополиномиальной упаковке полос». 27-й ежегодный европейский симпозиум по алгоритмам (ESA 2019). Schloss Dagstuhl – Leibniz-Zentrum fuer Informatik. 144: 62:1–62:14. Дои:10.4230 / LIPIcs.ESA.2019.62. S2CID  24303167.
  20. ^ Янсен, Клаус; Теле, Ральф (январь 2010 г.). «Аппроксимационные алгоритмы для планирования параллельных работ». SIAM Журнал по вычислениям. 39 (8): 3571–3615. Дои:10.1137/080736491.
  21. ^ Надирадзе, Георгий; Визе, Андреас (21 декабря 2015 г.). «При аппроксимации полосовой упаковки с лучшим соотношением, чем 3/2». Материалы двадцать седьмого ежегодного симпозиума ACM-SIAM по дискретным алгоритмам. Общество промышленной и прикладной математики: 1491–1510. Дои:10.1137 / 1.9781611974331.ch102. ISBN  978-1-61197-433-1.
  22. ^ Гальвес, Вальдо; Грандони, Фабрицио; Ингала, Сальваторе; Хан, Ариндам (2016). «Улучшенное приближение псевдополиномиального времени для упаковки полос». 36-я Ежегодная конференция IARCS по основам программных технологий и теоретической информатики (FSTTCS 2016). Schloss Dagstuhl – Leibniz-Zentrum fuer Informatik. 65: 9:1–9:14. Дои:10.4230 / LIPIcs.FSTTCS.2016.9. S2CID  3205478.
  23. ^ Янсен, Клаус; Рау, Малин (29–31 марта 2017 г.). «Улучшенное приближение для двумерной ленточной упаковки с полиномиальной ограниченной шириной». {WALCOM:} Алгоритмы и вычисления, 11-я Международная конференция и семинары, {WALCOM} 2017, Синьчжу, Тайвань: 409–420. Дои:10.1007/978-3-319-53925-6\_32 (неактивно 2020-11-26).CS1 maint: DOI неактивен по состоянию на ноябрь 2020 г. (связь)
  24. ^ Бейкер, Бренда S .; Шварц, Джеральд С. (1 августа 1983 г.). «Полочные алгоритмы для задач двумерной упаковки». SIAM Журнал по вычислениям. 12 (3): 508–525. Дои:10.1137/0212033. ISSN  0097-5397.
  25. ^ Чирик, Янош; Вегингер, Герхард Дж. (28 августа 1997 г.). «Полочные алгоритмы для упаковки в полосу on-line». Письма об обработке информации. 63 (4): 171–175. Дои:10.1016 / S0020-0190 (97) 00120-8. ISSN  0020-0190.
  26. ^ Hurink, Johann L .; Паулюс, Джейкоб Ян (2007). «Онлайн-алгоритм для параллельного планирования заданий и упаковки полос». WAOA 2007 - Аппроксимация и онлайн-алгоритмы. Конспект лекций по информатике. Springer Berlin Heidelberg. 4927: 67–74. Дои:10.1007/978-3-540-77918-6_6. ISBN  978-3-540-77917-9.
  27. ^ Йе, Деши; Хань, Синь; Чжан, Гочуань (1 мая 2009 г.). «Примечание об онлайн-упаковке полос». Журнал комбинаторной оптимизации. 17 (4): 417–423. Дои:10.1007 / s10878-007-9125-x. ISSN  1573-2886. S2CID  37635252.
  28. ^ а б Хань, Синь; Ивама, Кадзуо; Йе, Деши; Чжан, Гочуань (2007). «Полосовая упаковка против упаковки в бункеры». Алгоритмические аспекты в информации и управлении. Конспект лекций по информатике. Springer Berlin Heidelberg. 4508: 358–367. arXiv:cs / 0607046. Дои:10.1007/978-3-540-72870-2_34. ISBN  978-3-540-72868-9. S2CID  580.
  29. ^ а б Сейден, Стивен С. (2001). «О проблеме с упаковкой онлайн-контейнеров». Автоматы, языки и программирование. Конспект лекций по информатике. Springer Berlin Heidelberg. 2076: 237–248. Дои:10.1007/3-540-48224-5_20. ISBN  978-3-540-42287-7.
  30. ^ Браун, Донна Дж .; Бейкер, Бренда S .; Кацефф, Ховард П. (1 ноября 1982 г.). «Нижние оценки для интерактивных алгоритмов двумерной упаковки». Acta Informatica. 18 (2): 207–225. Дои:10.1007 / BF00264439. HDL:2142/74223. ISSN  1432-0525. S2CID  21170278.
  31. ^ Йоханнес, Берит (1 октября 2006 г.). «Планирование параллельных работ для минимизации времени изготовления» (PDF). Журнал планирования. 9 (5): 433–452. Дои:10.1007 / s10951-006-8497-6. HDL:20.500.11850/36804. ISSN  1099-1425. S2CID  18819458.
  32. ^ Hurink, J. L .; Паулюс, Дж. Дж. (1 января 2008 г.). «Онлайн-планирование параллельных заданий на двух машинах является двухконкурентным». Письма об исследованиях операций. 36 (1): 51–56. Дои:10.1016 / j.orl.2007.06.001. ISSN  0167-6377.
  33. ^ Керн, Уолтер; Паулюс, Джейкоб Ян (2009). «Примечание о нижней границе для онлайн-упаковки полос». Письма об исследованиях операций.
  34. ^ Балог, Янош; Бекеши, Йожеф; Галамбос, Габор (6 июля 2012 г.). «Новые нижние границы для некоторых классов алгоритмов упаковки в контейнеры». Теоретическая информатика. 440-441: 1–13. Дои:10.1016 / j.tcs.2012.04.017. ISSN  0304-3975.
  35. ^ Ю, Госон; Мао, Яньлин; Сяо, Цзяолао (1 мая 2016 г.). «Новая нижняя граница для онлайн-стрип-упаковки». Европейский журнал операционных исследований. 250 (3): 754–759. Дои:10.1016 / j.ejor.2015.10.012. ISSN  0377-2217.