Room Optimization Overview

The Room Optimization Sandbox is an academic scheduling area where scheduling scenarios can be created to model configuration options and changes to processes. The sandbox provides bulk, optimized room assignment tools for scheduling rooms using a copy of your production data or another sandbox.  Various filters, settings, and scheduling preferences can be applied to refine your results until ready for publishing.

Whether you are optimizing room assignments for an active term or experimenting with scenarios, the sandbox will contain a complete copy of all of the sections included by your sandbox settings.  Academic scheduling and editing tools are provided, allowing the entire schedule to be completed and reviewed before publishing. Production data is not updated until you are ready.

Access to the Room Optimization Sandbox will be available depending on your license and individual user permissions. 

The Sandbox List

The Sandbox can be accessed from either the Academics or Analytics tabs, as applicable, by clicking on the Sandboxes link.  A list of all saved Sandboxes is displayed. The list displays the name, type, campus, status, progress, user, start and end time, and other values as applicable for the sandbox process.  The following statuses may appear associated with a sandbox (as applicable):

  • Scheduled: in the queue to run as soon as possible. It may be waiting on another process to complete or for a service to process it.
  • Running: currently being processed and is generating results.
  • Completed: finished and results are available for review.
  • Published: results were published to the production section file.

As the list of sandboxes grows, you may use the keyword search, term filter, and/or status filter to find specific sandboxes you may have saved.

Click the name of a sandbox to review its settings. If it has been completed, you will also be able to view results details, resolve any remaining scheduling issues, and optionally publish the results to production.

Click the delete icon to the right of the sandbox entry to delete its settings along with any saved results and remove the entry from the list. This action will not affect production sections or room data.

Best Practice

As a best practice, it is recommended that you only retain the minimum number of sandboxes required for the current modeling and scheduling process, or for recent historical reference. Application performance will be degraded as a result of having large quantities of sandbox data stored in the database.

Schedule Preferences

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. 

Assigning Rooms Order

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.

  1. 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
    • The selected term(s)
    • Sections not flagged to be ignored or arranged
    • “Keep Existing Room Assignments” will eliminate sections with existing assignments.
    • The Optimizer user filters to narrow section range
    • If the 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?)
  2. 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?)
  3. 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.
  4. 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:
    1. Group sections by time of day and day of week
    2. Sort these groups from largest to smallest
    3. Sort the sections within the time/day groups by the number of suitable rooms from lowest to highest
    This sorting process creates a list of sections in order by the most common meeting pattern and then by the most constraints within the patterns. This helps to create the most efficient use of space while still meeting as many scheduling constraints as possible. In other words, sections utilizing the most common blocks of time but with the most scheduling restrictions are scheduled first.
  5. 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.

When opting to publish room assignments to your production section file, only those records that were changed during optimization are updated.

Was this article helpful?
1 out of 3 found this helpful



Please sign in to leave a comment.