У меня есть набор прямоугольников и произвольной формы в 2D пространстве. Форма не нужна полигоном (это может быть круг), а прямоугольники имеют разную ширину и высоту. Задача состоит в том, чтобы приблизить форму с прямоугольниками как можно ближе. Я не могу изменять размеры прямоугольников, но вращение разрешено.
Звучит очень похоже на проблему упаковки и проблема с покрытием, но область покрытия не прямоугольная...
Я думаю, это проблема NP, и я уверен, что должны быть некоторые документы, которые показывают хорошую эвристику, чтобы решить эту проблему, но я не знаю, что делать в Google? С чего начать?
Обновление: Одна мысль пришла мне в голову, но я не уверен, стоит ли ее расследовать. Что, если мы рассмотрим ограничительную форму как физическую форму, наполненную водой. Каждый прямоугольник считается положительно заряженной частицей с размером. Теперь отбросьте на него самый маленький прямоугольник. Затем отбросьте следующий размер по произвольной точке. Если прямоугольники слишком близко, они отталкивают друг друга. Продолжайте добавлять прямоугольники до тех пор, пока не будут использованы все. Может ли этот метод работать?