suggestions for multiple weeks timetable (not the 120 days custom version)

Started by GEA_user, June 21, 2018, 01:24:16 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

GEA_user

Hi,
I'm a french new user (with poor english, sorry) of FET.
I propose a return of experience and some suggestions.

My context :
an institute of a french university;
2 years of students with 6 groups and 2 subgroups each (24 subgroups in total);
6 hours per day and 5 days per week;
2 kinds of teachers : 20 "normal" teachers of the university and 40 "external" teachers  with few hours (between 1 and 6 hours per day);
16 differents weeks of  activities, the 60 subjects in total are not active in same time.
For example the subject S1 for the group 1.A with the teacher T1 will be week 1 to week 5, the subject S2 for the group 1A with the teacher T2 will be week 3 to 11,  and so on...
The difficulty appears with the teachers who need the same position an a week for the same activity and this for all the weeks of the activity.


My way to realise timetables :
My first idea was to use the 120 days per week custom version but I had two problems :
- I read the help and understood the idea of subactivity but I didn't find a simply way to import my repartition of activity/subactivity for each one.
- The not available time for teachers is very fastidious to translate in this version. Because a real available time, for example day1 hour4 must be duplicate by 16 : day1 of week1 hour4, day1 of week2 hour4, ... day1 of week16 hour4.

My second idea appears more efficient :
I used the normal version of FET an generate a « special week »  with a great part of all the activities for all the weeks.
It permits to place all the activities for all the teachers who need a « locked » timetable for each week.
This « special week » is clearly not optimal (and could be impossible to generate if there were too much activities) but in my situation it's possible, according to not optimized solution for teachers and students.
All activities had tags for each week they appears.

After generating that « special week », I save the file and the timetable and create each real week :
I open the « special week » file, save as week number xxx file, began by inactivating all activities and then activating the activities of the week number xxx  and finally optimmizing step by step the constraints of this week number xxx.
And this for all the 16 weeks.


My suggestions/wishs :

The most difficults :
- can have a real multi-week version of FET. For my context the 120 days per week had, at less, the 2 problems I explain in « my first idea ».
Probably less difficult :
- I'm very interested by an import functionality with subactivities and more overall an import functionnality with more options.
- In my use of FET I have a lot of active/inactive activities to change, I would be more easy if the possibility of check box for « active » exist in the activities dialog windows.
And finally probably the most interessing :
the possibility of using tags in the constraints, for example to activate/inactivate lock, permanents lock, available time for teachers /students, and so on...

I hope my text is comprehensive.
Thancks you for reading.

Liviu Lalescu

Hello,

Welcome to the forum!

I have read your post. I think we should adopt the use of 'the max-150-days-per-week' variant. Your tricks to use the official version are not exploiting the full capacity of FET.

About your suggestions (in exactly your reversed order :) ):

- By 'tags to constraints' do you mean making them active/inactive? In the all time/space constraints there are buttons for this feature.

- The check box for activate/deactivate an (sub)activity exists in the modify (sub)activity dialog. I could however make a custom version for you, to have two buttons activate and deactivate in the (sub)activities dialogs. I would not like to add this in the official version, because there would be two places to activate/deactivate activities in the program.

- There is available an import of (sub)activities from CSV files. An import of the constraints is not available, but we could derive something for a few constraints.

- The most important: I really recommend you to use the 'max-150-days-per-week' version. We can derive a better way to import your activities. The min+max days between components constraints and the same starting hour constraints are made exactly to allow the same position on a week for the same activity for all the weeks of this activity. There is available import of activities from CSV files, and also you can see the .fet XML structure of the input file. It is not complicated. We could make a program to write such a file. Also, for the not available constraints for teachers: we could either make an import, or modify a bit the interface, so that you only add a constraint for the first week and FET will consider it for all the 16 weeks.

GEA_user

Hi,
thancks you for your welcome, .. and for your software !
with "tags to constraints" I want to activate or inactivate a package of constraints, the currently buttons in all constraints need a treatment constraint after constraint with a lots of clicks in global.
My need with check box had the same philosophy : activate or inactivate a package of activities, some activities with subactivities and some without (2 hours per week for subsject S1 between week 1 to week 5 and 1 hour per week for subject S2 between week 2 to 10 for example)
I currently use the check box in the sub-activitie dialog window but it's longer that using the activitie dialog window with filter an "one-click"
I'm interrested by an import of fines subactivities from CSV files but I don't find explanantions for that. I know how to import a 4 hours activity splited in 2+1+1 hours subactivities but I don't know how to import this 4 hours/week activity splited in 2+1+1 and splited betwen weeks 1 to 5. Using the export possibility witch seem overwrite the subactivities repartition so I thought it was impossible.
The most important :
the 'max-150-days-per-week' version seems better and I saw the min+max days between components constraints and the same starting hour constraints are made exactly to allow the same position on a week but how to set these constraints automatically for all "my" activities (currently I have 265 activities with, for each, a split by week or not and a repartition in my 16 weeks). I didn't look in the .fet xml file.
I have an other reason not using this custom version , the gestion of "specials cases" like teacher T1 is not available on day 1 in week 3 or all students are not available on day 3 of the week 4 (witch impose sometime to shift the repartition week 1 to week 5 in week1 to week 6 except 4 for example).

Yours propositions for :
a better way to import your activities
We could make a program to write such a file
we could either make an import, or modify a bit the interface, so that you only add a constraint for the first week and FET will consider it for all the 16 weeks
Are very enticing for me.
Thancks you for your propositions and your reactivity !!


Liviu Lalescu

Quote from: GEA_user on June 21, 2018, 10:32:34 PM
Hi,
thancks you for your welcome, .. and for your software !
with "tags to constraints" I want to activate or inactivate a package of constraints, the currently buttons in all constraints need a treatment constraint after constraint with a lots of clicks in global.
My need with check box had the same philosophy : activate or inactivate a package of activities, some activities with subactivities and some without (2 hours per week for subsject S1 between week 1 to week 5 and 1 hour per week for subject S2 between week 2 to 10 for example)
I currently use the check box in the sub-activitie dialog window but it's longer that using the activitie dialog window with filter an "one-click"
I'm interrested by an import of fines subactivities from CSV files but I don't find explanantions for that. I know how to import a 4 hours activity splited in 2+1+1 hours subactivities but I don't know how to import this 4 hours/week activity splited in 2+1+1 and splited betwen weeks 1 to 5. Using the export possibility witch seem overwrite the subactivities repartition so I thought it was impossible.
The most important :
the 'max-150-days-per-week' version seems better and I saw the min+max days between components constraints and the same starting hour constraints are made exactly to allow the same position on a week but how to set these constraints automatically for all "my" activities (currently I have 265 activities with, for each, a split by week or not and a repartition in my 16 weeks). I didn't look in the .fet xml file.
I have an other reason not using this custom version , the gestion of "specials cases" like teacher T1 is not available on day 1 in week 3 or all students are not available on day 3 of the week 4 (witch impose sometime to shift the repartition week 1 to week 5 in week1 to week 6 except 4 for example).

Yours propositions for :
a better way to import your activities
We could make a program to write such a file
we could either make an import, or modify a bit the interface, so that you only add a constraint for the first week and FET will consider it for all the 16 weeks
Are very enticing for me.
Thancks you for your propositions and your reactivity !!

Please forgive me for answering so late, I am preparing a new FET release and doing some changes. Also in the future please forgive me if I will answer slowly.

Indeed, for constraints is difficult. Unfortunately, it would be indeed difficult to add a list of tags (strings). If you really are interested into this, let me know. But I hope we won't need this.

For activities, you can add activity tags to them and in the tags dialog activate/deactivate all the activities for this tag.

Hmm, indeed, importing activities from CSV in the custom 150-days version is not good. I can try to derive you an import for these activities. Send me your file. 2+1+1 in the first week, in the second week, ..., in the 5th week? So 20 hours in total?

How to set the constraints - indeed, we need to derive an automatic way from your input file. Send me your input file, so I can have a look. I will try.

Gestion of "special cases": indeed, this might be very tricky, but I am willing to give it a try. I am not sure it is possible, but I will look in my code.

GEA_user

Hello,
Quote
Please forgive me for answering so late, I am preparing a new FET release and doing some changes. Also in the future please forgive me if I will answer slowly.
24 hours to have a response is widely acceptable, I don't forget it's me who need help not the reverse.  ;). And the fact that FET is a free software !
QuoteIndeed, for constraints is difficult. Unfortunately, it would be indeed difficult to add a list of tags (strings). If you really are interested into this, let me know. But I hope we won't need this.
I understand it's very difficult to add tags on constraints, I will work without.
QuoteFor activities, you can add activity tags to them and in the tags dialog activate/deactivate all the activities for this tag.
I know how to use tags for activate/deactivate activities with the same subactivities but since I didn't find an automatic way to import repartition weeks with different repartition subactivities I used tags to says "different week" and for this different week I deactivate step after step the subactivities whitch don't appear in this different week.
for example the teacher X have subject S1 with the group A for all the 16 weeks with 2+1+1 subactivities except week 12 with 2+1 and 13 with 2 and 14 with 1 and without in week 15 (total 54)
The teacher Y have the same subject S1 with the group B  for all the 16 weeks with 2+1+1 subactivities except week 14 without and except week 15 and 16 with 1 (same total 54)
And I have this kind of different repartition for all my activities (265 in total).

I will send you by email my files (not confidentials but not publics) with the repartition table, a sophisticated spreadsheet file, an FET files ( my "special week" and few weeks with specificies).

Thancks you for the time spent in my situation!