donnell74/CSC-450-Scheduler — pull request #32 by hana9235 (2014-11-15 00:46:47+00:00)
Title: Partial credit and Instructor Break constraint

When attempting to write the preference constraint conflict, I met with an issue created by using time preferences to create breaks in an instructor's day. Shade had mentioned that he wanted this in a recent sprint review, but it became apparent that using two instructor preference constraints would cause issues. ("Shade_before_10:00" and "Shade_after_14:00" could create impossible schedules, and if you were to add "CSC 450_before_12:00", the constraint becomes tricky to satisfy.)

To circumvent this, Cameron and I decided a new constraint would make more sense and be much easier to implement. This new constraint allows an instructor to specify two time slots, a start and an end, between which they do not want to teach any courses.

This pull request also adds partial credit for non-mandatory constraints, so instead of adding a full fitness score or no extra fitness, it adds a percentage of the constraint's weight based on how much of the schedule passed the constraint.