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.

ChicagoPianoTuner

#270
Also, maybe a trick worth adding to the help file, and one that Volker has mentioned in the past: in addition to having one activity per student choice, create one activity per teacher-section. E.g. if teacher T1 teaches subject S1, S2, S2, S2, and S3 (five hours, three unique subjects), create five activities, no FET students, FET teacher = real teacher, tag = "teacher_activity" or something like that, FET subject = [S1, S2, S2, S2, S3]. Use activities occupy max slots from selection to link each of these activities to student selections, e.g. if 15 students selected S1, then activities occupy max slots would contain those 15 activities, + 1 teacher activity, number of slots = 1, selected slots = real hours of FET day corresponding to real teacher. For S2, if 50 students requested that course, you would do 50 + 3 teacher activities, number of slots = 3, selected slots = real hours of FET day corresponding to real teacher.

In my use case, I generated a timetable with a conflict score of 80 in about 40 minutes. Then I locked all activities with tag = "teacher_activity," and then generated again. Doing this brought my conflicts from 80 down to 38, and the second generation took ~15 seconds. The reason is because of FET unscheduling N-1 to make room for N+1, as described in my questions about 10 posts ago.

Darren McDonald

OK, I've made all suggested changes, and removed special characters.

Liviu Lalescu

Quote from: ChicagoPianoTuner on June 17, 2020, 08:43:51 PM
I have made lots of progress with my timetable today. I am now considering space. I do not believe there are any special constraints for rooms in FET-BP. It would be nice if rooms had the same custom basic constraint as students: they cannot be scheduled in the same FET hour on any day. Is that possible?

Indeed. Darren, what is your opinion? If yes, could you add this as well in your text file, because it should be easy to implement (and if I cannot implement it, I will remove it from your text file).

Liviu Lalescu

Darren: I mean, if you think it would be a good addition, write about it as if it was a mandatory option, as for students.

Darren McDonald

Quote from: Liviu Lalescu on June 17, 2020, 09:25:52 PM
Darren: I mean, if you think it would be a good addition, write about it as if it was a mandatory option, as for students.

I wouldn't have a need for this constraint in my use (which doesn't mean it's not worthwhile!), as in my case teachers typically have their own rooms, so no other constraints are needed.

I've updated the help text to include mention of this, but I'm not sure how this would work in practice. For example, if I assign a room to an activity (say, subject S1 with student A has room R1), wouldn't this prevent subject S1 with student B and room R1 from being timetabled in the same teacher/block time slot? Or would FET be modified to allow overlapping room allocations in a single time slot?

Liviu Lalescu

Hmm, CPT, but indeed, as Darren says, we cannot apply rooms in FET-BP. Not even as it is now. Because there are more activities in the same time slot and room - impossible - room overused.

Darren McDonald

Quote from: Liviu Lalescu on June 17, 2020, 09:55:34 PM
Hmm, CPT, but indeed, as Darren says, we cannot apply rooms in FET-BP. Not even as it is now. Because there are more activities in the same time slot and room - impossible - room overused.

Ah, I think I now understand how ChicagoPianoTuner was thinking of using this constraint. If a "teacher" activity is added (as described by ChicagoPianoTuner earlier), then rooms could be assigned to the teacher activity, and there would only be one such activity in each time slot, so the constraint would then make sense.

ChicagoPianoTuner

Quote from: Darren McDonald on June 17, 2020, 10:08:50 PM
Quote from: Liviu Lalescu on June 17, 2020, 09:55:34 PM
Hmm, CPT, but indeed, as Darren says, we cannot apply rooms in FET-BP. Not even as it is now. Because there are more activities in the same time slot and room - impossible - room overused.

Ah, I think I now understand how ChicagoPianoTuner was thinking of using this constraint. If a "teacher" activity is added (as described by ChicagoPianoTuner earlier), then rooms could be assigned to the teacher activity, and there would only be one such activity in each time slot, so the constraint would then make sense.
Yes, exactly this. Teacher activities get rooms; not student activities.

Liviu Lalescu

OK then, I will do it soon (I hope it to be easy). I apologize, I do not understand completely, but I will trust you.

Darren, should I use your latest text file, or do you need to modify it?

CPT, I would need an example test file (even if private). Could you help me with that?

Darren McDonald

Quote from: Liviu Lalescu on June 17, 2020, 10:15:52 PM
Darren, should I use your latest text file, or do you need to modify it?

I've made a slight modification (mentioning that rooms should only be used for "teacher" activities).

Liviu Lalescu


ChicagoPianoTuner

Liviu, I will send you an example file (privately) tomorrow. It has no room information on it - is that okay?

Liviu Lalescu

OK, but could you add rooms and preferred or home rooms constraints? Because I don't know how I should add these.


Liviu Lalescu