1 Introduction

Economic dispatch (ED) program is used to define the optimum power output of generators in order to minimize total generation cost of units. Many constraints should be satisfied in ED problem, which make it a complex optimization problem. In this regard, many traditional methods are suggested for ED problem such as lambda iteration, interior point and linear programing methods [1]. In addition, nonlinear characteristics of generator such as prohibited zones and valve-point loading change ED problem to a non-convex optimization problem. For non-convex ED, dynamic programing is proposed, however it produces extremely large dimension which needs huge computation [2].

In recent years, new methods based on artificial intelligence are proposed to solve non-convex ED problems which show promising results. In [3] genetic algorithm (GA) is successfully applied to ED problem with considering valve point discontinuities and the results are verified by comparing with DP’s results. Particle swarm optimizer (PSO) is proposed for solving ED problems in [4] which shows better performances compare to traditional methods and GA. After introduction of evolutionary multi-objective optimization algorithms, many researchers studied the application of these algorithms for solving economic and emission dispatch (EED) problem, where both pollution and fuel cost are considered for minimization. For instance, in [5] the performance of second version of non-dominated sorting genetic algorithm (NSGA-II) has been investigated for solving EED problem and it was successfully tested on four IEEE standard test systems, and the result indicates satisfying fitness values for both pollution and fuel cost. In [6] multi-objective gravitational search algorithm (MOGSA) is used and its results are compared with biography-based optimization (BBO). The multi-objective PSO (MOPSO) is proposed for EED problem and is tested on IEEE 30-bus test system [7]. In [8], the application of multi-objective harmony search algorithms has been investigated for EED and its performance is validated in three test systems.

The single-objective ICA is introduced by Atashpaz et al. in 2007 [9]. This algorithm has been successfully applied to many power engineering problem, such as machine design [10], distributed generation sizing and placement [11], FACTS devices allocating [12] and PID controller tuning [13]. The multi-objective version of ICA (MOICA) is presented in [14] and is tested on different standard benchmarks which the results show superiority of MOICA over MOPSO and NSGA-II. Despite of good performance of MOICA, still it has been not used for EED problem. Only in [15], The performance of MOICA in EED problem has been studied, but the researchers didn’t consider nonlinear characteristics of generators such as valve-point loading and prohibited zones. In addition, some important constraints like up/down ramping rate limits are ignored which makes the solution impractical. Thus, for the first time, this paper is going to investigate application of MOICA on a non-convex EED problem. To evaluate the results of MOICA, a comparison is done between MOICA and two other popular multi-objective algorithms namely NSGA-II and MOPSO. The study is done on 12 h of IEEE 30-bus test system and the simulation is carried out in MATLAB. The rest of paper is organized as follows. The EED problem description and formulation are presented in Sect. 2. Section 3 briefly explains the multi-objective algorithm and the MOICA. The results of simulations are discussed in Sect. 4 and finally Sect. 5 concludes the paper.

2 Problem Description

As mentioned earlier, in EED problem, it is aimed to optimize both economic and environmental objectives simultaneous. This problem is formed from objective functions along with a number of equality and inequality constraints which make the EED problem a complex optimization problem. The whole problem can be described briefly as follow:

$$\begin{aligned} & Minimize \left( {C\left( {P_{G} } \right),E\left( {P_{G} } \right)} \right) \\ & s.t. :g\left( {P_{G} } \right) = 0 , h\left( {P_{G} } \right) \ge 0 \\ \end{aligned}$$
(1)

The fuel cost is formed from a quadratic term and a sinusoidal term which is related to valve-point loading. As mentioned in [16] considering valve-point loading makes EED solution more accurate and practical.

$$C\left( {P_{G} } \right) = \mathop \sum \limits_{j = 1}^{{n_{g} }} a_{j} + b_{j} P_{j} + c_{j} P_{j}^{2} + \left| {e_{j} \times \sin \left( {f_{j} \times \left( {P_{j}^{{\min} } - P_{j} } \right)} \right)} \right|$$
(2)

The total ton/h gas emission can be calculated by

$$E\left( {P_{G} } \right) = \mathop \sum \limits_{j = 1}^{{n_{g} }} 10^{ - 2} \left( {\alpha_{j} + \beta_{j} P_{j} + \gamma_{j} P_{j}^{2} } \right) + \xi_{j} { \exp }\left( {\lambda_{j} P_{j} } \right)$$
(3)

2.1 Equalities and Inequalities Constraints

  1. 1.

    Active power balance: the produced active power by generators should meet the total load demand plus total network transmission loss:

    $$\mathop \sum \limits_{j = 1}^{{n_{g} }} P_{j} = P_{D} + P_{Loss}$$
    (4)

    Which total network loss (PLoss) is function of generator power output (P) and can be calculated using B coefficient [17]:

    $$P_{Loss} = \mathop \sum \limits_{i = 1}^{{n_{g} }} \mathop \sum \limits_{j = 1}^{{n_{g} }} P_{i} B_{ij} P_{j} + \mathop \sum \limits_{j = 1}^{{n_{g} }} B_{0j} P_{j} + B_{00}$$
    (5)
  2. 2.

    Generator power output limit: the output power of a generator is limited to a maximum and minimum value and should be considered.

    $$P_{i}^{{\min} } < P_{i} < P_{i}^{{\max} }$$
    (6)
  3. 3.

    Ramp rate limit: the generators are not capable to increase or decrease the output power instantly.

    $$P_{i} - P_{i}^{0} \le UR_{i} \quad and\quad P_{i} - P_{i}^{0} \le DR_{i}$$
    (7)
  4. 4.

    Prohibited zone: according to [18], some thermal units with many valve points are not capable to operate in some specific ranges of output power. Therefore, the feasible operation range can be defined as follow:

    $$\begin{aligned} & P_{i}^{{\min} } \le P_{i} \le P_{i,1}^{l} \\ & P_{i,j - 1}^{u} \le P_{i} \le P_{i,j}^{l} ,\quad j = 2,3, \ldots ,n_{g} \\ & P_{{i,n_{g} }}^{u} \le P_{i} \le P_{i}^{{\max} } \\ \end{aligned}$$
    (8)
  5. 5.

    Line flow limit: the power flow through each transmission line should not exceed from its nominal value.

    $$P_{L,i} \le P_{L,i}^{{\max} } ,i = 1,2, \ldots ,n_{l}$$
    (9)

3 Multi-objective Optimization Algorithm

The evolutionary multi-objective optimization (EMO) algorithms aim to find solution for minimization/maximization of a series objective functions [19]:

$$\left\{ {\begin{array}{*{20}l} {Minimize/Maximize \,f_{m} \left( x \right)} \hfill & {m = 1,2, \ldots ,M} \hfill \\ {subject\,to: g_{i} \left( x \right) \ge 0 , h_{j} \left( x \right) = 0} \hfill & {i = 1,2, \ldots ,I ,\quad j = 1,2, \ldots ,J} \hfill \\ {x_{k}^{{\min} } \le x_{k} < x_{k}^{{\max} } } \hfill & {k = 1,2, \ldots ,n} \hfill \\ \end{array} } \right.$$
(10)

where the optimization solution (X) is a vector of n decision variables \(\varvec{X} = \left( {x_{1} , x_{2} , \ldots ,x_{n} } \right)\). Contrary to single-objective, multi-objective optimization should search throughout the multi-dimensional search space and therefore to distinguish the best solution from others, the domination concept was introduced. According to [20] the x dominates y if and only if: (1) the solution x is better or equal to y in all objectives and (2) x is strictly better than y at least in one objective. The mathematical expression of domination is given in (11).

$$\left\{ {\begin{array}{*{20}l} {\forall i \in I, x_{i} \preccurlyeq y_{i} } \\ {\exists i \in I,x_{i} \prec y_{i} } \\ \end{array} \Leftrightarrow x} \right. \prec y$$
(11)

The solutions which are not dominated by any other solutions are called non-dominated solutions which are near to Pareto-front (Fig. 1). A proper set of non-dominated solutions, in addition to be located near to Pareto-front, should also have diversity to represent the whole range of Pareto-front (niching strategy [21]).

Fig. 1
figure 1

Depiction of Pareto-front and other fronts

In this regard, different strategies are proposed for finding Pareto-front but non-dominated sorting method is the most popular and efficient one. This method which proposed by Deb et al. in 2002 [22], at first was used in NSGA-II, but then many researchers apply the concept of non-dominated sorting method on various type of optimization algorithms to create new MOA such as multi-objective ant colony [23], multi-objective bat algorithm [24] and multi-objective imperialistic competitive algorithm [14]. In other words, an evolutionary algorithm is responsible for exploration and exploitation the multi-dimensional search space and NS is responsible for ranking the solutions in multi-objective space to find the Pareto-front.

3.1 The Imperialist Competitive Algorithm

The ICA algorithm is introduced by Atashpaz and Lucas in 2007 which is inspired from imperialistic competition [9]. In the first step, the algorithm is initialized with random population or countries and based on their power or inverse of their fitness values, these countries are divided to imperialists (powerful countries) and colonies (rest of countries). Each imperialist, along with its colonies form an empire. The algorithm tries to find the best solution by eliminating imperialists via competition where each imperialist tries to extend its territory and possesses colonies of other empires. Therefore, a weak empire with worse fitness value will lose all of its colonies to more powerful empires.

In each iteration of ICA, the colonies of an empire move toward their imperialist. The step size of this movement is calculated by using a uniform distribution function.

$$x \sim U\left( {0,\beta \times d} \right)$$
(12)

where β is a number greater than 1 and d is the distance between the colony and imperialist. By moving colonies, it is possible that a colony gain a better fitness value compare to the imperialist. This issue leads to position exchange between the best colony and the imperialist. Therefore, in addition to the competition among empires, an internal competition exists between the imperialist and the colonies (Fig. 2).

Fig. 2
figure 2

The movement of colony toward the imperialist [9]

The total power of nth empire (T . Cn) in each iteration is evaluated as follow:

$$T\,.\,C_{n} = Cost\left( {imperilist_{n} } \right) + \zeta mean\left\{ {Cost\left( {Colonies\,Of\,Empire_{n} } \right)} \right\}$$
(13)

At the final stage of ICA, only one imperialist will be remained which is the solution of the optimization problem.

3.2 The MOICA

In each iteration, the MOICA uses ICA for generating new solutions and then non-dominated sorting method to rank them. This process can be explained in three important steps. In beginning of each iteration, the ICA generates a new set of population (P) using the previous generation. In next step, set P goes to NS algorithm for ranking purpose. The NS works in two phases, first finding the non-dominated solutions (rank one) and then ranking other solutions. Two entities are attributed to each solution: the number of solutions which dominate the solution i (ni) and set of solutions which solution i dominates (Si). The solutions with ni = 0 are in first front (Fi) or current front. Then, for other solutions (j) which is placed in set Si of first-front members, the nj count will be reduced by one. By doing so, any solutions with nj = 0 will be placed in set H. After checking all solutions in set Si of current front, the solutions in set H will become new current front and the same process will be repeated. The pseud code of NS is given in Table 1.

Table 1 The pseud code on non-dominated sorting for a given population (P)

And finally, the solutions of each fronts are sorted by using crowding distance method.

$$d\left( {x_{j} } \right) = \mathop \sum \limits_{i = 1}^{{n_{obj} }} \frac{{\left| {f_{i} \left( {x_{j + 1} } \right) - f_{i} \left( {x_{j - 1} } \right)} \right| }}{{f_{i}^{{\max} } - f_{i}^{{\min} } }}$$
(14)

Having sorted solutions, the algorithm picks out Npop number of high ranked solutions to produce next generation or to deliver it as the final result. This process is shown in Fig. 3.

Fig. 3
figure 3

The whole process of MOICA

Figure 4, presents the process of using MOICA for solving the non-convex multi-objective EED problem.

Fig. 4
figure 4

Process of using MOICA for solving EED problem

3.3 Selecting the Best Compromise Solution

In this study, the fuzzy-based method is used to find the best compromising solution by evaluating each non-dominated solutions of Pareto-front [25]. In this regard, the value of member function of each solution should be evaluated using (15), and the best compromising solution will be the one with the highest value of member function.

$$\mu_{{f_{i} }} = \left\{ {\begin{array}{*{20}l} 1 \hfill & {f_{i}^{{\min} } \ge f_{i} } \hfill \\ {\frac{{f_{i}^{{\max} } - f_{i} }}{{f_{i}^{{\max} } - f_{i}^{{\min} } }}} \hfill & {f_{i}^{{\min} } < f_{i} < f_{i}^{{\max} } } \hfill \\ 0 \hfill & {f_{i}^{{\max} } \le f_{i} } \hfill \\ \end{array} } \right.$$
(15)

4 The Numeric Results

The IEEE 30-bus test system is used to test the performance of MOICA for solving EEC problem. This system has 6 thermal units which the detail data of this system are presented in Table 2 [26]. The prohibited zones and emission coefficients of thermal units are given in Tables 3 and 4 respectively [27]. A 12-h load profile is considered for this study (Table 5).

Table 2 Generating unit capacity, fuel cost coefficients and ramp rate limits
Table 3 The prohibited zones of units
Table 4 The emission coefficients of thermal units
Table 5 A 12-h load demand (MW)

4.1 Initialization of Algorithm

To initialize the MOICA, random values are chosen by considering maximum/minimum capacity of units, ramp rating limits and prohibited zones. This process increases accuracy of algorithm while reduces number of fitness function evaluations. Same method is applied to produce new generation of solutions in each iteration. Figure 5 shows the feasible values for a given thermal units by considering the constrains (dark green areas).

Fig. 5
figure 5

Possible values for intializing the MOICA

4.2 The Simulation Results

The Pareto-fronts of MOICA, MOPSO and NSGA-II for 7 different hours of power system are shown in Fig. 6. According to these graphs, the MOICA shows better performance compare to other ones. Figure 7 shows the relative generation costs and gas emissions for solutions of Pareto-front. The best compromising solution of MOICA for each hour is calculated using the previously presented fuzzy-based method. Using these compromising solutions, the values of generators output power, fuel cost and pollution for each thermal unit are calculated which due to lack of space only the MOICA’s results are presented in Table 6.

Fig. 6
figure 6

Comparison among resulted Pareto-fronts of MOICA, MOPSO and NSGA-II: a 1st hour, b 2nd hour c 4th hour, d 6th hour, e 8th hour, f 10th hour, g 12th hour

Fig. 7
figure 7

The distribution of Pareto-front solutions for a generation cost, b gas emission

Table 6 The result of compromising solution in each hour

Figure 8 compares the results of MOICA with results which is derived from NSGA-II and MOPSO. The MOICA has better performance in both environmental and economic objectives compare to the two other algorithms.

Fig. 8
figure 8

The optimization results of MOICA, MOPSO and NSGA-II a fuel cost, b generated power, c emitted gas

5 Conclusion

This paper has studied the application of multi-objective imperialist completive algorithm (MOICA) to solve emission and economic dispatch (EED) problems. In this regard, the algorithm has been applied for solving EED problem of a IEEE 30-bus test system. the non-linear characteristics of generators such as valve-point loading and prohibited zone along with other constraints of the system are considered. For comparison purpose, the results of MOICA are compared with results of NSGA-II and MOPSO, which indicate better performance of MOICA.