Changes in CVS

From: Tomaz Solc <>
Date: Mon Dec 12 2005 - 17:24:55 CET

Hash: SHA1


I would like to inform you about two quite important changes in the CVS
version of Tablix

First, I implemented a fitness value cache. My benchmarks show that it
approximately halves the time required to find a solution. Modules that
use fitness functions use caching automatically and don't need to be
modified in any way. The size of the cache can be adjusted with the
"cachesize" parameter. It is described in detail in the man page.

The second change is the support for so-called dependent events. A
module can now define an event to be dependent on another event. This
means that the assignment of the variable resources to dependent events
is no longer handled by the genetic algorithm. Instead the module
provides an updater function which assigns resources to these events
based on which resources were assigned to a specific independent event.
This is useful for example for timetabling constraints where one or more
 events have a fixed relative position to another event (consecutive
events, events that must be scheduled at the same time or in the same
room). Until now these constraints (which are trivial to solve) required
a lot of computational effort that can now be used on other constraints.

Currently only the "" module uses this new kernel
functionality, however some other modules could also greatly benefit
from this change ("", ...) If anyone is interested in
writing modules for this new API, you can take a look at the source for
"" and the functions in "depend.c".

The modified kernel is still fully binary and source compatible with
modules for 0.3.0.

Best regards
Tomaz Solc
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Thunderbird -

Received on Mon Dec 12 17:24:58 2005

This archive was generated by hypermail 2.1.8 : Tue Dec 13 2005 - 06:28:43 CET