Skip to main content

Advertisement

Log in

A new genetic algorithm based on modified Physarum network model for bandwidth-delay constrained least-cost multicast routing

  • Published:
Natural Computing Aims and scope Submit manuscript

Abstract

A mobile ad hoc network is a kind of popular self-configuring network, in which multicast routing under the quality of service constraints, is a significant challenge. Many researchers have proved that such problem can be formulated as a NP-complete problem and proposed some swarm-based intelligent algorithms to solve the optimal solution, such as the genetic algorithm (GA), bees algorithm. However, a lower efficiency of local search ability and weak robustness still limit the computational effectiveness. Aiming to those shortcomings, a new hybrid algorithm inspired by the self-organization of Physarum, is proposed in this paper. In our algorithm, an updating scheme based on Physarum network model (PM) is used for improving the crossover operator of traditional GAs, in which the same parts of parent chromosomes are reserved and the new offspring by the PM is generated. In order to estimate the effectiveness of our proposed optimized scheme, some typical genetic algorithms and their updating algorithms (PMGAs) are compared for solving the multicast routing on four different datasets. The simulation experiments show that PMGAs are more efficient than original GAs. More importantly, the PMGAs are more robustness that is very important for solving the multicast routing problem. Moreover, a series of parameter analyses is used to find a set of better setting for realizing the maximal efficiency of our algorithm.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. http://www.isi.edu/nsnam/ns/.

References

  • Abbass HA (2001) A single queen single worker honey-bees approach to 3-SAT. In: The genetic and evolutionary computation conference, pp 807–814

  • Adamatzky A (2009) Developing proximity graphs by Physarum polycephalum: does the plasmodium follow the Toussaint hierarchy? Parallel Process Lett 19(1):105–127

    Article  MathSciNet  Google Scholar 

  • Chow CH (1991) On multicast path finding algorithms. In: 10th Annual joint conference of the IEEE computer and communications societies, pp 1274–1283

  • Huang TL, Lee DT (2007) A distributed multicast routing algorithm for real-time applications in wide area networks. J Parallel Distrib Comput 67(5):516–530

    Article  MATH  Google Scholar 

  • Hwang RH, Do WY, Yang SC (2000) Multicast routing based on genetic algorithms. J Inf Sci Eng 16(6):885–901

    Google Scholar 

  • Karthikeyan P, Baskar S (2015) Genetic algorithm with ensemble of immigrant strategies for multicast routing in ad hoc networks. Soft Comput 19(2):489–498

    Article  Google Scholar 

  • Liu YX, Gao C, Wu YH, Tao L, Lu YX, Zhang ZL (2014) A Physarum-inspired multi-agent system to solve maze. In: The fifth international conference on Swarm intelligence, pp 424–430

  • Liu YX, Zhang ZL, Gao C, Wu YH, Qian T (2013) A Physarum network evolution model based on IBTM. In: The fourth international conference on Swarm intelligence, pp 19–26

  • Liu L, Song Y, Ma H, Zhang X (2015) Physarum optimization: a biology-inspired algorithm for minimal exposure path problem in wireless sensor networks. IEEE Trans Comput 64(3):819–832

    MathSciNet  Google Scholar 

  • Lu T, Zhu J (2013) Genetic algorithm for energy-efficient QoS multicast routing. Commun Lett 17(1):31–34

    Article  Google Scholar 

  • Mahmoud TM, El Nashar AI, Eman M (2014) An efficient genetic algorithm based clonal selection and hill climbing for solving QoS multicast routing problem. Int J Comput Sci Issues. 11(3):83–88

    Google Scholar 

  • Nakagaki T, Yamada H, Tóth Á (2000) Intelligence: Maze-solving by an amoeboid organism. Nature 407(6803):470–470

    Article  Google Scholar 

  • Oliveira CA, Pardalos PM (2005) A survey of combinatorial optimization problems in multicast routing. Comput Oper Res 32(8):1953–1981

    Article  MATH  Google Scholar 

  • Peng B, Li L (2013) Combination of genetic algorithm and ant colony optimization for QoS multicast routing. In: 14th International symposium on advanced intelligent systems, pp 49–56

  • Pham DT, Kog E, Ghanbarzadeh A, Otri S, Rahim S, Zaidi M (2006) The bees algorithm—a novel tool for complex optimisation problems. In: The 2nd international virtual conference on intelligent production machines and systems, p 454

  • Ratnasamy S, Ermolinskiy A, Shenker S (2006) Revisiting IP multicast. ACM SIGCOMM Comput Commun Rev 36(4):15–16

    Article  Google Scholar 

  • Salama HF (1996) Multicast routing for real-time communication of high-speed networks. Ph.D. Thesis. North Carolina State University

  • Salama HF, Reeves DS, Viniotis Y (1997) Evaluation of multicast routing algorithms for real-time communication on high-speed networks. IEEE J Sel Areas Commun 15(3):32–45

    Article  Google Scholar 

  • Salim B, Abdelhamid M (2013) Bee life-based multi constraints multicast routing optimization for vehicular ad hoc networks. J Netw Comput Appl 36(3):981–991

    Article  Google Scholar 

  • Sesay S, Yang ZK, He JH (2004) A survey on mobile ad hoc wireless network. Inf Technol J 3(2):168–175

    Article  Google Scholar 

  • Tero A, Kobayashi R, Nakagaki T (2007) A mathematical model for adaptive transport network in path finding by true slime mold. J Theor Biol 244(4):553–564

    Article  MathSciNet  Google Scholar 

  • Tero A, Takagi S, Saigusa T, Ito K, Bebber DP, Fricker MD, Yumiki K, Kobayashi R, Nakagaki T (2010) Rules for biologically inspired adaptive network design. Sci Signal 327(5964):439

    MathSciNet  MATH  Google Scholar 

  • Wang ZY, Shi BX, Zhao E (2001) Bandwidth-delay-constrained least-cost multicast routing based on heuristic genetic algorithm. Comput Commun 24(7):685–692

    Google Scholar 

  • Wang Z, Szolnoki A, Perc M (2012) If players are sparse social dilemmas are too: importance of percolation for evolution of cooperation. Sci Rep 2:369

    Google Scholar 

  • Wang Z, Crowcroft J (1996) Quality-of-service routing for supporting multimedia applications. IEEE J Sel Areas Commun 14(7):1228–1234

    Article  Google Scholar 

  • Watanabe S, Tero A, Takamatsu A, Nakagaki T (2011) Traffic optimization in railroad networks using an algorithm mimicking an amoeba-like organism. Physarum plasmodium. Biosystems 105(3):225–232

    Article  Google Scholar 

  • Yen Y, Chao H, Chang R, Vasilakos A (2011) Flooding-limited and multi-constrained QoS multicast routing based on the genetic algroithms. Math Comput Model 53(11):2238–2250

    Article  Google Scholar 

  • Yin P, Chang R, Chao C, Chu Y (2014) Niched ant colony optimization with colony guides for QoS multicast routing. J Netw Comput Appl 40:61–72

    Article  Google Scholar 

  • Yu Z, Wong H, Wang D, Wei M (2011) Neighborhood knowledge-based evolutionary algorithm for multiobjective optimization problems. IEEE Trans Evol Comput 15(6):812–831

    Article  Google Scholar 

  • Yu Z, Chen H, You J, Wong H, Liu J, Li L, Han G (2014) Double selection based semi-supervised clustering ensemble for tumor clustering from gene expression profiles. IEEE/ACM Trans Comput Biol Bioinfor 11(4):727–740

    Article  Google Scholar 

  • Yu Z, Chen H, You J, Wong H, Liu J, Han G, Li L (2015) Adaptive fuzzy consensus clustering framework for clustering analysis of cancer data. IEEE/ACM Trans Comput Biol Bioinform 12(3):568–582

    Article  Google Scholar 

  • Zhang L, Cai L, Li M, Wang F (2009) A method for least-cost QoS multicast routing based on genetic simulated annealing algorithm. Comput Commun 32(1):105–110

    Article  Google Scholar 

  • Zhang ZL, Gao C, Liu YX, Qian T (2014) A universal optimization strategy for ant colony optimization algorithms based on the Physarum-inspired mathematical model. Bioinspir Biomim 9(3):036006

    Article  Google Scholar 

Download references

Acknowledgments

Prof. Z.L. Zhang and Dr. Chao Gao are the corresponding authors. This work is supported by the National High Technology Research and Development Program of China (No. 2013AA013801), National Natural Science Foundation of China (Nos. 61402379, 61403315), and Natural Science Foundation of Chongqing (No. cstc2013jcyjA40022), Fundamental Research Funds for the Central Universities (No. XDJK2016A008) and Research Fund for the Doctoral Program of Higher Education (RFDP) (No. 20120182120016).

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Chao Gao or Zili Zhang.

Appendix

Appendix

D1 = {(number of endpoint, number of endpoint, cost, delay)| (8, 1, 0.682, 0.853) (10, 1, 0.975, 0.547) (15, 1, 0.860, 0.0305) (17, 1, 0.595, 0.173) (7, 2, 0.820, 0.961) (15, 2, 0.367, 0.744) (4, 3, 0.856, 0.505) (13, 3, 0.758, 0.801) (14, 3, 0.413, 0.913) (16, 3, 0.648, 0.042) (20, 3, 0.456, 0.617) (5, 4, 0.923, 0.549) (9, 4, 0.404, 0.403) (10, 4, 0.480, 0.188) (19, 5, 0.308, 0.190) (7, 6, 0.484, 0.868) (8, 6, 0.757, 0.075) (16, 6, 0.878, 0.096) (8, 7, 0.579, 0.239) (19, 7, 0.684, 0.460) (10, 8, 0.467, 0.625) (12, 8, 0.334, 0.111) (11, 9, 0.464, 0.622) (13, 9, 0.874, 0.237) (14, 9, 0.310, 0.136) (20, 9, 0.615, 0.584) (11, 10, 0.950, 0.587) (12, 10, 0.843, 0.408) (13, 10, 0.640, 0.458) (17, 10, 0.655, 0.627) (20, 11, 0.604, 0.906) (13, 12, 0.721, 0.546) (14, 12, 0.797, 0.653) (19, 12, 0.596, 0.376) (14, 13, 0.462, 0.494) (15, 14, 0.800, 0.028) (18, 15, 0.798, 0.698) (19, 18, 0.999, 0.226)}, \({\varDelta _d}=5.\)

D2 = {(number of endpoint, number of endpoint, cost, delay)| (2, 1, 11, 4) (3, 1, 7, 6) (8, 1, 21, 3) (4, 2, 4, 4) (5, 2, 2, 5) (11, 2, 5, 3) (4, 3, 24, 3) (6, 4, 7, 11) (6, 5, 39, 1) (12, 5, 3, 5) (7, 6, 22, 3) (14, 6, 35, 4) (12, 7, 15, 4) (13, 7, 2, 3) (9, 8, 21, 3) (10, 8, 14, 6) (10, 9, 10, 7) (12, 9, 13, 1) (12, 10, 20, 3) (12, 11, 21, 3) (15, 13, 5, 3) (15, 14, 6, 4)}, \({\varDelta _d}=18.\)

D3 = {(number of endpoint, number of endpoint, cost, delay)| (1, 6, 8.197, 0.307) (1, 7, 7.549, 0.367) (1, 11, 4.214, 0.642) (1, 12, 9.743, 0.518) (1, 15, 7.722, 0.655) (2, 5, 5.654, 0.312) (2, 6, 7.986, 0.451) (2, 9, 3.002, 0.3662) (2, 11, 3.935, 0.490) (2, 13, 3.155, 0.583) (3, 4, 9.337, 0.539) (3, 7, 6.643, 0.421) (3, 8, 4.057, 0.360) (3, 10, 5.365, 0.441) (4, 8, 7.970, 0.647) (4, 10, 3.572, 0.413) (4, 14, 8.306, 0.398) (5, 9, 9.688, 0.374) (5, 11, 4.029, 0.610) (5, 13, 8.719, 0.387) (6, 7, 7.679, 0.562) (6, 9, 9.061, 0.490) (6, 11, 6.316, 0.346) (6, 12, 6.882, 0.522) (6, 15, 7.190, 0.502) (6, 16, 3.485, 0.612) (7, 8, 6.436, 0.352) (7, 10, 7.347, 0.631) (7, 12, 7.551, 0.329) (7, 15, 9.843, 0.601) (8, 10, 8.144, 0.291) (8, 12, 6.567, 0.479) (8, 14, 5.807, 0.622) (8, 19, 8.837, 0.631) (8, 22, 8.636, 0.660) (9, 11, 7.803, 0.252) (9, 13, 5.529, 0.315) (9, 15, 5.862, 0.651) (9, 16, 6.463, 0.435) (9, 18, 5.801, 0.461) (9, 20, 6.337, 0.622) (9, 21, 5.509, 0.645) (10, 14, 7.929, 0.336) (10, 17, 9.245, 0.455) (11, 12, 6.445, 0.608) (11, 13, 9.912, 0.531) (11, 15, 4.762, 0.403) (11, 16, 4.007, 0.295) (11, 18, 9.952, 0.503) (11, 21, 5.329, 0.470) (11, 23, 9.146, 0.622) (12, 15, 4.351, 0.295) (12, 19, 9.411, 0.373) (12, 21, 4.566, 0.616) (13, 16, 9.953, 0.572) (13, 18, 6.545, 0.379) (13, 20, 3.090, 0.387) (13, 23, 6.023, 0.638) (14, 17, 9.680, 0.303) (14, 25, 3.959, 0.594) (15, 16, 5.267, 0.371) (15, 19, 9.173, 0.385) (15, 21, 7.194, 0.329) (15, 27, 5.202, 0.584) (15, 29, 7.961, 0.634) (16, 18, 3.80, 0.332) (16, 20, 8.485, 0.606) (16, 21, 4.405, 0.211) (16, 23, 8.201, 0.348) (16, 27, 4.002, 0.470) (16, 30, 7.739, 0.582) (17, 22, 9.816, 0.523) (17, 24, 8.302, 0.398) (17, 25, 6.715, 0.334) (17, 32, 4.940, 0.590) (18, 20, 7.453, 0.274) (18, 21, 8.467, 0.471) (18, 23, 9.232, 0.259) (18, 27, 7.068, 0.589) (18, 28, 8.130, 0.441) (18, 30, 8.697, 0.500) (19, 21, 7.585, 0.531) (19, 22, 7.701, 0.455) (19, 24, 3.276, 0.640) (19, 26, 8.093, 0.360) (19, 27, 3.893, 0.622) (19, 29, 3.688, 0.431) (19, 31, 7.232, 0.494) (20, 23, 4.357, 0.441) (20, 28, 7.091, 0.345) (20, 30, 9.546, 0.596) (21, 23, 3.220, 0.352) (21, 27, 5.448, 0.293) (21, 29, 5.166, 0.515) (21, 30, 6.833, 0.507) (21, 33, 8.709, 0.553) (22, 24, 5.198, 0.185) (22, 25, 7.572, 0.602) (22, 26, 6.844, 0.219) (22, 29, 9.269, 0.629) (22, 31, 6.252, 0.445) (22, 32, 3.272, 0.392) (23, 27, 9.829, 0.352) (23, 28, 6.379, 0.385) (23, 30, 5.975, 0.259) (23, 33, 6.377, 0.500) (23, 35, 7.838, 0.663) (23, 36, 7.603, 0.600) (23, 37, 9.731, 0.613) (24, 25, 3.208, 0.417) (24, 26, 6.701, 0.376) (24, 31, 7.755, 0.564) (24, 32, 9.647, 0.274) (24, 38, 8.590, 0.638) (25, 32, 5.922, 0.428) (25, 34, 7.025, 0.442) (26, 29, 7.727, 0.413) (26, 31, 5.885, 0.241) (26, 32, 3.088, 0.473) (26, 40, 9.290, 0.615) (27, 28, 6.010, 0.661) (27, 29, 9.107, 0.370) (27, 30, 3.222, 0.324) (27, 31, 4.900, 0.651) (27, 33, 9.154, 0.261) (27, 36, 3.054, 0.496) (27, 37, 8.970, 0.656) (27, 39, 5.462, 0.615) (28, 30, 9.940, 0.363) (28, 35, 5.724, 0.349) (28, 36, 6.793, 0.601) (28, 37, 7.897, 0.445) (28, 41, 8.896, 0.631) (29, 31, 3.070, 0.281) (29, 33, 8.962, 0.434) (29, 36, 8.669, 0.692) (29, 39, 6.361, 0.491) (29, 40, 6.408, 0.590) (30, 33, 3.811, 0.313) (30, 35, 3.595, 0.498) (30, 36, 9.168, 0.343) (30, 37, 6.422, 0.376) (30, 41, 8.374, 0.637) (30, 42, 5.428, 0.648) (30, 44, 4.848, 0.694) (31, 32, 8.768, 0.551) (31, 33, 5.957, 0.667) (31, 38, 6.297, 0.617) (31, 39, 3.348, 0.537) (31, 40, 6.643, 0.410) (32, 34, 7.376, 0.464) (32, 38, 6.803, 0.374) (32, 40, 4.431, 0.637) (32, 43, 5.908, 0.668) (33, 36, 5.626, 0.266) (33, 37, 7.402, 0.491) (33, 39, 7.982, 0.417) (33, 42, 8.390, 0.450) (33, 44, 8.534, 0.627) (34, 38, 3.360, 0.499) (34, 43, 4.324, 0.456) (35, 36, 5.521, 0.510) (35, 37, 4.452, 0.251) (35, 41, 9.006, 0.305) (35, 44, 9.669, 0.579) (35, 46, 8.093, 0.655) (36, 37, 7.797, 0.263) (36, 39, 5.230, 0.500) (36, 41, 7.476, 0.458) (36, 42, 3.0563, 0.313) (36, 44, 8.227, 0.379) (36, 49, 4.107, 0.668) (37, 41, 7.264, 0.260) (37, 42, 3.519, 0.507) (37, 44, 6.914, 0.391) (37, 46, 3.308, 0.631) (38, 40, 6.990, 0.435) (38, 43, 5.081, 0.386) (38, 47, 6.347, 0.561) (38, 48, 7.744, 0.681) (39, 40, 4.309, 0.419) (39, 42, 5.630, 0.355) (39, 44, 3.077, 0.654) (39, 45, 7.530, 0.497) (39, 50, 8.132, 0.601) (40, 45, 9.557, 0.526) (40, 47, 9.185, 0.574) (41, 42, 6.132, 0.572) (41, 44, 3.230, 0.319) (41, 46, 6.869, 0.378) (41, 49, 4.788, 0.511) (42, 44, 5.267, 0.300) (42, 45, 6.418, 0.575) (42, 49, 4.340, 0.493) (42, 50, 9.512, 0.429) (43, 47, 3.246, 0.528) (43, 48, 8.404, 0.316) (44, 46, 7.936, 0.438) (44, 49, 8.298, 0.294) (44, 50, 6.236, 0.513) (45, 47, 3.476, 0.530) (45, 50, 4.900, 0.372) (46, 49, 7.593, 0.364) (47, 48, 7.700, 0.553) (49, 50, 8.928, 0.423)}, \({\varDelta _d}=5.\)

D4 = {(number of endpoint, number of endpoint, cost, delay, jitter, bandwidth)| (1, 2, 229.2, 123.27, 1.751, 797.457) (1, 5, 277.884, 123.312, 1.7516, 797.403) (1, 16, 153.24, 123.205, 1.75, 797.539) (1, 17, 132.163, 123.187, 1.7497, 797.562) (1, 18, 53.8145, 123.12, 1.7487, 797.648) (1, 19, 168.808, 123.219, 1.7502, 797.522) (2, 3, 215.969, 123.259, 1.7508, 797.471) (2, 4, 267.247, 123.303, 1.7515, 797.415) (2, 5, 63.7104, 123.129, 1.7488, 797.637) (2, 6, 176.894, 123.226, 1.7503, 797.513) (2, 8, 152.6, 123.205, 1.75, 797.54) (2, 9, 239.438, 123.279, 1.7511, 797.446) (2, 11, 202.107, 123.247, 1.7506, 797.486) (2, 12, 266.533, 123.302, 1.7515, 797.416) (2, 16, 126.895, 123.183, 1.7496, 797.568) (2, 18, 197.297, 123.243, 1.7506, 797.491) (3, 5, 260.038, 123.297, 1.7514, 797.423) (3, 6, 63.0259, 123.128, 1.7488, 797.638) (3, 8, 248.496, 123.287, 1.7513, 797.435) (3, 9, 80, 123.143, 1.749, 797.62) (4, 5, 221.549, 123.264, 1.7509, 797.465) (4, 8, 294.157, 123.326, 1.7519, 797.386) (4, 11, 244.492, 123.283, 1.7512, 797.44) (4, 12, 82.8908, 123.145, 1.7491, 797.616) (4, 13, 52.5624, 123.119, 1.7487, 797.65) (4, 16, 224.185, 123.266, 1.7509, 797.462) (5, 6, 210.481, 123.254, 1.7508, 797.477) (5, 8, 116.669, 123.174, 1.7495, 797.579) (5, 9, 266.66, 123.302, 1.7515, 797.416) (5, 11, 144.867, 123.198, 1.7499, 797.549) (5, 12, 208.471, 123.253, 1.7507, 797.479) (5, 13, 255.831, 123.293, 1.7514, 797.427) (5, 16, 147.683, 123.2, 1.7499, 797.545) (5, 18, 238.255, 123.278, 1.7511, 797.447) (6, 8, 186.141, 123.233, 1.7504, 797.504) (6, 9, 64.9019, 123.13, 1.7488, 797.636) (6, 11, 272.403, 123.307, 1.7516, 797.409) (6, 16, 294.214, 123.326, 1.7519, 797.386) (7, 8, 239.9, 123.279, 1.7511, 797.445) (7, 10, 84.9586, 123.147, 1.7491, 797.614) (7, 11, 221.828, 123.264, 1.7509, 797.464) (8, 9, 219.14, 123.262, 1.7509, 797.468) (8, 10, 280.165, 123.314, 1.7517, 797.401) (8, 11, 86.539, 123.148, 1.7491, 797.612) (8, 12, 248.458, 123.287, 1.7513, 797.435) (8, 16, 263.536, 123.3, 1.7515, 797.419) (10, 11, 235.5, 123.276, 1.7511, 797.449) (11, 12, 182.129, 123.23, 1.7504, 797.508) (11, 13, 250.027, 123.288, 1.7513, 797.434) (11, 16, 284.1, 123.317, 1.7517, 797.397) (12, 13, 68.656, 123.133, 1.7489, 797.632) (12, 16, 262.887, 123.299, 1.7515, 797.419) (13, 14, 264.3, 123.3, 1.7515, 797.418) (13, 16, 275.18, 123.31, 1.7516, 797.406) (14, 15, 199, 123.244, 1.7506, 797.489) (16, 17, 235.9, 123.276, 1.7511, 797.449) (16, 18, 102.801, 123.162, 1.7493, 797.595) (16, 19, 297.402, 123.329, 1.7519, 797.382) (17, 18, 146.756, 123.2, 1.7499, 797.547) (17, 19, 71.1157, 123.135, 1.7489, 797.629) (17, 20, 261.873, 123.298, 1.7514, 797.421) (18, 19, 200, 123.245, 1.7506, 797.489) (19, 20, 200, 123.245, 1.7506, 797.489)}, \({\varDelta _d}=1200, {\varDelta _b}=797.4, {\varDelta _j}=17.\)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Liang, M., Gao, C. & Zhang, Z. A new genetic algorithm based on modified Physarum network model for bandwidth-delay constrained least-cost multicast routing. Nat Comput 16, 85–98 (2017). https://doi.org/10.1007/s11047-016-9545-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11047-016-9545-6

Keywords

Navigation