En praktisk løsning til ruteplanlægning


19 Jun 2018 - Dan Kristiansen

En aSTEP applikation med en greedy heuristic tilgang til “the capacitated vehicle routing problem”.

aSTEP er en spatio-temporal data styring med en analytisk platform, som er tiltænkt at hjælpe udviklere med at udvikle en lokationsbaseret service. aSTEP er et overgangsprojekt som går imellem flere årgange af Bachelor semester. Projektet er fordelt ud over flere grupper med individuelle ansvarsområder af egenskaber for aSTEP.

aSTEP functionaliteten af dette projekt fokuserer på logistik, som tillader speditøren genererede ruter, baseret på en input defineret pakkeliste. Løsningen er implementeret med savings algorithm, og Large NeighborhoodSearch for at optimere ruterne. Ruterne er udregnet fra pakkelisten og en rejsetid imellem destinationerne i pakkelisten. Rejsetiden er udregnet med Open Source Routing Machine, som bruger Multi Level Dijkstra til at udregne rejsetiden via data fra Open StreetMap. Til projektet er der blevet sat Continuous Integration op med GitLab Runner. GitLab Runner producerer systemet og gemmer det i GitLab Container Registry, hvor et script puller systemet og sætter det op på hjemmesiden, helt automatisk.

Figuren nedenfor illustrerer systemet. Systemet bruger et vej netværk, en liste af distributions center og en liste af destinationer. Systemet indeholder en JSON parser, som kan tage pakkelisten, som kan indeholde dimensioner, vægt og destination for gods. Systemet indeholder og et system som automatisk kan generere en tilfældig pakkeliste.

Brugere af systemes har mulighed for at bruge 2 forkellige brugerflader, som kan ses på (mærke 2). Pakkelisten kan uploades ved (mærke 3) eller kan blive genereret tilfældigt (mærke 6). Mærke 4 og 5 viser forskellige parameter, som man kan ændre og konfigurere algoritmen, rute optimering og pakkeliste genereringen. Ruterne er vist på kortet (mærke 8), hvor de forskellige ruter er repræsenteret med forskellige farver. Informationsbaren indeholder de foskellige ruter som kan udvælges (mærke 9), for at se specifik information, mærke 10 viser tiden for ruten. Hele ruteplanen kan gemmes som en fil (mærke 7).