Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Examination scheduling #173

Open
Animeakihabara opened this issue Jun 13, 2024 · 4 comments
Open

Examination scheduling #173

Animeakihabara opened this issue Jun 13, 2024 · 4 comments

Comments

@Animeakihabara
Copy link

When i solve using basic parameter, i got the result that some very first day in the available time for examinations have a lot of exams while the last few days in the available time literally don't have any exam, and more over some constraints like direct conflict or more than 2 A day conflicts have a big number, the easier way I can see that I can move some examination into the last few day which don't have much exam even no exam, so how can i do that with out do it manual by myself, is there any way to setup constraint to solve this problems?

@Animeakihabara
Copy link
Author

for more specified, i have 14 days for examinations, the examination timetable i got for first 4 days is 931 over 1140 exam i already have(over 80% exam)
2024-06-13 10 41 01
2024-06-13 10 41 03
2024-06-13 10 40 53
2024-06-13 10 40 56
2024-06-13 10 40 58

@tomas-muller
Copy link
Contributor

Quick question: Is the solver able to assign all exams? That is, on the Examination Timetabling Solver page, it shows 100% assigned variables? Most of the optimization happens only after the solver is able to place all exams.

If the solver is able to assign all exams, could you please share your data with me (using the Export XML button on the Examination Timetabling Solver page)?

If the solver is NOT able to assign all exams, you need to check the Not-assigned Exams (and/or the Conflicts Statistics) pages and fix the inconsistencies in the problem.

@Animeakihabara
Copy link
Author

All exam have been assigned this is the result in XML(I cannot upload XML, so I zipped it)
exam-solution (3).xml.zip

@tomas-muller
Copy link
Contributor

Your problem is shaped by the Same Period distribution preferences. They are all required, and 1151 of your 1154 exams are present in at least one required Same Period preference. Besides generating a lot of direct conflicts that cannot be avoided, they also make it extremely hard for the solver to make local changes as each exam is, on average, required to be at the same period as 7 - 8 other exams. When I make all the Same Period preferences soft (preferred instead of required), the solver can quickly come up with a solution that has no student conflicts (no directs, no more than two exams on a day, no back-to-backs). But some of the Same Period preferences will remain not satisfied.

Also, by default, the solver tries to put each exam as early as possible in the examination week (it will pick the earliest possible period from those that are otherwise equal, e.g., have the same student conflicts). This can be avoided by setting the following two solver configuration parameters to zero:
Exam rotation weight (defaults to 0.001)
Examination period index weight (defaults to 0.0000001)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants