Accordingly we need a fitness function with the above mentioned properties. Goldberg proposed the simple function
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)