Handleiding

Handleiding voor de testversie Waaslandia Rol & Planning. Deze handleiding legt in eenvoudige stappen uit hoe het systeem werkt en hoe u snel een optimale rol & planning opstelt.

1. Snelstartgids

1

Diensten importeren

Belangrijk: Selecteer eerst de gewenste Locatie (bijv. Kruger) en Periode (P2 of P3) in de menubalk bovenaan voordat u het Excel-bestand uploadt. Ga daarna naar het tabblad Import. Upload het bronbestand (let op: alleen .xlsx bestanden worden ondersteund, bijv. 1.xlsx) of klik op de snel-importknop om de diensten met begin/eindtijden, AT en BT te laden voor de gekozen selectie.

2

Basisrol opmaken (Sjabloon)

Gebruik het tabblad Basisrol. Dit is het wekelijkse basissjabloon. U kunt op "Rol opmaken" klikken om de solver automatisch een optimaal 7-daags patroon te laten berekenen dat voldoet aan alle CAO-regels, of dit handmatig invullen.

3

Planning uitrollen

Klik rechtsboven op de knop "Planning uitrollen". Selecteer de start- en einddatum (bijv. een heel kwartaal). Dit projecteert het wekelijkse basisrol-sjabloon op de echte kalenderdagen in die periode.

4

Planning controleren & bijsturen

In het tabblad Planning ziet u de kalender. Eventuele overtredingen (zoals te weinig rust tussen diensten) lichten direct op. U kunt op elke dag klikken om handmatig diensten, verlof (V), reserves (R), of rustdagen (X) aan te passen.

5

Kwartaaloverzicht inspecteren

Navigeer naar het Kwartaaloverzicht. Hier ziet u per rosterlijn of de chauffeurs gemiddeld voldoen aan de CAO 37-uren norm over de referentieperiode van 13 weken. Dit voorkomt kostbare urentop-ups.

2. Kernconcepten

AT vs BT

  • Arbeidstijd (AT): De actieve rijtijd van de busdienst. Telt mee voor de 37u CAO norm.
  • Betaalde tijd (BT): Wachturen en administratietijd die deels of volledig worden vergoed maar niet als rij-arbeid tellen.

Rosterlijnen & Periodes

  • Elke rosterlijn vertegenwoordigt een chauffeur of planningsspoor (bijv. Lijn 1).
  • P2 (School) en P3 (Vakantie) hebben gescheiden basisrollen om rekening te houden met de gewijzigde dienstregeling.

3. Basisrol vs Kalenderplanning

Het is belangrijk om het verschil te begrijpen tussen het Sjabloon (de Basisrol) en de Werkelijke Kalenderplanning:

De Basisrol (7-daags sjabloon)

Dit is uw vaste rotatiepatroon (van zondag t/m zaterdag). Hier legt u vast welke chauffeur op welke dag een vroege of late dienst rijdt, of rust heeft. Dit patroon herhaalt zich elke week.

De Kalenderplanning (Werkelijk verloop)

Wanneer u de basisrol uitrolt, worden de sjabloongegevens gekopieerd naar echte datums (bijv. maandag 6 juli 2026). Vanaf dit moment kunt u specifieke wijzigingen doorvoeren op dagniveau (bijvoorbeeld verlof registreren voor een specifieke datum of zieken vervangen) zonder de vaste basisrol te wijzigen.

4. Het Automatisch Plannen (Solver)

De knop "Rol opmaken" start de geavanceerde Google OR-Tools CP-SAT solver. Dit wiskundige algoritme zoekt naar de meest optimale verdeling van diensten over de beschikbare rosterlijnen.

Hoe werkt de solver? (Cyclische optimalisatie)

In plaats van elke kalenderdag apart te plannen (wat miljoenen variabelen en trage zoektijden zou opleveren), optimaliseert het algoritme een sjabloonweek van 7 dagen (zondag t/m zaterdag). Omdat diensten zich wekelijks herhalen, kan de solver hierdoor binnen enkele seconden een wiskundig optimaal basisschema berekenen. Dit schema wordt vervolgens bij het uitrollen geprojecteerd over het gehele kwartaal.

Harde restricties (Waar de solver ALTIJD aan voldoet)

Het algoritme kan geen planning genereren die deze wetten of instellingen overtreedt:

  • Eén taak per dag: Een chauffeur heeft per dag exact één status: een Werkdienst, een Rustdag (X) of een Reservedag (R).
  • Volledige dekking: Elke geïmporteerde dienst moet precies één keer worden toegewezen aan een chauffeur.
  • Minimaal 2 rustdagen per week: Elke rosterlijn krijgt gegarandeerd ten minste 2 rustdagen per week toegewezen.
  • Minimale dagelijkse rusttijd: Er zit altijd minimaal 12 uur (of de ingestelde rusttijd) tussen de eindtijd van een dienst en de starttijd van de volgende dienst.
  • Opeenvolgende werkdagen: Chauffeurs werken nooit meer dan het geconfigureerde maximum aantal opeenvolgende dagen (standaard max. 5 actieve werkdagen in de solver).

Zachte doelen (Waar de solver op OPTIMALISEERT via een strafpuntensysteem)

Niet alle regels zijn zwart-wit. De solver gebruikt wegingsfactoren (strafpunten) om de best mogelijke balans te vinden tussen operationele rust en efficiëntie:

  • Urenbalans (37u norm): De solver probeert de som van AT (Arbeidstijd) per rosterlijn zo dicht mogelijk bij het target (37 uur per week) te brengen door afwijkingen wiskundig te minimaliseren.
  • Weekendkoppeling: Rustdagen op zaterdag en zondag worden bij voorkeur aan elkaar gekoppeld, zodat chauffeurs complete weekenden vrij hebben in plaats van losse dagen.
  • Dienst-consistentie: Identieke ritten (met dezelfde tijden en type) worden bij voorkeur aan dezelfde rosterlijnen toegekend voor een rustige en voorspelbare planning.
  • Reservebuffer (8% reserve): De solver past een extreem hoge penalty toe (gewicht 1.000.000) op het activeren van extra rosterlijnen boven de operationeel noodzakelijke basislijnen. Dit dwingt de solver om de reserve-lijnen gegarandeerd leeg te laten als reservebuffer.

5. CAO & Validatieregels

Het dashboard valideert de planning continu tegen de CAO (en de richtlijnen van Gino) en waarschuwt u bij overtredingen:

Minimale Rusttijd

Tussen twee opeenvolgende diensten moet een chauffeur rusten. Het absolute wettelijke minimum is 8 uur (kritieke fout). De streefnorm is 12 uur (zachte waarschuwing).

Maximaal Opeenvolgende Werkdagen

Een chauffeur mag maximaal 10 dagen achter elkaar werken zonder rustdag. Het overschrijden hiervan geeft een kritieke foutmelding.

Wekelijkse Rustdagen

In een kalenderweek (zondag t/m zaterdag) moeten er minimaal 2 rustdagen (X) zijn ingepland.

37-uren Gemiddelde Norm

Over een periode van 13 weken (een kwartaal) moeten chauffeurs gemiddeld minimaal 37 uur per week werken. In de planningstabel en het kwartaaloverzicht wordt aangegeven waar tekorten (bijbetalingen) dreigen te ontstaan.

6. Instellingen & Parameters

Alle regels, limieten, en wegingen binnen het systeem zijn dynamisch aanpasbaar per locatie en periode (P2/P3). U kunt deze parameters configureren op de Instellingen-pagina.

⚖️ CAO & Rijtijdenregels

  • Minimale rusttijd tussen diensten: Minimale rusttijd in minuten tussen twee diensten. Wettelijk minimum is 480 minuten (8 uur); de streefnorm is 720 minuten (12 uur).
  • Max opeenvolgende werkdagen: Het maximum aantal dagen dat een chauffeur achter elkaar mag werken zonder een rustdag (X). Wettelijk maximum is 10 dagen; aanbevolen is 7–8 dagen.

📦 Capaciteit & Rosterlijnen

  • Aantal rosterlijnen: Bepaalt het aantal actieve planningslijnen. Als dit op 0 staat, berekent het systeem dit aantal automatisch op basis van het aantal geïmporteerde diensten en het reservepercentage.
  • Reserve percentage: Het percentage reservelijnen ten opzichte van het totale aantal benodigde lijnen (aanbevolen: 8%). Dit zorgt voor de nodige bufferlijnen in de basisrol.

⏱️ Pauzes & Administratietijd

  • Korte pauze drempel: Pauzes kleiner of gelijk aan dit aantal minuten tellen voor 100% mee als arbeidstijd (AT) en betaalde tijd (BT).
  • Midden pauze drempel: Pauzes groter dan de korte drempel maar kleiner of gelijk aan deze drempel tellen voor 0% mee als AT (niet-rijtijd) maar worden wel voor 100% uitbetaald (BT).
  • Administratietijd voor/na de rit: Het aantal minuten dat automatisch wordt toegevoegd aan het begin (voor) en het einde (na) van een dienst voor opstart, afsluiting of voertuigcontrole.

🤖 Solver Parameters

  • Maximale zoektijd solver: De tijdslimiet in seconden waarbinnen de solver naar een geldige of optimale planning moet zoeken (aanbevolen: 8–15 seconden).
  • Aantal solver workers: Het aantal CPU-threads dat parallel naar oplossingen zoekt.
  • MIP gap limit: Bepaalt wanneer de solver stopt; een waarde van 0.15 betekent dat de solver stopt als de planning binnen 15% van de absolute wiskundige perfectie ligt.
  • Template consistentie gewicht: Bepaalt hoe zwaar het algoritme bestraft wordt voor het wisselen van niet-identieke diensten op opeenvolgende dagen.
  • Stop na eerste oplossing: Indien ingeschakeld, stopt de solver direct zodra er een geldige planning is gevonden (zeer snel, maar mogelijk minder geoptimaliseerd).
⚠️ Let op: Gewijzigde parameters worden direct toegepast op de live planningvalidaties en worden als restricties meegegeven aan de planningssolver bij een nieuwe run.