Fraktoptimering: Vad fraktar vi – luft eller värdefulla varor?
Blogg

Fraktoptimering: Vad fraktar vi – luft eller värdefulla varor?

7 min read Apr 12, 2021

För att optimera lagernivåer försöker vi i värdekedjan minska på lagret så mycket som möjligt samtidigt som det aldrig får bli tomt. Med andra ord: målet är att ha rätt produkt på rätt plats vid rätt tid. En aspekt av lageroptimering som ofta glöms bort, är kostnaden för transporter. Optimerar vi inte transporterna kan vi slösa mycket pengar på att transportera tomma containrar.  Och då betalar vi med andra ord för att frakta luft.

Problemet: Halvfulla contrainrar innebär att hälften av pengarna går till att transportera luft.

När varor beställs flyttas de till företagets lager med flyg, tåg, fartyg eller lastbil. Leverantörer kräver ofta att varorna ska fraktas i transportenheter, som containrar eller lastbilar. Men kunderna beställer ju bara så mycket av en vara som de behöver, och resultatet blir ofta halvfulla transportenheter. Tänk er att ni beställer varor på tre lastbilar idag, där en av lastbilarna bara är halvfull, och så ytterligare tre lastbilar nästa månad, där en av dem återigen bara är halvfull. Då har ni betalat för en hel lastbil som bara fraktat luft! En bättre lösning vore att beställa tre lastbilar nu, och sedan två nästa månad genom att kombinera beställningar för att fylla lastbilarna helt. På så sätt sparar ni in kostnaden för en hel lastbil på bara en månad. Nästa fråga blir då: Vad ska den halvfulla lastbilen fyllas med? Vilka slumpmässiga varor som helst? Det ska den naturligtvis inte. Vi måste fylla lastbilen med de varor vi tror kommer att säljas för att undvika eventuell överbeläggning på lagret och varor som inte säljs.

Som en lösning på detta har vi utvecklat en modul för fraktoptimering till BE-ternas ML-plattform. Här räknar optimeringsalgoritmer ut hur företaget bäst fyller sina fraktenheter. Fraktoptimeringsmodulen räknar inte bara ut hur fraktenheter ska fyllas på bästa sätt vad gäller utrymme, massa och volym, utan fyller dem också genom att prioritera de viktigaste och värdefullaste varorna i beställningen för att undvika överbeläggning i lagret av beställda varor. Fraktoptimeringen fungerar i fem steg.

5 steps Transport Optimisation Process

Lösningen: Maskininlärning förbättrar transportoptimering

För att optimera transporter finns två saker att tänka på: Att fylla transportenheterna helt – och att fylla dem med de varor som behövs mest och ger bäst lönsamhet. Under förutsättning att vi känner till exakt hur mycket som ska beställas blir problemet en kombination av två välkända problem – ”lådpackning” och ”kappsäcksproblemet” [1] [2], som handlar om att ha ett begränsat antal transportenheter och att fylla alla transportenheter helt. 

Målet med ”lådpacknings”-algoritmer är att packa alla beställda varor i minsta möjliga antal transportenheter. Vi antar att vi beställer fem varor – A, B, C, D och E, där A, B och C var och en upptar 75 procent av en transportenhets utrymme, medan D och E upptar 25 procent. Den optimala lösningen vore att placera A och D i container 1 och B och E i container 2, och ha C i container 3. Den optimala lösning är därför att beställa tre containrar, vilket vi ser i nästa figur.

Transport Optimisation

Vi vet nu att tre containrar är den optimala lösningen, men vi är fortfarande inte helt nöjda med att container 3 är tom till 25 procent – vi transporterar ju här en fjärdedels container med luft. Det är här kappsäcksalgoritmerna kommer in, och nu vill vi fylla det tomma utrymmet med ytterligare varor. Vi måste se till att fylla container 3 med de mest lönsamma varorna, eftersom de initialt inte var tänkta att beställas just nu. Med det i åtanke antar vi att vara A är lönsam för oss, så vi fyller container 3 med ytterligare 15 procent av A, och ytterligare 10 procent med en ny och också lönsam vara F, som tidigare inte planerats för beställning.

Transport Optimisation

Vi har nu minsta möjliga antal transportenheter och alla är helt fulla, så ur ett transportkostnadsperspektiv är detta den optimala lösningen. Tyvärr är ”John”, vår lageransvarige, inte nöjd med beställningen ur ett logistiskt perspektiv. Anledningen till det är att vi har beställt A i delar, som nu ligger i två olika containrar, och John vill ha dem i samma container. Dessutom meddelar John att B för närvarande är slut på lagret och måste finnas tillgängligt så snart som möjligt, eftersom vi för varje dag som går riskerar att förlora intäkter från försäljning av den. Därför ska varorna förpackas om, så att vi packar B, tilsammans med D i container 1, som anländer först, alla varor som tillhör A och F i container 2 och C och E i container 3. Detta blir då en optimal lösning på problemet, både ur ett logistiskt och ett ekonomiskt perspektiv.

Transport Optimisation

En fråga till bör vi ställa oss är då: Tänk om vi hade 90 procents kapacitet kvar i stället för 25? Svaret på den är att vi alltid måste ha två lösningar – att fylla upp och att ta bort. Att fylla upp har vi redan gjort, då vi lade på ytterligare varor för att fylla en container helt. Den andra lösningen är att ta bort varor, alltså att beställa en transportenhet mindre (i vårt exempel ovan blir det två enheter). Vid en beställning kan köparen alltid välja att antingen fylla upp eller ta bort varor för att optimera transporten. Alternativet att ta bort varor leder till två saker. Dels minskar man om möjligt kvantiteten av de beställda varorna. Dels beställer man alltid varor som är slut eller nästan slut på lagret, och säkerställer därmed att beställning av en container mindre får minsta möjliga påverkan på eventuell förlorad försäljning. 

Omoptimering: När saker och ting inte går som planerat

Nu har vi gjort vår optimerade beställning, men får besked från leverantören att vara D för närvarande är slut och inte kan levereras för tillfället. Eftersom vara D tar upp 25 procent av containern har vi återigen en fjärdedels container som är tom i beställningen. Det fina med vår fraktoptimeringslösning är att den kan omoptimera transportenheter med bara några klick. Med hjälp av omoptimering kan vi nu lägga till ytterligare 25 procent av den nya och mycket lönsamma varan G till vår beställning. Efter omoptimeringen ser vår lösning ut så här: vara B och E i container 1, vara A och F i container 2 och vara C och G i container 3.

Transport Optimisation

Användargränssnitt: Snabb programvaruanpassning 

Som i alla AI-baserade projektimplementeringar är en positiv användarupplevelse nödvändig för att kunderna ska lita på systemet. Ett bra användargränssnitt måste tydligt visa all information om transporten av beställda varor, som kapacitet, begränsningar, kvantiteter etc. Men det måste också vara enkelt att välja mellan att fylla upp och ta bort varor, och att manuellt ändra kvantiteter och omoptimera transporten.

Fraktoptimeringsmodulen ingår alltså i BE-ternas ML-plattform (figuren nedan) och resultaten visas i applikationen Qlik Sense. Där kan användaren se all viktig information om en beställning, som hur många transportenheter som beställts, utrymmeskapacitet, massa och volym samt till vilken kapacitet containrarna fyllts. I Qlik Sense kan användaren alltid växla mellan att fylla upp containrar och ta bort varor. Tabellen med rekommenderade beställningar innehåller information om rekommenderade kvantiteter och hur varor bör packas i containrar. En stor fördel med detta gränssnitt är att användaren kan ändra rekommenderade kvantiteter i Qlik-applikationen och använda omoptimeringsknappen för att omoptimera transportenheterna efter en förändring.

Transport Optimisation

Slutsats

BE-ternas fraktoptimeringsmoduler ger dig tre stora fördelar:

  • Mindre kostnader för transport
  • Säkrare lagernivåer för de viktigaste varorna
  • Färre flaskhalsar i lagret

Den mest uppenbara fördelen med transportoptimering av planerade beställningar är naturligtvis minskade kostnader, men de miljömässiga fördelarna av färre transporter förbises ofta. Genom att fylla upp containrar med de mest lönsamma varorna säkras lagernivåer för dessa. På så sätt säkerställs att dessa varor inte tar slut på lagret, och ingen potentiell försäljning förloras. Den sista fördelen är rent logistisk. Genom att lägga varor i samma container och ha koll på när de kommer och i vilken container skapar vi färre flaskhalsar på lagret och är bättre förberedda när varor kommer.

Referenser:

[1] https://www.aaai.org/ocs/index.php/IJCAI/IJCAI13/paper/view/6851

[2] https://archive.org/details/knapsackproblems0000mart

**CTA**

Om författaren

Nino Požar

Data Scientist

Fortsätt läsa