Sun Mar 20 19:00:59 CET 2005

State of the 0.2.0 branch

Here is the update on the state of 0.2.0 branch of Tablix:

As it was discussed on the mailing list, this version of Tablix will no longer be limited to the solving of high school timetabling problems. The new kernel will be able to solve problems that involve arbitrary number of resource types (0.1.0 branch has hard coded resource types suitable for high school scheduling like "class", "classroom", "teacher", etc.) Of course this will require a completely different XML format and it will break the backward compatibility with modules. I hope this will also make projects like RotterTablix easier, because no changes in the kernel code will be necessary.

The rewrite of the Tablix kernel is approximately 75% finished. The new code is completely documented with Doxygen, which means that module developers for 0.2.0 branch will have much better documentation available. I haven't started yet with the rewrite of the XML parser, which means that the first few development releases will probably still use the old XML configuration format.

Because the new kernel is not finished yet, I can't say much how its performance will compare to 0.1.0. From the changes in the genetic algorithm I can predict that it will find the solution faster for problems that have a high number of restrictions of a certain type (for example "capability-place", "free-period", ...). Also the new kernel will have much better support for more than one teacher per lecture ("more_teachers.so" module will no longer be used).

The 0.2.0 code is currently only available from the CVS server. In a week or two when I clean things a bit I will probably release a .tar.gz package with a snapshot of the code.


Posted by Tomaz | Categories: Development