Inleiding
Roosteren met meer dan één locatie waarbij docenten en/of leerlingen moeten pendelen is op veel scholen een groot probleem. Niet alleen moet het reizen op een dag zo veel mogelijk voorkomen worden, maar als er gereisd wordt moet dit waar mogelijk in een pauze, of is een tussenuur nodig om op tijd op de andere locatie te zijn.
In deze tutorial leggen we u uit hoe u dit kunt instellen. We gaan er hierbij van uit dat er één school is met meerdere gebouwen en dat van te voren vaststaat welke afdelingen/klassen/lessen in welk gebouw worden gegeven.
Stap 1: Lesverzamelingen maken
Waarschijnlijk heeft u reeds twee vestigingen in het scherm van Afdelingen en Stamklassen. In dat geval zijn er ook al twee lesverzamelingen aangemaakt. Eén voor de lessen (afdelingen) op vestiging A en één voor de lessen op locatie B.
Het is van belang dat u aangeeft dat de verzameling als masker gebruikt moet worden. Anders kunnen we de verzamelingen straks niet gebruiken bij de randvoorwaarden.
Stap 2: Aantal wissels per dag beperken
We gaan eerst een randvoorwaarde maken bij docenten, waarmee we het aantal wissels per dag gaan beperken. We gebruiken "grootste aantal wissels op roosterplaats" en kiezen voor dagen en staan maximaal 1 wissel toe. Daarnaast voeren we bij de maskers de twee lesverzamelingen voor de twee vestigingen in.
In het rooster van docent Adm zien we nu in het rooster dat hij inderdaad 1 keer per dag van locatie moet wisselen. Maar dit is nog niet voldoende. Wanneer er sprake is van een bepaalde afstand tussen gebouw A en gebouw B, is een wissel alleen mogelijk tijdens een pauze of tussenuur. We gaan dit in stap 3 regelen met een tabel waarin we de afstanden kunnen verwerken.
Stap 3: Tabel met wisselinformatie
We passen de bestaande randvoorwaarde aan, zodat er naar een wisseltabel wordt gekeken.
Als u nu met uw rechtermuisknop op de randvoorwaarde klikt kunt u de details voor de wissel bewerken.
Boven de tabel staan 2 standaard waarden: basiswaarde en wissel zonder tussenuur. Bij de basiswaarde kunnen we 1 invoeren en bij de wissel zonder tussenuur bijvoorbeeld 1000. De tabel wordt dan met deze waarden gevuld. We realiseren hiermee dat er 1001 strafpunten gegeven worden als er gewisseld wordt zonder tussenuur. De strafpunten worden per docent/leerling gegenereerd. Dat betekent dat straks bij de randvoorwaarden er nog een vermenigvuldiging gedaan wordt.
Dit is echter nog niet voldoende, we hebben natuurlijk ook te maken met pauzes. Dus we gaan de wisselinfomatietabel nog wat subtieler vullen.
Des te hoger de waarde de we invullen, des te onwenselijker is de wissel. We hebben al aangegeven welke waarde een onmogelijke wissel heeft (1001 in de tabel). Vul voor een wissel met 1 tussenuur een 2 in, voor een wissel tussen uur 2 en 3 een 10 en voor een wissel tussen uur 4 en 5 een 5.
Nu zeggen we in feite dat een reis zonder pauze onmogelijk is, een reis in de kleine pauze (tussen 2 en 3) erg ongewenst, een reis in de grote pauze (tussen 4 en 5) enigszins ongewenst, en dat 2 tussenuren eigenlijk prettiger is dan 1.
De randvoorwaarde moeten we nu ook aanpassen. We accepteren geen score uit de tabel, dus de grens zetten we op 0. De bijbehorende strafpunten zetten we op 100. Dit is de waarde die vermenigvuldigd wordt met de score uit de tabel.