Introduction

The normal procedure of a genetic algorithm is:
  1. Generate an initial solution. Say with N candidates or individuals. In GA we will call this a population. One individual consists in our timetabling problem of many TimeInterval's. So a gene is here a TimeInterval.
  2. Recombination of the best ones, to 'produce' some children.
  3. Mutate some individuals: Change the TimeInterval's of them only slightly (e.g. different start time).
  4. Evaluate the changed individuals to 'sort' them and make the next step easier:
  5. Select the best and repeat with 2.

See here for one possible implementation in the timetabling area.

Parameter Optimization

In revision 167 (and 168) I tried to find the best parameter combination: Which one will lead us within 2minutes to the smallest evaluation?
I tried this one two different computers only 3 values for each parameter (=> 7^3), but even with that the duration was approx. 5 days!
Every combination I tried 3 times and calculated the Meanvalue and RMS-error of the evaluation. I used a fixed 'new Random(12345)' to better compare the result, but so we don't see how 'stable' the solution was. We should set Random(12345) only for the first try.



Enhancements

Through the book "Evolutionäre Algorithmen" from Karsten Weicker I get the following ideas, which could be useful for the GA of gstpl:

Please look here (in German!) for a list of additional improvements of the GA.

Our very next steps are:

Already done experiments: