# Free Timetabling Software

Most FET files can be viewed with FET - Free Timetabling Software from Volker Dirr (the only known affiliated software application) and associated with the Free Timetabling Software Data format as it's primary file type. FET files are categorized ordinarily as Data Files.

## Free Timetabling Software

FET is a free and open-source program for automatically scheduling school, high-school or university timetables. Created by Liviu Lalescu, it offers an amazing, highly configurable and automated environment to create schedules based on tons of possible variables, to make sure they fit your needs flawlessly.

Contents About Key features Use Cost What is FET - Free Timetabling Software? FET is a free and open-source program for automatically scheduling school, high-school or university timetables. Created by Liviu Lalescu, it...

FET is free software for automatically scheduling the timetable of a school, high-school or university. It uses a fast and efficient timetabling algorithm. It is free software, open source, licensed under GNU AGPL v3. Get the latest news and version from the official FET homepage ( ).

Liviu Lalescu ( ) started his project at the end of year 2002 as he was working on his diploma. He got his examination in computer programming (software specialization) in June 2003. FET had a very large palette of constraints, but sadly the evolutionary algorithm was only able to solve easy timetables. Even great efforts during the following years in research the genetic algorithm was never good enough to solve complex timetables. In summer 2007 the big breakthrough was done. A new heuristic algorithm (based on recursive swapping of activities) was able to solve difficult timetables in a few minutes.

3. variant: Do it like in the second variant. Even if you have got only a few of those activities you don't need to care about that other room now, even if you have got a difficult dataset. There will be normally always another room free, since students are in the gym, science lab, music room, ... . So you can care about that later. If you use TiTiTo you can split those activities into parts, select other free rooms and also change the subject. The tables will look perfectly.

Before adding activities you should have a planning. Many school do that just with a spreadsheet software like Excel or Calc. FET also contains a simple Activity planning. So you already should think about all activities (teachers, students and rooms) before adding them: Think about students: Has every student the correct number of activities, subjects and duration? Think about teachers: Has every teacher the correct number of activities, subject, duration and students? (Is the teacher allowed to teach that subject and/or year?) Think about activities: Is it possible that activities of courses are simultaneously? (Think about teachers and rooms!) Is it possible also with activities that should be simultaneous because of other reasons? Think about rooms: If you will use room constraints than care in your activity planning about as less room changes as possible, because it will be easier to generate a timetable. Also think about unwritten rules like this: - Give a teacher as many activities with the same group as possible, because generating the timetable will be easier and also most teacher will like that (because they can swap activities without any problem themselves, they don't need to learn new names, ...). - Maybe give a teacher as many activities in the same year (because he can compare students better; he don't need to prepare so much different hours and so he can spend more time on prepare his lessons; he can maybe save some meetings; ...). But be careful sometimes this is a bad rule. For example maybe in the last year must be done final examination in a short time. So maybe the teacher has no time to do all that test in such a short time. - Students keep a teacher 2 (or 3 years). Example: A class get in year 5 and 6 the same Maths teacher, but that class get another Maths teacher in year 7 and 8 and so on.

Most teacher like a free day. Check the teacher statistics. Check if a teacher is able to (maybe) get free day. So the number of periods per day of the teacher must be lower or equal then the number of periods per week of the timetable minus the number of periods per day. Also check if a lower number of working days doesn't controvert to a constraint (especially a constraint Min days between a set of activities). Add constraint Max days per week for a teacher with weight 100% if nothing argue against it. Don't add to many constraint at one time. Maybe begin with the teacher that instruct the lowest number of periods per week. Check if the timetable is still solvable. Add the next teacher if it is still solvable. Remove the constraint if the timetable is not solvable and try to add the following teacher.

Maybe you wonder why I am talking about new bugs, because you followed my recommendation and set weight of all constraints to 100% and FET found a solution without any conflict. But by this "only" the whole timetable is fair and conflict free. Some teachers maybe don't view the whole timetable, they maybe just see their personal timetable and that might be not as good as before. Example: The first time you added all constraints with 100% weight. Then you added constraint max gap per week and reduced that value step by step. FET was able to solve the timetable with max 5 gaps per week, but it wasn't able to solve it with 4 gaps per week. So you released timetable with max 5 gaps per week. Some days later you changed the running timetable (You added or changed some constraints). Fortunately FET was still able so solve the timetable with max 5 gaps per week. So the "whole" timetable is fair and you released it. But some teachers might be angry, because they got in the old timetable only 1 or even 0 gaps by accident. In the new timetable they have more (up to 5) gaps. So you see the problem? Some guy might be angry, but adding a constraint with a lower max gaps per week to that teachers is not good, because it's not fair to the other teachers and also the timetable will be much more difficult (or even impossible) to solve. That is why I recommend to "Never change a running timetable" if it is not necessary.

If you must regenerate the timetable you must care about new constraints, not only the missing one! Some teachers get free periods or even whole days free (by accident). This teacher maybe already have some other (private) activities that you don't know! They might have consultation to a doctor, don't have a babysitter for their children, ... . So ask all teachers if they have compulsory free periods now. Add this constraints (as a rule A teacher is not available). Also add the missing constraint. Hopefully FET is still able to find a solution. If not you must think about increasing the number of max gaps or maybe also removing some constraints.

If impeded teachers must be represented by other teachers you might get big trouble if you add to "good" gap constraints, to many "min days per week" or to strict "min hours per day" constraints to teachers. The problem is that there might be not enough teachers to substitute that teachers. Of course the number of free periods to every teacher is still the same, but especially many teachers with free days mean that you need a very loyal college. That constraint increase chance that teachers must represent at their free day other teachers! So you might get trouble by that, mainly if you can inform that teachers only a few minutes or hours before he must represent an activity. The teacher is maybe not at home, because he do other things at his free day. So always check the "Teachers' Free Period" timetable before you release an (unofficial) timetable.

Maybe you wonder why teachers that have a break are missing in this table. Pretty easy. If that period is a break, you will never need to substitute teachers of an activity, because all teachers have free at that time.

Maybe after some time you understand better this timetable and want to hide the descriptions in that timetable, because they just flood the timetable with unneeded information (because you are ale to differ the free periods by the different colours.). You can hide the descriptions by Hide Elements with css.

Your can use the "Less Detailed" table for daily work. Use the "Detailed" table only in emergency (because in the "Less Detailed" table are not enough teachers to substitute all teachers). Advanced Users should think about using a software that helps you planning substitutions. Good software also give you much more information, not only the explained points above. For example team teaching teachers could be used to do the substitution or similar stuff. Maybe have a look at TiTiTo or similar tools.

The teachers' free timetables contain very much information. You can use this table if you need substitution for other teachers. Normally less information is still fine. If you disabled that feature the not available teachers, teachers with free days and teachers that need to stay much longer or need to come much early won't be printed.

As you know timetabling is pretty difficult. If you want to do a timetable you will start of course and place the activity with fixed times. But how to go on next. You need to select the most difficult activity (View initial order of the placing the activities while generating a single new timetable). But where so you want to place it? Monday the 1sh hour? Friday the last hour? Or somewhere else? That decision is done by a random generator. In fact a "real" random generator isn't available on the most computer systems. "Random" generators are in fact not random on computers, in fact there are calculated by an algorithm. It is not easy to code a good random generator. The FET random generator need to number (seeds) as input for the algorithm. If you restart generating a timetable (with exactly the same dataset) with the same seed then the same "random" numbers will be calculated and you will get exactly the same final table. In normal case that is not good, since: