Wise Timetable

Att bygga schemat

Automatisk schemagenerator

Team av erfarna medarbetare behöver ofta månader för att bygga ett universitetsschema för hand. Wise Timetables generator bygger det utifrån Era kurser, lärare, salar och studentgrupper, oftast på några minuter — och listar exakt vad den inte kunde placera.

  • Byggs oftast på några minuter
  • Lås det som inte får flyttas
  • Varje oplacerad lektion listas

Vad generatorn gör

Ni beskriver undervisningen; generatorn avgör när och var varje lektion äger rum.

Utifrån de kurser, lärare, salar, program och studentgrupper Ni har matat in eller importerat placerar automatisk generering varje lektion under läsåret på en dag, en timme och en sal. Den arbetar vecka för vecka, så en kurs som pågår i sex veckor, varannan vecka eller i ett block i början av terminen placeras så som den faktiskt undervisas.

Den placerar aldrig en lektion där en lärare eller en grupp är blockerad, eller i en sal som är reserverad. Den provar kursens önskade sal först och därefter någon lämplig sal; en lämplig sal har tillräckligt många platser för gruppen och minst den utrustning kursen behöver (utrustning markerad som valfri undantagen), och en sal markerad för exklusiv användning tar bara kurser som behöver exakt dess utrustning.

Varje körning gör flera försök — iterationer — och behåller det bästa resultatet den hittar: först minst antal oplacerade lektioner, därefter minst antal håltimmar i gruppernas och lärarnas dagar, vägt tillsammans. Automatisk generering ingår i varje licens.

Ett genererat universitetsschema i Wise Timetables administrationskonsol
En genererad vecka. En körning tar oftast några minuter, så det kostar lite att prova en annan uppsättning regler.
Lista över oschemalagda pass i Wise Timetable som visar lektioner som inte kunde schemaläggas inom gällande villkor
Allt som inte kan placeras listas uttryckligen, aldrig tyst bortprioriterat eller tvingat igenom.
En genererad undervisningsvecka i Wise Timetables webbadministration, visad per sal, med räknaren för ej placerade på noll
Samma uppgift i en webbläsare, för skolor som kör administrationen på det sättet. Räknaren bredvid vyflikarna visar Ej placerade 0 — hela veckan kom på plats.
Ett pass som låsts från sin högerklicksmeny i Wise Timetable, så att automatisk generering lämnar det där det är
Lås ett pass från dess högerklicksmeny, eller allt som byggts hittills från menyn Låsning — genereringen arbetar runt allt som är låst.

De regler den arbetar efter

Regler som gäller hela skolan finns på en inställningsflik; varje kursrad har sina egna. Allt nedan är en regel som generatorn håller, inte ett önskemål den väger.

Hur varje regel ställs in beskrivs under schemavillkor; den som är viktigast att få rätt är lärares tillgänglighet.

  • Arbetstider, där utökade tider bara används för det som inte ryms inom ordinarie
  • Högsta antal timmar per dag och per vecka, för lärare och för grupper — med individuella dagsgränser där det behövs
  • Lärares och gruppers tillgänglighet, inklusive de timmar lärarna bokar själva på webben, där Ert lärosäte tillåter det
  • Salsreservationer, helgdagar och icke-arbetsdagar
  • En fast starttid för en kurs, eller en start senast eller tidigast en given timme
  • Timmar fördelade över dagar: 2+2 betyder två timmar en dag och två en annan
  • De dagar en kurs får undervisas, och samma timme varje dag om Ni begär det
  • En obligatorisk rast för studenter och för lärare efter ett visst antal timmar
  • Förflyttning mellan platser och ett högsta antal resor per dag
  • Helgdagar i veckoslut endast där Ni tillåter dem

När en lektion inte kan placeras

En schemagenerator som i det tysta böjer en regel för att bli klar ser bra ut ända till terminens första måndag. Wise Timetable tvingar inte in en lektion på en tid som en regel förbjuder. Det den inte kan placera förblir oplacerat och listas, redo att placeras för hand.

I skrivbordsprogrammet gör en körning ett sista försök med det som återstår innan den avslutas, och för varje lektion som fortfarande är oplacerad anger förloppsskärmen vad som hindrade den, räknat över de starttider den kunde ha haft: läraren undervisar redan då, gruppen har redan en lektion då, ingen lämplig sal är ledig då, gruppen överskrider maxtimmar per dag, läraren är inte tillgänglig då, krockar med en annan vecka eller en reservation. Det gör "det fick inte plats" till ett beslut — lätta på en regel, frigör en sal eller placera lektionen själv.

Från Era data till ett genererat schema

Den ordning som de flesta schemaläggningsavdelningar arbetar i. De tre första stegen hålls aktuella från år till år; själva körningen tar några minuter.

  1. Mata in eller importera data

    Kurser med sina timmar, lärare, salar med platser och utrustning, program, årskurser och grupper — inskrivna, importerade från Excel eller CSV, eller hämtade från Ert studieadministrativa system.

  2. Samla in tillgänglighet

    Blockera de timmar lärare och grupper inte kan undervisa eller delta, reservera de salar som är upptagna — eller låt lärarna boka sina egna lediga timmar på webben.

  3. Ställ in reglerna

    Arbetstider, dagliga och veckovisa maxgränser, raster och förflyttningar för hela skolan; starttider, dagar och uppdelningar för varje kurs.

  4. Placera och lås det som inte får flyttas

    En gemensam föreläsning, en professors fasta åtagande, ett laboratorium bundet till en tekniker. Lås ett pass från dess högerklicksmeny eller allt som byggts hittills; en nyckel markerar varje sådant.

  5. Välj vad som ska genereras

    Alla program och årskurser, eller bara några. Ni kan låta en sal ha några platser färre än gruppen, och begränsa en körning till vissa veckor eller en viss typ av lektion.

  6. Generera, läs rapporten, justera

    Följ körningen vecka för vecka, läs vad som förblev oplacerat och varför, ändra det som behöver ändras och kör igen. Minska sedan håltimmarna i studenternas och lärarnas dagar från menyn Optimering.

Automatiskt och manuellt, fritt blandat

De flesta lärosäten lämnar inte över hela schemat åt en maskin, och de behöver inte heller. Placera för hand det Ni bryr Er om, lås det och låt genereringen bygga resten runt det utan att röra det. Generera ett program eller en årskurs i taget, kontrollera, lås och gå vidare till nästa.

Lärosäten säger ofta till oss att just deras fall är ovanligt specifikt. Det är det oftast — och generatorn har hanterat sådana krav gång på gång, förutsatt att reglerna matats in rätt. Det förbehållet spelar roll, och vi säger det hellre öppet än lovar trolleri.

Där studenter väljer valfria kurser eller läser om en kurs kan genereringen kontrollera varje students egen kurslista i stället för enbart gruppens, så att en valfri kurs inte hamnar ovanpå en obligatorisk föreläsning.

Fliken Generera under Inställningar i Wise Timetables skrivbordsprogram: arbetstider och utökade tider, obligatoriska raster, vecko- och dagsmaxima, resor per dag och antal iterationer
De skolövergripande reglerna i skrivbordsprogrammet: arbetstider och utökade tider, obligatoriska raster, dags- och veckomaxima för lärare och grupper, resor per dag, veckoslutsdagar och antal iterationer per körning.
Skärmen Generera i Wise Timetables webbadministration: program, årskurser, hur många platser en sal får saknas och ett valfritt filter på veckor eller typ av lektion
Generera i webbadministrationen kör samma motor på servern: program och årskurser i körningen, hur många platser en sal får saknas och ett valfritt filter på veckor eller typ av lektion. Den här demoskolan får generera men inte spara.

Frågor om schemageneratorn

Genererar den hela schemat automatiskt?

Ja — varje lektion i varje program och årskurs Ni inkluderar, för hela läsåret, vecka för vecka. Ni kan också generera bara en del och placera resten för hand; låsta pass flyttas aldrig.

Hur lång tid tar genereringen?

Oftast minuter snarare än veckor. Tiden beror på schemats storlek och på hur många iterationer Ni begär — fler iterationer tar längre tid och ger ett bättre resultat. Ett uppmätt exempel: den första körningen på serversidan, på en arbetskopia av en skolas databas, placerade 878 lektioner på 34 sekunder.

Vad händer med lektioner som inte kan placeras?

De förblir oplacerade och listas; ingenting tvingas in på en tid som en regel förbjuder. I skrivbordsprogrammet följer dessutom varje lektion med den regel som hindrade den vid dess möjliga starttider — en upptagen lärare, en upptagen grupp, ingen ledig sal av rätt storlek, ett dagsmaximum.

Kan vi generera bara en del av schemat?

Ja. Välj program och årskurser för en körning, eller begränsa den till vissa veckor eller till en typ av lektion, till exempel föreläsningar. Allt som redan är placerat och låst stannar där det är.

Tar den hänsyn till studenternas valfria kurser?

Det kan den. Med Kontrollera enskild student – lektioner ikryssat kontrollerar genereringen varje students egen kurslista — valfria kurser och omläsningar inkluderade — och inte bara kurserna för studentens grupp.

Körs den i webbläsaren eller på skrivbordet?

Båda har den, byggda på samma motor: skrivbordsprogrammet kör den på schemaläggarens dator, och webbadministrationen kör den på servern och visar resultatet i webbläsaren. Ett lärosäte arbetar i en av de två.

Se Wise Timetable på era egna data

Boka en onlinepresentation på 45 minuter. Vi går igenom er institutions schemaläggningsproblem, visar hur Wise Timetable hanterar det och besvarar vad ert team vill testa.