As a developer of the CSP implementation I would like to be able to have a set of functions which represent the hard scheduling constraints that I can use to reduce the possible valid assignments of values to variables.
Acceptance Criteria
[x] All hard constraints from the SRS are implemented using the Constraint class
[x] Constraint implementations are easy to understand
[x] Every hard constraint has at least one unit test
[x] Constraints are carefully analyzed and tested for runtime complexity, and any bottleneck constraints are identified
Kiana and I integrated the hard constraints with the CSP solver via pair programming.
All hard constraints are implemented other than the timeslot overlap constraint.
Nolan suggested that for this constraint we create a graph of conflicts between timeslots during pre-processing, then reference it during the search to efficiently detect conflicts. This will take some time to implement, so we'd like to do it at the start of next sprint.
User Story
As a developer of the CSP implementation I would like to be able to have a set of functions which represent the hard scheduling constraints that I can use to reduce the possible valid assignments of values to variables.
Acceptance Criteria
Constraint
classRelated issues
Blocks #15
Additional Resources
Add attachments, external links, etc here.