Some ideas to integrate custom Ver. into official

Started by Chafik Graiguer, March 15, 2010, 05:01:54 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Chafik Graiguer

#15
Well
I am testing the last snapshot with my own file
I added 5 Fake days, one day after every even day
I enabled "allow empty days for students" from Settings ---> Advanced
I work on a locked file
To unlock activities, FET ask me to generate first
When I tried to generate, it says:
QuoteFor subgroup TS01-1 you have too little activities to respect the constraint of type min hours daily (the constraint does not allow empty days). Please modify your data accordingly and try again.

Liviu Lalescu

#16
QuoteWell
I am testing the last snapshot with my own file
I added 5 Fake days, one day after every even day
I enabled "allow empty days for students" from Settings ---> Advanced
I work on a locked file
To unlock activities, FET ask me to generate first
When I tried to generate, it says:
QuoteFor subgroup TS01-1 you have too little activities to respect the constraint of type min hours daily (the constraint does not allow empty days). Please modify your data accordingly and try again.

1) You can remove locking constraints in constraints activity preferred time/room dialogs.

2) You need to enable students min hours daily from the advanced menu and then in the add/modify constraint (min hours daily for students) dialog select the "Allow empty days" check box, otherwise the constraint does not allow empty days.

Please let us know.

Chafik Graiguer

#17
Quote
1) You can remove locking constraints in constraints activity preferred time/room dialogs.

2) You need to enable students min hours daily from the advanced menu and then in the add/modify constraint (min hours daily for students) dialog select the "Allow empty days" check box, otherwise the constraint does not allow empty days.

Please let us know.
Yes !! I got it !!
However, Volker's trick is not as easy as it seems
FET stuck at 19 placed activities of  571
I will send you my file via PM

Liviu Lalescu

#18
I removed all space constraints and still not solvable. So, I removed the constraint teacher interval max days per week, for phil1 (the only constraint of this type). It is solvable. With the space constraints, it seems not solvable, it reaches 405 activities in 1 second and then goes down for 3 minutes (and then I stopped it).

Probably, the constraint teacher interval max days per week may be possible for your file if you also add the fake activities to max allowed days per week. Please let me know if I am right.

Edited to add (1): I mean, the constraint teacher interval max days per week should have d+f max days per week, d is the number of real necessary max allowed days and f is the number of fake activities for this teacher

Edited to add (2): Why don't you put your file here? Is it private? It may help other users.

Chafik Graiguer

Quote
Edited to add (1): I mean, the constraint teacher interval max days per week should have d+f max days per week, d is the number of real necessary max allowed days and f is the number of fake activities for this teacher
I will think about it !!
Right now, it seems that Volker's trick in conjunction with  Fake days  is working very good
Now, I will fine tune my table by entreing more teacher's wishes (like Max working days per week..etc )

Quote
Edited to add (2): Why don't you put your file here? Is it private? It may help other users.
Well
I thought about it there is no sensitive data (teacher's names..etc)
So here is my file  :)

Liviu Lalescu

#20
QuoteWell
I thought about it there is no sensitive data (teacher's names..etc)
So here is my file  :)

If you will obtain a good solution, please let me know and I hope that you will give me a sample file, to put in official FET, into a new Morocco directory, so that people will know that we can solve Morocco files. But ask your school for permission to publish the data and don't use real personal students' names (or change them), because it seems that children are more sensitive in publishing data. You may use real class names.

Also, you may want to write a guide, so I'll put it into doc/ section on FET homepage.

I really hope that the custom Morocco version will become useless :-) And maybe the Algeria also.

PS: Please give also the solvable file (the current one is impossible).

PPS: Please get latest snapshot, from today.

Chafik Graiguer

Quote
PS: Please give also the solvable file (the current one is impossible).
Here is the solvable one:

Liviu Lalescu

Quote
Here is the solvable one:

Thank you!

I have read the custom Morocco readme file. It seems that you need max hours daily to consider real days, and in official FET you cannot do that. The same for teachers max days per week.

I hope that you can overcome these problems.

Chafik Graiguer

#23
Well there some limits to Volker's trick
Please take a look at the following file
it is locked so you can see what I mean
For teacher phil1, I set MAx days per week to 10, means 5 (Real) + 5 (with subject Fake)

The problem is that FET  filled both Wednesday morning and Wednesday afternoon with real activities !!
So Fake activities should be spaced 2 days Min and 3 days Max

Liviu Lalescu

QuoteWell there some limits to Volker's trick
Please take a look at the following file
it is locked so you can see what I mean
For teacher phil1, I set MAx days per week to 10, means 5 (Real) + 5 (with subject Fake)

The problem is that FET  filled both Wednesday morning and Wednesday afternoon with real activities !!
So Fake activities should be spaced 2 days Min and 3 days Max

I think you need to add one more fake subactivity for phil1.

The problem is that you don't have Saturday afternoon allowed, and you added only 5 fakes for phil1. If you add 6 fakes, then you will disallow Saturday for phil1, which may be too strong.

Volker Dirr

#25
Yes, i think you need one of this solutions:

a) many teachers need one fake activity more
or
b) disallow fake activities on saturday, because all guys have saturday afternoon free.

Liviu Lalescu

QuoteYes, i think you need one of this solutions:

a) many teachers need one fake activity more
or
b) disallow fake activities on saturday, because all guys have saturday afternoon free.

Of course, why didn't I think of this? :-)

The solution is: b) - disallow fakes on Saturday, of course. With activities preferred time slots probably.

Chafik Graiguer

#27
Quote
QuoteYes, i think you need one of this solutions:

a) many teachers need one fake activity more
or
b) disallow fake activities on saturday, because all guys have saturday afternoon free.

Of course, why didn't I think of this? :-)

The solution is: b) - disallow fakes on Saturday, of course. With activities preferred time slots probably.
Well
I think Solution (a) is much easier while solution (b) needs more data entries: to disallow fake activities  on Saturday..etc
Imagine also a teacher with 20 hours per week, which equals to 5 working days (FET days, each day 4 hours)
Imagine this teacher wishing to have Tuesday free (both morning and afternoon)
In this case, one of Fake activities should be scheduled on Saturday!!

So here is the working workaround (look at attached file):
-all teachers should have fake activity split into 6 (each with duration 4)
-Allow Saturday afternoon for teachers. All students sets are unavailable, so only fake activities could be put there
Edited to add: -To give a teacher a free day (morning+ afternoon) we can set Max days per week to 11 days
2 free days mean 10 days Max..etc.

So, right now,  Volker's trick is working just fine
only one problem: How to deal with exception teachers?
I will explain, so Volker can think with us:
A teacher with 22 working hours has to work for 6 (real) days
4+4+4+4+4+2
A possible scenario:
Monday morning: 4 Hours
Tuesday afternoon: 4 Hours
Wednesday afternoon: 4 Hours
Thursday morning: 4 Hours
Friday morning: 4 Hours
Saturday morning: 2 Hours

This teacher may wish to work 5 days only like this
Monday morning: 4 Hours
Tuesday afternoon: 4 Hours
Wednesday afternoon: 4 Hours
Thursday morning: 4 Hours
Thursday afternoon: 2 Hours
Friday morning: 4 Hours
Saturday morning: FREE

Is there any trick to achieve this?
I thought about:
- giving him only 5 fake subactivities,
Edited to add: -Set Max days  per week: 11
But how to ensure no more than 6 working hours on Thursday ?  ::) maybe 7 hours if he has 23 Total working hours per week

Chafik Graiguer

#28
Quote
Is there any trick to achieve this?
I thought about:
- giving him only 5 fake subactivities,
Edited to add: -Set Max days  per week: 11
But how to ensure no more than 6 working hours on Thursday ?  ::) maybe 7 hours if he has 23 Total working hours per week
Update:
This is a trick to ensure no more than 6 hours per (Real) day:
Give the exception teacher  6 fake subactivities like this:
1- duration :4
2- duration :4
3- duration :4
4- duration :4
5- duration :4
6- duration :2

The last subactivity will ensure that if the teacher works morning + afternoon in a given day, total working hours in this day will be 8 minus 2 hours
To ensure that this fake activity will not create unwanted gap, we will disallow starting hour on second time slot
So we will never have:
math -- fake --- fake -- French
we will have only:
fake -- fake --- math  -- French
or:
math -- French --- fake -- fake

The same apply for an exception teacher wishing to work 7 hours in a given real day
Fake subactivity with index 6 will have duration=1
To prevent gap creaate with this one hour subactivity, we will disallow starting hour on second and third time slot

Chafik Graiguer

#29
Here is a good timetable
So please could you check with me to see if everything is right
So I can start wrriting a samll guide on how to use official FET to produce timetable for Moroccan schools?
I fulfill some teacher's wishes:
-Teacher phli1 has one free day
-Teacher eng3 and ar2 are exception teachers
-Teacher info1 wishes to work from Monday to Wednesday only
Thoses wishes were fulfilled by playing with pseudo subactiviteis duration and preferd stating time to avoid gaps