Оптимизация 2D-пространства сетки для размещения объектов

#algorithm #functional-programming #2d #dynamic-programming #space

#алгоритм #функциональное программирование #2d #динамическое программирование #Космос

Вопрос:

Моя цель — оптимизировать 2D-пространство сетки, максимально сократив незанятое пространство. Объекты для размещения в сетке имеют некоторый размер HxW и имеют некоторые ограничения для заполнения.

2D-сетка и объекты

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

Есть ли что-нибудь, что может помочь достичь этого? Некоторый теоретический алгоритм, некоторая библиотека на любом языке программирования и т. Д… Что-то, чтобы не начинать с самого начала.

Большое спасибо #!!

Ответ №1:

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