sclique.c: generates timetabling/graph-colouring problems based on starting with a specified number of disjoint cliques and adding extra edges between them probabilistically. You can require that the generated problem be solvable, or you can leave it to chance.
pyramid.c: generates a very specific class: C cliques of size N each, but cliques 1 and 2 overlap by (N-1), 2 and 3 overlap by 1, 3 and 4 overlap by (N-1) etc .. and cliques C and 1 overlap by 1. So it's rather like a ring of overlapping cliques. Given N colours, each node involved in an overlap-by-1 obviously has to be the same colour as the others of that kind. A GA that takes a direct-encoding approach is going to run into the problem that solving each clique adds benefit, but the need to co-ordinate the colouring of far-separated cliques doesn't emerge as vital until its very late. This is about as clear an example of the competing-conventions issue as I've yet seen.
clump.c: produces yet more timetabling/graph-colouring problems. It generates clusters of nodes and you specify the probabilty of intra-cluster and inter-cluster edges. You can also specify that you want to ensure that timeslots/colours are not too close for any individual. The problem produced is guaranteed solvable.
random.c: a `standard' version of random()/srandom(). I use
these a great deal; they are pretty good, and
it means I can just record the random-number seed
and parameters if I want to be able to re-generate
the same runs in the future.
For more information, please contact
William M. Spears.
Last modified: 07/29/99