Exam Solver Room Conflict Checking

4 views
Skip to first unread message

David Berndt

unread,
Jun 12, 2025, 5:06:12 PM6/12/25
to UniTime Discussion Group
Hi Tomas, 

Is conflict checking for rooms part of the examination solver?  All of our exams are in 3 hour blocks, but as an example, some instructors wish to start at 9am and some at 10am.  To allow for this, I've created time blocks for exams that overlap in time to allow instructors to request more options for finals scheduling.   In this case there are 9-12 and 10-1 time blocks created.  It seems that solver is disregarding these are actual conflicts, which makes me think overlapping time blocks was not something that was expected.  We're small enough that I can catch the overlaps and fix them afterward, but is there a better setup or a different parameter that can ensure the solver will avoid doing this?  Thanks!
David

Tomáš Müller

unread,
Jun 13, 2025, 2:55:24 AM6/13/25
to unitime...@googlegroups.com
Dear David,

An exam cannot be placed into a room during a period that overlaps with an approved event (pending events are ignored).

Instructors would have a direct conflict if they are assigned to an exam that overlaps with a period during which they teach another class (the class assignment must have conflict checking enabled). Please note that instructor direct conflicts are allowed, but minimized. The same applies to students and the classes they are attending (enrolled in). Exams of other examination types and course-related events (with required attendance) are also considered.

It is possible to disable event student/instructor direct conflicts with other events by setting tmtbl.exam.eventConflicts.final to false (defaults to true, where final is the reference of the examination type).

Best regards,

Tomas Muller

--
You received this message because you are subscribed to the Google Groups "UniTime Discussion Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to unitime-discu...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/unitime-discuss/62708653-5976-4bcc-aa30-dd9540fcc5a6n%40googlegroups.com.

Tomáš Müller

unread,
Jun 13, 2025, 9:22:05 AM6/13/25
to unitime...@googlegroups.com
Dear David,

Also, please note that UniTime expects the examination problem to have a set of non-overlapping periods. So, if a student or an instructor has two exams in two different examination periods, the solver assumes that they are not overlapping with each other.

There are some provisions on the solver to enable checking for direct (student or instructor) conflicts between two examination periods that overlap in time. This is only enabled when the solver parameter Exams.CheckForPeriodOverlaps is created and set to true.

Best regards,

Tomas

David Berndt

unread,
Jun 13, 2025, 3:01:30 PM6/13/25
to UniTime Discussion Group
Thank you Tomas.  Can you check that I've set this up correctly?  Enclosed a screen capture. Would "Examinations: General Parameters" be the correct Group to assign this?  If I understand correctly adding this parameter will look for student and instructor conflicts when parameters overlap.  Is a room check possible.  I can troubleshoot with reports to catch any room conflicts if needed for now.  

I had a feeling when I started to see conflicts that the exam solver wasn't designed to handle overlapping exam periods.  While we have been experimenting with this setup for the last few semesters, I've realized that the additional blocks actually help out students  who have more than one final a day, but also allow for 1 or 2 hour breaks instead of a default 3 or 6.  Just sharing out 2 potential setups to illustrate this.  

Original Non Overlapping Finals blocks (all finals are 3 hours)
9am-12pm (we can't start before 9am as policy here)
12pm-3pm
3pm-6pm
6pm-9pm (day must end at 10pm)

Spring Pilot Exam Schedule with Overlaps
9am-12pm
10am-1pm
2pm-5pm
3pm-6pm
6pm-9pm. 

Looking at possible student scheduled, previously students would either have back to back finals or finals with 3 or 6 hour breaks in between.  As we're located in the suburbs and dorms are a 10 minute bus ride away, most faculty commute much farther, having 2 finals with an hour or two in between is a useful option.  The overlap schedule allows for that but doesn't require eliminating hours from the timetable, so I'm hoping we can make things work without going back to the non overlapping setup.  Thanks! 

Solver Parameter Exams.png

Tomáš Müller

unread,
Jun 13, 2025, 5:44:08 PM6/13/25
to unitime...@googlegroups.com
The parameter looks good to me. Set the default to true (instead of True) — I am not sure if the checking is case-sensitive or not.

The solver was not really designed to handle overlapping examination periods. Most typical examination problems in US and UK do not have those (and the problem is already very hard without such a complication). The ability to check for overlapping conflicts for students and instructors was added over four years ago (commit 54ad167). I do not recall the specific circumstances, but it is not being used a lot. The rooms still only check for conflicts within the same examination period. Also, it will mess up the back-to-backs as this criterion only checks that a student (or an instructor) is attending exams in two consecutive periods (which are now overlapping with each other).

Best regards,

Tomas

David Berndt

unread,
Jun 24, 2025, 2:31:42 PM6/24/25
to UniTime Discussion Group
Hi Tomas.  I've updated that parameter and tested it.  I can confirm the solver is definitely catching when students have conflicts now that include the overlapping periods, so I'm more at ease that isn't a concern.  I'm wondering, would you have an idea of how large of an enhancement to add a room checking parameter for overlapping exam periods?  Since we're small I can check for these using reports in the meantime, although I'm concerned taking this is worth the risk of not catching a time conflict.  It is also true, back to back checking doesn't work correctly when adding overlapping periods, so that's something we need to consider as well.  I may move to go back to the non overlapping periods for fall, but I'd be interested in exploring other solutions in the future.  

I need to ask you about report generation for exams, but I'll start a fresh ticket for that topic.  Thanks for your help with this!

Tomáš Müller

unread,
Jun 25, 2025, 8:04:14 AM6/25/25
to unitime...@googlegroups.com
Hi David,

My estimate is approximately two days of development and testing for adding room conflict checking to handle overlapping periods. It will have a negative impact on the solver efficiency (which is one of the reasons why overlapping periods are usually not used). Still, it should be negligible for small enough problems.

Best regards,

Tomas

Reply all
Reply to author
Forward
0 new messages