FET Free Timetabling Software

FET is open source free software for automatically scheduling the timetable of a school, high-school or university. It uses a fast and efficient timetabling algorithm. It is licensed under GNU GPL.

Usually, FET is able to solve a complicated timetable in maximum 5-20 minutes. For simpler timetables, it may take a shorter time, under 5 minutes (in some cases, a matter of seconds). For extremely difficult timetables, it may take a longer time, a matter of hours.

Features

  • FET is free software, licensed under the GNU GPL v2 or later. You can freely use, copy, modify and redistribute it

  • Localized to en_US (US English, default), ar (Arabic), ca (Catalan), da (Danish), de (German), el (Greek), es (Spanish), fa (Persian), fr (French), gl (Galician), he (Hebrew), hu (Hungarian), id (Indonesian), it (Italian), lt (Lithuanian), mk (Macedonian), ms (Malay), nl (Dutch), pl (Polish), pt_BR (Brazilian Portuguese), ro (Romanian), ru (Russian), si (Sinhala), sk (Slovak), sr (Serbian), tr (Turkish), uk (Ukrainian), uz (Uzbek) and vi (Vietnamese) (incompletely for some languages)

  • Fully automatic generation algorithm, allowing also semi-automatic or manual allocation

  • Platform independent implementation, allowing running on GNU/Linux, Windows, Mac and any system that Qt supports

  • Flexible modular XML format for the input file, allowing editing with an XML editor or by hand (besides FET interface)

  • Import/export from CSV format

  • The resulted timetables are exported into HTML, XML and CSV formats

  • Flexible students structure, organized into sets: years, groups and subgroups. FET allows overlapping years and groups and non-overlapping subgroups. You can even define individual students (as separate sets)

  • Each constraint has a weight percentage, from 0.0% to 100.0% (but some special constraints are allowed to have only 100% weight percentage)

  • Limits for the algorithm (all these limits can be increased on demand, as a custom version, because this would require a bit more memory):

    • Maximum total number of hours (periods) per day: 60

    • Maximum number of working days per week: 35

    • Maximum total number of teachers: 6000

    • Maximum total number of sets of students: 30000

    • Virtually unlimited number of subjects

    • Virtually unlimited number of activity tags

    • Maximum number of activities: 30000

    • Maximum number of rooms: 6000

    • Maximum number of buildings: 6000

    • Possibility of adding multiple teachers and students sets for each activity. (it is possible also to have no teachers or no students sets for an activity)

    • Virtually unlimited number of time constraints

    • Virtually unlimited number of space constraints

  • A large and flexible palette of time constraints:

    • Break periods

    • For teacher(s):

      • Not available periods

      • Max/min days per week

      • Max gaps per day/week

      • Max hours daily/continuously

      • Min hours daily

      • Max hours daily/continuously with an activity tag

      • Respect working in an hourly interval a max number of days per week

    • For students (sets):

      • Not available periods

      • Begins early (specify max allowed beginnings at second hour)

      • Max gaps per day/week

      • Max hours daily/continuously

      • Min hours daily

      • Max hours daily/continuously with an activity tag

      • Respect working in an hourly interval a max number of days per week

    • For an activity or a set of activities/subactivities:

      • A single preferred starting time

      • A set of preferred starting times

      • A set of preferred time slots

      • Min/max days between them

      • End(s) students day

      • Same starting time/day/hour

      • Occupy max time slots from selection (a complex and flexible constraint, useful in many situations)

      • Consecutive, ordered, grouped (for 2 or 3 (sub)activities)

      • Not overlapping

      • Max simultaneous in selected time slots

      • Min gaps between a set of (sub)activities

  • A large and flexible palette of space constraints:

    • Room not available periods

    • For teacher(s):

      • Home room(s)

      • Max building changes per day/week

      • Min gaps between building changes

    • For students (sets):

      • Home room(s)

      • Max building changes per day/week

      • Min gaps between building changes

    • Preferred room(s):

      • For a subject

      • For an activity tag

      • For a subject and an activity tag

      • Individually for a (sub)activity

    • For a set of activities:

      • Occupy a maximum number of different rooms

Leave a comment