Back around 2001 I made Tablix (https://www.tablix.org). It was my first larger open source project. Back then the faculty I was studying in had some really inconvenient timetables for students and I initially made Tablix to show that better scheduling of lectures was possible. It used a parallel evolutionary algorithm and was written in C. Code and everything else is still on-line but it's been abandoned for a long time.
It was a mildly successful open source project around 2005 with a small community of contributors. The idea was that a school could boot a classroom of computers from bootable CDs and that would instantly create a cluster (using the PVM framework) that was then used to construct the timetable. High schools at the time were just getting equipped with such classrooms for teaching computer science.
I demonstrated it at a few institutions, applied for government grants and held some open workshops, but never was able to get any local school or faculty to use it. I learned that timetabling in institutions was as much a challenge in office politics as it was a technical problem. The largest successes that I can recall right now was that it was used in some published study of ship scheduling in the Rotterdam port and that I was paid by some Asian organization to develop some extensions they needed.
Oh yes, class scheduling is about the most political aspect of high school management. My dad is a retired high school teacher, and he served as a deputy director for several years. Part of the job is to make the schedules for everyone, and it was his most dreaded task every year.
Early in his career, it was done by hand, with large sheets of paper and moving cards around until all the pieces fit. Later, a couple of software companies came around, and they had this service where he would show up at an office, discuss the constraints with an operator, and choose among a handful options for the final schedule.
However, the crux of the problem was never the scheduling itself, but the accommodating of constraints which, given that teachers are in-class for 18-20h a week, but school is open for 30h/w, can get complicated pretty quickly. Some examples:
- Every teacher wanted to have one day with very light load, 1-2h max, so they could run other chores at home. Some people were very specific about this (i.e. they needed early Tuesday off), while others didn't care that much.
- Nobody could just have a no-class day, due to administrative and legal reasons.
- Having a gap hour without class was a big NO, because it adds to the time requirements without delivering actual teaching, so it was to be avoided at all costs.
- All things equal, senior teachers outranked their junior peers in terms of choosing class levels, lab vs lecture, etc.
- Some teachers had their own children attend the same school, and nobody wanted to teach their own kids (nor would the kids)
All in all, no matter how much time and effort he sunk into scheduling to everyone's liking, there was no perfect solution, and every single year there were aggravated teachers who would raise hell. He was called inhumane by someone who claimed the right to a free hour every morning to drop off her own kid, but only got her wish 4 days out of 5. He had peers stop talking to him over class level choices. The only reason he kept doing it was because the director was his close friend, and he asked my dad repeatedly. But he didn't wish that job on his worst enemy.
"Bill Gates was recruited to write the class scheduling software for his high school. He used that power to place himself in classes with more female students."
If you want to get an answer to your question, you should make it clear what exactly you do not understand in the statement I made.
Do you disagree with the premise? Do you think that what Bill Gates did wasn’t actually fraud?
Do you think that a politician behaving like that on a daily basis is not the essence of corruption?
> Having a gap hour without class was a big NO, because it adds to the time requirements without delivering actual teaching, so it was to be avoided at all costs
So teachers are expected to prepare and grade on their own dime?
teachers get a certain amount of prep time but its never sufficient and they do shit on their own time, all the time. plus they pay for school and class materials out of pocket routinely. I think in Ontario the average class is allocated like, $30 for the year in materials.
Teachers (at least in Spain) get a salary that covers class time and off-class duties. Most teachers don't hang out at school unless they have a reason to be there, or they prefer to work from their office, when they have one.
The problem with a gap hour (from the point of view of a teacher) is that it forces the teacher to stay in school when they don't necessarily have to. It reduces flexibility in their schedule.
Fun fact: ship scheduling in Rotterdam is a similar exercise in politics. I think the NextLogic centralized barge scheduling initiative started back in 2012 or so (https://www.nextlogic.nl/en/) and is only running in production for a handful of terminals and barge operators since the start of this year. Centralized planning is a bitch of a problem, not for technical reasons, but for political ones. I could go on and on about the various reasons parties did not want to participate, even though in principle everybody agrees that a centralized planning will be more efficient than every terminal doing it on their own.
Sounds like transit scheduling in the SF Bay Area. I forgot how many times I've seen a Caltrain depart just as a matching BART train was arriving in the station, just because they're separate agencies who technically coordinate some schedules, but in practice don't have any system constraints to enforce synchronized transfers.
When my sister graduated for her Electroengeering degree there was a fellow who wrote his master thesis about how to efficiently schedule bus lines.
If I remember correctly one of the findings was that it would make sense to not let all buses start or finish at a bus/train station. I found that interesting. Maybe I can find it.
I don't understand;you're suggesting it would be more efficient to pickup/dropoff at random points in the city?
That would just decrease the stop-to-passenger effeciency in favor of passenger-to-walktime, but the optimization should be trying to favor the former?
I have an Industrial Engineering background and have used optimality solutions. The biggest hurdle I've found with "selling" optimality solutions is explaining the benefit. While it is great to show the technical and optimal savings it isn't always clear to the final user of the solution.
The best way to "sell" the solution is to translate it to real savings that the end user understands. For instance if it is a public municipality show them how much time is saved to open up resources. For private institutions show them how much money is saved that will improve profits or reduce costs.
It was a mildly successful open source project around 2005 with a small community of contributors. The idea was that a school could boot a classroom of computers from bootable CDs and that would instantly create a cluster (using the PVM framework) that was then used to construct the timetable. High schools at the time were just getting equipped with such classrooms for teaching computer science.
I demonstrated it at a few institutions, applied for government grants and held some open workshops, but never was able to get any local school or faculty to use it. I learned that timetabling in institutions was as much a challenge in office politics as it was a technical problem. The largest successes that I can recall right now was that it was used in some published study of ship scheduling in the Rotterdam port and that I was paid by some Asian organization to develop some extensions they needed.