1 Introduction

Economic load dispatch (ELD) is non-travail optimization problem in power system domain. It concerns with satisfying the generation load demand at minimum total fuel cost for a specific period of operation with respect to power-balance equality constraints and power-output inequality constraints with sometimes ramp rate limits and prohibited operating zones. ELD has been formulated as an optimization problem with non-linear, non-convex constrained features that cannot be easily manipulated by calculus-based methods (El-Keib et al. 1994; Panigrahi et al. 2012; Chen and Ding 2015). Therefore, the approximation and constraint-handling are the most successful techniques in tackling such problem.

Among the approximation methods used intensively for ELD is metaheuristic-based approaches (Al-Betar et al. 2018b). Metaheuristics are general optimization model can be adapted for a wide range of optimization problems. Metaheuristics are divided into two main categories due to the number of initial solutions: population-based algorithms and local search-based algorithms (Blum and Roli 2003). Population-based algorithms are very powerful in exploration and weak in exploitation. Oppositely, local search based methods are very powerful in exploitation and weak in exploration (Al-Betar et al. 2014). In order to complement the advantages of both population and local search methods to provide a suitable trad-off between exploitation and exploration process, the hybridized mechanism is normally suggested (Blum et al. 2011). This type of hybridization is called memetic algorithm (MA). In MA, the cultural selection mechanism in local search algorithms represented as meme is combined with the natural selection principle built up in the population-based framework represented as gene (Ong and Keane 2004). The meme behaves like a local/individual improvement agent in cultural evolution. Both gene and meme reflect the natural and cultural selection for generality (gene) and problem-specificity (meme) (Ong et al. 2006; Al-Betar et al. 2014).

The recent metaheuristic population-based algorithm called Sine Cosine Algorithm (SCA) has been established to utilize the Sine and cosine trigonometric functions features for updating the solution (Mirjalili 2016b). It has a distinguished features over other population-based algorithms: Firstly, it has no derived values in the initial search, therefore, naive optimization users can use it easily. Secondly, it has intelligent operators that can iterativly accumulate a problem-specific knowledge making use of survival-of-the-fittest principle through Sine and Cosine trigonometric functions. In a nutshell, it is simple in concepts, robust in its convergence behaviour, easy to use for any problem, sound and complete. Therefore, SCA has been widely deployed for many optimization problems like optimal power flow (Attia et al. 2018), feature selection (Sindhu et al. 2017), short-term hydrothermal scheduling (Das et al. 2018), object tracking (Nenavath et al. 2018), image segmentation (Oliva et al. 2018), unit commitment problem (Reddy et al. 2018), automatic voltage regulator system (Hekimoğlu 2019), loading margin stability in power system (Mahdad and Srairi 2018), the optimal design of a shell and tube evaporator (Turgut 2017), detection of pathological brain (Nayak et al. 2018), designing bend photonic crystal waveguides (Mirjalili et al. 2020), wireless sensor nodes localiser (Hamouda and Abohamama 2020), abrupt motion tracking (Zhang et al. 2020), optimal distributed generators allocation in radial distribution systems (Raut and Mishra 2020), nonlinear bilevel programming problems (Abo-Elnaga and El-Shorbagy 2020), traveling salesman problem (Tawhid and Savsani 2019), truss structures (Gholizadeh and Sojoudizadeh 2019), train multilayer perceptrons (Gupta and Deep 2020), parameter optimization of support vector regression (Li et al. 2018), text categorization (Belazzoug et al. 2019), and etc.

SCA likes other population-based algorithm when dealing with real-world optimization problems with combinatorial nature and constrained features, it requires careful amendments or hybridization with strong component from other heuristic algorithm to improve its performance (Gupta and Deep 2019a). Therefore, several modified versions of SCA such as: (i) hybridized with local-based algorithms (Chen et al. 2019; Liu et al. 2019; Tawhid and Savsani 2019), (ii) hybridized with other population-based algorithms (Nenavath and Jatoth 2018; Chegini et al. 2018), (iii) hybridized with other operators borrowed from other optimization algorithms (Liu et al. 2019; Gupta and Deep 2019b), and (iv) modified its operators to be in line with the problem nature (Gupta and Deep 2019a; Sindhu et al. 2017; Long et al. 2019; Chen et al. 2020). In particular, the SCA is integrated with gaussian local search and random mutation in order to enhance the diversity of the population (Liu et al. 2019). In Long et al. (2019), a new nonlinear conversion parameter based on gaussian function is introduced to strike a right balance between exploration and exploitation, and a modified position-updating equation is proposed to accelerate convergence and avoid the problem of local optima. In another study, the SCA is combined with Nelder-Mead simplex concept and the opposition-based learning scheme (Chen et al. 2019). In this method, the Nelder-Mead simplex concept is used to enhance the exploitation, while opposition-based learning scheme is used to improve the diversification of the population.

As aforementioned, to improve the performance of the SCA to deals with ELD problem with constrained features, a successful local search-based algorithm can be hybridized with the SCA optimization framework as a new operator, thus the meme and gene concepts can be utilized. The recent local search-based algorithm introduced by Al-Betar (2017) is called \(\beta \)-hill climbing (\(\beta \)HC) optimizer.

In principle, \(\beta \)HC optimizer is a local search-based algorithm initiated with a single solution. Iteratively, this solution is moved to its neighbouring solution using two operators: \({\mathcal {N}}\)-operator for neighbouring search and \(\beta \)-operator for exploration. The greedy selection mechanism is used to compete between the current and neighbouring solution. This process is repeated until the stop condition is met. The main advantages of this algorithm is its simplicity and easy-to-use. Through its maneuver behaviour of navigating the search space and escaping the local optima, \(\beta \)HC optimizer has been successfully tailored and hybridized with other population-based algorithms for many optimization problems such as examination timetabling (Al-Betar 2021), feature selection (Ghosh et al. 2020), ECG and EEG signal denoising (Alyasseri et al. 2018, 2017), Generating Substitution-Boxes (Alzaidi et al. 2018), gene selection (Alomari et al. 2018b), economic load dispatch problem (Al-Betar et al. 2018a), multiple-reservoir scheduling (Alsukni et al. 2019), Sudoku game (Al-Betar et al. 2017), text document clustering (Abualigah et al. 2017a, b), classification problems (Alomari et al. 2018a; Alweshah et al. 2020), and mathematical optimization functions (Abed-alguni and Alkhateeb 2020). The main motivation behind using \(\beta \)HC as meme is its feature in digging deeply in the search space regions to which the population-based algorithm is reached. Through \({\mathcal {N}}\)-operator, the \(\beta \)HC exploit the features of the current solution and move to its neighbouring solution. On the other side, through the \(\beta \)-operator, the \(\beta \)HC is able to escape the local minima using uniform mutation strategy. The main limitation of \(\beta \)HC is the parameter tuning where the study used \(\beta \)HC should study the proper values of its control parameters.

In this paper, the economic load dispatch (ELD) problem is tackled using hybridizing SCA as a gene agents with \(\beta \)HC as a meme agent. This is to empower the performance of SCA in tackling ELD problem. The proposed hybrid algorithm is abbreviated as SCA-\(\beta \)HC which is evaluated using two sets of real-world generation cases: (i) 3-units, two versions of 13-units, and 40-units, with neglected Ramp Rate Limits and Prohibited Operating Zones constraints. (ii) 6-units and 15-units with Ramp Rate Limits and Prohibited Operating Zones constraints. The sensitivity analysis of the control parameters for SCA-\(\beta \)HC is initially studied to show their impact on the proposed SCA-\(\beta \)HC algorithm. The comparative evaluation reveals that the SCA-\(\beta \)HC is able to efficiently tackle ELD problem. In conclusion, SCA-\(\beta \)HC is a successful algorithm for power systems such as ELD.

The remaining parts of this paper is organized as follow: the ELD problem is defined and formulated in terms of optimization methods in Sect. 2. The proposed methodology is presented in Sect. 3. Thereafter, the results and discussion with comparative evaluations for all real world test cases is provided in Sect. 4. Finally, the conclusions with suggested future directions are given in Sect. 5.

2 Foundations to economic load dispatch problem

The Economic load dispatch (ELD) problem is modeled in optimization context to generate a constant load demand by means of assigning each generation unit with minimum fuel costs with respect to equality and inequality constraints. In this section, the mathematical formulations of ELD is provided. Thereafter, the previous ELD methods are discussed.

2.1 ELD formulations

The ELD can be formulated as a challenging optimization problem that could be a valuable target for many optimization techniques. As any optimization problem, the objective function for such problem need to be formulated to reflect the exact mathematical model that could be utilized by the optimization techniques.

The ELD problem under consideration here has N generation units, each unit has a range of fuel cost that it can use. The objective here is to assign each unit with the proper amount of allowed fuel cost that results in a total minimum of fuel cost for all units. The optimization has to satisfy a set of constraints such that the optimum solutions will always be feasible. In the sections below, the mathematical formulations of the main optimization terms for ELD problem are provided.

2.2 Solution representation

The representation of the solution for the ELD is formulated using vector space. It is represented as a vector where \({{\varvec{P}}}=(P_1,P_2,\ldots ,P_N)\), where the \(P_i\) is the generation unit number i which will take a value range \(P_i \in [P_i^{min},P_i^{max}]\). Please note that the value of \(P_i^{min}\) refers to the lower bound while \(P_i^{max}\) refers to the upper bound.

2.3 Objective function

The objective function that is used to evaluate ELD solution \({{\varvec{P}}}\) in terms of fuel costs is formulated in Eq. (1).

$$\begin{aligned} \min F({\varvec{{P}}}) = \sum _{i = 1}^{N} F_i (P_i). \end{aligned}$$
(1)

where \(F({{\varvec{P}}})\) is the total fuel cost for N units and \(F_i\) is a function used to calculate the fuel cost for unit \(P_i\). The calculation of fuel cost \(F_i(P_i)\) for unit \(P_i\) is given in Eq. (2)

$$\begin{aligned} F_i(P_i) = \lfloor a_iP_i^2 + b_iP_i +c_i + |e_i sin(f_i (P_i^{(min)}- P_i))|\rfloor . \end{aligned}$$
(2)

The smooth coefficients (\(a_i, b_i, c_i\)) and the non-smooth coefficients (\(e_i, f_i\)) related to the unit i. The sinusoidal function shows the effect of the valve-point load obtained waves in the trend of the heat-rate. That revealed more challenges to avoid being stuck in local optimum solutions (Alsumait et al. 2010).

2.4 Constraints

In each ELD solution, two main constraints and two extended constraints should be fulfilled to ensure the feasibility of the ELD solution. In the next sections, those constraints are mathematically formulated.

2.4.1 Equality constraints

The first constraint is the balance power between total system generation \(\sum _{i=1}^{N}P_{i}\) and the overall system loads \(P_D\) with power losses \(P_L\) as mathematically shown in Eq. (3).

$$\begin{aligned} \sum _{i = 1}^{N} P_{i}- P_D - P_L=0 \end{aligned}$$
(3)

where the transmission losses of the system is formulated in terms of quadratic function of the power generating outputs as shown in Eq. (4)

$$\begin{aligned} P_L = \sum _{k = 1}^{N} \sum _{i = 1}^{N} P_k B_{ki}P_i + \sum _{k = 1}^{N} B_{0k}P_k + B_{00}. \end{aligned}$$
(4)

Where \(B_{0k}\) and \(B_{00}\) denote the \(i^{th}\) elements of the loss coefficient vector, while \(B_{ki}\) represent the loss coefficient square of \(ki^{th}\) element. In the literature (Cai et al. 2012b; Alsumait et al. 2010; Cai et al. 2012a; Lin et al. 2011; Tsai et al. 2011), the transmission losses are simplified by considering \(P_L=0\).

2.4.2 Inequality constraints

Equality constraint is the second of those constraints that specify the lower and upper value ranges (\(P_i \in [(P_i^{({min})}), (P_i^{({max})})]\)) of the generation unit \(P_i\) as calculated in Eq. (5).

$$\begin{aligned} P_i^{(min)} \le P_{i} \le P_i^{(max)}, i \in N_s \end{aligned}$$
(5)

2.4.3 Ramp rate limits

The inequality constraints are sometimes restricted by the ramp rate limit. It occurs between two periods of operations. The process of the unit generation will be either increased or decreased. This is done according to upper and lower ramp rate periods formalized as follows:

Increasing power generation is constrained as:

$$\begin{aligned} P_i - P_i^{0} \le UR_i \end{aligned}$$

Decreasing power generation is constrained as:

$$\begin{aligned} P_i^{0}-P_i \le DR_i \end{aligned}$$

Note that, \(P_i^0\) is the previous time-period of the power generation for unit i. \(UR_i\) and \(DR_i\) refers to the upper and lower ramp rate limits, respectively. Accordingly, the inequality constraints are adjusted by ramp rate limits as shown below:

$$\begin{aligned} \max ( P_i^{(min)}, UR_i - P_i )\le P_i \le \min ( P_i^{(max)} ,P_i^{0} - DR_i ) \end{aligned}$$

2.4.4 Prohibited operating zones

Due to physical limitations of machine components or instability due to vibrations in the bearing of the shaft, the power generation units could be restricted by prohibited operating zones. This will result in cost fluctuations that can be detected. Discontinuities will consequently appear in cost curves corresponding to the prohibited operating zones. The quest to avoid operating in those regions will result on economizing the production. Formally, for a generating unit i,

$$\begin{aligned} P_i \le {\check{P}}^{pz}\text { and } P_i \ge {\hat{P}}^{pz} \end{aligned}$$

Note that \({\check{P}}^{pz}\) and \({\hat{P}}^{pz}\) represent the lower and upper limits of a given prohibited zone for generating unit i, respectively.

Finally, In case the Prohibited Operating Zones constraint are considered in the ELD problem, the fuel costs is formulated in Eq. (6).

$$\begin{aligned} \min F({\varvec{{P}}}) = \sum _{i = 1}^{N} F_i (P_i)+ \alpha \left[ \sum _{j=1}^{m}P_i(violation)_j \right] ^2. \end{aligned}$$
(6)

Where \(\alpha \) is the penalty factor for operating zone constraint, and \(p_i\) (violation) is the indicator of falling into prohibited operating zone (Safari and Shayeghi 2011).

2.5 Previous ELD methods

Several metaheuristic-based algorithms have been recently introduced. Those algorithms in many cases mimic the natural behaviors of living creatures such as humans, animals, and plants. The metaheuristc-based algorithms are general optimization algorithm. They span the whole search space and use intelligent operators to tweak workable solutions. They use carefully-selected parameter values to come up with optimal solutions (Blum and Roli 2003). Examples of recent metaheuristic-based algorithms are Seeker optimization algorithm (Dai et al. 2006), Dragonfly Algorithm (Mirjalili 2016a), Coronavirus herd immunity optimizer (Al-Betar et al. 2020a), Multi-verse Optimizer (Mirjalili et al. 2016), Ant Lion Optimizer (Mirjalili 2015a), Harris Hawks optimization (Heidari et al. 2019), Moth-Flame Optimization Algorithm (Mirjalili 2015b), Crow search algorithm (Askarzadeh 2016), sine cosine algorithm (Mirjalili 2016b), Grasshopper Optimization Algorithm (Saremi et al. 2017), Whale Optimization Algorithm (Mirjalili and Lewis 2016), and many others as reported in (Fausto et al. 2020). They are normally categorized into: Single solution-based methods and Population-based methods (BoussaïD et al. 2013).

Solutions that depend on starting with a single state, begin with one stochastic solution and keep iteratively updating and modifying this solution moving from one state to another until a steady state called “local minima” is reached. These methods usually span the search space deep in the form of a trajectory that resembles depth-first method, but it lacks wide search mechanism. Some of those solutions that solved the ELD include simulated annealing (Wong and Fung 1993), GRASP (Neto et al. 2017), \(\beta \)-Hill climbing (Al-Betar et al. 2018a), and tabu search (Lin et al. 2002).

On the other hand, population-based methods start with population of random solutions (individuals) that work in parallel to scan all possible solutions. They exchange bits and pieces of information and use a level of randomness to be more creative and exploitative. Those techniques has the ability to scan a wide search space regions at the same time but it cannot rigorously navigate the scanned regions to find their local optima (Blum and Roli 2003). Several population-based methods are used to solve ELD such as Particle Swarm Optimization (Qin et al. 2017; Jain et al. 2018), Ant colony Optimizer (Pothiya et al. 2010), Cuckoo Search Algorithm (Basu and Chowdhury 2013), Firefly Algorithm (Sinha et al. 2003), Krill Herd Algorithm (Mandal et al. 2014), Artificial Bee Colony (Hemamalini and Simon 2010), Flower Pollination Algorithm (Shilaja and Ravi 2017), Social Spider Algorithm (James and Li 2016), Crow Search Algorithm (Mohammadi and Abdi 2018), Artificial Algae Algorithm (Kumar and Dhillon 2018), Moth Flame Algorithm (Tripati et al. 2018; Elsakaan et al. 2018), Fireworks Algorithm (Jadoun et al. 2018; Pandey et al. 2018), Harmony Search Algorithm (Pandi et al. 2011), Ant Lion Optimizer (Kamboj et al. 2017), Dragonfly Algorithm (Suresh and Sreejith 2017), Genetic Algorithm (Subbaraj et al. 2011), Environmental Adaptation Method (Sharma et al. 2017), and Biogeography-based Algorithm (Bhattacharya and Chattopadhyay 2010a).

In order to improvise an efficient and effective search mechanism, we need to hybridize the two types of search methods; the single solution-based methods and the population-based search methods. When we hybridize, we expect to harvest the merits of both methods (Blum and Roli 2003). We expect to have an algorithm that performs deep search in addition to wide search all accompanied with intelligent information exchange operators and survivability for the fittest selection mechanism. The most successful hybrid techniques used for solving the ELD are as follows:

  1. 1.

    The Sequential Quadratic Programming is hybridized with Differential Evolution (Elaiw et al. 2013).

  2. 2.

    The Sequential Quadratic Programming is hybridized with the Particle Swarm Optimization (Victoire and Jeyakumar 2004; Elaiw et al. 2013).

  3. 3.

    The Genetic Algorithm is integrated with Shuffled Frog Leaping Algorithm (Roy et al. 2013).

  4. 4.

    The Quadratic Programming is combined with chaotic Differential Evolution (Coelho and Mariani 2006).

  5. 5.

    The Bacterial Foraging Approach is hybridized with Genetic Algorithm (Elattar 2015).

  6. 6.

    The Particle Swarm Optimization is hybridized with Differential Evolution (Parouha and Das 2016).

  7. 7.

    The GRASP algorithm is combined with Differential Evolution (Neto et al. 2017).

  8. 8.

    The local search is hybridized with Artificial Bee Colony algorithm (Özyön and Aydin 2013).

  9. 9.

    Differential Evolution is hybridized with Chemical Reaction Optimization (Roy et al. 2014).

  10. 10.

    Biogeography-based Optimization is hybridized with Differential Evolution (Bhattacharya and Chattopadhyay 2010c).

A recent study (Le Yang 2020) have improvised an algorithm based on the selections of hyper-heuristics (SHHA) to solve the problem of dynamic economic emission dispatch (DEED). A mathematical model of the multi-objective dynamic economic and environmental load distribution problem including wind energy, solar power, and energy storage. The authors provided a new way to solve the coupled spatial-temporal scheduling problems in the power systems. They used a non dominated sorting strategy to guide the screen of parent individuals. They tried to transform infeasible solutions toward feasible ones to enhance the quality of solutions and convergence.

In another work (Pawan Preet Singh 2017), the ELD was tackled using SCA algorithm and Moth Flame Optimizer (MFO). Combinatorial analysis were performed among those techniques. The SCA was used for constrained optimization based on the concept of correlation mathematical model of sine and cosine functions. The MFO is a heuristic algorithm that utilizes the concept that the moth uses to converge toward the light. Both algorithms were used in solving benchmark problems of ELD. Combinatorial results show that the performance of the MFO is better than that of the SCA in view of various parameters used.

A modified sine cosine algorithm (MSCA), in Rizk M. Rizk-Allah (2020), is also used for ELD problem. In this method, a population of random solutions is initialized in the search domain to optimize both the combined environmental and economic objectives. Moreover, the diversity of MSCA is controlled using an opposition strategy. The modified version of SCA is used as a multi-objective solution with Pareto solutions. The proposed MSCA is evaluated against two real-world ELD cases with emission issues and non-smooth fuel cost. Results of MSCA showed more correctness and effectiveness.

In Babar et al. (2020), a sine cosine algorithm was used to solve convex and non-convex ELD problem. They used Differential Evolution (DE) mutation and crossover operators to equip the SCA. The DE algorithm induces diversity in the operations of SCA making it avoid local minima and premature convergence. To ensure optimum tracking results, the proposed algorithm is refined by SQP (Sequential Quadratic Programming). The results with those techniques showed improvements in convergence time and fuel cost as compared to the techniques reported in the literature.

3 Hybrid SCA for ELD

In this section, the proposed hybrid SCA with \(\beta \)HC optimizer (SCA-\(\beta \)HC) for ELD problem is presented. The SCA is the recent population-based algorithm initiated with a population of random solutions. These solutions are iterativly improved using Sine Cosine trigonometric functions. The SCA-\(\beta \)HC has five main steps which is visualized as shown in the flowchart in Fig. 1. In the procedural context, the pseudo-code of SCA-\(\beta \)HC is given in Algorithm 1.

Fig. 1
figure 1

The flowchart of the proposed SCA-\(\beta \)HC algorithm

figure a
  • Step 1: Initialize the SCA-\(\beta \)HC and ELD In order to solve any optimization problem using optimization method as SCA, the modeling in terms of optimization problem should be designed such as objective function and solution representations. In ELD, the objective function are modeled in Eq. 1. The ELD solution is represented as a vector \({{\varvec{P}}}=(P_1,P_2,\ldots ,P_N)\) where N is the number of generating units.

    In the SCA, there are no control parameters. However, SCA has two algorithmic parameters such as Maximum iteration numbers (\(It_{Max}\)) and population size (M). For \(\beta \)HC optimizer, there are two control parameters:\(\beta \) and bw. \(\beta \) is responsible for diversifying the search while bw defines the distance bandwidth between the current solution and neighbouring solution. Finally, the parameter \(R_{\beta }\)) determines the rate of invoking \(\beta \)HC optimizer inside SCA.

  • Step 2: Initialize SCA-\(\beta \)HC memory The SCA-\(\beta \)HC memory (SBM) is a matrix of size \(N \times M\) where N is the number of generation units while M is the population size as formulated is Eq. (7). The objective function value of any solution is calculated as formulated in Eq. (1). The solutions in SBM are then sorted in ascending order (i.e., \(F({\varvec{{P}}}^1) \le F({\varvec{{P}}}^2) \le \ldots \le F({\varvec{{P}}}^M)\)).

    $$\begin{aligned} \mathbf {SBM}=&\left[ \begin{matrix} P^{1}_{1} &{} P^{1}_{2} &{} \cdots &{} P^{1}_{N}\\ P^{2}_{1} &{} P^{2}_{2} &{} \cdots &{} P^{2}_{N}\\ \vdots &{} \vdots &{} \cdots &{} \vdots \\ P^{M}_{1} &{} P^{M}_{2} &{} \cdots &{} P^{M}_{N}\\ \end{matrix} \right]&\left[ \begin{matrix} F({\varvec{{P}}}^{1}) \\ F({\varvec{{P}}} ^{2}) \\ \vdots \\ F({\varvec{{P}}}^{M}) \\ \end{matrix} \right] \end{aligned}$$
    (7)
  • Step 3: SCA-\(\beta \)HC Evolution Loop This is the evolution part of the proposed SCA-\(\beta \)HC. Four main operators are iterated toward the optimal ELD solution: (i) Sine Operator, (ii) Cosine Operator, (iii) Maintaining Process, and (iv) \(\beta \) hill climbing optimizer. These operators are consecutively executed.

  • Step 3.1: Sine operator This operator is called Sine operator because it used sine function to update the current ELD solution as shown in Eq. (8).

    $$\begin{aligned} {P'}_j^i=P_j^i + r_1 \times \text {sin}(r_2) \times \left| r_3 P^{gbest}- P^i_j \right| \end{aligned}$$
    (8)
  • Step 3.2:Cosine Operator This operator is called Cosine operator because it uses cosine function to update the current ELD solution as shown in Eq. (9).

    $$\begin{aligned} {P'}_j^i=P_j^i + r_1 \times \text {cos}(r_2) \times \left| r_3 P^{gbest}- P^i_j \right| \end{aligned}$$
    (9)

    In accordance with the values \(r_4\) where \(r_4 \in [0,1]\), the value of the current generation unit is either updated based on sine function in Eq. (8) or cosine function in Eq. (9). This can be summarized in Eq. (10)

    $$\begin{aligned} {P'}_j^i ={\left\{ \begin{array}{ll} P_j^i + r_1 \times \text {sin}(r_2) \times \left| r_3 P^{gbest}- P^i_j \right| , &{} \qquad r_4 < 0.5 \\ P_j^i + r_1 \times \text {Cos}(r_2) \times \left| r_3 P^{gbest}- P^i_j \right| , &{} \qquad r_4 \ge 0.5 \end{array}\right. } \end{aligned}$$
    (10)

    where \(r_1,r_2, r_3\) are random numbers. \(r_1\) is the parameter represented the position of the next region which indicates the bandwidth between the solution and the best solution \(P^{gbest}\). \(r_2\) is the parameter which represents how far the movement shall be outwards or towards global-best solution (or the destination). \(r_3\) is the parameter which represents the drawing of the random weight for the destination. This is to de-emphasize (\(r_3 < 1\)) or emphasize (\(r_3 > 1\)) the impact of the destination on the bandwidth distance defined.

    The success of any optimization algorithm depends on how the exploration and exploitation processes of the search spaces are balanced. Therefore, the range between sine and cosine functions should be adaptively updated using Eq. (11).

    $$\begin{aligned} r_1 = a - t\frac{a}{It_{Max}} \end{aligned}$$
    (11)
  • Step 3.3: maintaining process The maintaining process is responsible for modifying the infeasible solutions to be feasible. After the Sine and Cosine operators are invoked, the constructed solution may be infeasible. This is because either equality or inequality constraints are violated. In this case, the maintaining process will check the value of each generated unit according to the allowable value range. Furthermore, the power output shall be equal to the power generated by the solution.Therefore, the solution is maintained as shown in Algorithm 2.

    figure b
  • Step 3.4: \(\beta \)-hill climbing optimizer. The \(\beta \)-hill climbing optimizer behaves as a local search operator in SCA. With the range of \(R_{\beta }\) where \(R_{\beta } \in [0,1]\), the \(\beta \)-hill climbing is invoked as shown in Algorithm 1. The constructed and maintained solution from Sine and Cosine operators (i.e., \({\varvec{{P}}}^i=(P^i_1,P^i_2,\ldots , P^i_N)\)) that occurs within the range of \(R_{\beta }\) rate is treated as an initial solution to the \(\beta \)-hill climbing optimizer. The solution is also evaluated using the same objective function \(F({{\varvec{P}}}^i)\) as given in Eq. (1). In \(\beta \)-hill climbing, three operators are iteratively executed to improve \({\varvec{{P}}}^i\):

    1. 1.

      \({\mathcal {N}}\)-operator: The current solution \({\varvec{{P}}}^i\) is affected by its neighbouring solution to yield a new solution \({\varvec{{P}}}'^i\) as follows: \( P'^i_j = P^i_j \pm U(0,1) \times bw\) where bw is bandwidth between the current and neighboring solution set normally with a small value.

    2. 2.

      \(\beta \)-operator: Within the probability of \(\beta \) parameter where \(\beta \in [0,1]\) as shown in Eq. (12), the \(\beta \)-operator is used.

      $$\begin{aligned} {P'}_{i}\leftarrow {\left\{ \begin{array}{ll} {P'}_{i} &{} \qquad rnd \le \beta \\ P_i &{} \qquad otherwise. \end{array}\right. } \end{aligned}$$
      (12)

      Where rnd is a function generates a uniform value between 0 and 1. Any generation unit \(P^i_j\) will be regenerated from its feasible range: \(P'^i_j \in [P_i^{(min)},P_i^{(max)}] \quad \forall i \in (1,2,\ldots , N)\).

      In case the feasibility of the generated solution is broken, the maintenance strategy used in SCA is again invoked to maintain the constructed solution obtained by \(\beta \)HC optimizer as pseudo-coded in Algorithm 2.

    3. 3.

      \({\mathcal {S}}\)-operator: The current solution \( {\varvec{{P}}}^i\) is replaced by new solution \({\varvec{{P}}}'^i\), in case its objective function value is better. The pseudo-code of the \(\beta \) hill climbing optimizer is shown in Algorithm 3.

      figure c
  • Step 4: Update SBM The proposed SCA-\(\beta \)HC updates its memory (SBM) when an improvement is achieved. In other words, if the new solution \({\varvec{{P}}}'^i\) is better than the current solution \({\varvec{{P}}}^i\), the new solution \({\varvec{{P}}}'^i\) will be included in SBM while the \({\varvec{{P}}}^i\) will be excluded. Furthermore, the best solution \(P^{gbest}\) is updated in case the improvement is achieved.

  • Step 5: Termination Condition The proposed SCA-\(\beta \)HC is terminated when the stop condition which normally depends on the maximum number of iterations (\(It_{Max}\)) is reached. The best solution thus far reached is then delivered.

3.1 Convergence analysis of SCA-\(\beta \)HC

In order to study the convergence behaviour, the operators of standard SCA shall be initially analysed. The operators of standard SCA are the sine and cosine operators. Normally, the convergence analysis is studied in terms of exploration and exploitation process. The exploration refers to the ability of SCA to navigate several search space regions at the same time while exploitation refers to the ability of SCA to converge to local minima in each search space region.

Fig. 2
figure 2

Convergence behaviour of sine consing operators in SCA

The search behaviour of sine and cosine operators is visualized in Fig. 2. During the SCA search, the positions of the current solutions are updated by either sine or cosine operator. The sine cosine curve move in a regular way within the value range of \([-2,2]\). Mirjalili (2016b) determines the range \([-2,-1)\) or (1, 2] where the solutions are moved to explore the search space region while the range of \([-1, 1]\) is used to locally exploit the search space region of each solution. It should be noticed that the range of the sine and cosine operators is gradually decreased during the search process. Therefore, the SCA start with high exploration, the search moved toward exploitation stage at the final stage of runs. In Fig. 2, the exploration and exploitation is visualised using the equation \(r_1=a-\frac{t}{It_{Max}}a\) where a is supposed to be constant and t is the current iteration while \(It_{Max}\) is the maximum number of iterations.

Fig. 3
figure 3

Convergence analysis of sine cosine algorithm

In Fig. 3, the range of the sine and cosine equations is decreased when the iteration number is increased. Initially, the value of a is chosen to be 3 which refer to the range of moving the current solution from exploration to exploitation stage. As can be recognized, the search process with SCA initiated with high exploration power, the range of the search space is gradually degraded during the search to recognize the exploitation process in the final stage of run. Therefore, with increasing the value of a, the SCA convergence behaviour will be initiated with a wider search space where the exploration is much concentrated. The search will move slowly from the exploration stage to exploitation stage leading to slow convergence. Oppositely, when the value of a is small, the range of the search space will be narrow where the search will move quickly from exploration stage to exploitation stage with fast convergence.

3.2 Time complexity of the SCA-\(\beta \)HC

In order to analyse the time complexity of the proposed method, the pseudo-code of SCA-\(\beta \)HC shown in Algorithm 1 is analyzed. Initially, the generation of the initial population required a time complexity of \({\mathcal {O}}(NM)\) where N is the number of generation units while M is the population size. In the improvement loop where the position of each search agent is updated, the “while” loop in line 9 required \({\mathcal {O}}(It_{max})\). The inner two “for” loops also required a time complexity of \({\mathcal {O}}(NM)\). The maintaining(P) procedure shown in Algorithm 2 required time complexity of \(\max \{{\mathcal {O}}(N),{\mathcal {O}}(dis)\}\) where dis is the distance bandwidth between the total load demand and the actual load demand (\(P_D\)). The time complexity of the \(\beta \)HC algorithm is equal to \({\mathcal {O}}(It_{\beta } \times N)\) where \(It_{\beta }\) is the iteration number required for \(\beta \)HC algorithm. Note that this is the extra time complexity related to the SCA-\(\beta \)HC in comparison with original version of SCA.

In addition to the time complexity related to the operations of the proposed SCA-\(\beta \)HC method, the ELD objective function is also used heavily at each iteration of SCA and at each iteration of \(\beta \)HC method.The time complexity required to evaluate any ELD solution using the objective function is \({\mathcal {O}}(N)\).

Overall, the time complexity of the proposed SCA-\(\beta \)HC method is \({\mathcal {O}}(NM) + {\mathcal {O}}(It_{max} \times N \times M \times \max \{{\mathcal {O}}(N),{\mathcal {O}}(dis)\} \times It_{\beta } \times N \times N^2\)). Apparently, the time complexity of the proposed SCA-\(\beta \)HC method is higher than that required for original SCA.

4 Experiments and results

In this section, the effectiveness and robustness of the proposed SCA-\(\beta \)HC on solving ELD problems through six case studies with different numbers of generation units and load demand (LD) is tested. These cases are:

(I) Case 1: 3 generation units with LD= 850 MW, (II) Case 2: 6 generation units with LD= 1263 MW, (III) Case 3: 13 generation units with LD= 2520 MW, (IV) Case 4: 13 generation units with LD= 1800 MW, (V) Case 5: 15 generation units with LD= 2630 MW, and (VI) Case 6: 40 generation units with LD= 10500 MW.

It should be noted that in the two cases (Case 2 and Case 5), the ramp rate limits and prohibited zones of the units were respected in the practical application. While the valve point loading (VPL) effect is considered in the other four cases. Furthermore, the transmission loss is neglected in these cases.

Our experiments are carried out on MATLAB (R2014a) using a laptop with Intel(R) Core(TM) i7 2.8GHz, 16 GB of RAM, and operating system managing Window 10. The performance of the proposed SCA-\(\beta \)HC algorithm are compared with the state-of-the-art algorithms. The comparative algorithms for all tested cases are shown in Table 1.

Table 1 Comparative methods

Fourteen experimental scenarios are designed in order to study the influence of the various parameter settings on the performance of the proposed SCA-\(\beta \)HC algorithm. These scenarios are divided into three groups as shown in Table 2. SenExp1 to SenExp4 are designed to study the impact of the parameter \(\beta \) on the performance of SCA-\(\beta \)HC algorithm using four different values (\(\beta \)= 0, \(\beta \)= 0.01, \(\beta \)= 0.1, and \(\beta \)= 0.5), The higher value of \(\beta \) leads to higher rate of exploration. The next five scenarios (SenExp5 to SenExp9) are designed to study the effect of the parameter bw on the behaviour of the proposed algorithm using various values (bw=0.001, bw=0.01, bw=0.1, bw=0.5, and bw=0.95). The higher values of bw leads to higher rate of exploitation. Finally, the last five scenarios (SenExp10 to SenExp14) are designed to study the influence of the parameter \(R_{\beta }\). This parameter is studied using five different values as follows: \(R_{\beta }\)=0, \(R_{\beta }\)=0.001, \(R_{\beta }\)=0.01, \(R_{\beta }\)=0.1, and \(R_{\beta }\)=0.3. The higher value of \(R_{\beta }\) leads to higher rate of invoking the \(\beta \)-hill climbing optimizer and thus higher rate of exploitation. In instance, when the value of the parameter \(R_{\beta }\) is equal to zero as shown in SenExp10, its meaning the calling of the \(\beta \)-hill climbing optimizer is neglected and thus the original version of SCA is used in this scenario. These settings are introduced using an ad hoc method in order to find the best configurations of the proposed SCA-\(\beta \)HC algorithm. On other hand, the settings of the other parameters as follows: the size of population is set to 30, and the number of replicated runs is also set to 30 for each experimental scenarios and the maximum number of iterations used is 100,000.

Table 2 Experimental scenarios

4.1 Case 1: 3-unit generator system with demand of 850 MW

This case study comprises of three generating units with the expected load demand to be meet by all of the three units is 850 MW. The unit data is taken from (Walters and Sheble 1993). Table 3 illustrates the results of studying the influence of different parameter settings on the performance of the proposed SCA-\(\beta \)HC algorithm. In this table, the cost of each generating unit in the best solution obtained for each experiential scenario is recorded. Furthermore, the total cost of the best solution, as well as, the mean and the standard derivation of the results are also summarized in this table.

SenExp1 to SenExp4 are designed to study the effect the \(\beta \) parameter (i.e., SenExp1 (\(\beta \)=0), SenExp2 (\(\beta \)=0.01), SenExp3 (\(\beta \)=0.1), and SenExp4 (\(\beta \)=0.5)) on the behaviour of the SCA-\(\beta \)HC algorithm. The configurations of these scenarios are presented in Table 2. From Table 3, it can be seen that the four scenarios are able to obtain the same results in terms of the best fuel cost (i.e., 8,234.07 $/h). On another hand, the standard derivation values in Table 3 reflect the robustness of the proposed SCA-\(\beta \)HC algorithm. It can be observed from the results provided in Table 3 that the proposed SCA-\(\beta \)HC in SenExp3 is more robust than those of the other three scenarios (i.e., SenExp1, SenExp2, and SenExp4). Therefore, the value of the \(\beta \) parameter will be set to 0.01 in the following experiments.

Similarly, the impact of the bw parameter on the performance of the proposed algorithm is studied using five different scenarios with different configurations (i.e., SenExp5 (bw=0.001), SenExp6 (bw=0.01), SenExp7 (bw=0.1), SenExp8 (bw=0.5), and SenExp9 (bw=0.95)). From Table 3, it can be seen that the performance of the proposed SCA-\(\beta \)HC in the five scenarios are almost similar, by obtaining the same results in terms of total cost, and mean of the results. However, the performance of SenExp5 is more robust than the other four scenarios based on the standard derivation results. Therefore, the value of the bw parameter will be set to 0.001 in the following experiments.

The last five scenarios (SenExp10 to SenExp14) are designed to study the effect of the parameter \(R_{\beta }\) on the performance of the proposed SCA-\(\beta \)HC algorithm. Each experimental scenario is introduced with specific value of \(R_{\beta }\) as follows: SenExp10 (\(R_{\beta }\)=0), SenExp11 (\(R_{\beta }\)=0.001), SenExp12 (\(R_{\beta }\)=0.01), SenExp13 (\(R_{\beta }\)=0.1), and SenExp14 (\(R_{\beta }\)=0.3). The results of running these scenarios are recorded in Table 3. Apparently, the five scenarios obtained the same best results. This is due to the simplicity of the problem studied in this case. On the other hand, the performance of the proposed SCA-\(\beta \)HC algorithm on SenExp14 is more robust than those of the other four scenarios based on the standard derivation results.

The results of the proposed SCA-\(\beta \)HC against those of the other comparative methods are recorded in Table 4. It can be seen from the results illustrated in Table 4 that the performance of the proposed algorithm is similar to 13 out of 15 other comparative methods, by obtained the optimal total fuel cost (i.e., 8,234.07 $/h).

Table 3 The results of SCA-\(\beta \)HC on 3-unit generator system with demand of 850 MW using different parameter settings
Table 4 Comparison results on 3-unit generator system with demand of 850 MW

4.2 Case 2: 6-unit generator system with demand of 1263 MW

In this section, the ELD problem includes six generating units with the expected load demand of all units is 1263 MW. The characteristics of the generating units are provided in Das and Suganthan Das and Suganthan (2010). In this case of ELD problem, the ramp rate limits and prohibited zones of the units were considered. Table 5 shows the results of studying the three parameters (i.e., \(\beta \), bw, and \(R_{\beta }\)) of the proposed SCA-\(\beta \)HC algorithm using this case of ELD problem (i.e., case 2). These parameters are studied using fourteen experimental scenarios. The configurations of these scenarios are illustrated in Table 2. The best solution with the minimum total fuel cost is recorded in Table 5. Furthermore, the mean costs, the standard derivation (Stdv.), the total power output of the besat solution, and the transmission loss (\(P_L\)) of the best solution are also provided in Table 5.

The first four experimental scenarios (SenExp1–SenExp4) are designed to study the effect of the parameter \(\beta \) on the performance of the proposed algorithm using four various values (0, 0.01, 0.1, and 0.5). The results of running these scenarios are summarized in Table 5. From Table 5, it can be shown that the results of the proposed SCA-\(\beta \)HC algorithm are gradually enhanced by increasing the value of \(\beta \), where the last scenario (i.e., SenExp4) achieved the minimum total fuel cost (i.e., 15444.43 $/h). As a result, the \(\beta \) parameter will be set to 0.5 in the following experiments of this case study.

Similarly, SenExp5–SenExp9 are designed to study the influence of the parameter bw on the behaviour of the proposed algorithm using this case of ELD problem. It should be noted that the values of bw studied in these scenarios are: SenExp5 (bw=0.001), SenExp6 (bw=0.01), SenExp7 (bw=0.1), SenExp8 (bw=0.5), and SenExp9 (bw=0.95). The results of running these experimental scenarios are provided in Table 5. Remarkably, the performance of the proposed algorithm in SenExp5 perform is better than the other four scenarios in terms the total fuel cost and the mean costs. Notably, the differences among the results of these scenarios are not exceeds 0.19 $/h. This can prove the influence of the parameter bw on the behaviour of the proposed SCA-\(\beta \)HC algorithm used for this ELD case is not significant. Therefore, the bw parameter will be set to 0.001 in the remaining experiments for Case 2.

The last five experimental scenarios (SenExp10–SenExp14) are designed to study the impact of the parameter \(R_{\beta }\) on the performance of the proposed SCA-\(\beta \)HC algorithm. The \(R_{\beta }\) is investigated using the following values: 0, 0.001, 0.01, 0.1, and 0.3. It should be noted that, the higher the value of \(R_{\beta }\), the higher probability of calling the \(\beta \)-hill climbing optimizer, and thus higher rate of the exploitation will be. From Table 5, it can be observed that the results of the proposed algorithm are gradually enhanced by increasing the value of \(R_{\beta }\). Apparently, the performance of the proposed algorithm in SenExp14 outperforms the performance of the other four scenarios (i.e., SenExp10–SenExp13), by obtaining the minimum total fuel cost (15444.30 $/h). On the other hand, the difference between the results of SenExp13 and SenExp14 is equal to 0.01 $/h, and the difference between the results of SenExp12 and SenExp14 is equal to 0.04 $/h. This advice the research to escape the bigger values of \(R_{\beta }\) parameter.

Table 5 The results of SCA-\(\beta \)HC on 6-unit generator system with demand of 1263 MW using different parameter settings

Finally, the performance of the proposed SCA-\(\beta \)HC is compared with the other fifteen comparative methods as shown in Table 6. It can be see from Table 6 that the IGWO algorithm outperforms the proposed SCA-\(\beta \)HC algorithm, as well as the other comparative methods by obtaining the minimum fuel cost (15442.20 $/h). While the proposed SCA-\(\beta \)HC algorithm perform better than 11 out of 16 competitive methods by getting the fifth best results (15444.30 $/h).

Table 6 Comparison results on 6-unit generator system with demand of 1263 MW

4.3 Case 3: 13-unit generator system with demand of 2520 MW

The 13-unit generator system comprises of 13 generating units. This system considers the valve-point effect, while the transmission loss is neglected. The required load demand is 2520 MW. The data of the units in this case study is taken from (Walters and Sheble 1993). Table 7 summarizes the results of studying the various parameter settings on the performance of the proposed SCA-\(\beta \)HC algorithm using fourteen experimental scenarios. In this table, the best solution obtained by running each of the experimental scenarios is recorded. In addition, the total cost of the best solution, the mean cost, and the standard derivation are also provided. It should be noted that the best solution is highlighted using bold font.

Table 7 shows the results produced to study the impact of the parameter \(\beta \) on the performance of the proposed SCA-\(\beta \)HC algorithm using four experimental scenarios with different values (i.e., SenExp1 (\(\beta \)=0), SenExp2 (\(\beta \)=0.01), SenExp3 (\(\beta \)=0.1), and SenExp4 (\(\beta \)=0.5)). From Table 7, it can be shown that the performance of the proposed SCA-\(\beta \)HC algorithm in SenExp3 is better than other three scenarios by obtaining the best fuel cost (24164.12 $/h). This guide us to set the parameter \(\beta \) to be 0.1 for the next set of experiments.

SenExp5 to SenExp9 are designed to study the influence of the various settings of the parameter bw on the behaviour of the SCA-\(\beta \)HC algorithm (SenExp5 (bw=0.001), SenExp6 (bw=0.01), SenExp7 (bw=0.1), SenExp8 (bw=0.5), and SenExp9 (bw=0.95)). Table 7 summarizes the results of running these five scenarios. Clearly, it can be seen that the performance of SenExp7 is better than other four scenarios by getting the best solution with the minimum fuel cost (i.e., 27164.09$/h). The parameter bw will be set to 0.1 in the following experimental scenarios.

Similarly, the results of studying the impact of varying values of parameter \(R_{\beta }\) on the performance of the proposed SCA-\(\beta \)HC algorithm are provided in Table 7. It should be noticed that the parameter \(R_{\beta }\) is studied using five different values in five experimental scenarios (i.e., SenExp10 (\(R_{\beta }\)=0), SenExp11 (\(R_{\beta }\)=0.001), SenExp12 (\(R_{\beta }\)=0.01), SenExp13 (\(R_{\beta }\)=0.1), and SenExp14 (\(R_{\beta }\)=0.3)). From 7, it can be observed that the performance of the proposed SCA-\(\beta \)HC algorithm in SenExp11 to SenExp14 is better than SenExp10. This is because the value of the parameter \(R_{\beta }\) is set to zero. However, the last three scenarios (i.e., SenExp12–SenExp14) are able to obtain the same best results (27164.09$/h). In summary, the performance of the proposed SCA-\(\beta \)HC algorithm on SenExp13 is more robust than the other four scenarios as suggested by standard derivation results.

Table 7 The results of SCA-\(\beta \)HC on 13-unit generator system with demand of 2520 MW using different parameter settings

Finally, Table 8 shows the results of the proposed SCA-\(\beta \)HC algorithm against those of the other comparative methods. The numbers in this table represents the best results achieved, as well as the mean of the results. It should be noted that the results of the proposed SCA-\(\beta \)HC algorithm represents the best results recorded in Table 7. Apparently, the performance of the NUHS and THS algorithms are better than the other competitive methods by obtaining the minimum fuel cost (24164.06$/h). The proposed SCA-\(\beta \)HC algorithm obtained the second minimum fuel cost (24164.09$/h), where the difference between the results of the SCA-\(\beta \)HC algorithm and the results of the NUHS or THS algorithms is (0.03$/h). Furthermore, the performance of the proposed SCA-\(\beta \)HC algorithm is better than the original version of since cosine algorithm (SCA).

Table 8 Comparison results on 13-unit generator system with demand of 2520 MW

4.4 Case 4: 13-unit generator system with demand of 1800 MW

The proposed SCA-\(\beta \)HC algorithm is tested using another test system consists of thirteen generating units. The expected load power demand to be meet by all of the generating units is 1800 MW. The data of generating units of this system were extracted from (Walters and Sheble 1993). The results obtained for studying the influence of the various parameter settings on the performance of the proposed SCA-\(\beta \)HC algorithm are summarized in Table 9. Fourteen experimental scenarios are also designed for this purpose, where the parameter settings of these scenarios are provided in Table 2. It should be noted that the best solution obtained by each of the experimental scenarios with the minimum total fuel cost is recorded in Table 9. Furthermore, the mean of the costs obtained by running each scenario 30 times, as well as the standard derivation are summarized in Table 9.

The results of studying the impact of the parameter \(\beta \) on the behaviour of the proposed SCA-\(\beta \)HC algorithm using various settings are recorded in Table 9. The first four experimental scenarios (SenExp1 (\(\beta \)=0), SenExp2 (\(\beta \)=0.01), SenExp3 (\(\beta \)=0.1), and SenExp4 (\(\beta \)=0.5)) are designed for this purpose. The best results achieved by running these scenarios are illustrated. From Table 9, it can be observed that the performance of SCA-\(\beta \)HC algorithm in SenExp3 is better than the other three scenarios (i.e., SenExp1, SenExp2, and SenExp4) by getting the minimum total fuel cost (17960.39 $/h). This is because that the value of 0.1 is the threshold value of the parameter \(\beta \) where it assists to strike a right balance between exploration and exploitation and thus guide SCA-\(\beta \)HC algorithm to achieve better results.

The next five experimental scenarios (SenExp5–SenExp9) are designed to study the effect of the parameter bw on the behaviour of the proposed SCA-\(\beta \)HC algorithm using five different values (i.e., 0.001, 0.01, 0.1, 0.5, and 0.95). The results of running these scenarios are summarized in Table 9. In this table, the best solution obtained by each scenario, the total fuel cost of the best solution, the mean costs, and the standard derivation are recorded. From Table 9, it can be seen that the performance of the proposed SCA-\(\beta \)HC algorithm in SenExp8 is better than the other four scenarios, by getting the minimum fuel cost (17960.39 $/h). The lower value of bw leads to worst results as seen in SenExp5 and SenExp6. Furthermore, the higher value of bw leads to worst results as seen in SenExp9. This is prove that the value 0.5 is the threshold value of the parameter bw where it is able to yield the right balance between the exploration and exploitation. Thus the parameter bw is set to be 0.5 in the following experiments.

The last experimental scenarios (i.e., SenExp10–SenExp14) are introduced to study the impact of the parameter \(R_{\beta }\) on the performance of the proposed SCA-\(\beta \)HC algorithm using five different values (i.e., 0, 0.001, 0.01, 0.1, and 0.3). From Table 9, it can be observed that the performance of the proposed SCA-\(\beta \)HC algorithm in SenExp12 is better than the other four scenarios by getting the minimum total fuel cost (17960.39 $/h). However, the performance of the proposed SCA-\(\beta \)HC algorithm in SenExp10 is the worst. This is due to the fact that the value of the parameter \(R_{\beta }\) is equal to zero, and thus the \(\beta \)-hill climbing optimizer is neglected. Based on the above discussions, the following parameter settings: \(\beta \)=0.1, bw=0.5, and \(R_{\beta }\)=0.01, are guided the proposed SCA-\(\beta \)HC algorithm to achieve the best results for this case of the ELD problem.

Table 10 shows the comparison of SCA-\(\beta \)HC performance against the twenty-four other comparative methods. Clearly, the performance of the proposed SCA-\(\beta \)HC algorithm outperforms the original version of sine cosine algorithm (i.e., SCA). On the other hand, five of the competitive methods (i.e., DHS, IHS, MPDE, NUHS, and THS) are able to obtain the minimum fuel cost (17960.37 $/h), while the proposed SCA-\(\beta \)HC algorithm are able to achieve the third minimum fuel cost (17960.39 $/h). It should be noticed that the difference between the results of the proposed SCA-\(\beta \)HC algorithm and the best results published by others is (0.02$/h).

Table 9 The results of SCA-\(\beta \)HC on 13-unit generator system with demand of 1800 MW using different parameter settings
Table 10 Comparison results on 13-unit generator system with demand of 1800 MW

4.5 Case 5: 15-unit generator system with demand of 2630 MW

The ELD problem considered in this case study includes 15 generating units. The expected load demand of all units is 2630 MW, and the data of all generating units are taken from (Das and Suganthan 2010). The ramp rate limits and prohibited zones of the units were considered in this case study. Table 11 shows the results of using different parameter settings on the performance of proposed SCA-\(\beta \)HC algorithm. The parameters of the proposed SCA-\(\beta \)HC algorithm are studied using fourteen experimental scenarios, where the configurations of these scenarios are given in Table 2. The best solution with the minimum total fuel cost for each experimental scenario is highlighted in Table 11. In addition, the mean costs, the standard derivation (Stdv.), the total power output of the best solution, and the transmission loss (\(P_L\)) of the best solution are also provided in Table 11. The best results are highlighted using bold font.

The results of running SenExp1–SenExp4 are recorded in Table 11. These scenarios are designed to study the influence of the parameter \(\beta \) on the performance of the proposed SCA-\(\beta \)HC algorithm. From Table 11, it can be seen that the performance of the proposed SCA-\(\beta \)HC algorithm in SenExp3 performs is better than the other scenarios (SenExp1, SenExp2, and SenExp4) by achieving the minimum total fuel cost (32766.33 $/h). Furthermore, the performance of SenExp1 is worse than the other scenarios. This is because the value of the parameter \(\beta \) is set to zero, and thus the source of the exploration in the proposed algorithm is neglected. Therefore, the parameter \(\beta =0.1\) is used in the following experiments.

Similarly, the results of studying the bw impact on the behaviour of the proposed SCA-\(\beta \)HC algorithm are recorded in Table 11. The five experimental scenarios SenExp5 to SenExp9 are designed for this purposes. From Table 11, it can be observed that the performance of the proposed SCA-\(\beta \)HC algorithm in SenExp6 is better than the other four scenarios (SenExp5, SenExp7–SenExp9) by getting the minimum total fuel cost (32761.56 $/h). This is to prove that the 0.01 is the suitable value for the parameter bw which is able to provide the correct trade-off between the global and local search capabilities. In a nutshell, \(bw=0.01\) will be used in the following experiments in this case study.

The results of studying the effect of the parameter \(R_{\beta }\) on the behaviour of the proposed SCA-\(\beta \)HC algorithm are summarized in Table 11. The last five experimental scenarios (SenExp9–SenExp14) are designed for this purpose. From Table 11, it can be seen that the performance of the proposed SCA-\(\beta \)HC algorithm in SenExp12 perform better than the other four scenarios by achieving the minimum total fuel cost (32761.56 $/h). On the other hand, the performance of SenExp14 is better than the other four scenarios by getting the minimum mean cost (32794.94 $/h). However, the minimum total fuel cost will be used for comparison with the other methods in the literature, and thus leads us to use the results obtained by SenExp12. This is to prove that \(\beta \)=0.1, bw=0.01, and \(R_{\beta }\)=0.01 are the best parameter settings of the proposed algorithm which is able to strike the right balance between the exploration and exploitation, and thus navigate the search space of this version of the ELD problem to get better results.

Finally, the best results obtained by the proposed SCA-\(\beta \)HC algorithm against those of the the other fourteen algorithm are recorded in Table 12. The results of the proposed SCA-\(\beta \)HC algorithm are taken from Table 11. It can be seen from the results provided in Table 12 that the CS and CLCS-CLM algorithms are able to obtain the same best results (32704.45$/h). On the other hand, the performance of proposed SCA-\(\beta \)HC algorithm performs is better than the original version of the SCA algorithm, where the difference between the two algorithms is (474.85 $/h). Furthermore, the performance of the proposed SCA-\(\beta \)HC algorithm is better than the performance of CPSO, HBF, HS, IHS, PSO, and PVHS algorithms. While the performance of the proposed SCA-\(\beta \)HC algorithm are competitive with other comparative algorithms.

Table 11 The results of SCA-\(\beta \)HC on 15-unit generator system with demand of 2630 MW using different parameter settings
Table 12 Comparison results on 15-unit generator system with demand of 2630 MW

4.6 Case 6: 40-unit generator system with demand of 10,500 MW

The system considered in this case study consist of 40 generating units with valve point effects. Furthermore, the transmission loss is neglected, while the expected power load demand is 10,500 MW. The data of generating units of this system were taken from (Sinha et al. 2003). Table 13 illustrates the results obtained by studying the impact of the different parameters settings on the performance of the proposed SCA-\(\beta \)HC algorithm. In this table, the best solution achieved by running each experimental scenario over 30 replicated runs is recorded. The total fuel cost of the best solution, the mean costs, and the standard derivations are also provided in Table 13. The parameter settings of each experimental scenario is provided in Table 2. The best fuel cost is highlighted using bold font.

The parameter \(\beta \) is studied using four various values in four experimental scenarios (SenExp1 (\(\beta \)=0), SenExp2 (\(\beta \)=0.01), SenExp3 (\(\beta \)=0.1), and SenExp4 (\(\beta \)=0.5)). The results of running these scenarios over 30 times are summarized in Table 13. Clearly, it can be seen that the higher value of \(\beta \) leads to worse results as seen in SenExp4, as well as ignoring the parameter \(\beta \) leads to worse results as illustrates in SenExp1. However, the performance of the proposed SCA-\(\beta \)HC algorithm in SenExp2 is better than the performance of the other three scenarios (SenExp1, SenExp3, and SenExp4) by obtaining the minimum total fuel cost (121414.70 $/h). On the other hand, it can be seen from the results in Table 13 that the SenExp2 is able to obtain the minimum mean of costs in comparison with other three scenarios. This is prove that the value of 0.01 of the parameter \(\beta \) is the threshold value able to make a balance between exploration and exploitation for this case of ELD problem. Therefore, value of the \(\beta =0.01\) will be used in the following experiments.

The five experimental scenarios (SenExp5 (bw=0.001), SenExp6 (bw=0.01), SenExp7 (bw=0.1), SenExp8 (bw=0.5), and SenExp9 (bw=0.95)) are designed to study the effect of the parameter bw on the performance of the proposed SCA-\(\beta \)HC algorithm. Table 13 shows the results of running these scenarios. It can be observed from the results in this table that the higher values of the parameter bw leads to better results, while SenExp8 obtained the minimum total fuel cost (121414.70 $/h) in comparison with other four scenarios (SenExp5, SenExp6, SenExp7, and SenExp9). On the other hand, the SenExp9 produce the best results in terms of the mean cost (121439.12 $/h). In the following experiments, \(bw= 0.5\) is used since it achieves the minimum fuel cost as can be recognized from SenExp8.

Table 13 illustrates the results of running the five experimental scenarios (i.e., SenExp10–SenExp14) which are designed to study the impact of the parameter \(R_{\beta }\) on the behaviour of the proposed SCA-\(\beta \)HC algorithm. From Table 13, it can be shown that the results of the proposed SCA-\(\beta \)HC algorithm are enhanced gradually by increasing the value of \(R_{\beta }\) based on the mean of costs. Furthermore, the performance of the proposed SCA-\(\beta \)HC algorithm in SenExp10 is the worse among the other five scenarios (SenExp10–SenExp14) by getting the worst results. This is because that the value of the \(R_{\beta }\) is equal to zero, and thus the \(\beta \)-hill climbing optimizer is not functioned. On the other hand, SenExp12 is better than other scenarios by obtaining the minimum total fuel cost for this case of ELD problem. Based on above discussions, the settings of the three parameters of the proposed SCA-\(\beta \)HC are \(\beta \)=0.01, bw=0.5, and \(R_{\beta }\)=0.01 which are yielded the best results.

Table 13 The results of SCA-\(\beta \)HC on 40-unit generator system with demand of 10,500 MW using different parameter settings

Finally, the best results of the proposed SCA-\(\beta \)HC algorithm against those of the other forty seven comparative methods are recorded in Table 14. From Table 14, it can be seen that the performance of the HGWO algorithm outperforms the proposed SCA-\(\beta \)HC algorithm, as well as other competitive methods by obtaining the minimum fuel cost (121412.00 $/h). Furthermore, the proposed SCA-\(\beta \)HC algorithm is ranked in the ninth position based on the results obtained (121414.70 $/h), where the difference between the results of the proposed algorithms and the results of HGWO is equal to 2.70 $/h. On the other hand, the performance of the proposed algorithm outperforms the original sine cosine algorithm (SCA), where the difference between the two algorithms is equal to 3870.79 $/h.

Table 14 Comparison results on 40-unit generator system with demand of 10,500 MW

4.7 Convergence analysis

In order to study the hit rate of using heuristic search (i.e., \(\beta \)HC) in SCA, the hit rate parameter can be considered as \(R_{\beta }\). Note that this parameter determines the percentage of hitting the \(\beta \)HC by SCA. This parameter is studied with different values as shown in Table 2. The results obtained by the different values of \(R_\beta \) can be shown in Tables 3, 5, 7, 9, 11, and 13. As can be aware from the results, when the value of \(R_\beta \) is small, the best results will be better. Therefore, when the number of hit rate of \(\beta \)HC from SCA is small, the behavior of the proposed method tends to be better due to its ability in achieving the right balance in exploration and exploitation during the search.

Figure 4 plots the convergence behaviour of the proposed SCA-\(\beta \)HC algorithm against the original version of sine cosine algorithm (SCA) on the different cases of ELD problems. It should be noted that the x-axis represent the number of iterations, while the y-axis represents the total fuel cost ($/h). The number of iterations are chosen carefully in order to visualize the differences among the results of the two algorithms. The parameter settings of the SCA-\(\beta \)HC algorithm are the setting of the experimental scenario obtained the minimum fuel cost for each ELD problem. From Fig. 4, it can be seen that the SCA-\(\beta \)HC algorithm obtains near results to the optimal in the early stages of the search process. Furthermore, the figure reveals big differences between the results of the SCA-\(\beta \)HC algorithm and those of the SCA algorithm especially for Case 3, Case 4, Case 5 and Case 6.

Fig. 4
figure 4

The convergence plots of the proposed SCA-\(\beta \)HC algorithm for different ELD problems

5 Conclusion and future work

In this paper, the economic load dispatch (ELD) problems are tackled using a hybridized version of Sine Cosine Algorithm with \(\beta \)-hill climbing (\(\beta \)HS) optimizer using six real-wold problems of different number of generating units. ELD is tackled by achieving the total load demand generated by power units with minimum fuel costs with respect to several types of constraints such as equality constraints, inequality constraints, ramp rate limits, and prohibited operating zones. Although this problem is solved using different optimization algorithm, population-based algorithm has revealed very successful outcomes. Sine cosine algorithm (SCA) is the recent population-based optimization algorithm utilized the survival-of-the-fittest principle using Sine and Cosine trigonometric functions. In order to efficiently navigate the ELD search space and achieve the right balance between the exploration and exploitation, \(\beta \)HC, the recent local search algorithm, is hybridized with SCA as a new operator to help in exploiting the search space regions to which SCA explored.

The proposed algorithm is abbreviated as SCA-\(\beta \)HC which is evaluated using six real-world cases: 3-unit generator with 850 MW, 6-unit generator with 1263 MW, 13-unit generator with 2520 MW, 13-unit generator with 1800 MW, 15-unit generator with 2630 MW, and 40-unit generator with 10500 MW. The effect of the control parameters (i.e., \(\beta \), bw, \(R_{\beta }\)) on the convergence behaviour of the proposed SCA-\(\beta \)HC is studied through 14 convergence scenarios with different values. In conclusion, SCA-\(\beta \)HC has the best performance when the \(\beta \), bw, and \(R_{\beta }\) have small values. For comparative evaluation, the results produced by each ELD case is compared against several state-of-art methods. In a nutshell, the proposed SCA-\(\beta \)HC is able to yield the best overall results for 3-unit generator with 850 MW. Furthermore, it is able to produce the second-best results for 13-unit generator with 2520 MW, and the third-best results for 13-unit generator with 1800 MW. It occupies the 6th position out of 15 comparative methods for 6-unit generation case. It is also able to achieve the seventh position out of 15 comparative methods for 15-unit generator with 850 MW and the ninth position out of 48 comparative methods for 40-unit generator with 10500 MW. This reveal the viability of the proposed SCA-\(\beta \)HC for ELD domain and power systems in general.

As the proposed SCA-\(\beta \)HC reveals very promising results for ELD problem, in the future, it can be utilized for other developments such as:

  1. 1.

    Tackling other Engineering optimization Problems with multi-objective features such as truss structure.

  2. 2.

    Investigating other local search algorithms in SCA such as Simulated Annealing, Tabu Search, VNS, Iterated Local Search, and others

  3. 3.

    Adapting SCA-\(\beta \)HC for other versions of ELD problems with more challenging constraints to be more realistic such as the transmission losses and multiple fuels constraints .