Planer
usage:
start ghci in this repo with:
cabal repl
Load professors from csv file:
λ p <- processCsv "professors1.csv"
or use the example professors p1 to p5 generated in the program
Calculate schedules and create a LaTeX file in presentations.tex:
λ schedule rooms startDate endDate profs
λ schedule ["H","P"] "2024-04-04" "2024-07-30" p
or use scheduleEven if you are unhappy with the room distribution to make it more even if possible
λ scheduleEven ["H","P"] "2024-04-04" "2024-07-30" p
To see every possible schedule use generateSchedules with the same parameters as schedule
To add a prof to a calculated schedule use:
λ addProfessor prof [Rooms] start endDate calculatedSchedule
To add unavailability for a prof and try to find a new schedule use:
λ addProfUnavailability prof [UnavailDates] [Rooms] start endDate calculatedSchedule
csv fortmat:
name,projects,unavailableDays,availableDays
Duman,KI-Survey1,2024-04-04;2024-04-11,
Zapf,THNSensor,,2024-04-04;2024-04-11
-> Duman is busy on 04.04 and 11.04
Zapf is only available on 04.04 and 11.04
they can have multiple projects
example output:
λ schedule ["H","P"] "2024-04-04" "2024-07-01" p
the csv:
name,projects,unavailableDays,availableDays
Duman,KI-Survey1,2024-04-04;2024-04-11,
Zapf,THNSensor,2024-04-11,
Meier,Memtest;Memtest2,2024-04-11;2024-04-18,
Schulz,MMO;MMO2,2024-04-18,
P1,project1;project1N,2024-04-23,
P2,project2;project2N,2024-04-11;2024-04-18,
P3,project3,2024-04-04,
P4,project4;project45,2024-04-18,
P5,project5,2024-04-04,
P6,project6,2024-04-11,
P7,project7,2024-04-18,
P8,project8,2024-04-18,
P9,project9,2024-04-04,
P10,project10,2024-04-11,
P11,project11,2024-04-18,\