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.
For example, if this field on the Edit Build Scenario page is set for 10,000 and you have a course you know will be difficult to schedule, enter 50,000 so that the system will evaluate five times as many combinations as it does for your other courses.Sampling Percentage
Enter the percentage of combinations you want the system to sample when scheduling this course into the master schedule.
For example, if this field on the Edit Build Scenario page is set for 75% and you have a course you know will be difficult to schedule, enter 100 to have the system evaluate all possible combinations.- 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.
If the Minimum Number of Sections and Maximum Number of Sections fields are both 0, then this course can be taught in any period or day except the ones indicated.Maximum Number of Sections
Enter the maximum number of sections you want to restrict.
If the Minimum Number of Sections and Maximum Number of Sections fields are both 0, then this course can be taught in any period or day except the ones indicated.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.
This constraint only applies to the sections of this course taught by the teacher you select. If you do not select a teacher, this constraint applies to all sections of the selected 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.
For more information, refer to Course Information.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.
Select the checkbox next to each period in each day that you want to schedule this course.
For example, if you have a one-day schedule and select Period 1 and Period 2, a section of this course will span periods 1 and 2 every day. Alternatively, if you have a two-day schedule and select Period 1 for both days, the section will meet every day during first period.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.
To preschedule two sections of the same course, one of which has a section type, you must create two constraints.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.
Select the checkbox next to each period in each day that you want to keep this room free.
For example, select the checkboxes across the first row if you want to keep the room free during the first period of each day.- 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.
If you do not select a teacher, all sections of the course you selected 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.
Select the checkbox next to each period in each day that you want this teacher to be free.- 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.
For example, assume you have selected 1 for the Beginning Period and 7 for the Ending Period and 4 for the Maximum Periods field. This teacher would be available for periods 1-4, 2-5, 3-6, or 4-7.- 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.