Build Constraints Overview
Build constraints restrict the way the system schedules a course in the master schedule. Use constraints to tell the system exactly how you want to build your schedule.
PowerSchool includes many types of build constraints you can define. Use each constraint to constrain the schedule in a specific way. For example, use a Teacher Free constraint if you want the football coach to have a free period at the end of the day during the fall semester. Alternatively, to preschedule the Wind Ensemble course at a particular time and place, use a Pre-Schedule constraint.
Since constraints restrict the schedule, the more constraints you define, the less flexibility the system has to build your schedule and the less optimal the resulting schedule will be. It is always best to use the fewest number of constraints required to accomplish your scheduling goals.
The most common constraints are Pre-Schedule and Teacher Free. There are also constraints to manage course and teacher teams and to restrict the meeting times of courses.
You do not have to define any constraints if you can build a satisfactory master schedule without them. Schools often start building schedules with only a few constraints, then gradually add new ones to refine the schedule and achieve particular results.
After creating constraints, you can edit and delete them as necessary. For more information, refer to Build Constraints Overview. In addition to build constraints, you can set constraints during the load process. For information about load constraints, refer to Load Constraints.
Build Constraints
Build constraints restrict the actual building of the master schedule. To view a list of build constraints and the number of each that have been defined for your schedule, choose Build Constraints from the constraints menu. For teacher-related build constraints, refer to Build Constraints Overview.
Add a Course Optimize Constraint
Use a Course Optimize constraint to override the global sampling parameters when scheduling a specific course. For example, if you have a course that you know will be very difficult to schedule, increase both the minimum number of combinations to sample and sampling percentage using this constraint.
You can only define one Course Optimize constraint per course.
Navigate to the PowerScheduler page.
Under Scheduling Setup, choose Constraints from the PowerScheduler menu.
Under Build Constraints, choose Course Optimize.
Click New.
Use the following table to enter information in the fields:
Field | Description |
|---|---|
Course Number | Select the course you want to optimize. |
Minimum number of combinations to sample | Enter the minimum number of combinations you want the system to sample when scheduling this course into the master schedule. |
Sampling Percentage | Enter the percentage of combinations you want the system to sample when scheduling this course into the master schedule. |
Click Submit.
Add a Course Restriction Constraint
Use a Course Restriction constraint to restrict sections of a course to particular periods and days or to meet any time except the specified periods and days.
For example, use this constraint to force three sections of a five-section course to schedule at the same time. The system normally spreads the sections out over different periods. With this constraint, you can force them to be scheduled where you want.
Navigate to the PowerScheduler page.
Under Scheduling Setup, choose Constraints from the PowerScheduler menu.
Under Build Constraints, choose Course Restrict.
Click New.
Use the following table to enter information in the fields:
Field | Description |
|---|---|
Course Number | Select the number of the course you want to restrict. |
Term | Choose to which term you want this constraint to apply. |
Schedule | Select the checkbox next to each period in each day that you want this course to be taught. |
Applies to days only | Select the checkbox to apply this constraint to only the days specified in the Schedule checkboxes. The system does not consider periods and terms for this constraint. |
Applies to periods only | Select the checkbox to apply this constraint to only the periods specified in the Schedule checkboxes. The system does not consider days and terms for this constraint. |
Minimum Number of Sections | Enter the minimum number of sections you want to restrict. |
Maximum Number of Sections | Enter the maximum number of sections you want to restrict. |
Section Type | If the course section you want to restrict has a section type, choose it. If a course has five sections and the two sections you want to restrict contain section types, you must create two constraints. |
Click Submit.
Add a Course Room Constraint
Use a Course Room constraint to assign a course to a particular room. For example, you could force the Computer-Aided Drafting class to be taught in the Computer Lab rather than the Shop.
Navigate to the PowerScheduler page.
Under Scheduling Setup, choose Constraints from the PowerScheduler menu.
Under Build Constraints, choose Course Room.
Click New.
Use the following table to enter information in the fields:
Field | Description |
|---|---|
Course Number | Select the number of the course you want to assign to a particular room. |
Room | Select the room in which you want this course to be scheduled. |
Teacher | Select the teacher who will be instructing this course. |
Click Submit.
Add a Course Team Constraint
Use a Course Team constraint to block teachers and courses together so that certain courses can only be taught at the same time as certain other courses. For example, a jazz band instructor can only teach a jazz band course when a jazz choir instructor leads a jazz choir class (or vice versa).
A blocking course relationship requires Course 1 and Course 2 to have the exact same number of sections. A Course Team constraint allows Course 1 and Course 2 to offer different numbers of sections, as long as there is at least one section of each using the blocking specified. For more information, refer to Course Information.
The order of the courses is irrelevant when creating this constraint.
Navigate to the PowerScheduler page.
Under Scheduling Setup, choose Constraints from the PowerScheduler menu.
Under Build Constraints, choose Course Team.
Click New.
Use the following table to enter information in the fields:
Field | Description |
|---|---|
Course Number 1 | Select the name of the first course you want to team together. |
Teacher | Select the name of the teacher instructing this course. |
Course Number 2 | Select the name of the course you want to team with Course Number 1. |
Teacher | Select the name of the teacher instructing Course Number 2. |
Simultaneous Blocking? | Select the checkbox if you need these two courses to be scheduled at the same time. Otherwise, any other blocking course relationship (such as Before or After) prevails. |
Same Room? | Select the checkbox to force both courses to be scheduled in the same room. |
Minimum Number of Teaming Sections | Enter the minimum number of sections of these courses that will be teamed together. For example, if each course has four sections but you enter 2 in this field, then only two of the four sections will be teamed. |
Click Submit.
Add a Pre-Schedule Constraint
Use a Pre-Schedule constraint to schedule sections of a course ahead of time when you already know exactly when and where they must meet in the master schedule. For example, use this constraint to schedule sections of Band in sixth and seventh periods, which is the only time the band teacher is available.
Navigate to the PowerScheduler page.
Under Scheduling Setup, choose Constraints from the PowerScheduler menu.
Under Build Constraints, choose Pre-Schedule.
Click New.
Use the following table to enter information in the fields:
Field | Description |
|---|---|
Course Number | Select the number of the course you want to preschedule. |
Schedule | Use the pop-up menu to select the term in which this constraint applies. |
Room | Select the number of the room in which you want to preschedule this course. |
Teacher | Select the name of the teacher who instructs the course you want to preschedule. |
Section Type | If the section of the course you want to preschedule has a section type, choose it. |
Team Code | If the section of the course you want to pre-schedule is associated with a teacher team, choose it. |
Click Submit.
Add a Room Free Constraint
Use a Room Free constraint to block a room from being scheduled for a particular term, day, and period. For example, use this constraint to keep a classroom free during the last period of the day for after-school detention.
Navigate to the PowerScheduler page.
Under Scheduling Setup, choose Constraints from the PowerScheduler menu.
Under Build Constraints, choose Room Free.
Click New.
Use the following table to enter information in the fields:
Field | Description |
|---|---|
Room | Select room you want to keep free when scheduling. |
Schedule | Use the pop-up menu to select the term in which this constraint applies. |
Click Submit.
Add a Schedule Break Constraint
Use a Schedule Break constraint to add flexibility to teachers' max-in-a-row count. For example, if your teachers can instruct a maximum of three periods in a row, work around this by putting a 10-minute homeroom period after Period 2. This would make it possible to schedule teachers for Periods 1 through 5.
Navigate to the PowerScheduler page.
Under Scheduling Setup, choose Constraints from the PowerScheduler menu.
Under Build Constraints, choose Schedule Break.
Click New.
Choose the period after which you want to insert a break in the schedule .
Click Submit.
Teacher Build Constraints
Teacher-related build constraints consider teachers' restrictions when building a master schedule. To view a list of build constraints and the number of each that have been defined for your schedule, choose Build Constraints from the constraints menu. For other build constraints, refer to Build Constraints Overview.
Add a Teacher Dovetail Constraint
Use a Teacher Dovetail constraint to fit partial courses together during the same period so that they take up less room.
For example, Course 1 is a partial course that meets three times during a six-day schedule cycle. Course 2 is a partial course taught by the same teacher and also meets three days in the cycle. Use this constraint to force both courses to meet during the same period, but on alternate days. Together the partial courses act as a full course, allowing greater flexibility in that teacher's schedule.
You only have to define this constraint for one of the courses you want to fit together with another course.
Navigate to the PowerScheduler page.
Under Scheduling Setup, choose Constraints from the PowerScheduler menu.
Under Build Constraints, choose Teacher Dovetail.
Click New.
Use the following table to enter information in the fields:
Field | Description |
|---|---|
Course Number | Select the name of one of the courses you want to dovetail with another. |
Teacher | Select the name of the teacher who instructs this course. Only the sections of the course taught by this teacher will be constrained. |
Click Submit.
Add a Teacher Free Constraint
Use a Teacher Free constraint to specify those periods when a teacher must be free, such as when teaching at another school. This is the opposite of the Teacher Part-Time constraint.
Navigate to the PowerScheduler page.
Under Scheduling Setup, choose Constraints from the PowerScheduler menu.
Under Build Constraints, choose Teacher Free.
Click New.
Use the following table to enter information in the fields:
Field | Description |
|---|---|
Teacher | Select the name of the teacher who you want to be free during certain periods of the day. |
Schedule | Choose the term to which you want to apply this constraint. |
Click Submit.
Add a Teacher Part-Time Constraint
Use a Teacher Part-Time Constraint to define which periods a part-time teacher is available to be scheduled. This is the opposite of the Teacher Free constraint.
Navigate to the PowerScheduler page.
Under Scheduling Setup, choose Constraints from the PowerScheduler menu.
Under Build Constraints, choose Teacher Part-Time.
Click New.
Use the following table to enter information in the fields:
Field | Description |
|---|---|
Teacher | Select the name of the teacher who is on a part-time schedule. |
Beginning Period | Choose the period that this teacher is available . |
Ending Period | Choose the last period that this teacher is available . |
Maximum Consecutive Periods | Enter the maximum number of consecutive periods this teacher is available. This setting works in conjunction with the Beginning Period and Ending Period fields. |
Click Submit.
Add a Teacher Team Constraint
Use a Teacher Team constraint to allow teachers to teach course sections outside of their own team. For example, if a teacher belongs to Team 1but also must teach a section for Team 2, define this constraint to allow Team 2 students to be scheduled with this teacher for a particular course.
Navigate to the PowerScheduler page.
Under Scheduling Setup, choose Constraints from the PowerScheduler menu.
Under Build Constraints, choose Teacher Team.
Click New.
Use the following table to enter information in the fields:
Field | Description |
|---|---|
Course Number | Select the number of the course you want to link to a teacher. |
Team Code | Choose the appropriate teacher team code. |
Teacher | Select the name of the teacher who will be teaching outside of his or her assigned team. |
Number of Sections | Enter the number of course sections you want this teacher to teach outside of his or her assigned team. |
Click Submit.
Work with Build Constraints
Use the PowerScheduler menu to view build constraints by type or to modify or delete build constraints.
To view constraints that affect courses, sections, students, or teachers, choose the appropriate resource from the PowerScheduler menu. Then, view the constraints either by choosing Constraints or by clicking Constraints on the page. The Constraints page displays all constraints that affect that resource, regardless of type.
Modify Build Constraints
Navigate to the PowerScheduler page.
Under Scheduling Setup, choose Constraints from the PowerScheduler menu.
Click the name of the type of constraint you want to modify, such as Course Optimize.
Click the course name, student name, teacher name, or period number in the row of the constraint you want to modify.
Edit the information as needed.
Click Submit.
Delete Build Constraints
Navigate to the PowerScheduler page.
Under Scheduling Setup, choose Constraints from the PowerScheduler menu.
Click the name of the type of constraint you want to delete, such as Course Team.
Click the course name, student name, teacher name, or period number in the row of the constraint you want to delete.
Click Delete.