What is Tablix?

Tablix is a powerful free software kernel implementing a parallel genetic algorithm. It can be used to solve a large subset of discreet multivariable optimization problems, but is specially optimized for timetabling. Because of its modular design it is relatively simple to adapt Tablix to needs of a specific organization. Coarse-grained parallel algorithm can also fully exploit any multi-processor machine that supports PVM3 - from modern multi-core CPUs to clusters of low-end machines connected by a local area network. Specifically this means most users will want to use Tablix on Linux or another UNIX-like operating system.

Input and output is in form of specially formatted XML files, which can be exported to a variety of formats including HTML for publishing on the web and Comma-separated values suitable for import into other applications and further processing. New formats can be added by writing custom export modules.

Tablix command line interface
Tablix command line interface

Tablix kernel is developed according to the rule of separation of interfaces and engines. The kernel can be used standalone with a command line interface. Because it uses XML formatted files it is also simple to incorporate into other software packages that provide either customized user interfaces or various forms of pre- and post-processing.

G-Tablix user interface
G-Tablix is a simple school timetabling application with a graphical user interface that uses Tablix kernel as a back-end.

It should be noted that Tablix is not a fire-and-forget solution. When properly configured it can generally produce better results than for example applications using heuristic algorithms. This however in most cases requires some experimenting and manual tuning of algorithm's parameters. Adding new timetabling constraints to the kernel involves development of fitness modules in C.

tablix2_plot utility
tablix2_plot utility can be used to plot various graphical representations of the solving process.

Tablix also shares a weakness with all genetic algorithms in that it cannot in general determine if a specific problem is solvable until a solution is found. Some common mistakes are detected, however in most cases Tablix will try to solve an unsolvable problem indefinitely. This means that in order to use Tablix effectively in-depth knowledge of the specific timetabling problem and the involved constraints is required. Failing to predict a side-effect of a timetabling constraint that made a problem unsolvable is the number one problem new Tablix users face.

Tablix is free software and is available under the terms of GNU General Public License.