Речь идет о заводе металлопродукции. Есть машина, которая разрезает длинные железные прутки на более мелкие детали, которые впоследствии используются для создания различных продуктов.
Например, у меня есть требование производить бары следующей длины и количества:
2 шт. 248 мм,
5 из 1150мм,
6 из 2843 мм,
3 из 3621мм.
Это вывод разделов.
На входной стороне у меня есть (опять например)
3 бара по 2500мм,
2 бара по 5000мм,
6 прутков 8000 мм
и 3 бара по 10000мм.
Я должен найти способ оптимальной резки входных стержней - остальные (оставшиеся детали, которые слишком малы для использования) после резки должны быть как можно меньше.
Я создал алгоритм, который просто создает все возможные комбинации, а затем выбирает лучшую из них. Код работает, но как только ввод и вывод становятся немного больше, вычисления могут длиться очень долго, поэтому я должен найти новый подход к проблеме.
У вас есть какие-нибудь намеки?