adding rooms to an already generated timetable

Started by chrischi, February 08, 2010, 12:22:52 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

chrischi

Hi,
I (or better FET) has made an exellent timetable for our college and I released it. But I didn't add rooms at all. Now I see that it would be good to have rooms organized by it.
Is there at all a way to import the old timetable (which I have in html format), and then let FET do the rooms? I don't want to do a new timetable because the semester already started just now. Or do I have to make the teachers only available on the actual times which I take from the already generated timetable?
Thanks for your help!
Christoph

Liviu Lalescu

#1
QuoteHi,
I (or better FET) has made an exellent timetable for our college and I released it. But I didn't add rooms at all. Now I see that it would be good to have rooms organized by it.
Is there at all a way to import the old timetable (which I have in html format), and then let FET do the rooms? I don't want to do a new timetable because the semester already started just now. Or do I have to make the teachers only available on the actual times which I take from the already generated timetable?
Thanks for your help!
Christoph

There is no direct import of timetable from HTML or other format.

What FET version are you using?

There are more possibilities:

1) Starting with FET-5.11.0 I think, you have in the timetables directory the random seed at the start of the timetable. If you have the same input file and same random seed, the timetable is identical. Then you can lock it in time and add rooms.

2) You have a file activities.xml in the generated timetables directory. It is possible to make a convertor to a .fet file.

3) You could lock each activity by a constraint activity preferred starting time (it is a bit of work, the time of each activity should be inputted).

4) Yes, you can make each teacher not available at the corresponding intervals. I am not 100% sure that FET will be able to find again a timetable in this situation. Theoretically it must work, but I have no practical confirmation from other users.

Other users may have more ideas, please share.

Volker Dirr

Maybe the simplest way is to look into the directory with the html files. if you didn't delete it, then there is the ???.fet file with the locked activities.

Liviu Lalescu

#3
QuoteMaybe the simplest way is to look into the directory with the html files. if you didn't delete it, then there is the ???.fet file with the locked activities.

Yes, I forgot about that :-)

chrischi

Thanks for the help and the detailed answer!
I noticed that I need to upgrade, and that I had - without knowing it - deleted the html files by trying to make a new timetable, which overwrote the old ones.

But it worked to set the teacher's available times to the released timetable info.

Now I added some rooms and thought after I specified how many students are in each subgroup  it would distribute the rooms to the activities.
But it  didn't.
It is a bit difficult to add homeroom restraints, because the groups are changing so much (being split up for certain activities and united with other students from higher levels for others).
What do I have to do that the rooms are distributed.
I appreciate any idea in regard of that.
Christoph

Volker Dirr

if you don't want to use homerooms, maybe just use an other preferred space constraint.
compare:
http://www.timetabling.de/manual/FET-manual.en.html#id_29

if you also have many subjects, maybe do it with an activity tag.

Liviu Lalescu

Yes, you need to add some space constraints, otherwise FET does not add a room for each activity.

Liviu Lalescu

QuoteThanks for the help and the detailed answer!
I noticed that I need to upgrade, and that I had - without knowing it - deleted the html files by trying to make a new timetable, which overwrote the old ones.

If the new timetable is incomplete, the data_and_timetable.fet file will remain the old one (from the previous complete timetable). Maybe you can try using that.

Quote
But it worked to set the teacher's available times to the released timetable info.

That is a good thing.

chrischi

I tried to put different restraints with homerooms for groups (like senior students, junior students and so on), or activities (computer lab for computer science)...
and I thought it might be enough, but still the rooms timetable is quite blanc. Do I need to specify for each subgroup space restraints or for each activity? But then I would do what I thought the program would do for me: distributing the activities according to the size of the rooms and the availability.

Another problem that came up: I finally managed to install the new version of FET, but when I entered the .fet file it was not possible to find a solution
with exactly the same file the old version finds a solution in 13 seconds.

Thanks for all your help!
Christoph

Liviu Lalescu

#9
QuoteI tried to put different restraints with homerooms for groups (like senior students, junior students and so on), or activities (computer lab for computer science)...
and I thought it might be enough, but still the rooms timetable is quite blanc. Do I need to specify for each subgroup space restraints or for each activity? But then I would do what I thought the program would do for me: distributing the activities according to the size of the rooms and the availability.

You need to add preferred rooms constraints, when home rooms are not enough. You can add for a subject, for an activity tag or for a particular activity.

Quote
Another problem that came up: I finally managed to install the new version of FET, but when I entered the .fet file it was not possible to find a solution
with exactly the same file the old version finds a solution in 13 seconds.


This is a very bad situation. Please send me your file, as soon as possible. Also, tell me the old FET version that your file worked OK.

Liviu Lalescu

OK, I got the file from chrischi, it seems it was a false alarm, since I can generate with 5.12.3 correctly and fast, similar with 5.9.1 (but not identical, since I changed a bit the generation procedure).

Liviu Lalescu

QuoteI tried to put different restraints with homerooms for groups (like senior students, junior students and so on), or activities (computer lab for computer science)...
and I thought it might be enough, but still the rooms timetable is quite blanc. Do I need to specify for each subgroup space restraints or for each activity? But then I would do what I thought the program would do for me: distributing the activities according to the size of the rooms and the availability.

The home room is considered in this way: if an activity has only a students set and if this exact students set has a home room, then the home room is used. If activity has >=2 students sets, you need to add a preferred room(s) constraint for this activity (or for its subject and/or activity tag).

If you have year Y1 (G1 (S1, S2), G2) (G1 and G2 groups, S1 and S2 subgroups), if you make home room for G1 -> R1, if an activity has students Y1 or S1, it is not put in R1. The activity must have the exact set that you put in the constraint (so, you have to add more home room(s) constraints, for Y1 and/or S1).

You may also add an activity tag for each activity and use constraint activity tag preferred room(s).

chrischi

Sorry for the false alarm. After compiling fet I had only moved the fet file and not the whole directory to another location. After trying it in the proper way it works fine!

I will try to follow your advice and distribute activity tags and the corresponding preferred rooms.

Thanks

Liviu Lalescu

#13
QuoteSorry for the false alarm. After compiling fet I had only moved the fet file and not the whole directory to another location. After trying it in the proper way it works fine!

It's OK, I was worried, but now I am happy it is OK.

But I still don't understand. You mean you moved the executable file named "fet" from directory fet-5.12.3 to another location and let the rest of the directory fet-5.12.3 to original location? But it should have also worked in this case, because you just need to run the executable named "fet", which is independent.

Could you please detail why the problem appeared? What do you mean that it was not possible to find a solution? FET just ran on and on? Did it update the elapsed time?

Maybe you needed the correct new translation files in their place? You use FET in other language than English?

chrischi

Is there a way to keep certain rooms empty as much as possible, because they should be only used if all the other rooms are occupied (like the meeting place under the tree :) )?