How to group students with shared subjects with room capacity limitations

Started by MHassanien, July 14, 2022, 12:23:55 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Liviu Lalescu

I hope I have something working. (I have a working laptop.) See the attached files in the archive.

I created the CSV files and imported and added manually the rest of constraints.

Using Block-planning mode.

Real time slots are FET hours and real rooms are FET days.

You can generate on the locked file instantly, or on the unlocked file it took 8 minutes on my laptop.

See the HTML results, the activities timetables (or others).

Please let me know what you think.

MHassanien

Hi Liviu, Thanks a lot for your amazing help. I have tried to understand and run the files but I am not sure if I get the trick.

You have used the days/week as room names and hours/day as the set of dat-time slots. So the new slot will be defined by the three, i.e. added 3rd dimension which is very smart. I didn't get how the room capacity restriction will be applied as these will be labels.

For the activates, you have defined for each student a set (tag) but not group. This mean students with the same set, e.g. course 1 and course 3 (set or with a tag course13). The set number can be different from group number. e.g. course 1 may have 10 groups as a big module, while course 3 may have only 3 groups. However, I think I am missing a point in the manual setting you are using, i.e. I am not sure what is the locked file in advanced setting will do, i.e. have you added manually other space/time constrains? I think this idea is really close and should work. I am still playing around to understand it  ;D

Liviu Lalescu

Hello, MH,

You might want to see the help for block planning mode. But this is not too important, except that each student in each real slot has a single activity.

Rooms constraints are represented by activities max simultaneous in selected time slots constraints.

Preferred slots are for speedup, excluding some impossible cases.

See all the time constraints.

The tags are used so that the activities with the same students are not overlapping-see constraints activity tags not overlapping... Hmmm... I must check the file again here, because not the FET slot is important, but the real slot. A customization might be needed.

The locked file is the one with data_and_timetable. It has automatically added locking constraints.

Tomorrow I'll arrive home on my computer, making things easier.


Liviu Lalescu

I am having second thoughts on the necessity of adding the activity tags and constraints of type activity tags not overlapping. You must know better than me. Deactivate the two constraints on the unlocked file and generate again and check the results.

I think I wanted to keep the groups together.

Also, if the number of total used slots is too large, you could use another constraint activities occupy max time slots from selection, with all activities, all slots, max allowed = progressive decreasing as you find new timetables.

Liviu Lalescu

I am home, on my computer.

I tried without the two not overlapping tags. It only solves very rarely, and slow. In the rest of time it hangs.

I tried with the two not overlapping tags. It solves fast and many times. But sometimes it hangs.

I tried to improve the code in the not overlapping tags, so that the real slots are not overlapping (a customization). It solved all the times, fast.

So you might need this customization. Let me know if you are interested and I'll provide you with it.