# Prediction of the Yield Strength of RC Columns Using a PSO-LSSVM Model
## 4 Model Development and Verification
### Particle Swarm Optimization  
In this section, the basic algorithm of particle swarm optimization (PSO) [33] is introduced in detail. It is well-known that the PSO is a heuristic randomized algorithm and developed based on animal social behavior, e.g., food searching of bird flocks and fish schools. As the LSSVM starts working for regression fitting, the solution of tuning parameters (\(\sigma\), \(\gamma\)) has a direct impact on the feature space and solution accuracy of the prediction model. Compared with the traditional manual selection method, the PSO algorithm with the advantages of short time consumption and high accuracy in searching for the optimal solution is adopted in this paper. The PSO algorithm is widely proposed for simulating population intelligence, in which swarm the individual is treated as a particle without volume. The PSO begins with a group of particles migrating at various initial speeds and directions. The assignment of initial speed and direction proceeds randomly in a certain range. Thereafter, each particle iteratively updates its speed and direction according to individual and group behavior. Finally, all the particles in the swarm migrate to the optimal location, which is considered as the optimal solution to the corresponding optimization problem. The PSO algorithm possesses the strong power of global optimization property and search capability. As mentioned above, the principle of PSO is that particles iteratively search for the optimal solution from a random solution, and find the global optimum by following the currently searched optimal solution. Assuming that the initial location and velocity of the \(i\)th particle in N-dimensional space are \(U_{i}\) = (\(u_{i1}\), \(u_{i2}\),..., \(u_{ij}\)) and \(V_{i}\) = (\(v_{i1}\), \(v_{i2}\),..., \(v_{ij}\)), \(j\) = 1,2,..., \(N\); \(i\) = 1,2,..., \(M\), where \(M\) is the swarm size. In PSO, the optimal values of location and velocity are found by tracking the extreme values of \(p_{\text{best}}\) and \(g_{\text{best}}\) in each iteratively updated process of the \(i\)th particle, where the \(p_{\text{best}}i\) is the individual optimal experience of the \(i\)th particle denoted by \(P_{i}\) = [\(p_{i1}\), \(p_{i2}\),..., \(p_{ij}\)], and \(g_{\text{best}}\) is the global optimal experience of the swarm denoted by \(P_{g}\) = [\(p_{g1}p_{g2}\),..., \(p_{gj}\)]. According to the fitness value of particles, the location and velocity of each particle can be updated using the equations below:  
\[v_{id}^{k+1}=\chi v_{id}^{k}+c_{1}r_{1}(p_{id}-u_{id}^{k})+c_{2}r_{2}(p_{gd}-u_ {id}^{k}) \tag{6}\]  
\[u_{id}^{k+1}=u_{id}^{k}+v_{id}^{k+1} \tag{7}\]  
where \(v_{id}^{k+1}\) and \(v_{id}^{k}\) are the velocities of the \(i\)th particle at \(k\)th and \((k+1)\)th iterations, respectively; \(u_{id}^{k+1}\) and \(u_{id}^{k}\) are the locations of the \(i\)th particle at \(k\)th and \((k+1)\)th iterations, respectively; \(\chi\) is the inertia weight coefficient; \(c_{1}\) and \(c_{2}\) are the learning coefficients, which are two prescribed constants in PSO; \(r_{1}\) and \(r_{2}\) are two random constants in the range of \([0,1]\)In the present work, two tuning parameters (\(\sigma\), \(\gamma\)) are required to be optimized, thus the value of \(N\) is selected as \(N=2\). Considering that the assignment of \(M\) is relevant to the specific problems, whose value is 10-50 in general. For the present problem of optimization and prediction, the size of the solution \(M\) is set to be \(M=30\). The empirical values of the learning coefficients \(c_{1}=c_{2}=2\) is adopted [38,42]. Since a higher value of the inertia weight coefficient (\(\chi\)) is conducive to jumping out of local convergence, while a lower value of \(\chi\) has a stronger local search capability, the value of \(\chi\) is taken as 0.8 [38]. And the maximum number of swarm evolution (i.e., iteration number) \(k_{\max}=200\) is pre-set in this work. The pseudo-code of PSO algorithm is presented in Algorithm 2 as follows.