From Daan
Jump to: navigation, search
(De Allerbeste roosters)
 
(3 intermediate revisions by the same user not shown)
Line 22: Line 22:
  
  
<div class="mw-collapsible mw-collapsed">
+
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-Case1">
 
==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.  
 
Allereerst gaan jullie een  rooster vullen met alleen de colleges. Je hoeft je nog geen zorgen te maken om studenten of zaalbezetting.  
  
 +
<span class="mw-customtoggle-Case1">Klik hier voor details Case.I</span>
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
  
Line 161: Line 162:
 
</div>
 
</div>
  
<div class="mw-collapsible mw-collapsed">
+
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-Case2">
 
==Betere en hele goede roosters==
 
==Betere en hele goede roosters==
  
Line 167: Line 168:
 
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!
 
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!
  
 +
<span class="mw-customtoggle-Case2">Klik hier voor details Case.II</span>
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
  
Line 401: Line 403:
 
</div>
 
</div>
  
<div class="mw-collapsible mw-collapsed">
+
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-Case3">
 
==De Allerbeste roosters==
 
==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!  
 
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">
 
<div class="mw-collapsible-content">
 
'''De Details.III '''
 
'''De Details.III '''
Line 419: Line 422:
 
** Het kan dus zijn dat je de werkcolleges in werkgroepen moet verdelen!
 
** Het kan dus zijn dat je de werkcolleges in werkgroepen moet verdelen!
 
* Er mogen niet meer studenten in een werkgroep dan de gegeven capaciteit.
 
* Er mogen niet meer studenten in een werkgroep dan de gegeven capaciteit.
* De studenten en hun vakinschrijvingen worden gegeven door csv_link.link
+
* 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 '''
 
'''Evaluatie.III '''
Line 612: Line 615:
 
</div>
 
</div>
 
</div>
 
</div>
 
==Zalen, Vakken en Inschrijvingen==
 
 
{| border="1" style="border-collapse:collapse; text-align:center; margin:4px"
 
! Zaalnummber
 
! Max. capaciteit
 
|-
 
| align="left" | A1.04
 
| 41
 
|-
 
| align="left" | A1.06
 
| 22
 
|-
 
| align="left" | A1.08
 
| 20
 
|-
 
| align="left" | A1.10
 
| 56
 
|-
 
| align="left" | B0.201
 
| 48
 
|-
 
| align="left" | C0.110
 
| 117
 
|-
 
| align="left" | C1.112
 
| 60
 
|}
 
 
 
{| border="1" style="border-collapse:collapse; text-align:center; margin:4px"
 
! Vakken voor periode 4
 
! #Hoorcolleges
 
! #Werkcolleges
 
! Max. stud.
 
! #Practica
 
! Max. stud.
 
|-
 
| align="left" | Advanced Heuristics
 
| 1
 
| 0
 
| nvt
 
| 1
 
| 10
 
|-
 
| align="left" | Algoritmen en complexiteit
 
| 1
 
| 1
 
| 25
 
| 1
 
| 25
 
|-
 
| align="left" | Analysemethoden en -technieken
 
| 1
 
| 0
 
| nvt
 
| 0
 
| nvt
 
|-
 
| align="left" | Architectuur en computerorganisatie
 
| 2
 
| 0
 
| nvt
 
| 0
 
| nvt
 
|-
 
| align="left" | Autonomous Agents 2
 
| 2
 
| 1
 
| 10
 
| 1
 
| 10
 
|-
 
| align="left" | Bioinformatica
 
| 3
 
| 1
 
| 20
 
| 1
 
| 20
 
|-
 
| align="left" | Calculus 2
 
| 1
 
| 1
 
| 40
 
| 0
 
| nvt
 
|-
 
| align="left" | Collectieve Intelligentie
 
| 3
 
| 1
 
| 20
 
| 1
 
| 20
 
|-
 
| align="left" | Compilerbouw
 
| 2
 
| 1
 
| 40
 
| 1
 
| 40
 
|-
 
| align="left" | Compilerbouw (practicum)
 
| 0
 
| 0
 
| nvt
 
| 1
 
| 15
 
|-
 
| align="left" | Data Mining
 
| 2
 
| 1
 
| 10
 
| 1
 
| 10
 
|-
 
| align="left" | Databases 2
 
| 1
 
| 1
 
| 40
 
| 0
 
| nvt
 
|-
 
| align="left" | Heuristieken 1
 
| 1
 
| 1
 
| 25
 
| 0
 
| nvt
 
|-
 
| align="left" | Heuristieken 2
 
| 1
 
| 1
 
| 20
 
| 0
 
| nvt
 
|-
 
| align="left" | Informatie- en organisatieontwerp
 
| 2
 
| 1
 
| 15
 
| 1
 
| 15
 
|-
 
| align="left" | Interactie-ontwerp
 
| 2
 
| 0
 
| nvt
 
| 0
 
| nvt
 
|-
 
| align="left" | Kansrekenen 2
 
| 2
 
| 0
 
| nvt
 
| 0
 
| nvt
 
|-
 
| align="left" | Lineaire Algebra
 
| 2
 
| 0
 
| nvt
 
| 0
 
| nvt
 
|-
 
| align="left" | Machine Learning
 
| 2
 
| 0
 
| nvt
 
| 0
 
| nvt
 
|-
 
| align="left" | Moderne Databases
 
| 1
 
| 1
 
| 20
 
| 1
 
| 20
 
|-
 
| align="left" | Netwerken en systeembeveiliging
 
| 0
 
| 0
 
| nvt
 
| 1
 
| 20
 
|-
 
| align="left" | Programmeren in Java 2
 
| 0
 
| 0
 
| nvt
 
| 1
 
| 20
 
|-
 
| align="left" | Project Genetic Algorithms
 
| 0
 
| 0
 
| nvt
 
| 1
 
| 15
 
|-
 
| align="left" | Project Numerical Recipes
 
| 0
 
| 0
 
| nvt
 
| 1
 
| 15
 
|-
 
| align="left" | Reflectie op de digitale cultuur
 
| 2
 
| 1
 
| 20
 
| 0
 
| nvt
 
|-
 
| align="left" | Software engineering
 
| 1
 
| 1
 
| 40
 
| 1
 
| 40
 
|-
 
| align="left" | Technology for games
 
| 2
 
| 1
 
| 20
 
| 0
 
| nvt
 
|-
 
| align="left" | Webprogrammeren en databases
 
| 2
 
| 1
 
| 20
 
| 1
 
| 20
 
|-
 
| align="left" | Zoeken, sturen en bewegen
 
| 0
 
| 0
 
| nvt
 
| 1
 
| 15
 
|}
 
 
 
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.