FET Forum

FET Support (English) => Get Help => Topic started by: Frans on May 07, 2010, 06:00:18 PM

Title: Change a Lecturer
Post by: Frans on May 07, 2010, 06:00:18 PM
Dear Liviu

I came accross the following and I hope you will be able to follow as it is difficult to explain:

Currently I am testing (or using) version 13.1. This is what I did:

I set a timetable and when satisfied saved the timetable using the lock option.

I open the locked file and made some changes: Subject X changes to subject Y and Lecturer A changes to lecturer B

I then select Lecturer A in the activities form, locate subject X and change to subject Y and lecturer B.

I then unlock the all activities for Lecturer A, B and the same with the subject (if necessary).

Now something strange happened. If the timetable is generated everything moves on one lecturer. For example Lecturer A becomes B, B becomes C etc. It only happens to the lecturers surrounding the lecturers that I changed.

The same happens to venues. Some of the venues in say building A becomes venues in building B in the generated timetable.

However if I add a new activity and delete the other activity it seems that everything works fine.

All that I want to know: Am I doing something wrong?

Kind regards.

Frans
Title: Re: came accross the following and Change a Lecturer
Post by: Frans on May 07, 2010, 06:15:44 PM
Liviu

Sorry, do not know what happend with the heading, should read: Change a lecturer.
Title: Re: Change a Lecturer
Post by: Liviu Lalescu on May 07, 2010, 06:36:11 PM
I modified the title.

I cannot replicate and do not understand. Please give screen shots and detail:

Minor thing: better, write "version 5.13.1", without abbreviations, like "13.1".

First of all, please use FET notation, like: "Teacher", not "Lecturer", so that we have a unified notation.

What means you change Lecturer A to Lecturer B and subject X into subject Y? Each activity with Lect. A and subject X becomes with Lect. B and subject Y? Or you rename the lecturer A to lecturer B? Lecturer B is already existing?

Unlock which activities?

Then, what means "lecturer A becomes B"? In the HTML timetables? In the view timetable dialogs? In a cell (day and hour) or in the list of teachers?

You generate a second time after you change from A to B and from X to Y?

What means venues in building A become venues in building B? You cannot see the buildings in the generated timetable.

Please let me know.

PS: to clarify this, I'll try to answer asap, so please try to be on-line and answer asap in your turn. I'll try to be around the next 1-2 hours.
Title: Re: Change a Lecturer
Post by: Frans on May 07, 2010, 07:42:22 PM
QuoteMinor thing: better, write "version 5.13.1", without abbreviations, like "13.1".
Sorry will do it from now on.

QuoteFirst of all, please use FET notation, like: "Teacher", not "Lecturer", so that we have a unified notation.
Once again sorry and my apologies. In our institution people do not know something like a teacher and for the past 30 years all I know is lecturer, we are a University. Will remember in future.

As pointed out it not so easy to exaplain but I will try again:

I set a timetable for the first semester and it was accepted.
We are woking in modules. A subject consists of two modules and it is not to say that the same lecturer lectures module X and Y.

In the second semester I must change the module from X to Y and the the Teacher from A to B. So in other words:

In semester one Teacher A lecturers module X. In semester two or term or what one want to call it Teacher B replaces Teacher A.

The original timetable was locked. So I opened the .fet file and generate. Then in the activities screen I locate Teacher A for subject X and change to Teacher B, subject Y.

I generate the timetable but an error was displayed as all activities were locked. I unlock all ativities for the group including all activities for subjecc X, Y, Teacher A, Teacher B.

I then generated the timetable again. I still get an error and stop the generation. I opened the view timetables option and discover that the timetable of Teacher B has become the Timetable for Teacher A, the time table of Teacher C has become the timetable for Teacher B, etc. When I add new activities this does not happen.

QuoteWhat means venues in building A become venues in building B? You cannot see the buildings in the generated timetable.

This is also more difficult to explain. We do have 4 different campuses and I treat the campuses as buldings with 0 changes a day as Teachers cannot teach on the same day at more than one campus due to distance. So what I mean is that a venue on say campus A is now reflected in the timetable on campus B if lecturer B is teaching on campus ?B. I cannot establish a relation here.

I just thought to bring your attention to this and forgive me if it is not clear, but I personally think that this can become a serious issue if people is not aware of this, unless I do something very stupid. What? I do not know.

Hope you understand. I first think that I made a mistake but time an again when I make such a change the entire timetable is incorrect.

I however want to emphasise that Fet is an amazing program and my first choice for timetabling.

(NOTE: It can be because I stopped generation manually.)

Kind regards
Frans


Title: Re: Change a Lecturer
Post by: Liviu Lalescu on May 08, 2010, 07:04:19 AM
I tried to replicate the bug you are reporting, but I cannot. Please provide an input file (as small as possible) and detailed steps.

Also, maybe you can check if this happens with the new version 5.13.2.

I also wrote you a personal message, but I think you didn't see it.

Edited to add: please try this: before the last view of the timetable (in which the teachers are swapped, as you say), save the file and open it again (or better exit FET and re-open FET and open the file). Then generate. Tell me if again teachers' timetable is swapped.

Edited to add: before unlocking the activities for X, Y, A and B, can you check the timetable? Is it swapped?
Title: Re: Change a Lecturer
Post by: Liviu Lalescu on May 08, 2010, 10:39:31 AM
I think I found the problem and replicated it:

Open attached file (an official example). Generate. Activities. Select filter "Buta Liana". Modify activities with subject "Informatica" and teacher "Buta Liana" to have subject "Geografie" and teacher "Costea Anda". Try to generate. It says impossible. See the timetable for teachers. The timetable for "Buta Liana" has the modified activities, which in fact belong to teacher "Costea Anda".

This is a minor bug. The problem is that the timetable is impossible to generate, and FET will keep the old timetable, with modified data, but with new activities.

Please confirm me that this is the bug.

I'll think how to solve this.
Title: Re: Change a Lecturer
Post by: Frans on May 08, 2010, 09:51:09 PM
Liviu

I apologise for only replying know. There was a problem with the internet connections and I was not able to log on.

I wil download the file and report to you as soon as possible.

Regards.

Frans
Title: Re: Change a Lecturer
Post by: Liviu Lalescu on May 09, 2010, 06:47:05 AM
What has happened is a bug of FET. It happens because:

- suppose activities A1(T1), A2(T2), A3(T3). Generate. Now, A1 is in T1's timetable, A2 for T2, A3 for T3.

- you change to: A1(T2), A2(T1), A3(T3). You now try to generate. The first stage is done, in which A1 will have teacher changed to T2 and A2 will have teacher changed to T1.

- the second stage, in which FET processes constraints, is not done, because FET finds that a teacher has too many activities.

- the timetables will stay the same as in the beginning, so activity A1 will appear in the timetable of teacher T1 and A2 will be in the timetable of teacher T2. This is the error you are observing.

I'll release a new snapshot soon, so you can check if the error is gone.

Thank you for the bug report!
Title: Re: Change a Lecturer
Post by: Frans on May 09, 2010, 09:51:49 AM
Liviu

Thank you very much. I follow what happend.

I tested the file and the result is similar to mine.

In my case the timetable was actually not impossible. Ok, it was impossible because all the activities were locked and then when I want to unlock I came across the problem. I was not able to unlock the activities. (I did not unlock first because I thought that the same room will be used and that the teacher (new) was available as well as the group.)

I got a message something like one activity to unlock but FET will unlock two activities.

I you allocated rooms to your activities the same happens to the rooms and also buildings.

Kind regards.

Frans
Title: Re: Change a Lecturer
Post by: Liviu Lalescu on May 09, 2010, 10:25:51 AM
I fixed this, I released a new snapshot, please see the Snapshots board here on the forum for the link.

Please try to recreate the errors you met. I hope they will not show up again.

Then, please try to use the snapshot for your usual operation, like modifying activities/modifying data/locking/unlocking/generating/viewing and so on, as many operations as possible, in different order. There may appear other problems - if so, please report them as soon as you notice them. If everything is OK, also let me know.

The fix I did simply destroys the timetables if the user changed something and wanted to regenerate a timetable. So, in your case, you'll notice that the timetable is no longer available, instead of showing a wrong timetable.

I hope to release a new version with these fixes in a few days.

Thank you for the bug report!
Title: Re: Change a Lecturer
Post by: Frans on May 09, 2010, 11:46:01 AM
Liviu

Thanks. I will download now and test.

Frabs
Title: Re: Change a Lecturer
Post by: Frans on May 09, 2010, 07:49:25 PM
Liviu

QuoteThe fix I did simply destroys the timetables if the user changed something and wanted to regenerate a timetable.

After some thinking and please forgive if I do not make sense or out of line.

Will the above always happens whenever a timetable is impossible no matter what the reason? If so I just wander if it is the best solution. The reason for the question is:

Say that a "good" timetable was developed and saved with the lock option. Later one wants to make a change. In generating the new timetable the generation stops at say activity 590 out of a total of 600 activities with an impossible message. This is only because some of activities that have to be unlocked. In fact it is really not an impossible timetable, it is only impossible because I forgot to unlock first.

What I usually did was to go to the timetable of the group and/or teacher and/or the room and unlock the relevant activities (from the timetable view options).

If the "impossible" timetable is now destroyed then I canot do the above and to me theĀ  unlock option will be redundant.

Therefore will the existing timetable always be destroyed when it is impossible or just if it is a specific error message?

I hope the above is clear.

(Will test the new snapshot soon.)

Regards

Frans
Title: Re: Change a Lecturer
Post by: Liviu Lalescu on May 09, 2010, 08:05:39 PM
QuoteLiviu

QuoteThe fix I did simply destroys the timetables if the user changed something and wanted to regenerate a timetable.

After some thinking and please forgive if I do not make sense or out of line.

Will the above always happens whenever a timetable is impossible no matter what the reason? If so I just wander if it is the best solution. The reason for the question is:

Say that a "good" timetable was developed and saved with the lock option. Later one wants to make a change. In generating the new timetable the generation stops at say activity 590 out of a total of 600 activities with an impossible message. This is only because some of activities that have to be unlocked. In fact it is really not an impossible timetable, it is only impossible because I forgot to unlock first.

What I usually did was to go to the timetable of the group and/or teacher and/or the room and unlock the relevant activities (from the timetable view options).

If the "impossible" timetable is now destroyed then I canot do the above and to me theĀ  unlock option will be redundant.

Therefore will the existing timetable always be destroyed when it is impossible or just if it is a specific error message?

I hope the above is clear.

(Will test the new snapshot soon.)

Regards

Frans

In your case, the partial timetable will be available.

The timetable will not be available in this case: you generate, modify some data, regenerate, and FET reports that there are clear mistakes (in the constraints). The timetable will not be available only if FET did not place any activity. If FET places 1 or more activities, you'll have the timetable. (you'll have also the timetable if FET tries to place the first activity and it cannot).

This is true only for generate single. If you generate, modify data and generate multiple, you need to have a finished timetable to be able to see the timetable.

Also try a bit practically with the snapshot, you'll see better what I mean.

More details: the precomputation is done in two phases: compute internal structure (only if data was changed) and compute the internal data from the constraints. FET computes internal structure if the data is changed, otherwise does not enter routine computeInternalStructure. In the beginning of computeInternalStructure, I make the timetables not available: schedule_ready=false. Then, comes a second phase (named precompute), to compute internal constraints data and check for clear mistakes. Now, if you modify data and generate, if FET passes computeInternalStructure and passes precompute, you'll get a timetable (if you interrupt generate multiple, you won't have a timetable, though). If FET does not pass precompute, then you won't have a timetable. If you don't modify the data, then you'll have the old or a new timetable.
Title: Re: Change a Lecturer
Post by: Frans on May 09, 2010, 08:40:21 PM
Thanks Liviu

I will revert immediately to the new snapshot and let you know in a day or two.

Regards.

Frans
Title: Re: Change a Lecturer
Post by: Liviu Lalescu on May 10, 2010, 04:34:32 PM
Please confirm me that the bug you reported initially is gone.
Title: Re: Change a Lecturer
Post by: Liviu Lalescu on May 14, 2010, 06:21:38 PM
I released a new version (5.13.3, on 14 May 2010), to fix this minor bug.

Thanks for bug report!