Skip to main content

Griddle - Understanding the Timetable Engine

Read this prior to writing your new timetable

Updated over a month ago

Understanding the Timetable Engine

Understanding Generate Modes:

There are two main Generate modes: Restart and Continue.

Restart takes all activities off the timetable and replaces them from scratch (This is recommended for initial runs).

Continue uses the existing solution (Pinned activities) and optimizes the unpinned activities around those that are pinned. Running a Continue does not utilise the Build Phase, however it will still add any activities onto the main Timetable grid.

Understanding the Build Phases:

The engine consists of two main phases; the Build phase and Optimisation phase. ● The Build phase is a 2 step process.The first part adds any “must schedule” activities and the second part adds any linked classes (planning groups) and Courses marked as “Doubles Essential”. If you set 5 mins for build, it will take 10 mins to complete the build phase.

● The Optimisation phase then places all of the remaining activities (floating classes) and makes changes to improve the timetable solution from the build phase by reducing conflicts and spread issues of the classes. It is important to note that the optimisation phase will be less likely to move larger Planning Groups already placed on the Timetable Grid. This is because the penalty score is multiplied by the number of classes within the Planning Group.

Understanding the Build Strategy:

There are two Build Strategies: Recommended and In Stages

● Recommended adds all Curriculum in the same engine job

● In Stages gives the user the flexibility to add the curriculum individually

The Schools timetable structure and constraints will determine which build strategy is best to use. On the initial run, it is advised that the “recommended” build strategy is used.

Before running any timetable engine, click Consolidate

Critical: Consolidate Changes - Consolidate is required if new classes have been created or the number of periods of an existing class has been modified; if planning groups have been created or modified, or if lists have been added to courses where there were previously no lists.

When to use a Restart vs. Continue

There are two main build types: Restart and Continue.

Restart takes all activities off the timetable and replaces them from scratch (This is recommended for initial runs). A Restart should be used for all initial Timetable runs until all Planning Groups are scheduled onto the grid. An iterative approach can be adopted by selecting “retain pinned schedule, teacher and space assignments”.

Continue uses the existing solution (Pinned activities) and optimizes the unpinned activities around those that are pinned. Activities can be pinned for period, teacher and space to give greater flexibility to the user.

Tips: Running a Continue does not utilize the Build Phase (this can be left at 1 minute).

Suggested Timetable Workflow

1. Ensure that you have completed the Timetable Preparation Checklist

Methods to check structure before a full engine run:

You may find it useful to look at each year group on the timetable in isolation to ensure the structure is as expected. To achieve this:

a. Generate > Restart

b. Build strategy: In Stages

c. Choose ignore for all bar one year level

d. Build Time: 2, Optimisation time: 2

e. Repeat for all year levels and ensure you are happy with the structure of each.

After this, you could then add all year levels to the timetable at the same time quickly as an initial run to check overall structure. To achieve this:

f. Generate > Restart

g. Build Strategy: Recommended

h. Build time 5: Optimisation time: 5.

i. This will quickly add all year levels onto the timetable screen and enable you to have a quick check of the structure.

Tips: On your initial Timetable Generation, leave all weight and priority settings as default

Tips: On your initial Timetable Generation, begin with a smaller run (5 min build/5 min optimisation) - this will give you a good understanding of any critical errors (Student Body conflicts).

3. Clear and Pin all resource Curriculum classes to unscheduled (if applicable)

4. Run a complete Timetable solution

a. Generate > Restart

b. Build Strategy: Recommended

c. Build Time: 40, Optimisation Time: 60

d. Priority Settings: Recommended

e. Retain pinned schedule, teacher assignments - tick, if pinned resource classes in unscheduled

This will give you a good indication of the pinch-points in your timetable and overall solution.

5. Identify any critical issues (see “Analysing High Priority Timetable Issues” below) a. Timetable > Issues > Conflicts

i. Student Body

ii. Teacher

iii. Space

iv. Teacher Time Off

b. Timetable > Issues > Distribution

i. Spread

ii. Split Block

iii. Exceeds Daily Limit

c. Reports > Teacher Allocations

i. Navigate to this screen to review staff allocation

6. Run a Continue to optimise solution

a. Generate > Continue

b. Optimisation Time: 20- 40 minutes

c. Use a different “priority setting” to optimise a solution, this can be run multiple times. Classes and activities can be pinned for teacher, space and period, which will ensure that they are not changed in the engine run.

Tips: Users will have the ability to pin individual activities and run the engine, this will allow Schools to have the flexibility to build in the order of their choice (doubles and options first etc.)

Suggested Timetable workflow - PG and double essential iterative approach If ‘uncompromisable’ exclusive Teacher/Space Planning Group conflicts are present in the solution and/or double essentials are not met.

Use a combination of Restart and Restart > Retain pinned schedule, teacher and space assignments to place all Planning Group and Double Essential activities onto the Timetable Grid in stages. Once this has been completed, a Continue can be used to optimize the results.

1. Unpin all PG’s and double essential activities

2. Unschedule and pin all floating classes

3. Run a complete Timetable solution

a. Generate > Restart

b. Build Strategy: Recommended

c. Build Time: 40, Optimisation Time: 20

d. Priority Settings: Recommended

e. Retain pinned schedule, teacher assignments - must tick

4. Analysing Timetable Results

  1. Check Timetable > Issues >Conflicts

    1. Check Student Group conflicts - ensure this is at 0 before proceeding

    2. Check Teacher, Space and Teacher time-off - ensure this is manageable before proceeding

  2. Check Reports > Teacher Allocations

    1. Ensure that teachers have been allocated to correct classes

5. If required, keep pins in place, run a Continue with a new “priority setting” to further improve solution

6. Make manual improvements to ensure that the Planning Group and Double Essential conflicts are at an acceptable level.

7. Pin all scheduled classes (PG’s and double essential’s)

8. Unpin all other remaining classes

9. Run a Timetable solution

a. Generate > Continue

b. Build Strategy: Recommended

c. Optimisation Time: 30

d. Priority Settings: Recommended

Tips: Repeated engine runs under the same conditions may be required to reach a point where the user is satisfied with block positions. Complete these in duplicate versions.

Please reach out to the Griddle team through eusupport@griddle.education if you have any further questions.

Analysing High Priority Timetable Issues

Issue

Summary

Activities Student Body Conflict

A student group has 2 classes at the same time.

This could be 2 core group classes, A core group with a composite group, a line with a core or composite group

This is the worst conflict and has the highest penalty

Activities Teacher Conflict

A teacher has 2 or more classes in the same period

Activities Space Conflict

A space has 2 or more classes in the same period

Essential Spread

Where a class has spread essential checked and the activities of the class do not meet the spread request of the class a penalty is applied

**Please note this is currently not reporting correctly for Courses with Child classes. Please check these manually

Course Spread Preferences Split Blocks Penalty

Where a class does not have spread essential checked and the activities of the class do not meet the spread request of the class a penalty is applied

Classes with a double that occurs either side of a non teaching period are penalised unless allow split blocks is checked

Limit Daily Activities per Course When a class has 2 activities on the same day separated by a teaching period with another class, the class is considered to violate the daily activity limit for the class and is penalised for each additional instance of the class

**Please note this is currently over reporting all periods for the class will appear in the Conflicts

Teacher Day Off Preferences Penalty

For specified days off, if there are any activities on this day a penalty is applied.

For non specified days off, for every day off missed due to activities a penalty is applied

Teacher Period Off Preferences Penalty

For specified periods off a penalty is applied if there is an activity in that period

Please reach out to the Griddle team througheusupport@griddle.educationif you have any further questions.

Did this answer your question?