• Mondriaan
  • Over ons
  • Contact
  • Handleiding
  • Opleiding
  • Aanmelden
  • Mondriaan
  • Over ons
  • Contact
  • Handleiding
  • Opleiding
  • Aanmelden
home/Handleiding/Thema Multiweekroosters/Lessen inhalen die vervallen door stageperiodes: methode 1

Lessen inhalen die vervallen door stageperiodes: methode 1

915 views 2 25 mei 2020 Updated on 19 August 2025 petervanhirtum[print-me printstyle="pom-small-grey" tag="span" target=".title-content-print"]

Lessen inhalen die vervallen door stageperiodes: methode 1

We illustreren dit probleem met een geval uit de praktijk. Op het einde van de pagina kan men de voorbeeldbestanden vinden die gebruikt werden om dit probleem te illustreren.

Probleemstelling

Scholen die stages (vaktype PV of Praktijkvak) inrichten zijn wettelijk verplicht om de vakken van het type Algemeen vak en/of Technisch vak (AV, TV), die ze missen tijdens de stageperiodes, zo goed mogelijk te recupereren. Het recupereren gebeurt dan voor en na de stageperiodes in de reguliere lesweken. Neem bijvoorbeeld een klas die 3 weken op stage gaat en die volgens de lessentabel 6 uur het vak PAV per week moet volgen. Deze klas zou dan 3 x 6 = 18 uur PAV missen doordat ze op stage gaat. Dat deze 18 uur zomaar zou vervallen is niet aanvaardbaar. Die 18 uur zullen gedurende het jaar en in de reguliere lesweken ingehaald moeten worden.

Een perfect kloppend voorbeeld:

  • Stel dat een klas een lessentabel heeft van 36 uur per week.
    • 4 uur PV (stage) per week.
    • 32 uur AV/TV per week
  • De 4 uur stage gaat niet georganiseerd worden als elke week 4 uur maar zal typisch in een aantal weken continue gevolgd worden.
  • Stel dat er gedurende 36 weken lesgegeven wordt in een schooljaar (= les + stage) en dat elke week bestaat uit 36 uur les (of stage).
  • Het contingent stage is dan 4 uur per week * 36 weken = 144 uur stage voor een heel schooljaar.
  • We kunnen dit contingent stage opnemen in 144 uur / 36h per week = 4 weken. 4 weken stage waarbij die weken al dan niet aansluitend kunnen zijn.
    • Gedurende die 4 weken worden alle stage-uren voor het hele jaar opgenomen en volgt de klas geen enkel uur AV/TV.
    • Gedurende die 4 weken missen ze 32 uur per week * 4 weken = 128 uur AV/TV. Deze 128 moeten ingehaald worden.
  • Er zijn nog 36 weken – 4 stageweken = 32 weken waar gewoon les gegeven wordt.
  • Als we 128 uur AV/TV moeten inhalen op 32 weken dan hebben we 128 uur / 32 weken = 4 uur per week nodig.
  • In elk van die weken gaan sowieso de normale AV/TV vakken door, dat zijn er volgens de lessentabel 32 per week. Tellen we bij deze 32 uur de 4 uur inhaallessen bij dan komen we weer terug uit op 32 + 4 = 36 uur les per week wat perfect klopt met het uitgangspunt dat er 36 uur in de lessentabel staat.

De vraag is nu hoe we die 4 uur inhaalles per week gepland krijgen in het rooster voor alle klassen die dat nodig hebben. Elke week kan er anders uitzien. We gaan hier gebruik moeten maken van een multiweeksysteem.


Inhoud

  • Oplossing schematisch besproken
    • Voorbeeld van een oplossing
      • Plannen van de inhaallessen
      • Plannen van het reguliere weekrooster
      • Uitrollen van de inhaallessen over 44 weken in het reguliere weekrooster
    • Didactische verfijning in het inhaallesrooster
      • Vermijden van versnippering van inhaallessen doorheen het jaar
      • Inhaallessen op een bepaald moment in het jaar plannen
      • Comprimeren van het aantal nodige slots per klas
      • Comprimeren van de inhaallessen voor de klassen binnen de nodige slots
      • Comprimeren van het aantal lesmomenten (slots) voor leerkrachten
      • Inhaallessen plannen met vaste- of keuzelokalen
  • Techniek van de oplossing in meer detail besproken
    • Stap 1: Plannen van de wisseluren
    • Stap 2: Plannen van het basisrooster en het voorzien van de slots voor de inhaallessen
      • De gebruiker bepaalt zelf de momenten waarop de inhaallessen mogen vallen
      • Mondriaan bepaalt de momenten waarop de inhaallessen mogen vallen
      • Enkele voor- en nadelen van beide systemen
  • Stap 3: Uitrollen van de inhaallessen met het basisrooster in een multiweeksysteem
    • Voorbereiden basisroosters
    • Uitrollen van de inhaallessen door beide bestanden samen te voegen
  • Het resulterende multiweekbestand
    • Mogelijke validatieproblemen in het multiweekbestand
    • Opnieuw Plannen van het multiweekbestand
    • Enkele voor- en nadelen van beide systemen
  • Wat als het basisrooster al een Multiweekrooster is?
  • De uitgewerkte voorbeelden

Oplossing schematisch besproken

In de praktijk zal het niet snel op deze perfectie uitdraaien maar wel benaderen. Op basis van de lessentabellen, het aantal bruikbare weken in het schooljaar, de wetgeving, het aantal in te richten stageweken, etc moet eerst per klas bepaald worden hoeveel er van welk vak dient ingehaald te worden. Dit is een oefening op zich die nodig is om de planning van de inhaallessen te kunnen starten. Op basis van deze informatie kan men bepalen hoeveel uren (slots) er per week nodig zijn voor elke klas om de inhaallessen te kunnen plannen.

De oplossing die we voorstellen zorgt ervoor dat het grootste deel van de lesweek stabiel blijft. De 32 uur AV/TV (uit het “perfecte” voorbeeld) blijven steeds op hetzelfde moment doorgaan. De resterende 4 uur worden opgevuld met inhaallessen en kan elke week er voor die uren dus anders uitzien.

In de praktijk zien we dat het aantal uren dat in de week gereserveerd moet worden om inhaallessen te organiseren niet groter is dan 4 uur. De lessentabellen in het technisch en beroepsonderwijs hebben meestal tussen de 32 en 34 lestijden AV/TV op een week van 36 uur. Er is derhalve ook niet meer dan 2 tot 4 uur ruimte per week om de inhaallessen te organiseren.

De oplossing bestaat uit volgende stappen:

  • Plannen van de inhaallessen (of wisseluren zoals ze ook genoemd worden) over de weken waarin ze gegeven mogen worden. Dit gaat een aparte Mondriaan file zijn waarin we de inhaallessen over bijvoorbeeld 44 weken gaan plannen voor alle klassen en dat op zo weinig mogelijk uren.
  • Plannen of bepalen waar de inhaalmomenten (de slots) mogen vallen in de lesweek.
    • Ofwel wordt dit op voorhand bepaald: bijvoorbeeld steeds op vrijdagnamiddag.
    • Ofwel laten we dit bepalen door Mondriaan zelf. Hierbij kunnen we dan beperkingen opleggen zoals enkel op de rand van de dag of ook net voor of na de middag, etc.
  • Plannen van het normale weekrooster waarbij er slots voorzien moeten worden om de inhaallessen achteraf in te laten vallen.
    • Als de slots op voorhand bepaald werden voorzien we die gaten gewoon in de roosters.
    • Als Mondriaan ze zelf mag kiezen dan gaat er extra info in het weekrooster opgenomen worden om de planning van die slots correct te kunnen doen.
  • Als zowel het reguliere weekrooster met slots gepland is en de planning van de inhaallessen over de beschikbare weken zijn klaar dan kunnen beide samengevoegd worden. Met samenvoegen bedoelen we dat het reguliere weekrooster omgezet zal worden in een Multiweek rooster met bv 44 weken. Elke week is dan een kopie van het reguliere weekrooster en in elke week hebben we dan bijvoorbeeld 4 slots om de inhaallessen in te schuiven. De inhaallessen worden dan perfect over alle weken verdeeld zoals ze eerder gepland waren.

De oplossing die we voorstellen resulteert dus in een systeem waarbij er zo weinig mogelijk inhaalmomenten per week nodig zijn en waarbij die inhaalmomenten ook voor elke klas op hetzelfde moment in de week vallen. Het aantal kan verschillend zijn per klas maar ze zullen wel steeds op dezelfde momenten vallen. Dit maakt het ook overzichtelijk voor de leerkrachten. Leerkrachten roteren binnen die vaste 4 uur, net zoals de klassen.

Om dit goed te doen moet het roosterteam de stappen nauwgezet volgen. Mondriaan voorziet een aantal hulpmiddelen om het proces te vereenvoudigen:

Template file om inhaallessen te plannen

  • We voorzien een Mondriaan template (*.zttxml file) die speciaal geconfigureerd is voor het plannen van de inhaallessen over de beschikbare weken.
  • De template voorziet momenteel maximum 4 uur inhaalles per week (4 slots: U01, U02, U03, U04) en 44 weken.
  • Als dit niet voldoet kan de gebruiker zelf aanpassingen maken aan de template. Het aantal weken vermeerderen of verminderen of het aantal kolommen uitbreiden is geen probleem.
  • Om de inhaallessen te plannen starten we van deze template en maken er een inhaalles-Mondriaan file van.

Beperking: Mondriaan ondersteunt momenteel roosters met maximaal 2600 roosterpunten. Dat is goed voor 52 weken van 50 uur (52×50 = 2600). Als de resulterende multiweekfile meer dan 2600 roosterpunten zou nodig hebben dan zal dat niet lukken en krijgt de gebruiker daar een foutmelding voor.

Importeren van inhaalles-clusters om slots te zoeken in het reguliere rooster

  • Indien men geen vaste momenten (slots) wenst te voorzien om de inhaallessen in te plannen dan kan Mondriaan ook zelf een keuze maken. Echter, om dat te kunnen doen moeten ook de inhaallessen eerst gepland worden via de eerste template. Na die planning weten we voor elk van de slots (bijvoorbeeld 4) het volgende:
    • welke leerkrachten moeten op elk slot beschikbaar zijn.
    • welke klassen moeten op elk slot beschikbaar zijn.
    • welke lokalen moeten op elk slot beschikbaar zijn.
  • Voor elk van de slots kunnen we dan alle resources samen in 1 opdracht zetten en die plannen als apart uur waardoor we zeker zijn dat elke nodige resource voor dat slot ook beschikbaar is volgens het reguliere rooster.
  • De functie “Import clusters” wordt uitgevoerd in het reguliere rooster en wat er geïmporteerd wordt zijn de clusters uit de inhaalles Mondriaan file.
  • Die clusters (in geval van 4 slots zijn het er 4) worden dan eerst met het reguliere weekrooster gepland. Na de planning worden die clusteropdrachten verwijderd uit het reguliere rooster zodat er plaatst (slots) gemaakt kan worden om de echte inhaallessen uit te rollen.

Importeren van opdrachten om de inhaallessen te versmelten met het reguliere rooster en uit te rollen over de nodige weken

  • Mondriaan voorziet een functie om de geplande inhaallessen te versmelten met een reeds gepland regulier weekrooster. Het gaat om de functie “Importeer opdrachten”.
  • Tijdens het versmelten wordt van elk slot gevraagd waar het in het rooster moet vallen (mapping slots op echte uren). Die uren werden in het reguliere rooster voorzien door ofwel met vaste uren te werken (bv vrijdagnamiddag), ofwel heeft Mondriaan ze zelf gezocht via de clusterimport en planning.
  • De nieuwe versmolten Mondriaan file zal een multiweek file zijn waarin alle weken voorzien zijn die ook in de inhaallessen file te vinden zijn, bijvoorbeeld 44 weken.
  • Elke week wordt een kopie van het reguliere basisrooster, enkel op de gekozen slots zal men elke week een andere invulling met inhaallessen zien.
  • De oorspronkelijke lesopdrachten uit het reguliere rooster zijn patroon-opdrachten geworden in het multiweek rooster. Elke week is identiek voor deze opdrachten. De inhaallessen verschillen per week en zullen dus geen patroon-opdrachten zijn.
  • Ook de weken die in de inhaalles file gemarkeerd staan als niet beschikbaar (volledige rij met rode kruisjes) zullen resulteren in een weken die gevuld zijn met de reguliere lessen. Er zullen echter geen inhaallessen in gepland zijn. Men kan er zelf voor kiezen om die weken uit te schakelen door de patroonopdrachten aan te passen (in de Weken kolom enkel die weken aanduiden die relevant zijn.)

Voorbeeld van een oplossing

Voor we in de details treden van hoe alles opgezet moet worden tonen we eerst het resultaat van de verschillende stappen. De focus ligt steeds op dezelfde klas 6ET.

Plannen van de inhaallessen

De administratie van de nodige inhaallessen per klas is gebeurd en ingevoerd in de daarvoor voorziene Mondriaan template. De inhaallessen zijn gepland en voor de klas 6ET zou dit er als volgt kunnen uitzien. In dit soort bestand stellen de rijen de weken voor (44 stuks) en stellen de kolommen de slots voor waar de inhaallessen in moeten vallen. Voor 6ET wordt het 4de slot (U04) niet gebruikt.

Voor 6ET kan je hier nu uit afleiden dat ze in de eerste week (zie eerste rij) volgende inhaallessen hebben:

  • slot U01: NED in lokaal L824 van leerkracht _031
  • slot U02: INSTM in lokaal L302 van leerkracht _019
  • slot U03: FRA in lokaal L826 van leerkracht _097

We zien ook dat 6ET de eerste 6 weken steeds NED heeft op het eerste slot. Dit is niet toevallig. Dit was een van de didactische eisen bij het opstellen van de inhaallessen, zoveel mogelijk dezelfde vakken in opeenvolgende weken. Merk ook op dat er blokjes “vrij” in het rooster staan. Dit zijn momenten waarop de klas geen inhaalles heeft en ook die worden zoveel mogelijk gegroepeerd, hier op het 3de slot in de laatste weken om geen springuren te creëren. Er zijn allerhande didactische eisen die we kunnen vervullen in zowel het inhaallesrooster als in het reguliere weekrooster alvorens ze samen te voegen.

De rode kruisjes in de rijen van dit rooster stellen ofwel vakantieweken voor, ofwel stageweken. In beide gevallen kan daar geen inhaalles gegeven worden.


Plannen van het reguliere weekrooster

In dit voorbeeld gaat het om een singleweek rooster van 5 dagen met telkens 10 uur per dag. De school werkt met een variabele middagpauze en 6ET heeft zijn pauze op het 5de uur van de dag. Het 10de uur wordt nooit gebruikt. Het aantal te plannen uur voor 6ET is 33. Deze 33 uur moeten op een rooster van 36 uur gepland worden en schieten er dus 3 uur over waarop de inhaallessen gepland kunnen worden. We tonen 2 voorbeelden:

voorbeeld 1: We blokkeren vrijdag 7, 8 en 9 als de plaats waar inhaalles gegeven kan worden.

Tijdens het plannen van dit rooster zullen we voor alle klassen, leerkrachten en lokalen die betrokken kunnen zijn bij inhaallessen deze 3 vaste uren blokkeren. Is hier voorgesteld door de rode kruisjes op vr7, vr8 en vr9. Op die manier zijn we zeker dat we hier later de inhaallessen zonder conflicten kunnen inschuiven. Merk op dat die uren voor elke klas op hetzelfde moment moeten gekozen worden. Het aantal te reserveren slots kan per klas verschillen maar ze liggen wel steeds op hetzelfde moment.

voorbeeld 2: We laten Mondriaan zelf kiezen waar de slots vallen via de eerder bepaalde clusters.

Wat men hier ziet is het rooster nadat het gepland werd met de clusters en waarna die clusters weer uit het rooster verwijderd werden om de slots beschikbaar te maken voor de inhaallessen. Mondriaan heeft er hier voor gekozen om de slots op volgende momenten te leggen: vr1, vr4, vr9. Ook in dit geval hangt het aantal slots af van de klas maar ze liggen wel overal op hetzelfde moment.


Uitrollen van de inhaallessen over 44 weken in het reguliere weekrooster

In de volgende stap vertrekken we van het reguliere weekrooster waarin de slots voorzien werden. Via “Importeer opdrachten” gaan we de inhaallessen samensmelten met het weekrooster. Hier gebeuren volgende dingen:

  • Mapping van de inhaalles-kolommen U01, U02, U03, en U04 naar de vrijgemaakte slots in het weekrooster (gebruiker geeft de mapping aan). Als er meer kolommen zijn dan zullen ook meer mappingen gemaakt moeten worden.
  • Er wordt automatisch een multiweekrooster gemaakt met evenveel weken als vermeld in het inhaallesrooster.
  • Voor elke week wordt er een duplicaat van het weekrooster gemaakt.
  • De slots worden gevuld met de corresponderende inhaallessen.

We tonen 2 voorbeelden van de resulterende multiweekrooster voor 6ET met de focus op week 1 (w1). Merk op dat er geen verschil meer is tussen beide voorbeelden op het moment dat we gaan versmelten. Hoe de slots gekozen werden doet er niet meer toe.

Voorbeeld 1: vertrekken van de weekrooster met een vast blok van 3 slots.

De kleuring van de cellen is hier gebeurd op basis van een customkolom in het opdrachten tabblad waarbij het onderscheid gemaakt wordt tussen reguliere lessen en inhaallessen. Indien men naar de andere weken zou scrollen zou steeds hetzelfde te zien zijn voor de grijze vlakken, enkel de lichtblauwe zullen steeds wijzigen.

Voorbeeld 2: vertrekken van het weekrooster met 3 door Mondriaan gekozen slots.

Enige verschil met het vorige voorbeeld is het moment waar de slots liggen.


Didactische verfijning in het inhaallesrooster

Het inhaalles rooster, waarbij rijen weken voorstellen en kolommen de inhaalmomenten of slots, biedt mogelijkheden voor didactische verfijning. Dus voor we de samensmelting doen van de inhaallessen en het reguliere rooster kunnen nog zaken verbeterd/aangepast worden. Voorbeelden hiervan zijn:

  • Vermijden van versnippering van inhaallessen doorheen het jaar
  • Inhaallessen op een bepaald moment in het jaar plannen
  • Comprimeren van het aantal nodige slots per klas
  • Comprimeren van de inhaallessen voor de klassen binnen de nodige slots
  • Comprimeren van het aantal lesmomenten (slots) voor leerkrachten
  • Inhaallessen plannen met vaste of keuzelokalen

Vermijden van versnippering van inhaallessen doorheen het jaar

We kunnen de inhaallessen in dit rooster plannen als blokken. Als de klas 6ET bijvoorbeeld 6 uur Engels (ENG) moet inhalen dan kunnen we dit als een blok van 6 uur plannen in dit rooster. Hierdoor zullen de lessen Engels mooi in aansluitende weken vallen. In dit voorbeeld op slot U01 van week 20 t/m week 25.

We kunnen de lessen als blok plannen en ook gebruik maken van het concept “overbrug-uurlijsten”. Voor 6ET zien we het vak Godsdienst (GOD) dat 6 uur ingehaald moet worden. Door gebruik te maken van de juiste overbruggingen (weken waar geen les is) zien we dat Godsdienst hier valt op de weken 26, 28, 29, 30, 34, 35. De gaten in deze lijst zijn overbruggingen waar dus geen les gegeven kan worden.

Werkt men met blokopdrachten dan kan men er ook voor kiezen om “Blokken per dag” UIT te vinken. Merk op dat die vlag hier geïnterpreteerd moet worden als “Blokken per uur” of “Blokken per kolom”. In het voorbeeld staat dit vlagje uitgevinkt voor de inhaalles Frans (FRA). Er is een blok gepland van 6 uur FRA en die gaat over van U02 (weken 37..40) naar U03 (weken 1..2). Dit wil dus concreet zeggen dat FRA in de eerste 2 weken op slot U03 gegeven wordt en de laatste 4 weken op slot U02. Wenst men niet dat die zover uit elkaar liggen dan doet men dat door “Blokken per dag” AAN te vinken.

Inhaallessen op een bepaald moment in het jaar plannen

Als het beter is bepaalde inhaallessen in een bepaalde periode van het jaar te plannen dan kan dat ook. Men wenst Wiskunde misschien liever in te halen op het einde van het schooljaar opdat de leerlingen nog wat zouden kunnen oefenen voor de examens beginnen dan is dat mogelijk. Men kan dat doen door de juiste uurlijsten aan te maken en te koppelen aan de opdrachten die de inhaallessen voorstellen.

Comprimeren van het aantal nodige slots per klas

Het is best om alle inhaallessen voor een klas te plannen op zo weinig mogelijk slots. Voor elke klas moet de berekening gedaan worden maar als men zeker is dat het haalbaar is in 2 slots in plaats van in 3 dan doet men er goed aan dit af te dwingen.

Dit is eenvoudig te doen door een of meerdere slots te blokkeren. Blokkeren doet men door in “Elementen | Klassen” via de juiste uurlijsten af te dwingen dat klassen op bepaalde momenten niet beschikbaar zijn.

Indien men uitgaat van het geval waarbij de slots in een blok op bijvoorbeeld vrijdagnamiddag terechtkomen dan is het logisch om eerst U04 af te blokken, dan U03, etc om geen springuren te hebben in hun rooster.

Comprimeren van de inhaallessen voor de klassen binnen de nodige slots

Heeft men berekend dat er 3 slots nodig zijn voor klas 6ET dan is het meestal niet het geval dat alle 3 de slots volledig gevuld geraken met inhaallessen. Er kunnen dus gaten ontstaan. Voor 6ET moeten er 73 uur inhaalles gegeven worden. Er zijn 29 weken beschikbaar. 29 x 3 = 87 uur beschikbaar met 3 slots. De lessen passen dus in 3 slots maar we hebben dan wel een overschot van 87 – 73 = 14 uur. De vraag is wat men wenst te doen met deze 14 uur. Liefst niet laten resulteren in springuren in het uiteindelijke rooster. Als men verstandige keuzes heeft gemaakt voor de slots dan zal het meestal zo zijn de U04 op de rand van een dag ligt en U03 net daarvoor of bijvoorbeeld net voor de middagpauze. Voor 6ET was U04 sowieso al geblokkeerd en dus niet gebruikt. Om springuren te vermijden moeten we die 14 gaten dus best in de kolom U03 plannen. We doen dat door een extra opdracht van 14 losse uurtjes “vrij” aan te maken en laten die enkel toe in kolom U03. In het rooster van 6ET liggen ze ook op die plaats om springuren te vermijden. We maken er losse uren “vrij” van om zo flexibel mogelijk te zijn en dus niet te veel beperkend voor de echte inhaallessen.

Voor het voorbeeld met alles op vrijdagnamiddag zal 6ET nooit les hebben op vr9 en af en toe les op vr8. Voor het voorbeeld waarbij Mondriaan de keuze van de slots doet (in beperkte mate, verstandig gekozen) zal 6ET ook nooit les hebben op vr9 en af en toe op vr4. Na vr4 is het middagpauze dus ook hier geen echt springuur.

Comprimeren van het aantal lesmomenten (slots) voor leerkrachten

Ook de kwaliteit van de rooster voor leerkrachten kan hier verbeterd worden. Als men weet dat een leerkracht zou kunnen toekomen met 3 slots om al zijn inhaallessen te geven dan zou men een “vrij” blok kunnen plannen over een kolom (U01..U04) naar keuze.

In dit voorbeeld heeft leerkracht _054 nooit inhaalles op U02 en _037 heeft nooit inhaalles op U01 en U03. Merk op dat hier ook de blokken “vrij” blokken zijn van 29 uur met de juiste overbrug-uurlijsten om ze over een ganse kolom planbaar te maken. Een andere optie is om dergelijke blokken als Wens te plaatsen, dan kan het zonder overbruggingen omdat wensen niet gebonden zijn aan de beschikbaarheid van de leerkracht. Je zou dus een wens als blok van 44 uur kunnen plaatsen.

Voorbeeld gebruik makend van blokken “vrij” met overbruggingsuurlijsten:

Voorbeeld gebruik makend van klassieke Wensen ipv blokken “vrij” (ook een andere oplossing laten berekenen):

Men kan dat uiteraard nog fijnmaziger gaan aanpakken per periode van een half jaar. Alles is mogelijk.

Inhaallessen plannen met vaste- of keuzelokalen

Voor elke opdracht die een inhaalles voorstelt kunnen we ook lokalen plannen. Net zoals in een normaal rooster kan dat door vaste lokalen of door keuzelokalen.


Techniek van de oplossing in meer detail besproken

In deze sectie overlopen we het stappenplan en de verschillende Mondriaanbestanden die nodig zijn. We bekijken 2 oplossingsmogelijkheden om de momenten te bepalen waar de wisseluren (inhaallessen) moeten vallen: vast (door gebruiker op voorhand bepaald) of variabel (Mondriaan zoekt de beste momenten).

De Mondriaanbestanden die we nodig hebben geven we de volgende namen:

  • WU template:
    de template die time-tech voorziet om de inhaallessen (wisseluren) apart en op voorhand in te plannen.
  • WU voorbeeld:
    een gevulde template voor het voorbeeld dat we hier bekijken.
  • SW Klassen WU niet in blok:
    het singleweek basisrooster waarbij de slots door Mondriaan voorzien worden om de wisseluren in te plannen.
  • SW Klassen WU vrijdagnamiddag:
    het singleweek basisrooster waarbij de slots door de gebruiker voorzien worden om de wisseluren in te plannen.
  • MW Klassen WU niet in blok:
    het multiweek resultaat van het samenvoegen van “WU voorbeeld” met “SW Klassen WU niet in blok”.
  • MW Klassen WU vrijdagnamiddag:
    het multiweek resultaat van het samenvoegen van “WU voorbeeld” met “SW Klassen WU vrijdagnamiddag”.

Stap 1: Plannen van de wisseluren

We maken een kopie van de “WU template” en geven het bestand een nieuwe naam (hier “WU voorbeeld”). In dit bestand moeten we de resources en vakken invoeren die een rol spelen bij het plannen van wisseluren: Klassen, Leerkrachten,Lokalen, Vakken, … Zorg ervoor dat ze exact dezelfde acroniemen hebben als in het originele basisrooster.

Het bestand “WU template” voorziet max 4 wisseluren (kolommen) en 44 weken (rijen) waarbinnen de wisseluren gepland moeten worden. In het “WU voorbeeld” gaan we van die 4 wisseluren er maar 3 nodig hebben en van die 44 weken er maar 30 effectief gebruiken (voor 6TSO maar 29) om inhaallessen te plannen. De rest zijn stageperiodes, vakantieperiodes, en examenperiodes.

Bij klassen en leerkrachten, en bij groepen hiervan, kunnen we op een eenvoudige manier tijdsrestricties opleggen voor de momenten waarop wisseluren gepland mogen worden. Om dat goed te doen maakt men best eerst in “Uren/Week | Uurlijsten” de nodige uurlijsten aan.

Volgende voorbeelden kunnen bekeken worden:

  • Voor groepen van klassen sluiten we alle weken (rijen) uit waar ze niet beschikbaar zijn voor inhaallessen.
  • Voor individuele klassen sluiten we specifieke inhaalmomenten uit (kolommen).
  • Voor groepen van leerkrachten sluiten we vakantieperiodes uit en omdat we steeds max 3 inhaallessen nodig hebben sluiten we ook het 4de uur uit.
  • Individuele fine tuning per klas en leerkracht mogelijk.

Bij “[Groepen] | [Klassen]” vermelden we alle weken waar de standaardgroep KLASSEN geen inhaallessen kunnen hebben. We laten “Verplicht” uitgevinkt. Het icoontje “Uurlijst” toont de rijen waar de klassen geen inhaallessen kunnen hebben. De uurlijsten “WWxy” zitten ook in de template en stellen de weken (rijen) voor.

Bij “[Groepen] | [Leerkrachten]” vermelden we alle weken waar de standaardgroep LEERKRACHTEN geen inhaallessen kunnen hebben. We laten “Verplicht” uitgevinkt. Het icoontje “Uurlijst” toont de rijen waar de klassen geen inhaallessen kunnen hebben. Hier zien we ook de kolom UU04 als onbeschikbaar verschijnen. De uurlijsten “UUxy” zitten ook in de template en stellen de inhaalmomenten (kolommen) voor.

De opdrachten die men ingeeft zijn enkel de opdrachten voor de inhaallessen. De administratie van welke klas wat moet inhalen moet op voorhand gemaakt zijn. Op basis van deze administratie kan men de opdrachten samenstellen:

  • Welke klas moet hoeveel van welk vak inhalen.
  • Welke klassen moeten samen gezet worden voor hun inhaallessen
  • Welke lokalen en leerkrachten moeten die inhaallessen geven
  • etc.

In het voorbeeldbestand vindt men een volledig gevuld opdrachten tabblad. Als voorbeeld kijken we naar klas 6ET:

Enkele keuzes die gemaakt zijn:

  • 6ET heeft soms alleen les, soms in groep met andere klassen (6TSO).
  • De opdrachten hebben een vast lokaal en vaste leerkracht toegewezen.
  • Per vak hebben we het aantal uur (#uur) gelijk gesteld aan de blokgrootte. Dit zorgt ervoor dat hetzelfde vak niet verspreid wordt over de hele periode.
  • Het vlagje “Blokken per dag” (per kolom in feite) is uitgevinkt. Op die manier laten we blokken vlot “overlopen” van de ene naar de andere kolom zonder problemen te krijgen met de plaatsing.
  • 6ET heeft 14 losse uren “vrij” om de inhaallessen van 6ET te comprimeren. We plannen ze op de uurlijst UU03. Op uurlijst UU04 is sowieso geen les omdat elke leerkracht daar uitgesloten werd. Door die 14 uur op UU03 te zetten weten we zeker dat de inhaalmomenten UU01, UU02 volledig met inhaallessen bezet worden en dat dat vrije uren enkel in kolom UU03 kunnen voorkomen. Zeker bruikbaar om de lessen te comprimeren voor 6ET en om springuren te vermijden (bij correcte mapping van de inhaalmomenten op de slots in het basisrooster).

Zetten we de filter op leerkracht _035 dan krijgen we volgende opdrachten:

Deze leerkracht heeft 25 uur inhaallessen die gepland moeten worden. Om de rooster van de leerkracht ook wat te comprimeren kunnen we bijvoorbeeld via een wens eisen dat hij op maximaal 2 inhaalmomenten moet komen. Het 4de was al uitgesloten. Via een wens kunnen we nog een extra kolom uitsluiten. Wensen voor leerkrachten worden op volgende manier gedefinieerd in dit bestand:

We hebben een uurlijst EERSTE_WENS. Deze bevat gewoon het eerste uur van de eerste 3 kolommen. We vragen voor leerkracht _035 een blok van 44 uur op deze uurlijst.

Per leerkracht kunnen we het aantal uit te sluiten kolommen gaan bepalen en zien wat mogelijk  is in de combinatie van het geheel. Men kan daar zover in gaan als men wenst.

Plannen van de wisseluren

Als alle data ingegeven is, en na de nodige experimenten en verbeteringen kan men een finale planning doen. Omdat het een vrij eenvoudig probleem is (als men niet té ver gaat in de wensen) plannen we dit vrij snel met de standaard instellingen.

Bekijken we het resultaat voor 6ET en _035 na de planning:

Alle inhaallessen voor 6ET zijn verdeeld over 3 inhaalmomenten en de momenten dat ze geen les hebben zijn op het 3de uur gelegd. Voor _035 zien we de 15 uur die gepland moesten worden en als extra hebben we het 2de uur volledig vrij gemaakt met een wens.

Het bestand “WU voorbeeld.zttxml” kan men achteraan op deze pagina vinden en het is zeker nuttig om dit eens grondig te bekijken.


Stap 2: Plannen van het basisrooster en het voorzien van de slots voor de inhaallessen

Hier zijn er 2 versie mogelijk. Ofwel bepalen we zelf waar de slots komen, ofwel doen we dat met de hulp van Mondriaan. De eenvoudigste versie is om zelf de momenten vast te leggen. We bekijken beide gevallen. In beide gevallen gaat het om 3 uur inhaalles.

De bestanden die overeenkomen met beide gevallen zijn:

  • “SW Klassen WU vrijdagnamiddag.zttxml” (vast bepaalde slots)
  • “SW Klassen WU niet in blok.zttxml” (door Mondriaan bepaalde slots)

In beide gevallen gaat het om een klassiek singleweek systeem. in beide gevallen bekijken we in deze stap enkel hoe we in het reguliere rooster van de klassen, leerkrachten, lokalen, …, slots kunnen voorzien die toelaten om na de planning van het reguliere rooster er zonder problemen de inhaallessen in te kunnen opnemen.


De gebruiker bepaalt zelf de momenten waarop de inhaallessen mogen vallen

We gaan zelf bepalen dat alle inhaallessen op vrijdagnamiddag moeten vallen: vrijdag 7, 8, en 9 zijn de momenten.

We moeten een lijst maken/hebben van alle klassen, leerkrachten, lokalen die betrokken zijn bij de inhaallessen. Voor al deze resources willen we die 3 momenten op een eenvoudige manier blokkeren zodat ze nooit bezet kunnen worden door normale lessen. We maken een groep van leerkrachten, een groep van lokalen, een groep van klassen die bij inhaallessen betrokken zijn. Op het niveau van deze groepen bepalen we dan hun onbeschikbaarheid op vrijdag 7, 8 en 9.

Eerst voorzien we bijvoorbeeld deze eenvoudige uurlijst UL_WU (WisselUren):

Hij bevat vrijdag 7, 8, en 9.

Vervolgens voorzien we per type resource de groep die betrokken is bij inhaallessen. We geven ze hier de volgende namen:

  • KLASSEN_WU
  • LKR_WU
  • LOKALEN_WU

Voor elk van die groepen zetten we de uurlijst “UL_WU” en zorgen ervoor dat “Verplicht” uitgevinkt is. Op die manier zal elke resource die in die groepen zit onbeschikbaar worden voor het reguliere rooster op vrijdag 7, 8, en 9.

We plannen zoals een gewoon rooster verder. Pas als we volledig tevreden zijn van het reguliere rooster gaan we verder met Stap 3 waar we de samensmelting gaan doen.

De basisroosters voor 6ET en _035 zien er dan bijvoorbeeld als volgt uit met op vrijdag telkens de 3 slots die we voorzien hebben:


Mondriaan bepaalt de momenten waarop de inhaallessen mogen vallen

De info die we hier bespreken is te vinden in het bestand “SW Klassen WU niet in blok.zttxml”.

Dit is een iets ingewikkelder proces maar om het eenvoudiger te maken voorziet Mondriaan de nodige tools. We beginnen opnieuw met het opstellen van het reguliere rooster zoals bij de vorige methode. Wat we niet doen is onbeschikbaarheden voorzien voor de resources die deelnemen aan de inhaallessen. We willen opnieuw 3 momenten in het rooster voorzien maar we gaan niet zelf bepalen waar die liggen. Wat we wel doen is bepalen uit welke momenten Mondriaan mag kiezen om de inhaalmomenten, de slots te plannen. We zullen hiervoor een uurlijst opstellen die we de naam RAND geven.

We willen dat de 3 wisseluren ergens op deze RAND uren liggen. Het gaat om een rooster met een variabele middagpauze. Vandaar de 3 mogelijke uren op de middag. Het eerste uur mag het ook en het laatste uur (9) is een randuur.

Hoe bepaalt Mondriaan nu waar de wisseluren mogen vallen? Hiervoor hebben we 3 speciale opdrachten van 1 uur nodig die mee met het reguliere rooster gepland moeten worden. Het doel van die 3 opdrachten is het “reserveren” van een vrije plaats voor alle resources die nodig zijn op dat moment zodat alle wisseluren in elke week er later gelegd kunnen worden.

De informatie om die 3 opdrachten te construeren zit in het wisseluren bestand “WU voorbeeld.ttxml“. Het is hier erg belangrijk dat de planning van de wisseluren over de 44 weken reeds gebeurd is en niet meer gaat wijzigen. Via het wisseluren bestand kunnen we de nodige reservatieopdrachten samenstellen voor elk van de 3 slots. Om die speciale opdrachten te construeren is er een speciale importmogelijkheid voorzien.

Met het reguliere bestand “SW Klassen WU niet in blok.zttxml” geopend navigeren we naar volgend menu item:

Via de functie “Tools | Wisseluren | Import clusters” gaan we 3 opdrachten construeren waarin telkens de juiste cluster van resources zit om de reservatie te doen. We openen het bestand waar de wisseluren in geroosterd zijn: “WU voorbeeld.zttxml”. Mondriaan gaat op basis van de gedefinieerde kolommen (U01…U04) kijken op welk van de 4 uren er wisseluren gepland zijn en dan de clusters samenstellen om er de reserveringsopdrachten van te maken. In ons geval zullen er maar 3 van de 4 uur gebruikt zijn. Het resultaat kan men vinden in het opdrachten tabblad:

De 3 reserveringsopdrachten worden achteraan in het opdrachtentabblad toegevoegd. We hebben hier een Custom kolom (vlagje) “WU” ingevoerd om het onderscheid te maken tussen gewone opdrachten en de reserveringsopdrachten. Na de import manueel aan te vinken. Men ziet in elk van deze opdrachten de clusters van klassen, leerkrachten, en lokalen staan. De clusteropdrachten worden in de volgorde van de kolommen uit het wisseluurbestand gegenereerd. Dus ID 4033 komt overeen met kolom U01, ID 4034 met U02 en ID 4035 met U03. Merk ook op dat een clusteropdracht pas gegenereerd wordt voor een kolom indien er minstens één klas geroosterd staat op die kolom. Anders heeft het geen zin om ze aan te maken. De wisseluren bestaan tenslotte voor de klassen. Merk op dat er géén vakken in de clusteropdrachten staan. De clusteropdrachten kijken enkel naar de resources.

Van deze 3 opdrachten moeten we ook nog zeggen waar ze in het rooster mogen vallen. Daarvoor hebben we de uurlijst RAND eerder gedefinieerd. We voegen die nu gewoon toe aan de 3 opdrachten waarna we het geheel kunnen plannen.

Na planning van het geheel is het basisrooster gepland en zijn de reservaties gedaan zodat we 3 roosterpunten hebben waarop de wisseluren uitgerold kunnen worden. Bekijken we na de planning opnieuw de roosters van 6ET en _035 (kleuring van de cellen op basis van custom kolom WU):

In het rooster van 6ET zien we 3 lichtblauwe cellen, dat zijn de WU cellen. We klikken op de cel vr1 en zien in het opdrachtinfo paneel de volledige cluster aan resources die op dat moment gereserveerd is. De 3 blauwe cellen hebben elk hun specifieke clusters. In het rooster van _035 zien we maar 2 van de 2 blauwe cellen. Dat komt omdat we die leerkracht maar voor 2 van de 3 slots nodig hebben.

Error door leerlingaantallen in de clusteropdrachten

Het is mogelijk dat Mondriaan een foutmelding geeft over het aantal leerlingen en de beschikbaarheid in lokalen voor de clusteropdrachten. Dit zijn onzinnige foutboodschappen maar het belet dan wel het roosteren. Om dergelijke fouten te vermijden kan men best de leerlingaantallen voor de klassen die inhaallessen moeten volgen op 0(nul) zetten. Als men klaar is met het plannen van de clusteropdrachten kan men ze weer aanvullen indien nodig.


Enkele voor- en nadelen van beide systemen

  • Administratie met vaste zelfgekozen momenten is eenvoudiger dan het systeem waar Mondriaan kan kiezen.
  • Theoretisch meer kans om een oplossing te vinden als Mondriaan zelf kiest.
    • Ten eerste zijn de er de momenten die Mondriaan zelf kan vinden (uit een mogelijks beperkte keuze (zie RAND)).
    • Ten tweede is de reservatie bij de vaste keuze ook totaal, we blokkeren alle resources. Als Mondriaan zelf kiest is de reservatie per cluster en dus zuiniger.
  • Als Mondriaan zelf kiest hoeven de inhaallessen niet aansluitend te zijn, dat is misschien minder overzichtelijk.
  • Kiest met het Mondriaan systeem dan mag men na het importeren van de clusters geen wijzigingen meer aanbrengen aan het Mondriaan-bestand waarin de 44 weken gepland zijn met wisseluren. Doet men dit wel dan zouden de clusters anders verdeeld kunnen zijn en passen ze niet meer in de gereserveerde slots. Men zal in dat geval steeds het basisrooster opnieuw moet plannen met de nieuwe clusters. In het geval men werkt met vaste momenten heeft men dat probleem niet.

Stap 3: Uitrollen van de inhaallessen met het basisrooster in een multiweeksysteem

In deze laatste stap gaan we het basisrooster met gereserveerde/geblokkeerde slots samenvoegen met het bestand waarin de 44 weken met wisseluren voorbereid werden. Het resultaat zal een multiweekrooster zijn van 44 weken waarin men telkens het basisrooster vindt aangevuld met de inhaallessen voor die week.

Voorbereiden basisroosters

Afhankelijk van de manier waarop de reservering/blokkering van de slots gebeurt is moeten we nog een laatste voorbereiding doen in de basisroosters:

  • Vaste slots: de blokkering die gebeurd was via de uurlijst UL_WU voor alle resources moeten we verwijderen.
  • Variabele slots: de clusteropdrachten die de reservaties deden moeten moet met verwijderen of op inactief zetten (Roosteren uitvinken).

In beide gevallen zijn de slots dan vrijgemaakt om de wisseluren te ontvangen.

Vaste Slots: “SW Klassen WU vrijdagnamiddag.zttxml”

Bij “Elementen | [Groepen]” gaan we de uurlijst UL_WU verwijderen bij de groepen waar we ze voor de planning eerder hadden toegevoegd:

  • Klasgroep: KLASSEN_WU
  • Leerkrachtgroep: LKR_WU
  • Lokaalgroep: LOKALEN_WU

De roosters in het basisrooster zullen nu niet meer geblokkeerd zijn:

Voor alle resources die betrokken zijn bij wisseluren zijn de roosters nu vrij voor de momenten:

  • vrijdag 7: alle resources zijn hier vrij
  • vrijdag 8: alle resources zijn hier vrij
  • vrijdag 9: alle resources zijn hier vrij

Variabele slots: “SW Klassen WU niet in blok.zttxml”

In het opdrachtentabblad desactiveren we de 3 clusteropdrachten. We zetten Roosteren/Tellen op inactief. We noteren wel de momenten waarop de clusters specifiek geplaatst zijn. De clusteropdrachten staan in het opdrachten tabblad in de volgorde van de gebruikte kolommen uit het bestand “WU voorbeeld.ttxml”. Merk op dat de volgorde in de ID kolom zit.

Voor resources die betrokken zijn bij wisseluren zijn de roosters nu vrij voor de momenten:

  • vrijdag 4: alle resources zijn vrij die tot cluster 1 (ID 4033) behoren (komt overeen met kolom U01)
  • vrijdag 1: alle resources zijn vrij die tot cluster 2 (ID 4034) behoren (komt overeen met kolom U02)
  • vrijdag 9: alle resources zijn vrij die tot cluster 3 (ID 4035) behoren (komt overeen met kolom U03)

Het is belangrijk om die relatie te onthouden om straks de mapping te doen tussen de kolommen uit het wisseluurbestand en het basisrooster.

Beide bestanden bewaren we even onder volgende naam alvorens tot de uitrol over te gaan:

  • “SW Klassen WU vrijdagnamiddag geroosterd.zttxml” (vast bepaalde slots)
  • “SW Klassen WU niet in blok geroosterd.zttxml” (door Mondriaan bepaalde slots)

Uitrollen van de inhaallessen door beide bestanden samen te voegen

Als laatste stap moeten we het geroosterde basisrooster met gereserveerde slots openen en er via een tool de wisseluren in uitrollen. We vertrekken met het basisrooster waarin vaste slots gereserveerd werden (“SW Klassen WU vrijdagnamiddag geroosterd.zttxml”).

We openen het bestand en navigeren naar het menu van de wisseluren.

Via de functie “Tools | Wisseluren | Import opdrachten” gaan we de wisseluren uitrollen. We selecteren het bestand met de eerder geplande wisseluren (“WU voorbeeld.ttxml”) en drukken op OK. Er verschijnt een popupscherm waarin aan de gebruiker gevraagd wordt om de mapping te maken tussen de “gebruikte” kolommen in het wisseluurbestand en de vrijgemaakte slots in het basisrooster.

In de kolom “Uur” vullen we de correcte slots in: U01->vr7, U02->vr8, U03->vr9. Merk op dat we in theorie eender welke mapping hier kunnen maken tussen de kolommen en de slots vr7, vr8, vr9. Omdat we tijdens de planning van de wisseluren ook rekening gehouden hebben met het feit dat de slots achter elkaar liggen is het logisch om dat tijdens de mapping ook te respecteren. Als we dat respecteren dan zullen er voor de klassen bijvoorbeeld geen springuren zijn.

We drukken na de mapping op “OK”. Mondriaan gaat het rooster nu omvormen tot een multiweekrooster van 44 weken, het basisrooster in elke week uitrollen met patroonopdrachten en de wisseluren in elke week als niet-patroon opdrachten zetten.

Na afloop hebben we een multiweekrooster met 44 weken. Hier zien we een voorbeeld van het resultaat voor 6ET en _035 in week 39. De wisselopdrachten zijn nu toegevoegd aan het basisrooster dat voor elke week gelijk is.

We kunnen ook 2 willekeurige weken voor 6ET naast elkaar leggen (week 39 en week 15) om het verschil eens te bekijken. We zien idd het basisrooster gelijk zijn, het enige verschil zit op de wisseluurmomenten.

Als we nu op “Opslaan” zouden drukken gaat het bestand “SW Klassen WU vrijdagnamiddag geroosterd.zttxml” overschreven worden door dit multiweekrooster. Omdat we het singleweekbestand willen behouden bewaren (“Oplsaan als”) we het als “MW Klassen WU vrijdagnamiddag.zttxml”. Ook dit bestand kan men in bijlage terugvinden.

Wat is er anders bij de versie met variabele slots?

Het enige verschil als we vertrekken met het basisrooster “SW Klassen WU niet in blok geroosterd.zttxml” is dat we de mapping exact moeten respecteren zoals eerder uitgelegd. Dus de enige juiste mapping is de volgende (zelfde proces te volgen):

(Elke andere mapping zal foutief zijn!)

Als we op OK drukken na de mapping gebeurt hetzelfde als met het vorige bestand. In dit geval bewaren we het bestand als “MW Klassen WU niet in blok.zttxml”. Ook dit bestand kan men in bijlage vinden.


Het resulterende multiweekbestand

Enkele aandachtspunten voor het gegenereerde mutiweekrooster.

Het Opdrachten tabblad

De originele opdrachten uit het basisrooster (een normaal singleweek rooster is) komen terug in het multiweekrooster als patroonopdrachten in elke week:

  • Weken bevat “Weken”. Opdracht komt voor in elke week.
  • Patroon aangevinkt. Opdracht in elke week op dezelfde plaats.

De plaatsing van deze patroonopdrachten valt op exact hetzelfde moment als dat ze vielen in het basisrooster.

Achteraan in het opdrachten tabblad worden de inhaallessen geplaatst. Dit zijn opdrachten die in één of meerdere weken kunnen voorkomen maar geen patroonopdrachten zijn. De custom kolom WU werd manueel aangevinkt voor deze opdrachten zodat we het verschil kunnen zien in de visualizers.

De plaatsing van deze inhaallessen werd bepaald in het wisseluurbestand en via de uurmapping overgezet naar dit bestand.

Het Wensen tabblad

De wensen voor leerkrachten die aangemaakt werden in het basisrooster komen ook terug in het multiweekrooster. De wensen zijn nu ook multiweek en dus is de kolom Weken gevuld met “Weken”. Voor wensen bestaan geen patronen. In elke week zal de wens wel op dezelfde plaats staan omdat de plaatsing overgenomen werd van het basisrooster.

Het Uurlijsten tabblad

Elke uurlijst die gedefineerd was in het basisrooster staat ook in het multiweekrooster. Elke uurlijst werd uitgebreid zodat hij er in elke week hetzelfde uitziet.

Het Extra spreidingen tabblad

De waarde- en volgordespreidingen die golden in het basisrooster moeten nu gelden in elke week van het multiweekrooster. De spreidingen worden overgenomen en de Weken kolom wordt gevuld met “Weken” om aan te duiden dat elke week gedekt moet zijn.

De Elementen tabbladen

Alle elementen, resources, vakken, labels, groepen, etc waarvoor beperkingen aanwezig waren in het basisrooster zullen die beperkingen ook hebben in het multiweek rooster. De beperkingen zullen hierdoor gelden in elke week. Voorbeeld voor beperkingen op Vakken:


Mogelijke validatieproblemen in het multiweekbestand

Nadat het multiweekbestand gegenereerd en bewaard is kijkt men best eens of het valideert, of er geen conflicten ingeslopen zijn. Omdat we 2 bestanden samenvoegen en niet aan alles gedacht hebben kunnen bepaalde beperkingen die in het basisrooster golden nu geschonden zijn.

Bij het blokkeren van vaste slots weten we tijdens de planning van het basisrooster totaal niet welke wisseluren in die slots zullen vallen. Beperkingen en spreidingsregels gaan hier dus geen rekening mee houden. Dat kan later tot conflicten leiden. Bij het reserveren van resources via clusteropdrachten gaan we tijdens het plannen van het basisrooster wel bepaalde info hebben over de resources die er exact komen te staan (maar geen vakken). Vandaar dat er bij deze methode meer rekening gehouden gaat worden met beperkingen en spreidingen dan in het eerste geval. Het is echter ook zeker niet waterdicht. In beide gevallen gaat men wat zaken moeten opruimen.

We doen de test in beide versies van de multiweekroosters:

Het bestand met de variabele slots: “MW Klassen WU niet in blok.zttxml”

Er zijn géén fouten. Enkel een aantal waarschuwingen die ook al in het basisrooster bestonden.

Het bestand met de vaste slots: “MW Klassen WU niet in blok.zttxml”

Hier vinden we inderdaad fouten:

  • Beperkingen die niet gerespecteerd werden
  • Conflicterende opdrachten
  • Foutieve waardespreidingen

Deze problemen zijn perfect te verklaren en kunnen ook opgelost worden.

Beperkingen die niet gerespecteerd werden

Hier gaat het om vakbeperkingen die in het basisrooster gevraagd werden. NED, WIS, en ENG mogen niet op vrijdag 8 en 9 liggen. Omdat we deze beperking niet “vertaald” hebben naar het wisseluurbestand werd hier geen rekening mee gehouden. Deze vakken lagen dus op U02/U03 in het wisseluurbestand wat we niet uitgesloten hadden.

Oplossing: Dergelijke beperkingen op Vakken kunnen we best in het wisseluurbestand vertalen indien we met vaste slots werken. Deze vakken mogen dus niet op U02/U03 (=vr8/vr9) vallen. Er zijn uiteraard nog andere oplossingen te bedenken.

Hebben we dat probleem ook bij variabele slots? Ja. Maar men zou het hier kunnen verminderen door die specifieke vakken al toe te voegen aan de clusteropdrachten.

Conflicterende opdrachten

Hier gaat het steeds over Wensen die op vrijdag liggen en die nu conflicteren met de inhaallessen. Het basisrooster werd inderdaad zonder inhaallessen gepland en konden de wensen inderdaad ook op vrijdag gelegd worden. Voor leerkrachten die inhaallessen moeten geven en dat steeds op vrijdag is het dus onzinnig om eens wens op vrijdagnamiddag te laten vallen. Merk op dat een wens geen rekening houdt met de onbeschikbaarheid van een leerkracht.

Oplossing: we kunnen die wensen in het basisrooster bijvoorbeeld uitsluiten voor de momenten waar de vaste inhaallessen gaan vallen voor de betrokken leerkrachten. We kunnen in het  multiweekrooster de wensen die conflicteren ook gewoon op inactief zetten. Er zijn tal van mogelijkheden om dit op te lossen.

Waarom hebben we dat probleem niet in het rooster met variabele slots? De reden is eenvoudig. Door het plannen van de slots via clusteropdrachten in het basisrooster kunnen wensen niet langer conflicteren met inhaallessen.

Foutieve waardespreiding

Voor een aantal klassen bestaat er een regel dat er maximaal 1 uur lesgegeven mag worden op het 9de uur van de dag. De reden dat dit niet gerespecteerd werd is dat dit gegeven niet bekend is in het wisseluurbestand. Na samenvoegen hebben we dan een probleem.

Oplossing: We zouden voor dit specifieke geval opnieuw de beperking kunnen vertalen naar het wisseluurbestand. We weten hoeveel uur elk van die klassen al geplaatst is op het 9de uur en kunnen dan daar rekening mee houden voor U03. Dat gaat misschien wat ver. Men kan ook de spreiding inactief maken.

Waarom hebben we dat probleem niet in het rooster met variabele slots? De reden is eenvoudig. Door het plannen van de slots via clusteropdrachten in het basisrooster wordt meteen aan de eis voldaan. Dit is echter geen algemene regel. Omdat er geen vakken in de clusteropdrachten zitten en er waardespreidingen op kunnen gedefinieerd zijn kan het ook fout lopen. Ook hier zal men specifiek aandacht voor moeten hebben en eventueel de clusteropdrachten aanpassen indien nodig.


Opnieuw Plannen van het multiweekbestand

Het multiweekbestand is volledig gepland na de generatie ervan.

Wil men het zelf opnieuw plannen na de generatie zou dat ook mogelijk moeten zijn. Drukt men gewoon op “Plan” dan zal Mondriaan het geheel plannen. Let wel op het feit dat Mondriaan wel weer de keuze zal hebben waar de inhaallessen zullen vallen. De opdrachten die de inhaallessen voorstellen hebben geen restricties qua mogelijke uren waarop ze staan. het enige wat vastligt zijn de weken waarin ze gepland worden. Als je opnieuw plan er er dus geen enkele garantie meer dat ze op dezelfde plaats als voorheen liggen. Door het feit dat het basisrooster via patroonopdrachten gegarandeerd blijft, is er wel de garantie dat in elke week de wisseluren ook op dezelfde momenten vallen. De patroonopdrachten laten nl gaten vrij voor de wisseluren en die gaten vallen per definitie in elke week op hetzelfde moment.


Enkele voor- en nadelen van beide systemen

Eerder werden al een aantal voor- en nadelen besproken. Hier volgen er na het traject doorlopen te hebben nog enkele:

  • Met variabele slots kunnen we tijdens het plannen met de clusters automatisch rekening houden met een heleboel beperkingen die in het basisrooster gesteld zijn. We hebben daar uitgebreid voorbeelden van bekeken. Het gaat over tijdsbeperkingen, conflicten met wensen, extra spreidingsregels die niet gerespecteerd werden, etc. Met vaste slots heb je veel meer kans op dergelijke problemen.
  • Meer kans op compactere leerkrachtroosters bij variabele slots. Bij vaste slots blokkeert men hier 3 uur waar geen enkele basisopdracht kan liggen. Als er dan na samenvoegen enkel op het 3de uur een inhaalles volgt dan heeft die leerkracht 2 springuren. De kans dat men dat heeft is veel kleiner bij de variabele versie.

Wat als het basisrooster al een Multiweekrooster is?

Stel dat men vertrekt van een basisrooster van 4 weken. Het basisrooster is dan al multi-week. We gaan dan van een MW bestand van 4 weken overgaan naar een MW bestand van bv 44 weken. Dit wordt inderdaad ondersteund maar er zijn hier toch wat aandachtspunten die belangrijk zijn.

Aantal weken finaal rooster moet een veelvoud zijn van het aantal weken in het basisrooster

Voor het voorbeeld hebben we 4 weken in de basis en 44 in het finale rooster. Dat klopt dus. Zouden we 3 weken in de basis hebben dan kan 44 niet, we kunnen dan naar 45 weken gaan. Het WU bestand zal daar dan ook voor aangepast moeten worden.

Plannen van de inhaallessen

Voor wat betreft het wisseluurbestand waarin we de inhaallessen op voorhand plannen is er geen verschil. Dus “WU template.zttxml” kan hiervoor gebruikt worden.

Importeer clusters

Indien men “Importeer clusters” gebruikt gaat men vanuit het basis MW bestand (bv 4 weken) de clusters ophalen voor de slots uit het WU bestand. Die clusteropdrachten moeten in het 4-weeks bestand nu ook voor elk van die 4 weken gedefinieerd zijn en in patroon staan. In elk van de 4 weken moeten de slots op dezelfde plaats vallen.

De gegenereerde clusteropdrachten worden dus multiweekopdrachten (Weken kolom bevat “Weken”) en ze staan in patroon.

Men plant het basis MW-rooster met de clusteropdrachten om de slots te reserveren. Na planning worden de clusteropdrachten ook week op inactief gezet zodat de slots klaarstaan om de inhaallessen te kunnen plaatsen.

Importeer opdrachten

Het importeren van de inhaallessen zelf zal op exact dezelfde manier gebeuren als bij een single-week basisrooster. Voor elk van de 44 weken worden de inhaallessen in de roosters gezet. De Weken kolom van de opdrachten bevat dan gewoon de weken waarin elke inhaalles doorgaat.

Opdrachten uit het MW basisrooster

Hier moeten we het onderscheid maken tussen multi-week opdrachten (kolom Weken gevuld met één of meerdere weken), al dan niet in patroon, en enkelvoudige opdrachten (kolom Weken is leeg).

  • Multiweek opdrachten: stel dat je een opdracht hebt die in week 1 en week 3 staat (Weken = w1,w3). Als we die uitrollen over een 44-weken systeem wil dat zeggen dat de kolom Weken nu het volgende gaat bevatten: w1, w3, w5, w7, w9, w11, … w41, w42. Als het vlagje Patroon aangevinkt was in het 4-week systeem dan zal dat ook aangevinkt zijn in het 44-week systeem.
  • Enkelvoudige opdrachten: Deze opdrachten hadden in het 4-week systeem de vrijheid om zich te plaatsen over 4 weken en hebben dus geen notie van weekgrenzen. Deze opdrachten worden door Mondriaan gewoon gelaten zoals ze zijn. Dit wil zeggen dat ze in het 44-weken rooster ook geen notie van weekgrenzen hebben en dus overal kunnen staan. Indien men wenst dat dergelijke opdrachten in elke blok van 4-weken bestaan dan moet men zelf de aanpassingen hier voor doen. De opdrachten zullen dan 11 keer gekopieerd moeten worden en er zal dan een startuurlijst aan gekoppeld moeten worden die anders is voor elk van die 11 versies. Elke versie heeft een uurlijst van zijn respectievelijke blok van 4 weken. Het is dus oplosbaar maar vraagt wat aandacht om dat goed te doen.

Vensters uit het MW basisrooster

Omdat vensters dezelfde Weken/Patroon eigenschappen hebben als opdrachten gelden hier dezelfde regels als uitgelegd bij “Opdrachten uit het MW basisrooster”.

Wensen uit het MW basisrooster

Omdat vensters dezelfde Weken eigenschap hebben als opdrachten gelden hier dezelfde regels als uitgelegd bij “Opdrachten uit het MW basisrooster”.

Extra spreidingen uit het MW basisrooster

Omdat Extra spreidingen dezelfde Weken eigenschap hebben als opdrachten gelden hier dezelfde regels als uitgelegd bij “Opdrachten uit het MW basisrooster”.

Beperkingen uit het MW basisrooster

Beperkingen van resources, vakken, groepen, etc die men onder “Elementen” kan invoeren zijn gebaseerd op uurlijsten. De uurlijsten die in het 4-week systeem bestonden worden volgens hun bestaande patroon uitgerold over 44 weken. Voor beperkingen betekent dit dat ook die zullen bestaan in het 44-weken rooster.


De uitgewerkte voorbeelden

  • WU template
  • WU voorbeeld
  • SW Klassen WU vrijdagnamiddag
  • SW Klassen WU niet in blok
  • MW Klassen WU vrijdagnamiddag
  • MW Klassen WU niet in blok

Merk op dat de 2 “SW” bestanden in de toestand zijn die overeenkomt met de start van Stap 1. Dit laat de gebruiker toe om de stappen zelf te doorlopen om uiteindelijk tot de “MW” bestanden te komen.

Om de bestanden te gebruiken download men de zipfile en pakt men het bestand uit. Elke zipfile bevat 1 zttxml-bestand.

(PS. Deze bestanden zijn te gebruiken vanaf Mondriaan versie 2020.3.0)

Print Friendly, PDF & Email

Didn't find your answer? Contact Us

Uurlijsten in één-weeksystemen en in Multiweeksystemen  

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
31
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
  • © 2021 time-tech.be. Alle rechten voorbehouden. Privacy Policy | Cookiebeleid

Veelgezochte termen:Outputrooster, Volgordespreiding, Partitie