algorithmconstraintsschedulecapacity-planning

Conference Session Scheduling Algorithm


I'm working on a personal project and I need some help getting my ideas straight on a scheduling algorithm.

Imagine you're hosting a conference:

Ideally, the basic schedule will be one of two variants (the only difference is which lecture they attend and when):

OR

I have a list of employees, and I can structure the "session" info tables however I want. But in the end I need to be able to loop through employees, figure out a schedule and then store it so we can print it later.

How would you go about this? I'm more than happy to go into detail about other constraints / requirements.


Solution

  • Since our parameters for the type of schedule we wanted were fairly straight-forward:

    • 9am - noon: 3 workshops, a break, and a lecture (either A or B) 1pm
    • 4pm: 3 workshops, a break, and a lecture (either B or C)

    OR

    • 9am - noon: Lecture (either A or B), a break, 3 workshops
    • 1pm - 4pm: Lecture (either B or C), a break, 3 workshops

    This meant we had a limited amount of permutations that could be generated. The way we solved this was to generate an example schedule for each permutation (in our case, it was about 16 different schedules) and then print enough copies and randomly distribute them as employees arrived.