Skip to main content

OR Tools vs FET vs commercial timetabling: an honest comparison

Three legitimate tools for the same problem. Picking the wrong one is the kind of unfinished decision that compounds for years.

By the studio3 min readConstraint solvers · Build vs buy

Every school that needs a real timetable looks at three categories of tool: a free desktop application (FET), a commercial GUI (aSc, Untis, Lantiv), or a constraint solver (Google's OR Tools, or a custom CSP). All three are legitimate. The cost of picking the wrong one is not paid in week one; it is paid eighteen months in, when the constraint you did not know you would have arrives and the tool will not bend to meet it.

FET, the free desktop app

FET is a single binary GPL desktop application authored by Liviu Lalescu. You hand it an XML configuration, it hands you a timetable. It is a good fit for the common school case: a single institution with annual cycles, days off, room preferences, qualified teacher rules.

Best fit: one school, one timetable a year, no scaling needs.

Hard limits: FET is not a backend service and has no API. You cannot build a multi tenant SaaS on top of it; you cannot use it from a mobile app; you cannot generate a hundred variants from code. If your roadmap has any of those, FET is the wrong floor to build on.

Commercial timetabling software

aSc Timetables, Untis, Lantiv, and a few others. Mature GUIs, school domain features (substitutes, swaps, supervision duties), and pricing tiered by institution size. The buyer who wants nothing more than "a usable timetable, supported, with a phone number to call" is well served.

Where they fall over: the vendor will not extend the constraint vocabulary. In Indian schools we see split shifts, hostel blocks, language medium duplication, and the requirement to teach the same period to two sections in parallel because of staff shortages. Off the shelf vocabularies do not always carry these.

Data concerns: users often cannot export the underlying timetable model in a portable format. This is a problem in regulated environments and a problem when a school wants to switch vendors.

OR Tools and CP SAT

OR Tools is Google's open source operations research toolkit, Apache 2.0. CP SAT is its constraint programming solver. Unlike FET or commercial software, OR Tools is a solver; you build the rest of the system around it.

What you build, in order: a constraint encoder that maps your domain (teachers, sections, rooms, periods, syllabus bindings) to CP SAT variables. A model generator that emits the constraints. An explanation layer that converts UNSAT back into "You cannot have Mrs. Mathur and Mrs. Chowdhury both teaching Class 5 A first period on Tuesdays." Then versioned snapshots, an API, role aware front ends. About thirty thousand lines of code beyond the solver itself.

Where it wins: unbounded constraint vocabulary, full ownership of the model and the data, deployable as a service.

Where it costs: if a school's needs map onto a commercial product's vocabulary without friction, building on OR Tools is more engineering than the problem requires.

A decision matrix

SituationPick
One school, common constraints, no API needsFET
One to ten schools, common constraintsCommercial software
Many schools, regulated environment, custom constraintsOR Tools or a custom CSP
Single school, exotic constraintsCommercial first; migrate if it fails

What we ended up with

We chose to build a custom TypeScript CSP solver inside the in house timetable engine. The case for OR Tools was real, and we prototyped against it. We moved off because the surrounding system (the editor, the explanation layer, the versioned snapshots, the role aware UI) ended up sharing more types with the solver than with the CP SAT bindings, and a pure TypeScript core kept the boundary clean. The trade off: we own the solver, we carry the burden for its performance characteristics, and we cannot rely on Google improving CP SAT under us. We are comfortable with that for a system this small.

If you face the same decision, the honest answer is that all three categories are right for some buyer. The cost is not in the picking. The cost is in the not knowing.

Working on something like this?

Send a note. We respond within one business day.