The problem is like that:
a school has got different classes. Each class has a weekly schedule (8 hours english, 6 hours maths, 2 hours art, etc.). Each teacher has got a certain number of hours in a subset of classes. (I guess school is like that almost everywhere).
Some additional constraits can be added, for example:
- teacher X will not work on Monday
- teacher Y needs two consecutive hours in a certain class and so on.
The goal is to find a schedule that optimizes a cost function for constraints.
Finally this is a calssical NP problem i guess. It can be solved using space state search (we try all the possible combinations, using some smart way of searching, and we choose the best solution possible).
Is this feasible? (combinations are huge, for 10 classes and 30 hours per class and 7 subjects it is around 10^253, even if some substantial pruning is possible: i guess a SAT solver can handle something like that).
Is there any alterantive to complete search, even if approximated?