
Добрый день, прошу Вашей помощи в реализации одного личного проекта, т.к сам еще новичок и не способен самостоятельно обуздать всю мощь Python.
Нужно придумать алгоритм который будет размещать прямоугольники в контейнере, при этом прямоугольники обладают массой а контейнер лимитом массы. При превышении лимита по массе или размерам нужно создать новый контейнер и продолжить размещение в нем.
Допустим,
размер контейнера: 11300х2400, лимит по массе 21000,
размеры прямоугольника №1 1640х800 масса 637 количество 7,
размеры прямоугольника №2 2050х1210 масса 856 количество 7,
размеры прямоугольника №3 2550х1610 масса 1274 количество 4.
Для наглядности приложу пару картинок, как это примерно выглядит:
https://ibb.co/PFK4spd
https://ibb.co/k9whGZH
Вопрос заключается в том, можно ли создать алгоритм который будет перебирать все возможные варианты размещения и выбирать вариант с минимальным количеством контейнеров?
При этом желательно чтобы была возможность вывести количество, типы и общую массу прямоугольников в каждом контейнере.
Если у кого есть идеи прошу ответить или предложите свои варианты решения.
За ранее благодарю!
Python 3.7
Операционная система Windows
1Ответы

Еще может заинтересовать:

Мне кажется, что будет отличным решением прочитать Адитья Бхаргава «Грокаем алгоритмы», в частности тему про жадные алгоритмы. Задача уж больно похожа на те, что там описываются. Книга маленькая и понятная.