After your room inventory is imported and/or defined, academic room scheduling preferences are configured, and term-specific course section records are imported, you may wish to make room assignments for your section records in bulk using the Astra Schedule room assignment optimizer. The Room Optimizer makes the room assignment process much faster, helps to find the most appropriate space using user-defined scheduling parameters, and provides an opportunity to experiment with scheduling scenarios that would be extremely difficult using manual scheduling. By adjusting the combination of optimization parameters, academic scheduling preferences, and seat fill-versus-preference priority settings, you may test the trade-off between different scheduling objectives. By creating one or many schedules you can experiment and compare results to build your schedule and test possible scenarios.
The Room Assignment Optimizer analyzes your section data and assigns rooms in a specific order so as to maximize assignments while still meeting as many constraints as possible.
- Determine Sections to Schedule. The optimizer must determine the scope of sections that are to be processed during the optimization. Factors that determine sections to be scheduled include:
- Selected source data
- Selected term(s)
- Sections not flagged to be ignored or arranged
- If user has opted to “Keep Existing Room Assignments” then sections with existing assignments are eliminated
- Optimizer user filters further narrow section range
- If user opts to pre-process hard constraints or back-to-back instructors, then determine applicable sections and prioritize them
- User security (to what sections does the user have edit access?)
- Determine Rooms to Schedule. The optimizer must determine what rooms may be considered for scheduling for each section during the optimization. Factors for room selection include:
- Rooms not flagged “Do Not Optimize”
- Rooms not flagged “Arranged Section”
- Rooms not flagged “May Not Schedule”
- Rooms not flagged "May Be Shared"
- Rooms are a campus match for sections in question
- Rooms are not blocked by room control during the dates being scheduled
- Rooms are available based on applied existing production and/or sandbox conflicts
- Rooms are included in user filters applied for optimization
- User security (for what rooms does the user have schedule permission?)
- Score Rooms for Each Section. The optimizer must determine what rooms may be scheduled for each section based on preferences and hard filters using the same method as the ad hoc room scheduling tool. Each feasible room is then scored using the room scoring method.
- Determine the Order of Section Scheduling. The optimizer must determine the order in which sections will be scheduled. The following steps determine the order of scheduling:
- Group sections by time of day and day of week
- Sort these groups from largest to smallest
- Sort the sections within the time/day groups by the number of suitable rooms from lowest to highest
- Schedule Rooms. The optimizer must assign rooms to section records in the order determined above. The system will attempt to assign each section record a room from its list of suitable rooms in score order, first checking for conflicts and evaluating back-to-back instructors and cross-list scheduling scenarios as applicable.
Cross-list Optimization Rules
The optimizer will attempt to schedule cross-listed sections with matching meeting patterns into the same room. If the meeting patterns do not match, then the cross-list is considered "invalid" from a scheduling perspective and the optimizer will schedule them independently.
If the user running the optimizer does not have edit permission for certain members of the cross-list group, then those specific members are not assigned a room.
If the optimizer finds one section of a cross-list scheduled and not the other, it will attempt to match the scheduled section's room assignment.
If the optimizer filters are set so that only one of the cross-listed sections is included, then it will still attempt to match the other member's room assignment. However, if the other member is unscheduled, it will NOT assign a room to a section outside of the optimizer filters.
The Optimizer assigns as many rooms as possible and creates lists of bottlenecks and infeasibles along the way that can be reviewed by the user. The results of each sandbox are automatically saved. You may continue to work with the optimizer sandbox until satisfied with the results. When satisfied with a schedule, you may publish your optimized assignments back to the production section file.