Conflicten opsporen en oplossen (bij de roostergeneratie)
Omniscol spoort conflicten doorlopend op tijdens de voorbereiding van een rooster en bij elke handmatige plaatsing. De diagnose onderscheidt blokkerende conflicten van niet-nageleefde beperkingen en van waarschuwingen die een afweging vragen, en ze codeert die ernst met een kleur — op de kandidaat-tijdsloten en de keuzelijsten wanneer u een les plaatst, en op elke regel van het diagnosepaneel. De roostergeneratie is een aparte berekening (het algoritme plaatst binnen de beperkingen, of laat een les ongeplaatst): haar diagnose komt aan bod in Een mislukte roostergeneratie diagnosticeren.
Wat de diagnose controleert
- Bezetting (dubbele boeking) — een docent, een klas, een groep, een leerling, een lokaal of een resource kan niet voor twee overlappende lessen dienen, behalve bij expliciete modellering (compatibele groepen, klasverdelingen, grote lokalen).
- Beschikbaarheid en tijdsbeperkingen — een als onbeschikbaar opgegeven periode, of een niet-nageleefde tijdsbeperking (docent, klas, groep, lokaal, cursus, vestiging), waarbij de ernst afhangt van de prioriteit van de beperking. Een opgelegd datumvenster is daarentegen altijd blokkerend.
- Capaciteit en diensturen — overbezetting van een lokaal, een resource die in te veel exemplaren wordt gevraagd, een ongeschikt lokaal (capaciteit, specialisatie, vestiging), of overschreden diensturen van een docent.
- Overschrijding van het tijdraster — de te plaatsen lesuren overschrijden het aantal open tijdsloten van het tijdraster, of naderen dat aantal, voor een docent of voor een hele klas.
- Plaatsen en verplaatsingen — onvoldoende reistijd tussen twee vestigingen voor een docent of een klas, of twee als incompatibel opgegeven vakken die op hetzelfde moment staan.
- Kalender — een les geplaatst op een afwezigheid (docent of klas), op een gesloten dag of tijdens vakanties, of op een onverenigbaar evenement.
- Modellering — verbroken groepsuitlijning (uitgelijnde groepen zonder gemeenschappelijke les), een verschillend aantal lessen tussen groepen van eenzelfde klasverdeling of van eenzelfde groepsuitlijning, een ontbrekende docent of een ontbrekend lokaal, of een onvolledige configuratie (vestiging, tijdraster, instelling die vóór de roostergeneratie nodig is).
Conflicten met een ander rooster
In de module Roosterbeheer toetst de diagnose, in de reorganisatie en bij het bewerken van een kalenderrooster, het rooster ook aan de andere roosters die op dezelfde data zijn gepubliceerd en aan de gekoppelde accounts: die welke in het menu Synchronisatie aangevinkt zijn. Een docent, een klas of een lokaal dat in een ervan al bezet is, veroorzaakt een conflict, ook als het huidige rooster op dat moment geen andere les bevat.
In de details van het conflict draagt een les uit een ander rooster, na de naam van de klas, het pictogram gevolgd door het label van dat rooster. Een les uit een gekoppeld account draagt het pictogram gevolgd door de naam van dat account. Omniscol herkent dezelfde klas, hetzelfde lokaal of dezelfde resource over roosters heen aan de externe identificatie, anders aan de naam: zie dezelfde klas over roosters heen herkennen.
Ernstniveaus
Dezelfde ernstschaal — groen, geel, oranje, rood — kleurt meerdere plaatsen in het bewerkingsscherm.
Op de kandidaat-tijdsloten, wanneer u een les plaatst (zie Handmatige plaatsing). En op elke optie in de keuzelijsten: wanneer u een docent, een lokaal, een resource, een groep of deelnemers voor een les kiest, draagt elk item een kalenderpictogram dat gekleurd is volgens zijn niveau op het beoogde tijdslot — groen als de entiteit vrij is, rood als ze bezet is — met de details wanneer u de muisaanwijzer erover beweegt. Alleen een rode onbeschikbaarheid (bezet, gesloten periode) verhindert de keuze; een te klein of verkeerd gespecialiseerd lokaal blijft selecteerbaar, met een waarschuwing.
| Kleur | Betekenis |
|---|---|
| groen | geen conflict — de entiteit is vrij (of een resource blijft onder haar limiet) |
| geel | lichte, niet-blokkerende hinder (tijdsbeperking met gemiddelde prioriteit, volledig vervangen afwezigheid, geschikt maar niet ideaal lokaal) |
| oranje | sterke beperking (tijdsbeperking met hoge prioriteit, lokaal tot 110 % van zijn capaciteit gevuld, diensturen tot 110 %, te korte reistijd tussen vestigingen, incompatibele vakken, gesloten dag) |
| rood | blokkerend conflict (dubbele boeking, verplichte tijdsbeperking of opgelegd datumvenster, lokaal boven 110 % van zijn capaciteit, niet-gedekte afwezigheid, verbroken groepsuitlijning) |
In het diagnosepaneel. Elk vermeld probleem draagt een niveau, dat het filter overneemt. Het paneel brengt oranje en geel onder in één enkel niveau “belangrijk”, en voegt een niveau “advies” toe voor niet-blokkerende informatie:
| Niveau | Betekenis | Overeenkomstige tijdslotkleuren |
|---|---|---|
| rood | Blokkerend conflict | rood |
| geel | Niet-nageleefde beperking / Waarschuwing | oranje + geel |
| blauw | Advies / Limiet nadert | druk op het tijdraster, klasverdelingen |
Wanneer de optie Conflicterende keuzes blokkeren (harde beperkingen) actief is, verhindert Omniscol de keuzes die een sterke beperking zouden veroorzaken; anders blijft de melding zichtbaar zodat de beheerder een afweging kan maken.
Overschrijding en druk op het tijdraster
Omniscol vergelijkt doorlopend de te plaatsen lesuren met het aantal open tijdsloten van het tijdraster — voor elke docent (per klas en per vestiging) en voor elke hele klas. De melding toont beide waarden, bijvoorbeeld “18 u / 16 u”. Drie drempels, afhankelijk van de vulgraad:
| Drempel | Vulgraad | Interpretatie |
|---|---|---|
| blauw — druk | tijdraster voor 90–100 % gevuld | de limieten worden binnenkort bereikt; de plaatsing staat al onder spanning |
| oranje — lichte overschrijding | 100–110 % (uren > tijdsloten tot 110 %) | een geldig rooster zal waarschijnlijk onmogelijk zijn |
| rood — sterke overschrijding | boven 110 % | een geldig rooster zal vrijwel zeker onmogelijk zijn |
Deze berekening loopt alleen als er ten minste één vestiging is geconfigureerd, en meldt niets zolang het tijdraster onder 90 % blijft. Ze zet de vereiste uren tegenover de beschikbare tijdsloten — niet te verwarren met de overschrijding van de diensturen van een docent (gegeven uren tegenover contractuele uren), die dezelfde kleuren deelt maar een aparte detectie blijft.
Alle detecties
| Detectie | Filterfamilie | Niveau |
|---|---|---|
| Docent, klas of groep al bezet | Conflicten | rood |
| Lokaal al bezet | Conflicten | rood |
| Verbroken groepsuitlijning (uitgelijnde groepen zonder gemeenschappelijke les) | Conflicten | rood (oranje als alleen het lokaal of de resource verschilt) |
| Niet-nageleefde tijdsbeperking (docent, klas, groep, lokaal, cursus, vestiging) | Tijdsbeperkingen | verplicht → rood, hoog → oranje, gemiddeld → geel (datumvenster → altijd rood) |
| Lokaalcapaciteit overschreden | Capaciteit | oranje tot 110 % van de capaciteit, rood daarboven |
| Overmatig gebruik van een resource | Capaciteit | oranje |
| Ongeschikt lokaal (capaciteit, specialisatie, vestiging) | Capaciteit | geel — forceerbaar |
| Diensturen van een docent overschreden | Capaciteit | oranje tot 110 %, rood daarboven |
| Overschrijding van of druk op het tijdraster | Tijdrasteroverschrijding | blauw → oranje → rood (zie hierboven) |
| Onvoldoende reistijd tussen vestigingen (docent, klas) | Afstand | oranje |
| Incompatibele vakken op hetzelfde moment | Compatibiliteit | oranje |
| Geen lokaal beschikbaar binnen de toegestane lokalen | Ontbrekend lokaal | geel (rood als er geen enkel lokaal is) |
| Ontbrekende docent (les zonder toegewezen docent) | Ontbrekende docent | geel |
| Ontbrekend lokaal (les geplaatst zonder vereist lokaal) | Ontbrekend lokaal | geel |
| Verschillend aantal lessen voor groepen in een klasverdeling | Klasverdelingen | blauw (indicatief) |
| Verschillend aantal lessen voor groepen in een groepsuitlijning | Groepsuitlijningen | rood (blokkerende configuratie) |
| Docent afwezig tijdens zijn eigen les | Afwezigheden | niet gedekt → rood, vervangen → geel, gedeeltelijk (co-teaching) → oranje |
| Klas afwezig | Afwezigheden | rood |
| Les op een gesloten dag of tijdens vakanties | Kalender | oranje (soms geforceerd naar rood) |
| Onvolledige configuratie (vestiging, tijdraster, instelling) | — | blokkerend vóór de roostergeneratie |
Vanuit een melding navigeren
Elke regel van het paneel is aanklikbaar: het vergrootglas brengt u rechtstreeks naar de betrokken les, groep of klas — de snelste manier om de context van een conflict af te zonderen. Bij een conflict tussen groepen (klasverdeling, groepsuitlijning) houdt het pictogram alleen de gerelateerde groepen over, waardoor de beperking zichtbaar wordt wanneer de ruwe diagnose niet volstaat.
De diagnose filteren
De knop Diagnosefilters (waarschuwingsdriehoek, boven aan het paneel) opent een menu waarmee u alleen de meldingen overhoudt die de lopende analyse dienen. Het pictogram kleurt oranje zolang er een filter actief blijft. U regelt er:
- Niveaus — rood (blokkerend), geel (belangrijk / te controleren) en blauw (advies / limiet nadert) tonen of verbergen.
- Entiteiten — klassen, docenten, lokalen, resources, groepen, en de soorten kalenderevenementen (evenementen, vakanties, afwezigheden).
- Klasniveaus, campussen, vestigingen — beperken tot een bepaald bereik. De campus zondert een organisatorische eenheid af (scholengroep, faculteit, afdeling); de vestiging betreft de fysieke plaats.
- Redenen — elke detectiefamilie in- of uitschakelen: tijdsbeperkingen, conflicten, capaciteit, afstand, ontbrekende docent, ontbrekend lokaal, compatibiliteit, klasverdelingen, groepsuitlijningen.
- Periode (kalenderrooster) — beperken tot de komende weken of maanden, en het verleden verbergen.
- Gedrag — Conflicterende keuzes blokkeren (harde beperkingen) verhindert actief plaatsingen die een sterk conflict zouden veroorzaken.
- Opnieuw instellen — alles weer tonen.
Een filter lost geen conflict op: het verbergt alleen wat de lopende analyse niet helpt.
Een conflict oplossen
De meest voorkomende correcties zijn:
- een les verplaatsen;
- van docent, lokaal of resource wisselen;
- een te sterke beperking bijstellen;
- een onbeschikbaarheid of een afwezigheid corrigeren die per ongeluk is ingevoerd;
- de groepen, klasverdelingen of groepsuitlijningen aanmaken of corrigeren;
- een passend lokaal, extra capaciteit of een specialisatie toevoegen;
- een les vergrendelen die vast moet blijven staan voordat u een nieuwe roostergeneratie start.
Vindt de roostergeneratie geen volledige oplossing, dan kan ze een gedeeltelijk rooster teruggeven: de niet-geplaatste lessen blijven in de balk met post-its van de te plaatsen lessen staan. Corrigeer eerst de prioritaire diagnoses, en start daarna opnieuw of plaats de resterende gevallen handmatig.
Gevallen die een afweging vragen
Sommige signalen wijzen eerder op een beleidskeuze dan op een invoerfout. Voorbeelden:
- een examen met een hoofdlokaal en een lokaal voor kandidaten met extra tijd;
- een opgegeven capaciteit die hoger ligt dan het aantal ingevoerde plaatsen, wanneer de instelling weet dat een deel van de ingeschrevenen niet aanwezig zal zijn;
- een extra lokaal dat niet in Omniscol is gemodelleerd.
In die gevallen kunt u de situatie beter expliciet modelleren waar dat mogelijk is: meerdere lokalen, aangepaste groepen, gecorrigeerde capaciteit of een apart evenement. Een melding bewust laten staan moet een bij het team bekende beslissing blijven, geen permanente ruis.
Stappenplan
- Open de diagnose van het rooster.
- Filter zo nodig op niveau, campus, vestiging, entiteit of soort probleem.
- Behandel eerst de blokkerende conflicten.
- Open het detail van het probleem om de betrokken lessen en resources te identificeren.
- Corrigeer de les, de beperking of de modellering.
- Start de diagnose of de roostergeneratie opnieuw om te controleren of het probleem is verdwenen.