Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.


I have a set of duties I must schedule employees for. The duties recur weekly over a two-month period. There are a number of constraints that define a good schedule. (See below for examples.) In the past, I've made the schedule by hand, but doing it by hand is time-consuming and virtually guarantees a buggy schedule.

I'm looking for software that will make the schedule for me. I've tried TaskJuggler, but I'm not sure whether it's even capable of doing what I want (the documentation is unhelpful and the folks on the mailing list merely tell me to read the documentation--which I've done without conclusive results).

Can anybody recommend something? I prefer something I can run on Linux, although I have access to Windows XP if absolutely necessary. Additionally, my budget is zero--or what I'm willing to spend out of pocket--as my employer has no intention of paying to automate this task.


Example schedule

Here's an example schedule. Note that since this one was handmade, it contains an error or two.

Example schedule

Example constraints

Here are some of my constraints:

  • All scheduled duties must be able to be manually-specified.
  • Each teacher must have exactly two weekends off. Some weekends are defined as mandatory working weekends; no teacher may have those weekends off. Other weekends may be mandatory off weekends; such weekends have no scheduled duties and count toward each teacher's two weekends off. Finally, there may be other weekends which have no assigned duties but nevertheless don't count toward teachers' two weekends off.
  • Duties should be assigned as evenly as possible. This means that so far as possible, each teacher must have a given duty the same number of times, have each different duty an equal number of times, and have an equal weight of duties on a given weekend (see below for weighting duties). Where this is not possible, the surplus duties should be balanced between teachers. Ideally, surplus duties should be scheduled taking into account each teacher's preferred duties; thus, a teacher who prefers the children's story might get it an extra time instead of one who really doesn't like it.
  • No teacher should have the same duty on consecutive weeks.
  • No teacher may be scheduled on their weekend off.
  • No teacher may have simultaneous duties.
  • The major duties are TGIF and the sermon.
  • No teacher should have another duty on the same day as they are scheduled for a major duty.
  • No teacher should have more than one major duty per week.
  • If possible, no teacher should have a major duty on consecutive weeks. This, however, is not a particularly high-priority constraint.
share|improve this question

closed as off-topic by Olli, Heptite, Kevin Panko, random Feb 14 at 5:11

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking product, service, or learning material recommendations are off-topic because they become outdated quickly and attract opinion-based answers. Instead, describe your situation and the specific problem you're trying to solve. Share your research. Here are a few suggestions on how to properly ask this type of question." – Olli, Heptite, Kevin Panko, random
If this question can be reworded to fit the rules in the help center, please edit the question.

I went to your site but the email you tab/menu option goes to some PHP error. I have scheduling software but I want to get some sample scenarios from you before promising the earth on its abilities. Cheers –  kingchris May 17 '11 at 7:40
@kingchris: You can find my email address on my personal website. Please be more specific about what you're looking for regarding sample scenarios and how the information I've already provided is insufficient. –  Scott Severance May 17 '11 at 12:07
This might as well be closed, as a satisfactory answer presumably doesn't exist. –  Scott Severance Oct 20 '11 at 5:43
@ScottSeverance if you really want to, I can close it as "too localized" for you - it is pretty specific. However, if you think there's even a slight chance it might get answered some day, you might as well leave it open - sometimes questions get answered satisfactorily months or even years later. If you've figured out an alternate solution, please answer the question yourself, and mark that as the accepted solution. @-tag me in a reply comment or flag it again if you'd like the question closed, but do consider that you really don't have to. –  nhinkle Oct 20 '11 at 5:47
add comment

2 Answers

The best source for finding any type of school-management tool is the website Capterra - School Administration Software Tools, where you can browse software tools as well as offers in your area.

Some free software tools (that are also probably to be found on Capterra) are :


Mimosa is a scheduling and course planning software for use in any kind of school and university of varying type and size. Besides academic timetabling, it is also used to schedule conferences, work-shifts and miscellaneous other tasks in business and industry environments where complex combinations of limited resources must be efficiently assigned to timetables. The application is slim, fast, flexible, user-friendly and has an extremely large capacity. It has a very rich set of efficient optimisation and interactive tools for all kind of scheduling tasks, and there are altogether 600 menu selections available, although you normally use only a very small fraction of them. Mimosa has become very popular and spread fast through the Internet to several schools and businesses in 68 countries and on all continents.

FET Free Timetabling Software

FET is open source free software for automatically scheduling the timetable of a school, high-school or university. It uses a fast and efficient timetabling algorithm. It is licensed under GNU GPL.

Usually, FET is able to solve a complicated timetable in maximum 5-20 minutes. For simpler timetables, it may take a shorter time, under 5 minutes (in some cases, a matter of seconds). For extremely difficult timetables, it may take a longer time, a matter of hours.

share|improve this answer
Thanks for the links. So far, no dice. If FET or Mimosa are able to accomplish what I want, I haven't been able to figure it out. And Capterra seems to be broken--or at least it isn't giving me any useful leads. It seems that the school administration software I've seen never conceived of my problem. –  Scott Severance May 6 '11 at 7:26
Capterra seems ok to me : I placed a check-mark on the left above for Windows, then below that "For higher education" and "For Private Schools", then clicked "filter now" and got 48 products. –  harrymc May 6 '11 at 10:51
Since you've given the only answer, I've awarded the bounty. While I very much appreciate your help, I don't, however, consider this question answered. I'm considering the possibility that a satisfactory answer might not exist. –  Scott Severance May 8 '11 at 5:09
Or that to find a semi-satisfactory answer, one would have to try 48 products ... –  harrymc May 8 '11 at 6:43
add comment

I realize this question is almost 3 years old, but I think I found a program that might answer (or come close to answering) your question, FET: http://www.lalescu.ro/liviu/fet/news.html

You can define teachers, activites, rooms, time slots and many different requirements/constraints.

You just have to understand that FET hours and days are just abstract time units that can be renamed and used as you please. For example, one FET "day" could represent a two-month period, and one FET "hour" could represent a week-end. To make it clearer, you could rename the first hour as "Mar 3-5" and the second hour as "Mar 7-12".

You specify all the constraints, and let FET find a solution (if any). You'd get a table that's very similar to the one you posted.

Hope it helps, Eric

edit: this program should work on Linux, even though I could only try it on WinXP

share|improve this answer
When I tried FET before, I couldn't determine how to accomplish what I wanted, or whether it was even possible. By this time I no longer have a use for such software so I don't have time to test it. Nevertheless, thanks for the answer. –  Scott Severance Feb 13 at 23:55
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.