Cargo Load optimization is the process of consolidating multiple shipments and/or arranging freight to use the capacity of trucks, railcars, pallets, and any other types of containers in the most efficient way. 

Loading hundreds, or even thousands, of items in containers, is an NP-hard problem, also called 3D Bin Packing Problem (3DBPP). It cannot be solved exactly due to the highly combinatorial nature of the problem.

To alleviate this, Freight-forwarders and shippers often use packing software that helps to optimize volume utilization and reduce shipment costs.

However, existing solutions suffer from a myriad of intractable challenges: 

  • Many existing tools rely on heuristics and metaheuristics. While at times these may provide a quick way to create software-based loading plans, these techniques do not leverage past computations and therefore have limited or no learning if changes occur in the load types.
  • Despite workable results that can be found in research articles for some algorithms/approaches, unfortunately, they are quickly degraded as soon as some operational constraints or other requirements are added. We quickly observe a significant downgrade in the results when adding critical operational constraints, not included in the academic scope.

These limitations often lead to below-par results, and empty container space is unnecessarily wasted due to inefficient optimization solutions.

In the past few years, we have all witnessed how progress in data science and computation has fueled the rise of Artificial Intelligence (AI) technologies. 

A subfield of AI, called Reinforcement Learning, goes back to the 1970s, but in the last decade, advances in deep learning and scaling of computational resources have meant that RL-based approaches have become very successful when applied to decision-making problems.

Deep Reinforcement Learning is a process in which an “agent” learns to make decisions through trial and error. You are an agent and you want to maximize your score by playing some possible actions, and actions modify your environment like a chessboard. When deciding the next action to take, a score is sent to the agent as a signal of the quality of the action.

Given past experience, the agent will adjust its parameters to favor actions that lead to higher and higher rewards. This technology enables you to obtain an AI model that learns end-to-end a sequence of optimal decisions with respect to a predefined environment (constraints).

Around 2013, DeepMind showed impressive learning results using deep RL to play Atari video games.

And in 2017, Reinforcement Learning agents learned to run, jump, and turn as required by the environment without explicit reward-based guidance

In 2018, we delivered fundamental AI innovation on the Bin Packing Problem, by applying Reinforcement Learning techniques to this real use case.
Our research work led to a NeurIPS Deep RL workshop publication with results on 2D/3D settings

This research work was at the foundation of DeepPackTM: an AI-powered product for container loading problems.

Our product unlocks the limitations observed so far in classic approaches:

  • Trained on millions of real-world loads, the model learned a diverse range of strategies for load optimization, achieving robustness and effectiveness
  • The AI model is the first one in the world to be based on Reinforcement Learning.  It learned from first principles, and unlike heuristics is not biased by handcrafted techniques, and continuously improves its strategies with each execution. This allows seamless assimilation of any change in the data distribution.
  • Our aim is to unlock more savings for the complex load instances. When the number of items and shapes increases, the mathematical problem becomes much harder to solve (“combinatorial explosion”). For this reason, we made the choice to rely on our in-house Reinforcement Learning framework for scalable distributed computation. As an Elite Partner of Nvidia, we can also leverage the power of our Nvidia DGX clusters
  • The strength of this AI-powered tool is the capacity to incorporate any operational constraint with no impact on the model or on the performance. While some algorithms see their solutions highly downgraded when new constraints are introduced, Deeppack handles any constraint or business objective needed by the end-user

In part two of this post, we will detail the main features of DeepPack and how AI techniques can leverage effectiveness and flexibility for our end users. If you are interested in trying out DeepPack functionalities you can request a trial here Or if you have any questions, get in touch at