E10 - Weights

Modified on Thu, 14 Aug at 12:54 AM

TABLE OF CONTENTS


Weights

Navigate to: Grid > Master grid (F11) > Action bar tab Weights


E10's optimisation algorithms attempt to minimise the total Score displayed at top of Master Grid screen. This total score is a weighted sum of individual components. 


Set the weight values for various aspects of solution quality.  Weights are relative to each other. Start with defaults and run through optimise once, before making adjustments, one at a time when necessary.   


Tab 1: Main

The defaults give a good indication of the relative scale.


Setting exceptions for teacher and room clash weights

Notes Note: Exceptions for Teacher and Room clash weights will now take effect when either the 'Minimise disruption' option or the 'Best timetable option' is selected. 
The ability to set exceptions for Teacher and Room clash weights has been added. Exceptions can be set for years, faculties and classes. Wild cards can be used to set exceptions for a range of resources. To set exceptions for main clash weights, open the 'Weights' slide in, select the 'Main' tab and click on the 'Exceptions' button beside the Teacher clashes or Room clashes weight.


The syntax used is similar to that used for spread weight exceptions (see the section below on spread weight exceptions). For year and faculty exceptions use "if year=" or "if faculty=". For classes,  just use 'if' followed by the relevant class code


Examples:
ExampleSyntax
Year level150 if year=12
Faculty10 if faculty=TAS
Using wildcard's to reference year and class200 if *SCI*
Multiple exceptions should be comma separated'200 if year=7, 150 if *ENG*'
Space separated components can be used if multiple resources are required. This saves having to enter the 3 separate exceptions.
i.e. '150 if year=7, 150 if year= 8, 150 if year=9'
150 if year=7 8 9


Raw score calculations:

A raw score is associated with many of the Main Weights.  This is included in the overall Score calculation.

Teacher clashes: 1 point for each teacher clash;  3 points for each teacher clash on a pinned or hardcoded lesson; 2 points if one class is part of a block, or 3 if both classes are part of a block.

Room clashes: As above but for rooms.

Class spreads: Penalties for 3-on-a-day, too many last-on-a-day lessons and so on. This is a sum of many of the weights set in Spread Weights tab.

Part-timer spreads: Considers teachers who have requested days off, of the non-specified variety e.g. "2daysoff", but who won't be able to get the required number of days off.  1 point for each lesson which would clash if we were to assign days off optimally at this point, and 0.125 points for each lesson which would clash if we insisted on assigning matching days off in a 2-week cycle (e.g. WedA+WedB).

Teacher spreads: Considers spread of lessons and involves those who e.g. need to teach first period on a day and last period on a day with nothing in-between.

Movement of teachers: May be used where students/teachers need to cross roads to different sites or move diagonally across the school grounds for various lessons. Having consecutive lessons in different areas would mean time is wasted and setting a positive weighting discourages this. The parameters are always displayed.

* A value of zero means the algorithm will not take movement into consideration.

* Set a positive value if movement is an issue and needs to be considered when constructing.

* A negative value will try to make people walk as far as possible.

Not staffed: The penalty for a solution that has unstaffed classes

Fallback teachers: 1 point for each lesson a fallback teacher is required; 3 points for each lesson where an 'if desperate' teacher is required.

Fallback rooms: As above but for rooms. This weight is typically lower than that for teachers.

Line coherence: Do the blocks line up neatly against blocks of other year-levels?

Double compatability: This matters in the early stage of timetabling.  Are blocks aligning in a way which will help us get the doubles where we want them and not where we don't want them, or will the current alignment hinder us?

Campus hikes: The penalty for teachers moving unneccesarily between campuses
Campus hikes per teacher per day: Set the number of times a teacher can travel between campuses on any day. The options are none, one or unlimited.
Notes Note: From time to time we change some of the subtleties of these formulae, so if the formula does not correspond exactly to the specifications given here, we don't consider it a bug. But speak to us if you feel there is a serious distortion in one of the components. 

Tab 2: Spreads

E10 uses the term 'Spread' to refer to the spreading of lessons evenly throughout the cycle and getting requested doubles, etc. Each number in this dialog box is the 'weight' given to various undesirable properties of a class's 'spread'.  A perfect spread has a score of '0' and the higher the score, the worse the spread. The defaults give a good indication of the relative scale.


Most components of Spread weight are self-explanatory but the following provides extra detail:

Interrupted doubles: 2 consecutive lessons for the same class separated by a break.

2 on same day:  If this occurs, then the class will be allocated a number of points, but 1 point is subtracted for each period that lies in-between the two periods. This encourages the two periods to be allocated as far as possible on that day. Recess and lunch are counted as a period for this distance calculation.

After lunch periods: Last period equity is calculated fairly for each class allocated. The class is then penalised by this number times the number of last periods it has in excess of the expected number.

Gap of a day or more: The number of days between lessons is calculated so e.g. if there is a lesson on MonA and then on ThuA, then this is a gap of 2 days.  If there is a period on FriB and then on MonA, then this is regarded as a gap of 1 day, because the weekend only counts as 1 day in a gap. The estimated expected gap is usually '1' because it can't be less than 1 due to weekends. The expected gap is subtracted from the actual gap and if the result > 0, then this is multiplied by the weighting factor.

Concentration: To avoid an afternoon double period followed by the same subject again the very next morning.

Doubles WeekA/B: Assumes that it is preferable that for a class to have 2+ doubles in different weeks. However, a class with a double on Friday and then the following Monday is considered better than a class with a double on Monday and the following Friday, even though the gap between the doubles is less in the first case. For TwoDoubles, the score gets a penalty of this weight if there's a week without a double.  For ThreeDoubles, the penalty is double.

2-week symmetry: (only applies to timetables with a 2-week cycle).  2 week symmetry is encouraged to allow part-timers to get the same day off. It occasionally also helps the timetabling process.  


Show Exceptions for spread weights

To be used if different weights are to be given to different classes, e.g. Maths wants to avoid afternoon doubles; Visual Arts prefers this option.


Hit the 'Exceptions' button, and this will open a new section to the dialog box.  In this section, a special syntax is used so that special rules that apply to certain classes. For example: 


Interrupted double: 10 if *MAT*

This means that any class whose class-code matches the wildcard string '*MAT*' will get a score of 10 for each time they get an interrupted double.  Any other class gets the default figure.


Interrupted double: 10 if *MAT*, 0 if *FT*

This means that MAT (Maths) classes get a score of 10 for interrupted doubles, but FT (Food Tech) classes get a score of 0 because they don't mind interrupted doubles.


Interrupted double: 0 if *FT* *MUS* *ART*

A space-separated list of wildcard strings means that any matching class will get, in this case, a weight of 0. This is easier than repeating "0 if ..." for each subject.





Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article