# A Direct Search Algorithm for Global Optimization
## 4 Experimental Study
### Selection of the GDS Parameters  
The performance of the GDS algorithm for different parameter values has been empirically analyzed by means of extensive computer studies. Our algorithm has been implemented in the scientific software MATLAB [63], and its performance has been successfully compared to the global optimization strategies that are implemented in the Global Optimization Toolbox of MATLAB. The GDS algorithm has a number of configurable parameters, and this comparative study allowed us to select a set of parameters that are appropriate for many problems. The expansive and contractive factors are set to \(\rho=1.05\) and \(\sigma=0.5\). It is convenient to take the expansive value slightly greater than one to avoid evaluating points already checked in previous iterations. However, large values of \(\rho\) usually \begin{table}
\begin{tabular}{l l} \hline \hline
**Func \#** & **Description** \\ \hline
1.01 & Sphere \\
1.02 & Ellipsoid separable with monotone x-transformation, condition 1e + 06 \\
1.03 & Rastrigin separable with both x-transformations condition 10 \\
1.04 & Skew Rastigrin–Bueche separable, condition 10, skew-condition 100 \\
1.05 & Linear slope, neutral extension outside the domain (not flat) \\
2.06 & Attractive sector function \\
2.07 & Step-ellipsoid, condition 100 \\
2.08 & Rosenbrock, original \\
2.09 & Rosenbrock, rotated \\
3.10 & Ellipsoid with monotone x-transformation, condition 1e6 \\
3.11 & Discus with monotone x-transformation, condition 1e6 \\
3.12 & Bent cigar with asymmetric x-transformation, condition 1e6 \\
3.13 & Sharp ridge, slope 1:100, condition 10 \\
3.14 & Sum of different powers \\
4.15 & Rastrigin with both x-transformations, condition 10 \\
4.16 & Weierstrass with monotone x-transformation, condition 100 \\
4.17 & Schaffer F7 with asymmetric x-transformation, condition 10 \\
4.18 & Schaffer F7 with asymmetric x-transformation, condition 1000 \\
4.19 & F8F2 composition of 2D Griewank–Rosenbrock \\
5.20 & Schwefel x sin(x) with tridiagonal transformation, condition 10 \\
5.21 & Gallagher 101 Gaussian peaks, condition up to 1000 \\
5.22 & Gallagher 21 Gaussian peaks, condition up to 1000, 1000 for global opt \\
5.23 & Katsuuras repetitive rugged function \\
5.24 & Lunacek bi-Rastrigin, condition 100 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Description of the functions used in the experimental study. produce slow convergence. Consequently, values in the interval \([1.01,1.10]\) are usually a good option for most problems. Regarding the contractive factor \(\sigma\), the closer to one, the larger the number of iterations of the basic GDS algorithm will be. From our experiments, \(\sigma=0.5\) is a convenient value that produces a satisfactory trade-off between the efficiency of the algorithm and the convergence time. The constant \(c\) of the sufficient decrease condition is chosen as \(c=0.01\). Any positive value of \(c\) provides the termination of the algorithm, but small values are recommended to improve the algorithm's performance during the initial iterations when \(\Delta\) is large. The parameters \(P\) and \(R\) were fixed to \(P=1000\) and \(R=5\). These values were selected after a massive experimentation. In our experiments, we analyzed the mean value of the CPU time for one execution of the basic GDS algorithm for different values of the parameter \(R\). The empirical results showed that the larger the value of \(R\), the lower the CPU time for execution. This means that when \(R\) increases, the number of executions \(N\) can also be increased to a certain extent without compromising the total CPU time. The reduction is larger for smaller values of \(R\), e.g., the reduction is about \(40\%\) from \(R=0\) to \(R=1\) and about \(30\%\) from \(R=1\) to \(R=2\).