Custom FET BP - block planning (Need help choosing a custom version)

Started by ChicagoPianoTuner, July 24, 2019, 01:36:30 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Liviu Lalescu

Quote from: ChicagoPianoTuner on August 01, 2019, 07:39:21 PM
Quote from: Liviu Lalescu on August 01, 2019, 07:35:00 PM
Now, I attach a small example.

OK, I can do that. I should probably just create the activities part myself, and then just copy/paste into an existing fet file that has the days/general structure setup. Right? Or create everything from scratch?

You can do either variant. But considering that we/you need also constraints, you might want to generate the whole thing.

It would be good if you keep things opened, so for instance you can rename the tags to slightly different names for instance.

ChicagoPianoTuner

OK. Should I make one now with the sample data in the file I uploaded earlier? Or is it better to wait until I have all the data next week?

Liviu Lalescu

I might use the current data for some tests. But please keep in mind that we might need to change some minor things, so it should be automatic.

ChicagoPianoTuner

OK, I will work on it today/tomorrow.

Liviu Lalescu

OK. If it is not private, how are you writing the .fet XML structure? Christoph Voelker (FET-aap suggester) worked in Matlab and then switched to GNU Octave, getting the data from an Excel file and outputting the .fet XML. There is a GNU Octave script in FET-aap, you might get inspiration from it.


ChicagoPianoTuner

Honestly I'm not very knowledgeable when it comes to things like that. I plan to write in VBA and output to a simple text file. My coding knowledge doesn't extend far beyond C#, Python, and VBA, and I figure since I already have the data in Excel then VBA is the easiest way.

Liviu Lalescu

#51
Yes, of course.

Please tell me if you need me, when I put a testing version for you, to put the Windows executable, or sources tar.bz2 is enough for you.

ChicagoPianoTuner

I've only ever used the Windows executable. Is it easy to learn to use the other format?

I am nearly finished writing the code to generate the FET file. I should have it later today.

ChicagoPianoTuner

For fet xml, is the order of nodes within an activity important? Must it always go subject, tag, students, duration, id, ... or can it be any order?

Liviu Lalescu

Quote from: ChicagoPianoTuner on August 02, 2019, 01:18:06 PM
I've only ever used the Windows executable. Is it easy to learn to use the other format?

I am nearly finished writing the code to generate the FET file. I should have it later today.

This is good. I made a version with max 200 days per week (1) and forbidding students having activities at two slots same hour, like (A2, T1) and (A2, T2), which was (5) in our list. But this was the easy part for me. We might want to add the existing constraints (max say 20 biology activities per real slot and real teacher max activities per slot and not overlapping slots Component 1,2,3), skipping for now the difficult part of min say 12 biology activities per slot and if activity occupies (A1 or A1') it should occupy (A1' or A1). This just to see if the ideas work.

Install once Qt. Then each time I put a new snapshot you need to unpack the tar.bz2 and compile. It is written in the README file.

Quote from: ChicagoPianoTuner on August 02, 2019, 03:00:30 PM
For fet xml, is the order of nodes within an activity important? Must it always go subject, tag, students, duration, id, ... or can it be any order?

It can be any order.

ChicagoPianoTuner

Here is the FET file I have made so far. Can you check quickly for any errors? Everything is automatically generated so I can change things quickly. The file is fairly self-explanatory except maybe the activity tags. These are the tags in use:

To denote preference, I use 1st-5th choice (5th is the backup choice). Probably don't even set constraints for these to begin - do that later.
MFL and PE are a 100% requirement to be scheduled in real time (not fake overflow time).
MustIncludeLongPeriod should have preferred starting time A1, A1', B1, B1', etc. = 100%. I think this should also include the fake time, H1 and H1'. The 1st-5th choice will regulate which courses end up in fake time.
MustAvoidLongPeriod should have preferred starting time A2, A3,...A5, B2, B3, ... B5, C2,... = 100% . Same here, I think this should include the fake time.
Subject_Component_# and Component_# are as you mentioned earlier in the thread.

ChicagoPianoTuner

Quote from: Liviu Lalescu on August 02, 2019, 03:59:20 PM
We might want to add the existing constraints (max say 20 biology activities per real slot and real teacher max activities per slot and not overlapping slots Component 1,2,3), skipping for now the difficult part of min say 12 biology activities per slot and if activity occupies (A1 or A1') it should occupy (A1' or A1). This just to see if the ideas work.
OK - we can skip that for now.
Quote
Install once Qt. Then each time I put a new snapshot you need to unpack the tar.bz2 and compile. It is written in the README file.
I will download Qt and try it out.

Liviu Lalescu

To unpack: I use 7-zip to unpack from tar.bz2 to tar, and Total Commander to unpack from tar to the directory (in both, press Enter on the archive).

You might use official bunzip2 and untar from the internet.

These of the above are not written in the README.

Liviu Lalescu

#58
Quote from: ChicagoPianoTuner on August 02, 2019, 04:11:21 PM
Here is the FET file I have made so far. Can you check quickly for any errors? Everything is automatically generated so I can change things quickly. The file is fairly self-explanatory except maybe the activity tags. These are the tags in use:

To denote preference, I use 1st-5th choice (5th is the backup choice). Probably don't even set constraints for these to begin - do that later.
MFL and PE are a 100% requirement to be scheduled in real time (not fake overflow time).
MustIncludeLongPeriod should have preferred starting time A1, A1', B1, B1', etc. = 100%. I think this should also include the fake time, H1 and H1'. The 1st-5th choice will regulate which courses end up in fake time.
MustAvoidLongPeriod should have preferred starting time A2, A3,...A5, B2, B3, ... B5, C2,... = 100% . Same here, I think this should include the fake time.
Subject_Component_# and Component_# are as you mentioned earlier in the thread.

1) I would better use a complete .fet file, so I can open it with FET. It is not difficult. For students - you might want to add some students from the FET interface and save and see the file.

2) In the beginning, you have "<Activiy_Tag> a few times (missing t)

3) Physical Education: should have 3 subactivities, not one, each duration 1, total duration 3.

ChicagoPianoTuner

Quote from: Liviu Lalescu on August 02, 2019, 04:34:18 PM
1) I would better use a complete .fet file, so I can open it with FET. It is not difficult. For students - you might want to add some students from the FET interface and save and see the file.

OK. Should I just use regular FET to generate the file? Or aat? Or the version you're working on?