Automatic Activity Planning?

Started by Christoph Voelker, May 11, 2019, 03:40:49 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Christoph Voelker

Dear Liviu,

thank you very much for the effort and my own custom version.

I will try to find some time in between to fully understand your example and how to use it. This might take a little as I am "back in school mode" :)

Thanks again,
Christoph

Liviu Lalescu

OK, I will wait for you. But meanwhile I created a new custom version, with max 70 FET hours per day, as I said. The same location: https://lalescu.ro/liviu/fet/download/custom/christoph-voelker/

Christoph Voelker

Thank you!

Can you read *.xlsx files?

I would like to send you one privately and ask some questions :)


Liviu Lalescu

I hope so. I have LibreOffice (working under openSUSE Tumbleweed GNU/Linux).

Yes, please send :)

Christoph Voelker

Hello,

in your example file liviu8.fet you defined 8 ConstraintActivitiesSameStartingDay.

They were all for the hour (= real group) 19.O-B7 connecting theory and practice for each subject.

Do I have to define these 8 constraints for each real group (8*33 = 264 times)? As I can write code to do this automatically, this wouldn't be a problem ...

But can we maybe make a more general constraint about this? Maybe using the activity tags theory and practice?

Thank you ...

Liviu Lalescu

Hello,

To the other people: Christoph is referring to a private file I sent him by email. If it is not really private, Christoph, you might want to share it here.

Yes, it can be made simpler. But it is more general in the current way, and also I prefer to use the official FET features as much as possible. It is very easy to add such a constraint in the generating code, but in the GUI it is more difficult.

Also, you can make some constraints with say 99.75% and others with 95% (fine tune).

Christoph Voelker

Hello Liviu et al,

generally I'm totally fine with sharing this. But maybe at a little later stage?

I can imagine sharing the Excel file as well, which then was (for me) the base for the FET automatic activity planning. In that Excel file will then be teacher names like AAAA, BBBB, and randomly distributed "target hours". Maybe we could have a FET custom version, which is then not called "christoph-voelker", but "automatic activity planning" :)

But we will first have to get it working with the Target hours. Or is it working already? :)

Liviu Lalescu

Quote from: Christoph Voelker on May 17, 2019, 04:47:45 PM
Hello Liviu et al,

generally I'm totally fine with sharing this. But maybe at a little later stage?

Of course!

Quote
I can imagine sharing the Excel file as well, which then was (for me) the base for the FET automatic activity planning. In that Excel file will then be teacher names like AAAA, BBBB, and randomly distributed "target hours". Maybe we could have a FET custom version, which is then not called "christoph-voelker", but "automatic activity planning" :)

Yes, very nice. If you want I can change the name of your custom version right now, but I am not sure so many people use this organization of data. Or am I wrong? Usually I create a new version with the name of the person who proposed it and in case it is very useful maybe rename to something more general. But "automatic activity planning" is too long (in character count) and also claims to solve all such problems.

Quote
But we will first have to get it working with the Target hours. Or is it working already? :)

Actually, I wanted to check that everything else is working. But I can begin working on target hours, and in fact I think I will. It was best if we could synchronize, me finishing the new constraint and you providing me a real test file.

Explanation for the others: We decided that the real duration of activities will be stored in the number of students for an activity, and generalize the constraint "activities occupy max time slots from selection" to constraint "activities occupy max real time slots from selection" or something like that, selecting all the activities, all slots of a FET day = a real teacher, and specifying the maximum real total duration.

Liviu Lalescu

#38
I made this custom constraint and it hopefully works as expected. The new version, 3, is on the same location: https://lalescu.ro/liviu/fet/download/custom/christoph-voelker/

Liviu Lalescu

We updated this custom version. It is now called AAP (automatic activity planning). We have a nice anonymized example.

The new location of this custom version is: https://lalescu.ro/liviu/fet/download/custom/aap/

Christoph Voelker

Hello there,

I just played around with your feature to also make a normal timetable afterwards.

So I add real days and hours (5 days x 4 hours) in normal FET and import groups and activities from phase 1 (FET-AAP [pretty good! :)]).

When I now try to solve the timetable, I get: Cannot optimize for subgroup 19.O-B7 Automatic Group Automatic Subgroup, because the number of hours for subgroup is 23 and you have only 5 days x 4 hours in a week.

So, do I maybe need 8 hours per day?

Christoph Voelker

Our hours/lessons are always 90 minutes and they count as "two".

Liviu Lalescu

#42
Hello,

When I export to activities.csv I divide the real duration of the activity by 2. So you need only 4 FET-phase2-official "hours". But if I look at that private timetable that you sent me, these students are divided to make 8 hours in 4 for a set of activities, so you will have only 23-4=19 hours in total.

There are two solutions for this: either divide the students year, or combine the activities.

This will require either further customization of the export of FET-AAP-phase1, or a manipulation of the files between phase1 and phase2.

In my example .fet file to be fed to the official-FET-phase2, I just increased the number of hours per day so that the imported file will work. I forgot or did not want to write this in the readme (because it refers to your private data).

Christoph Voelker

Okay, thanks for the clarification. I can imagine to do some more GNU Octave tricks between phase1 and phase2 then :)

Liviu Lalescu

#44
My pleasure!  :)

If you opt for the division of years: divide a year automatically according to categories in FET (or just add 2 groups in it? - I am not sure about your structure - we need to clarify this). Then see how FET exports the CSV students. Then the activities will need a bit of modification (the number of activities will remain the same, but the students for the divided activities must be modified). Hmm, I think maybe you could add the divisions in the Excel file, in another sheet, then I can customize further phase1-AAP-FET, then it will output the correct students and activities.

If you opt for the combination of the activities: the phase2 output might not look as you want/so nice. In each combined activity you need to consider a new subject, add a single students set, and two teachers. Again the same things as above might apply.

To choose one of the above, you might want to make a small simulation of both methods, from the official-FET interface.