Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Рассчитать оптимальное распределение штук по коробам
 
Добрый день!
Пожалуйста, помогите подобрать способ решения следующей задачи.
Приходит заказ от клиента, столько-то штук в каждой строке.
Короб вмещает 94000 шт.

Нужно рассчитать сколько коробов потребуется (это в принципе легко, делим сумму по заказу на 94000) + самое главное, как грамотно распределить строки заказа между этими коробами.
Меньше количества по строке в короб помещать нельзя.(т.е. либо все количество по строке в короб, либо делить это количество между несколькими коробами, но не мешая строки).
Примерный пример в приложении.

Прошу совета, как лучше решить эту задачу - формулой, макросом, solver-ом...
Заранее спасибо!
 
Задачу можно отнести к классу задач "об упаковки в контейнеры" (или к "задаче линейного раскроя")
Вначале определяем количество целых коробок, на данном примере их 6 - это когда заказ больше 94000 и не помещается в одну коробку
далее остатки заказов от деления на 94000 размещаем в виде сборных грузов и несколько заказов размещаем в одну коробку, здесь можно применять различные алгоритмы.
Есть продвинутые решения
Но можно решать и "жадным алгоритмом", если не требуется особое качество, а важна скорость
На сколько пример данных реалистичен? сколько всего различных деталей попадает в заказ?
 
MCH, спасибо за ответ!
На самом деле, задача еще сложнее. Т.е. коробов несколько видов, и в идеале нужно рассчитать, сколько штук между какими коробами распределить (короба могут быть вместимостью 50000, 90000, 94000, 120000, 180000 и т.п.). Короб с 94000 это очень усредненный вариант, хотя бы просто понять, какой способ решения искать.

Обновила файл с исходными данными (Лист 2), этот заказ полностью реалистичен и показывает как было сделано распределение.
1 линия немного с верхом упаковалась (в 2000 шт.), но все так и было.
4 короб вмещает детали из разных линий, но в качестве исключения это можно допустить.
Страницы: 1
Читают тему (гостей: 1)
Наверх