## 6 Sidelobe Reduction via Optimizing the Sensor Selection Algorithm
### The Robust Canonical Particle Swarm  
PSO is an iterative, population-based intelligent computational algorithm which searches for optimal solution for non-linear continuous problems. The performance of PSO depends on the power of the solutions' population that endorse it to find several optimal solutions, i.e., particles over multiple generations. Therefore, one improvement would be to generate randomizing potential particles and continue using the dynamic distances among the particles to dictate communications with selected particles. However, such as technique requires intensive computations to determine these distances, and therefore, PSO is not viable for larger dimensions for the following reasons. 1. PSO can struggle as it can be difficult for the combination of the number of particles, i.e., swarm to enlarge the search space size to converge on an optimal solution, often getting stuck in local optimal. 2. The particles are connected as a topology which enables several communication paths among its members and the way the swarm is searching the landscape. Since the neighborhood topology changes the pattern of the swarm, convergence and diversity differ from one topology to another. In ring topology known as local PSO \(p_{best}\) the information is slowly distributed among the particles. Therefore, using the ring topology slows the convergence rate because the optimal solution must propagate through a few neighborhoods before affecting all particles in the swarm. Meanwhile, mesh topology uses a kind of fully connected topology that is known as global PSO \(g_{best}\). The communication among the particles is expedition, and swarm quickly moves towards the best solution. Because of the cost of neglecting part of the search space, the population may fail to explore outside of local regions causing the swarm to be trapped in local optimal solution. 3. PSO suffers from the dual problems of outdated memory due to the environment dynamism and diversity loss, due to convergence. 4. PSO does not always work perfect and may need tuning of its behavioral control parameters such as weight inertia and constriction factor. The following points clarify the differences between PSO and CPSO:  
1. Particles in CPSO possess memory of the best location visited in \(p_{best}\) and its fitness value. 2. Every particle shares information with every other particle in the swarm and there is a single \(g_{best}\) attractor representing the best location of the entire swarm. 3. CPSO provide more control to parameters of the swarm behavior by mathematical operators such as \(\otimes\), \(\oplus\), and \(\odot\) for increasing and decreasing the inertial weight and velocity clamping. The PSO algorithm starts as follows: an initial swarm of particles as one-dimensional vector \(\overrightarrow{x}=[x_{1},x_{2},x_{3},\ldots,x_{n}]\) are generated at random. These particles communicate and move in the research space to allocate optimal solution and reach at optimal area. The position of particles is changed by adding a velocity to the current position: \(\overrightarrow{x}(t+1)=\overrightarrow{x}(t)+\overrightarrow{v}(t+1)\). In comparing PSO with CPSO, the proposed optimization algorithm exists as a swarm of particles, i.e., sensors and each particle \(t\) resides at position \(\vec{x}_{t}\). These particles move with a certain velocity \(\vec{v}_{t}\) over the search space. Each position is associated with a fitness value given by the objective function during several iterations of evaluations \(\iota\). For \(N\)-dimensional problem, the position and velocity can be specified by \(\aleph\times N\) matrices as follows  
\[\vec{x}=\left(\begin{array}{cccc}&x_{11}&x_{12}&\ldots&x_{1|N|}\\ &&&&\\ &&&&\\ \vec{v}=\left(\begin{array}{cccc}&v_{11}&v_{12}&\ldots&v_{  
\[\varepsilon_{\vec{x}}=\left( \begin{array}{ccccc}&\varepsilon_{\vec{x}_{11}}& \varepsilon_{\vec{x}_{12}}&\ldots&\varepsilon_{\vec{x}_{1|N|}}\\ \end{array}