Accordingly we need a fitness function with the above mentioned properties. Goldberg proposed the simple function
(5.11) | |||
(5.12) | |||
(5.13) |
Using our population from above we can identify the first two elements and translate these binary patterns into decimal numbers with the aid of the scilab function from program GA_v4.sce:
-->element1=Pwork(1,:) element1 = 0. 1. 0. 0. 0. -->l=5,[d]= vec2dec(element1,l) l = 5. d = 8. -->element2=Pwork(2,:) element2 = 0. 1. 0. 0. 1. -->l=5,[d]= vec2dec(element2,l) l = 5. d = 9.
The fitness value can then easily be computed. With the possible members in the realm of we have a possible range of fitness values between . If we assume as a possible threshold then we have as set of selected fitness values . Then we get as maximal value . Then we get as possible goal for a genetic process . Thus we will have '124' as '100%'.
One simulation of this population could then show results (cf. diagram 5.11) where the fitness of the whole population stays below 30% all the time when not using mutation.
Invoking a simulation using the scilab function from the program GA_v4.sce:
-->POP=Pwork, l=5,p=5,n=4,run=100,MThreshold=run,[POP,FITNESS_ALLLOG]=gasimple(POP,l,p,n,run, MThreshold)
Gerd Doeben-Henisch 2013-01-14