Меня интересует проблема упаковки идентичных копий (2-мерных) прямоугольников в выпуклый (2-мерный) многоугольник без перекрытий. В моей задаче вы не можете поворачивать прямоугольники и можете предполагать, что они ориентированы параллельно осям. Вам только что дали размеры прямоугольника и вершины многоугольника и спросили, сколько одинаковых копий прямоугольника может быть упаковано в многоугольник. Если вам разрешено вращать прямоугольники, то, как мне кажется, эта проблема является NP-сложной. Однако что известно, если вы не можете? Как насчет того, чтобы выпуклый многоугольник был просто треугольником? Существуют ли известные алгоритмы аппроксимации, если задача действительно NP-сложная?
Итог пока (21 марта 11 года). Питер Шор замечает, что мы можем рассматривать эту проблему как один из квадратов упаковочных единиц в выпуклом многоугольнике и что эта проблема возникает в NP, если вы накладываете полиномиальную границу на число квадратов / прямоугольников, которые должны быть упакованы. Сариэль Хар-Пелед отмечает, что существует PTAS для того же ограниченного полиномом случая. Однако в общем случае количество упакованных квадратов может быть экспоненциальным по размеру входных данных, которые состоят только из, возможно, короткого списка пар целых чисел. Следующие вопросы кажутся открытыми.
Полная неограниченная версия в NP? Есть ли PTAS для неограниченной версии? Является ли полиномиально ограниченный случай в P или NPC? И мой личный фаворит, легче ли будет проблема, если вы просто ограничитесь упаковкой квадратов в треугольник?