# A Novel Binary Competitive Swarm Optimizer for Power System Unit Commitment
## 3 Proposed Binary Competitive Swarm Optimizer
### Competitive Swarm Optimization  
In CSO algorithm, a novel pairwise competition mechanism between the particles is proposed. The \(P_{best}\) and \(g_{best}\) are removed, and the particles update their velocity and position by learning from the winner, which has the better fitness compared with the opponent particle. In the algorithm, suppose a population of particle \(P_{t}\) containing \(m\) particles. Each particle has two characteristics including position and velocity. The positions of these particles are denoted by \(X_{i}(t)=(x_{(i,1)}(t),x_{(i,2)}(t),\ldots x_{(i,n)}(t))\), and \(n\) is the dimension of the particles. The velocity is denoted by \(v_{i}(t)=(v_{(i,1)}(t),v_{(i,2)}(t),\ldots v_{(i,n)}(t))\). In the beginning, the position and velocity of the particles are initialized randomly and constantly updated with the iteration. In each generation, the swarm \(P_{t}\) is randomly divided into \(m/2\) couples and the particles of each couple are a competing objects pair. In the integrated process, there will be \(m/2\) times competitions, where the fitness of these particle will be compared. If the fitness value of one particle is better, it will be defined as the winner; Otherwise, the other particle is defined as the loser. The loser should update its velocity and position through learning from the winner.  
Suppose in the \(k\)th competition, the position of loser particle is described by \(X_{l,k}(t)\), and its velocity is denoted by \(V_{l,k}(t)\), where \(k=1,2,\ldots,m/2\). After the competition, the velocity of loser will be updated according to the evolutionary logic, which is shown in the following Equation (8):  
\[V_{l,k}(t+1)=R_{1}(k,t)V_{l,k}(t)+R_{2}(k,t)(X_{w,k}(t)-X_{l,k}(t))+\phi R_{3}( k,t)(X^{\prime}_{k}(t)-X_{l,k}(t)) \tag{8}\]  
where \(X_{w,k}(t)\) is denoted as the position of the winner particle. \(R_{1}(k,t),R_{2}(k,t)\) and \(R_{3}(k,t)\) are the randomly produced vectors in the generation t between 0 and 1. \(V_{l,k}(t+1)\) represents the velocity of loser after the \(k\)th competition. \(X^{\prime}_{k}(t)\) is the mean position value of the swam particle \(P_{t}\). \(\phi\) is the only algorithm specific parameter in the algorithm and it controls the influence of \(X^{\prime}_{k}(t)\) in the optimization process. Therefore, the parameter setting is more important.  
The position of the loser will be updated along with the velocity update as shown in the following equation:  
\[X_{l,k}(t+1)=X_{l,k}(t)+V_{l,k}(t+1) \tag{9}\]  
where \(X_{l,k}(t+1)\) denotes the position of the winner particle after the \(k_{th}\) competition. It is related to the velocity of loser after the competition. After the competition, the winner particle will be directly put into the swarm \(P_{t+1}\) for the next generation, while the loser will be thrown into the swarm \(P_{t+1}\) after update of velocity and position. Therefore, each particle has only one chance to take part in the competition. The only one parameter scheme of this algorithm reduces the parameter tuning work of the CSO. Meanwhile, the novel scheme significantly improves the algorithm performance. In essence, the CSO is more suitable for solving large-scale optimization problems.