Суть предлагаемого решения является первым нужным уменьшением (FFD) эвристики.
размеры вызова Давайте из за Bin упаковки проблемы вложенности если для каждого я < J, я = к IJ J. Обратите внимание, что в соответствии с этим определением исходной проблемой является Упаковка гнездящей упаковки проблема.
Давайте доказательство того, что эвристика FFD решает Упаковка вложенного бина. Рассмотрим встречный пример: невозрастающая последовательность размеров позиций a i и оптимальное решение OPT, которое не достигается эвристикой FFD. Существует первый i, который требует номер ячейки OPT + 1. Это означает, что все предыдущие элементы были упакованы, и нет места для позиции i.
Давайте сравним распределение первого я-1 элементы с использованием FFD и оптимальное распределение я пунктов. Общий размер размещенных предметов в оптимальном распределении выше на a i. Таким образом, по крайней мере для одного бина общий размер элементов в оптимальном распределении больше, чем в распределении FFD. Благодаря вложенности все элементы, рассмотренные до сих пор, может быть разделен на некоторое количество а I -sized пунктов, так как итоговые суммы кратные я, а минимальная возможная разница между ними в i. Поэтому мы нашли корзину для предмета i, что приводит к противоречию.
Противоречие ясно в 1D корпусе (оригинал Bin Packing проблема), но не так ясно для 2D-футляра. Введем сетку с размером ячейки A = √a i и происхождение в верхнем левом углу. Длина стороны уже размещенного названия будет кратной A. Мы переместим все заголовки в обоих решениях вверх (по порядку сверху вниз), затем влево (в порядке слева направо). После этого все плитки будут иметь целые координаты на сетке. Но в оптимальном решении есть более занятые ячейки, чем FFD, поэтому должна быть хотя бы одна ячейка A × A, которая занята в оптимальном решении и свободна в FFD. Давайте использовать его для размещения плитки i.
Или другой алгоритм, разрешающий эту проблему с убедительным доказательством правильности. –
Не доказательство, а какая-то интуиция в ручном режиме: причина, по которой жадные алгоритмы для упаковки бинов обычно не оптимальна, состоит в том, что два меньших квадрата могут быть больше одного большого. Поскольку все стороны в этой задаче имеют две степени, этого не может быть. –
Я понимаю, что тот факт, что ящики вписываются в другой, играет здесь определенную роль, но формально у меня нет понимания, как это помогает. –