# Approaches to Numerical Solution of Optimal Control Problem Using Evolutionary Computations
## 6 Simulation Results  
In both considered approaches, we needed to solve the finite-dimensional problem of nonlinear programming. The methods recommended in [18] for solving nonlinear programming problems require the quality criterion to satisfy the conditions of smoothness, convexity, and unimodality. In most applied optimal control problems, satisfaction of these conditions cannot be fulfilled. The application of evolutionary methods for solving nonlinear programming problems does not impose the abovementioned conditions on the quality criterion. Recent research has shown the high efficiency of evolutionary methods for solving optimal control problems [19]. To estimate the complexity of algorithms, we used the average number of objective function calculations required to obtain a result, \(Y_{agg}\). Parameters of the algorithms were selected such that the number of objective function calculations \(Y_{agg}\) for different algorithms was nearly the same. The following parameters were used in computational experiments: \(N=4\), \(t^{+}=2.8\), \(\varepsilon=0.01\), \(x_{1}^{1}(0)=0\), \(x_{2}^{1}(0)=0\), \(x_{3}^{1}(0)=0\), \(x_{1}^{2}(0)=0\), \(x_{2}^{2}(0)=5\), \(x_{3}^{2}(0)=0\), \(x_{3}^{1}(0)=0\), \(x_{3}^{3}(0)=0\), \(x_{4}^{3}(0)=0\), \(x_{2}^{3}(0)=10\), \(x_{3}^{3}(0)=0\), \(x_{4}^{4}(0)=0\), \(x_{2}^{4}(0)=15\), \(x_{3}^{4}(0)=0\), \(x_{1}^{f,1}=15\), \(x_{2}^{f,1}=10\), \(x_{3}^{f,1}=0\), \(x_{1}^{f,2}=15\), \(x_{2}^{f,2}=15\), \(x_{3}^{f,2}=0\), \(x_{1}^{f,3}=15\), \(x_{2}^{f,3}=0\), \(x_{3}^{f,3}=0\), \(x_{1}^{f,4}=15\), \(x_{2}^{f,4}=5\), \(x_{3}^{f,4}=0\), \(x_{1}^{s,1}=5\), \(x_{2}^{s,1}=5\), \(x_{1}^{s,2}=10\), \(x_{2}^{s,2}=10\), \(x_{1}^{s,2}=3\), \(r_{0}=2\), \(u_{1}^{-}=-10\), \(u_{1}^{+}=10\), \(u_{2}^{-}=-10\), \(u_{2}^{+}=10\), \(q^{-}=-20\), \(q^{+}=20\), and \(\Delta t=0.25\). A detailed description of used evolutionary algorithms for both approaches was provided in [19]. For a group of four robots, we searched using a vector of 12 parameters \(\times\) 2 controls \(\times\) 4 robots = 96 elements. The results of computational experiments for the optimal control problem solution using the direct approach are given in Table 1. Table 1 contains the mean values of objective function \(J_{avg}\) and average complexity estimation \(Y_{avg}\), i.e., the number of functional calculations. Note that, in Table 1, each row from 1 to 10 contains the results of one experiment for each algorithm. Results presented in Table 1 show that all evolutionary algorithms performed better than the random search. Furthermore, PSO and GA solved the problem more effectively. Figure 2 shows the trajectories of robots that bypassed the obstacles (circles) with control obtained using PSO, \(J=2.81\). As can be seen from Figure 2, PSO found the optimal solution that ensured the attainment of terminal conditions with given accuracy without violation of the phase constraints and without collisions. The trajectories of the robots had a certain excess length. \begin{table}
\begin{tabular}{c c c c c c} \hline
**No. ** & **GA** & **PSO** & **BA** & **GWO** & **RS** \\ \hline
1 & 5.48 & 4.52 & 12.74 & 7.71 & 14.77 \\
2 & 5.06 & 4.45 & 9.82 & 11.43 & 17.25 \\
3 & 5.29 & 5.38 & 9.58 & 10.71 & 13.8 \\
4 & 6.64 & 5.78 & 11.75 & 8.82 & 18.67 \\
5 & 5.54 & **2.81** & 12.95 & 9.4 & 13.56  
In the second approach with synthesized control, we first solved a control synthesis problem relative to the point in the state space. Since all robots were identical, then the synthesized control function in Equation (13) was used for each robot. Then, we solved a finite-dimensional optimization problem and searched for stabilization points \(\widetilde{x}_{i}^{jk}\), where \(i\) is an index of the element in the state vector, \(i=\overline{1,3}\), \(j\) is a robot index, \(j=\overline{1,4}\), and \(k\) is a point index. The switch from one point to another was performed after each time interval \(\Delta t=0.7\). For each robot, we searched three points and one known terminal point.