UniTime / cpsolver

Local-search based solver of Constraint Satisfaction and Optimization Problems
http://www.cpsolver.org
GNU Lesser General Public License v3.0
58 stars 35 forks source link

Additional exam criteria #24

Open akrHsH opened 5 months ago

akrHsH commented 5 months ago

I would like to open a discussion about an additional exam timetabling/scheduling criterion.

I'm using UniTime for exam scheduling. At our faculty the total examination period is 24 days. In order to reduce the examination stress for the students the examinations should be more ore less distributed evenly over these 24 days. Sometimes the solver places the exams in a row. For example if a student is enrolled in 5 exams all the exams take place in one week at 5 consecutive days.

In my opinion it would be helpful to have an exam cirterion like for example "students not more than 3 exams in 5 days". I started to implement such a criterion and there is a first (not yet tested) draft (what would be the best way to share it?).

Maybe such a criterion is interesting for other UniTime/cpsolver users.

Best regards Alexander

tomas-muller commented 5 months ago

Hi Alexander,

I think such a criterion can be attractive to some (potential/new) users. As far as I know, most of the universities that already use UniTime for examination timetabling are using the Anglo-Saxon model where all exams are typically just written tests organized within a single week.

As for making the changes, you can fork the cpsolver repository (make your own copy -- see the documentation here) and make your changes there. Once you have something you want to share, you can create a pull request (request the change to be pulled into the main repository -- see the documentation here). This will allow me to see and comment on the changes, and possibly request some changes (there can be multiple iterations) before the new feature is merged into the main repository.

Best regards,

Tomas