In the supply chain business, when optimising stock levels, we are mainly interested in reducing the stock as much as possible while avoiding
in the warehouse,
or in other words, the goal is to have the right product in the right place at the right time. An
segment of stock optimisation is the price of transportation. Without
optimising transportation, significant
amounts of money can be wasted on the transportation of empty containers. In other words, we are spending money on the transportation of –
The Problem: Always half full means that you are paying 50% for the transport of air.
Ordered items are transferred to a company’s warehouse as cargo via air, rail, sea or road and often vendors require orders to be placed in transportation units such as containers, trucks or vans. Since companies usually order only the required quantities of each item, as a result, transportation units are often only half-full. Imagine ordering three truckloads of items today, where one of the trucks is half-full, and then again another three truckloads next month, where one is, once again, only half-full. Doing it this way would result in the transport of one whole truck of nothing but air! A much better solution would be to order three trucks now, and then two next month by combining orders to completely fill the trucks, and thus the money spent on the transportation of one whole truck would be saved within just one month. The next questions would be, what should the half-full truck be filled with? Should it be filled with random items? The answer to the latter is, of course, no, we need to fill this truck with items that are most likely to sell in order to avoid any potential overstock or dead stock.
To solve this problem, we have developed a cargo optimisation module, as part of the BE-terna ML platform, where optimisation algorithms enable intelligent transportation unit filling. The cargo optimisation module not only optimises the purchase order to fit transportation unit constraints such as space, mass and volume, but also fills them by prioritising the most important and valuable items on the purchase order to avoid creating overstocks on any ordered item. This cargo optimisation works in five steps.
The Solution: Transport Optimisation enhanced with Machine Learning
While optimising transportation, two things need to be taken into account – to have the transportation units as full as possible, and to fill them with the most needed and the most profitable items. Under the assumption that we know the perfect quantities that should be ordered, the problem is a combination of two well known problems – ‘bin packing’ and ‘knapsack’  , which relate to the problems of having a minimal number of transportation units and having all transportation units completely full, respectively.
The goal of bin packing algorithms is to pack all the ordered items into a minimum number of transportation units. Let’s assume we are ordering five items – A, B, C, D, and E, where items A, B and C each take up 75% of the transportation unit space, while items D and E each take up 25%. The optimal solution would be to place items A and D in container 1, and items B and E in container 2, and have item C in container 3, and in turn the optimal solution is therefore to order three containers, as can be seen in the next figure
Now that we know that three containers are the optimal solution, we are still not satisfied with the fact that container 3 has 25% free space, or we can say that we are still transporting 25% air. This is where knapsack algorithms come in, and we now want to fill that free space with additional items. We need to be careful to fill container 3 with the most profitable items, since those were not originally scheduled to be ordered at this moment. With that in mind, let’s assume we know that item A is really valuable to us and we fill container 3 with an additional 15% of item A, and we fill with an additional 10% of a new and also highly valuable item F, which had not previously been scheduled for order.
We now have a minimum number of transportation units and all are completely full, so from the transportation price standpoint, this is the optimal solution. Unfortunately, ‘John’, who is our head of warehouse management, is not satisfied with the order from a logistical standpoint. The reason is that we have ordered item A in separate parts in 2 containers, and John wants to place it in a single container. Additionally, John has informed us that item B is currently out of stock and it needs to be available in the warehouse as soon as possible, as with each passing day we are losing potential sales. Therefore, the positioning of items will be rearranged, and we will have item B, along with item D in container 1 which will come in first, all of the item A and item F in container 2, and items C and E in container 3, thus finding the optimal solution for our problem from both a logistical and economical perspective.
There is one more question we should ask ourselves: what if we had 90% free space instead of 25%? The answer is – we must provide two solutions at all times – i.e. upfill and downfill. Upfill is the presented solution where quantities are added to completely fill all containers. The other solution is downfill, where we always order one less transportation unit than upfill (e.g. two units in our example case). The buyer, when placing orders, can always make a choice to either use the upfill or downfill option. The downfill option looks to do two extra things – lower the original quantities if possible, and to always order items which are out of stock or close to being out of stock to ensure that ordering one container less would have the least amount of impact on potential lost sales.
Re-optimisation: When things do not go as planned
Now we have placed our optimised order, but we have received a response from the vendor that item D is currently unavailable and cannot be shipped at the moment. Since item D takes up 25% of the container, we again have 25% of free space in our order. The great thing about our cargo optimisation solution is the possibility of re-optimisation of transportation units with just a few clicks. Using re-optimisation, we can now add an additional 25% of the new and highly valuable item ‘G’ to our order, and as a result the new, re-optimised solution is – items B and E in container 1, items A and F in container 2 and items C and G in container 3.
User Interface: A way towards quick software adaption
As in any AI-based project implementation, a good user experience is crucial for the user to build trust in the system. A good user interface must provide all the information about the transportation of purchase orders, such as capacity, constraints, quantities, etc, but must also enable the user to have the ability to choose between upfill and downfill options, and must provide the user with the ability to manually change order quantities and re-optimise transportation.
As previously mentioned, the cargo optimisation module is part of the BE-terna ML platform (the following figure) and the results are shown as part of its Qlik Sense application. There the user can see all the main information about the placed order, such as – how many transportation units are being ordered, capacity in terms of space, mass and volume, and the percentage of capacity of the containers. In our Qlik Sense application the user can switch between upfill and downfill options at all times. The table of recommended purchase orders contains the information on recommended quantities and the positioning of items in containers. A major benefit of our application interface is the ability to change recommended quantities within the Qlik application and to use the re-optimisation button to re-optimise transportation units accordingly.
The BE-terna cargo optimisation module provides 3 main benefits:
- Less money spent on transportation
- Safer stock levels for more important items
- Less logjams in the warehouse
Even though the most obvious benefit of applying transportation optimisation to scheduled orders is reduced expenditure, the environmental benefits of having less transportation units are also often ignored. Safer stock levels for more important items are achieved by upfilling with the most valuable items. In this way, it is possible to additionally ensure that there are no stockouts on those items and not to lose any potential sales. The final benefit is purely logistical. By grouping items together and knowing when they are coming and in which container, we create less logjams in the warehouse and we are much better prepared when orders arrive.