The Bishop

Picked up.
Delivered on time.

Gekoppelde ritten op één voertuig, binnen hun tijdvensters, binnen de capaciteit.
Vier voertuigen die patiënten ophalen en bij drie klinieken in Gent afzetten, op de live donkere kaart
VANS
09:0010:0011:00NOW 09:50
Arne Devos07:30–16:30
9 stops · 1:05 drive
Ambulant2/4
Wheelchair0/2
08:35
PICKUP
Patient A
+1 Ambulant1/4
08:57
PICKUP
Patient B
+1 Ambulant2/4
09:19
DELIVERY
Patient A
−1 Ambulant1/4
09:50
DELIVERY
Patient B
−1 Ambulant0/4
10:12
PICKUP
Patient C
+2 Ambulant2/4
10:34
DELIVERY
Patient C
−2 Ambulant0/4
10:55
PICKUP
Patient D
+1 Ambulant1/4
Lotte Peeters07:30–16:30
11 stops · 1:12 drive
Ambulant3/4
Wheelchair1/1
08:37
PICKUP
Patient H
+2 Ambulant2/4
08:59
PICKUP
Patient J
+1 Ambulant3/4
09:21
DELIVERY
Patient H
−2 Ambulant1/4
09:44
DELIVERY
Patient J
−1 Ambulant0/4
10:02
PICKUP
Patient K
+1 Wheelchair1/1
10:24
PICKUP
Patient L
+1 Ambulant1/4
10:46
DELIVERY
Patient K
−1 Wheelchair0/1
Wout Claes08:00–17:00
8 stops · 0:58 drive
Ambulant2/3
Wheelchair1/2
08:42
PICKUP
Patient E
+1 Ambulant1/3
09:04
PICKUP
Patient F
+1 Wheelchair1/2
09:27
DELIVERY
Patient E
−1 Ambulant0/3
09:49
DELIVERY
Patient F
−1 Wheelchair0/2
10:15
PICKUP
Patient G
+1 Ambulant1/3
10:37
DELIVERY
Patient G
−1 Ambulant0/3
UNPLACED · 2
Ritten die de solver niet kon plaatsen.
MEDIUMPatient M
window 13:00–15:00 unreachable
LOWPatient N
optional · skipped
Live plan · GhentNOW 09:50
Vans4
Unplaced2
Voertuigen die patiënten ophalen en bij klinieken in Gent afzetten, op de live donkere kaart
Arne Devos07:30–16:30
Ambulant2/4
08:35PICKUPPatient A+1 Amb · 1/4
08:57PICKUPPatient B+1 Amb · 2/4
09:19DELIVERYPatient A−1 Amb · 1/4
NOW 09:50
09:50DELIVERYPatient B−1 Amb · 0/4
10:12PICKUPPatient C+2 Amb · 2/4
UNPLACED · 2Patient M · window 13:00–15:00 unreachable

The load is tracked stop by stop.

Capaciteit is getypeerd, en de types bepaal je zelf: zitplaatsen en rolstoelplaatsen voor patiëntenvervoer, paletten, kratten of koudeketen voor vracht. Elke dimensie heeft een eigen limiet per voertuig, en de lopende lading wordt op elk traject gecontroleerd, niet alleen bij vertrek.

Running load · seated places
Vans4
Capacity checks0 exceeded
Ride burden4h 02m
VEHICLES
08:0009:0010:0011:0012:0013:0014:0015:00
Van 1 · Lift
4 seats · 2 wheelchair
cap 4
W·1
W·1
Van 2 · Std
4 seats · 1 wheelchair
cap 4
4/4
Van 3 · Lift
3 seats · 2 wheelchair
cap 3
W·1
W·2
W·1
Van 4 · Std
4 seats · no wheelchair
cap 4
Running load · seated places
Capacity checks0 exceeded
Ride burden4h 02m
08:0009:0010:0011:0012:00Van 2 · Std4 seats · 1 wcVan 3 · Lift3 seats · 2 wccap 4cap 3FULL 4/4W·1W·2W·1

Same vehicle, pickup first

Beide stops van een rit zitten op hetzelfde voertuig, en de ophaling komt in de route altijd vóór de levering. Allebei harde regels.

Ride time is capped

De tijd in het voertuig is per rit begrensd: standaard 45 minuten, of een strakkere limiet per rit. Een omweg die een passagier of lading langer aan boord houdt, is niet toegelaten.

Direct rides

Een rit kan pooling uitsluiten. Tussen de ophaling en de levering wordt geen enkele andere stop bediend.

Typed capacity, defined by you

Laaddimensies stel je per operatie in: zitplaatsen, rolstoelplaatsen, pakketten, paletten, wat het voertuig ook vervoert. Een voertuig zonder capaciteit in een dimensie krijgt die rit nooit.

Load follows the route

Bij elke stop wordt de lopende lading bijgewerkt: ophalingen tellen erbij, leveringen eraf. De limiet geldt op elk traject tussen stops.

Hard time windows

Elke stop heeft een eigen venster. Te vroeg aankomen betekent wachten; de service starten nadat het venster sluit, kan niet.

Shift hours

Een bestelwagen vertrekt bij shiftstart vanaf zijn basis en moet zijn laatste stop vóór het einde van de shift afronden.

The day is repaired from where it stands.

Stops die al bediend zijn, liggen vast en hun ritten blijven op hun voertuig. Een panne, een dringende rit of een melding van een chauffeur zet een nieuwe solve in gang voor wat nog openstaat.

Van 3 · breakdown10:36
Fabry · Sint-Amandsberg → Clinic C
Van 1 · 11:05
Segers · Dampoort → Clinic A
Van 4 · 11:48 +12 min
Nys · Ledeberg → Clinic C
Van 2 · 12:15
Simon · Denis · Lambert · delivered before 10:36
unchanged

The NOW line locks the past

Bediende stops staan vast en hun ritten blijven aan hun voertuig gekoppeld. Een nieuwe solve wijzigt alleen wat nog openstaat.

Breakdowns re-flow the work

Meld een bestelwagen defect en zijn resterende ritten komen opnieuw open en landen bij de volgende solve op de andere wagens.

Urgent trips slot in

Een nieuwe ophaling en levering kan tijdens de dag worden toegevoegd en wordt bij de volgende solve ingepland.

Manual dispatch is pinned

Sleep een rit naar een specifieke wagen en hij blijft daar staan. De rest van het plan optimaliseert zich eromheen.

Trips can be dispatched by hand.

Sleep een rit op een wagen en hij wordt aan dat voertuig vastgepind. De solver blijft de volgorde en de timing kiezen; het voertuig is de beslissing van de dispatcher. Terugslepen maakt de pin weer los.

VANS
09:0010:0011:00
Arne Devos07:30–16:30
6 stops · 0:58 drive
08:35
PICKUP
Patient A
+1 Ambulant1/4
08:57
PICKUP
Patient B
+2 Ambulant3/4
09:19
DELIVERY
Patient A
−1 Ambulant2/4
09:41
PICKUP
Patient P
+1 Wheelchair1/2
10:03
DELIVERY
Patient B
−2 Ambulant0/4
10:25
DELIVERY
Patient P
−1 Wheelchair0/2
Lotte Peeters07:30–16:30
6 stops · 1:04 drive
08:37
PICKUP
Patient H
+2 Ambulant2/4
08:59
PICKUP
Patient J
+1 Ambulant3/4
09:21
DELIVERY
Patient H
−2 Ambulant1/4
09:45
PICKUP
Patient K
+1 Ambulant2/4
10:06
DELIVERY
Patient J
−1 Ambulant1/4
10:28
DELIVERY
Patient K
−1 Ambulant0/4
Wout Claes08:00–17:00
2 stops · 0:24 drive
08:42
PICKUP
Patient E
+1 Ambulant1/3
09:04
DELIVERY
Patient E
−1 Ambulant0/3
09:45
PICKUP
Patient K
+1 Ambulant1/3
10:28
DELIVERY
Patient K
−1 Ambulant0/3
Laat hier los om de rit naar deze wagen te verplaatsen.
VANS
09:0010:0011:00
Lotte6 stops
08:59
PICKUP
Patient J
09:45
PICKUP
Patient K
10:28
DELIVERY
Patient K
Wout2 stops
08:42
PICKUP
Patient E
09:04
DELIVERY
Patient E
09:45
PICKUP
Patient K
10:28
DELIVERY
Patient K
Laat hier los om de rit naar deze wagen te verplaatsen.

Drag a trip to a van

Een rit die je naar een andere wagen sleept, verhuist met zijn beide stops en wordt daar vastgepind. De volgende solve plant hem op dat voertuig, op de beste positie die de regels toelaten.

Pins hold through re-solves

Een vastgepinde rit verhuist nooit naar een ander voertuig, wat de gewichten ook zeggen. Hem terug op zijn eigen rij droppen maakt de pin los.

The solver keeps the timing

Een pin legt het voertuig vast, niet de klok. Volgorde en tijden binnen die route blijven geoptimaliseerd tegenover elke andere regel.

Take a van out of the plan

Een voertuig kan uit een solve worden gehaald, als what-if. Zijn ritten komen opnieuw open en de overige wagens nemen op wat past.

The trade-offs are weights, set per solve.

Rijtijd, SLA-vertraging, geschrapte optionele ritten en eerlijkheid over de wagens heen dragen elk een apart gewicht. Dezelfde ritten opnieuw gesolved onder andere gewichten geven een ander plan; de cijfers tonen de afweging.

Solve A
drive 1 · SLA 1 · optional 1 · fairness 0
Drive time6h 20m
SLA breaches3
Trips placed13 / 14
Ride burden4h 02m
Solve B
drive 1 · SLA 9 · optional 1 · fairness 0
Drive time6h 48m
SLA breaches0
Trips placed14 / 14
Ride burden4h 25m

Four weights

Reistijd, SLA-vertraging, niet-toegewezen optionele ritten en een eerlijke verdeling per wagen dragen elk een gewicht, ingesteld per solve. Nul schakelt er een uit.

Priorities scale the cost of dropping

Een niet-toegewezen rit kost zijn prioriteitsgewicht, dus werk met hoge prioriteit wordt eerst beschermd wanneer de capaciteit krap wordt.

SLA pulls arrivals forward

Een stop met een SLA krijgt een boete per minuut dat hij na de deadline aankomt, en dat weegt zwaarder dan pure rijtijdwinst.

Fairness across vans

Een optionele balansdoelstelling spreidt de rijtijd over de vloot. Standaard uit, aan wanneer gelijke dagen zwaarder wegen dan totale minuten.

Your own rules can be modelled in.

De constraints hierboven zijn de standaardset. Regels die eigen zijn aan je operatie worden als harde of zachte constraints met een eigen gewicht aan het model toegevoegd. De solver behandelt ze zoals de ingebouwde: harde regels worden nooit gebroken, zachte regels worden afgewogen tegen de rest.

Score analysisper constraint
Pickup before deliveryHard0
Typed capacityHard0
SLA latenessSoft ×1−38
Siblings share a vanCustomHard0
One wheelchair per arrival slot · Clinic ACustomHard0
Regular driver preferredCustomSoft ×2−96

Hard or soft, per rule

Een eigen regel is ofwel absoluut ofwel een gewogen voorkeur. Absolute regels worden nooit gebroken; voorkeuren dragen een gewicht dat je per solve instelt.

Scored during the solve

Eigen regels worden tijdens het zoeken op elk kandidaat-plan geëvalueerd, niet achteraf gecontroleerd. Een plan dat er een breekt, wordt nooit voorgesteld.

Visible in the score

Elke regel rapporteert zijn eigen bijdrage, zodat je ziet wat hij het plan kost, zijn gewicht kan bijstellen of hem kan uitschakelen.

From your wording to a rule

Je beschrijft de regel zoals je dispatchers hem formuleren; hij wordt een benoemde constraint in het model.