#3d #bin #packing #bin-packing
#3D #bin #упаковка #упаковка бункера
Вопрос:
Я ищу алгоритм для решения проблемы упаковки 3D-контейнеров. Моя задача:
У меня есть конвейер, на который я получаю коробки 4 размеров (300x200x160, 400x300x220, 600x400x340, 700x510x340). Эти ящики должны быть упакованы на поддоне (1200x800x1800) наилучшим возможным способом. Я не знаю заранее, какой конкретный тип коробки я получу и сколько из них, мне просто нужно взять коробку и поместить ее на поддон наилучшим образом, чтобы я мог поместить туда как можно больше коробок.
Я искал любой тип алгоритма, но не смог найти ничего хорошего.
спасибо за любую идею 🙂
Ответ №1:
надеюсь, мой английский будет понятен 🙂
Забавно, у меня такая же история, поэтому я начал ее моделировать, и я мог бы сделать это для 2 разных размеров коробок, сейчас я работаю над лучшей версией, возможно, для большего количества коробок, я не знаю, поможет ли это вам, но вот как я это сделал :
1. даже если у вас много коробок разного размера, у вас на поддоне всего несколько мест, которые могут вместить эти «большие» коробки, поэтому вам нужно будет отдать приоритет этим коробкам, особенно если вы не можете отложить их на потом
2. вы не знаете, какие коробки будут доставлены, но у вас есть размер, который не изменится, ваш поддон, X и Y, поэтому вам нужно будет рассчитать максимальные значения X и Y, которые может принять поддон
пример того, что я пытаюсь объяснить :
У меня есть 2 коробки A и B, а размер B в два раза больше размера A, а максимальный размер поддона равен 3 A и 1 B. в этом случае это просто, когда приходит 3 A, вы можете поставить их рядом, тогда, скажем, большой, который хорошо подходит B, займет последнее местона поддоне.
но теперь, допустим, у меня сначала B, затем 3 A, я не буду ставить B там, где я разместил A, является примером выше, потому что, если я это сделаю, я смогу разместить только 1B и 2A, поэтому я расставляю приоритеты в наиболее эффективном месте и всегда ставлю B на определенную позицию. и в этом случае, если придет, я знаю, что у меня есть для этого место.
извините, мне сложно дать вам объяснение, но я могу отправить вам видео и некоторый код, если хотите.
Комментарии:
1. Добавление примера форматированного кода — лучшее, что вы можете сделать для этого ответа.
2. Привет, да, если вы можете, пришлите мне свой код или видео на мою электронную почту — timco.vanco@gmail.com ! Большое спасибо! 🙂