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

Het speelveld waar de agent zich in kan bewegen bestaat uit alle ophaalclusters. Om ervoor te zorgen dat de agent weet waar die is geweest onthouden we de laatste 5 stappen. Zo kan de agent een gewogen beslissing nemen op basis van acties uit het verleden. Dit is belangrijk voor o.a. de frequentie van de ritten. De acties die de agent kan nemen in het speelveld is beslissen naar welk aflevercluster hij wil rijden. Daarnaast kan de agent ook bepalen dat hij klaar is, bijvoorbeeld wanneer er geen goede rit meer is aan te wijzen.

Scorebord

Om de agent te trainen en intelligenter te laten worden moeten we hem vertellen hoe goed hij het heeft gedaan, dat doen we met een scorebord. We beoordelen de agent op 3 criteria:
  • 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

De agent bestaat uit het neurale netwerk, waarin de kennis zit opgeslagen. Door one-hot-encoding kunnen we de zorgen dat de agent het speelveld – en de volgorde van de ritten – kan “zien”. Daarna gebruiken we Advantage Actor Critic (A2C) als techniek om de agent te trainen. Deze techniek is geschikt voor deze puzzel omdat het de waarde van het speelbord én het mogelijke voordeel van een actie probeert te voorspellen. Zo kan de agent beter inschatten wat de beste actie is om te nemen.

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.

Ongetraind
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
Getraind
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.

Ook interesse in een AI workshop waarbij we mogelijke cases eens verkennen? Neem contact met me op of bel mij op +31 (0)6 39 56 09 34.

For what's next

Find us

Barkenkamp 5
7141 EL Groenlo
Nederland

Let's meet

info@bullit.digital

© Bullit Digital 2021