An Improved Multi-Objective Artificial Bee Colony Optimization Algorithm with Regulation Operators
Abstract
:1. Introduction
2. Literature Review
3. Multi-Objective Artificial Bee Colony (RMOABC) Algorithm with Regulation Operators
3.1. Design of the RMOABC Algorithm
3.1.1. External Archive (EA)
3.1.2. Adaptive Grid
3.1.3. Regulation Operator
3.2. Main Algorithm
Algorithm 1. RMOABC Algorithm |
FoodNumber: Number of foods sources |
Trial: Stagnation number of a solution |
Limit: Maximum number of trial for abandoning a food source |
MFE: Maximum number of fitness evaluations |
OBJNum: Number of objectives |
Begin |
Initialization |
For iter = 0 to MFE |
SendEmployedBees(); |
SendOnlookerBees(); |
SendScoutBees(); |
UpdateExternalArchive(); |
UpdateGrid(); |
TrunkExternalArchive(); |
End For |
Return ExternalArchive |
End |
Function SendEmployedBees () |
Begin |
For i = 0 to FoodNumber−1 |
Select a parameter p randomly |
Select neighbor k from the solution randomly for producing a mutant solution |
Generate a new candidate solution in the range of the parameter |
Calculate the fitness according to the objective functions |
If the new solution dominates the old one |
Update the solution |
End If |
If the solution was not improved |
Increase its Trial by 1 |
End If |
End For |
End |
Function SendOnlookerBees () |
Begin |
Calculate the probabilities of each solution |
While (t < FoodNumber) |
Select a parameter p randomly |
Select neighbor k from the solution randomly for producing a mutant solution |
Generate a new candidate solution in the range of the parameter |
Calculate the fitness according to the objective functions |
If the new solution dominates the old one |
Update the solution |
End If |
If the solution was not improved |
Increase its Trial by 1 |
End If |
End While |
End |
Function SendScoutBees () |
Begin |
For i = 0 to FoodNumber−1 |
If Trial(i) exceeds limit |
Re-initiate the ith solution |
Set Trial(i) = 0 |
End If |
End For |
End |
Function UpdateExternalArchive () |
Begin |
Define boolean isDominated[swarm.length] |
For i = 0 to FoodNumber−1 |
For j = 0 to FoodNumber−1 and isDominated[i] is not true |
If i is not equal j and isDominated[j] is not true |
Verify the dominance of solution i and solution j |
If solution j dominates solution i |
Set isDominated[i] = true |
End If |
If solution i dominates solution j |
Set isDominated[j] = true |
End If |
End If |
End For |
End For |
For i = 0 to FoodNumber−1 |
If isDominated[i] is false |
Add the solution to the ExternalArchive |
End If |
End For |
End |
Function UpdateGrid () |
Begin |
Set maxValues [] = the max Fitness values of each objective of solutions in ExternArchive |
Set minValues [] = the min Fitness Values of each objective of solutions in ExternArchive |
For i = 0 to OBJNum−1 |
Initialize the grid’s ranges to the maxValues[i]−minValues[i] |
End For |
For i = 0 to (length of hypercubes)−1 |
Update the fitness limitation of hypercubes[i] based on the ranges |
End For |
For i = 0 to (length of hypercubes)−1 |
Verify whether the solution[i] of the ExternArchive is in the limitation of the fitness |
End For |
For i = 0 to (length of hypercubes)−1 |
Calculate the fitness diversity of the solution in archive |
End For |
End |
Function TrunkExternalArchive() |
Begin |
While ExternalArchive is full |
Select a solution from the ExternalArchive by the Adaptive Grid mechanism |
Remove the bee with the selected solution in the ExternalArchive |
End While |
End |
4. Experimental Analyses
4.1. Multi-Objective Optimization Algorithms
4.1.1. Non-dominated Sorted Genetic Algorithm-II (NSGA-II)
Algorithm 2. NSGA-II Algorithm |
Begin |
Initialize Npop random solutions |
Evaluate initial solutions by their objective function values |
Assign ranks to the solutions based on the ranking procedure (non-dominated sorting) |
Calculate crowding distance |
While (Stopping Criteria is not satisfied) |
Create and fill the mating pool using binary tournament selection |
Apply crossover and mutation operators to the mating pool |
Evaluate objective function values of the new solutions |
Merge the old population and the newly created solutions |
Assign ranks according to the ranking procedure |
Calculate crowding distance |
Sort the population and select better solutions |
End While |
Output the non-dominated solutions |
End |
4.1.2. Multiobjective Evolutionary Algorithm Based on Decomposition (MOEA/D)
Algorithm 3. MOEA/D Algorithm |
Input: |
• multiobjective optimization problem (MOP); |
• a stopping criterion; |
• N: The number of the subproblems considered in MOEA/D; |
• a uniform spread of N weight vectors: ; |
• T: The number of the weight vectors in the neighborhood of each weight vector. |
Output: an external population (EP), which is used to store nondominated solutions found during the search. |
Begin |
Initialization(); |
While (Stopping Criteria is not satisfied) |
Update(); |
End While |
Stop and output EP. |
End |
Function Initialization() |
Begin |
Set EP = . |
Compute the Euclidean distances between any two weight vectors and then work out the T closest weight vectors to each weight vector. For each i = 1, …, N, set , where are the T closest weight vectors to . |
Generate an initial population randomly or by a problem-specific method. Set . |
Initialize by a problem-specific method. |
End |
Function Update() |
Begin |
For i = 1 to N, |
Reproduction: Randomly select two indexes k, l from B(i), and then generate a new solution y from xk and xl by using genetic operators. |
Improvement: Apply a problem-specific repair/ improvement heuristic on y to produce . |
Update of z: For each , if , then set . |
Update of Neighboring Solutions: For each index , if , then set and . |
Update of EP: |
Remove from EP all the vectors dominated by . Add to EP if no vectors in EP dominate . |
End For |
End |
4.2. Experiments Preparations
4.2.1. Parameter Settings
4.2.2. Benchmark Functions
4.2.3. Evaluation Indicators of Multi-Objective Optimization Algorithms
4.3. Experimental Results Analysis
4.3.1. Pareto Front vs. Non-Dominated Solution
4.3.2. Statistics Results
5. Conclusions
Acknowledgments
Author Contributions
Conflicts of Interest
References
- Deb, K. Multi-Objective Optimization using Evolutionary Algorithms; John Wiley & Sons: Chichester, UK, 2001. [Google Scholar]
- Li, Z.J.; Zhang, H.; Yao, C.; Kan, G.Y. Application of coupling global optimization of single-objective algorithm with multi-objective algorithm to calibration of Xinanjiang model parameters. J. Hydroelectr. Eng. 2013, 32, 6–12. [Google Scholar]
- Karaboga, D.; Gorkemli, B.; Ozturk, C.; Karaboga, N. A comprehensive survey: artificial bee colony (ABC) algorithm and applications. Artif. Intell. Rev. 2014, 42, 21–57. [Google Scholar] [CrossRef]
- Akay, B.; Karaboga, D. A survey on the applications of artificial bee colony in signal, image, and video processing. Signal Image Video Process. 2015, 9, 967–990. [Google Scholar] [CrossRef]
- Pareto, V. The Rise and Fall of the Elites; Bedminster Press: Totowa, NJ, USA, 1968. [Google Scholar]
- Coello, C.A.C. A comprehensive survey of evolutionary-based multiobjective optimization techniques. Knowl. Inf. Syst. 1999, 1, 129–156. [Google Scholar] [CrossRef]
- Raquel, C.R.; Naval, P.C., Jr. An effective use of crowding distance in multiobjective particle swarm optimization. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2005), Washington, DC, USA, 26 June 2005; pp. 257–264.
- Deb, K.; Pratap, A.; Agarwal, S.; Meyarivan, T. A fast and elitist multi-objective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 2002, 6, 182–197. [Google Scholar] [CrossRef]
- Zhang, Q.; Li, H. MOEA/D: A Multi-objective Evolutionary Algorithm Based on Decomposition. IEEE Trans. Evol. Comput. 2007, 11, 712–731. [Google Scholar] [CrossRef]
- Coello, C.A.C.; Pulido, G.T.; Lechuga, M.S. Handling multiple objectives with particle swarm optimization. IEEE Trans. Evol. Comput. 2004, 8, 256–279. [Google Scholar] [CrossRef]
- Reyes-Sierra, M.; Coello, C.A.C. Multi-objective particle swarm optimizers: A survey of the state-of-the-art. Int. J. Comput. Intell. Res. 2006, 2, 287–308. [Google Scholar]
- Tsou, C.S.; Chang, S.C.; Lai, P.W. Using crowding distance to improve multi-objective PSO with local search. In Swarm Intelligence: Focus on Ant and Particle Swarm Optimization; Chan, F.T.S., Tiwari, M.K., Eds.; Itech Education and Publishing: Vienna, Austria, 2007. [Google Scholar]
- Leong, W.F.; Yen, G.G. PSO-based multiobjective optimization with dynamic population size and adaptive local archives. IEEE Trans. Syst. Man Cybern. 2008, 38, 5. [Google Scholar]
- MOEA framework. Available online: http://moeaframework.org/ (accessed on 31 January 2017).
- Guliashki, V.; Toshev, H.; Korsemov, C. Survey of evolutionary algorithms used in multiobjective optimization. J. Probl. Eng. Cybern. Robot. 2009, 60, 42–54. [Google Scholar]
- Zhou, A.; Qu, B.Y.; Li, H.; Zhao, S.Z.; Suganthan, P.N.; Zhang, Q. Multiobjective evolutionary algorithms: A survey of the state-of-the-art. J. Swarm Evol. Comput. 2011, 1, 32–49. [Google Scholar] [CrossRef]
- Shivaie, M.; Sepasian, M.S.; Sheikheleslami, M.K. Multi-objective transmission expansion planning using fuzzy-genetic algorithm. Iran. J. Sci. Technol. Trans. Electr. Eng. 2011, 35, 141–159. [Google Scholar]
- Hedayatzadeh, R.; Hasanizadeh, B.; Akbari, R.; Ziarati, K. A multi-objective artificial bee colony for optimizing multi-objective problems. In Proceedings of the 3th International Conference on Advanced Computer Theory and Engineering, ICACTE, Chengdu, China, 20–22 August 2010; pp. 271–281.
- Akbari, R.; Hedayatzadeh, R.; Ziarati, K.; Hasanizadeh, B. A multi-objective artificial bee colony algorithm. J. Swarm Evol. Comput. 2012, 2, 39–52. [Google Scholar] [CrossRef]
- Zou, W.P.; Zhu, Y.L.; Chen, H.N.; Zhang, B.W. Solving multiobjective optimization problems using artificial bee colony algorithm. Discret. Dyn. Nat. Soc. 2011, 2011. [Google Scholar] [CrossRef]
- Omkar, S.N.; Senthilnath, J.; Khandelwal, R.; Naik, G.N.; Gopalakrishnan, S. Artificial bee colony (ABC) for multi-objective design optimization of composite structures. Appl. Soft Comput. 2011, 11, 489–499. [Google Scholar] [CrossRef]
- Akbari, R.; Ziarati, K. Multi-objective bee swarm optimization. Int. J. Innov. Comput. Inf. Control 2012, 8, 715–726. [Google Scholar]
- Zhang, H.; Zhu, Y.; Zou, W.; Yan, X. A hybrid multi-objective artificial bee colony algorithm for burdening optimization of copper strip production. Appl. Math. Model. 2012, 36, 2578–2591. [Google Scholar] [CrossRef]
- da Silva Maximiano, M.; Vega-Rodríguez, M.A.; Gómez-Pulido, J.A.; Sánchez-Pérez, J.M. A new multiobjective artificial bee colony algorithm to solve a real-world frequency assignment problem. Neural Comput. Appl. 2013, 22, 1447–1459. [Google Scholar] [CrossRef]
- Mohammadi, S.A.R.; Feizi Derakhshi, M.R.; Akbari, R. An Adaptive Multi-Objective Artificial Bee Colony with Crowding Distance Mechanism. Trans. Electr. Eng. 2013, 37, 79–92. [Google Scholar]
- Akay, B. Synchronous and Asynchronous Pareto-Based Multi-Objective Artificial Bee Colony Algorithms. J. Glob. Optim. 2013, 57, 415–445. [Google Scholar] [CrossRef]
- Luo, J.P.; Liu, Q.; Yang, Y.; Li, X.; Chen, M.R.; Cao, W.M. An artificial bee colony algorithm for multi-objective optimization. Appl. Soft Comput. 2017, 50, 235–251. [Google Scholar] [CrossRef]
- Kishor, A.; Singh, P.K.; Prakash, J. NSABC: Non-dominated sorting based multi-objective artificial bee colony algorithm and its application in data clustering. Neurocomput. 2016, 216, 514–533. [Google Scholar] [CrossRef]
- Xiang, Y.; Zhou, Y.R. A dynamic multi-colony artificial bee colony algorithm for multi-objective optimization. Appl. Soft Comput. 2015, 35, 766–785. [Google Scholar] [CrossRef]
- Nseef, S.K.; Abdullah, S.; Turky, A.; Kendall, G. An adaptive multi-population artificial bee colony algorithm for dynamic optimisation problems. Knowl.-Based Syst. 2016, 104, 14–23. [Google Scholar] [CrossRef]
- Karaboga, D.; Basturk, B. On the performance of artificial bee colony (ABC) algorithm. Appl. Soft Comput. 2008, 8, 687–697. [Google Scholar] [CrossRef]
- Karaboga, D.; Akay, B. A comparative study of artificial bee colony algorithm. Appl. Math. Comput. 2009, 214, 108–132. [Google Scholar] [CrossRef]
- Huo, J.Y.; Zhang, Y.Z.; Zhao, H.X. An improved artificial bee colony algorithm for numerical functions. Int. J. Reason.-based Intell. Syst. 2015, 7, 200–208. [Google Scholar] [CrossRef]
- Coello, C.A.C.; Gregorio, T.P.; Maximino, S.L. Handling Multiple Objectives with Particle Swarm Optimization. IEEE Trans. Evol. Comput. 2004, 8, 256–279. [Google Scholar] [CrossRef]
- Bastos-Filho, J.A.C.; Figueiredo, E.M.N.; Martins-Filho, J.F.; Chaves, D.A.R.; Cani, M.E.V.S.; Pontes, M.J. Design of distributed optical-fiber raman amplifiers using multi-objective particle swarm optimization. J. Microw. Optoelectr. Electromagn. Appl. 2011, 10, 323–336. [Google Scholar] [CrossRef]
- Knowles, J.D.; Corne, D.W. Approximating the non-dominated front using the Pareto archived evolution strategy. Evol. Comput. 2000, 8, 149–172. [Google Scholar] [CrossRef] [PubMed]
- Zhu, G.P.; Kwong, S. Gbest-guided artificial bee colony algorithm for numerical function optimization. Appl. Math. Comput. 2010, 217, 3166–3173. [Google Scholar] [CrossRef]
- Zitzler, E.; Deb, K.; Thiele, L. Comparison of multiobjective evolutionary algorithms: Empirical results. Evol. Comput. 2000, 8, 173–195. [Google Scholar] [CrossRef] [PubMed]
- Pasandideh, S.H.R.; Niaki, S.T.A.; Sharafzadeh, S. Optimizing a bi-objective multi-product EPQ model with defective items, rework and limited orders: NSGA-II and MOPSO algorithms. J. Manuf. Syst. 2013, 32, 764–770. [Google Scholar] [CrossRef]
- Zhang, Q.; Zhou, S.; Zhao, A.; Suganthan, P.N.; Liu, W.; Tiwariz, S. Multiobjective Optimization Test Instances for the CEC 2009 Special Session and Competition; Technical report; University of Essex, The School of Computer Science and Electronic Engineering: Essex, UK, 2009. [Google Scholar]
- Shafii, M.F.; Smedt, D.E. Multi-objective calibration of a distributed hydrological model (WetSpa) using a genetic algorithm. Hydrol. Earth Syst. Sci. 2009, 13, 2137–2149. [Google Scholar] [CrossRef]
Algorithm | Parameter | Value | Remark |
---|---|---|---|
NSGA-II | population size | 100 | |
crossover probability | 0.8 | uniform crossover | |
mutation probability | 0.02 | ||
MOEA/D | population size | 300 | , m is the number of objectives |
external archive capacity | 100 | ||
T | 20 | ||
H | 299 | ||
crossover rate | 1.00 | ||
mutation rate | 1/D | ||
RMOABC | population size | 100 | |
external archive capacity | 100 | ||
adaptive grid number | 25 | ||
Limit | 0.25 × NP × D |
Algorithm | GD (Generational Distance) | SP (Spacing) | Times (in seconds) | |||
---|---|---|---|---|---|---|
Mean | SD | Mean | SD | Mean | SD | |
NSGA-II | 1.9679×10−3 | 3.4112×10−4 | 6.2474×10−3 | 6.9286×10−4 | 4.3574 | 0.3224 |
MOEA/D | 1.3843×10−2 | 5.3614×10−3 | 2.4305×10−2 | 8.5273×10−3 | 2.1108 | 0.1783 |
RMOABC | 5.4088×10−4 | 2.4279×10−4 | 3.6033×10−3 | 7.1357×10−4 | 0.5388 | 0.0730 |
Algorithm | GD (Generational Distance) | SP (Spacing) | Times (in seconds) | |||
---|---|---|---|---|---|---|
Mean | SD | Mean | SD | Mean | SD | |
NSGA-II | 3.4387×10−3 | 1.0882×10−3 | 7.6290×10−3 | 1.8900×10−3 | 2.8958 | 0.5234 |
MOEA/D | 2.5757×10−2 | 1.0759×10−2 | 2.2454×10−2 | 2.1028×10−2 | 0.8309 | 0.2213 |
RMOABC | 2.9472×10−4 | 1.4764×10−4 | 3.3057×10−3 | 8.9793×10−4 | 0.5211 | 0.0468 |
Algorithm | GD (Generational Distance) | SP (Spacing) | Times (in seconds) | |||
---|---|---|---|---|---|---|
Mean | SD | Mean | SD | Mean | SD | |
NSGA-II | 1.0607×10−3 | 1.7559×10−4 | 7.0315×10−3 | 6.2416×10−4 | 1.7959 | 0.0693 |
MOEA/D | 7.9187×10−3 | 2.7141×10−3 | 4.0872×10−2 | 1.4372×10−2 | 0.7610 | 0.1002 |
RMOABC | 7.7966×10−4 | 1.2618×10−4 | 9.2795×10−3 | 2.9382×10−3 | 0.2342 | 0.0229 |
Algorithm | GD (Generational Distance) | SP (Spacing) | Times (in seconds) | |||
---|---|---|---|---|---|---|
Mean | SD | Mean | SD | Mean | SD | |
NSGA-II | 0.0449 | 0.0112 | 0.1770 | 0.0133 | 1.1736 | 0.0696 |
MOEA/D | 0.0061 | 0.0105 | 0.0425 | 0.0726 | 1.9405 | 0.4917 |
RMOABC | 0.0061 | 0.0051 | 0.1646 | 0.0167 | 0.4177 | 0.0164 |
Algorithm | GD (Generational Distance) | SP (Spacing) | Times (in seconds) | |||
---|---|---|---|---|---|---|
Mean | SD | Mean | SD | Mean | SD | |
NSGA-II | 0.0092 | 0.0035 | 0.0307 | 0.0259 | 20.5788 | 1.3663 |
MOEA/D | 0.0043 | 0.0009 | 0.0192 | 0.0216 | 5.6236 | 0.3085 |
RMOABC | 0.0030 | 0.0009 | 0.0082 | 0.0004 | 1.4772 | 0.1590 |
Algorithm | GD (Generational Distance) | SP (Spacing) | Times (in seconds) | |||
---|---|---|---|---|---|---|
Mean | SD | Mean | SD | Mean | SD | |
NSGA-II | 0.4161 | 0.1755 | 0.1898 | 0.1278 | 5.1115 | 1.0229 |
MOEA/D | 0.2973 | 0.2028 | 0.1427 | 0.1178 | 4.4406 | 0.6877 |
RMOABC | 0.1353 | 0.0880 | 0.1033 | 0.3172 | 1.24645 | 0.0476 |
© 2017 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license ( http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Huo, J.; Liu, L. An Improved Multi-Objective Artificial Bee Colony Optimization Algorithm with Regulation Operators. Information 2017, 8, 18. https://doi.org/10.3390/info8010018
Huo J, Liu L. An Improved Multi-Objective Artificial Bee Colony Optimization Algorithm with Regulation Operators. Information. 2017; 8(1):18. https://doi.org/10.3390/info8010018
Chicago/Turabian StyleHuo, Jiuyuan, and Liqun Liu. 2017. "An Improved Multi-Objective Artificial Bee Colony Optimization Algorithm with Regulation Operators" Information 8, no. 1: 18. https://doi.org/10.3390/info8010018
APA StyleHuo, J., & Liu, L. (2017). An Improved Multi-Objective Artificial Bee Colony Optimization Algorithm with Regulation Operators. Information, 8(1), 18. https://doi.org/10.3390/info8010018