FET Forum

FET Support (English) => Get Help => Topic started by: Vecnu on November 23, 2024, 10:10:37 PM

Title: Using subgroups and two sets of simoultaneous activities
Post by: Vecnu on November 23, 2024, 10:10:37 PM
Hi, I'm new to FET. I've been only using it for a couple of days and I'm already impressed with how powerful, easy and intuitive it is when compared with other timetabling programs. I'm considering to use it for my high school next year.

I have found a situation that I can't solve by myself. Assume that the students from a group (1A) will attend different classes in two different sets of activities:

(1) They have either MATH or COMPUTER SCIENCE four times a week. These two subjects are taught at the same time in different rooms.

(2) They have either BIOLOGY, CHEMISTRY or PHYSICS three times a week. Again, these three subjects are taught at the same time in different rooms, and so they generate the need for an extra room.


I have tried defining five different subgroups (1A MATH, 1A COM, 1A BIO, 1A CHE, 1A PHY) and using the constraint 'A set of activities has same starting time (day+hour)' to create a constraint for MATH and COM and another different constraint for BIO, CHEM and PHY. I have found that this approach does not solve the problem: MATH and COM are successfully placed on the same time slots but MATH students are not given any BIO, CHEM or PHY slots.

A possible solution that I can see is defining 2x3=6 subgroups, one for each pair of optative subjects: MATH-BIO, MATH-CHE, MATH-PHY, COM-BIO, COM-CHE, COM-PHY, and then create the math activity including the subgroups MATH-BIO, MATH-CHE, MATH-PHY, create the CHE activity including the subgroups MATH-CHE and COM-CHE, and so on, assigning a different room for each of these activities. This solution looks feasible but is cumbersome and may slow the generation of timetables.

Is there a standard and optimal way of solving this problem? Thank you all in advance.
Title: Re: Using subgroups and two sets of simoultaneous activities
Post by: Volker Dirr on November 23, 2024, 10:19:15 PM
Please use the "Divide year by selecting categories" feature.

You have year 1.
In year "1" you have the first division with probably "a", "b",..
The second division with "MATH" and "COMPUTER SCIENCE".
And in the 3rd division BIOLOGY, CHEMISTRY and PHYSICS.

Please read this:
https://www.timetabling.de/manual/FET-manual.en.html#id_12
Title: Re: Using subgroups and two sets of simoultaneous activities
Post by: Liviu Lalescu on November 23, 2024, 10:29:20 PM
Hello, Vecnu,

Thank you for your kind words!

Indeed, as Volker said, the solution is to automatically divide a year. Unfortunately, as you remarked, it brings a small slowdown and complication of the students (2x3=6 subgroups). Also, if the subjects should be at the same time, you might need to add some constraints activities same starting time.

Another possibility is to constrain an activity to more rooms at the same time by using virtual rooms (see the Help in the rooms' dialog). I am not sure if this might be faster.

In practice, in FET, being a bit faster does not really matter.

If you allow my curiosity: what high-school? (maybe you have an internet page?).

Also, what FET version are you using?
Title: Re: Using subgroups and two sets of simoultaneous activities
Post by: Vecnu on November 24, 2024, 09:05:49 AM
Thank you for your fast answer!

I'm using FET 5.48.1 under Linux Mint 21.3. I'm from high school valle-inclan in Spain; currently our website is under development (it's almost the template we're given by the admin).

I see that "Divide year by selecting categories" will automatically create all the subgroups for each of the possible cases, and then the activities should include all the subgroups as I expected.

I have another question. The tables created this way (PDF, HTML and the ones in Timetable > Students in the program) show all the subgroups in each slot, like this:

SUBGROUPS
ACTIVITY NAME
TEACHER

The table contains too much information which may be not necessary. Is it possible to show in the timetables only the groups or only the subgroups up to certain category division? What I mean is:

1A 1B
BIO
TEACHER X

It would be a nice addition if it's not possible yet. Thanks again for your answer!
Title: Re: Using subgroups and two sets of simoultaneous activities
Post by: Liviu Lalescu on November 24, 2024, 09:45:17 AM
You are welcome! Thank you, as well!

Valle-Inclan High-School in Pontevedra? It has a beautiful building, as I see!

Oh... almost 4 years-old FET!!! Please try the latest, FET-6.28.2, released just 4 days ago or, if you want to be on the super-safe side, FET-6.27.0 (you can find it here: https://lalescu.ro/liviu/fet/download/old/ , and here: https://lalescu.ro/liviu/fet/download/gnu-linux-executables/old/ , and here: https://lalescu.ro/liviu/fet/download/qt5/old/ ). You have the sources, or two precompiled variants for GNU/Linux. I hope they work on your GNU/Linux - if not, I am willing to investigate and help. They are obtained in GNU/Linux openSUSE Leap 15.5.

I don't know why these GNU/Linux guys don't update FET. Maybe it (FET) is not used too much.

The new FET versions have zillions of improvements which I love. I hope you will also like it. Note that you can open old files in new FET, but not new files in old FET.

About your question/suggestion: you should use the groups in the activities. If needed, you can create additional groups in a year, adding existing subgroups with just a double-click. Add a new group in the year and then select "Add existing subgroup" in the groups dialog.
Title: Re: Using subgroups and two sets of simoultaneous activities
Post by: Vecnu on November 24, 2024, 02:53:01 PM
I installed FET from the repositories. Didn't expect it to be so outdated! Version 6.28.2 works without problems in my computer.

I am not sure how to follow your suggestion about using groups in the activities. If I include the subgroups 1A MATH-BIO, 1A MATH-CHE and 1A MATH-PHY in a MATH activity for 1A then I have all the students having MATH together, with the same teacher, in the same room, at the same times, but timetables look difficult to read because it's too much information. If I also add a group named 1A o 1A MATH then a conflict arises.
Title: Re: Using subgroups and two sets of simoultaneous activities
Post by: Liviu Lalescu on November 24, 2024, 03:16:58 PM
Indeed, FET is not a primary program and some GNU/Linux distributions ignore it.

Suppose year 1 is divided by 3 categories: (A, B), (MAT, CS), (BIO, CHE, PHY). You have 2x2x3 subgroups, and 2+2+3 groups. Then add another group in year 1, named 1 A MAT, containing the 3 existing subgroups which you mentioned.

If you want, you can send me your fet file, here or by email, so I can show you this method. It should work.

Another method is to consider years 1A and 1B and divide them by 2 categories, but it is too late to change now, and also I prefer the previous method.
Title: Re: Using subgroups and two sets of simoultaneous activities
Post by: Vecnu on November 24, 2024, 05:47:30 PM

I think I have created a new group 1A MATH and added the existing subgroups that also have the MATH subject. It is in the image attached. I've also attached the fet file.

Correct me if I'm wrong, but by defining a new group 1A MATH, I think that FET will see it as a different group to 1A, and then will not show them together in a same timetable.
Title: Re: Using subgroups and two sets of simoultaneous activities
Post by: Liviu Lalescu on November 24, 2024, 06:14:36 PM
There is something wrong. See my screenshot. C is missing and B has C's subgroups.

Your addition of the group "1 A MAT" seems correct. Groups "1 A" and "1 A MAT" contain 3 identical subgroups, so they cannot overlap. Any two groups that have at least a common subgroup cannot overlap. Subgroups must not overlap, they are independent. Groups or years can overlap.

I think this is exactly the structure you want. Adding group "1 A MAT" to an activity/constraint is identical to adding the three subgroups "1 A MAT BIO", "1 A MAT CHE", and "1 A MAT PHY" to an activity/constraint. They can be overlapping with the other 15 subgroups, or with the groups "1 B" and "1 C".
Title: Re: Using subgroups and two sets of simoultaneous activities
Post by: Vecnu on November 24, 2024, 09:18:23 PM
Thanks for your answer, that worked. I think I can go on for now.

This is top tier support, getting answers from the software author through the weekend.
Title: Re: Using subgroups and two sets of simoultaneous activities
Post by: Liviu Lalescu on November 24, 2024, 09:55:45 PM
 :)