Существует ли простой алгоритм для размещения прямоугольников разных размеров в одном большом прямоугольнике через одну сторону - PullRequest
0 голосов
/ 06 июня 2019

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

Я ищу простой алгоритм для представления этого сценария в моей имитационной модели (рабочий проходит по очереди и пытается поместить детали в контейнер).Я не заинтересован в оптимизации потерянного пространства или чего-либо еще.Идея состоит в том, чтобы просто прокрутить очередь до тех пор, пока рабочий не сможет больше поместить часть в контейнер, а затем остановиться.До сих пор я ограничиваюсь только площадью м², что неправильно, поскольку я игнорирую, что когда деталь, например, длинная и узкая, например, 1x10 м, может быть доступна 10 м², но я не могу вписать свою часть в доступную2x5 пробел.

...