# Population Symmetrization in Genetic Algorithms
## 2 Method Description
### Genetic Algorithm with Symmetrization Operator (GASO)  
The proposed GASO algorithm is a memetic algorithm--some transformation (symmetrization) is performed on the population of points obtained in the genetic step. Then this modified population is transferred to the next iteration of the genetic procedure. Therefore, the structure of the GASO algorithm is as follows (Algorithm 4):Let us assume that after the genetic step we obtained population **P** of \(\mathbb{K}=[-a,a]^{D}\) cube points. \[\textbf{P}=(P_{1},\ P_{2},\ \ldots,\ P_{N}) \tag{2}\]  
\[N=100D \tag{3}\]  
Let the population **P** be ordered, i.e.,  
\[f(P_{1})\leq f(P_{2})\leq\ldots\leq\ f(P_{N}) \tag{4}\]  
\(f:\mathbb{K}\rightarrow\mathbb{R}\) function that undergoes minimization, and \(L=P_{1}\) is the leader of the population **P**. **Definition 4** (population collapse index): _Let_  
\[I=\{i=2,\ 3,\ \ldots,\ N:f(P_{i})-f(L)>\epsilon\} \tag{5}\]  
\(col(\textbf{P})\) _--the collapse index for the population **P** is a number defined for each population **P** as follows_  
\[\text{col}(\textbf{P})=\left\{ \begin{matrix}\text{min}I,\ \ I\
eq\varnothing\\ N,\ \ I=\varnothing\end{matrix} \right. \tag{6}\]  
We will call a population the collapsed one when \(\text{col}(\textbf{P})>20D\) (\(20D=20\%\) of the population size). It has been experimentally found that further \(f\) symmetrization does not improve the optimization efficiency for the collapsed population. Therefore, if the population collapses, the symmetrization operation is no longer applied and **P** in an unchanged form is being transferred to the next genetic step. Let \(k=\text{col}(\textbf{P})\leq 20D\), \(l=15D\) (\(15D=15\%\) of the population size) and \(i=1,\ 2,\ \ldots,\ l\)  
\[Q_{i}=P_{k+i-1},\ R_{i}=P_{N-l+i} \tag{7}\]  
Accordingly, the population **P** takes the form  
\[\textbf{P}=(P_{1},\ \ldots,\ P_{k-1},\ Q_{1},\ldots,\ Q_{l},\ P_{k+l},\ldots,\ P_{N- l},\ R_{1},\ldots,\ R_{l}) \tag{8}\]  
As a result of the procedure described later, the operation of symmetrization of the population **P** determines certain points \(\widetilde{Q}_{1},\ \ldots,\ \widetilde{Q}_{l}\in\mathbb{K}\), and transforms population to the form:  
\[S(\textbf{P})=\left(P_{1},\ \ldots,\ P_{k-1},\ Q_{1},\ldots,\ Q_{l},\ P_{k+l},\ P_{N- l},\ \widetilde{Q}_{1},\ \ldots,\ \widetilde{Q}_{l}\right) \tag{9}\]  
Figure 1: Successive stages of the symmetrization operator on an example population consisting of 10 points. (**a**) In the population sorted by the value of the objective function, the leader was distinguished (\(L=P_{1}\)), points collapsed with the leader (\(P_{2}\)), points selected for symmetrization (\(Q_{1}=P_{3}\), \(Q_{2}=P_{4}\)), the remaining points are not a subject to any modifications (\(P_{5}\), \(P_{6}\), \(P_{7}\), \(P_{8}\)), the “worst” points due to the values of the objective function (\(R_{1}=P_{9}\), \(R_{2}=P_{10}\)). (**b**) For points \(Q_{1}\), \(Q_{2}\) their images were found \(\widetilde{Q}_{1}\), \(\widetilde{Q}_{2}\) using the described symmetrization operator; on \(\widetilde{Q}_{2}\) it was necessary to use the cube projection operator. (**c**) The “worst” points were removed from the population; \(R_{1}\), \(R_{2}\) were replaced with points resulting from the symmetrization operator \(\widetilde{Q}_{1}\), \(\widetilde{Q}_{2}\). In essence, the symmetrization operation consists of subjecting to the symmetry 15% of the \"best\" points of the population, significantly different in terms of the value of the objective function from the population leader. The images of these points replace the 15% \"worst\" points of the population. Note that the \(S(\textbf{P})\) population is generally not monotonically ordered with respect to the value of the objective function. The value of 15% was selected based on numerical experiments as approximately optimal.