Author Topic: Manual or automatic changes in the timetable  (Read 177 times)

0 Members and 1 Guest are viewing this topic.

Liviu Lalescu

  • Forum Administrator
  • Level 5
  • *****
  • Posts: 5233
  • FET author and forum moderator
    • View Profile
    • Homepage
Manual or automatic changes in the timetable
« on: January 06, 2018, 11:33:21 AM »
Hello,

Vangelis Karafillidis said that many people with whom he talked asked if FET has manual timetabling. So, he suggests:

- Writing code for manual timetabling in FET or in another tool

OR

- Writing a manual about automatic changes in FET, which are possible but not so easy.

rodolforg

  • Level 1
  • *
  • Posts: 42
    • View Profile
Re: Manual or automatic changes in the timetable
« Reply #1 on: January 06, 2018, 01:31:38 PM »
Allowing manual changes with drag'n drop is not so difficult.
The problem is the Constraint::fitness() methods contains asserts that break the program - so they're useless to check if a manual change is possible. :/

Liviu Lalescu

  • Forum Administrator
  • Level 5
  • *****
  • Posts: 5233
  • FET author and forum moderator
    • View Profile
    • Homepage
Re: Manual or automatic changes in the timetable
« Reply #2 on: January 06, 2018, 01:40:45 PM »
Allowing manual changes with drag'n drop is not so difficult.
The problem is the Constraint::fitness() methods contains asserts that break the program - so they're useless to check if a manual change is possible. :/

Then, develop a standalone program for this. GNU GPL.

I don't have any experience with drag and drop.

Also, the fitness functions have asserts only if you call them (the functions). Or the asserts could be removed. But I prefer to keep the official FET with asserts, of course.

Vangelis Karafillidis

  • Level 1
  • *
  • Posts: 43
    • View Profile
Re: Manual or automatic changes in the timetable
« Reply #3 on: January 07, 2018, 06:39:28 AM »
About automated vs manual timetabling:

The first issue regarding timetabling (in real life situations) is that SOMETIMES an existing timetable should be modified, in order to "support" a (more or less) temporary situation for a school. This is a very common need for Greek schools, even 3-4 months after the beginning of the school year.
The question here is: is the partial modification of solved timetables a "priority" for many other schools in other countries? I don't know if the above situation is "typical" for other countries. So, the necessity of partial modifications might not be interesting for most people who use FET (it might even be useless for most timetablers).

The second issue: If the partial modifications are needed for most people, we need a way for modifying our timetables either automatically, or manually. The first part has be implemented by Liviu last summer with important GUI improvements for assisting this procedure. So, on can lock /unlock activities, modify activities, remove teachers / student groups, relax constraints, e.t.c. BUT, one needs to have a profound knowledge on FET, in order to do it! The strange part is that it's easier for the timetabler to modify the above data in order to create a timetable suitable for the school. But, most people (timetablers) can't really think of modifying existing timetables IN TERMS OF MODIFYING the data / constraints, since it easier for them to make these changes manually. So, the question here is: IS MANUAL TIMETABLING NECESSARY? If yes, we need tools such as TiTiTo (by Volker Dirr), FET-read (by Nouvakis) or a new one. Or this feature might be implemented in FET itself, if Liviu decides so. If no (if the manual timetabling is not necessary) we need detailed documentation for achieving partial modifications with the existing FET features.

The third issue: most people (timetables) in Greece tend to use a commercial application (with bells and whistles). The first think they ask when I tell them "you know there is an excellent free application for solving your timetable automatically" is: "CAN I MODIFY MY TIMETABLE MANUALLY WITH FET?". I'm afraid that for these people, even a detailed documentation (for automatically modifying an existing timetable) will be useless, because whey won't read it. So, these people will insist on using the commercial application and spend too much time to find solutions manually, although these solutions are by far inferior to the solutions they could have by automatically modifying their timetables with FET.

These are the reasons that make me wonder if manual timetabling would be necessary, either for really improving FET or for making it more appealing for people who deny to change their way of timetabling! What do you think as timetablers?
« Last Edit: January 07, 2018, 11:33:46 AM by Vangelis Karafillidis »

Benahmed Abdelkrim

  • Level 5
  • *****
  • Posts: 745
  • The most beautiful is the simple
    • View Profile
Re: Manual or automatic changes in the timetable
« Reply #4 on: January 07, 2018, 04:25:22 PM »
I remember very well the suffering we had to endure when we created timetables in a manual way, and the precious time we spent in producing timetables that we were not very satisfied with.

Then we discovered FET, which seemed a bit complicated because it contained many different and varied CONSTRAINTS  that we did not deal with, and gradually improved our performance with this it.

What can make us avoid wide manual change after production is a good understanding of the various time constraints, and space constraints, and their good use.
In this way, we can produce good tables that prevent us from change manually, except for some easy changes  that does not change the structure of the automatically resulting timetable.

These simple changes I sometimes have to make with the application TiTiTo.

So I think from my point of view, there is no need to add manual scheduling of the program, as long as there are other applications that can achieve this.

 Manual scheduling also runs counter to the spirit and philosophy of FET Which is automatic scheduling, which means less effort, faster speed and good and beautiful output.

Thank you very much FET.
« Last Edit: January 07, 2018, 11:10:42 PM by Benahmed Abdelkrim »
B.A/krim

Vangelis Karafillidis

  • Level 1
  • *
  • Posts: 43
    • View Profile
Re: Manual or automatic changes in the timetable
« Reply #5 on: January 08, 2018, 07:22:54 AM »
.... These simple changes I sometimes have to make with the application TiTiTo....

I've watched the TiTiTo video. It seems that there are no time-horizontal-like displays... This type of monitoring (and interacting with) the timetable is the most effective... (in my opinion). Is it easy to make changes with the days-horizontal-like displays? For an even little complicated timetable, it seems quite "risky" for me to rely on days-horizontal-like displays...

Volker Dirr

  • Forum Administrator
  • Level 5
  • *****
  • Posts: 1932
    • View Profile
Re: Manual or automatic changes in the timetable
« Reply #6 on: January 08, 2018, 09:35:09 AM »
Time horizontal is not included yet. i will think about adding it. I am sadly currently busy with other stuff.

Benahmed Abdelkrim

  • Level 5
  • *****
  • Posts: 745
  • The most beautiful is the simple
    • View Profile
Re: Manual or automatic changes in the timetable
« Reply #7 on: January 08, 2018, 10:44:17 PM »
.... These simple changes I sometimes have to make with the application TiTiTo....

I've watched the TiTiTo video. It seems that there are no time-horizontal-like displays... This type of monitoring (and interacting with) the timetable is the most effective... (in my opinion). Is it easy to make changes with the days-horizontal-like displays? For an even little complicated timetable, it seems quite "risky" for me to rely on days-horizontal-like displays...

I make these changes at first on a sheet of paper by viewing the three tables (teachers, students, rooms), then I copy the solution which I found in the application TiTiTo to confirm it. And if there are errors will appear in the collisions, I return to the paper to correct the mistake committed.
In the meantime, I had to break one or more soft time constraints and sometimes I have to change the room assignment to make the solution achievable.

this is my favorite way to make some changes in the timetable.
« Last Edit: January 09, 2018, 12:10:21 AM by Benahmed Abdelkrim »
B.A/krim

Benahmed Abdelkrim

  • Level 5
  • *****
  • Posts: 745
  • The most beautiful is the simple
    • View Profile
Re: Manual or automatic changes in the timetable
« Reply #8 on: January 09, 2018, 01:37:41 PM »
   yes I know this is not the ideal way to make changes, but what do we want? manual or automatic changes? if the first one, we must be content with the inconvenience caused, otherwise let FET do the work that is asked of him, provided of course to know how to make a good negotiation with him.

   I think it's a question that supports a single answer; manual or automatic? but not both ?!
if you want the manual, so it is the work of a timetabler we want to automate! I think it's contradictory!

manual means in the manner of a timetabler
Automatic means in the manner of a software. is not it logical?
B.A/krim

Vangelis Karafillidis

  • Level 1
  • *
  • Posts: 43
    • View Profile
Re: Manual or automatic changes in the timetable
« Reply #9 on: January 11, 2018, 05:08:38 AM »
I'll ask the same questions... but under a different perspective:

"Is the partial modification necessary for many countries and for many timetablers?"
For my country, at least sometimes (if not most of the time) the partial modifications is the preferred solution, since it results in less changes for both teachers and students. So, most timetablers tend to make partial modifications instead of solving the timetable from scratch.
It might sound unbelievable to most people, but this week two new teachers are going to be hired at my school! So, the timetable needs to be modified again! And of course this happens many times during the school year. Most schools need to modify their timetables until February. Typically, the timetabler needs to create around 10-12 timetables between September and February. These modifications cause problems. For example, if a teacher has already planned a test (on a specific day), the changes in the new timetable might "destroy" his/her planning. And of course, when a teacher is (or some teachers are) absent, a modified timetable is needed, so the students would not have any gaps. In conclusion, at least for my country, the partial modifications of an existing timetable seems to be the preferred solution for quite many situtations.

"What do FET users need, manual or automatic modifications for their timetable?"
I think that this question, has undoubtedly one single answer: AUTOMATIC MODIFICATIONS. The problem here is that the FET user should be really experienced to achieve results with "minimum" changes.

"What's the crucial question of the timetablers who don't used FET, but other applications?"
The most common question people tend to ask when I inform them about FET is "can I make manual modifications of an existing timetable?". It's really difficult to convince them that the automated partial modification is faster and safer than the manual one. BUT, the negative answer (I mean that FET itself is an automated solver) makes them feel refuse the idea to try FET, since THEY KNOW THEIR OWN WAY TO MODIFY THEIR TIMETABLES, which is manual!

Benahmed Abdelkrim: I agree with you! And I think that FET should remain an automated solver. But, on the other hand I think that applications such as TiTiTo or FET-read should be developed and improved, in order to make these people feel "safe" when they need to modify MANUALLY their timetables. I mean that the development of such applications could encourage them to use FET ifself.

Liviu, what do you think?

Volker Dirr

  • Forum Administrator
  • Level 5
  • *****
  • Posts: 1932
    • View Profile
Re: Manual or automatic changes in the timetable
« Reply #10 on: January 11, 2018, 02:24:07 PM »
ok. i will add the time view, but i need some time to code it. please give me some time.

10-12 timetables in 1 half year sounds very high. i had bad luck this time and needed to do 2. In normal case i have to do only 1. so you generate every second week a new timetable?

about "destroy" their tests: you will have the same problems with absent teachers if you do it manually. so "absent" is no argument.
in my opinion "destroy" overact the problem. of course it is "more difficult" if you have got a school with a lot of courses instead of classes. If you have classes only there is in fact no problem, since you have got the subject normaly at least 3 times per week. so in worst case you will write it one or 2 days later.  in normal case you can still write it the same day, just for example in the 2nd hour instead of the 4th hour.
There are also a lot of other problems that "destroy" the test and in fact nearly no teacher care about it: for example if i count the number of days that some students are ill, so in worst case the missed several days even in the week before the test and no teacher care about that. students must write the test, even they were ill.
but i can tell also a lot of other things that "destroy" the test. many teachers are not static and just move the test if there is a conflict (for example: the teacher itself was ill, he was teaching slower than he planned, there was big trouble in the hour before, there was a fire alarm, ...)

so in my opinion test are not the problem. in my opinion the "main" problem are the "new constraints":
http://www.timetabling.de/manual/FET-manual.en.html#id_38

"minimum change": yes, that is sadly normaly conflicting with "lowest number of conflicts". That is in fact a problem you can't solve perfect. in most situation you need to decide if you want "minimum changes" or "minimum conflicts".

Vangelis Karafillidis

  • Level 1
  • *
  • Posts: 43
    • View Profile
Re: Manual or automatic changes in the timetable
« Reply #11 on: January 11, 2018, 03:45:36 PM »
I think that the implementation of the time-horizontal-view is going to be really helpful!
Unfortunately, sometimes we need to change our timetables every week. Even worse, sometimes we need to modify it in a couple of days again...
Tests in Greek secondary schools need to be scheduled. Max number of tests for all students per day = 1. Max number of tests for all students per week = 2 (or 3... I'm not sure). So, each teacher should schedule the tests according to the unit of the lesson and of course other tests that this student group might have on the same day or in the same week. It's quite complicated. So, changing a timetable every week, really destroys this planning!
When we modify our timetable temporarily, we need "minimum changes", which practically means "less teachers need to be informed for their changes".
When we modify our timetable "permanently", we need "minimum conflicts".

Volker Dirr

  • Forum Administrator
  • Level 5
  • *****
  • Posts: 1932
    • View Profile
Re: Manual or automatic changes in the timetable
« Reply #12 on: January 11, 2018, 04:48:59 PM »
the "test" rule is the same here in Germany (the strict one: max 2 per week and max 1 per day), but i still say that is in fact no problem if you have got mainly classes only. of course it might be moved from 3rd to 4th hour. but that doesn't conflict the rule. Also if it move to an other day it normaly also don't conflict (the cance to conflict is only 20% if you more it to the next day. if you move it to the second next day, than in fact it is 0%, since there can't be an other test that week because of rule "max 2 per week". So "destroy" is in my opinion much to overact. There are other things "destroying" much more (like ill students) but nobody care about that. of course it is more complicated if your students are mainly teached in "courses" and not in "classes", than there are of course much more possible conflicts and it is more complicated to care about that. (We have got that normaly only at school with years 11-13.) So most schools (year 1-4 and 5-10) have got mainly classes. Only a few courses in year 5-10. But even in that it will be no problem. But i must admit German school with year 11-13 will have got problems.

maybe you should think about more clever "temporary" changes? we do temporary changes only by substitution planning, not by generating again the whole timetable. (but in fact we have got a few activities for substitution.) maybe you are possible to care about that in your activity planning also, since it simplify the "temporary" changes very much.