Source file genetic.c - 2nd part!

From: Giovanni Perego <>
Date: Sun, 06 Sep 2009 13:41:24 +0200

I am sorry but my previous mail has started while I was still completing
it; so the last sentence is not completely understandable...
So, I was saying about GA algorithm (I have removed the last sentence):

I have also noticed the followings:
- it is never possibile to extend mutation to a larger part of half the
population; since Tablix is a GA engine, I think it should permit all
parameters combinations, even if strange.
- it is not possibile to vary the population percentage used as parents
I suppose that it could be of some interest to introduce one more control
parameter to be able to modify this values too; keeping that mutation and
randomization must be applied only on the parent part and children are
produced by crossover procedure, I was thinking to modify the code and the
help text, according to this one (this correct also the difference among
code and help I was talking about):

     What part of full population will be transmitted to the subsequent
     generation and will be affected by mutation and randomization.
     Default is 2 (the best half will be transmitted, mutated and
     randomized, the worst part will be recalculated by crossover);
     with value 1, no crossover is performed, no children is produced
     and next generation will be the current one with eventual
     mutations and randomizations.
     What part of the parent population will mutate each generation.
     2 means one half of parent part, 3 means one third, etc.
     Default 4.
     What part of the parent population will be randomized each
     Default 6.

Nevertheless, I am not sure this could be really useful for the GA results:
I have tried to search the mathematical details of Tablix GA, since I
remember I have read them a long time ago in manuals but I did not
succeeded to find and reread them to verify my hypothesis.
Where can I find them? And, according to your experience, do you think it
could be of some general interest that I modify genetic.c (adding parameter
"parentpart" and modifying the other two) and send you the result (so, not
just for my tests)?
Best regards

>Date: Tue, 01 Sep 2009 00:26:00 +0200
>Subject: Source file genetic.c
>Hi Tomaz
>Lately I have studied your source file "genetic.c" to understand exactly
>the behavior of genetic parameters, since I must make some test with
>unusual values.
>I have noticed that there is some difference among the man page relative
>to genetic parameters "mutatepart" and "randpart" and the source code. In
>the source, values for these parameters are actually doubled, since
>mutations are performed only on the first half of the population. I think
>you'd better correct the man page to reflect this situation or to add the
>explanation that the first half of the population is the parent part and
>the second is overwritten and used as children.
>I have also noticed the followings:
>- mutations are made also on some individual with the highest fitness
>since, at the start, the population is checked for sequences with same
>fitness and some of these are raised to the maximum value; it seems to me
>that these individuals will be overwritten soon by the next mating phase,
>since they will be put at the end of population by the qsort procedure;
>this means that those mutations could be useless. You could introduce a
>cycle to repeat the draw of the individual to be mutated when it hits that
>fitness. Anyway I don't know how many times this could happen on each
Received on Sun Sep 06 2009 - 13:41:54 CEST

This archive was generated by hypermail 2.2.0 : Mon Sep 07 2009 - 06:28:32 CEST