lab scheduling

From: Vieri Di Paola <vieridipaolaREMOVE@THISyahoo.com>
Date: Mon Mar 13 2006 - 02:17:29 CET

Hello,

I'm new to this list and to Tablix. I installed it on
Gentoo Linux but haven't used it yet.

I would like to know if Tablix can help me. My
scheduling problem is as follows:

- there are 12 researchers,
- 7 jobs to cover (Q1,Q2,Q3,Q4,Ext. Cons.,Ext. Q.,G)
daily (mandatory),
- 6 laboratories (Q1,Q2,Q3,Q4,Ext. Cons.,Ext. Q.)
working 7 days a week (constantly).
- one researcher per job, daily. (thus at any given
day, 7 out of 12 are working)

Each researcher is assigned randomly to a lab and a
job, daily.
Thus, every researcher will eventually have performed
all 7 jobs in all 6 labs (rotating staff).
Actually, staff rotation is mandatory.

There are of course several other restrictive
conditions to meet but will not mention them at first,
for simplicity.

Although at first I thought I could link these data
types to a school timetabling problem (i.e.
researcher->teacher, jobs->classes, labs->rooms), I
found that the timeslot/time array scheme is
inappropriate. While it makes sense for a school
timetable to be based on a 5-day period, our schedule
wouldn't "fit" on a 7-day weekly basis (am thinking of
adapting it to a monthly cycle). Nevertheless, it
would have to be more dynamic because researchers can
go on vacation at any given moment, can be ill, may
need to travel and thus require a substitute (12 - 1),
etc.

I considered the following, basic XML representation:

<resources>
                <constant>
                        <resourcetype type="teacher">
                                <resource name="Dr. Smith"/>
                                <resource name="Dr. Rosewood"/>
                                <resource name="Dr. Johnson"/>
                                <resource name="Dr. Hoffman"/>
                                <resource name="Dr. Harvey"/>
                                <resource name="Dr. Ellison"/>
                                <resource name="Dr. Hoskins"/>
                                <resource name="Dr. Coleman"/>
                                <resource name="Dr. Evans"/>
                                <resource name="Dr. Santos"/>
                                <resource name="Dr. Taylor"/>
                                <resource name="Dr. Baker"/>
                                <resource name="Dr. Dubois"/>
                                <resource name="Dr. Petrini"/>
                                <resource name="Dr. Kerry"/>
                        </resourcetype>
                        <resourcetype type="class">
                                <resource name="Q1"/>
                                <resource name="Q2"/>
                                <resource name="Q3"/>
                                <resource name="Q4"/>
                                <resource name="Ext. Cons."/>
                                <resource name="Ext. Q."/>
                                <resource name="G"/>

                        </resourcetype>
                </constant>
                <variable>
                        <resourcetype type="time">
                                <matrix width="30" height="7"/>
                        </resourcetype>
                        <resourcetype type="room">
                                <linear name="#" from="1" to="6"/>
                        </resourcetype>
                </variable>
        </resources>
        <events>
                <!-- class Q1 -->

                <event name="Smith" repeats="??">
                        <resource type="teacher" name="Dr. Smith"/>
                        <resource type="class" name="Q1"/>
                </event>
                 --- repeat EVENT for each researcher

---
		<!-- class Q2 -->
                <event name="Smith" repeats="??">
			<resource type="teacher" name="Dr. Smith"/>
			<resource type="class" name="Q2"/>
		</event>
                 --- repeat EVENT for each researcher
---
		<!-- repeat classes (jobs) Q3 through G -->
	</events>
</ttm>
The two points I'm not sure of are:
1) <event name="RESEARCHER" repeats="??"> (can't
determine correct value for "repeats")
2) <resourcetype type="time"><matrix width="30"
height="7"/> (height=7 because 7 jobs a day, width=30
because considering a full month (although days vary).
I would of course prefer width=7 (full, constant week
period) but I'm not sure that would work.) 
I've only started with a simple base model to see if
Tablix can cope with this situation.
Has anyone on this list dealt with this problem
before?
Suggestions/comments/links are greatly appreciated.
Best regards,
Vieri
__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
Received on Mon Mar 13 02:18:01 2006

This archive was generated by hypermail 2.1.8 : Mon Mar 13 2006 - 06:27:46 CET