FET FAQ:
--------
Q: What is the organization of FET input data?
A: - Students - organized into sets (years, containing groups, containing subgroups).
- Teachers.
- Subjects (the names of the possible courses, eg. Maths, Physics, etc.).
- Rooms (classrooms).
- Activities: a coupling of one or more teachers, a subject and one or more students set. This is usually named a course, a lecture, a laboratory and so on.
- Constraints. They can be: time constraints (referring to the allocated day and hour) or space constraints (referring to rooms allocation). They have a weight percentage, from 0% to 100%. 100% means that the constraint will always be respected and if this constraint is impossible, FET will not be able to generate a timetable.
-------------------------------------------------------------------------------
Q: How does FET work?
A: A nice algorithm, based on swapping activities recursively to make space for new activities. Email the author or mailing list for details.
-------------------------------------------------------------------------------
Q: What is the structure of the students FET can handle?
A: FET was designed to allow any school structure:
- independent subgroups (non-overlapping);
- overlapping groups (several subgroups) and years (several groups).
-------------------------------------------------------------------------------
Q: How can one work with overlapping structures of students?
A: If you have overlapping groups, then you must define the smallest independent subgroup, which does not overlap with any other subgroup. Example: you have 1 group, subject sport (which must be taught to boys and girls separately) and subject physics, which is an optional subject and only some students would like to have this course (yes, FET can manage optional subjects). Then, you must define the subgroups: boys who want physics, boys who do not want physics, girls who want physics, girls who do not want physics. Now, it is very easy. Just define
group girls=subgroup girls who want physics + girls who do not want physics,
group boys=subgroup boys who want physics + boys who do not physics
group physics=boys who want physics + girls who want physics.
Then, you can add as many activities as you want to the corresponding groups:
Activity1: teacher A, group girls, subject sport;
Activity2: teacher B, group boys, subject sport;
Activity3: teacher C, group physics, subject optional physics.
-------------------------------------------------------------------------------
Q: Can you add more students sets or teachers to a single activity?
A: Yes, you can add several students sets (subgroups, groups or years) and several teachers per activity.
-------------------------------------------------------------------------------
Q: How can I contribute to/support FET?
A: You can translate, improve interface, any work. Please email the author or mailing list for details.
FET is free software and any donation would be great. Please contact the author for that.
-------------------------------------------------------------------------------
Q: What advantages has FET over other applications?
A: - It is free software and...
- Independent subgroups, overlapping or independent groups, overlapping or independent years (flexible enough to permit any kind of students structure). FET can even be used to manage every individual student, if you really need that;
- Possibility of optional activities;
- Many kinds of constraints, possibility to add many more (please suggest!).
-------------------------------------------------------------------------------
Q: What are the disadvantages of FET, compared to other applications?
A: - Very unfriendly (no help, primitive graphical user interface);
- Potentially buggy. I do not have enough sample files for testing FET (and I hate testing :-)
-------------------------------------------------------------------------------
Q: Does FET compile on other operating systems than GNU/Linux?
A: FET can be compiled easily in operating systems which are similar to GNU/Linux. I will provide help to compile this program on any operating system. In particular, FET can be compiled on Microsoft Windows, if you install Qt from trolltech.com.
-------------------------------------------------------------------------------
Q: Does FET claim to be the best timetabling software in the world, like all the other timetabling applications?
A: I cannot pretend that, because I could not compare FET with other applications (if you could help me, that would be great). All I can say right now is that I did not see any application with as many kinds of constraints and such flexibility as FET, and besides being free software.
Is FET the first free timetabling software (GNU/GPL)? Hmmm... the first one was Tablix, as I found out after finishing FET. You can see links to this software if you look in the LINKS file or if you search it on the Internet.
-------------------------------------------------------------------------------
Q: Help on ConstraintMinNDaysBetweenActivities.
A: It refers to a set of activities and involves a constant, N. For every pair of activities in the set, it does not allow the distance(in days) between them to be less than N. If you specify N=1, then this constraint means that no two activities can be scheduled in the same day. N=2 means that each two subactivities must be separated by at least one day
Example: 3 activities and N=2. Then, one can place them on Monday, Wednesday and Friday (5 days week).
Example2: 2 activities, N=3. Then, one can place them on Monday and Thursday, on Monday and Friday, then on Tuesday and Friday (5 days week).
-------------------------------------------------------------------------------
Q: Help on ConstraintStudentsEarly.
A: It is a constraint that imposes the condition that all the students must begin their courses as early as possible. You have to be careful with this constraint: if any set of students begins the classes later than the first hour in a certain day, you will get a conflict.
------------------------------------------------------------------------------
Q: Can I use FET to do interactive timetabling?
A: Yes, but this is not easy. All the part regarding data representation and gradually construction of the solution is working, only the interface has to be updated.
Anyway, when you add a compulsory ConstraintActivityPreferredTime, it means that you fixed that activity. You can use this feature for a semi-automatic or even manual timetabling, but it is not so convenient.
-------------------------------------------------------------------------------
Q: After finding the timetable of our school, suppose that a single teacher needs to modify his timetable and the rest would like to keep their timetable unchanged. Thus, it is needed to fix all the activities of the rest of the teachers and re-allocate the hours. Can FET deal with such a situation?
A: Yes, FET can deal with that. Just add many compulsory ConstraintActivityPreferredTime-s, one for each activity that you would like to be fixed (the preferred time will be the one from the previous allocation).
this documentation by Liviu Lalescu, reviewed and modified - 26 July 2007