From Daan
Jump to: navigation, search
 
(7 intermediate revisions by the same user not shown)
Line 22: Line 22:
  
  
 +
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-Case1">
 
==Goede en slechte roosters==
 
==Goede en slechte roosters==
  
* Vakken bestaan uit hoorcolleges en/of werkcolleges en/of practica.
+
Allereerst gaan jullie een  rooster vullen met alleen de colleges. Je hoeft je nog geen zorgen te maken om studenten of zaalbezetting.  
* Alle zalen zijn voor alledrie collegetypes geschikt.
+
 
* Bij hoorcolleges moeten alle ingeschreven studenten ineens bedeeld worden.  
+
<span class="mw-customtoggle-Case1">Klik hier voor details Case.I</span>
* Bij werkgroepen en practica moeten de studenten, afhankelijk van de capaciteit, worden opgedeeld in zo weinig mogelijk groepen (zie kolommen "max. stud." in de vakkentabel).
+
<div class="mw-collapsible-content">
 +
 
 +
'''De Details.I'''
 +
 
 +
* Er zijn 7 zalen beschikbaar in het rooster.
 
* Een college duurt van 9:00-11:00, 11:00-13:00, 13:00-15:00 of 15:00-17:00 op een werkdag. Eén zo'n periode van twee uur wordt een tijdsslot genoemd
 
* Een college duurt van 9:00-11:00, 11:00-13:00, 13:00-15:00 of 15:00-17:00 op een werkdag. Eén zo'n periode van twee uur wordt een tijdsslot genoemd
* Een geldig weekrooster is een weekrooster waarvoor aan alle roosterbare activiteiten van ieder vak een tijdsslot met een zaal hebben. We noemen het paar tijdsslot-zaal een zaalslot.
+
* Een geldig weekrooster is een weekrooster waarvoor alle roosterbare activiteiten van ieder vak een tijdsslot met een zaal hebben. We noemen het paar tijdsslot-zaal een zaalslot.
 +
 
 +
 
 +
'''Evaluatie.I'''
 +
 
 +
* Een geldig weekrooster levert 1000 punten op. Conflicten in je werkrooster kosten een bepaald aantal strafpunten.
 +
 
  
 +
'''Strafpunten.I'''
  
 +
* Voor ieder vak van x activiteiten geldt dat ze 10 strafpunten opleveren als ze op x-1 dagen geroosterd zijn, 20 voor x-2 en 30 voor x-3.
 +
* Voor ieder vak dat meer dan één activiteit in een tijdsslot heeft (een roosterconflict) geldt 10 strafpunten per conflict.
  
'''Evaluatie'''
+
'''Vakken.I'''
  
* Een geldig weekrooster levert 1000 punten op. Daarnaast zijn er bonus- en maluspunten te behalen.
 
  
 +
{| class="wikitable mw-collapsible"
 +
! Zaalnummer
 +
|-
 +
| A1.04
 +
|-
 +
| A1.06
 +
|-
 +
| A1.08
 +
|-
 +
| A1.10
 +
|-
 +
| B0.201
 +
|-
 +
| C0.110
 +
|-
 +
| C1.112
 +
|}
  
'''Bonuspunten'''
+
{| class="wikitable mw-collapsible"
 +
! Vak
 +
! Aantal activiteiten
 +
|-
 +
| Advanced Heuristics
 +
| 3
 +
|-
 +
| Algoritmen en complexiteit
 +
| 5
 +
|-
 +
| Analysemethoden en -technieken
 +
| 1
 +
|-
 +
| Architectuur en computerorganisatie
 +
| 2
 +
|-
 +
| Autonomous Agents 2
 +
| 8
 +
|-
 +
| Bioinformatica
 +
| 9
 +
|-
 +
| Calculus 2
 +
| 4
 +
|-
 +
| Collectieve Intelligentie
 +
| 11
 +
|-
 +
| Compilerbouw
 +
| 6
 +
|-
 +
| Compilerbouw (practicum)
 +
| 3
 +
|-
 +
| Data Mining
 +
| 8
 +
|-
 +
| Databases 2
 +
| 3
 +
|-
 +
| Heuristieken 1
 +
| 3
 +
|-
 +
| Heuristieken 2
 +
| 3
 +
|-
 +
| Informatie- en organisatieontwerp
 +
| 6
 +
|-
 +
| Interactie-ontwerp
 +
| 2
 +
|-
 +
| Kansrekenen 2
 +
| 2
 +
|-
 +
| Lineaire Algebra
 +
| 2
 +
|-
 +
| Machine Learning
 +
| 2
 +
|-
 +
| Moderne Databases
 +
| 7
 +
|-
 +
| Netwerken en systeembeveiliging
 +
| 4
 +
|-
 +
| Programmeren in Java 2
 +
| 6
 +
|-
 +
| Project Genetic Algorithms
 +
| 3
 +
|-
 +
| Project Numerical Recipes
 +
| 3
 +
|-
 +
| Reflectie op de digitale cultuur
 +
| 5
 +
|-
 +
| Software engineering
 +
| 5
 +
|-
 +
| Technology for games
 +
| 4
 +
|-
 +
| Webprogrammeren en databases
 +
| 6
 +
|-
 +
| Zoeken sturen en bewegen
 +
| 3
 +
|}
 +
</div>
 +
</div>
  
* Studenten leren het meest als de activiteiten zoveel mogelijk verdeeld zijn over de week. Een vak van twee tot vier activiteiten die maximaal verdeeld zijn over de week levert 20 bonuspunten op. Voor twee activiteiten is dat ma-do of di-vr, voor drie activiteiten is dat ma-wo-vr en voor vier activiteiten is dat ma,di,do,vr.
+
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-Case2">
 +
==Betere en hele goede roosters==
  
 +
Dit keer zullen jullie in het rooster rekening moeten houden met de capaciteiten van de zalen en het verschil tussen hoor en werkcolleges. De activiteiten van ieder vak zijn nu onderverdeeld in hoorcelleges en werkcolleges én er is een aantal studenten toegewezen aan elk vak.
 +
Dit betekent dat als er twee activiteiten van een vak tegelijk zijn ingeroosterd en een conflict optreedt voor de studenten die aan beide activiteiten moeten deelnemen!
  
'''Maluspunten'''
+
<span class="mw-customtoggle-Case2">Klik hier voor details Case.II</span>
 +
<div class="mw-collapsible-content">
  
* Voor ieder vak van x activiteiten geldt dat ze 10 maluspunten opleveren als ze op x-1 dagen geroosterd zijn, 20 voor x-2 en 30 voor x-3.
+
'''De Details.II'''
* Voor ieder zaalslot geldt dat er één maluspunt valt voor iedere ingeschreven student die er volgens de opgegeven zaalgroote niet meer in past.)
 
* Voor iedere student die meer dan één activiteit in een tijdsslot heeft (een roosterconflict) geldt 1 maluspunt per conflict.
 
  
 +
* Er zijn 7 zalen beschikbaar in het rooster.
 +
* Een college duurt van 9:00-11:00, 11:00-13:00, 13:00-15:00 of 15:00-17:00 op een werkdag. Eén zo'n periode van twee uur wordt een tijdsslot genoemd
 +
* Een geldig weekrooster is een weekrooster waarvoor alle roosterbare activiteiten van ieder vak een tijdsslot met een zaal hebben. We noemen het paar tijdsslot-zaal een zaalslot.
 +
* Elke zaal heeft een unieke capaciteit.
 +
** Alle zalen zijn voor alle collegetypes geschikt.
 +
* Bij hoorcolleges moeten alle ingeschreven studenten ineens bedeeld worden.
 +
* Alle werkcolleges van een vak hebben evenveel studenten.
  
'''Escape'''
+
'''Evaluatie.II '''
 +
* Een geldig weekrooster levert 1000 punten op. Conflicten in je werkrooster kosten een bepaald aantal strafpunten.
  
* De grootste zaal heeft ook een avondslot van 17:00-19:00, maar gebruik van het avondslot kost 50 maluspunten.
+
'''Strafpunten.II '''
 +
* Voor ieder vak van x activiteiten geldt dat ze 10 strafpunten opleveren als ze op x-1 dagen geroosterd zijn, 20 voor x-2 en 30 voor x-3.
 +
* Voor ieder zaalslot geldt dat er één maluspunt valt voor iedere ingeschreven student die er volgens de opgegeven zaalgroote niet meer in past.
 +
* In plaats van een vaste hoeveelheid strafpunten voor ieder vak dat meer dan één activiteit in een tijdsslot heeft (een roosterconflict), geldt er nu 1 maluspunt per student die dubbel is geroosterd.
 +
** Hoorcollege (50 studenten) én werkcollege (25 studenten) op Dinsdag 11 tot 13? Dat zijn dan 25 strafpunten.
 +
** Werkcollege én werkcollege (15 studenten) op Donderdag 15 to 17? Dat zijn dan 15 strafpunten.
  
==Zalen, Vakken en Inschrijvingen==
+
'''Vakken.II'''
  
{| border="1" style="border-collapse:collapse; text-align:center; margin:4px"
+
{| class="wikitable"
! Zaalnummber
+
! Zaalnummer
 
! Max. capaciteit
 
! Max. capaciteit
 
|-
 
|-
| align="left" | A1.04
+
| A1.04
| 41
+
| 41
 
|-
 
|-
| align="left" | A1.06
+
| A1.06
| 22
+
| 22
 
|-
 
|-
| align="left" | A1.08
+
| A1.08
| 20
+
| 20
 
|-
 
|-
| align="left" | A1.10
+
| A1.10
| 56
+
| 56
 
|-
 
|-
| align="left" | B0.201
+
| B0.201
| 48
+
| 48
 
|-
 
|-
| align="left" | C0.110
+
| C0.110
| 117
+
| 117
 
|-
 
|-
| align="left" | C1.112
+
| C1.112
| 60
+
| 60
 
|}
 
|}
  
 
+
{| class="wikitable"
{| border="1" style="border-collapse:collapse; text-align:center; margin:4px"
+
! Vak
! Vakken voor periode 4
+
! Hoorcolleges
! #Hoorcolleges
+
! Studenten per vak
! #Werkcolleges
+
! Werkcolleges
! Max. stud.
+
! Studenten per werkcollege
! #Practica
+
|-
! Max. stud.
+
| Advanced Heuristics
 +
| 1
 +
| 20
 +
| 2
 +
| 10
 +
|-
 +
| Algoritmen en complexiteit
 +
| 1
 +
| 43
 +
| 4
 +
| 21
 +
|-
 +
| Analysemethoden en -technieken
 +
| 1
 +
| 49
 +
| 0
 +
| 0
 
|-
 
|-
| align="left" | Advanced Heuristics
+
| Architectuur en computerorganisatie
| 1
+
| 2
 +
| 21
 
| 0
 
| 0
| nvt
+
| 0
 +
|-
 +
| Autonomous Agents 2
 +
| 2
 +
| 22
 +
| 6
 +
| 7
 +
|-
 +
| Bioinformatica
 +
| 3
 +
| 45
 +
| 6
 +
| 15
 +
|-
 +
| Calculus 2
 
| 1
 
| 1
| 10
+
| 106
 +
| 3
 +
| 35
 +
|-
 +
| Collectieve Intelligentie
 +
| 3
 +
| 61
 +
| 8
 +
| 15
 +
|-
 +
| Compilerbouw
 +
| 2
 +
| 69
 +
| 4
 +
| 34
 +
|-
 +
| Compilerbouw (practicum)
 +
| 0
 +
| 40
 +
| 3
 +
| 13
 +
|-
 +
| Data Mining
 +
| 2
 +
| 27
 +
| 6
 +
| 9
 
|-
 
|-
| align="left" | Algoritmen en complexiteit
+
| Databases 2
 
| 1
 
| 1
 +
| 72
 +
| 2
 +
| 36
 +
|-
 +
| Heuristieken 1
 
| 1
 
| 1
| 25
+
| 44
 +
| 2
 +
| 22
 +
|-
 +
| Heuristieken 2
 
| 1
 
| 1
 +
| 32
 +
| 2
 +
| 16
 +
|-
 +
| Informatie- en organisatieontwerp
 +
| 2
 +
| 21
 +
| 4
 +
| 10
 +
|-
 +
| Interactie-ontwerp
 +
| 2
 
| 25
 
| 25
 +
| 0
 +
| 0
 
|-
 
|-
| align="left" | Analysemethoden en -technieken
+
| Kansrekenen 2
| 1
+
| 2
 +
| 84
 
| 0
 
| 0
| nvt
 
 
| 0
 
| 0
| nvt
 
 
|-
 
|-
| align="left" | Architectuur en computerorganisatie
+
| Lineaire Algebra
 
| 2
 
| 2
 +
| 54
 +
| 0
 
| 0
 
| 0
| nvt
 
| 0
 
| nvt
 
 
|-
 
|-
| align="left" | Autonomous Agents 2
+
| Machine Learning
 
| 2
 
| 2
| 1
+
| 22
| 10
+
| 0
 +
| 0
 +
|-
 +
| Moderne Databases
 
| 1
 
| 1
| 10
+
| 54
 +
| 6
 +
| 18
 +
|-
 +
| Netwerken en systeembeveiliging
 +
| 0
 +
| 64
 +
| 4
 +
| 16
 +
|-
 +
| Programmeren in Java 2
 +
| 0
 +
| 110
 +
| 6
 +
| 18
 +
|-
 +
| Project Genetic Algorithms
 +
| 0
 +
| 36
 +
| 3
 +
| 12
 +
|-
 +
| Project Numerical Recipes
 +
| 0
 +
| 44
 +
| 3
 +
| 14
 
|-
 
|-
| align="left" | Bioinformatica
+
| Reflectie op de digitale cultuur
 +
| 2
 +
| 51
 
| 3
 
| 3
 +
| 17
 +
|-
 +
| Software engineering
 
| 1
 
| 1
 +
| 75
 +
| 4
 +
| 37
 +
|-
 +
| Technology for games
 +
| 2
 +
| 38
 +
| 2
 +
| 19
 +
|-
 +
| Webprogrammeren en databases
 +
| 2
 +
| 39
 +
| 4
 +
| 19
 +
|-
 +
| Zoeken sturen en bewegen
 +
| 0
 +
| 42
 +
| 3
 +
| 14
 +
|}
 +
</div>
 +
</div>
 +
 +
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-Case3">
 +
==De Allerbeste roosters==
 +
 +
Als laatste zal jullie rooster unieke (individuele) studenten bevatten. Iedere student heeft een persoonlijk vakkenpakket en het idee is natuurlijk dat die student naar elke activiteit kan gaan van dat vak. Het aantal werkcolleges en de hoeveelheid studenten per werkcollege staan nu niet meer vast. Jullie vullen de werkgroepen zelf!
 +
 +
<span class="mw-customtoggle-Case3">Klik hier voor details Case.III</span>
 +
<div class="mw-collapsible-content">
 +
'''De Details.III '''
 +
 +
* Er zijn 7 zalen beschikbaar in het rooster.
 +
* Een college duurt van 9:00-11:00, 11:00-13:00, 13:00-15:00 of 15:00-17:00 op een werkdag. Eén zo'n periode van twee uur wordt een tijdsslot genoemd
 +
* Een geldig weekrooster is een weekrooster waarvoor alle roosterbare activiteiten van ieder vak een tijdsslot met een zaal hebben. We noemen het paar tijdsslot-zaal een zaalslot.
 +
* Elke zaal heeft een unieke capaciteit.
 +
** Alle zalen zijn voor alle collegetypes geschikt.
 +
* Bij hoorcolleges moeten alle ingeschreven studenten ineens bedeeld worden.
 +
* Ieder vak heeft x aantal werkcolleges met een bepaalde capaciteit.
 +
** Iedere student van het vak moet elk werkcollege 1 keer bijwonen.
 +
** Het kan dus zijn dat je de werkcolleges in werkgroepen moet verdelen!
 +
* Er mogen niet meer studenten in een werkgroep dan de gegeven capaciteit.
 +
* En tenslotte een lijst van [http://www.heuristieken.nl/resources/studentenenvakken.csv studenten en hun vakinschrijvingen] in csv-formaat. Namen en data in deze lijst zijn volledig fictief.
 +
 +
'''Evaluatie.III '''
 +
 +
* Een geldig weekrooster levert 1000 punten op. Conflicten in je werkrooster kosten een bepaald aantal strafpunten.
 +
 +
'''Strafpunten.III '''
 +
 +
* Voor ieder vak van x activiteiten geldt dat ze 10 strafpunten opleveren als ze op x-1 dagen geroosterd zijn, 20 voor x-2 en 30 voor x-3.
 +
* Voor ieder zaalslot geldt dat er één maluspunt valt voor iedere ingeschreven student die er volgens de opgegeven zaalgroote niet meer in past.
 +
* Voor iedere student die meer dan één activiteit in een tijdsslot heeft (een roosterconflict) geldt 1 strafpunt per conflict.
 +
 +
'''Vakken.III '''
 +
 +
{| class="wikitable"
 +
! Zaalnummer
 +
! Max. capaciteit
 +
|-
 +
| A1.04
 +
| 41
 +
|-
 +
| A1.06
 +
| 22
 +
|-
 +
| A1.08
 
| 20
 
| 20
 +
|-
 +
| A1.10
 +
| 56
 +
|-
 +
| B0.201
 +
| 48
 +
|-
 +
| C0.110
 +
| 117
 +
|-
 +
| C1.112
 +
| 60
 +
|}
 +
 +
{| class="wikitable"
 +
! Vak
 +
! Hoorcolleges
 +
! Werkcolleges
 +
! Wercollege capaciteit
 +
|-
 +
| Advanced Heuristics
 
| 1
 
| 1
| 20
+
| 1
 +
| 10
 
|-
 
|-
| align="left" | Calculus 2
+
| Algoritmen en complexiteit
 
| 1
 
| 1
 +
| 2
 +
| 25
 +
|-
 +
| Analysemethoden en -technieken
 
| 1
 
| 1
| 40
 
 
| 0
 
| 0
| nvt
+
| 0
|-
+
|-
| align="left" | Collectieve Intelligentie
+
| Architectuur en computerorganisatie
| 3
+
| 2
| 1
+
| 0
| 20
+
| 0
| 1
+
|-
 +
| Autonomous Agents 2
 +
| 2
 +
| 2
 +
| 10
 +
|-
 +
| Bioinformatica
 +
| 3
 +
| 2
 
| 20
 
| 20
 
|-
 
|-
| align="left" | Compilerbouw
+
| Calculus 2
| 2
+
| 1
 
| 1
 
| 1
 
| 40
 
| 40
| 1
+
|-
 +
| Collectieve Intelligentie
 +
| 3
 +
| 2
 +
| 20
 +
|-
 +
| Compilerbouw
 +
| 2
 +
| 2
 
| 40
 
| 40
 
|-
 
|-
| align="left" | Compilerbouw (practicum)
+
| Compilerbouw (practicum)
| 0
 
 
| 0
 
| 0
| nvt
 
 
| 1
 
| 1
 
| 15
 
| 15
 
|-
 
|-
| align="left" | Data Mining
+
| Data Mining
| 2
+
| 2
| 1
+
| 2
| 10
 
| 1
 
 
| 10
 
| 10
 
|-
 
|-
| align="left" | Databases 2
+
| Databases 2
 
| 1
 
| 1
 
| 1
 
| 1
 
| 40
 
| 40
| 0
 
| nvt
 
 
|-
 
|-
| align="left" | Heuristieken 1
+
| Heuristieken 1
 
| 1
 
| 1
 
| 1
 
| 1
 
| 25
 
| 25
| 0
 
| nvt
 
 
|-
 
|-
| align="left" | Heuristieken 2
+
| Heuristieken 2
 
| 1
 
| 1
 
| 1
 
| 1
 
| 20
 
| 20
| 0
 
| nvt
 
 
|-
 
|-
| align="left" | Informatie- en organisatieontwerp
+
| Informatie- en organisatieontwerp
 +
| 2
 
| 2
 
| 2
| 1
 
| 15
 
| 1
 
 
| 15
 
| 15
 
|-
 
|-
| align="left" | Interactie-ontwerp
+
| Interactie-ontwerp
 
| 2
 
| 2
 
| 0
 
| 0
| nvt
 
 
| 0
 
| 0
| nvt
 
 
|-
 
|-
| align="left" | Kansrekenen 2
+
| Kansrekenen 2
 
| 2
 
| 2
 
| 0
 
| 0
| nvt
 
 
| 0
 
| 0
| nvt
 
 
|-
 
|-
| align="left" | Lineaire Algebra  
+
| Lineaire Algebra
 
| 2
 
| 2
 
| 0
 
| 0
| nvt
 
 
| 0
 
| 0
| nvt
 
 
|-
 
|-
| align="left" | Machine Learning
+
| Machine Learning
 
| 2
 
| 2
 
| 0
 
| 0
| nvt
 
 
| 0
 
| 0
| nvt
 
 
|-
 
|-
| align="left" | Moderne Databases
+
| Moderne Databases
| 1
 
| 1
 
| 20
 
 
| 1
 
| 1
 +
| 2
 
| 20
 
| 20
 
|-
 
|-
| align="left" | Netwerken en systeembeveiliging
+
| Netwerken en systeembeveiliging
 
| 0
 
| 0
| 0
 
| nvt
 
 
| 1
 
| 1
 
| 20
 
| 20
 
|-
 
|-
| align="left" | Programmeren in Java 2
+
| Programmeren in Java 2
 
| 0
 
| 0
| 0
 
| nvt
 
 
| 1
 
| 1
 
| 20
 
| 20
 
|-
 
|-
| align="left" | Project Genetic Algorithms
+
| Project Genetic Algorithms
 
| 0
 
| 0
| 0
 
| nvt
 
 
| 1
 
| 1
 
| 15
 
| 15
 
|-
 
|-
| align="left" | Project Numerical Recipes
+
| Project Numerical Recipes
 
| 0
 
| 0
| 0
 
| nvt
 
 
| 1
 
| 1
 
| 15
 
| 15
 
|-
 
|-
| align="left" | Reflectie op de digitale cultuur
+
| Reflectie op de digitale cultuur
 
| 2
 
| 2
 
| 1
 
| 1
 
| 20
 
| 20
| 0
 
| nvt
 
 
|-
 
|-
| align="left" | Software engineering
+
| Software engineering
| 1
 
| 1
 
| 40
 
 
| 1
 
| 1
 +
| 2
 
| 40
 
| 40
 
|-
 
|-
| align="left" | Technology for games
+
| Technology for games
 
| 2
 
| 2
 
| 1
 
| 1
 
| 20
 
| 20
| 0
 
| nvt
 
 
|-
 
|-
| align="left" | Webprogrammeren en databases
+
| Webprogrammeren en databases
 +
| 2
 
| 2
 
| 2
| 1
 
| 20
 
| 1
 
 
| 20
 
| 20
 
|-
 
|-
| align="left" | Zoeken, sturen en bewegen
+
| Zoeken sturen en bewegen
| 0
 
 
| 0
 
| 0
| nvt
 
 
| 1
 
| 1
 
| 15
 
| 15
 
|}
 
|}
 
+
</div>
 
+
</div>
En tenslotte een lijst van [http://www.heuristieken.nl/resources/studenten_roostering.csv studenten en hun vakinschrijvingen] in csv-formaat. Namen en data in deze lijst zijn volledig fictief. '''Update''': de oude lijst bleek wat lastig mee te werken, daarom hier een [http://www.heuristieken.nl/resources/studentenenvakken.csv geupdate lijst van studenten en hun vakinschrijvingen], met dank aan Bart van Baal, waarin de typo "organsatie" en de scheiding van "zoeken, sturen bewegen" zijn verwijderd.
 
  
 
==Vragen en antwoorden==
 
==Vragen en antwoorden==

Latest revision as of 16:35, 28 October 2017

Hup, naar binnen.


Werkpagina

Dit is de werkpagina van team Van der Post (revisie L&L fall 2017).


Woord Vooraf

Deze case op verzoek van Justin Oud, Wouter Bohlken en Remco Mokveld (Heuristieken 2015a) tot eerste versie uitgewerkt. Overige betrokkenen in het proces zijn Marcella van Wijngaarden en Reinout Verbeek.


Protocases van dit vak hebben de eigenschap zich vaak grillig te gedragen; de uitkomsten zijn vaak onverwacht in moeilijkheidsgraad, oplossingsvorm of technologische mogelijkheden. De opgave kan daarom run-time aangepast worden om de studenten een volwaardige leercurve te bieden. Dit gebeurt altijd in samenspraak.


Inleiding

Lesroosters, of roosters in het algemeen, zijn buitengewoon lastig goed in te richten. Dienstregelingen voor treinen, vliegtuigen, multicore-processors en assembly lines hebben in dat opzicht een boel met elkaar gemeen. Zalenroostering op een universiteit is geen uitzondering. In deze case moet een weekrooster gemaakt worden voor een vakkenlijst op Science Park. Ieder vak uit de lijst moet ingeroosterd worden, en er bestaat verschil tussen goede en slechte roosters.


Goede en slechte roosters

Allereerst gaan jullie een rooster vullen met alleen de colleges. Je hoeft je nog geen zorgen te maken om studenten of zaalbezetting.

Klik hier voor details Case.I

De Details.I

  • Er zijn 7 zalen beschikbaar in het rooster.
  • Een college duurt van 9:00-11:00, 11:00-13:00, 13:00-15:00 of 15:00-17:00 op een werkdag. Eén zo'n periode van twee uur wordt een tijdsslot genoemd
  • Een geldig weekrooster is een weekrooster waarvoor alle roosterbare activiteiten van ieder vak een tijdsslot met een zaal hebben. We noemen het paar tijdsslot-zaal een zaalslot.


Evaluatie.I

  • Een geldig weekrooster levert 1000 punten op. Conflicten in je werkrooster kosten een bepaald aantal strafpunten.


Strafpunten.I

  • Voor ieder vak van x activiteiten geldt dat ze 10 strafpunten opleveren als ze op x-1 dagen geroosterd zijn, 20 voor x-2 en 30 voor x-3.
  • Voor ieder vak dat meer dan één activiteit in een tijdsslot heeft (een roosterconflict) geldt 10 strafpunten per conflict.

Vakken.I


Zaalnummer
A1.04
A1.06
A1.08
A1.10
B0.201
C0.110
C1.112
Vak Aantal activiteiten
Advanced Heuristics 3
Algoritmen en complexiteit 5
Analysemethoden en -technieken 1
Architectuur en computerorganisatie 2
Autonomous Agents 2 8
Bioinformatica 9
Calculus 2 4
Collectieve Intelligentie 11
Compilerbouw 6
Compilerbouw (practicum) 3
Data Mining 8
Databases 2 3
Heuristieken 1 3
Heuristieken 2 3
Informatie- en organisatieontwerp 6
Interactie-ontwerp 2
Kansrekenen 2 2
Lineaire Algebra 2
Machine Learning 2
Moderne Databases 7
Netwerken en systeembeveiliging 4
Programmeren in Java 2 6
Project Genetic Algorithms 3
Project Numerical Recipes 3
Reflectie op de digitale cultuur 5
Software engineering 5
Technology for games 4
Webprogrammeren en databases 6
Zoeken sturen en bewegen 3

Betere en hele goede roosters

Dit keer zullen jullie in het rooster rekening moeten houden met de capaciteiten van de zalen en het verschil tussen hoor en werkcolleges. De activiteiten van ieder vak zijn nu onderverdeeld in hoorcelleges en werkcolleges én er is een aantal studenten toegewezen aan elk vak. Dit betekent dat als er twee activiteiten van een vak tegelijk zijn ingeroosterd en een conflict optreedt voor de studenten die aan beide activiteiten moeten deelnemen!

Klik hier voor details Case.II

De Details.II

  • Er zijn 7 zalen beschikbaar in het rooster.
  • Een college duurt van 9:00-11:00, 11:00-13:00, 13:00-15:00 of 15:00-17:00 op een werkdag. Eén zo'n periode van twee uur wordt een tijdsslot genoemd
  • Een geldig weekrooster is een weekrooster waarvoor alle roosterbare activiteiten van ieder vak een tijdsslot met een zaal hebben. We noemen het paar tijdsslot-zaal een zaalslot.
  • Elke zaal heeft een unieke capaciteit.
    • Alle zalen zijn voor alle collegetypes geschikt.
  • Bij hoorcolleges moeten alle ingeschreven studenten ineens bedeeld worden.
  • Alle werkcolleges van een vak hebben evenveel studenten.

Evaluatie.II

  • Een geldig weekrooster levert 1000 punten op. Conflicten in je werkrooster kosten een bepaald aantal strafpunten.

Strafpunten.II

  • Voor ieder vak van x activiteiten geldt dat ze 10 strafpunten opleveren als ze op x-1 dagen geroosterd zijn, 20 voor x-2 en 30 voor x-3.
  • Voor ieder zaalslot geldt dat er één maluspunt valt voor iedere ingeschreven student die er volgens de opgegeven zaalgroote niet meer in past.
  • In plaats van een vaste hoeveelheid strafpunten voor ieder vak dat meer dan één activiteit in een tijdsslot heeft (een roosterconflict), geldt er nu 1 maluspunt per student die dubbel is geroosterd.
    • Hoorcollege (50 studenten) én werkcollege (25 studenten) op Dinsdag 11 tot 13? Dat zijn dan 25 strafpunten.
    • Werkcollege én werkcollege (15 studenten) op Donderdag 15 to 17? Dat zijn dan 15 strafpunten.

Vakken.II

Zaalnummer Max. capaciteit
A1.04 41
A1.06 22
A1.08 20
A1.10 56
B0.201 48
C0.110 117
C1.112 60
Vak Hoorcolleges Studenten per vak Werkcolleges Studenten per werkcollege
Advanced Heuristics 1 20 2 10
Algoritmen en complexiteit 1 43 4 21
Analysemethoden en -technieken 1 49 0 0
Architectuur en computerorganisatie 2 21 0 0
Autonomous Agents 2 2 22 6 7
Bioinformatica 3 45 6 15
Calculus 2 1 106 3 35
Collectieve Intelligentie 3 61 8 15
Compilerbouw 2 69 4 34
Compilerbouw (practicum) 0 40 3 13
Data Mining 2 27 6 9
Databases 2 1 72 2 36
Heuristieken 1 1 44 2 22
Heuristieken 2 1 32 2 16
Informatie- en organisatieontwerp 2 21 4 10
Interactie-ontwerp 2 25 0 0
Kansrekenen 2 2 84 0 0
Lineaire Algebra 2 54 0 0
Machine Learning 2 22 0 0
Moderne Databases 1 54 6 18
Netwerken en systeembeveiliging 0 64 4 16
Programmeren in Java 2 0 110 6 18
Project Genetic Algorithms 0 36 3 12
Project Numerical Recipes 0 44 3 14
Reflectie op de digitale cultuur 2 51 3 17
Software engineering 1 75 4 37
Technology for games 2 38 2 19
Webprogrammeren en databases 2 39 4 19
Zoeken sturen en bewegen 0 42 3 14

De Allerbeste roosters

Als laatste zal jullie rooster unieke (individuele) studenten bevatten. Iedere student heeft een persoonlijk vakkenpakket en het idee is natuurlijk dat die student naar elke activiteit kan gaan van dat vak. Het aantal werkcolleges en de hoeveelheid studenten per werkcollege staan nu niet meer vast. Jullie vullen de werkgroepen zelf!

Klik hier voor details Case.III

De Details.III

  • Er zijn 7 zalen beschikbaar in het rooster.
  • Een college duurt van 9:00-11:00, 11:00-13:00, 13:00-15:00 of 15:00-17:00 op een werkdag. Eén zo'n periode van twee uur wordt een tijdsslot genoemd
  • Een geldig weekrooster is een weekrooster waarvoor alle roosterbare activiteiten van ieder vak een tijdsslot met een zaal hebben. We noemen het paar tijdsslot-zaal een zaalslot.
  • Elke zaal heeft een unieke capaciteit.
    • Alle zalen zijn voor alle collegetypes geschikt.
  • Bij hoorcolleges moeten alle ingeschreven studenten ineens bedeeld worden.
  • Ieder vak heeft x aantal werkcolleges met een bepaalde capaciteit.
    • Iedere student van het vak moet elk werkcollege 1 keer bijwonen.
    • Het kan dus zijn dat je de werkcolleges in werkgroepen moet verdelen!
  • Er mogen niet meer studenten in een werkgroep dan de gegeven capaciteit.
  • En tenslotte een lijst van studenten en hun vakinschrijvingen in csv-formaat. Namen en data in deze lijst zijn volledig fictief.

Evaluatie.III

  • Een geldig weekrooster levert 1000 punten op. Conflicten in je werkrooster kosten een bepaald aantal strafpunten.

Strafpunten.III

  • Voor ieder vak van x activiteiten geldt dat ze 10 strafpunten opleveren als ze op x-1 dagen geroosterd zijn, 20 voor x-2 en 30 voor x-3.
  • Voor ieder zaalslot geldt dat er één maluspunt valt voor iedere ingeschreven student die er volgens de opgegeven zaalgroote niet meer in past.
  • Voor iedere student die meer dan één activiteit in een tijdsslot heeft (een roosterconflict) geldt 1 strafpunt per conflict.

Vakken.III

Zaalnummer Max. capaciteit
A1.04 41
A1.06 22
A1.08 20
A1.10 56
B0.201 48
C0.110 117
C1.112 60
Vak Hoorcolleges Werkcolleges Wercollege capaciteit
Advanced Heuristics 1 1 10
Algoritmen en complexiteit 1 2 25
Analysemethoden en -technieken 1 0 0
Architectuur en computerorganisatie 2 0 0
Autonomous Agents 2 2 2 10
Bioinformatica 3 2 20
Calculus 2 1 1 40
Collectieve Intelligentie 3 2 20
Compilerbouw 2 2 40
Compilerbouw (practicum) 0 1 15
Data Mining 2 2 10
Databases 2 1 1 40
Heuristieken 1 1 1 25
Heuristieken 2 1 1 20
Informatie- en organisatieontwerp 2 2 15
Interactie-ontwerp 2 0 0
Kansrekenen 2 2 0 0
Lineaire Algebra 2 0 0
Machine Learning 2 0 0
Moderne Databases 1 2 20
Netwerken en systeembeveiliging 0 1 20
Programmeren in Java 2 0 1 20
Project Genetic Algorithms 0 1 15
Project Numerical Recipes 0 1 15
Reflectie op de digitale cultuur 2 1 20
Software engineering 1 2 40
Technology for games 2 1 20
Webprogrammeren en databases 2 2 20
Zoeken sturen en bewegen 0 1 15

Vragen en antwoorden

Soms moet een werkcollege in drie groepen opgedeeld worden vanwege het aantal studenten. Hoe zit dan de bonus- en malusverdeling?

Dit is een open issue waarop we geen antwoord hebben. We vinden het raar om maluspunten toe te kennen als deze deze drie groepen op dezelfde dag gepland worden. Anderzijds vinden we het ook raar als al deze groepen op deelfde dag als een hoorcollege gepland worden. Dus we weten het niet.

Mensen van de huidige editie (Fall 2016) mogen deze regel interpreteren zoals het ze uitkomt.


Als suggestie wordt gegeven dat verschillende groepen van een werkcollege geen verschillende activiteiten zijn, en de weekafstand tussen een hoor- en een werkcollege is de *kortste* weekafstand tot een groep.

Advanced

  • Misschien is een aardige 'advanced'-opdracht om de boekingsbezetting (bezette tijdsslots tegen vrije tijdsslots) per zaal te registreren.
  • Misschien is het ook aardig om de zetelbezetting (studenten tegen max. capaciteit) per zaal te registreren.


Links

Dit is misschien ook interessant:

http://www.math.cmu.edu/~af1p/Teaching/OR2/Projects/P23/ORProject_Final_Copy.pdf

http://www.metaheuristics.net/downloads/tthardness04.pdf

Terug

Terug naar de Heuristieken hoofdpagina.