FET AAP (Automatic Activity Planning):
This custom version of FET was devised beginning on 11 May 2019 by Christoph Voelker and Liviu Lalescu. There is a GNU Octave script,
developed by Christoph Voelker to convert from a custom Excel file to a .fet XML file, and there are some customizations in the FET code, listed below.
This custom FET version has activities without students and teachers, and allocates them to FET days = real teachers and to
FET hours = real students sets theory/practice (the number of FET hours is double the number of real students sets).
1) The maximum number of FET days per week is 200 (from 35). 100 should suffice - max 100 real teachers.
2) The maximum number of FET hours per day is 70 (from 60). 66 should suffice - max 33 real subjects, 2*33=66. 2 because we have "theory" and "practice".
From 2019-05-17:
3) The real duration of an activity is stored artificially in the number of students for that activity, so that we don't introduce a new variable.
4) Added the constraint "activities occupy max _real_ time slots from selection", so that you can select a whole FET day = a real teacher and
specify the maximum number of real working hours for that real teacher.
5) It is supposed that the number of students for each active activity is specified and >=1, that the duration of each activity is 1 FET hour,
and that each FET time slot will contain at most one activity. Otherwise we will have weird, slow, and bad behavior, or even an assertion failed.
From 2019-05-23:
6) Saving data in the form: Rows: real students sets, columns: real subjects, cells: real teachers (theory, practice), real duration.
See the HTML file students_subjects_table.html.
NOTE: You need to follow the format from the example: Each activity has one of the two tags: "theory" or "practice", and the FET hours
end with " t" or " p".
From 2019-05-28:
7) The custom FET AAP (phase 1) will generate the CSV files to be imported from the official FET (phase 2) and solved to obtain the final timetable.
FET AAP will generate two additional files in fet-results: students_subjects_table.html_students.csv and students_subjects_table.html_activities.csv.
These are to be imported by the official FET and solved.
Further customizations of FET AAP: It will add an additional Sport activity for each students set. Also, each FET AAP duration is divided by 2.
Note: You need to solve the phase 2 file with official FET. Otherwise you'll get weird behavior/assertion failed.
From 2019-06-04:
8) There will be written an HTML file reporting the teachers' target number of working hours, actual working hours, and the difference.
See the HTML file teachers_working_hours_table.html.
From 2019-06-06:
9) A new constraint: activities occupy _min_ _real_ time slots from selection. Assumes that in each time slot there is maximum an activity.