Closed Abdulaziz-KTA closed 3 years ago
If a class has a time pattern that meets multiple times a week (e.g., 2 x 50), all meetings of the class are at the same time, and in the same room. Also, both meetings are of the same length. Anything different can be modeled using two or subparts, one for each meeting. Nesting them under each other will ensure that the students will take the correct combination -- e.g., Lec 1 with Lec 1a, Lec 2 with Lec 2a, etc.
Here is an example with a 3 x 50 class that needs to have two meetings on the same day. In this case, each 3 x 50 class was split into one 1 x 50 class and one 2 x 50 class: Also, the distribution preferences can be used to provide additional structure between the appropriate classes (same days and room in the above example).
Please note the nesting between the two lecture subparts (the second lecture is under the first one). This is to ensure that a student will either take the Lec 1 and Lec 1a combination or the Lec 2 and Lec 2a combination (but not Lec 1 with Lec 2a etc.). It also helps with the distribution preferences (progressive structure will create the constraint only between the nested classes Lec 1 - Lec 1a and between Lec 2 - Lec 2a).
thank you.
I use this (Instructor Assignment Preferences) and not work, I get this result.
the number 1 how to make Strongly Preferred to Required ?
1-Is there a report of getting empty rooms at a certain time? 2-Is there a way to appoint Instructors by UniTime?
The More Than 1 Day Between constraint is usually not allowed to be set on an instructor and it is usually used for classes with only one meeting a week. The constraint checks that the first meeting of one class (on a week) is two or more days before the last meeting of the other class.
Because instructor time preferences are combined with the time preferences set on the scheduling subpart (following the time pattern of the subpart), it is not allowed to put in required time on an instructor. You can, however, set all the other times as prohibited. See Application Of Preferences for more details.
Once you have a course timetable saved and committed, you can use the Events > Room Availability to see what rooms (that are meeting the given requirements) are available during the selected days & times. Note that you can sort the view by availability, listing the rooms with the most space available during the selected times first.
Course timetabling only assigns classes to times and rooms. If instructors are already assigned to classes (e.g., using the Assign Instructors page), the solver will make sure that they have no conflicts. We also have an instructor assignment module that can be used to assign instructors (typically teaching assistants after the course timetable has been created), see the instructor scheduling manual for more details.
If a class has a time pattern that meets multiple times a week (e.g., 2 x 50), all meetings of the class are at the same time, and in the same room. Also, both meetings are of the same length. Anything different can be modeled using two or subparts, one for each meeting. Nesting them under each other will ensure that the students will take the correct combination -- e.g., Lec 1 with Lec 1a, Lec 2 with Lec 2a, etc.
Here is an example with a 3 x 50 class that needs to have two meetings on the same day. In this case, each 3 x 50 class was split into one 1 x 50 class and one 2 x 50 class: Also, the distribution preferences can be used to provide additional structure between the appropriate classes (same days and room in the above example).
Please note the nesting between the two lecture subparts (the second lecture is under the first one). This is to ensure that a student will either take the Lec 1 and Lec 1a combination or the Lec 2 and Lec 2a combination (but not Lec 1 with Lec 2a etc.). It also helps with the distribution preferences (progressive structure will create the constraint only between the nested classes Lec 1 - Lec 1a and between Lec 2 - Lec 2a).
Can you help me? I want lec1 and (child) lec 1a to be a different day??
Unlike in the previously mentioned example that was created to make sure the additional class is on one of the two days of the parent class and in the same room, you need to Prohibit Same Days to ensure the two classes (Lec 1 and Lec 1a) are at different days of the week.
how?
Using the Courses > Input Data > Distribution Preferences page. You can either setup the preference between the Lec 1 and Lec 1a classes, or especially if there are mote than one class in each subpart, you can set it between the Lec and Lec a subparts with the Progressive structure.
There are also more details in the course timetabling data entry manual, see Help > Manuals > Course Timetabling Data Entry.
I use this preference, Is this correct?
thank you this is work.
If your intention is to have the two classes on consecutive days, Required Back-To-Back day is a good choice. If you do not care about the days, only need to have the classes on different days, use Prohibited Same Days.
The Required More Than 1 Day Between will make sure there there is at least one day between the two classes, which is also a good option.
thank you, now I have a big picture how to use (Distribution Preferences).
why I get this WARNING?? It is there empty room !
and my country is start day Sunday to Thursday. not show Sunday in Event Room Availability
The warning means that there is no room (of the department that is managing the class) that is big enough (room capacity >= class limit * room ratio) and meeting the requirements set on the class.
Please check the class limit and room ratio (the minimal room capacity is displayed on the Class Detail page) and that there is at least one room with sufficient size associated with the department of the class. Also, check the room preferences to ensure that all the rooms that are big enough are NOT prohibited by the class preferences.
It took 2 hours and it doesn't move, I used the distribution preferences, why didn't it move? I use this is for 45 Instructors
Usually how long does the system take to create the schedule?
First of all, please take a look at the Course Timetabling Solver Manual (Help > Manuals > Course Timetabling Solver). It explains how to run the solver, e.g., using the Check configuration first and making sure all classes can be assigned.
The solver tries to maximize the number of assigned variables. You can try to use the Check configuration. If the check configuration is not able to find assign all the classes, the problem is very likely over-constrained (no complete solution exists) and you will need to relax some of the constraints (going through the unassinged classes or the conflict statistics should help you identify the problems). It is important that the solver is able to find a complete solution, otherwise, the resultant timetable will not be very optimized (as the solver would spend all the time trying to assign all classes). This is described in the Course Timetabling Solver Manual (see Chapters 1 and 2).
If the Check configuration is able to find a complete solution but not the Default configuration, you can try to substantially increase the value of the following two solver parameters (Administration > Solver > Configurations page), Placement Selection section:
The goal is to make the solver find a good first solution. If the above weights are too high, the solver will converge too quickly and the solution is usually not very good. What seems to work the best is to tune the weights so that the complete solution is found during the first third of the time the solver is given (e.g., if there is a 30-minute time limit, the first complete solution should be found within the first 10 minutes, leaving the solver enough time to make improvements).
Also, please check that you have the On Fly Student Sectioning is disabled ("Enable on fly sectioning" parameter in the On Fly Student Sectioning section is not set). This will make the solver run much faster.
There are many more solver parameters that can be used to tune the solver to better reflect the needs of your institution. This is one of the services we do offer under our paid support (as this would require more work and access to your data to run a number of experiments with different solver settings).
What do you want to achieve by putting strongly preferred Back-To-Back and strongly discouraged Next Day on the same instructor? These two distributions are going against each other as the back-to-back tries to put the classes one after the other on the same day and the second tries to put them on consecutive (different) days.
What do you want to achieve by putting strongly preferred Back-To-Back and strongly discouraged Next Day on the same instructor? These two distributions are going against each other as the back-to-back tries to put the classes one after the other on the same day and the second tries to put them on consecutive (different) days.
When Instructor has a course on Monday, he should not have any courses the next day Tuesday or before.
First of all, please take a look at the Course Timetabling Solver Manual (Help > Manuals > Course Timetabling Solver). It explains how to run the solver, e.g., using the Check configuration first and making sure all classes can be assigned.
The solver tries to maximize the number of assigned variables. You can try to use the Check configuration. If the check configuration is not able to find assign all the classes, the problem is very likely over-constrained (no complete solution exists) and you will need to relax some of the constraints (going through the unassinged classes or the conflict statistics should help you identify the problems). It is important that the solver is able to find a complete solution, otherwise, the resultant timetable will not be very optimized (as the solver would spend all the time trying to assign all classes). This is described in the Course Timetabling Solver Manual (see Chapters 1 and 2).
If the Check configuration is able to find a complete solution but not the Default configuration, you can try to substantially increase the value of the following two solver parameters (Administration > Solver > Configurations page), Placement Selection section:
- Number of conflicts weight (level 1)
- Weighted conflicts weight (CBS, level 1)
The goal is to make the solver find a good first solution. If the above weights are too high, the solver will converge too quickly and the solution is usually not very good. What seems to work the best is to tune the weights so that the complete solution is found during the first third of the time the solver is given (e.g., if there is a 30-minute time limit, the first complete solution should be found within the first 10 minutes, leaving the solver enough time to make improvements).
Also, please check that you have the On Fly Student Sectioning is disabled ("Enable on fly sectioning" parameter in the On Fly Student Sectioning section is not set). This will make the solver run much faster.
There are many more solver parameters that can be used to tune the solver to better reflect the needs of your institution. This is one of the services we do offer under our paid support (as this would require more work and access to your data to run a number of experiments with different solver settings).
("Enable on fly sectioning" parameter in the On Fly Student Sectioning section is not set) only write Disabled
This solution take 2 days to get this result. the first result
What do you want to achieve by putting strongly preferred Back-To-Back and strongly discouraged Next Day on the same instructor? These two distributions are going against each other as the back-to-back tries to put the classes one after the other on the same day and the second tries to put them on consecutive (different) days.
When Instructor has a course on Monday, he should not have any courses the next day Tuesday or before.
The Back-To-Back tries to put all classes to be on the same day. It makes no sense to combine it with a distribution that tries to put the classes on different days. The prohibited/discouraged Next Day is like the required/preferred Next Day but in reverse -- the second class is to be placed on the previous day from the first class, etc. Also, how you expect this to be satisfied on an instructor with 5 or more classes?
Also, it is important NOT to use Back-to-Back distributions between more than 5 classes as the constraint will become very expensive to evaluate -- for any partial assignment, it tries to figure out whether it can be satisfied (whether it is possible to assign the remaining classes in a way that they would be on the same day and back-to-back, effectively going through all the possible combinations). If you wish to minimize gaps for an instructor, we have better distributions for that (e.g., see the Max Break constraint from help.unitime.org/additional-distribution-constraints)
You can see the distribution descriptions in the manual, on the Administration > Solver > Distribution Types page, or on Add/Edit Distribution Preference page for the distribution that is currently selected.
This solution take 2 days to get this result. the first result
Usually, the solver is able to come up with a decent solution within a few minutes. The solver is, by default, limited to half an hour. If the solver is unable to find a complete solution within a few minutes, especially when using the Check configuration, it is likely that your problem is over-constrained (no solution exists without breaking any of the hard constraints) and you will need to make some changes to the input data. Please take a look at the solver manual for more details.
and my country is start day Sunday to Thursday. not show Sunday in Event Room Availability
how show Sunday on Event Room Availability??
There are a few configuration parameters (that can be set on the Administration > Defaults > Configuration page, or in the custom properties) that change the display so that a week starts on Sunday.
# Time Patterns: first day of week (0 is Monday, 1 is Tuesday, etc.)
unitime.timePattern.firstDayOfWeek=6
# Event Time Grid: first day of the week (0 is Monday, 1 is Tuesday, etc.)
unitime.events.gridStartDay=6
# Time Grid: first day of week (0 is Monday, 1 is Tuesday, etc.)
unitime.timeGrid.startDay=6
# Time Grid: defines an additional days of week (starting with 1, format is bitmap|name)
unitime.timeGrid.days14=1111001|Sunday - Thursday
And in the solver configuration (the following two parameters need to be created in the General Settings section on the Administration > Solver > Parameters page and set as follows)
1) First Day of a Week Name: General.FirstWorkDay Description: First Day of Week (0..Monday, 1..Tuesday,...) Type: integer Default: 6
2) Last Work Day of a Week Name: General.LastWorkDay Description: Last Work Day of Week (0..Monday, 1..Tuesday,...) Type: integer Default: 4
The warning means that there is no room (of the department that is managing the class) that is big enough (room capacity >= class limit * room ratio) and meeting the requirements set on the class.
Please check the class limit and room ratio (the minimal room capacity is displayed on the Class Detail page) and that there is at least one room with sufficient size associated with the department of the class. Also, check the room preferences to ensure that all the rooms that are big enough are NOT prohibited by the class preferences.
There are a few configuration parameters (that can be set on the Administration > Defaults > Configuration page, or in the custom properties) that change the display so that a week starts on Sunday.
unitime.timePattern.firstDayOfWeek=6
unitime.events.gridStartDay=6
unitime.timeGrid.startDay=6
bitmap|name) unitime.timeGrid.days14=1111001|Sunday - Thursday
And in the solver configuration (the following two parameters need to be created in the General Settings section on the Administration > Solver > Parameters page and set as follows)
1) First Day of a Week
Name: General.FirstWorkDay Description: First Day of Week (0..Monday, 1..Tuesday,...) Type: integer
Default: 6
2) Last Work Day of a Week
Name: General.LastWorkDay
Description: Last Work Day of Week (0..Monday, 1..Tuesday,...)
Type: integer Default: 4
On Tue, Aug 31, 2021 at 1:14 PM Abdulaziz Alharbi @.***> wrote:
[image: image] https://user-images.githubusercontent.com/46826627/130921085-24bbc28f-d19e-4d1f-a160-412e337ed6c5.png [image: image] https://user-images.githubusercontent.com/46826627/130920837-746d1411-12de-42ae-bc0c-d14a3847a815.png [image: image] https://user-images.githubusercontent.com/46826627/130920886-a4a08176-1c6a-439b-b7d2-4c7c32a90de2.png
why I get this WARNING?? It is there empty room !
and my country is start day Sunday to Thursday. not show Sunday in Event Room Availability
how show Sunday on Event Room Availability??
— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/UniTime/unitime/issues/93#issuecomment-909139763, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACRDTUWMNY3UD3XDHGKY5WTT7S2QXANCNFSM5CFZVGCQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
any way to get different time the same lecture like lec 1,2 and 3 have same time.