One approach to identifying a problem in a language of declarative constraints, and then solving this problem for you. The last time I did this, I used ECLiPSe , which is a great little language in which you define your problem space by constraints, and then let you find valid values that satisfy these constraints.
For example, I believe that you have two classes of restrictions:
- A teacher can have only one conference at a time
- All students in the same family must have consecutive slots.
Once you define them in ECLiPSe, it will calculate the values for each student who meets the requirements. If you go this way, you can also easily add restrictions as you need. For example, it is easy to say that teaching is not available for slot Y, or that teachers must take turns performing administrative work, etc.
source share