0% found this document useful (0 votes)
25 views

Learn FET With A Sample File

FET time tabler sample

Uploaded by

stevedavies0124
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

Learn FET With A Sample File

FET time tabler sample

Uploaded by

stevedavies0124
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Follow this tutorial and you can learn FET in 15 minutes

and complete a timetable in 1 or 2 days

Section A – background information


1. FET is a super powerful timetabling tool but free and open-sourced. (You saved at least 400 euro)
2. Please donate them. https://lalescu.ro/liviu/fet/donations.html
3. You can always get a 100% (hard/forced) constraints fulfilled timetable if there are no constraint
conflicts in setup.
4. You can buy an add-on (TiTiTo) from the FET co-author, Volker Dirr, which is also powerful.
https://lalescu.ro/liviu/fet/forum/index.php?board=36.0
5. Learn by an example would be easy. Here you are.
6. In this tutorial, we will go through some setup of the constraints. Once you read enough
constraints and do one or two practices, you know how to build your own timetable.
I will skip some very basic settings such as school info… etc. in this tutorial.
7. Download, install and open FET. (Get it from https://lalescu.ro/liviu/fet/ )

8. Open the sample project data. (replace “/” with “\” if you’re using Windows)
fet-v.v.v/examples/Hong-Kong/secondary-school-2/
FET-2020-07-30-SAMPLE_HK_6_period.fet
9. Constraints/Situation of the school:
• It simulates a school in Hong Kong which runs 6-day cycle.
• There are 8 to 9 periods each day. Depends on the classes.
• Some senior level subjects belong to X1, X2 and X3 groups, which are elective subjects.
• Same level with same X1/X2/X3 have their lessons at the same time.
• The students in the whole level are split/merged and after that divided to X1/X2/X3-subject
groups.
In some subjects and classes, new groups may be formed.
e.g. 1 class is split to 2 groups.
e.g. 2 classes boys and girls become 1 group boys and 1 group girls.
e.g. 3 classes in a subject are combined and after that divided to 4 groups.
• Some subjects are in specific rooms.
• One class period is locked on a specific time for the whole school.
• Teachers are not allowed to have more than 6 periods in any day.
• No cross-level lesson.
• Some lessons occupy more than one location at the same time.
• The constraints are rather simple comparing with many secondary schools in Hong Kong.
10. You may have different solutions for the same situation based on your school settings.

1|Page
Section B – Basic setup of the school
1. Set the timetable output directory to somewhere you like.

2. Go to “Data” → “Subjects”.

3. Look at “Chemistry” subject, the preferred room is set on the right-hand side. (Space constraints)

2|Page
4. Go to “Data” → “Activity tags”

5. Some basic levels are set, the X1/X2/X3 tags are used for human-referencing.

6. Go to “Data” → “Teachers”

3|Page
7. Subjects are set for the teachers and the constraints for teachers are set to max. 6 period each day.
(1 hour = 1 period in FET)

4|Page
Section C – Real setup of the timetable
Example 1:
1. Go to “Data” → “Activities “

2. Item ID 31: Double click to modify/view “Item ID 31”.

3. In this subject (Physical Education), two classes will be merged and divided to 1 boys’ group and 1
girls’ group. They will go to the same location for the lessons. Therefore, we just need to add both
of them to the lessons.

5|Page
Example 2:
1. Double click to modify/view “Item id 35” or “Item id 41”.
2. 1A Mathematics lessons are divided to two groups. They have the lessons at the same time but
they are taught by different teachers. Therefore, we need to prepare sub-groups for them.
(I suggested that time constraints should be set immediately after we created these two classes to
prevent forgetfulness while the authors of FET suggest that you make them later to reduce
redundant constraints. These are different approaches. I think the main point is you need to
organize and structure your work)

3. We can set it in “Data” → “Time constraints” → “Activities”


→ “A set of activities has same starting time (day+hour)”

6|Page
Example 3:
1. Item ID 342 and 343:
In this lesson, the teacher needs to occupy more than one location. You set the virtual lessons with
no teacher but has same lesson time.
(The updated version, FET 5.40.0 released on 3 October, 2019 or above, provides the function called
“Virtual rooms”. The “Virtual Room” function can handle these kinds of lessons”)

Example 4:
1. Item ID 553 to 567:
2. In S.4, 4 classes mathematics are combined and after that divided to 5 groups. We created
subgroups for each class and ad the appropriate subgroups in to the settings. Set them to the same
starting time.

7|Page
Example 5:
1. Item ID 592, 595 etc.:
2. They are the elective subjects in subject group X1. 4 classes are combined and after that divided
into 4 groups.
Add the tags X1 for identification.

3. Set their lesson time to be the same.


(“Data” → “Time constraints” → “Activities”
→ “A set of activities has same starting time (day+ hour)”)

8|Page
Section D – Organize, structure and distribute your work
Making timetables with bad tools is a nightmare. Many teachers who are responsible for this in
each summer know this. Meanwhile, if your tool can just output a 97%-completed timetable is just
rubbish. (Many teachers in Hong Kong are using this kind of 30-year old tool.)
In such case, you can either limit your constraints or use a better tool (FET).

Technically, if you have a good tool with a good system, you can let anyone of your colleagues to
complete this kind of work. Here are some ideas about structuring the system.
Some of you have a tradition idea that this task can only be completed by one to two
“hi-tech”/trained people but it’s not.

Making timetable(s) involves few phrases:


Phrase Content Responsible Remarks
No. person
1 Collect requirements/constraints from colleagues. Managers4. So, as you can see,
2 Translate the requirements/constraints to Anyone (*) if the constraints
corresponding settings in the application (in paper). options provided
2a Distribution of lessons of each subject in each level for colleagues’
2b Teachers for each subject and class selections are
2c Locations of each subject and class already translated,
2d Teachers’ constraints you don’t need to
2e Time constraints put too much
2f Locations constraints efforts in mix and
2g Some others match.
3 Prepare documents for input FET. Trained If the document is
person highly guided for
4 Input data into the FET, which includes: the phrase 4, the
4a Input school basic settings Anyone (*) choices for the
4b Input teachers, classes and groups Anyone (*) responsible people
4c Input lessons data (activities) Anyone (*) would be highly
4d Input constraints (time/teachers/location etc.) Trained flexible.
person (*)
5 Output timetable(s) Anyone (*)
6 Verification and confirmation Principal
(*) If your document is clear enough and highly correlated to the FET constraints, colleagues can
select the appropriate options when they are filling in the lessons-constraints forms. In case the
constraints are provided by the managers directly, you can suggest/provide them a designed form
to reduce their and your workload. Once the forms are standardized, you just need to translate
those special needs to FET constraints. Therefore, some highly specialist-dependent processes can
be distributed to those non-trained colleagues or even clerks.

Check this out, using CSV: https://www.youtube.com/watch?v=gBpkXoHjVk0

9|Page
Section E – Possible schedule
Definitely you may need one or two more hours to familiar this software just like any other
timetabling software, but the algorithm of FET makes it possible to output 100%-completed
timetables.
(Well if your constraints have conflicts, no software can make it for you.)
Now, let’s talk about how you can complete the task in 1 or 2 days.
Day 1:
Once you receive the documents and requirements from school management team,
you or/and your team member may need to do the following tasks:
Task Content Time required
1 Translate the requirements to fit the FET. 1~4 hours, depends on the
document design. (Section D)
2 Input the data into a spreadsheet file 1~2 hours, depends on the
(LibreOffice Calc/ Microsoft Excel/ Google Sheet). document design. (Section D)
3 Summarize the constraints and check to see if 1 hour
there are any conflicts and redundancy
4 Convert the spreadsheet files to few csv files for 1 hour, the design of the
importing to FET. spreadsheet file should be
similar/fit the csv files.
5 Import the csv files into FET. 15 minutes
(*) You may also enter the data by GUI especially in the first few times of use. Trial run your csv
before you use it in yearly task.

Day 2:
Task Content Time required
6 Input and check all constraints (debug) by 2 ~ 4 hours, depends on the
generating timetable periodically complexity.
7a Generate multiple timetable(s). (*) 1 hour
7b Soften some conflicts if necessary 30 minutes
7c Generate multiple timetable(s) again. (*) 1 hour
8 Send to school representative for verification and 30 minutes
confirmation (Choose one, or modify constraints).
9 Polish the chosen timetable. 30 minutes
9i You may modify the xml/css if you have such skills.
9ii You may use the “FET-timetable-to-Excel” tool to
convert the timetable to Excel file. Combine some
worksheets in the file, especially those divided
classes.
(*) Tips from the author: you may open multiple FET running the same project file to generate
multiple timetable(s). One more thread/CPU core will be used for each new FET window opened.
As you can see, we need to spend some time on organizing/translating the documents. If you can
simplify this process, you can save everyone’s time and complete the task in only 1 day.
If your school situation is similar to the sample school, you may only need 15 minutes allowance
for each timetable generation. Increase the time allowance when the complexity increase.
A 99.x% timetable should be abandoned. If you complete the 99.x% timetable manually by softening
the constraints, you would better soften those constraints in FET. Some teachers would like to
challenge this game and spend 1 to 2 weeks every year. It may be funny if you have no other aims
or goals.
10 | P a g e
Section F – Some suggestions
The major problematic constraints and handling methods were introduced above.
The other constraints/time constraints can be handled by the menu provided.
Most of the items are self-explained. Check those out once before you start your work.
Remember to prepare your school documents and confirm the school requirements before
you start marking the timetable. You may try to provide your colleagues some
“constraints template/options” for easier work in the future.
Setup your timetable class by class, level by level. Organize your setup process so that you can
maintain it easily. Do not forget to set the constraints.
It may be a good practice to add and set those paired lessons/subjects/classes at once to prevent
any missing items.
(You may see there are some tags and groups not being used in the sample file.
It’s normal when you found some of them can be replaced. Check Item ID: 604, 607, 791 and 799)

I often use the “Generate multiple timetables” function, limited the time to 10 to 15 minutes, to
generate 10 reports. Therefore, I can get the “best” timetable(s) with least soft conflicts.
My Jan-2014 AMD-A10 laptop can generate this sample within 5 minutes with 100% (hard/forced)
constraints fulfilled if I got a lucky seed/random number.
(It seems like that the version 5.45.1 is much faster than the 5.31.6. It takes about 8 minutes on
average to generate a successful result in version 5.30.7 but only 2~5 minutes in version 5.45.1.)

Marcus Tsang
[email protected]
2020-08-01

11 | P a g e

You might also like