Journal of Physics: Conference Series
PAPER • OPEN ACCESS
Monkey search algorithm for ECE components partitioning To cite this article: Elmar Kuliev et al 2018 J. Phys.: Conf. Ser. 1015 042026
View the article online for updates and enhancements.
This content was downloaded from IP address 139.81.72.143 on 22/05/2018 at 13:30
International Conference Information Technologies in Business and Industry 2018 IOP Publishing IOP Conf. Series: Journal of Physics: Conf. Series 1015 (2018) 1234567890 ‘’“” 042026 doi:10.1088/1742-6596/1015/4/042026
Monkey search algorithm for ECE components partitioning Elmar Kuliev, Vladimir Kureichik, Vladimir Kureichik Jr. Southern Federal University, 105/42 Bolshaya Sadovaya Str., Rostov-on-Don, 344006, Russia E-mail:
[email protected],
[email protected],
[email protected] Abstract. The paper considers one of the important design problems – a partitioning of electronic computer equipment (ECE) components (blocks). It belongs to the NP-hard class of problems and has a combinatorial and logic nature. In the paper, a partitioning problem formulation can be found as a partition of graph into parts. To solve the given problem, the authors suggest using a bioinspired approach based on a monkey search algorithm. Based on the developed software, computational experiments were carried out that show the algorithm efficiency, as well as its recommended settings for obtaining more effective solutions in comparison with a genetic algorithm.
1. Introduction Today, information and computer science is not only a way of life, but concepts that determine modern lifestyle. The quality of human being depends on how successfully people deal with it. One of the objects of professional activities in terms of information and computer science is computer aided design systems (CAD) that can be applied for automatization of this process. The main aim is a creation of systems to improve the effectiveness of engineer works. In terms of its significance and as a consequence of need, interest in automation design in the informational technologies field is growing. Many actual fundamental and applied challenges boil down to global optimization problems. Existing numerical optimization methods can be divided into two groups: deterministic and stochastic methods. As a rule, deterministic methods require to find an objective function gradient and depend on input information. But, in global optimization problems, the objective function can be nondifferentiated (discontinuous), non-linear or multimodal, while complicating a problem solution. For an effective solution of such tasks, stochastic methods are widely used, which do not create additional constraints on problem definition. The partitioning problem due to its complexity is NP-hard and NP-complete and has a combinatorial and logic nature. This entails the development and realization of methods and algorithms, inspired by natural systems [1-3]. The main aim of the paper is investigation, development and analysis of methods for improvement of speed and quality of a bioinspired algorithm for the ECE partitioning. The authors developed and applied a monkey search algorithm (MSA) for the partitioning problem. 2. Problem definition The partitioning problem is one of the most important and neccesary procedures during a design stage. The solution of the partitioning problem is a search and applying optimal partition of scheme Content from this work may be used under the terms of the Creative Commons Attribution 3.0 licence. Any further distribution of this work must maintain attribution to the author(s) and the title of the work, journal citation and DOI. Published under licence by IOP Publishing Ltd 1
International Conference Information Technologies in Business and Industry 2018 IOP Publishing IOP Conf. Series: Journal of Physics: Conf. Series 1015 (2018) 1234567890 ‘’“” 042026 doi:10.1088/1742-6596/1015/4/042026
elements. This design pattern can be considered as a decision making process for the ECE components placement with optimization according to the selected criterion. Main optimization criteria are: a number of connections between ECE components, a signal delay, a functional completeness of blocks, anelectro-magneto-thermal compability of elements. So, the following restrictions can be applied on the partitioning problem: a maximum number of external connections, a number of partitioning blocks, a number of elements in each module [2, 4]. At the design stage, indirected graphs are the most frequently used. An inderected graph can be represented as a mathematical model of a design object. Because of its originality, various mathematical models with different accuracy degrees can describe the same objetct parameters. The ECE components partitioning is connected with the partitioning of a graph into parts. In other words, graph = ( , ) is divided into subgraphs = ( , ), ⊆ , ⊆ , ∈ = 1,2, … , , where is a set of vertices, is a set of edges, is a number of parts. Let each partition consist in , = | |. Then, the partitioning of graph into parts is in receiving such elements ={ , , … , partitioning ∈ that sutisfy the following conditions and restrictions:
(∀Вi∈В) (Вi≠∅) (∀Вi, Вj∈B) ([Вi≠Вj→Xi∩Xj=∅] ˄ [(Ui∩Uj=Uij)˅(Ui∩Uj=∅)]), = ,
= ,
= , Ui, j = Ki, j
To estimate the solution quality, quality ! and partition coefficient "( ) are calculated as:
!=
1 $ $ ! % , ≠ ', 2
where ! % is an edge, connecting subgraphs
%
and % ;n is a totall amount of subgraphs. (| | − !) "( ) = , ! where | | is a total number of edges in graph ; (| | − !) is a total number of internal edges; ! is a total number of external edges.
3. Monkeys’ behavioural mechanism The term “behavior” refers to animals’ moving patterns, such as jumping, running, crawling, climbing etc. In other words, these are all actions, which entail movement in space and common to animals, during the foraging (immobility, freezing, discoloration). The MSA has been suggested by R. Zhao and W. Tang in 2007 on the basis of monkeys’ behaviour when they search for food by climbing mountains [5]. The algorithm supposes that the higher the mountain, the more food on its top. From the initial position each monkey moves up until a mountain top is reached. Then, it makes some random-local jumps in the hope to find a higher mountain, and the upward movement repeats. After a long-term study of this site, the monkey makes a global jump to explore another part of the terrain. Similar actions are repeated depending on the predetermined numerical value. The problem solution is the highest vertices that can be found. Upward movement is interpreted as local search and can be implemented in many ways. The number of local and global jumps is set directly by both the decision maker and randomly generated. Similarly, data intervals of the jumps (lower and upper bounds) can be specified. Let us note that the numerical value of boundaries can be either positive or negative [5-10]. First, a new possible position of the agent-monkey is generated according to the formula: * +% = ,-* % − .; -* % + .0 , ∈ 11: |3|4, ' ∈ 11: | |4,
2
International Conference Information Technologies in Business and Industry 2018 IOP Publishing IOP Conf. Series: Journal of Physics: Conf. Series 1015 (2018) 1234567890 ‘’“” 042026 doi:10.1088/1742-6596/1015/4/042026
where > 0 is a maximum length of the jump; ,-* % − .; -* % + .0 is an interval of an evenly distributed random value. After the local jump, the result should be checked for belonging to the range of acceptable values. If the obtained value is in the range of acceptable values, then go to the next step, otherwise go back to the previous action. To find a new position of the agent, in particular the global jump, it is necessary to use the formula: * +% = * % + 7-*%8 − * % ., ∈ 11: |3|4, ' ∈ [1: | |4, where *%8 is a current position of the agent. Similar to the local jump, it is checked for belonging to the range of acceptable values. If the obtained value is in the range of acceptable value, then the algorithm is terminated, if not, then go back to the previous step. It is important to note, if the value 7 takes a positive value, then the agent makes a jump toward the center of gravity, and if the negative value – in the opposite direction. Since the algorithm does not guarantee that the best solution will be obtained at the last iteration, it is necessary to store the current best value in the computer's memory each time [4]. 4. The development of monkey search algorithm Evolutionary algorithms are algorithms that involve principles of natural selection [1]. Figure 1 shows a diagram of the MSA. A monkey is assigned to an agent which creates decision trees to find the best solution for the ECE partitioning problem. The maximum amount of food is the desired solution, and the branches of the tree represent choices between neighboring feasible solutions. The essence of the algorithm is as follows: if at the current time the monkey is at the end of some branch, then it moves along left or right outgoing branches with an equal probability. At the point of search space corresponding to the end of the branch on which the monkey is located, the value of the objective function is calculated. If this solution is better than solution found earlier, then it is saved, and, according to the scheme, the monkey continues to move upwards. Movement stops when the monkey reaches the top of the tree, determined by the maximum permissible height of the tree. All branches of the tree visited by the monkey are saved. If not all paths in the tree are examined, then the monkey reaches the top of the treeevery time, it descends to the current best point and starts moving up again, possibly passing some of branches that have already been examined. A particularly significant factor in the algorithm is the input of data that is predetermined by the decision maker. Such data are: the number of global ( ) and local (9) jumps, and their ranges - :, . The input data directly affect the result and running time of the algorithm, while the increase in time is directly proportional to the number of iterations, and vice versa. This algorithm can be conditionally divided into two cycles: the first one realizes the method of local jumps, the second one - global jumps, respectively. Each of them, at each step, generates a new possible position of the agent and checks conditions such as: a random selection of the vertex of subgraph (;) that must be greater than or equal to one (; ≥ 1) and belongs to the i-th subgraph, as well as the generated new position of the agent (; ∈ ; ; + ∈ ; ; − ∈ ). After that, the permutation is performed, and external connections are calculated. The results of the calculation are saved in a text file, analyzed and evaluated.
3
International Conference Information Technologies in Business and Industry 2018 IOP Publishing IOP Conf. Series: Journal of Physics: Conf. Series 1015 (2018) 1234567890 ‘’“” 042026 doi:10.1088/1742-6596/1015/4/042026
Figure 1. The diagram the MSA 5. Experiment Objects of research are genetic and "monkey" algorithms and a block of genetic operators, including procedures for the crossing-over operator, a mutation and the selection procedure [11, 12]. Experiments have been carried out on ten circuits with the number of elements and nets from 5 to 12 in steps of 1 (Table 1). The number of individuals in the initial population is 5, the number of iterations is 50. During experiments, it has been found that for the application of the crossover operator, optimum is the probability from 65 to 75%, for the mutation operator - from 45 to 55%.
4
International Conference Information Technologies in Business and Industry 2018 IOP Publishing IOP Conf. Series: Journal of Physics: Conf. Series 1015 (2018) 1234567890 ‘’“” 042026 doi:10.1088/1742-6596/1015/4/042026
Table 1. Dependence of the operating time of the algorithm and the value of the OF on the number of elements and nets Sr. No A number of elements and nets 5 6 7 8 9 10 11 12 3 5 8 14 15 19 17 23 1 OF 1.1 2.1 2.9 3.3 3.4 3.7 3.9 5.2 s 4 4 9 10 17 21 22 19 2 OF 1.2 1.6 2.8 4.1 3.1 3.8 4.8 4.1 s 4 4 8 11 14 18 24 28 3 OF 1.4 1.4 2.3 3.1 3.2 4.6 4.2 5.9 s 3 7 8 9 16 15 19 28 4 OF 1.5 2.4 2.7 3.1 3.2 4.1 4.5 6.8 s 3 5 11 11 16 15 24 27 5 OF 1.1 1.3 2.9 3.2 4.1 3.7 4.4 4.2 s 3.4 5.0 8.8 11 15.6 17.6 21.2 25.0 OFave 1.26 1.76 2.72 3.36 3.4 3.98 4.36 5.24 tave Let us compare genetic and monkey search algorithms. The scheme presented in the experiment has 150 elements and 200 nets. The number of individuals in the initial population is 50. The number of iterations is 50. The experiment consists of 6 generations for each algorithm, in which the number of iterations will increase. The results of the experiment are shown in Table 2. Table 2. Summary table of genetic and "monkey" algorithms A number of iteration 50 100 150 200 205 321 325 330 321 319 Genetic algorithm 1.62 3.549 4.225 7.421 10.21 302 305 308 309 304 Monkey search algorithm 1.72 3.65 4.48 7.417 9.44
500 328 19.08 300 18.82
OF s OF s
According to the results of the experiment, the authors constructed graphs, the map, the comparison of the algorithms considered by the value of the OF and the time parameter (Figure 2). Comparison on the basis of time
Comparison on the basis of OF value
Genetic algorithm
Monkey search algorithm
Genetic algorithm
Monkey search algorithm
Figure 2. Comparison of genetic and monkey search algorithms It can be seen that if algorithms hit the local optimum, the number of iterations helps to solve the problem. This is due to the relatively large number of individuals in the initial population, which allows even with a small number of iterations to obtain the most acceptable solution.
5
International Conference Information Technologies in Business and Industry 2018 IOP Publishing IOP Conf. Series: Journal of Physics: Conf. Series 1015 (2018) 1234567890 ‘’“” 042026 doi:10.1088/1742-6596/1015/4/042026
6. Conclusion The paper considers the monkey search algorithm, which is quite efficient, however, like any other population algorithms, it is not a universal method for solving all optimization problems. The problem formulation of the partitioning is described. The mechanism of monkeys’ behavior in nature is presented. Behavior is understood as the movement of animals, such as jumping, running, crawling, climbing and other. In other words, all actions that entail a movement in space. Behavior also includes those movements that characterize animals during searching for food (for example, immobility, fading during hunting, changing color and other). The monkey search algorithm is developed. The monkey is assigned an agent that builds decision trees to find the best solution for the ECE patitioning problem. In the monkey search algorithm, the maximum amount of food is the desired solution, and tree branches are options for choosing between feasible solutions. Based on the presented algorithm, a software product was developed in the programming language C ++. The basic idea of experimental researches was to find a set of parameters, application of which ensures the finding of quasi-optimal solutions for polynomial time. Experimental studies were carried out on different graphs. The time complexity of the developed algorithm based on the monkeys’ behavior is quadratic and can be expressed by formula O (α * n2). Results of computational experiments showed the efficiency of the developed algorithm. References [1] Alpert CJ, Dinesh PM, Sachin SS 2009 Handbook of Algorithms for Physical design Automation (USA:Auer Bach Publications Taylor & Francis Group) [2] Sherwani N A 2013Algorithms for VLSI Physical Design Automation (USA: Kluwer Academic Publisher) [3] Kureichik V, Zaporozhets D, Zaruba D 2017 Generation of bioinspired search procedures for optimization problems Application of Information and Communication Technologies, AICT 2016 [4] Kureichik V, Zaruba D, Kureichik Jr V 2017 Hybrid approach for graph partitioning Advances in Intelligent Systems and Computing 573 64-73 [5] Zhao R,. TangW 2008 Monkey Algorithm for Global Numerical Optimization Journal of Uncertain Systems 2 165-176 [6] Ferreira C 2001 Gene Expression Programming: A new adaptive algorithm for solving problem J. Complex System 13 87-129 [7] Vasundhara D R, Siva Sathya S 2007 Monkey behavior based algorithms - A surveyInternational Journal of Intelligent Systems and Applications 9 (12) 67-86 [8] Gupta K, Deep K, Bansal JC 2017 Improving the Local Search Ability of Spider Monkey Optimization Algorithm Using Quadratic Approximation for Unconstrained Optimization Computational Intelligence 33 (2) 210-240 [9] Segraves MA, Kuo E, Caddigan S, Berthiaume EA, Kording KP 2017 Predicting rhesus monkey eye movements during naturalimage search Journal of Vision 17 (3) 1-17 [10] Hazrati G, Sharma H, Sharma N, Bansal JC. 2017 Modified spider monkey optimization IWCI 2016 - 2016 International Workshop on Computational Intelligence 209-214 [11] Agrawal A, Farswan P, Agrawal V, Tiwari DC, Bansal JC 2017 On the hybridization of spider monkey optimization and genetic algorithms Advances in Intelligent Systems and Computing 546 185-196 [12] Kacprzyk J, Kureichik VM, Malioukov SP, Kureichik VV, Malioukov AS 2009 Experimental investigation of algorithms developed Studies in Computational Intelligence 212 211-223
6