Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Hrobky

#1
Get Help / Re: Please help with room allocation
May 10, 2009, 12:33:50 PM
QuoteBut I do not want any space constraint. I just want the activities in some rooms, it does not matter where...
Implementing "every activitiy must get a room" would be beautiful! Becuse it's not fully replaceable by "An activity tag has a set of preferred rooms".

You can add activity tag to every activity and set all rooms to be preferred for that tag, but preferred rooms take precedence over home rooms. As a result FET could generate time tables where classes unnecessarily change rooms with each other.

Another approach is to define additional preferred room constraint with small weight (const*100/n_classes). But this actually just ensures schedules not to be "too bad" - FET does not find optimal schedule (not possible) - just one with < 100% weight. (Tell me if I'm wrong) This is because when placing an activity you don't know which constaint is better to break: this one or one that arises in the future based on this decision.

Is the order of preferred rooms considered too? Or are they choosen from the set randomly? Is it possible to create an activity tag for each class (student set) and corresponding space constraint defining home room as the first in the list?

I think that the easiest way to implement this is to consider the home room (try to place the activity there) every time a space chioce is made. Or just giving it greather chance, if the algorithm is not based on backtracking. Moreover, it would be great if the home rooms enumeration was done recursively: If you set R1 as home room for year Y1, then it should be preferred for all the groups of Y1. This practically means that when a lesson is split to two rooms, it is preferrable that one group stays in the home room.

PS: Another init check should be added: peferred rooms enough time-slots. Problem: 1 Day, 3 time slots, 3 years-teachers-activities - each activity occupies 2 time-slots, enough (3) rooms, not enough (2) preferred rooms. Each activity has the same preferred rooms (R1, R2) 100% weight.
With this scenario FET will never yield output: it seems that we have enough space: 2 rooms * 3 time-slots = 3 activities * 2 time-slots each.
I think that 5 minutes should have been enough for the algorithm to test all possibilities, but it seems that it's not based on backtracking. Is it a bug in the cycle-detection part?
The problem is that this check is equivalent to solving a knap-sack problem over the rooms :(