You are on page 1of 7

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: elmar_2005@mail.ru, vkur@sfedu.ru, kureichik@yandex.ru

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 non-
differentiated (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
elements ={ , , … , , = | |. Then, the partitioning of graph into parts is in receiving such
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
1 3 5 8 14 15 19 17 23 OF
1.1 2.1 2.9 3.3 3.4 3.7 3.9 5.2 s
2 4 4 9 10 17 21 22 19 OF
1.2 1.6 2.8 4.1 3.1 3.8 4.8 4.1 s
3 4 4 8 11 14 18 24 28 OF
1.4 1.4 2.3 3.1 3.2 4.6 4.2 5.9 s
4 3 7 8 9 16 15 19 28 OF
1.5 2.4 2.7 3.1 3.2 4.1 4.5 6.8 s
5 3 5 11 11 16 15 24 27 OF
1.1 1.3 2.9 3.2 4.1 3.7 4.4 4.2 s
OFave 3.4 5.0 8.8 11 15.6 17.6 21.2 25.0
tave 1.26 1.76 2.72 3.36 3.4 3.98 4.36 5.24

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 500
321 325 330 321 319 328 OF
Genetic algorithm
1.62 3.549 4.225 7.421 10.21 19.08 s
302 305 308 309 304 300 OF
Monkey search algorithm
1.72 3.65 4.48 7.417 9.44 18.82 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 OF value Comparison on the basis of time

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

You might also like