Need help making a scheduling algorithm

1    13 Jul 2015 22:24 by u/oranges13

Hey everyone. 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:

  • Attendees need to be automatically assigned to 6 out of 8 possible workshops, and 2 out of 3 possible lectures throughout the day.
  • Attendees can only attend a workshop or lecture once (no scheduled repeats).
  • Everyone goes to lunch at noon.
  • Attendees should get one break before lunch and one break after.
  • Workshops are 30 minutes long and Lectures are 60 minutes long.
  • Lectures are only available at 9am, 11am, 1pm, and 3pm, otherwise the attendees are in a workshop or on break.

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

  • 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

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. Thank you for any help you can provide to help me get this organized in my head. It shouldn't BE HARD, but it is!

1 comment