# New Hybrid Algorithms for Prediction of Daily Load of Power Network
## 3 New Hybrid Algorithms Based on GWO, SFLA and DE
### Hybrid Algorithm SGWO  
From the position updating equations we have known that GWO makes all members converge quickly towards the optimal, while SFLA only makes the worst members converge to the optimum. But GWO may fall into local optimum due to too fast convergence, SFLA achieves global information exchange by combining memeplexes, which avoids local convergence. So through combining two or more methods, the hybrid algorithm effectively solves the problems. The process of SGWO is described as follows:  
Step 1. Sort the population by fitness.  
Step 2. Divide the population into different meme groups.  
Step 3. Perform the following local search for each meme group.  
Step 3.1. Find the alpha, beta and delta.  
Step 3.2. Access each wolf and update the alpha, beta and delta by Equations (17)-(22).  
Step 3.3. Update the position of each wolf by Equation (25).  
Step 3.4. Repeatedly do 3.1-3.3 until it meets the ending conditions of local search.  
Step 4. Combine the meme groups and repeatedly do 1-3 until it meets the ending conditions of the algorithm.  
The pseudo code of SGWO is described in Algorithm 1.  
```
Initialize related parameters  Initialize the positions of the population  Calculate the fitness of each wolf  nPop = the number of the population  n_Memeplex = the number of Memeplex  I = reshape(1:nPop, n_Memeplex, []); for\(i=1:Max\_iteration\)do  memes = cell(n_Memeplex, 1);  Sort the population by fitness for\(k=1:n\_Memeplex\)do  memesk = pop(I(k,:));  memesk = RunSGWO(parameters);  pop(I(k,:)) = memesk; endfor endfor
```  
**Algorithm 1** SGWO  
The pseudo code of RunSGWO function is described in Algorithm 2.  
```
Find the alpha, beta and delta. for\(i=1:Max\_iteration\)do for\(s=1:subPopSize\)do  flag = 1;  fitness = fobj(pop(s).Position); if fitness \(<\) alpha then  beta = alpha;  alpha = pop(s);  flag = 0; endif if\(fitness<beta\&\&flag==1\)then  delta = beta;  beta = pop(s);  flag = 0; endif if\(fitness<delta\&\&flag==1\)then  delta = beta;  beta = pop(s);  flag = 0; endif if\(fitness<delta\&\&flag==1\)then  beta = pop(s);  endif  Update the position of \(s\) by Equation (25)  Calculate the fitness of \(s\) endfor endfor
```  
**Algorithm 2**RunSGWO  
### Hybrid Algorithm SGWO  
Gene mutation occurs in the organism when a creature breeds its next generation. If the mutation is beneficial to the organism, the variants are filtered through the environment and mutant genes are preserved in offspring. After each iteration, the wolves of a memeplex are updated by DE. That is, it eliminates the wolves with the worst fitness. At the same time, new ones are generated to replace the eliminated. The process of SGWOD is described as follows:  
Step 1. Sort the population by fitness.  
Step 2. Divide the population into different meme groups.  
Step 3. Perform the following local search for each meme group.  
Step 3.1. Find the alpha, beta and omega.  
Step 3.2. Access each wolf and update the alpha, beta and omega by Equations (17)-(22).  
Step 3.3. Update the position of each wolf by Equation (25).  
Step 3.4 Access each wolf, randomly mutate and cross, if the new mutant is better than the old, it is replaced by the new one.  
Step 3.5. Repeatedly do 3.1-3.4 until it meets the ending conditions of the local search.  
Step 4. Combine the meme groups and repeatedly do 1-3 until it meets the ending conditions of the algorithm.