COOBBO: A Novel Opposition-Based Soft Computing Algorithm for TSP Problems
<p>Opposite point defined in domain [<span class="html-italic">a</span>, <span class="html-italic">b</span>]. <span class="html-italic">x</span> is a candidate solution and <math display="inline"> <semantics> <mover accent="true"> <mi>x</mi> <mo stretchy="false">⌣</mo> </mover> </semantics> </math> is the opposite of <span class="html-italic">x</span>.</p> "> Figure 2
<p>Opposite point using the current optimum defined in domain [<span class="html-italic">a</span>, <span class="html-italic">b</span>]. <span class="html-italic">x</span> is a candidate solution, <math display="inline"> <semantics> <mover accent="true"> <mi>x</mi> <mo stretchy="false">⌣</mo> </mover> </semantics> </math> is the opposite of <span class="html-italic">x</span> and <math display="inline"> <semantics> <mrow> <msub> <mover accent="true"> <mi>x</mi> <mo stretchy="false">⌣</mo> </mover> <mrow> <mi>c</mi> <mi>o</mi> </mrow> </msub> </mrow> </semantics> </math> is its opposite using the current optimum.</p> "> Figure 3
<p>Novel definition of opposite path (Backward Ellipse).</p> "> Figure 4
<p>Component elements of opposite path (Backward Ellipse). (<b>a</b>) Optimal path in the current population. (<b>b</b>) Candidate path. (<b>c</b>) Cities in the graph.</p> "> Figure 5
<p>Novel definition of opposite path (Forward Ellipse).</p> "> Figure 6
<p>Novel definition of opposite path (Circle).</p> "> Figure 7
<p>Utilization rate of opposite paths of OBBO algorithm.</p> "> Figure 8
<p>Utilization rate of opposite paths of COOBBO algorithm.</p> "> Figure 9
<p>Comparison of computation time of BBO, OBBO, ROBBO and COOBBO algorithms.</p> ">
Abstract
:1. Introduction
2. Background
2.1. Biogeography-Based Optimization
2.2. Traveling Salesman Problems
2.2. Oppositional Biogeography-Based Optimization for Combinatorial Problems
Algorithm 1. Original OBBO algorithm. |
1: procedure OBBO (Problem, Opposition method) |
2: Randomly generate initial population, P |
3: Generate the opposite of initial population, OP |
4: Maintain the fittest amongst P and OP |
5: while Generation ≤ gen limit do |
6: Perform BBO Migration |
7: Remove duplicates from population |
8: Calculate the fitness of P |
9: if random ≤ Opposition Jumping Rate then |
10: Create the opposite population, OP |
11: Calculate the fitness of OP |
12: Maintain the fittest amongst P and OP |
13: end if |
14: Restore Elite individuals |
15: end while |
16: return Best Individual |
17: end procedure |
3. Proposed Algorithm
3.1. Motivation
3.2. Definition of Opposite Path using the Current Optimum
3.3. Our Optimization Method
4. Experimental Results and Discussions
4.1. Experimental Setup
- ●
- Population size: 100
- ●
- Maximum number of cost function calls: 100,000
- ●
- Number of elites: 3
- ●
- Opposition jumping rate: 0.3
4.2. Deeper Analysis of OBBO
Parameters | Value |
---|---|
Population size | 50 |
Generation limit | 500 |
Number of elites | 3 |
Monte Carlo runs | 200 |
Opposition Jumping Rate | 0.3 |
4.3. Experiment Comparison of BBO, OBBO, ROBBO and COOBBO
Benchmark | Comparison Criteria | BBO | OBBO | COOBBO | ROBBO |
---|---|---|---|---|---|
berlin52 | BS | 8604.2732 ± 271.0828 | 8802.2257 ± 298.9179 | 8321.864 ± 243.0838 | 8816.3923 ± 310.225 |
CT | 16.5043 ± 0.033254 | 12.8949 ± 0.14883 | 26.0636 ± 0.40613 | 12.7935 ± 0.15288 | |
UR | - | 1.39 ± 0.15792 | 17.7021 ± 1.5387 | 0.98298 ± 0.13792 | |
PD | 30.9672 ± 0.2238 | 32.0102 ± 0.30895 | 23.4455 ± 1.7748 | 31.8362 ± 0.29218 | |
bier127 | BS | 224444.6936 ± 7873.8039 | 247079.3802 ± 8659.568 | 186999.418 ± 11339.7602 | 247017.627 ± 8644.1022 |
CT | 36.2248 ± 0.18711 | 28.0967 ± 0.32596 | 77.5242 ± 1.7217 | 27.9017 ± 0.35213 | |
UR | - | 0.79193 ± 0.12519 | 10.0663 ± 0.94305 | 0.73474 ± 0.11112 | |
PD | 37.4125 ± 0.46407 | 40.0844 ± 0.74797 | 37.8905 ± 1.7826 | 39.9542 ± 0.77365 | |
ch130 | BS | 14160.151 ± 556.0656 | 16163.1156 ± 571.0329 | 10735.6857 ± 800.823 | 16110.5935 ± 580.3632 |
CT | 36.8155 ± 0.041028 | 28.6327 ± 0.28465 | 80.0928 ± 1.9244 | 28.4332 ± 0.28853 | |
UR | - | 0.79987 ± 0.11519 | 11.046 ± 1.133 | 0.72923 ± 0.10295 | |
PD | 37.108 ± 0.45369 | 39.7573 ± 0.65399 | 38.2925 ± 1.7171 | 39.6187 ± 0.6568 | |
kroA150 | BS | 76274.6154 ± 3082.4458 | 86542.4877 ± 3231.4578 | 54089.9955 ± 4138.1095 | 87258.7988 ± 3590.0721 |
CT | 42.0813 ± 0.039008 | 32.634 ± 0.43444 | 97.9435 ± 2.3961 | 32.4983 ± 0.39877 | |
UR | - | 0.84709 ± 0.11022 | 11.5362 ± 1.14 | 0.71816 ± 0.11195 | |
PD | 38.4352 ± 0.49502 | 41.6914 ± 0.89549 | 43.8533 ± 2.3142 | 41.3216 ± 0.78642 | |
kroA200 | BS | 121550.466 ± 3586.8735 | 136496.701 ± 4039.3472 | 79433.7261 ± 5793.0264 | 136436.9172 ± 4140.0182 |
CT | 55.3055 ± 0.060966 | 42.9461 ± 0.60204 | 146.7581 ± 3.6105 | 42.702 ± 0.50824 | |
UR | - | 0.77342 ± 0.1136 | 9.8554 ± 0.92318 | 0.68909 ± 0.10748 | |
PD | 40.8049 ± 0.5737 | 45.0263 ± 1.3084 | 51.4226 ± 2.5032 | 44.635 ± 1.2792 | |
kroC100 | BS | 38808.7544 ± 1553.4899 | 43909.6763 ± 2211.9766 | 28786.3067 ± 2089.1848 | 44319.1631 ± 2033.1415 |
CT | 28.9781 ± 0.035912 | 22.5343 ± 0.2427 | 56.7792 ± 1.2044 | 22.4417 ± 0.25442 | |
UR | - | 0.98634 ± 0.14493 | 15.161 ± 1.4206 | 0.75694 ± 0.10583 | |
PD | 35.8608 ± 0.34445 | 38.3319 ± 0.6626 | 36.5919 ± 2.2458 | 37.8325 ± 0.59057 | |
lin105 | BS | 28658.7352 ± 1455.8463 | 32433.6636 ± 1562.2038 | 20653.0943 ± 1528.6458 | 32414.3953 ± 1534.0982 |
CT | 30.2712 ± 0.037719 | 23.576 ± 0.28172 | 60.3434 ± 1.2413 | 23.4203 ± 0.28112 | |
UR | - | 0.94954 ± 0.11861 | 14.1988 ± 1.4196 | 0.75923 ± 0.11967 | |
PD | 36.3301 ± 0.34626 | 38.8883 ± 0.60563 | 38.1673 ± 2.0066 | 38.4409 ± 0.56284 | |
lin318 | BS | 293943.2531 ± 6647.7388 | 324536.2956 ± 5997.1132 | 179974.0689 ± 11519.3106 | 325160.5952 ± 5921.0519 |
CT | 86.5313 ± 0.095259 | 67.0055 ± 0.77115 | 298.6361 ± 8.3882 | 66.7332 ± 0.83632 | |
UR | - | 0.72979 ± 0.088012 | 7.5774 ± 0.70079 | 0.66951 ± 0.11773 | |
PD | 45.9775 ± 0.93707 | 52.315 ± 1.9485 | 67.1539 ± 3.9866 | 51.8151 ± 1.8752 |
4.4. Experiment Comparison of OBBO and ROBBO
Benchmark | BS | CT | UR | PD |
---|---|---|---|---|
berlin52 | 0.743 (8802.2257 vs. 8816.3923) | 0.000 (12.8949 vs. 12.7935) | 0.000 (1.39 vs. 0.98298) | 0.000 (32.0102 vs. 31.8362) |
bier127 | 0.960 (247079.3802 vs. 247017.627) | 0.000 (28.0967 vs. 27.9017) | 0.001 (0.79193 vs. 0.73474) | 0.228 (40.0844 vs. 39.9542) |
ch130 | 0.520 (16163.1156 vs. 16110.5935) | 0.000 (28.6327 vs. 28.4332) | 0.000 (0.79987 vs. 0.72923) | 0.137 (39.7573 vs. 39.6187) |
kroA150 | 0.140 (86542.4877 vs. 87258.7988) | 0.022 (32.634 vs. 32.4983) | 0.000 (0.84709 vs. 0.71816) | 0.002 (41.6914 vs. 41.3216) |
kroA200 | 0.918 (136496.701 vs. 136436.9172) | 0.002 (42.9461 vs. 42.702) | 0.000 (0.77342 vs. 0.68909) | 0.034 (45.0263 vs. 44.635) |
kroC100 | 0.174 (43909.6763 vs. 44319.1631) | 0.009 (22.5343 vs. 22.4417) | 0.000 (0.98634 vs. 0.75694) | 0.000 (38.3319 vs. 37.8325) |
lin105 | 0.930 (32433.6636 vs. 32414.3953) | 0.000 (23.576 vs. 23.4203) | 0.000 (0.94954 vs. 0.75923) | 0.000 (38.8883 vs. 38.4409) |
lin318 | 0.460 (324536.2956 vs. 325160.5952) | 0.018 (67.0055 vs. 66.7332) | 0.000 (0.72979 vs. 0.66951) | 0.066 (52.315 vs. 51.8151) |
4.5. Experiment Comparison of Different COOBBO
Benchmark | Optimal Solution | Comparison Criteria | COOBBO (Backward Ellipse) | COOBBO (Forward Ellipse) | COOBBO (Circle) |
---|---|---|---|---|---|
berlin52 | 7542 | BS | 8321.864 ± 243.0838 | 8305.1157 ± 241.5853 | 8333.591 ± 283.9502 |
CT | 26.0636 ± 0.40613 | 26.2338 ± 0.43054 | 24.4901 ± 0.3307 | ||
UR | 17.7021 ± 1.5387 | 19.4787 ± 1.7205 | 11.9418 ± 1.032 | ||
PD | 23.4455 ± 1.7748 | 20.365 ± 0.99143 | 31.0124 ± 0.58744 | ||
bier127 | 118282 | BS | 186999.418 ± 11339.7602 | 200390.2364 ± 9909.0866 | 190145.1356 ± 9264.6665 |
CT | 77.5242 ± 1.7217 | 77.871 ± 1.8559 | 70.1001 ± 1.2754 | ||
UR | 10.0663 ± 0.94305 | 9.4902 ± 0.93118 | 5.5513 ± 0.38539 | ||
PD | 37.8905 ± 1.7826 | 34.7061 ± 1.3295 | 47.5324 ± 1.3702 | ||
ch130 | 6110 | BS | 10735.6857 ± 800.823 | 12301.3115 ± 665.8969 | 11071.1291 ± 602.8048 |
CT | 80.0928 ± 1.9244 | 80.2126 ± 1.7268 | 72.6642 ± 1.5963 | ||
UR | 11.046 ± 1.133 | 10.2205 ± 0.96441 | 6.2528 ± 0.46867 | ||
PD | 38.2925 ± 1.7171 | 33.9795 ± 1.2991 | 52.0144 ± 1.1943 | ||
kroA150 | 26524 | BS | 54089.9955 ± 4138.1095 | 62213.9641 ± 3367.083 | 56154.8562 ± 3199.3826 |
CT | 97.9435 ± 2.3961 | 97.909 ± 2.6651 | 87.9529 ± 1.6593 | ||
UR | 11.5362 ± 1.14 | 10.7622 ± 0.91919 | 6.9752 ± 0.44009 | ||
PD | 43.8533 ± 2.3142 | 39.1721 ± 1.9173 | 61.6256 ± 1.7903 | ||
kroA200 | 29368 | BS | 79433.7261 ± 5793.0264 | 95434.8002 ± 4848.5489 | 93386.4811 ± 3698.4416 |
CT | 146.7581 ± 3.6105 | 148.7677 ± 3.9271 | 130.3292 ± 3.1375 | ||
UR | 9.8554 ± 0.92318 | 9.195 ± 0.88397 | 5.8667 ± 0.3423 | ||
PD | 51.4226 ± 2.5032 | 46.2781 ± 2.5567 | 74.8238 ± 3.0705 | ||
kroC100 | 20749 | BS | 28786.3067 ± 2089.1848 | 32228.8304 ± 1988.7409 | 28124.5048 ± 1469.195 |
CT | 56.7792 ± 1.2044 | 57.3461 ± 1.2305 | 52.1812 ± 0.91162 | ||
UR | 15.161 ± 1.4206 | 14.8064 ± 1.5202 | 10.6852 ± 0.91019 | ||
PD | 36.5919 ± 2.2458 | 31.6739 ± 1.2889 | 48.9681 ± 1.039 | ||
lin105 | 14379 | BS | 20653.0943 ± 1528.6458 | 22392.0575 ± 1610.5752 | 20786.2342 ± 1077.5567 |
CT | 60.3434 ± 1.2413 | 61.4 ± 1.2684 | 55.1161 ± 1.0321 | ||
UR | 14.1988 ± 1.4196 | 13.8791 ± 1.2581 | 10.4896 ± 0.95054 | ||
PD | 38.1673 ± 2.0066 | 34.3843 ± 1.4297 | 50.6824 ± 1.088 | ||
lin318 | 42029 | BS | 179974.0689 ± 11519.3106 | 209648.546 ± 10977.459 | 241710.2118 ± 9377.1761 |
CT | 298.6361 ± 8.3882 | 305.7854 ± 8.8387 | 261.5351 ± 7.5882 | ||
UR | 7.5774 ± 0.70079 | 7.1332 ± 0.68193 | 4.073 ± 0.28234 | ||
PD | 67.1539 ± 3.9866 | 60.4984 ± 3.586 | 97.8536 ± 5.4552 |
4.6. More Discussion on Computation Time
Algorithm | Fitting line | Relative error (%) |
---|---|---|
BBO | 0.26351x + 2.6561 | 0.26629 |
OBBO | 0.20365x + 2.2008 | 0.21228 |
ROBBO | 0.20297x + 2.1265 | 0.21109 |
COOBBO | 1.04751x – 49.2515 | 15.4708 |
5. Conclusions
Acknowledgments
Author Contributions
Conflicts of Interest
References
- Tizhoosh, H.R.; Ventresca, M. Studies in Computational Intelligence: Oppositional Concepts in Computational Intelligence; Springer-Verlag: Berlin, Germany, 2008. [Google Scholar]
- Tizhoosh, H.R. Opposition-based learning: A new scheme for machine intelligence. In Proceedings of International Conference on Computational Intelligence for Modelling, Control and Automation, and International Conference on Intelligent Agents, Web Technologies and Internet Commerce, Vienna, Austria, 28–30 November 2005; pp. 695–701.
- Rahnamayan, S.; Tizhoosh, H.R.; Salama, M.M.A. Quasi-oppositional differential evolution. In Proceedings of IEEE Congress on Evolutionary Computation, Singapore, 25–28 September 2007; pp. 2229–2236.
- Ergezer, M.; Simon, D.; Du, D.W. Oppositional biogeography-based optimization. In Proceedings of IEEE International Conference on Systems, Man and Cybernetics, San Antonio, TX, USA, 11–14 October 2009; pp. 1009–1014.
- Rahnamayan, S.; Wang, G.G. Center-based sampling for population-based algorithms. In Proceedings of IEEE Congress on Evolutionary Computation, Trondheim, Norway, 18–21 May 2009; pp. 933–938.
- Wang, H.; Wu, Z.J.; Liu, Y.; Wang, J.; Jiang, D.Z.; Chen, L.L. Space transformation search: A new evolutionary technique. In Proceedings of ACM/SIGEVO Summit on Genetic and Evolutionary Computation, Shanghai, China, 12–14 June 2009; pp. 537–544.
- Xu, Q.Z.; Wang, L.; He, B.M.; Wang, N. Opposition-based differential evolution using the current optimum for function optimization. J. Appl. Sci. 2011, 29, 308–315. (In Chinese) [Google Scholar]
- Rahnamayan, S.; Tizhoosh, H.R.; Salama, M.M.A. Opposition versus randomness in soft computing techniques. Appl. Soft Comput. 2008, 8, 906–918. [Google Scholar] [CrossRef]
- Rahnamayan, S.; Wang, G.G.; Ventresca, M. An intuitive distance-based explanation of opposition-based sampling. Appl. Soft Comput. 2012, 12, 2828–2839. [Google Scholar] [CrossRef]
- Seif, Z.; Ahmadi, M.B. Opposition versus randomness in binary spaces. Appl. Soft Comput. 2015, 27, 28–37. [Google Scholar] [CrossRef]
- Rahnamayan, S.; Tizhoosh, H.R.; Salama, M.M.A. Oposition-based differential evolution algorithms. In Proceedings of IEEE Congress on Evolutionary Computation, Vancouver, Canada, 16–21 July 2006; pp. 2010–2017.
- Rahnamayan, S.; Tizhoosh, H.R.; Salama, M.M.A. Opposition-based differential evolution. IEEE Trans. Evolut. Comput. 2008, 12, 64–79. [Google Scholar] [CrossRef]
- Han, L.; He, X.S. A novel opposition-based particle swarm optimization for noisy problems. In Proceedings of International Conference on Natural Computation, Haikou, China, 24–27 August 2007; pp. 624–629.
- Omran, M.G.H.; Al-Sharhan, S. Using opposition-based learning to improve the performance of particle swarm optimization. In Proceedings of IEEE Swarm Intelligence Symposium, St. Louis, MO, USA, 21–23 September 2008; pp. 1–6.
- Kaucic, M. A multi-start opposition-based particle swarm optimization algorithm with adaptive velocity for bound constrained global optimization. J. Glob. Optim. 2013, 55, 165–188. [Google Scholar] [CrossRef]
- Shokri, M. Knowledge of opposite actions for reinforcement learning. Appl. Soft Comput. 2011, 11, 4097–4109. [Google Scholar] [CrossRef]
- Ergezer, M.; Sikder, I. Survey of oppositional algorithms. In Proceedings of International Conference on Computer and Information Technology, Dhaka, Bangladesh, 22–24 December 2011; pp. 623–628.
- Ventresca, M.; Tizhoosh, H.R. Improving the convergence of backpropagation by opposite transfer functions. In Proceedings of International Joint Conference on Neural Networks, Vancouver, Canada, 16–21 July 2006; pp. 4777–4784.
- Ventresca, M.; Tizhoosh, H.R. Improving gradient-based learning algorithms for large scale feedforward networks. In Proceedings of International Joint Conference on Neural Networks, Atlanta, USA, 14–19 June 2009; pp. 3212–3219.
- Gao, X.Z.; Wang, X.; Ovaska, S.J. A hybrid harmony search method based on OBL. In Proceedings of IEEE International Conference on Computational Science and Engineering, Hong Kong, China, 11–13 December 2010; pp. 140–145.
- Qin, A.K.; Forbes, F. Dynamic regional harmony search with opposition and local learning. In Proceedings of 13th Annual Conference on Genetic and Evolutionary Computation, Dublin, Ireland, 12–16 July 2011; pp. 53–54.
- Malisia, A.R.; Tizhoosh, H.R. Applying opposition-based ideas to the ant colony system. In Proceedings of IEEE Swarm Intelligence Symposium, Honolulu, USA, 1–5 April 2007; pp. 182–189.
- Banerjee, S.; Tizhoosh, H.R. Visualization of hidden structures in corporate failure prediction using opposite pheromone per node model. In Proceedings of IEEE Congress on Evolutionary Computation, Barcelona, Spain, 18–23 July 2010; pp. 1–5.
- El-Abd, M. Opposition-based artificial bee colony algorithm. In Proceedings of 13th Annual Conference on Genetic and Evolutionary Computation, Dublin, Ireland, 12–16 July 2011; pp. 109–115.
- Yang, X.J.; Huang, Z.G. Opposition-based artificial bee colony with dynamic cauchy mutation for function optimization. Int. J. Adv. Comput. Technol. 2012, 4, 56–62. [Google Scholar]
- Xu, Q.Z.; Wang, L.; Wang, N.; Hei, X.H.; Zhao, L. A review of opposition-based learning from 2005 to 2012. Eng. Appl. Artif. Intell. 2014, 29, 1–12. [Google Scholar] [CrossRef]
- Ventresca, M.; Tizhoosh, H.R. A diversity maintaining population-based incremental learning algorithm. Inf. Sci. 2008, 178, 4038–4056. [Google Scholar] [CrossRef]
- Ergezer, M.; Simon, D. Oppositional biogeography-based optimization for combinatorial problems. In Proceedings of IEEE Congress on Evolutionary Computation, New Orleans, 5–8 June 2011; pp. 1496–1503.
- Xu, Q.Z.; Guo, L.M.; Wang, N.; Pan, J.; Wang, L. A novel oppositional biogeography-based optimization for combinatorial problems. In Proceedings of International Conference on Natural Computation, Xiamen, China, 19–21 August 2014; pp. 414–420.
- Simon, D. Biogeography-based optimization. IEEE Trans. Evolut. Comput. 2008, 12, 702–713. [Google Scholar] [CrossRef]
- Wikipedia Website, Travelling Salesman Problem. Available online: http://en.wikipedia.org/wiki/Travelling_salesman_problem (accessed on 26 November 2014).
- Du, D.; Simon, D. Biogeography-based optimization for large scale combinatorial problems. In Efficiency and Scalability Methods for Computational Intellect; Igelnik, B., Zurada, J.M., Eds.; IGI Global: Hershey, PA, USA, 2013; pp. 197–217. [Google Scholar]
- Reinelt, G. TSPLIB—A traveling salesman problem library. ORSA J. Comput. 1991, 3, 376–384. [Google Scholar] [CrossRef]
- Xu, Q.Z.; Wang, L.; He, B.M.; Wang, N. Modified opposition-based differential evolution for function optimization. J. Comput. Inf. Syst. 2011, 7, 1582–1591. [Google Scholar]
- Maekawa, K.; Mori, N.; Kita, H.; Nishikawa, H. A genetic solution for the traveling salesman problem by means of a thermodynamical selection rule. In Proceedings of IEEE International Conference on Evolutionary Computation, Nagoya, Japan, 20–22 May 1996; pp. 529–534.
- Crepinsek, M.; Liu, S.H.; Mearnik, M. Exploration and exploitation in evolutionary algorithms: A survey. ACM Comput. Surv. 2013, 45, 35–50. [Google Scholar] [CrossRef]
© 2014 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 license ( http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Xu, Q.; Guo, L.; Wang, N.; He, Y. COOBBO: A Novel Opposition-Based Soft Computing Algorithm for TSP Problems. Algorithms 2014, 7, 663-684. https://doi.org/10.3390/a7040663
Xu Q, Guo L, Wang N, He Y. COOBBO: A Novel Opposition-Based Soft Computing Algorithm for TSP Problems. Algorithms. 2014; 7(4):663-684. https://doi.org/10.3390/a7040663
Chicago/Turabian StyleXu, Qingzheng, Lemeng Guo, Na Wang, and Yongjian He. 2014. "COOBBO: A Novel Opposition-Based Soft Computing Algorithm for TSP Problems" Algorithms 7, no. 4: 663-684. https://doi.org/10.3390/a7040663
APA StyleXu, Q., Guo, L., Wang, N., & He, Y. (2014). COOBBO: A Novel Opposition-Based Soft Computing Algorithm for TSP Problems. Algorithms, 7(4), 663-684. https://doi.org/10.3390/a7040663