I volunteered to write a program to schedule parent-teacher conferences. The principal wants parents to select 3 possible datetimes to visit their english and math teacher (at the same time).
Once all the parents have selected 3 datetimes, I'm supposed to figure out the optimal way to schedule the parent-teacher conferences so the greatest number of parents can meet with both teachers.
(If there is a time conflict and the math teacher can't be at the conference, a parent will only meet with the english teacher)
I don't know much about NP type problems, but when I hear the word "optimal" and "schedule" together, I start to wonder...
I already told the principal I couldn't do that, but I wanted to know if it was NP complete. And if it is, assuming there are:
- 500 parents
- 15 english teachers
- 5 math teachers
- 25 datetimes to pick from
could this be solved correctly in a few seconds, minutes or hours on your grandma's computer?