Skip to main content
Skip table of contents

Build Constraints Overview

On this page:

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.

Note: 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, see Work with Build Constraints. In addition to build constraints, you can set constraints during the load process. For information about load constraints, see 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, see Teacher Build Constraints.

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.

Note: You can only define one Course Optimize constraint per course.

  1. On the start page, choose PowerScheduler under Applications in the main menu. 
  2. Under Scheduling Setup, choose Constraints from the PowerScheduler menu. 
  3. Under Build Constraints, choose Course Optimize
  4. Click New
  5. Use the following table to enter information in the fields:

    Field

    Description

    Course Number

    Click Associate to 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.

  6. 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.

  1. On the start page, choose PowerScheduler under Applications in the main menu. 
  2. Under Scheduling Setup, choose Constraints from the PowerScheduler menu. 
  3. Under Build Constraints, choose Course Restrict
  4. Click New
  5. Use the following table to enter information in the fields:

    Field

    Description

    Course Number

    Click Associate to select the number of the course you want to restrict.

    Term

    Use the pop-up menu to 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.
    Note: 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.
    Note: 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, use the pop-up menu to choose it. If a course has five sections and the two sections you want to restrict contain section types, you must create two constraints.

  6. 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.

  1. On the start page, choose PowerScheduler under Applications in the main menu.
  2. Under Scheduling Setup, choose Constraints from the PowerScheduler menu. 
  3. Under Build Constraints, choose Course Room
  4. Click New. T
  5. Use the following table to enter information in the fields:

    Field

    Description

    Course Number

    Click Associate to select the number of the course you want to assign to a particular room.

    Room

    Click Associate to select the room in which you want this course to be scheduled.

    Teacher

    Click Associate to select the teacher who will be instructing this course.
    Note: 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.

  6. 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, see Course Information.

Note: The order of the courses is irrelevant when creating this constraint.

  1. On the start page, choose PowerScheduler under Applications in the main menu. 
  2. Under Scheduling Setup, choose Constraints from the PowerScheduler menu. 
  3. Under Build Constraints, choose Course Team
  4. Click New
  5. Use the following table to enter information in the fields:

    Field

    Description

    Course Number 1

    Click Associate next to the Course Number field to select the name of the first course you want to team together.

    Teacher

    Click Associate next to the Teacher field to select the name of the teacher instructing this course.

    Course Number 2

    Click Associate next to the Course Number field to select the name of the course you want to team with Course Number 1.

    Teacher

    Click Associate next to the Teacher field to 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.
    Note: For more information, see 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.

  6. 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.

  1. On the start page, choose PowerScheduler under Applications in the main menu. 
  2. Under Scheduling Setup, choose Constraints from the PowerScheduler menu. 
  3. Under Build Constraints, choose Pre-Schedule
  4. Click New
  5. Use the following table to enter information in the fields:

    Field

    Description

    Course Number

    Click Associate to 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

    Click Associate to select the number of the room in which you want to preschedule this course.

    Teacher

    Click Associate to 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, use the pop-up menu to choose it.
    Note: 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, use the pop-up menu to choose it.

  6. 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.

  1. On the start page, choose PowerScheduler under Applications in the main menu. 
  2. Under Scheduling Setup, choose Constraints from the PowerScheduler menu. 
  3. Under Build Constraints, choose Room Free
  4. Click New
  5. Use the following table to enter information in the fields:

    Field

    Description

    Room

    Click Associate to 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.

  6. 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.

  1. On the start page, choose PowerScheduler under Applications in the main menu. 
  2. Under Scheduling Setup, choose Constraints from the PowerScheduler menu. 
  3. Under Build Constraints, choose Schedule Break.
  4. Click New
  5. Choose the period after which you want to insert a break in the schedule from the pop-up menu.
  6. 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, see Build Constraints.

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.

Note: You only have to define this constraint for one of the courses you want to fit together with another course.

  1. On the start page, choose PowerScheduler under Applications in the main menu. 
  2. Under Scheduling Setup, choose Constraints from the PowerScheduler menu. 
  3. Under Build Constraints, choose Teacher Dovetail
  4. Click New
  5. Use the following table to enter information in the fields:

    Field

    Description

    Course Number

    Click Associate to select the name of one of the courses you want to dovetail with another.

    Teacher

    Click Associate to select the name of the teacher who instructs this course. Only the sections of the course taught by this teacher will be constrained.
    Note: If you do not select a teacher, all sections of the course you selected will be constrained.

  6. 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.

  1. On the start page, choose PowerScheduler under Applications in the main menu. 
  2. Under Scheduling Setup, choose Constraints from the PowerScheduler menu. 
  3. Under Build Constraints, choose Teacher Free
  4. Click New
  5. Use the following table to enter information in the fields:

    Field

    Description

    Teacher

    Click Associate to select the name of the teacher who you want to be free during certain periods of the day.

    Schedule

    Use the pop-up menu to 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.

  6. 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.

  1. On the start page, choose PowerScheduler under Applications in the main menu. 
  2. Under Scheduling Setup, choose Constraints from the PowerScheduler menu. 
  3. Under Build Constraints, choose Teacher Part-Time
  4. Click New.
  5. Use the following table to enter information in the fields:

    Field

    Description

    Teacher

    Click Associate to select the name of the teacher who is on a part-time schedule.

    Beginning Period

    Choose the period that this teacher is available from the pop-up menu.

    Ending Period

    Choose the last period that this teacher is available from the pop-up menu.

    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.

  6. 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.

  1. On the start page, choose PowerScheduler under Applications in the main menu. 
  2. Under Scheduling Setup, choose Constraints from the PowerScheduler menu. 
  3. Under Build Constraints, choose Teacher Team
  4. Click New.
  5. Use the following table to enter information in the fields:

    Field

    Description

    Course Number

    Click Associate to select the number of the course you want to link to a teacher.

    Team Code

    Choose the appropriate teacher team code from the pop-up menu.

    Teacher

    Click Associate to 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.

  6. 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 from the pop-up menu or by clicking Constraints on the page. The Constraints page displays all constraints that affect that resource, regardless of type.

Modify Build Constraints

  1. On the start page, choose PowerScheduler under Applications in the main menu. 
  2. Under Scheduling Setup, choose Constraints from the PowerScheduler menu. 
  3. Click the name of the type of constraint you want to modify, such as Course Optimize.
  4. Click the course name, student name, teacher name, or period number in the row of the constraint you want to modify. 
  5. Edit the information as needed.
  6. Click Submit.

Delete Build Constraints

  1. On the start page, choose PowerScheduler under Applications in the main menu. 
  2. Under Scheduling Setup, choose Constraints from the PowerScheduler menu. 
  3. Click the name of the type of constraint you want to delete, such as Course Team.
  4. Click the course name, student name, teacher name, or period number in the row of the constraint you want to delete.
  5. Click Delete
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.