Subgroups together in a timeslot

Started by bharatstank, March 27, 2014, 12:26:33 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

bharatstank

Hello,

I have defined Year - Group - Sub Group

Year              Group             Sub Group
MBACPM        MBA CPM L     MBACPM G1
                                         MBACPM G2

Please help me with a constraint which ensure that G1 & G2 activities are placed together.
This helps in ensuring that entire class is busy at any given time in Lecture or Tutorial/Practical

I have attached a screenshot, where FET places G1 & G2 activities together but not all (G1 & G2) activities are placed together by default. I have also attached sample FET file for your reference.

Thanks a lot in advance

Regards
Bharat

Liviu Lalescu

#1
My solution (see attached file, last time constraint) - a constraint activities occupy max time slots from selection, activities = all the activities of G1 (total  duration = 20) plus all the activities of G2 (total duration = 20), max time slots = 20, selected time slots = all slots of the week.

Volker Dirr

#2
Before doing that, please rethink again:
do you really need that? Please explain yourself: Why do you need that? (There are not many good reasons. One is for example: a) You swap students/teachers sometimes from one to an other activity without changing the timetable. or b) all students drive home with the same bus. Only saying: Because it must be at the same time is not a reason. You should have a "good" reason.)

Then you can solve it by:
a) totally fill your timetable. (in worst case with pseudo activities for group MBA CPM L)
or
b)
use activity constraints: a set of activities have same starting time.
or
c)
LATER ADDED: see Liviu answer just 2 minutes before.


But please rethink once again:
The probability is pretty high that you don't need that! You should use only a students constraint: max gaps peer week = 0 with 100%.
In most cases that is much better and you will get much better timetables for students and teachers if you simply use that constraint (maybe together with a max early = 0 constraint for the students)

bharatstank

Hello Volker & Liviu,

Thanks a lot for your support & guidance. I used constraints "Activity occupy max time slot from the Selection" for 10 Years (total approx. 216 activities) and it took approx. 15min to get the timetable.

As per the university guideline:- For a Year [MBA CPM1 (comprising of Lecture, Tutorial, Practical sessions) and having 60 students) - A lecture session for 60 students can be conducted in 1 classroom by a teacher but for Tutorial or Practical session the group max size can not exceed 30. That is the reason for creating G1 & G2

Once a Lecture session is over (which consist of G1 & G2), the same G1 & G2 students needs to be engaged in Tutorial or Practical at the same time with separate teacher in a separate room. other wise 1 group will be studying and other group will be wasting their time. Hence it was important that G1 and G2 activities are simultaneous & involved in Tutorial or Practical session. Hope this is logic is strong enough to use the above mentioned constraints.

However as suggested, I will try to use the recommended constraints and will check if I get the desired result.

Please help me understand:-

1. Every time I run FET, the activities are placed dynamically in a time slot (I mean, activities placement to a slot changes every time I run FET) - What is the best way to fix a time slot for an activity and if the activities are 200+ (as it is in my case), is it advisable to fix/lock all the activities in a time table.

2. What does the best practice says - regarding fixing the time slots for all the activities (for example 200+ activities)

3. In your below reply (what does - "in worst case with pseudo activities for group MBA CPM L") means

4. referring to your FET shared file:- can you please help me understand the 5th number (Time constraints) applied. the explanation given for the time constraints added by you is so simple that I was able to apply myself without any doubt but the 5th number time constraints (which I have applied to 10 programs but still not able to visualise it properly).

I have attached my working FET file for your reference, looking forward to your support in get the solution to the above queries.

Thanks/Regards
Bharat 





Liviu Lalescu

For 1. Please see the Settings/Advanced/Seed of random number generator/Help.

I cannot understand 4.

PS: It takes too much time to solve your file, maybe there is something wrong with it.

Volker Dirr

#5
about point 3: (what does - "in worst case with pseudo activities for group MBA CPM L") means

generate a timetable and check the group MBA CPM L timetable. you don't like it, because some activities might not be at the same time.
now check the MBACPM G1: count the number of free/unsed time slots.
do the same for MBACPM G2: count the number of free/unsed time slots.

get the lowest of both values. (in most cases it should be similar, but it also might be different.) I will call this value LOWEST_NUMBER now.

now add a pseudo activity: don't add a teacher, add group MBA CPM L, add subject "-----" and split the activity into duration LOWEST_NUMBER parts.
now generate the timetable again: you will see that  G1 and G2 won't have an other choice then being at the same time.

but like i said before: please check if that is needed! Many guys think that G1 and G2 must be at the same time, but that is (maybe) not true. you (maybe) only need a no gap constraint. you will get much better timetable for students and teachers.

Volker Dirr

#6
Quote from: bharatstank on March 27, 2014, 07:12:18 PMOnce a Lecture session is over (which consist of G1 & G2), the same G1 & G2 students needs to be engaged in Tutorial or Practical at the same time with separate teacher in a separate room. other wise 1 group will be studying and other group will be wasting their time. Hence it was important that G1 and G2 activities are simultaneous & involved in Tutorial or Practical session. Hope this is logic is strong enough to use the above mentioned constraints.

If you use a 0 gap constraint to students, then NO GROUP will waste time, because they can go home and don't need to come back that day again, because there won't be an other activity that day! So in my opinion a 0 gap constraint is all you and the students need. So the "and other group will be wasting their time" is not true. So it is a "bad" reason.

bharatstank

Hello Liviu & Volker,

Thanks  a lot for your support.
as per your suggestion I am trying to get the desired results - Placing Sub Group G1 & G2 together (in a slot) using "0 (Zero constraints) Student max gap per day" - this is helping me in getting almost all the G1 & G2 activities in a slot but few of them are still placed separately (as a single activity per slot, instead of G1 & G2 activities per slot)

Not sure, how to achieve 100% placement of G1 & G2 activities together per slot.

I am trying to simulate this on the test FET file (attached) - wherein I am exploring the required constraints to place the activities as I find it easier to manage (approx. 20 to 30 activities) instead of working file (which has 200+ activities)

Need your support in understanding, how to place G1 & G2 in a slot together.

Note:- Liviu's yesterday reply (« on: March 27, 2014, 07:52:39 AM » ) helped me in achieving the desired result, but as per your recommendation this is not the way to get the timetable - So I am trying to get the desired result using "0 (Zero constraints) Student max gap per day"

Need your support.

Thanks
Bharat

Volker Dirr

Quote from: bharatstank on March 28, 2014, 03:55:31 PMusing "0 (Zero constraints) Student max gap per day" [...] but few of them are still placed separately"

Yes, that is normal and in most cases very good! Because normally there is no reason why all must be at the same time. That is why I asked you: Are you sure you needed that? Many guys think it is needed, even that is not true. So: Do you have a good reason why it must be in a single slot? If you place them in a single slot, then you will limit the scope. That mean you won't be able to give as many free days to teachers as without that limit. You won't be able to set less gaps for teachers. And many more disadvantages.
That is why I highly recommend to do it only if you have a reason for it.

If you have a reason for it, then you can do it by one of the alternatives Liviu and me described in reply #1, #2 and #5. But don't forget: Each variant limit the scope more or less, so you can't optimise the timetables for students and teachers as good as without that alternatives.