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 - stuartsjb

#1
Hi Liviu,

Many thanks for thinking about this for me! I could certainly send you a version of my data file (with the names changed, and my progressive constraints removed) -- how should I send it?

For me, an optimal solution is one that makes both 'teachers' and 'classes' finish as early as possible. The ideal would be that every 'class' would start with an activity in Slot 1, and then have every following slot filled until they finish. Similarly, though less critically, for teachers: they would start as early as possible and then have no gaps until they finish. This doesn't tend to be possible, of course, but every deviation from this ideal should be minimised.

Commonly, when I first generate a timetable at present, I initially get solutions that involve a student having their single activity right at the end of the day; or students with two activities having them in the first and last session, for example. I'm trying to let students travel back home as early as possible, with as little waiting around as is feasible; and where possible I'm also trying to minimise the disruption for the 'teachers', by having all their programmed activities in as short a chunk as possible.

It's definitely a tribute to the flexibility of FET that the optimisation procedures that you've created can be applied to such a different context as this!

Best wishes,
Stuart.
#2
Understood -- thanks! I think when I tried the 'max beginnings at second hour', I was finding that this constraint was met, but I'd find that a student with two interviews might then end up with one at the start of the day and one at the very end -- not ideal! I can't just use a 'max gaps' constraint, because there will always be an exception to the rule that means that I have to allow quite a lot of gaps ... just to cater for a handful of students.

From what you're saying, I think I'm probably working along the right lines already, by generating a timetable, and then looking for teachers with lots of gaps and gradually making them unavailable at the end of the day. That seemed the best way to optimise the result -- I'm pleased that I'm not missing some constraint that essentially does that automatically!
#3
Hi Volker,

Ah at the moment I just make each student a year group, each interviewer a teacher, each interview type a subject, and each of our sites a building -- it works really well! For two years running now, FET has saved us some considerable timetabling headaches on the first evening of our two-day recruitment event.

I'll give those two constraints a go next time -- although I think I did try those before. My understanding is that both those constraints need to be set at 100%. However it won't be possible in all cases: there will always be some students and teachers where there won't be a solution that doesn't involve them starting late and/or having more gaps in the day. What I'm really trying to do is to ask FET to try to push all activities towards the start of the day where possible, and only using later slots where necessary.

Perhaps I'm doing the right thing already as a consequence: adjusting the constraints gradually, re-running 'generate timetable' repeatedly until it's only just possible to find a solution?

Stuart.
#4
This program is fantastic. I'm using it to schedule student interviews over a two-day event at a university, as this has complicated requirements that are very similar to school timetabling.

One requirement that would be useful to me is the ability to tell FET to schedule all activities as early as possible. That is, I usually want everyone (teachers and classes, in FET terminology) to finish as early as possible, with as many of the gaps at the end of the day as possible.

Currently I do that by gradually making teachers unavailable during late slots in the day, and/or by fixing some activities. However this is time-consuming, and I haven't found a neat way to do this using constraints. Might it be possible or useful to add a 'schedule all activities as early as possible' constraint, to avoid FET spreading activities out over a day, please?

Thanks again for such a helpful program.

Stuart.