In this section we are going to seek the maximum of two different functions. The first, is the following, wellstudied twoparameter function:

(4.20a) 
subject to the constraints:

(4.20b) 
For this function the maximum value is known, which, for simplicity, will be considered 18.5.
Although simple, this kind of functions with known solutions are very useful as they can be used to measure accurately the performance of different algorithms. For instance, the global minimum of the function
(4.20) above could not be found by traditional minimum seeking algorithms such as the NelderMead or the BroydenFletcherGoldfarbShanno (BFGS) algorithms (Haupt and Haupt
1998). On the other hand, less conventional methods such as GAs or GEP have no problems at all in finding the global maximum to this function
(Table 4.13). Indeed, considering 18.5 the maximum output for function
(4.20), both GEP and a GA simulation with h = 0 (GEPHZero) could find the exact parameters for which the function returns values equal to or greater than 18.5 in virtually all runs. As shown in
Table 4.13, the GA simulation slightly outperforms GEP at this simple task. Taking into account the greater complexity of GEP, it is obviously advisable to use the simpler GA simulation to solve function optimization problems with one or two dimensions. However, the simple GA is known to converge prematurely, becoming frequently stuck in some local maximum. In those cases, the finetuning capabilities of gene expression programming become indispensable as the results obtained on our second function will show.
Table 4.13
Settings for the twoparameter function optimization problem using a GEP simulation of a GA in which the head is equal to zero (GEPHZero) and gene expression programming (GEP).

GEPHZero 
GEP 
Number
of runs 
100 
100 
Number
of generations 
1000 
1000 
Population
size 
30 
30 
Function
set 
 
+
 * / 
Terminal
set 
? 
? 
Random
constants array length 
1 
10 
Random
constants range 
[0,
10] 
[1,
1] 
Head
length 
0 
6 
Number
of genes 
2 
2 
Chromosome
length 
4 
40 
Mutation
rate 
 
0.044 
Onepoint
recombination rate 
 
0.3 
Twopoint
recombination rate 
 
0.3 
Gene
recombination rate 
0.8 
0.1 
IS
transposition rate 
 
0.1 
IS
elements length 
 
1,2,3 
RIS
transposition rate 
 
0.1 
RIS
elements length 
 
1,2,3 
Gene
transposition rate 
0.2 
0.1 
Random
constants mutation rate 
0.25 
0.01 
Dc
specific transposition rate 
 
0.1 
Dc
specific IS elements length 
 
1,2,3 
Average
bestofrun output 
18.5544 
18.5351 
Success
rate 
100% 
93% 
This function is the fiveparameter function of section
4.1.2:

(4.21a) 
subject to the constraints:

(4.21b) 
The global maximum of this function is not known and, therefore, we won’t be able to compare the performance of the algorithms in terms of success rate; consequently, we will use the average bestofrun output for that purpose.
As shown in Table 4.14, in this problem, GEP significantly outperforms the simpler GA simulation. And the reason for this superiority consists exactly in the aforementioned tendency of the GA to converge prematurely on a local maximum. For instance, in the experiment shown in the first column of
Table 4.14, the maximum value found by the GA is equal to 272243, and this value was again and again rediscovered by the GA (more precisely, in eight different runs). This kind of behavior is never observed in GEP. Curiously, in all the 100 runs, GEP never found the local maximum the GA was attracted to. Instead it found much higher peaks, including 293686, 342089, 346903, 1.90464 X
10^{6}, and 3.85419 X 10^{6}. The parameter values for the highest peak are:
f (p_{1},
p_{2}, p_{3}, p_{4},
p_{5}) = (1.5701, 0.00071129, 0, 1.58036, 0.00956748) 
for which the function value at that point is:
f (p_{1},
p_{2}, p_{3}, p_{4},
p_{5}) = 3.85419 X 10^{6}. 
Table 4.14
Settings for the fiveparameter function optimization problem using a GEP simulation of a GA in which the head is equal to zero
(GEPHZero) and gene expression programming (GEP).

GEPHZero 
GEP 
Number
of runs 
100 
100 
Number
of generations 
1000 
1000 
Population
size 
30 
30 
Function
set 
 
+
 * / 
Terminal
set 
? 
? 
Random
constants array length 
1 
10 
Random
constants range 
[0,
10] 
[1,
1] 
Head
length 
0 
6 
Number
of genes 
5 
5 
Chromosome
length 
10 
100 
Mutation
rate 
 
0.044 
Onepoint
recombination rate 
 
0.3 
Twopoint
recombination rate 
 
0.3 
Gene
recombination rate 
0.8 
0.1 
IS
transposition rate 
 
0.1 
IS
elements length 
 
1,2,3 
RIS
transposition rate 
 
0.1 
RIS
elements length 
 
1,2,3 
Gene
transposition rate 
0.2 
0.1 
Random
constants mutation rate 
0.25 
0.01 
Dc
specific transposition rate 
 
0.1 
Dc
specific IS elements length 
 
1,2,3 
Average
bestofrun output 
34691.2 
98096.8 
