Closed Animeakihabara closed 3 months ago
It is currently not possible to limit the number of students who will have exams during a particular period or on a particular day.
The constraints are per student, namely:
how can i setting up these constraints, about the name, the value, ... of these constraints in unitime?
The direct student conflicts, more than two exams on a day student conflicts, and back-to-back (distance) student conflicts are configured automatically. You can modify the solver weights for a particular solver configuration on the Administration > Solver > Configuration page. Together with the weights on the periods, rooms, and soft distribution preferences.
That mean, when i want minimizing more than two exams on a day I just need increase the value higher than the value of others constraints
The objective function the solver tries to minimize is a weighted sum of the various criteria. So, yes, putting a higher weight on a particular criterion (such as more than two exams on a day student conflicts) will make the solver concentrate on the criterion more.
I have question related to this discussion, @tomas-muller, you mentioned in your reply:
- optionally, there is a variant minimizing two or more exams on a day
How to enable this option? Is there any Property that needs to be entered in Application Settings?
The more than one examination on a day is implemented as an additional criterion StudentMoreThan1ADayConflicts. The class name needs to be added to the additional criteria for the solver (which contains a semicolon-separated list of additional criteria that are to be used).
This can be done on the Administration > Solver > Parameters page, select Examinations: General Parameters, and edit the Exams.AdditionalCriteria parameter so that it contains
org.cpsolver.exam.criteria.additional.DistanceToStronglyPreferredRoom;org.cpsolver.exam.criteria.additional.StudentMoreThan1ADayConflicts
as the default value (or just the org.cpsolver.exam.criteria.additional.StudentMoreThan1ADayConflicts
).
Is there any way to limit the max student can have exam per day or max student can have exam per exam period?