Keywords

1 Introduction

Swarm intelligence (SI) is an innovative artificial intelligence technique for solving complex multi-objective optimization problems (MOPs), such as non-dominated sorting genetic algorithm II [1], multi-objective particle swarm optimization [2], multi-objective evolutionary algorithm based on Decomposition [3]. Artificial bee colony (ABC) algorithm is a powerful search technique that drew inspiration from the biological foraging behaviors observed in bee colony [4]. Many researchers have presented several existing multi-objective ABC algorithms [5]. However, these proposed algorithms still suffer from low convergence rate and lacking the diversity of swarm.

To conquer the weakness of initial MOABC, an improved multi-objective ABC algorithm based on k-means clustering, named CMOABC, is proposed. The population is partitioned into several sub-populations based on k-means clustering. Information communication between the sub-populations depends on re-clustering the population after each specific iterations. To further enhance the population diversity, a number of individuals with worse performance re-generate in the re-clustering process.

Optimal Power Flow (OPF) is a classical multi-objective problem. Traditionally, the basic objective of OPF is to schedule the committed generating units to meet the system load demand at minimum operating cost while satisfying the various system equality and inequality constraints [6]. But the passage of clean air act amendments in 1990 forced the utilities to reduce the emission from fossil fuel fired thermal station [7,8,9,10]. Therefore, in addition to fuel cost, emission must also be considered as an objective. OPF problem is a non-linear, constrained optimization problem where many competing objectives are present. CMOABC is utilized to solve OPF problem. Compared with MOABC, MOPSO and NSGAII, CMOABC can accommodate considerable potential for solving OPF problem.

2 Optimal Power Flow Problem Formulation

2.1 Minimization of Total Fuel Cost

The fuel cost curves of the thermal generators are modeled as a quadratic cost curves and can be represented as follows:

$$\begin{aligned} {{f}_{cost}}=\sum \limits _{i=1}^{{{N}_{g}}}{{{f}_{i}}({{a}_{i}}{{P}_{Gi}}^{2}+{{b}_{i}}{{P}_{Gi}}+{{c}_{i}})} \end{aligned}$$
(1)

where \(a_i\), \(b_i\) and \(c_i\) are the the fuel cost coefficients of the ith generator, \(P_{Gi}\) is real power output of the ith generator.

2.2 Minimization of Total Power Losses

The power flow solution gives all bus voltage magnitudes and angles. Then, the total MW active ower loss in a transmission network can be described as follows:

$$\begin{aligned} {{f}_{lost}}=\sum \limits _{k=1}^{{{N}_{l}}}{{{g}_{k}}(V_{i}^{2}+V_{j}^{2}-2{{V}_{i}}{{V}_{j}}\cos ({{\delta }_{i}}-{{\delta }_{j}}))} \end{aligned}$$
(2)

where \(N_l\) is the number of transmission lines, \(V_i\) and \(V_j\) are the voltage magnitudes at the ith bus and jth bus, respectively; \({{\delta }_{i}}\) and \({{\delta }_{j}}\) are the voltage angles at the ith bus and the jth bus, respectively.

2.3 Total Emission Cost Minimization

In this paper, two important types of emission gasses, namely, sulpher oxides SOx and nitrogen oxides NOx, are taken as the pollutant gasses. Here, the total emission cost is defined as bellow:

$$\begin{aligned} {{f}_{emission}}=\sum \limits _{i=1}^{{{N}_{g}}}{({{\alpha }_{i}}+{{\beta }_{i}}{{P}_{Gi}}+{{\gamma }_{i}}{{P}_{Gi}}^{2})} \end{aligned}$$
(3)

where \(f_{emission}\) is the total emission cost (ton/h) and \({{\alpha }_{i}}\), \({{\beta }_{i}}\) and \({{\gamma }_{i}}\) are the emission coefficients of the ith unit.

$$\begin{aligned} \left| {{S}_{Li}} \right| \le {{S}_{Li,\max }} \quad i=1,\ldots ,{{N}_{l}} \end{aligned}$$
(4)

3 CMOABC Algorithm

The stochastically generated population is partitioned into n subpopulations based on the widely adopted k-means cluster method [8]. The number of clusters is determined by the predefined set \(G = \{g_1, g_2, \ldots , g_m\}\), where \(g_1> g_2> \ldots > g_m\). It may happen that two or more clusters come close to each other or get overlapped to a high degree. The distances between each two clusters are calculated as following equation:

$$\begin{aligned} Dis\_cluster=\left\| cluster_{i}^{center}-Nei\_cluster_{i}^{center} \right\| \end{aligned}$$
(5)

where \(Dis\_cluster\) is the distance between one cluster and its neighbor, \(Nei\_clus\)

\(ter_i^{center}\) is the center of the ith cluster’s neighbor. \(cluster_i^{center}\) is the center of the ith cluster. If the distance is smaller than the specific distance \(DIS_m\), one of the clusters will be removed and its non-domination solutions are store.

$$\begin{aligned} DI{{S}_{m}}=0.2*min\left( {{R}_{i}},{{R}_{i\_neighbor}} \right) \end{aligned}$$
(6)

where \(R_i\) is the radius of \(cluster_i\) and \(R_{i\_neighor}\) is the radius of the neighbors of \(cluster_i\).

In order to exchange information among individuals, the whole population is re-partitioned into \(g_{i+1}\) clusters based on k-means clustering after each TI iterations, where \(g_i\) and \(g_{i+1}\) are orderly chosen from the predefined set G. The individuals in a cluster may be distributed into different new clusters when the number of the clusters is changing. To balance the exploration and exploitation, TI is not a constant.

$$\begin{aligned} TI=\left\{ \begin{aligned}&floor\left( 0.03*ite{{r}_{max }} \right)&\text {if iter}\le 0.5*ite{{r}_{max }} \\&floor\left( 0.06*ite{{r}_{max }} \right)&\text {if iter}>0.5*ite{{r}_{max }} \end{aligned} \right. \end{aligned}$$
(7)

where \(iter_{max}\) is the maximum iterations; iter is the current iteration.

After each TI iterations, a certain number of individuals in each cluster should be regenerated according to this cluster’s contribution to the external archive. For the jth cluster, the number of solutions updating to the external archive during each TI iterations is recorded in \(Num\_Update(j)\). Then, according to its position in the sort of \(Num\_Update\), the number of individuals needed to regenerate in the jth cluster is calculated in Eq. (32). The individuals which will be removed in cluster j are determined by non-domination sort.

$$\begin{aligned} Num\_regenerate(j)=\frac{Sort\_Update(j)}{{{g}_{i}}}*\frac{Num\_ind(j)}{2} \end{aligned}$$
(8)

where \(Num\_ind(j)\) is the number of individuals in the jth cluster; \(Sort\_Update(j)\) indicates the jth cluster’s position in the sort of \(Num\_Update\); and \(g_i\) is the current number of clusters (Table 1).

Table 1. Pseudocode of CMOABC

4 Multi-objective Optimal Power Flow Based on CMOABC

In order to validate the robustness of the proposed CMOABC method, a standard IEEE 30 bus system has been used as the test system. The system represents a portion of the American Electric Power System (in the Midwestern US).

The three objectives are optimized simultaneously by the four algorithms and the corresponding best solutions are given in Table 2. Figure 1 also shows the result values of three competing objectives. As shown in Fig. 13, compare to other three algorithms, the Pareto-optimal solutions obtained by the CMOABC are better distributed on the front with good diversity. Among other three algorithms, the Pareto-optimal solutions obtained by the standard MOABC are also well distributed, the diversification of them is not as well as the ones obtained by the proposed CMOABC.

Furthermore, from the Table 2, CMOABC is able to discover a well-distributed and diverse solution set for three-objective problem. However, other three algorithms cannot archive the true Pareto front for three-objective OPF problem. CMOABC obtains the best emission, cost, though the system loss obtained by CMOABC is 2.1601MW, which is a little more than 2.1598MW obtained by MOABC.

Table 2. The best compromise solutions for cost, emission and loss using different multi-objective algorithms
Fig. 1.
figure 1

Pareto fronts obtained by CMOABC, MOPSO, MOABC, and NSGA-II for fuel cost, emission and loss

5 Conclusions

An improved multi-objective ABC algorithm based on k-means cluster, called CMOABC, is proposed. CMOABC adopts k-means clustering method to partition the population into many clusters and the number of the clusters is changing to implement information exchange among the different clusters. CMOABC is used to handle multi-objective OPF problem, and 30-bus IEEE test system is adopted to test the proposed algorithm. By comparing the simulation results of CMOABC, MOABC, MOPSO and NSGAII, the proposed method is able to give well distributed Pareto optimal solutions than other three methods for OPF problem with different objectives.