• Mondriaan
  • Over ons
  • Contact
  • Handleiding
  • Opleiding
  • Aanmelden
  • Mondriaan
  • Over ons
  • Contact
  • Handleiding
  • Opleiding
  • Aanmelden
home/Handleiding/Automatisch Roosteren en Problemen Analyseren/Optimaliseren van Leerkrachtroosters

Optimaliseren van Leerkrachtroosters

2014 views 5 14 januari 2018 Updated on 19 August 2025 petervanhirtum[print-me printstyle="pom-small-grey" tag="span" target=".title-content-print"]

Optimaliseren van Leerkrachtroosters

Het optimaliseren van lerarenroosters gebeurt door de compressie van de lesopdrachten van de betrokken leraar. M.a.w. er worden zoveel mogelijk “gaten” of springuren vermeden tussen de lessen in. Een eerste compressie van het rooster gebeurt reeds bij het toekennen van vrije halve dag(en) via de wensen. Er zijn echter belangrijke verschillen tussen de manieren waarop de compressie gebeurt: via wensen of via optimalisatie.

Het effect is voor beide systemen echter identiek: de lerarenroosters verbeteren. (zonder afbreuk te doen aan de didactische voorwaarden!)

Wensen zijn opdrachten die net als lesopdrachten kunnen falen. Er is geen voorrang: een wens kan geplaatst worden en een lesopdracht kan falen en vice versa. Er is dus geen
onderscheid mogelijk tijdens het plannen. De optimalisatietechniek is wel dezelfde: er worden bijkomende blokopdrachten, van bepaalde groottes (8, 4, 3, 2, 1, …), aangemaakt die als opdrachten, gekoppeld aan bepaalde leraren, kunnen geroosterd worden. Deze optimalisatieopdrachten worden na het normale planwerk gedaan waarbij de reeds geplaatst lesopdrachten en wensen niet meer kunnen falen. Het enige wat optimalisatieopdrachten doen is het verder comprimeren van de bestaande lerarenroosters.

Informatie over leerkrachtwensen kan men vinden op de pagina “Definiëren van Leerkrachtwensen“.

Voor leerkrachtoptimalisaties zijn er 2 aparte technieken voorhanden:

  • werken met optimalisatieopdrachten die Mondriaan zelf aanmaakt;
  • werken met zelf gedefinieerde optimalisatieopdrachten.

Mondriaan heeft een eigen techniek om de kwaliteit van een leerkrachtrooster te beoordelen. Op basis van springuren, aantal uren les, etc wordt er aan elke leerkracht een cijfer gekoppeld. Ook laat Mondriaan toe om de evolutie van dit cijfer tussen 2 plansessies op te volgen zodat men kan zien waar er verbetering is en waar er nog werk te verrichten is om de roosters te verbeteren.

Compressie van leerkrachtroosters via verschillende technieken

Wensen Automatische optimalisatie Eigen optimalisatieopdrachten bijroosteren
Tijdstip Tijdens het roosteren van de lesopdrachten. Na het finaliseren van het didactische rooster, al dan niet aangevuld met wensen. Na het finaliseren van het didactische rooster, al dan niet aangevuld met wensen.
Risico Lesopdrachten kunnen falen ten voordele van wensen. Lesopdrachten en wensen kunnen niet falen. Optimalisatieopdrachten zijn niet zichtbaar voor de gebruiker. Mondriaan maakt ze aan en ze kunnen falen. Lesopdrachten en wensen kunnen niet falen. De Optimalisatieopdrachten die de gebruiker aanmaakt kunnen falen.
Doel Aan opgebouwde rechten van leraren trachten te voldoen. Verdere compressie van het rooster om flagrante problemen op te lossen i.v.m. springuren of geïsoleerde uren.
Globale verbetering van de kwaliteit van alle lerarenroosters. Niet individueel.
Verdere compressie van het rooster om flagrante problemen op te lossen i.v.m. springuren of geïsoleerde uren.
Kan per leerkracht gestuurd worden. Incrementeel toevoegen is mogelijk.
Kracht Deze wensen moeten steeds voldaan zijn om van een didactisch rooster te kunnen spreken. De gebruiker heeft er weinig werk mee. Meestal kunnen de resultaten wel beter gemaakt worden via eigen gemaakte optimalisatieopdrachten. Er zijn 2 verschillende automatische technieken die aangeboden worden. Maximale kracht en flexibiliteit. Wel arbeidsintensief maar een geoefend gebruiker kan hier echt het onderste uit de kan halen voor het lerarenkorps.
Resultaat Wensen staan in het rooster. Na plannen zijn de optimalisatieopdrachten weer verdwenen. Enkel hun compressie-effect blijft zichtbaar. Na plannen blijven de optimalisatieopdrachten in het rooster. De gebruiker kan ze er wel uithalen. Hun compressie-effect blijft zichtbaar.

Inhoud

  • Optimalisatie activeren
    • Tabbladen die tevoorschijn komen door de optie “Optimalisatie”
  • Kwaliteit van een leerkrachtrooster
    • Voorbeeld van een verschil in kwaliteit voor dezelfde rooster door automatische optimalisatie
    • Extra vergelijkingsmogelijkheden t.o.v. de Baseline
    • Berekening van de kwaliteit in meer detail
  • Automatische optimalisatietechniek
    • Automatische optimalisatie met staafvormige blokken
    • Automatisch springuren verminderen met polymorfe opdrachten
  • Zelf optimalisatieopdrachten maken en roosters individueel optimaliseren
    • Instellingen in de optietabbladen
    • Bouwstenen maken om te optimaliseren
    • Gebruiken van de bouwstenen in optimalisatieopdrachten
    • Het actief of niet actief laten van geplaatste optimalisatieopdrachten
    • Rechtermuisklikacties in de Optimalisatie tabbladen
    • Nog een aantal voorbeelden
  • Nog enkele tips en weetjes

Optimalisatie activeren

Men activeert de optimalisatie van zodra het rooster didactisch in orde is, en ook de noodzakelijke leerkrachtwensen geroosterd zijn. Optimaliseren is in theorie de laatste stap in het roosterproces, maar dat wil niet zeggen dat men daarna niet meer verder kan met het aanpassen van het rooster, al dan niet automatisch. Optimalisatieopdrachten kan men steeds weer uitschakelen (verwijderen uit het rooster of inactief maken) om weer te roosteren zonder optimalisatie. We komen hier later op terug.

Het activeren van optimalisatie brengt Mondriaan in een andere toestand waarbij er extra tabbladen tevoorschijn komen en waarbij sommige roosterinstellingen niet meer gekozen kunnen worden.

De activatie gebeurt door in het optiescherm (Opties | Andere | Geavanceerd) het vinkje “Optimalisatie” aan te vinken.

Een eerste gevolg hiervan zien we in het beschikbaar stellen van volgende opties in het optiescherm op de plaats “Opties | Roosteren | Bijkomende leerkrachtspecifieke opdrachtselectie“. Uitgebreide uitleg is te vinden in bij de roosteropties in de getoonde link.

De optie “Optimalisatieopdrachten meeroosteren” is hier van belang omdat we via dit vinkje de beslissing nemen tussen volgende 2 optimalisatietechnieken:

  • Automatische optimalisatie
  • Eigen optimalisatieopdrachten bijroosteren

Men kan steeds wisselen tussen beide opties. Zoals we verder zullen tonen, komt er na het aanvinken van “Optimalisatie” een tabblad bij onder “Opdrachten” waar de gebruiker de kwaliteit van de lerarenroosters kan evalueren en waar de gebruiker ook zelf optimalisatieopdrachten kan aanmaken.

Kiest men voor de optie “Optimalisatieopdrachten meeroosteren” dan worden de door de gebruiker gedefinieerde optimalisatieopdrachten geroosterd. Vinkt men deze optie uit, dan verdwijnen die optimalisatieopdrachten uit het rooster en gaat men over tot “Automatische optimalisatie”. Aanvinken en uitvinken heeft dus steeds tot gevolg dat men van het ene naar het andere systeem overgaat. Ofwel zijn de eigen gedefinieerde optimalisatieopdrachten actief, ofwel de automatisch gegenereerde optimalisatieopdrachten.

Een ander effect van het kiezen voor de “Optimalisatie” modus zien we in het optietabblad “Opties | Engine”.

  • Een aantal opties worden rood voorgesteld omdat ze niet bruikbaar zijn in een optimalisatiestap. Bij optimaliseren gaan we typisch incrementeel bijroosteren en wat bijgeroosterd wordt, zijn net de optimalisatieopdrachten die ervoor zorgen dat de leerkrachtroosters verbeteren.
  • Mondriaan gaat dan ook meteen de meest voor de hand liggende keuzes voorstellen zoals hier voorgesteld.


Tabbladen die tevoorschijn komen door de optie “Optimalisatie”

Van zodra de optie “Optimalisatie” aangevinkt is, komen er onder het tabblad “Opdrachten” een aantal tabbladen tevoorschijn. 2 tabbladen zijn specifiek voor het sturen van de manuele optimalisatie en 1 tabblad is bedoeld voor de automatische optimalisatie.

  • “Opdrachten | Optimalisatie | Selectie” (voor manuele optimalisatie)
    • Het linkerdeel van het scherm bevat een overzicht van de leerkrachten en een indicatie van de kwaliteit van hun rooster. De kwaliteit van de roosters is onafhankelijk van de optimalisatietechniek die gebruikt werd, het is gewoon een kwaliteitsmaat. Men ziet ook steeds de nieuwe en de vorige waarde van de kwaliteit. Men kan ook het verschil zien met een eerder ingestelde baseline. Hoe de kwaliteit van een rooster bepaald wordt, leggen we verder uit.
    • Het linkerdeel heeft nog een extra functie voor de selectie van leerkrachten die men wenst te optimaliseren via eigen gemaakte optimalisatieopdrachten.
    • Het rechterdeel is een scherm waarin optimalisatieopdrachten aangemaakt/voorbereid kunnen worden.
  • “Opdrachten | Optimalisatie | Bouwstenen” (voor manuele optimalisatie)
    • In dit scherm definieert de gebruiker de bouwstenen om optimalisatieopdrachten aan te maken. Deze bouwstenen zijn de blokgroottes en de definitie van de plaatsen waar de blokken kunnen staan. Dit is enkel van toepassing voor het zelf maken van optimalisatieopdrachten.
  • “Opdrachten | Optimalisatie | Auto optimalisatie” (voor automatische optimalisatie)
    • In dit scherm kan men de parameters zetten voor een automatische optimalisatie. Hier kan gekozen worden tussen 2 technieken: via staafvormige blokken of via polymorfe blokken optimaliseren.
    • De informatie over de kwaliteit van de roosters werd hier nog eens herhaald.
    • Ook de selectie van leerkrachten waarvoor optimalisatie moet gebeuren, kan hier ingesteld worden.
    • Om het de gebruiker gemakkelijker te maken werd ook een visualisatiegrid voorzien voor het bekijken van leerkrachtroosters (en andere). Stelt men ook een baseline in, dan kan men die ook hier als 2de grid bekijken. Is op zicht hetzelfde als wat men in Visualisatie | Baseline zou zien.

We bespreken deze tabbladen verderop in deze pagina.

De bouwstenen voor eigen gemaakte optimalisatieopdrachten:

Het tabblad voor de automatische optimalisatie:


Kwaliteit van een leerkrachtrooster

Voor we aan de optimalisatietechnieken beginnen, is het nuttig om even stil te staan bij de manier waarop Mondriaan de roosters van leerkrachten zelf evalueert en er een kwaliteitscijfer aan koppelt.

Mondriaan bekijkt 2 aspecten om tot een cijfer te komen:

  • Benutting van de beschikbare tijd: als een leerkracht op een bepaalde dag les heeft, dan is het aangewezen dat hij zoveel mogelijk van de beschikbare tijd van die dag nuttig is op school. Maar één uur les hebben is bijvoorbeeld een zeer slechte benutting van de beschikbare uren in de dag. Omdat er ook wensen van leerkrachten gerespecteerd moeten worden i.v.m. halve vrije dagen, of eventueel effectief vrije dagen, worden de momenten waarop wensen gepland worden niet in rekening gebracht voor de bepaling van de benutting. De wensuren zijn tenslotte geplande uren. Per dag wordt de benutting bepaald en een cijfer opgeplakt. Via een gewogen gemiddelde (op basis van het aantal uren per dag) wordt een weekbenutting bepaald.
  • Springuren in de dagen: springuren worden veelal als onwenselijk ervaren. Bekijken we een werkdag in de school, dan worden springuren gedefinieerd als de lege uren die zich tussen het eerste en laatste lesuur van de leerkracht bevinden. Hoe meer springuren, hoe slechter voor de leerkracht. Ook hier wordt weer een gewogen gemiddelde (op basis van het aantal uren per dag) genomen over de ganse week om tot een cijfer te komen.

Beide aspecten worden door Mondriaan berekend en tellen evenveel door in het eindcijfer. Het cijfer varieert van 0 tot 100 waarbij 100 een optimaal rooster is.

Voorbeeld van een verschil in kwaliteit voor dezelfde rooster door automatische optimalisatie

In het tabblad “Opdrachten | Optimalisatie | Selectie” zien we dat een optimalisatiestap die we uitgevoerd hebben een verbetering heeft gegeven voor bijvoorbeeld MVVL. We zijn van 64,4 naar 81,5 gegaan. De vraag is hoe je dat kan zien in het rooster zelf.

Net voor de optimalisatiestap werd een baseline gemaakt (Huidig model in dit geval, zie pagina “Huidig rooster met een baseline vergelijken” voor meer info over baseline). We kunnen nu in de visualizer (“Visualisatie | Baseline”) de huidige en vorige versie van het rooster van MVVL opvragen. Links de nieuwe versie, rechts de baseline. We zien hier duidelijk een verbetering. Woensdag is compacter geworden (1 springuur minder), donderdag is volledig vrij gemaakt, en vrijdag is een mooi gevulde dag geworden.

Vanaf versie 2023.1.0 kan deze Baseline ook in het tabblad “Auto optimalisatie” bekeken worden.


Extra vergelijkingsmogelijkheden t.o.v. de Baseline

Indien men een baseline actief heeft, dan kan men ook de verschillen in kwaliteit zien t.o.v. deze baseline. Men ziet dan 2 verschillen:

  • Verschil ten opzichte van de vorige situatie (Vorige, Verschil)
  • Verschil ten opzichte van de baseline (Baseline, Verschil B)


Berekening van de kwaliteit in meer detail

Bekijken we volgende 2 voorbeelden van roosters voor NV en EJ. Beide leerkrachten hebben een aantal uren les en hebben ook elk 2 wensopdrachten van 4 uur.

In volgende tabel zetten we de cijfers op een rijtje die de kwaliteit bepalen. Bekijken we NV op maandag:

  • Maandag telt 8 uren.
  • Er zijn 4 beschikbare uren want van de 8 zijn er 4 ingevuld door een wensopdracht.
  • Er zijn 2 uren bezet door lessen.
  • Er is 1 springuur
  • Nuttig = 1 – (Beschikbaar – Bezet)/Beschikbaar = 1 – (4 – 2)/4 = 1 – 1/2 = 0,50
  • Compact = 1 – Spring/(Beschikbaar – 1) = 1 – 1/(4-1) = 1 – 1/3 = 0,67
  • Combi = (Nuttig + Compact)/2 = (0,50 + 0,67)/2 = 0,58
  • Om de weekkwaliteit te bepalen, maken we het gewogen gemiddelde van Combi o.b.v. het aantal uren per dag (Dag).
  • Qdag = Dag * Combi = 8 * 0,58 = 4,67
  • Berekenen we Qdag voor elke dag en maken we het gewogen gemiddelde, dan komen we uit op een Weekkwaliteit van 68,63%

Het rooster van EJ is duidelijk beter dan dat van NV:

  • NV heeft 4 springuren, EJ heeft er 2
  • De benutting van de dagen voor NV zijn ook merkelijk beter dan die voor EJ.

Merk op dat er plannen zijn om de roosterkwaliteit van leerkrachten anders te berekenen zodat geïsoleerde uren harder afgestraft worden. Van zodra dat gebeurd is, zal deze sectie hier ook aan aangepast worden.


Automatische optimalisatietechniek

Er zijn 2 automatische technieken beschikbaar die allebei werken op basis van filler-opdrachten (vulopdrachten) die de leerkrachtroosters trachten te verbeteren.

  • Via staafvormige blokken die van groot naar klein geprobeerd worden.
  • Via polymorfe blokken die voor en na lessen geplaatst worden.

Beide technieken kunnen door elkaar gebruikt worden. Men kan eerst de ene en dan de andere proberen.

In het optietabblad “Opties | Roosteren | Bijkomende leerkrachtspecifieke opdrachtselectie” moet de checkbox “Optimalisatieopdrachten meeroosteren” uitgevinkt staan om automatisch optimaliseren te activeren.

De techniek gaat uit van Mondriaan zelf en vraagt geen interventie van de gebruiker buiten het zetten van enkele opties voor de MBE en de optimalisatie te starten. Volgende opties worden normaal standaard goed gezet als men automatische optimalisatie gebruikt:

  • Geen kennis vergaren. (automatisch uitgezet voor optimalisatie)
  • Incrementeel bijroosteren (gebruik huidig rooster als hint). We vrijwaren de lesopdrachten maar ze kunnen wel van plaats wijzigen.
  • Methode 1 diepte 3.

Verder kan men in opeenvolgende stappen de zoekdiepte zelf wat verhogen:

  • Methode 1 met een diepte 4, 5, 6, 7 of uitzonderlijk nog hoger.

Het tabblad om de automatische optimalisatie te sturen:

Parameters die in het scherm opgegeven kunnen worden:

Aantal leerkrachten: het systeem werkt met groepjes van leerkrachten die men gelijktijdig optimaliseert. Het systeem kan bijvoorbeeld 5 leerkrachten tegelijk trachten te verbeteren. Daarna de volgende 5 etc. Heeft men 100 leerkrachten dan zal het systeem 20 keer een optimalisatieslag doen, telkens voor de 5 volgende leerkrachten.

Herstart zolang verbetering: als na de optimalisatie (alle leerkrachten zijn aan bod geweest) er een globale verbetering is, dan wordt het geheel opnieuw gestart met dezelfde instellingen. Dit gaat door tot er geen verbetering meer is.

Opgelet met deze optie bij multiweekroosters: bij een multiweekrooster zal het optimaliseren langer duren naar gelang er meer weken in de multiweekrooster zitten. Zeker voor scholen die elke week van het schooljaar in het basisrooster opnemen. Vandaar is het best deze optie in eerste instantie niet te kiezen en af te wachten wat een eerste ronde al doet qua verbetering. Zeker in dergelijke grote roosters zal er altijd wel een verbetering gevonden worden waardoor Mondriaan steeds zal herstarten en het erg lang kan duren.

Methode: Mondriaan heeft nu 2 methoden waaruit men kan kiezen. Het vraagt wat experimenteren om te zien de welke het best aan de behoefte voldoet.

  • Via staafvormige blokken roosters comprimeren. Dit is de oudste methode in Mondriaan.
  • Via polymorfe blokken springuren verminderen. Deze methode is beschikbaar vanaf versie 2023.1.0

In het rechterpaneel zijn 2 grids (maar 1 getoond) voorzien waarin men leerkrachtroosters kan bekijken:

  • links de huidige situatie van een leerkracht;
  • rechts de baseline voor diezelfde leerkracht als er een baseline ingesteld is.

In het linkerpaneel ziet men ongeveer dezelfde informatie als in het linkerpaneel van “Selectie”. Men ziet de lijst van bestaande leerkrachten en informatie over hun roosterkwaliteit. De kolommen zijn:

  • Optimaliseren: moet deze leerkracht geoptimaliseerd worden.
  • Acro: de leerkracht.
  • Max Springuren / Max Springuren (gemiddeld): maximaal aantal springuren dat men wenst toe te laten per week voor de leerkracht. Dit is een streefcijfer. De default is 0 maar soms is het ook nuttig om toch wat springuren te voorzien om de roosters niet te zwaar te maken. Enkel beschikbaar indien men de methode “Via polymorfe blokken springuren verminderen” ingesteld heeft. Voor een multiweekrooster wordt met een gemiddelde gewerkt over alle roosterweken, vandaar de andere kolomnaam in geval van een multiweekrooster.
  • Springuren / Springuren (gemiddeld): het effectief aantal springuren in het huidige rooster. Voor een multiweekrooster zal dit een gemiddelde zijn over alle roosterweken, vandaar de andere kolomnaam.
  • Kwaliteit: huidige kwaliteit van het rooster.
  • Vorige: kwaliteit voor de laatste optimalisatie.
  • Verschil: verschil tussen Vorige en huidige Kwaliteit
  • Baseline: kwaliteit die er was t.o.. Baseline (als die gezet was).
  • Verschil B: verschil tussen kwaliteit Baseline en de huidige Kwaliteit.

Automatische optimalisatie met staafvormige blokken

Wil men deze techniek gebruiken, dan drukt men gewoon op “Plan” (“Plan selectie” kan ook maar is minder gebruikelijk).

Drukt men op “Plan” dan zal men zien dat Mondriaan verschillende keren de MBE zal opstarten om incrementeel de roosters van de leerkrachten te verbeteren. Mondriaan past volgende techniek toe:

  • De 5 leerkrachten (die nog niet aan de beurt geweest zijn) met de laagste kwaliteitscijfers worden geselecteerd. Merk op dat enkel leerkrachten in aanmerking komen die het “Optimaliseren” vlagje aangevinkt hebben staan.
  • In een eerste stap wordt gekeken naar hele dagen die minder dan 50% bezet zijn. Voor die dagen wordt een poging gedaan om de leerkracht volledig vrij te roosteren op die dag. Dit gebeurt via optimalisatieopdrachten die een volledige dag vrijmaken (een staafblok van 1 dag).
  • In een tweede stap wordt gekeken naar halve dagen die minder dan 50% bezet zijn. Voor die halve dagen wordt geprobeerd om die vrij te roosteren met optimalisatieopdrachten ter grootte van een halve dag (een staafblok van een halve dag). Indien een dag bestaat uit een oneven aantal roosterpunten dan zal de eerste helft een uur meer bevatten dan de tweede helft.
  • In een derde stap wordt ook weer naar halve dagen gekeken die minder dan 50% bezet zijn en waar geen halve dag vrijgemaakt kon worden. Hier wordt dan geprobeerd om met optimalisatieopdrachten ter grootte van een kwart dag het rooster verder te comprimeren (een staafblok van een kwart dag). In de eerste halve dag wordt geprobeerd het eerste kwart vrij te roosteren. In de tweede helft wordt geprobeerd de tweede helft vrij te roosteren.
  • In een vierde stap wordt gekeken naar dagen met springuren. Voor die dagen wordt een poging gedaan om die springuren weg te roosteren. Dit gebeurt door optimalisatieopdrachten te plaatsen op de randuren van die dagen ter grootte van het aantal springuren op die dag.
  • Na uitvoering van deze 4 stappen voor die 5 geselecteerde leerkrachten wordt er door Mondriaan volgende beslissing genomen per stap:
    • alle niet geplande optimalisatieopdrachten worden sowieso verwijderd
    • indien de globale kwaliteit niet toegenomen is, worden de optimalisatieopdrachten die in deze stap geplaatst werden toch weer weggehaald en wordt de tot dan toe beste oplossing weer als vertrekbasis gebruikt. Merk op dat het steeds de globale kwaliteit is die gemonitord wordt en dit is onafhankelijk van de selectie leerkrachten die men optimaliseert.
    • indien de globale kwaliteit wel gestegen is worden de geplaatste optimalisatieopdrachten in het rooster behouden voor de volgende iteratie.
  • Daarna worden de volgende 5 leerkrachten geselecteerd en start de volgende iteratie.
  • Dit gaat door tot alle leerkrachten één keer aan bod gekomen zijn.

Tijdens de optimalisatie zal men dit voortgangsscherm zien. Hier ziet men dat Mondriaan al 7 van de in totaal 140 keer (afhankelijk van het aantal actieve leerkrachten) de MBE opgestart heeft. Omdat we gevraagd hebben door te gaan zolang er verbetering is zien we “Optimalisatie 1-7/140″. De 1 duidt op de eerste ronde.

Na gans dit proces worden alle automatisch aangemaakte optimalisatieopdrachten uit het rooster verwijderd. De andere opdrachten blijven op hun geoptimaliseerde positie staan.

Als voorbeeld nemen we een niet geoptimaliseerd rooster en stellen de juiste opties in zoals eerder aangegeven. We bekijken het tabblad waarin we de kwaliteit van de leerkrachtroosters kunnen bekijken:

Men kan eerst een Baseline nemen om het verschil tussen voor en na het optimaliseren beter op te volgen via “Rapportering | Baseline | huidig model”.

We drukken op “Plan” en zien dat Mondriaan iteratief pogingen doet om het rooster te verbeteren zonder verdere interventie van de gebruiker. Als Mondriaan klaar is, wordt er nog een klein rapport getoond met alle stappen die uitgevoerd werden om te optimaliseren.

Het resultaat kan men verder bekijken in het “Auto optimalisatie” tabblad. Men ziet nu dat de kolom “Vorige” gevuld is en dat men in de kolom “Verschil” het verschil kan zien. De globale kwaliteit wordt onderaan getoond. In dit geval zijn we globaal van 79 naar 79,1 gegaan. Om dit te bereiken werden de roosters van sommige verbeterd, weer andere hebben een minder goed rooster. Wat hier telt, is de globale verbetering en niet de individuele.

Wil men deze techniek gebruiken (vooral vanwege het gemak) doet men er wel goed aan om verschillende pogingen achter elkaar te doen met eventueel oplopende zoekdieptes voor Methode 1. Zoals eerder uitgelegd, is het een zeer rudimentaire methode waarvan men niet de beste oplossingen mag verwachten. Een tweede methode die aangeboden wordt, is die met polymorfe blokjes die in combinatie met volgordespreidingen zoveel mogelijk springuren tracht weg te werken.

Merk op dat “Plan selectie” ook werkt maar dit heeft meestal geen zin. Bij “Plan selectie” wordt enkel rekening gehouden met de geselecteerde opdrachten en daarrond wordt geoptimaliseerd. Hierdoor verliest men alle niet geselecteerde opdrachten uit het rooster.


Automatisch springuren verminderen met polymorfe opdrachten

Het basisprincipe is hetzelfde als voor de techniek met de staafvormige blokopdrachten maar bij deze techniek wordt via polymorfe blokken vooral ingezet op het verminderen van springuren in het rooster. Als we de 2de methode kiezen, dan zal men ook de kolom “Max springuren” ter beschikking krijgen. Hier kan men het gewenst maximaal aantal springuren instellen en men kan het vergelijken met de kolom “Springuren” waarin het effectief aantal springuren staat. Het maximum dat men instelt, is een streefcijfer. Standaard staat dat op 0 maar er kunnen steeds redenen zijn om toch wat zuurstof in het rooster te behouden.

Techniek die gebruikt wordt om springuren te verminderen:

Stel dat een leerkracht 7 springuren heeft in een week en dat we toelaten dat hij er 3 heeft. Mondriaan gaat dan 4 blokjes in het rooster trachten te plaatsen voor en na de lesopdrachten. De 4 blokjes zijn dus losse uren die in erg veel configuraties geplaatst kunnen worden. Vandaar de naam “Polymorf blok”. Via volgordespreidingen (VS), die achter de schermen worden aangemaakt, zorgt Mondriaan er voor dat die 4 blokjes nooit tussen lesopdrachten kunnen vallen, maar steeds er voor of er achter. Het polymorf blok kan dan bijvoorbeeld als volgt geplaatst worden:

  • 4u : een volledig dagdeel
  • 2 + 2 blokken op boven/en onderrand
  • 3 + 1 blokken op boven/en onderrand
  • 2 + 1 + 1 blokken op boven/en onderrand
  • 1 + 1 + 1 + 1 blokken op boven/en onderrand

Voorbeeld van uitvoering van de optimalisatie:

De standaardinstelling voor de engine die gebruikt wordt, is diepte 3 methode 1. We zetten de diepte op 4.

We drukken op “Plan”. Net zoals bij de andere automatische techniek zien we een popup-scherm met de voortgang. Nadien krijgen we een rapportje met de verbeterstappen die uitgevoerd zijn. We hebben 5 leerkrachten per run ingesteld en we hebben gevraagd om door te gaan tot er geen globale verbetering meer is.

We zien dat BAERT en BAHSN erop vooruit gegaan zijn, maar de globale kwaliteit is niet gewijzigd. Ze hebben allebei 1 springuur minder. Dit wil zeggen dat er andere leerkrachten op achteruit gegaan zijn (zijn rood gemarkeerd ipv groen).

In het linkerscherm zien we in de kolom “Verschil” de verbetering van de kwaliteit.

We willen deze situatie nu bijvoorbeeld als Baseline gebruiken. We drukken op de knop “Rapportering | Baseline | Huidig model” om de baseline in te stellen. De kolommen Baseline en Verschil B komen dan tevoorschijn. Op dit moment is de baseline gelijk aan het huidige model. In het rechterpaneel komt er een grid bij die de baseline voorstelt. De selectie van leerkrachten kan enkel in de linker grid gebeuren. De rechter grid zal volgen. Momenteel zijn beide grids gelijk aan elkaar.

Om een volgende verbeterslag te doen, verhogen we de diepte van methode 1 tot bijvoorbeeld 6, behouden de andere instellingen en drukken op “Plan”.

Opnieuw het rapport met wijzigingen. Merk op dat er in dit rapportje enkel info staat over de geselecteerde leerkrachten die er op vooruit of achteruit gaan. De niet geselecteerde leerkrachten zullen ook geïmpacteerd zijn, maar dat is gewoon het gevolg dat men accepteert indien men met een beperkte set van leerkrachten werkt.

Resultaat in linkerpaneel:

Blijkbaar is BAHSN er goed op vooruit gegaan. We kunnen in het rechterpaneel zijn huidig rooster met de baseline vergelijken en zien inderdaad dat we van 6 naar 2 springuren gegaan zijn.

Merk op dat als men leerkrachten selecteert in de Resource dropdown van het linkerpaneel, dat de leerkrachten een kleur kunnen hebben in de lijst:

  • ROOD: huidig is gewijzigd ten opzichte van de baseline.
  • geen kleur: geen wijziging.

We proberen nog een stap verder te gaan en verhogen uitzonderlijk tot diepte 7 voor deze beperkte selectie van leerkrachten.

Er is geen verbetering, dus worden alle wijzigingen die hierdoor veroorzaakt werden ongedaan gemaakt.

Als laatste zetten we de diepte op 4 en selecteren alle leerkrachten. Na Plan zien we dit verslag:

Een globale verbetering en die wordt behouden. De baseline was 79,1, de vorige was 79,2 en de laatste was 80,0.

Op deze manier kan men spectaculaire verbeteringen bekomen van leerkrachtroosters. We raden de gebruikers aan om hier voldoende mee te experimenteren zodat ze deze techniek kunnen gebruiken als sluitstuk om hun roosters optimaal te maken voor het leerkrachtenkorps. Het zal zeker gewaardeerd worden!


Zelf optimalisatieopdrachten maken en roosters individueel optimaliseren

Deze techniek laat toe om zeer individueel te gaan optimaliseren. Men kan per leerkracht en/of groep leerkrachten optimaliseren. Dit is geen one-shot techniek, maar een iteratief proces waarbij men telkens de roosters evalueert en beslist waar er nog bijgeschaafd moet worden. Een geoefend gebruiker kan via deze techniek enorme verbeteringen in de roosters aanbrengen die zeker door het lerarenkorps gewaardeerd zullen worden. De kunst bestaat erin om individuele verbeteringen in evenwicht te houden met de verbetering van de totaliteit.


Instellingen in de optietabbladen

In het optie tabblad “Opties | Roosteren | Bijkomende leerkrachtspecifieke opdrachtselectie” moet zeker “Optimalisatieopdrachten meeroosteren” aangevinkt staan om deze modus te activeren. Verder laten we “Wensen meeroosteren” ook gewoon opstaan om de reeds geplaatste wensen niet te verliezen. De optie “Negeer niet-geplaatste normale opdrachten” staat ook aangevinkt, wat enkel nuttig is indien men wenst te optimaliseren in een context waarbij niet alle lesopdrachten geplaatst zijn en men ook niet wenst dat die mee geselecteerd worden. We willen enkel zelf gemaakte optimalisatieopdrachten bij roosteren.

Voor de opties in “Opties | Engine” kiezen we volgende opties.

Deze instellingen houdt men aan tijdens het optimalisatieproces. Men kan eventueel wel wat spelen met de diepte-instellingen voor de gekozen methode.


Bouwstenen maken om te optimaliseren

Optimaliseren van roosters betekent in wezen het zoveel mogelijk groeperen of compacteren van de lesuren van een leerkracht. De gebruiker beslist zelf voor welke leerkrachten en op welke manier deze compactering moet gebeuren. Een handige manier om een rooster te compacteren is door de betreffende leerkracht vrij te roosteren op ganse voormiddagen en of ganse namiddagen. Dit doen we door een aantal blokken van 4 uur vrij te roosteren, waarbij die blokken kunnen beginnen op de 1ste en 5de uren van een willekeurige dag van de week. Omdat we dit in theorie voor elke leerkracht nodig kunnen hebben, maken we van dat blok van 4 uur dat op die momenten mag staan een “bouwsteen”. Een andere bouwsteen zou bijvoorbeeld een blok van 2 uur kunnen zijn die op de 1ste en 7de uren van de dag mogen beginnen. De gebruiker is vrij om zijn bouwstenen zelf te definiëren.

Bouwstenen maakt men aan in het tabblad “Opdrachten | Optimalisatie | Bouwstenen”. Het volgende voorbeeld definieert deze voorbeelden:

De bouwstenen hebben de volgende eigenschappen:

  • ID: read-only technische identificatie.
  • Acro: een door de gebruiker bepaalde naam voor de bouwsteen.
  • Grootte: grootte van het blok dat men wenst vrij te roosteren.
  • Startuurlijsten: mogelijke startmomenten van het blok.
  • Mogelijkheden (Uurlijst): read-only visuele representatie van de mogelijke bezetting van het blok rekening houden met de startuurlijsten en de grootte.
  • Commentaar: vrij te gebruiken.

Gebruiken van de bouwstenen in optimalisatieopdrachten

in het tabblad “Opdrachten | Optimalisatie | Selectie” heeft men 2 delen. Het linkerdeel van het scherm werd eerder al besproken. Hier kan men de kwaliteit van de roosters bekijken en de leerkrachten selecteren die men wenst te optimaliseren. Als de checkbox “Optimaliseren” aangevinkt is, dan betekent dat dat de geselecteerde optimalisatieopdrachten voor die leerkracht actief zijn voor de volgende ronde van de planning.

Aan de rechterkant staan leerkrachtspecifieke optimalisatieopdrachten. Hier moet de gebruiker de opdrachten voor de leerkrachten definiëren op basis van de eerder gemaakte bouwstenen. De kolommen in het rechterscherm zijn:

  • Actief: opdrachten zijn actief of niet.
  • ID: read-only technische identificatie van de opdracht.
  • Leerkracht(en): een of meerdere leerkrachten waarvoor men dit type opdracht wenst te maken. Merk op dat het vermelden van meerdere leerkrachten niet betekent dat ze samen vrijgeroosterd worden. Het blijven optimalisatieopdrachten per individuele leerkracht. Het is een verkorte schrijfwijze. Maar, als men ze samen zet, maakt men ze ook samen actief of niet.
  • Categorie: hier geeft men de bouwsteen op. Hiermee zegt men dus welk soort blok men gaat vrijroosteren.
  • Aantal: hier kan men het aantal blokken opgeven dat men van dit type wenst vrij te roosteren voor de leerkracht.
  • % Geroosterd: na het plannen staat hier een cijfer in dat weergeeft hoeveel van de gevraagde blokken er ook daadwerkelijk geplaatst zijn. (Voor een beschrijving van de kleurcodes gebruikt in dit veld verwijzen we naar % Geroosterd in het opdrachten tabblad.)
  • Commentaar: vrij te gebruiken.

Merk op dat een optimalisatieopdracht voor een leerkracht pas geactiveerd is als:

  • en in het linkerscherm “Optimaliseren” aangevinkt is voor de leerkracht
  • en in het rechterscherm “Actief” aangevinkt is voor de opdracht.

De MBE probeert om aan zoveel mogelijk van de gevraagde optimalisatieopdrachten te kunnen voldoen terwijl alle andere opdrachten in het rooster blijven staan, maar wel verplaatst kunnen worden tijdens het proces.

In volgend voorbeeld hebben we leerkracht BN aangevinkt met de vraag om er 2 blokken van het type BL2 voor vrij te roosteren. Momenteel is er nog 0% geroosterd.

Bekijken we voor het plannen het rooster van BN (momenteel met kwaliteit 67%) dan zien we dat er al 2 wensen in staan en dat er verder nog wat springuren zijn. De twee gevraagde blokken van 2 uur zouden redelijk gemakkelijk in dit rooster moeten gepland geraken. De eerste krijgen we al gratis op woensdag 1 en voor het tweede blok zal de MBE even moeten zoeken.

Drukken we nu op “Plan” dan start de MBE en als hij klaar is, wordt weer de gekende popup getoond waar nu ook vermeld wordt hoeveel uren er geoptimaliseerd werden.

Verder verschijnt er ook een klein venstertje waarin men kan zien wat het effect was van de optimalisatie. Voor BN een kleine verbetering maar het heeft ook op andere leerkrachten effect gehad.

De informatie uit dit venstertje kan men ook zien in het tabblad “Selectie” waar men de verandering in kwaliteit op de roosters stap per stap kan volgen. BN is er met 1,4 op vooruit gegaan. Rechts ziet men nu dat de 2 gevraagde blokken 100% geroosterd zijn.

Bekijken we BN opnieuw in de visualizer (Roosters) dan zien we 2 purperen blokken in zijn rooster staan (zie linker beeld).  BN heeft hierdoor een springuur minder op vrijdag. Rechts ziet men het beeld waarbij men de optimalisatieopdrachten weer inactief gemaakt heeft, maar het effect ervan wel zichtbaar blijft.

Door na het plannen “Actief” uit/aan te vinken, krijgt men het beeld met en zonder de optimalisatieopdrachten.


Het actief of niet actief laten van geplaatste optimalisatieopdrachten

Optimaliseren is een iteratief proces waarbij men steeds verder gaat in het proberen verbeteren van de roosters. Wil men dat het effect van eerder gemaakte verbeteringen (lees “gerealiseerde optimalisatieopdrachten”) niet verloren gaat, dan moet men de eerste geplaatste optimalisatieopdrachten steeds actief laten voor de volgende iteratie. Telkens roostert men op een incrementele wijze nieuwe optimalisatieopdrachten bij. De enige reden waarvoor men eerder geplaatste optimalisatieopdrachten weer inactief zou willen maken, is omdat ze in de weg zouden kunnen zitten van een andere verbetering die men wil realiseren. Voorbeelden hiervan:

  • men heeft een optimalisatieopdracht van grootte 2 die belet dat we er een van 4 zouden kunnen realiseren in een rooster. Optimalisatieopdrachten kunnen elkaar niet overlappen.
  • men heeft de rooster van leerkracht A zeer goed gemaakt, maar dat gaat ten koste van het rooster van leerkracht B die veel slechter is. Dan kan men een of meerdere optimalisatieopdrachten inactief maken en of vervangen door andere.
  • …

Uiteindelijk is het de bedoeling dat er zoveel mogelijk gerealiseerd worden en dus actief zijn.

Merk op dat indien men een eerder geplaatste optimalisatieopdracht inactief maakt dat zijn effect op het rooster niet noodzakelijk verdwijnt. Als de MBE vervolgens een planning doet, kan het zijn dat het effect blijft of tenietgedaan wordt. Het is enkel als men ze actief laat dat de MBE ze blijvend als geplaatst zal respecteren.

Hoe meer optimalisatieopdrachten er actief zijn, hoe moeilijker het natuurlijk wordt om er nog bij te realiseren, niet alleen binnen hetzelfde rooster maar ook tussen roosters. Daarom is het goed om het evenwichtig aan te pakken en niet een paar leerkrachten te bevoordelen ten koste van alle andere.


Rechtermuisklikacties in de Optimalisatie tabbladen

Rechtermuisklikacties in “Opdrachten | Optimalisatie | Bouwstenen”

Rechtermuisklikacties in “Opdrachten | Optimalisatie | Selectie” – Linkerpaneel

Handig is zeker de actie “Bekijk op rooster” om snel een beeld te krijgen van de leerkrachtrooster.

Rechtermuisklikacties in “Opdrachten | Optimalisatie | Selectie” – Rechterpaneel


Nog een aantal voorbeelden

Bij het verbeteren van BN zien we dat KaMa er wat op achteruit gegaan is (-5,2 punten).

Op het eerste zicht moet het mogelijk zijn om in het KaMa rooster wat halve dagen vrij te rooster. We vragen om 3 blokken van 4 uur vrij te roosteren voor KaMa:

We drukken op “Plan” en bekijken het resultaat.

In het rooster kan men mooi zien hoe die 3 blokken 3 extra halve dagen vrijgeroosterd hebben voor KaMa.

Proberen we nog een extra BL4 bij te roosteren, dan blijkt dat niet te lukken. Van de 4 blokken zijn er maar 75% (3) gerealiseerd. Om dat 4de blok niet telkens opnieuw te proberen bij volgende iteraties zetten we het aantal weer op 3.

Vervolgens proberen we 2 andere leerkrachten te verbeteren: VV en KW:

  • voor KW proberen we 1 BL4 en 2 BL2
  • voor VV proberen we 2 BL4

Wordt als volgt toegevoegd:

We drukken op “Plan” en bekijken het resultaat:

Voor VV is alles gelukt, voor KW is de BL4 niet gelukt.

We kunnen als alternatief voor KW meer blokken van het type BL2 trachten te plaatsen. Drukken we vervolgens op “Plan” dan is dit het resultaat.

Merk op dat door deze actie niet alleen KW er met 4,3 punten op verbeterd is, maar ook MVD en JDBL hebben een beter rooster als neveneffect. KG en SS zijn er dan weer op achteruit gegaan.

Tenslotte bekijken we leerkrachten NDM, EV en HVDB.

  • NDM kan zeker 2 BL4 blokken gebruiken. Misschien lossen we het probleem van dinsdag daarmee op.
  • EV heeft een vrij goed rooster, maar om dit veilig te stellen kunnen we er preventief wat BL4 blokken in plaatsen.
  • HVDB heeft maar 1 uur op donderdag. Dat kunnen we misschien wegwerken door 2 BL4 blokken te plaatsen.

Invoer als volgt en resultaat na het drukken op “Plan”.

Resultaat in de visualizer:

  • NDM is er zeker op vooruit gegaan omdat hij dinsdagochtend niet meer moet komen voor 1 uur. De namiddag is nog een probleem.
  • EV heeft een zeer compact rooster gekregen.
  • HVDB is verlost van het geïsoleerde uurtje op donderdag.


Nog enkele tips en weetjes

  • Voldoening: een rooster kan didactisch in orde zijn met de wensen van de leerkrachten vervuld. Echter, na die stap zijn er nog heel wat mogelijkheden om de kwaliteit te verbeteren. Het is aan het roosterteam om hier ook de nodige aandacht aan te schenken. Het loont de moeite.
  • Geen eindpunt: na het optimaliseren kan men nog steeds het rooster naar believen aanpassen. Als men de optimalisatieopdrachten weer uitschakelt, verdwijnen ze uit het rooster, maar hun effecten blijven achter. Brengt men vervolgens wijzigingen aan, dan kan de kwaliteit van een aantal roosters weer verminderd zijn. Men kan steeds weer terug optimaliseren.
  • Tijdelijkheid: optimalisatieopdrachten moeten gezien worden als blokken die tijdelijk in het rooster geduwd worden om te compacteren, maar hebben verder geen functie en kunnen perfect weer uit het rooster verdwijnen.
  • Roosterrapport: wensen en optimalisatieopdrachten worden nooit getoond in roosterrapporten.

Verder zal time-tech nog investeren in een betere bepaling van de roosterkwaliteit voor leerkrachten. Ook een verdere automatisering van het optimalisatieproces is niet uitgesloten.

 

Print Friendly, PDF & Email

Didn't find your answer? Contact Us

  Plan en Plan selectie

MBE opties (Opties | Engine)  

time-tech
  • Mondriaan
  • Over ons
  • Contact
  • Handleiding
  • Opleiding
  • Aanmelden
Nieuwste handleidingen
  • Lessen inhalen die vervallen door stageperiodes: methode 2
  • Roosteren op leerlingenniveau
  • Kwaliteitscontrole – Springuren en Vakspreiding
  • XML-Export naar Smartschool Planner en andere systemen
Contact

Neem gerust contact op om een afspraak te maken of om een demo aan te vragen.

E-mail: info@time-tech.be

Opleidingen
Vandaag
maandag
dinsdag
woensdag
donderdag
vrijdag
zaterdag
zondag
m
d
w
d
v
z
z
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
  • © 2021 time-tech.be. Alle rechten voorbehouden. Privacy Policy | Cookiebeleid

Veelgezochte termen:Outputrooster, Volgordespreiding, Partitie