Jump to content

Recommended Posts

Posted

Hi,

 

Does anyone have any recommendations for software for making up a school timetable .... preferably free software please?

 

I've seen some room booking stuff which is pretty good but want something that will create timetables for the school.

 

Any ideas?

 

Thanks

Posted
Would be interested in hearing of such software, as for the last several weeks my LM has been struggling with a spreadsheet to try and sort out the timetables for next year...
Posted (edited)

Free timetable software . . . for timetabling school timetables . . . for easier scheduling. looks interesting, never used it before though(first one that came up in a google search)

 

We currently use NovaT6, prior to that Timetabler(not the above) was used, NovaT6 isnt too cheap but I think Timetabler was much cheaper(used before I joined).

 

Why does the software need to be free? surely timetabling is a critical part of running a school and as such should be funded pretty much no matter the cost unless you've got someone with the time to spare. Even using nova takes our timetabler a few weeks to sort out even though we're not the biggest of schools.

 

Edit, the above program is not actually free and looks as though its the same one we used before NovaT6. Our timetabler liked it either way - not sure why we switched over to Nova.

Edited by Jamman960
Posted
Any ideas?

 

The timetabling (or "rostering") problem is NP-Complete. It does, however, seemingly "respond well to genetic algorithmic approaches" to solutions, i.e. you can't simply sit in a for loop and chug through every possible combination of classes, pupils and times until you hit a solution because it will take you 10,000,000 years, but you can try evolving a best-fit solution. So far I understand the general principle of programming genetic algorithms easily enough - you just represent programs as syntax trees in a basic tree-style data structure then chop-and-change them around a bit each generation, basic second year computer science stuff. The bit I don't quite get is how you represent a timetable as a program in the first place - or do you aim for a program that takes a fixed data set and processes it into the timetable you want?

 

--

David Hicks

Posted
My suggestion to our Dep. Head was to give each teacher a stack of tiddlywinks, Green, Yellow and Red. They then wrote each subject on a wink. Green - Confident; Yellow =- OK; Red - Rather Not. She then has a blank timetable and allocates the Green counters, followed by the Yellow. I suspect that any system would require a fair bit of manual tweaking and that a totally manual system like this would be as quick and efficient as any computer program.
Guest monkeyx
Posted

I helped schedule the timetable using our MIS scheduler (Serco Facility) this year.

 

How does using these third party schedulers fit in with using an MIS ?

 

ie our timetable forms the basis for assessments,reports, behaviour and attendance etc within the MIS.

Posted (edited)
Free timetable software . . . for timetabling school timetables . . . for easier scheduling. looks interesting, never used it before though(first one that came up in a google search)

 

This one isn't as free as it first appears: http://www.timetabler.com/PDFs/OrderForm.pdf

 

We trialled Mimosa (http://www.mimosasoftware.com/mimosa.html), again not free, but not too expensive. It's quite good... we didn't get it because the budget goalposts got moved!

Edited by elsiegee40
Posted
I helped schedule the timetable using our MIS scheduler (Serco Facility) this year.

 

How does using these third party schedulers fit in with using an MIS ?

 

ie our timetable forms the basis for assessments,reports, behaviour and attendance etc within the MIS.

 

Some timetabling software does integrate although I'm not sure how that'd work with sims... they'd probably want to charge you for the patch to enable timetables in the first place :(

Posted
The timetabling (or "rostering") problem is NP-Complete. It does, however, seemingly "respond well to genetic algorithmic approaches" to solutions, i.e. you can't simply sit in a for loop and chug through every possible combination of classes, pupils and times until you hit a solution because it will take you 10,000,000 years, but you can try evolving a best-fit solution. So far I understand the general principle of programming genetic algorithms easily enough - you just represent programs as syntax trees in a basic tree-style data structure then chop-and-change them around a bit each generation, basic second year computer science stuff. The bit I don't quite get is how you represent a timetable as a program in the first place - or do you aim for a program that takes a fixed data set and processes it into the timetable you want?

 

--

David Hicks

 

Creating a GP/GA that has the correct representation and an appropriate fitness test is...difficult. I personally prefer Grammatical Evolution, but that probably has something to do with a number of my people at my uni being GE-biased and so heavily promoting it ;).

 

For a timetabling problem you'd probably be looking at a fitness function that returned a default fitness if it successfully timetabled all classes, and then biased the results based on how many rooms were being used/what rooms were being used/how many frees certain teachers had etc. Representing the search space etc however is difficult, and would need some thought to produce an efficient encoding.

 

My personal preference however is to solve timetable problems as a constraint optimisation problem/constraint satisfaction problem :)

Posted

We use this:

 

FirstClass - Timetabling Excellence

 

Timetabler seems to like it. What's good for staff and students is that there is a web interface, and you can log in to find kids/rooms/teachers timetables, plus class/subject lists etc. I think the kids can log in and get their timetables, and maybe teachers' also if they're looking for a particular teacher. No secrets at our school!

Posted
Creating a GP/GA that has the correct representation and an appropriate fitness test is...difficult. I personally prefer Grammatical Evolution

 

Quickly reading up about Grammatical Evolution, it seems to be basic genetic programming but with functions that take differing input types, which would seem to add to the difficulty of thinking up a suitible set of functions in the first place.

 

For a timetabling problem you'd probably be looking at a fitness function that returned a default fitness if it successfully timetabled all classes, and then biased the results based on how many rooms were being used/what rooms were being used/how many frees certain teachers had etc. Representing the search space etc however is difficult, and would need some thought to produce an efficient encoding.

 

Indeed. I was thinking that what would probably work is to try and evolve a program that takes as input sets of data - subjects and pupils - and processes that data into a number of timetables. A fitness function would then count the number of clashes in each timetable, with the one with the fewest clashes going through to the next round.

 

It strikes me, though, that there must be someone out there who's done a PhD in this kind of thing and who's produced a reasonably readable paper detailing their algorithm. It doesn't neccesarily have to be the best algorithm, either, just a reasonable one. IIf you have any experience with solutions to the timetabling problem I'd appreciate any pointers you might have.

 

My personal preference however is to solve timetable problems as a constraint optimisation problem/constraint satisfaction problem :)

 

I don't know what either of those are, can you explain a bit more?

 

--

David Hicks

Posted
Quickly reading up about Grammatical Evolution, it seems to be basic genetic programming but with functions that take differing input types, which would seem to add to the difficulty of thinking up a suitible set of functions in the first place.

 

 

 

Indeed. I was thinking that what would probably work is to try and evolve a program that takes as input sets of data - subjects and pupils - and processes that data into a number of timetables. A fitness function would then count the number of clashes in each timetable, with the one with the fewest clashes going through to the next round.

 

It strikes me, though, that there must be someone out there who's done a PhD in this kind of thing and who's produced a reasonably readable paper detailing their algorithm. It doesn't neccesarily have to be the best algorithm, either, just a reasonable one. IIf you have any experience with solutions to the timetabling problem I'd appreciate any pointers you might have.

 

I'll have a look through my notes and see if I can dig up anything. I'm fairly sure I've read a few papers on the subject and may even have some of them saved!

 

 

I don't know what either of those are, can you explain a bit more?

Essentially you provide a set of constraints to solve your problem, and the solver goes away to figure it out. It get's a lot more complicated when you try to do it efficiently to reduce the search space and speed up the time it takes to find a solution, but typically most timetabling systems are in fact constraint satisfaction programs.

 

It's a huge area with lots of work being done on it, but typically you prototype using a logic programming language like ECLiPSe (a dialect of prolog designed for constraint problems - ECLiPSe Home) and then once you've got it working well you reimplement in C or similar.

 

Because of how it works you can get some very small programs to do hugely complex tasks, like solving any N*N Suduko using essentially 3 statements.

 

There's a powerpoint presentation introducing CSP at http://87.230.22.228/reports/eclipse.ppt from the University of Kent and going through some examples in ECLiPSe. It can get a little mathematical though, particularly once you start getting into optimising the outputs to get you hopefully a good solution.

 

If you want any more info just ask - hopefully I might even remember the answer!

Posted
typically you prototype using a logic programming language like ECLiPSe (a dialect of prolog

 

Darn. I was fine up until you said "Prolog". Thankyou very much for the links to the background reading, I'll have a go and see what I can figure out...

 

--

David Hicks

Posted

I've always wondered why these pieces of software look like they were designed on windows 3.1?

 

Some of the colour schemes are horrendous :rolleyes:

  • 2 weeks later...
Posted

So, has anyone had a chance of loading this (FET) software and trying it?

 

I'm assuming that as it is on schoolforge then it should be pretty safe to install?

It has a .ro address which I think must be Romania - safe to use do you think?

 

Thanks

  • 9 years later...
Posted
I've always wondered why these pieces of software look like they were designed on windows 3.1?

 

Some of the colour schemes are horrendous :rolleyes:

 

Because software scales, but design doesn't.

 

Your program consists of 2 parts, the core logic, and the UI. The core logic can stay the same for decades, but the UI must adapt from text to wimp to web to touch.

 

UI takes much more time up, and requires different skills, including paying a designer in many cases

Posted

You don't say if this is for a primary - or secondary school.

 

While timetabling may seem to be rule and constraint based....its extraordinarily involved....having to deal with variable lessons in days, part time teachers, room restrictions, departmental requests, etc etc. Simply gathering and understanding all the information required of it at the outset can be impossibly hard...only for it to later vary when students drop out of sets, get poor marks in summer exams and so change their options, and staff unexpectedly leave. Small school timetabling can be harder than large schools ones because one small restriction can have a massive impact. At the end of the day - its likely that your final and best timetable hasn't met various of the original "contraints"...you might well have two lessons of maths on the same day for a group, or split a double lesson across a break...or negotiate a different day off for a part time teacher...

 

So expecting to find anything for free...is probably asking for a miracle....especially if you expect it to create the timetable for you. It may well be that there are various tools (and its amazing what you can do with a spreadsheet if you are good with lookup and search in formulae) to produce teacher timetables from a master timetable, and/or check for double entries....

 

Those who are good at timetabling will have shadowed an experienced timetable for several years before gaining enough experience to do the job well.

 

You pay for your MIS system right? Of course you do...because its complicated and you need it. So you will need to pay for a timetabling program too....and just like MIS systems...you will still moan about its shortcomings and inadequacies.

Posted

I created a massively complex excel file to create individual timetable views from the master sheet, deciding what lesson was on at what time was manual.

 

But yeah, the main problem is the UI, which is expensive. And then when you have your imperfect first attempt auto generated, more UI for the user to tell the algorithm which was to attempt to fix it.

 

That's on top of the core algorithm being hard to write

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...