added logic to check constraints in a proper way.
checking the subject hour map constraint.

this runs fine on the simple small data but fails to compute any timetable for larger data.