|
> Home >
Scheduling Optimizer Procedures (How Do I ...?)
>
Balancing a Student Group
Balancing a Student Group
In many schools, one or more special groups of students, Special Ed
students for example, may be identified for special scheduling treatment.
It is often a goal to distribute
the special group students evenly in courses where they are assigned to
some or all of the same sections as other students.
The Scheduling Optimizer attempts to balance the total number of
students in each section of a course but extra steps are required to
enforce balancing of a specific group of students across their sections.
This document outlines a procedure using partial simulations to
effectively balance a special group of students as well as overall class
loading totals within courses.
The examples used in this document assume that the special group of
students who are to be balanced within their courses all belong to student
group "S01". The procedure also uses the student "House" field as a
selection field in partial simulations. Adjust the student group code(s)
and, if necessary, the student data field used for selecting students to
be scheduled in partial simulations as required to work with your school's
data.
Procedure
 |
Specify shared sections. |
- For courses in which all sections are open to both the special group
students and other students, no action is needed to define section
availability.
- If some, but not all, sections of a course are open to the students
in the special group (as well as other students), use Section Load
Restrictions (SLRs) to define the desired rules.
The Scheduling Optimizer recognizes a "non-exclusive allocate" code to
provide a convenient way to define the shared sections (see
SLR Extension on the web site or the
section "Section Load Restriction (SLR) Extension" in the User
Documentation for details).
The following screen sample shows a 12-section course in which the
first 8 sections are not available to the special group and the last 4
sections are combined.

 |
Identify students as belonging or not belonging to the special
group. |
Only certain student fields can be used to select students for
inclusion in partial simulations (you cannot select students by student
group). This example defines the House field, one of the available
selection fields, based on student group.
- Run the following two CHANGE Queries to set the student House field
to ‘S’ for students in the special student group, ‘A’ for all others.
[CHANGE] ASTU House='A'
[CHANGE] ASTU ASGR House='S' IF GroupCode = 'S01'
 |
Prepare to run partial simulations. |
- Clear all current student schedules with the following CHANGE Query:
[CHANGE] ASSS ClassLink = 0
- From the Sections menu in the Sections atom, select "Update Counts"
to release all seats in all classes.
 |
Schedule students in the special group by themselves. |
Run a partial simulation which includes only students in the special
group. Since these are the only students in the simulation, the Scheduling
Optimizer will tend to distribute them evenly across their available
classes. For details on how to run a partial simulation, see
Partial Simulations on the web site or the
section "Partial Simulations" in the User Documentation.
- Use the Run Scheduling Simulation atom to run a partial simulation,
scheduling only the special group of students. In our example, they can
be selected by Querying for students with a value of ‘S’ in the House
field.

- Run the Scheduling Optimizer. Since only students in the special
group are scheduled, the Optimizer will tend to distribute them evenly
across their sections.
- Use the Results Update atom to load the schedules for the special
group of students to the database. Students not in the special group
have no scheduled requests at this point.
 |
Schedule the remaining students. |
- Run a partial simulation which includes all students except those in
the special group. This is the done as in the preceding step except that
students with a value of ‘A’ (rather than ‘S’) are selected on the
"Students to Schedule" form.

- Run the Scheduling Optimizer. The Optimizer will schedule these
students using seats left available after scheduling the special group.
- Run Results Update. This adds these students’ schedules to the
database; schedules for the special group of students remain unchanged.
Notes
 |
It is not necessary to follow the procedure outlined in this document
for every simulation.
For convenience, schedule the whole school as normal until your
scheduling is close to final. You may want to do an occasional
simulation as described above in the course of scheduling to verify
that the special group of students is balancing acceptably.
Before you transfer simulation results to Basic Scheduling, be sure
to lock in the schedules produced for the special group from a partial
simulation as described above. You can do this by running a last
simulation using the procedure described in this document or by
running a CHANGE Query to lock the special group’s schedules by
prescheduling the current section assignments. This can be done with a
CHANGE Query as follows:
[CHANGE] ASTU ASSS PreClsLink = ClassLink IF
House = 'S'
Subsequent full simulations will leave the special group’s
schedules unchanged, revising only schedules for students who are not
in the special group. |
 |
Because partial simulations include only selected student and master
schedule data, the procedure described in this document doesn’t
provide Scheduling Optimizer reports reflecting results for the
overall school.
- Master schedule lists and grids will not include courses in the
master schedule selected by only students in the special group.
- The number of requests and unscheduled requests on the Master
Schedule Lists will reflect only students in the partial simulation.
- Other reports will be incomplete and possibly inaccurate.
Reports available from SASIxp should correctly reflect the combined
results. You can get a combined set of reports from the Scheduling
Optimizer by locking in all schedules as prescheduled (use the above
CHANGE Query without the "IF House = ‘S’" part), then running a full
simulation with the Scheduling Optimizer. If you do this, be sure to
do it only at the very end of scheduling, just before results are
moved into Basic Scheduling; once you run this Query you will no
longer be able to restore course requests to their original state of
prescheduled or not prescheduled. |
Back to Top
|