Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Vangelis Karafillidis

You can choose the students set from the constraint's ( "a set of activities has a set of preferred starting times") UI. Does it solve your problem?
If I understand your problem correctly...
Can't you use the constraint "not available times" (for students)? For example, you can make the last hours of Friday "not available" for specific students sets (or all of them).


The problem seems to be the teacher Romeo. His activities have duration = 2. Is it possible to change it? Otherwise, I think he should have max hours 6 at least for one day... (edited) since he has 22 hours per week.

The problem seems to be the constraint "max hours daily" for teachers. If you set max hours = 6 (instead of 5), the timetable solves really fast. If you use two constraints, i.e. one constraint with max hours = 5 and weight 99.99% and another constraint with max hours = 6 and weight 100%, the timetable is solvable again. It just needs a little more time.


Get Help / Re: Seminars vs Lectures
June 07, 2024, 09:36:40 AM
Quote from: Liviu Lalescu on June 06, 2024, 07:49:42 PM1. Two activities are ordered, two sets of activities are ordered, or two activities are ordered if they are on the same day. I hope this is what you need.

If the seminars need to take place let's say on Monday and Tuesday and the lectures on Wednesday, Thursday and Friday, you can use the constraint "a set of activities has a set of preferred time slots". Actually you need two constraints of this type. One for the seminars and another one for the lectures.


WARNING! If you have prepared your .fet file (especially after having added the constraints), this approach is not recommended.
You can export the activities into a .csv file. Then you can edit this file (for example with any spreadsheet application) and change the duration of the activities with a few clicks. Then you can delete the initial activities of your .fet file and import for the new .csv file the new ones.
I am afraid that most of the time, this approach is not very useful, since the user should add the constraints again...

A correction:
It seems that just the 2nd constraint (max hours daily = 3) is enough. For a six days week, if a teacher has max hours daily = 3, FET is going to place exactly 3 hours for each one of the six days for this teacher. So, the 1st constraint (min days) is not needed.


It seems that you need to combine two constraints for this teacher:

Min days per week (=6) + Max hours daily (=3).


April 04, 2024, 02:38:41 PM
Quote from: Cyrus Ireri on February 15, 2024, 05:29:34 AMIs it possible to have teachers names and code be added on fet whereby the name will appear on the Teacher's timetables while codes will be on Student's timetables?It can be of help more so while dealing with a large number of teachers and you wish to issue printed timetables
If I understand correctly your problem:
It seems that you need a way to replace the teachers names in the students' timetables. You can use sed for this task. With sed you can replace the teachers names with their respective "codes", using the html files from the fet-results folder. Sed can work in batch mode for making these replacements.
After modifying the html file(s) with sed, you can edit the html file with LibreOffice Writer (for example, you could use other similar applications as well), and print the timetables.

General Stuff / Re: Is FET suitable for music schools?
February 24, 2024, 08:30:31 PM
Quote from: Anna ari on February 24, 2024, 06:51:30 PMThanks for the consideration! In our school we firstly schedule the musical instruments' timetable,and general lessons follow. There are many parameters, of which the most difficult is that each class is ordered alphabetically and not by musical instrument, e.g. in A1 there may be four violins, no clarinet and three percussions. The only solution that I have figured so far is to "break" classes with multiple ways, such as second language, musical theory etc, but manually

For the same year, the students groups should be split in such a way that for every elective musical instrument the students are distributed evenly into their respective groups. So, the first criterion should be the elective musical instrument, and the second criterion the alphabetical order of the students.
For example: If the 1st year of the Gymnasium has 15 students whose the elective instrument is guitar and the year should be split into students groups, each group should have 5 of these students. The first 5 students (according to their alphabetical order) should be "placed" in the A1 group, the second ones in A2, and the 3rd ones in A3.
The law is very clear. It provides the school with two alternatives. The 1st alternative is to follow the alphabetical order criterion. Most of the time, the realization of this 1st alternative makes the musical instruments timetable really difficult, or even impossible. The 2nd alternative (according to the law) is to split the students accordingly to their elective instrument (in the above described way). Of course, in order to make the timetable possible, the 2nd alternative is much more flexible.

General Stuff / Re: Is FET suitable for music schools?
February 24, 2024, 06:36:08 PM
Quote from: Anna ari on February 24, 2024, 02:10:58 PMIt's more complicated I think, since sometimes there is one student per teacher and sometimes two or more students of the same class. I appreciate your advice

Officially, only one student per teacher (and per hour) can be assigned. The second, third, etc student (generally speaking: students in smaller or larger groups) is a "convention" of the school, in order to find a solution for the real problem (the lack of sufficient number of teachers). However, FET can handle the problem with more students per teacher and per hour. You just need to add all the students that form each group.
Since you are the musical instrument lessons timetabler: You can add a "Year" (not a real one!) with the name "Instruments" and then add in this "Year" each one of the students as a group (not as a subgroup).
For example:
(G: stands for Gymnasium, L: stands for Lyceum).
Then you can add the activities. This is the crucial point! You should add for each one of the activities a tag which corresponds to the respective students group of each one of the students. Then, you can constrain the activities of the students of GA1 (for example) by adding the constraint: a set of activities occupies max time slots from selection, and set "max time slots = 4" for each students group of the Gymnasium, "max time slots = 2" for the 1st class of the Lyceum, and "max time slots = 1" for the 2nd and 3rd class of the Lyceum. Be careful! In the tab "Time slots" you should select the respective hours (time slots) that each one of the students groups is available for the musical instrument lessons. Then you can add the other constraints, and generate your timetable.


General Stuff / Re: Is FET suitable for music schools?
February 24, 2024, 06:16:58 PM
Quote from: Anna ari on February 24, 2024, 01:16:15 PMThanks for the reply, yes I am referring to a greek music school and I am experienced only to music timetable. That's why I was wondering if there is a software suitable for this case.

Most of the time in Music Schools, the timetabler of the musical instrument lessons waits until the "General" lessons timetable is prepared by the respective timetabler. Then, the musical instrument lessons timetabler starts from the days/hours that each students group is available for the musical instrument lessons and "unfolds" the respective timetable. Unfortunately, this approach is wrong, since the timetable of a Music School is a single one timetable.
FET can handle the entire timetabling problem of a Music School. And this is the correct approach regarding timetable solving. Under this perspective there is no need for two timetablers (or two groups of timetablers). But there is definitely a need for a group of teachers that prepare not the timetable itself, but the data that need to be imported to FET, in order to generate the entire timetable of the school.


General Stuff / Re: Is FET suitable for music schools?
February 24, 2024, 12:51:51 PM
Generally speaking, FET can handle any timetabling problem that can be expressed in terms of FET. It seems that you refer to Greek Music Schools. Since I work at a Greek Music School as well, I could say that FET can handle the timetabling problem of Greek Music Schools. But in most cases (regarding the musical instrument lessons) the timetable might become impossible, because of reasons that are irrelevant to the application (or the way) the timetabler of the school uses in order to prepare the timetable. For example, it is really crucial to distribute the students evenly to their respective groups accordingly to the criterion of their elective musical instrument lesson. Also, the distribution of the students to the teachers sometimes makes the timetable impossible.
About Liviu's approach (suggestion) to add each student as a subgroup: of course this would be my first approach to the timetabling problem of a Greek Music School. But, I think that this is not the safest way to handle your problem.

Hm... I think that there are some useful situations:
1) For new users, it's going to be safer, since they are not going to erase their timetables accidentally. For example, a new user might forget that he/she needs to change the filename before generating again, in order to keep his/her already generated timetables.
2) When modifying timetables, the user might experiment for better results. But this might lead him/her to erase the successfully generated timetables, and at the same time get an impossible timetable. The history option you suggested is going to solve this problem.
Regarding the problem of the History becoming too full, I think that the best idea is to keep in the history backups of the generated timetables (.fet files), without the other files (.html, etc). When the user "loads" a previously generated .fet file from the History, FET is going to generate the timetable again and export the other files (html, etc) in a single second!


Hello Liviu.

What do you mean? I.e. what's the difference between this option and simply keeping backups of the generated timetables?