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

I think we should make the FET hours:

A1, A1', A2, A3, A4, A5, B1, B1', ..., G5 (6*7=42 FET hours) and additionally 8 fake hours for the refused activities (5th or 4th students' choices).

ChicagoPianoTuner

#31
Quote from: Liviu Lalescu on July 30, 2019, 07:14:49 PM
I think we should make the FET hours:

A1, A1', A2, A3, A4, A5, B1, B1', ..., G5 (6*7=42 FET hours) and additionally 8 fake hours for the refused activities (5th or 4th students' choices).

I was thinking the same thing. We would need a constraint: if an activity (subactivity) occupies A1, it must also occupy A1'. Or maybe we don't need it: for teachers who want extra time in a long chunk, use activities preferred starting times (with a tag) for A1-G1. For teachers who want short chunks, choose A2-A5, B2-B5, etc. But maybe the constraint I mentioned could be useful for teachers who don't have a preference.

Liviu Lalescu

I think we need this new constraint. Because:

1) Your reason

2) If there are say 40 activities for students to be scheduled to 2 teachers, and one teacher wants long and the other two shorts, but we don't know which activities will go to T1 and which to T2.

I hope this new constraint is possible and feasible for the generation.

ChicagoPianoTuner

Quote from: Liviu Lalescu on July 31, 2019, 09:38:54 AM
2) If there are say 40 activities for students to be scheduled to 2 teachers, and one teacher wants long and the other two shorts, but we don't know which activities will go to T1 and which to T2.
Good point.

I am working on the sample data set and hope to have it by next week. Is there anything I can do otherwise to help?

Liviu Lalescu

So, to recapitulate:

1) FET days per week: maximum around real teachers 50. I'll put 200, as in FET-aap.

FET hours per day: A1, A1', ..., A5, ..., G5: 42 + Fake1,..., Fake8: 8. 50 in total.

2) Activities with duration:

5: 6
7: 6+1+1
3: 1+1+1.

3) Max say 20 Bio activities per FET slot - existing constraint

Min say 12 Bio activities per slot - new constraint

4) Real teacher max activities per real slot: activities occupy max time slots from selection, whole FET day

5) Same students cannot have activities both say (A2, T1) and (A2, T2) (same FET hour)

6) New constraint if activity occupies (A1 or A1'), occupies (A1' or A1):

duration:

5: no problem
7: for 1+1
3: for 1+1+1

ChicagoPianoTuner


Liviu Lalescu

#36
For the min 12 Biology activities per slot, I think we need to add for each subactivity:

7) Two activity tags: Subject+Component number, component number.

Like: Biology Component 1, Component 1
Biology Component 2, Component 2
Biology Component 3, Component 3 (two activity tags on each line)

Add then n_subjects constraints activity tags not overlapping (the new constraint in FET-5.39.0), Biology Component 1, BC2, BC3 (is this true?)

Then I need for the min simultaneous: the subject and the Component 1 (2,3).

Unfortunately, Components are individually for subactivities, might break CSV import. What can we do?

ChicagoPianoTuner

Quote from: Liviu Lalescu on July 31, 2019, 07:26:57 PM
For the min 12 Biology activities per slot, I think we need to add for each subactivity:

7) Two activity tags: Subject+Component number, component number.

Like: Biology Component 1, Component 1
Biology Component 2, Component 2
Biology Component 3, Component 3 (two activity tags on each line)

Add then n_subjects constraints activity tags not overlapping (the new constraint in FET-5.39.0), Biology Component 1, BC2, BC3 (is this true?)
Yes, you have it right.
Quote
Then I need for the min simultaneous: the subject and the Component 1 (2,3).

Unfortunately, Components are individually for subactivities, might break CSV import. What can we do?
What do you mean "components are individually for subactivites?"

Liviu Lalescu

#38
Quote
What do you mean "components are individually for subactivites?"

The activity tags "Component 1" and "Biology Component 1", then 2, then 3, should each two be added for only one component (if say Biology is 6+1+1).

In your example CSV, see line 2, Chemistry: You have a single line for 6+1+1 (in fact it is 7 there). But on a single line you can have a single variant of activity tags (any number of activity tags, which go to all the components - 6, 1, 1).

Can you create a complete .fet file? You will need anyway to input many constraints, so I think you need to develop some tools for automatically generating a .fet XML file.

ChicagoPianoTuner

Quote from: Liviu Lalescu on July 31, 2019, 08:37:10 PM
The activity tags "Component 1" and "Biology Component 1", then 2, then 3, should each two be added for only one component (if say Biology is 6+1+1).

In your example CSV, see line 2, Chemistry: You have a single line for 6+1+1 (in fact it is 7 there). But on a single line you can have a single variant of activity tags (any number of activity tags, which go to all the components - 6, 1, 1).

Can you create a complete .fet file? You will need anyway to input many constraints, so I think you need to develop some tools for automatically generating a .fet XML file.
I don't know if I can create a complete .fet file - I do not have much practice with xml. For fet import can I give one subactivity multiple activity tags? Is that the problem?

I can create a csv file that has three lines for chemistry (chemistry duration 5, chemistry C1 ChemC1 duration 1, chemistry C2 ChemC2 duration 1) pretty easily. But can I give one subactivity two tags?

Liviu Lalescu

Your CSV file is nice. On a single row you can put any number of activity tags, separated by "+". But this is not the problem I was telling you about. The problem is that these activity tags go to all the subactivities of that row (if there are for instance 6+1+1 all 3 component subactivities will have the same activity tags, you cannot change them for each component).

The solutions:

1) Add 3 lines instead of 1. But FET will not recognize that the 3 components are in the same split activity. Might lead to problems and does not look nice in the activities dialog.

2) Modify the CSV import/export. The export/import was done by Volker and I might have problems trying this.

3) You can directly create the activities .fet XML. It is not difficult at all, I will shortly post an example for you. We will need anyway to work with .fet XML to input the many constraints.

Liviu Lalescu

I forgot: in the interface, to create different activity tags for subactivities (not the whole activity), you need to enter the subactivities dialog.

Now, I attach a small example.

And here is what interests you:


<Activities_List>
<Activity>
<Subject>Chemistry</Subject>
<Activity_Tag>Chemistry component 1</Activity_Tag>
<Activity_Tag>Component 1</Activity_Tag>
<Students>subgroup1</Students>
<Duration>6</Duration>
<Total_Duration>8</Total_Duration>
<Id>1</Id>
<Activity_Group_Id>1</Activity_Group_Id>
<Active>true</Active>
<Comments></Comments>
</Activity>
<Activity>
<Subject>Chemistry</Subject>
<Activity_Tag>Chemistry component 2</Activity_Tag>
<Activity_Tag>Component 2</Activity_Tag>
<Students>subgroup1</Students>
<Duration>1</Duration>
<Total_Duration>8</Total_Duration>
<Id>2</Id>
<Activity_Group_Id>1</Activity_Group_Id>
<Active>true</Active>
<Comments></Comments>
</Activity>
<Activity>
<Subject>Chemistry</Subject>
<Activity_Tag>Chemistry component 3</Activity_Tag>
<Activity_Tag>Component 3</Activity_Tag>
<Students>subgroup1</Students>
<Duration>1</Duration>
<Total_Duration>8</Total_Duration>
<Id>3</Id>
<Activity_Group_Id>1</Activity_Group_Id>
<Active>true</Active>
<Comments></Comments>
</Activity>
</Activities_List>

ChicagoPianoTuner

Quote from: Liviu Lalescu on August 01, 2019, 07:06:18 PM
Your CSV file is nice. On a single row you can put any number of activity tags, separated by "+". But this is not the problem I was telling you about. The problem is that these activity tags go to all the subactivities of that row (if there are for instance 6+1+1 all 3 component subactivities will have the same activity tags, you cannot change them for each component).

The solutions:

1) Add 3 lines instead of 1. But FET will not recognize that the 3 components are in the same split activity. Might lead to problems and does not look nice in the activities dialog.

2) Modify the CSV import/export. The export/import was done by Volker and I might have problems trying this.

3) You can directly create the activities .fet XML. It is not difficult at all, I will shortly post an example for you. We will need anyway to work with .fet XML to input the many constraints.
OK, I'll try to learn to use xml and create a fet file. Do you start in excel/sheets/whatever the open office version is?

ChicagoPianoTuner

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?

Liviu Lalescu

Quote from: ChicagoPianoTuner on August 01, 2019, 07:37:29 PM
OK, I'll try to learn to use xml and create a fet file. Do you start in excel/sheets/whatever the open office version is?

I created the attached example above in the FET interface. But you can open it / create a new one with any text or XML editor (an XML editor might be more difficult to use).