Case: slimme beslissingen maken in de logistiek met AI
Er zijn veel voorbeelden van AI in de logistiek, veel toepassingen zijn (un)supervised learning. Wij hebben voor Emons een agent ontwikkeld die leert ritten aan elkaar te knopen. De agent maakt gebruik van reinforcement learning, een techniek waarbij data geen vereiste is.
De Emons Group is een nichespeler op de Europese vervoersmarkt en het richt zich op innovatie en duurzame vervoersoplossingen. Om de mogelijkheden van kunstmatige intelligentie op de vervoersmarkt te verkennen, heeft Bullit voor Emons een AI workshop georganiseerd. In deze workshop hebben we veel ideeën geïdentificeerd waar AI van toegevoegde waarde kan zijn.
Van de ongeveer 50 ideeën hebben we uiteindelijk de volgende case gekozen voor een proof-of-concept:
“Kunnen we met kunstmatige intelligentie ritten van tenders zo aan elkaar knopen dat Emons zo min mogelijk lege kilometers rijdt?”
In Europa rijdt 20% van de vrachtwagens leeg, dat is 1 op de 5! Door ritten slim aan elkaar te knopen kunnen we kostbare kilometers efficiënter en daarmee ook duurzamer afleggen. Makkelijker gezegd dan gedaan natuurlijk, aangezien de mogelijkheden enorm zijn. Voor de proof-of-concept hebben we een Unilever dataset gebruikt met daarin een lijst met ritten waar vervoerders op kunnen bieden. Ik neem je stap voor stap mee in onze aanpak.
Aanpak
In de dataset staan ongeveer 1000 routes, waarvan onder andere de ophaallocatie, afleverlocatie, frequentie per jaar, afstand in kilometers en overige specificaties van bekend zijn. Allereerst hebben we alle locaties door de Google Maps API gehaald zodat we de coördinaten op de kaart konden weergeven.
Omdat de mogelijkheden voor de agent met elke extra locatie exponentieel toenemen, hebben we ervoor gekozen om de locaties te clusteren. Hierdoor kan de agent efficiënter interessante routes identificeren. Het clusteren van de locaties heeft de onderstaande kaart opgeleverd. Naast de locaties is met de grootte van de cirkel aangegeven hoeveel ritten vertrekken of aankomen bij het cluster. Dit geeft een eerste indicatie van de “betere” locaties. Daar waar ophaal- en afleverclusters bij elkaar liggen en de cirkels vergelijkbaar zijn rijdt Emons waarschijnlijk weinig leeg.
Om een beeld te krijgen van de ritten die er zijn tussen ophaal- en afleverclusters hebben we alle ritten gecombineerd per cluster. Zo hebben we een gemiddelde afstand tussen de clusters, de frequentie van de rit en het aantal ritten inzichtelijk. De lege kilometers van een route maken we inzichtelijk door de afstand te schatten tussen een aflevercluster en het dichtstbijzijnde ophaalcluster.
We maken voor deze agent gebruik van reinforcement learning, een techniek binnen machine learning waarmee een agent kan leren op basis van een simulatie. Voor die simulatie hebben we drie dingen nodig; het speelveld, het scorebord en de agent.
Speelveld
Scorebord
- Hoe lang is de gekozen rit?
De agent leert zo dat de voorkeur uitgaat naar langere ritten. - In hoeverre komt de frequentie overeen?
Wanneer de frequentie tussen ritten dicht bij elkaar liggen, is de kans op lege kilometers door het jaar heen lager. - Wat is het ratio lege kilometers?
Wanneer een lading wordt afgeleverd, rijdt een vrachtwagen leeg naar de volgende ophaallocatie. Door dit ratio mee te nemen geeft de agent de voorkeur aan afleverlocaties waar hij dichtbij weer kan inladen.
Agent
Resultaten
Bij het trainen van de agent begint hij elke keer op een willekeurige ophaallocatie, onderneemt hij acties en krijgt hij daarvoor scores. Op basis van die scores past de agent zijn neurale netwerk steeds aan zodat hij in het vervolg een betere voorspelling maakt. Na genoeg trainen en steeds meer simulaties, is de agent in staat hoge scores te halen. In slechts 10 minuten trainen is de agent in staat om negatieve scores om te draaien in positieve scores waarbij steeds dichter bij het maximum komt. Dit geeft ons vertrouwen dat ook wanneer we meer tender documenten toevoegen de agent nog steeds mooie routes kan identificeren. Hieronder staan de gemiddelde scores die de agent heeft gehaald. Een interessante observatie is dat de agent na ongeveer 4000 iteraties nog iets nieuws leert, de gemiddelde score blijft langzaam stijgen.
Om te laten zien dat de agent in staat is slimme beslissingen te maken, hebben we hem vóór en na trainen gevraagd ritten aan elkaar te knopen.
Wanneer we de agent nog niet getraind hebben, zal hij willekeurig acties selecteren. Vaak zal de agent afleverclusters selecteren waar geen ritten naartoe zijn. Dit resulteert in een slechte score.
Ophaalcluster | Aflevercluster | Bestaat rit? | Frequentie | Ratio vol | Afstandsscore | Frequentie score | Score |
---|---|---|---|---|---|---|---|
15 | 26 | nee | – | – | – | – | -20 |
9 | 18 | nee | – | – | – | – | -20 |
13 | 1 | ja | 40 | 7,68 | 1,02 | 5,67 | 14,36 |
1 | 25 | nee | – | – | – | – | -20 |
19 | 11 | ja | 25 | 5,68 | 2,62 | 3,54 | 11,86 |
-33,78 |
Na het trainen van de agent heeft deze geleerd welke ritten interessant zijn wanneer hij al ergens geweest is. Hij zal niet meer voorstellen om ergens leeg heen te rijden, daarnaast matcht hij frequenties met elkaar en geeft hij de voorkeur aan langere ritten.
Ophaalcluster | Aflevercluster | Bestaat rit? | Frequentie | Ratio vol | Afstandsscore | Frequentie score | Score |
---|---|---|---|---|---|---|---|
22 | 1 | ja | 25 | 7,67 | 3,95 | 5,42 | 17,04 |
1 | 9 | ja | 25 | 9,80 | 3,23 | 5,42 | 18,44 |
12 | 7 | ja | 20 | 6,09 | 5 | 4,33 | 15,42 |
7 | 9 | ja | 25 | 9,80 | 5 | 4,33 | 19,13 |
12 | 1 | ja | 24 | 7,68 | 2,92 | 4,5 | 15,10 |
85,13 |
Takeaways
Met deze proof-of-concept hebben we laten zien dat reinforcement learning een geschikte techniek is om snellere en betere beslissingen te maken in de logistiek. De belangrijkste takeaways zijn van de pilot zijn:
- Tientallen cases geïdentificeerd waar we met AI waarde kunnen toevoegen voor Emons en zijn klanten.
- Reinforcement learning succesvol toegepast met het oog op ondersteuning in het plannen van ritten waarbij er zo min mogelijk lege kilometers worden gereden.
- Het bepalen van het scorebord voor een combinatie van ritten helpt Emons in het evalueren en verbeteren van de eigen aanpak.
Written by Martijn Gemmink