Dynamic Vehicle Routing Problem with Prompt Confirmation of Advance Requests

Deze paper introduceert een nieuwe aanpak voor het dynamisch voertuigroutingprobleem die prompte bevestiging van vooraf aangevraagde ritten combineert met voortdurende optimalisatie, waarbij reinforcement learning wordt gebruikt om het aantal succesvol gerealiseerde ritten in de praktijk te maximaliseren.

Amutheezan Sivagnanam, Ayan Mukhopadhyay, Samitha Samaranayake, Abhishek Dubey, Aron Laszka

Gepubliceerd 2026-03-10
📖 5 min leestijd🧠 Diepgaand

Each language version is independently generated for its own context, not a direct translation.

Stel je voor dat je een super-dynamische taxi-dienst runt. Mensen bellen of appen en zeggen: "Ik wil om 14:00 uur hier weg en om 15:00 uur daar zijn." Jij hebt een vloot van busjes met een beperkt aantal zitplaatsen.

Deze paper beschrijft een slimme manier om dit te regelen, zodat je niet alleen snel antwoord geeft, maar ook zo min mogelijk mensen afwijst.

Hier is de uitleg, vertaald naar alledaagse taal met een paar leuke vergelijkingen:

1. Het Grote Probleem: De "Te Snelle" vs. De "Te Slimme"

Tot nu toe hadden planners twee opties, maar beide hadden een nadeel:

  • Optie A (De Haastige): Je zegt direct "Ja" of "Nee" zodra een verzoek binnenkomt.
    • Voordeel: De klant krijgt direct geruststelling.
    • Nadeel: Je bent te snel. Je zegt "Ja" tegen iemand, maar later blijkt dat je eigenlijk een ander verzoek had moeten accepteren dat veel beter paste. Je mist kansen omdat je niet verder kijkt dan je neus lang is.
  • Optie B (De Perfectie-zoeker): Je wacht even, kijkt naar alle verzoeken, en probeert de perfecte route te vinden voordat je iets zegt.
    • Voordeel: Je vindt de allerbeste routes.
    • Nadeel: De klant moet te lang wachten. "Wacht even, ik check het nog even..." is frustrerend.

De oplossing in deze paper: Een hybride aanpak. Je geeft direct antwoord (binnen een fractie van een seconde), maar je blijft in de achtergrond doorgaan met het verbeteren van de routes zolang er geen nieuw verzoek binnenkomt.

2. Hoe werkt het? De "Snelle Schatting" en de "Sluwe Chef"

Stel je dit proces voor als een restaurant:

Stap 1: De Snelle Schatting (Prompt Confirmation)

Wanneer een klant belt, moet de ober (ons algoritme) binnen een seconde zeggen: "Ja, we kunnen u meenemen" of "Nee, het is vol."

  • Hoe doen ze dit? Ze gebruiken een snelle "invoeg"-methode. Ze kijken naar de huidige route van de busjes en vragen zich af: "Kan ik deze nieuwe klant netjes tussen de bestaande stops inplakken zonder dat het chaotisch wordt?"
  • Ze doen dit razendsnel. Als het kan, zeggen ze "Ja". Zo krijgt de klant direct zekerheid.

Stap 2: De Sluwe Chef (Continual Optimization)

Zodra de ober het "Ja" heeft gezegd, is het werk niet klaar. De "Sluwe Chef" (een ander algoritme) gaat aan het werk in de keuken, terwijl de ober nieuwe gasten bedient.

  • Wat doet de Chef? Hij kijkt naar de routes die net zijn gemaakt en zegt: "Wacht even, als we deze stop hier en die stop daar verplaatsen, kunnen we straks misschien nog wel twee extra mensen meenemen."
  • Hij blijft de routes continu optimaliseren zolang er geen nieuw verzoek binnenkomt. Zodra de volgende klant belt, stopt de Chef met zijn hersenspinsels en gebruikt hij de beste versie van de route die hij tot nu toe heeft gevonden.
  • Dit is als een Anytime-algoritme: het kan op elk moment worden gestopt en geeft dan het beste antwoord dat tot dat moment beschikbaar was.

3. De "Kristallen Bol" (Reinforcement Learning)

Het moeilijkste deel is: Wanneer moet je "Ja" zeggen en wanneer "Nee"?
Als je nu "Ja" zegt tegen een klant die ver weg woont, heb je misschien geen plek meer voor een klant die straks belt en die veel dichterbij woont.

Om dit slim te doen, hebben de auteurs een AI-trainer gebruikt (Reinforcement Learning).

  • De Vergelijking: Stel je voor dat je een jonge kok traint. Je laat hem duizenden keren koken in een virtuele keuken. Soms zegt hij "Ja" en hij mist later een grote groep gasten. Soms zegt hij "Nee" en hij had die gasten wel kunnen meenemen.
  • De AI leert van deze fouten. Ze ontwikkelt een intuïtie (een "niet-korte-ziende" doelstelling). Ze leert niet alleen om nu een klant te bedienen, maar om te kijken naar de lange termijn: "Als ik deze klant nu accepteert, heb ik straks genoeg ruimte voor de drukte vanavond?"
  • Door deze AI te trainen, weet het systeem precies welke routes de meeste kans hebben om in de toekomst succesvol te zijn.

4. Wat is het resultaat?

De auteurs hebben dit getest met echte data van een openbaar vervoersbedrijf in de VS en met taxi-data uit New York.

  • Snelheid: Ze geven antwoord in 0,2 seconden. Dat is sneller dan je kunt knipperen.
  • Efficiëntie: Ze weigeren veel minder mensen dan de oude methoden.
    • Vergelijking: Stel dat de oude methoden 10 mensen afwezen, dan weigert deze nieuwe methode er maar 1. Dat is een enorm verschil voor de klanttevredenheid.

Samenvatting in één zin

Deze paper introduceert een slim systeem dat direct antwoord geeft aan klanten (zoals een snelle ober), maar in de tussentijd slim blijft nadenken over hoe de routes het beste kunnen worden ingedeeld (zoals een strategische chef-kok), zodat er in de toekomst zoveel mogelijk mensen kunnen worden vervoerd.

Het is de perfecte balans tussen gemak voor de klant (direct antwoord) en efficiëntie voor de vervoerder (minder afwijzingen).