Victor Isaev (torrio) wrote,
Victor Isaev
torrio

А рюкзак вам не уложить?

Занимался сегодня (и последние две недели) по работе оптимизацией размещения грузов в трейлерах. Есть у нас один клиент - перевозит трансформаторы в больших количествах. Каждая модель трансформатора грузится на отдельный поддон - паллету, эти паллеты по определенным правилам размещаются в кузове грузовика - в зависимости от размера (20+ вариантов размеров) их помещается N штук в ряд, и таких рядов, опять же, в зависимости от размера поддона может быть M штук. Плюс все возможные комбинации. Небольшие проблемы начинаются, когда типоразмеров становится много, и накладываются дополнительные ограничения типа "все экземпляры одной модели трансформатора должны ехать вместе", и "на один ряд можно ставить поддоны с разными моделями трансформаторов только при условии, что они направляются к одному и тому же клиенту". Становится немного сложнее, но в целом - банальная дискретная оптимизация, и всё решается.

Вот только... Сначала я решаю задачу оценки суммарного объема, чтобы понять, сколько грузовиков нужно. Для этого размещаю грузы в "бесконечном грузовике", применяя к размещению все те же правила, которые будут применены к плотной упаковке в реальные грузовики. Цель - получить оценку количества требуемых грузовиков снизу. На тестовом массиве данных получаю результат 14877 кубических футов. Лимит на один грузовик - 4000 куб. футов, поэтому распихиваю по четырем грузовикам. По результатам этого размещения суммарный объем получается 14675 кубических футов. То есть МЕНЬШЕ, чем в оптимальном размещении в бесконечном кузове. Подозреваю, что дело в разрывности функции зависимости количества паллет от размеров, но, блин, поймать глюк пока не получается...

А какие у вас есть интересные проблемы на работе?
Tags: лытдыбр, программирование, работа
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 20 comments