Abstract
Genetic algorithm is a well known bio-inspired algorithm, which has been widely used to solve practical problems in real-life. The performance of the algorithm heavily depends on the convergence related to the values of parameters involved. It is formulated as a hard problem to select suitable values of mutation and crossover rates to achieve fast or slow convergence for unknown problems. As a new study of system framework inspired by cell model, membrane computing models is with a membrane structure having region segmentation, intrinsic discrete, non-deterministic, programmable and transparent features. In this paper, a hybrid “fast-slow” convergent framework for genetic algorithm inspired by membrane computing is proposed and applied to search optimal solution of 41 benchmark functions. It is obtained by the data experimental results that our method performs well in solving benchmark functions by achieving accuracy rate about 96%.
Access provided by Autonomous University of Puebla. Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
Genetic algorithm (GA) is bio-inspired intelligent algorithm abstracted from the human evolving process. Nowadays, the algorithm is known adaptive, heuristic, iterative, and has been applied in solving plenty of practical problems. The performance of GA heavily depends on the values of involved parameters, such as mutation rate and crossover rate of the population. The most intuitive case is that with different values, the convergence which is an important indicator of performance to test the algorithm, will be quite different. High convergence rate does not mean it can search for the best solutions; while sometimes, slower convergence can get better results, but it means spending more time [1].
Due to the instability of the convergence, many researchers are focus on the precocious convergence of GA. It is proposed in [2] the genetic markers to actively avoid convergence to a particular rooted tree structure. This is achieved by maintaining a number of unique genetic markers in the population. After that, the structure fitness sharing (SFS) algorithm proposed in [3, 4] is taken as a possible way to attempt to promote diversity based on tree structure. Motivated by the fitness sharing concept, it uses labels on tree structures to decrease the fitness of structures that are over-represented in the population. Generally speaking, most of the researches solve this problem by optimizing algorithm and intermediate data processing.
Membrane computing, initialed by Gh Paun in 1998 is known as new branch of natural computing [5]. The systems investigated in the framework of membrane computing is called P systems, and plenty of P systems have been developed, including cell-like P systems, tissue P systems and spiking neural P systems [6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]. In this work, we propose a new model inspired from membrane computing models to achieve “fast-slow” convergence rate of GA in the membrane structure. The obtained algorithm is a new candidate in membrane algorithm, and many researchers have done good works on it. Currently, membrane computing has been used in optimization field [31], Systems and Synthetic Biology [21], Troubleshooting [36], economics [37] and linguistics [38]. These experiments demonstrate that applying Membrane Algorithm to optimize Genetic Algorithm is feasible. We developed here a thread control process following the Nested Membrane System [24] to searching optimal solution, where a single GA is used in each membrane and performs as a thread in the program [22]. After one iteration (evolution), the population will produce the best individual. Under the control of the communication rule [23, 36], the efficiency of searching optimal solution gets a big promotion, when the problem has no solving information. It is obtained by the data experimental results that our method performs well in solving 41 benchmark functions by achieving accuracy rate about 96%.
2 Related Technologies
2.1 Genetic Algorithm
Genetic Algorithm (GA) was first proposed by J. Holland in 1975 [26]. It is a type of heuristic random search method inspired by natural selection and genetic mechanism of biological evolution law (survival of the fittest). It contains feature is the direct operating to the structured objects without the delimitation of derivation and continuity of function. It is inherent implicit parallelism and better global optimization and it can automatically obtain and guide optimized searching space for adjusting the search direction.
In general computing process, GA is started with setting the potential solution (population), and a population is consists of genes encoded by a certain number of individuals (individual). It is needed initially to encode individuals for simplify computer operation, such as binary encoding. After producing the first generation of populations, each generation produce more good approximate solution in accordance with the principle of survival of the fittest. In each generation, select individual according to the individual’s fitness size, and then generate a population representative of the new solution set by genetic operators combined with cross and mutation. This process will lead new population to be more adapted to the environment, and the last population of the best individual can be the approximate optimal solution after decoding [25].
2.2 Membrane Computing Inspired Algorithm
Membrane Computing is a new branch of natural computing. It is originated from natural cells, and the structure also builds on the biological cells. The systems investigated in membrane computing are named P systems, which is defined as a series of membrane structures containing chemical substances (limited number), catalyst and rules (including the rules of the reaction, membrane transport rules etc.). It is shown in Fig. 1 the membrane structure of the P systems. Like in real biological cells, when the reactants (sometimes catalyst) are contact with each other, the chemical reaction will occur. Due to the random applications of rules, the calculation will be uncertain, in the other words, the repetition of the same question may lead to multiple solutions. When the computation of the P system is completed, the chemicals exist out of the outermost membrane will reach steady state, which means no reaction will continue.
A membrane algorithm framework consists of three different kinds of components:
-
A number of regions which are separated by nested membranes (Fig. 1).
-
For every region, a subalgorithm and a few tentative solutions of the optimization problem to be solved.
-
Solution transporting mechanisms between adjacent regions.
There are three basic types of membrane system: Cell-like P system, Tissue P system, spiking neural P systems [29, 32, 35]. We consider here a cell-like membrane structure named Nested Membrane System, which is a friendly model for programming. The structure is used by Nishida to solve the TSP problem [30, 31], and have been applied for data optimization [31].
We denote by S a feasible solution of the problem, which is distributed differences in different membranes. The communication rules means that the membrane sends some solutions into the outer membrane which directly contains it. The rule can be written as follows.
It is denoted by i the membrane i, and by \(amax_1,amax_2,\dots ,amax_n\) the n best solutions in the region \(1,2,\dots , n\), respectively. The model converges very fast because of the communication between membranes. In terms of realization of membrane computing, some associated simulation software have been released.
3 The Model and Data Experiments
3.1 GA Program
We design a basic GA program to run the dimensional function. In the program, we can set initial conditions to control the convergence rate. Every gene contains the potential solution and the threshold. In order to simplify the crossing and mutation process, encoding process is omitted as in [33].
-
Chromosome: Chromosome and can be called individuals, a certain number of individuals of the population, the number of groups of individuals called population size.
-
Gene: Gene elements include characteristics of the individual genes. In this paper, a set of possible solutions \(S = (x1, x2, x3)\) are designed and each of them is called gene.
-
Fitness: Each individual’s degree of adaptation to the environment is called fitness. In order to reflect the ability to adapt to the chromosome, the introduction of the function of each chromosome in question can be measured. Here, the function is calculated to value in the population of individuals.
-
Select: Select means winning individuals from population, and Selecting operation is based on the population of individual fitness assessment.
-
Cross: Genetic recombinant (plus variation) play a central role in the process of evolution is a genetic recombinant organisms (plus variation). Because of giving up Genes encoding process gene cross is implemented by exchanging a random parameter of two genes.
-
Variation: The basic contents of the gene mutation operator are the value of a population of some individual strings locus for change. Here we use Real value variation.
3.2 Membrane Structure
The nested membrane structure of degree m is selected, which means the number of membrane is m. The value of m is set to be 5 or 6 here, and in each membrane, GA is performed with different mutation and crossover rates. All of the GA run the same function. Because of the lightweight program, we set each GA as a thread [34]. The data communication rule works in neighbor membrane. The communication process looks as follows (current membrane is the middle membrane):
-
1.
Each membrane start GA thread
-
2.
Suspend thread every 50 iteration
-
3.
Monitoring inner membrane
If (inner membrane has no request for communication):
-
3.1
Compared with the individual of the outer membrane
-
3.2
Suspend outer membrane
-
3.3
Replace the best individual of outer membrane
-
3.4
Reuse thread
-
3.5
Judge the outer membrane to reuse (avoid the thread to be suspended before reaching 50 iteration by inner membrane)
Else: wait for the inner membrane
-
3.1
-
4.
The best individual in the outmost becomes the output of the algorithm
The individual are modified only when both of the membranes have been suspended. In order to avoid deadlocks, the inner membrane has higher priority than the outer membrane.
3.3 Data Experiments
It is tested the proposed method by solving 41 benchmark functions. In the step of initialization, we created 5 GA and set different initialization information. The iteration is set to be 10000 for each GA. We controlled convergence rates by changing number of individuals, cross rate and variation rate (Table 1).
The interface of the software is shown in Fig. 2.
The tested functions are listed in Table 2.
It is obtained by the data experimental results that our method performs well in solving benchmark functions by achieving accuracy rate about 96%.
We exam the formulas the help of the model (Table 3).
4 Conclusion
In this paper, a hybrid “fast-slow” convergent framework for genetic algorithm inspired by membrane computing is proposed. Such framework incorporates basic Cell-like P System and GA. Several basic features like compartmentalization, communication among compartments, dynamic membrane structure help GA to combine the convergence. It is tested the proposed method by solving 41 benchmark functions. It is found that our method performs well in solving benchmark functions by achieving accuracy rate about 96%.
Compared with these results, we can find the algorithm show good performance for searching optimal solution. It combines the potential results of different GA and provides a method to solve premature convergence. It also reduces the influence of the initialization to GA. On the other hand, the communication rule can be optimized, and the present paper control the data transmission by making use of thread control inspired by Nested membrane structure.
Membrane algorithms inherit the parallelism of P system. In the further study, the algorithms will be naturally implemented on a parallel hardware. The parallelism is simulated in a common serial machine. The GA in each membrane is not true parallel processing and it is also the difficulty of the application of membrane computing, even if the algorithm running in a cluster, because the communication costs is too high to optimization. So, there are still many improvements to do if the framework in this paper runs on a parallel hardware, such as GPU. We hope other membrane structure such as spiking neural P systems [39] can also be applied if the threads control method is well designed. It is of interests to replace GA in each membrane by some other intelligent algorithms, such as PSO, simulated annealing. As well, some other membrane structures, for instance, star membrane structure, and rooted membrane structure can be expanded to our hybrid framework.
References
Lin, F., Zhou, C., Changm K.: Convergence rate analysis of allied genetic algorithm. In: IEEE Conference on Decision and Control, pp. 786–791 (2010)
Burks, A.R., Punch, W.F.: An efficient structural diversity technique for genetic programming. In: ACM Conference on Genetic and Evolutionary Computation, pp. 991–998 (2015)
Hu, J., Seo, K., Li, S., et al.: Structure fitness sharing (SFS) for evolutionary design by genetic programming. In: Genetic & Evolutionary Computation Conference, pp. 780–787 (2012)
Mckay, R.I.: Fitness sharing in genetic programming. In: Genetic and Evolutionary Computation Conference, pp. 10–12 (2000)
Paun, G.: Membrane Computing: An Introduction (2002)
Song, T., Pan, L., Wang, J., Venkat, I., Subramanian, K., Abdullah, R.: Normal forms of spiking neural P systems with anti-spikes. IEEE Trans. NanoBiosci. 11(4), 352–359 (2012)
Padmavati Metta, V., Kelemenova, A.: Universality of spiking neural P systems with anti-spikes. New Math. Nat. Comput. 8(3), 281–283 (2014)
Krithivasan, K., Metta, V.P., Garg, D.: On string languages generated by spiking neural P systems with anti-spikes. Int. J. Found. Comput. Sci. 22(1), 15–21 (2011)
Song, T., Wang, X., Zhang, Z., Chen, Z.: Homogenous spiking neural P systems with anti-spikes. Neural Comput. Appl. doi:10.1007/s00521-013-1397-8
Song, T., Liu, X., Zeng, X.: Asynchronous spiking neural P systems with anti-spikes. Neural Process. Lett. 42(3), 633–647 (2014)
Jiang, K., Pan, L.: Spiking neural P systems with anti-spikes working in sequential mode induced by maximum spike number. Neurocomputing 171(1), 1674–1683 (2015)
Metta, V.P., Raghuraman, S., Krithivasan, K.: Spiking neural P systems with cooperating rules. In: Gheorghe, M., Rozenberg, G., Salomaa, A., Sosík, P., Zandron, C. (eds.) CMC 2014. LNCS, vol. 8961, pp. 314–329. Springer, Heidelberg (2014). doi:10.1007/978-3-319-14370-5_20
Metta, V.P., Raghuraman, S., Krithivasan, K.: Small universal spiking neural P systems with cooperating rules as function computing devices. In: Gheorghe, M., Rozenberg, G., Salomaa, A., Sosík, P., Zandron, C. (eds.) CMC 2014. LNCS, vol. 8961, pp. 300–313. Springer, Heidelberg (2014). doi:10.1007/978-3-319-14370-5_19
Song, T., Xu, J., Pan, L.: On the universality and non-universality of spiking neural P system with rules on synapses. IEEE Trans. NanoBiosci. 14(8), 960–966 (2015)
Song, T., Pan, L.: Spiking neural P systems with rules on synapses working in maximum spiking strategy. IEEE Trans. Nanobiosci. 14(4), 465–477 (2015)
Song, T., Pan, L.: Spiking neural P systems with rules on synapses working in maximum spikes consumption strategy. IEEE Trans. Nanobiosci. 14(1), 38–44 (2015)
Song, T., Zou, Q., Liu, X., Zeng, X.: Asynchronous spiking neural P systems with rules on synapses. Neurocomputing 151, 1439–1445 (2015)
Zhang, X., Zeng, X., Pan, L.: Weighted spiking neural P systems with rules on synapses. Fundamenta Informaticae 134(1–2), 201–218 (2014)
Ionescu, M., Paun, G., Pérez-Jiménez, M.J., Yokomori, T.: Spiking neural dP systems. Fundamenta Informaticae 111(4), 423–436 (2011)
Song, T., Pan, L.: Spiking neural P systems with request rules. Neurocomputing (2016). doi:10.1016/j.neucom.2016.02.023
Graham, S., Saxton, J., Woodward, M., et al.: Applications of membrane computing in systems and synthetic biology. Emergence Complex. Comput. 7(09), S624 (2013)
Moon, S., Chang, B.M.: A thread monitoring system for multithreaded java programs. ACM Sigplan Not. Homepage 41(5), 21–29 (2006)
Wang, X., Song, T., Gong, F., Zheng, P.: On the computational power of spiking neural P systems with self-organization. Sci. Rep. doi:10.1038/srep27624
Leporati, A., Pagani, D.: A membrane algorithm for the min storage problem. In: Hoogeboom, H.J., Păun, G., Rozenberg, G., Salomaa, A. (eds.) WMC 2006. LNCS, vol. 4361, pp. 443–462. Springer, Heidelberg (2006). doi:10.1007/11963516_28
Pezzella, F., Morganti, G., Ciaschetti, G.: A genetic algorithm for the flexible job-shop scheduling problem. Comput. Oper. Res. 35(10), 3202–3212 (2008)
Goldberg, D.E.: Genetic algorithm in search
Paun, G., Rozenberg, G.: A guide to membrane computing. Theor. Comput. Sci. 287(1), 73–100 (2002)
Paun, G.: Computing with Membranes, Working with Computers, pp. 108–143. National Computing Centre Limited (1982)
Ionescu, M., Paun, G., Yokomori, T.: Spiking neural P systems with an exhaustive use of rules. Int. J. Unconventional Comput. 3, 135–153 (2007)
Nishida, T.Y.: Membrane algorithms. In: Freund, R., Păun, G., Rozenberg, G., Salomaa, A. (eds.) WMC 2005. LNCS, vol. 3850, pp. 55–66. Springer, Heidelberg (2006). doi:10.1007/11603047_4
Huang, L., Wang, N.: An optimization algorithm inspired by membrane computing. In: Jiao, L., Wang, L., Gao, X., Liu, J., Wu, F. (eds.) ICNC 2006. LNCS, vol. 4222, pp. 49–52. Springer, Heidelberg (2006). doi:10.1007/11881223_7
Gutierrez-Naranjo, M.A., Perez-Jimenez, M.J., Ramrez-Martnez, D.: A software tool for verification of spiking neural P systems. Nat. Comput. 7(4), 485–497 (2008)
Wu, Y., Tang, Y., Han, B., et al.: A topology analysis and genetic algorithm combined approach for power network intentional islanding. Int. J. Electr. Power Energy Syst. 71, 174–183 (2015)
Nowotniak, R., Kucharski, J.: GPU-based tuning of quantum-inspired genetic algorithm for a combinatorial optimization problem. Bull. Pol. Acad. Sci. Tech. Sci. 60(2), 323–330 (2012)
Song, T., Pan, L.: Spiking neural P systems with rules on synapses working in maximum spiking strategy. IEEE Trans. Nanobiosci. 14(1), 465–477 (2015)
Wang, T., Zhang, G., Zhao, J., et al.: Fault diagnosis of electric power systems based on fuzzy reasoning spiking neural P systems. IEEE Trans. Power Syst. 30, 1182–1194 (2014)
Un, G., Un, R.: Membrane computing and economics: numerical P systems. Fundamenta Informaticae 73(1–2), 213–227 (2006)
Ciobanu, G., Pǎun, G., Prez-Jimnez, M.J.: Applications of membrane computing. Nat. Comput. 287(1), 73–100 (2006)
Zhang, G., Rong, H., Neri, F.: An optimization spiking neural P system for approximately solving combinatorial optimization problems. Int. J. Neural Syst. 24(5), 1440006 (2014)
Acknowledgment
This work was supported by National Natural Science Foundation of China (61402187, 61502535, 61572522, 61502063 and 61572523), China Postdoctoral Science Foundation funded project (2016M592267), Program for New Century Excellent Talents in University (NCET-13-1031), 863 Program (2015AA020925), Natural Science Foundation Project of CQ CSTC (No. cstc2012jjA40059), and Fundamental Research Funds for the Central Universities (247201607005A).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Li, Z., Xia, S., Jiang, Y., Sun, B., Xin, Y., Wang, X. (2016). A Hybrid “Fast-Slow” Convergent Framework for Genetic Algorithm Inspired by Membrane Computing. In: Gong, M., Pan, L., Song, T., Zhang, G. (eds) Bio-inspired Computing – Theories and Applications. BIC-TA 2016. Communications in Computer and Information Science, vol 681. Springer, Singapore. https://doi.org/10.1007/978-981-10-3611-8_9
Download citation
DOI: https://doi.org/10.1007/978-981-10-3611-8_9
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-10-3610-1
Online ISBN: 978-981-10-3611-8
eBook Packages: Computer ScienceComputer Science (R0)