We need to find the best combination on how to ship our parcels, the challenge is the shipping costs are not liniar so shipping fx 20kg as 2. x 10kg might be cheaper than shipping 20kg in one box.
So lets say a customer has bought 3 items lets call them A,B,C
they can now be shipped
as 3 boxes
Option 1: A, B,C
as 2 boxes
Option 2: AB + C
Option 3: AC + B
Option 4: BC + A
as
Option 5: 1 Box ABC
Lets say Item
A is 500grams
B is 19500grams
C is 5500grams
cost for shipping
< 1kg 1usd
1-2kg 1.5usd
3-5kg 2.5usd
5-10kg 5usd
10-15kg 8usd
15-20 11usd
20-25 15usd
25-30 19usd
Option 1 cost
1 + 11 + 5 = 17usd
Option 2
AB= 20 kg 11usd C 5usd = 16usd
Option 3: AC = 6kg 5usd B 11usd = 16 usd
Option 4: BC = 25kg = 15usd A = 1 = 16 usd
Option 5: ABC = 25.5KG = 19USD
As you can see from above example shipping all the items together in one box is actually the most expensive solution
We use multiple carriers to ship our products, so we already have an API that can return cheapest shipping cost based on the weight of the order, however we need a solution that finds the optimal way to split up the order.
Its obviously fairly easy with 3 items as in the example above but, we also have orders with 100 of items, which obviously means the number of combinations increases rapidly, and its on the larger orders that it becomes increasingly challenging to figure out the optimal shipping strategy.
We ship about 20.000 orders per day with a total of 80.000 orderlines, so we need a solution that can fairly quickly do the calculation on how we do it optimally.
We are flexible on the language used to provide the result, and would mostlikely be implemented through a WEBAPI, where we will send the item lines with weight, and get a response on how to split the order.
We have many inhouse developers so you dont necessary need to be able to provide the entire solution, the key task is to be able to quickly come up with all possible combinations.
About the recuiterMember since Nov 11, 2022 Vijay Swaroop
from Andalusia, Spain