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 02, 2019, 04:43:35 PM
OK. Should I just use regular FET to generate the file? Or aat? Or the version you're working on?

Not aat. Official or what I have now. I will now compile for Windows what I have so far, so you can input more FET days per week. I will announce you the new snapshot, probably in ~30 minutes.

ChicagoPianoTuner

I have the FET file. Should I include constraints?

Liviu Lalescu

Quote from: ChicagoPianoTuner on August 02, 2019, 05:32:35 PM
I have the FET file. Should I include constraints?

I just put the Windows version. Get it from https://lalescu.ro/liviu/fet/download/custom/cpt/

I am not sure about the constraints. I could show you one from each kind, and you will add similarly more constraints. But you can also try yourself, and I will check.

ChicagoPianoTuner

#63
Thanks for the version. I am not finished, but I am done for the day. It looks like it's working well. I did not lock the file, but it generated in under 2 minutes on my very slow laptop. I cannot attach the file here as it is ~2.5 MB so I will email it to you.

There are some things I need to do still:
include 1st-5th choice in scheduling
use set of activities has the same starting day for one student's activities so he doesn't have multiple teachers
I have constraints set incorrectly for the FAKE hours
I have constraints set incorrectly for physical education

There are still some things we need to work out:
Right now, if a student has a course of duration 8 (6 + 1 + 1) and it is requested by the teacher that the extra 2 do NOT occupy the long period (A1 and A1'), it is currently possible that those two extra are placed in different blocks (e.g F2 and B4). They should be in the same block.
If a teacher teaches multiple subjects (e.g. one teacher for business studies and economics) those activities cannot be at the same time. Perhaps we can use FET teachers to solve this problem.

Liviu Lalescu

#64
I will read and answer later this:
Quotesome things we need to work out:

I received your file. It solves also in ~2 minutes on my laptop, but I assumed my laptop is fast. I think we need to make it faster by these:

a) MustIncludeLongPeriod: choose second component for A,B,C,D,E,F,G, and choose third component for A',B',C',D',E',F',G'. You might want to add an additional activity tag, MustIncludeLongPeriodFirst, or MustIncludeLongPeriodSecond. But you know better than me if this is correct.

b) max simultaneous biology: select only the biology teachers slots

c) occupy max time slots from selection:
   c1) without FAKE1...8?
   c2) only chemistry activities for the chemistry teacher.

(c2) is very important for speed, but also (b) and maybe (a).


Liviu Lalescu

#65
Quote from: ChicagoPianoTuner on August 02, 2019, 07:11:14 PM
There are still some things we need to work out:
Right now, if a student has a course of duration 8 (6 + 1 + 1) and it is requested by the teacher that the extra 2 do NOT occupy the long period (A1 and A1'), it is currently possible that those two extra are placed in different blocks (e.g F2 and B4). They should be in the same block.

I will try a customization. Assuming the 1+1 activities are one near each other in the activities list (id, id+1), they have total duration 8, duration 1, and same activity group id.

Quote
If a teacher teaches multiple subjects (e.g. one teacher for business studies and economics) those activities cannot be at the same time. Perhaps we can use FET teachers to solve this problem.

I think we can use the constraint activity tags not overlapping, introduced in the new FET-5.39.0. Add for business studies and economics activities an activity tag the same as the subject, then bs and e cannot overlap.

Liviu Lalescu

Quote from: Liviu Lalescu on August 02, 2019, 09:07:33 PM
Quote from: ChicagoPianoTuner on August 02, 2019, 07:11:14 PM
There are still some things we need to work out:
Right now, if a student has a course of duration 8 (6 + 1 + 1) and it is requested by the teacher that the extra 2 do NOT occupy the long period (A1 and A1'), it is currently possible that those two extra are placed in different blocks (e.g F2 and B4). They should be in the same block.

I will try a customization. Assuming the 1+1 activities are one near each other in the activities list (id, id+1), they have total duration 8, duration 1, and same activity group id.

I made it, seems to be working, even if it slowed even more the generation. I will put the new version in probably ~30 minutes.

Liviu Lalescu

I have just put the new snapshot version on https://lalescu.ro/liviu/fet/download/custom/cpt/

In the future versions I will add your example instead of the official examples and update the readme-cpt.txt to reflect our latest customizations.

ChicagoPianoTuner

Quote from: Liviu Lalescu on August 02, 2019, 08:12:35 PM
a) MustIncludeLongPeriod: choose second component for A,B,C,D,E,F,G, and choose third component for A',B',C',D',E',F',G'. You might want to add an additional activity tag, MustIncludeLongPeriodFirst, or MustIncludeLongPeriodSecond. But you know better than me if this is correct.
Done. Used set of subactivities has a set of preferred starting times, component 2 = A1, B1... component 3 = A1', B1', ...
Quote
b) max simultaneous biology: select only the biology teachers slots
Done. I was just being lazy.

Quote
c) occupy max time slots from selection:
   c1) without FAKE1...8?
   c2) only chemistry activities for the chemistry teacher.
(c2) is very important for speed, but also (b) and maybe (a).
Done. Again, me being lazy.

ChicagoPianoTuner

Quote from: Liviu Lalescu on August 02, 2019, 09:07:33 PM
I think we can use the constraint activity tags not overlapping, introduced in the new FET-5.39.0. Add for business studies and economics activities an activity tag the same as the subject, then bs and e cannot overlap.
Done.

ChicagoPianoTuner

#70
Quote from: Liviu Lalescu on August 02, 2019, 10:45:24 PM
I have just put the new snapshot version on https://lalescu.ro/liviu/fet/download/custom/cpt/

In the future versions I will add your example instead of the official examples and update the readme-cpt.txt to reflect our latest customizations.
Thanks. I just used it. The new change seems to work. Some things still to do:

1. If any subactivity of falls in FAKE1-8, then all parts must move to FAKE1-8
2. Physical education needs the same treatment as you just gave the extra (1 + 1). All subactivities must fall within the same block.

I will send you the new FET file. On Monday, I hope to have all the data for all ~430 students and then we can really start testing!

Liviu Lalescu

#71
Quote from: ChicagoPianoTuner on August 03, 2019, 12:53:29 AM
Quote from: Liviu Lalescu on August 02, 2019, 10:45:24 PM
I have just put the new snapshot version on https://lalescu.ro/liviu/fet/download/custom/cpt/

In the future versions I will add your example instead of the official examples and update the readme-cpt.txt to reflect our latest customizations.
Thanks. I just used it. The new change seems to work. Some things still to do:

1. If any subactivity of falls in FAKE1-8, then all parts must move to FAKE1-8
2. Physical education needs the same treatment as you just gave the extra (1 + 1). All subactivities must fall within the same block.

I will send you the new FET file. On Monday, I hope to have all the data for all ~430 students and then we can really start testing!

You forgot to send me the updated file.

I think you need in occupy max time slots to remove the FAKE hours. A solution will be easier to find.

I will try to solve (1) and (2).

I just saw now: for subactivities 6+1+1, I force the 1+1 to be in the same block no matter what, so no matter if a subactivity is say in A1 or C1', the other will be in A or C. Is this correct?

I just saw now: for activities which are not split (duration 6), the activity group id should be 0 in the .fet XML file. Please correct.

Liviu Lalescu

I just put the new snapshot with your 1. and 2. problems solved (as usual: https://lalescu.ro/liviu/fet/download/custom/cpt/ )

I generated more times. Once it took 40 minutes! I hope time will decrease if you correct your file as I wrote you.

ChicagoPianoTuner

Quote from: Liviu Lalescu on August 03, 2019, 07:40:55 AM
You forgot to send me the updated file.
Sorry, I will send it from my personal email account (not the same one we have been using).
Quote
I think you need in occupy max time slots to remove the FAKE hours. A solution will be easier to find.
I did this.

Quote
I will try to solve (1) and (2).

I just saw now: for subactivities 6+1+1, I force the 1+1 to be in the same block no matter what, so no matter if a subactivity is say in A1 or C1', the other will be in A or C. Is this correct?
That's true. The problem, at the moment, is when the 1+1 should not be in A1, A1', B1,B1', etc. but instead should be in the other short spots (A2-A5, B2-B5, etc.).
Quote
I just saw now: for activities which are not split (duration 6), the activity group id should be 0 in the .fet XML file. Please correct.

OK, I will fix that, but I am not going to make another FET file until I get all the data next week. I am still inputting constraints manually in FET for the moment so to do it for many different activities is time consuming.

Liviu Lalescu

Quote from: ChicagoPianoTuner on August 03, 2019, 02:04:32 PM
Quote
I just saw now: for activities which are not split (duration 6), the activity group id should be 0 in the .fet XML file. Please correct.
OK, I will fix that, but I am not going to make another FET file until I get all the data next week. I am still inputting constraints manually in FET for the moment so to do it for many different activities is time consuming.

Not a big problem, fortunately, just to keep it the FET way. The constraints should remain the same, only the activities change the Activity_Group_Id. But do it when you have the power and time.