On The Performance of the Gravitational Search Algorithm

Gravitational Search Algorithms (GSA) are heuristic optimization evolutionary algorithms based on Newton's law of universal gravitation and mass interactions. GSAs are among the most recently introduced techniques that are not yet heavily explored. An early work of the authors has successfully adapted this technique to the cell placement problem, and shown its efficiency in producing high quality solutions in reasonable time. We extend this work by fine tuning the algorithm parameters and transition functions towards better balance between exploration and exploitation. To assess its performance and robustness, we compare it with that of Genetic Algorithms (GA), using the standard cell placement problem as benchmark to evaluate the solution quality, and a set of artificial instances to evaluate the capability and possibility of finding an optimal solution. Experimental results show that the proposed approach is competitive in terms of success rate or likelihood of optimality and solution quality. And despite that it is computationally more expensive due to its hefty mathematical evaluations, it is more fruitful on the long run.


I. INTRODUCTION
GSA is a heuristic stochastic swarm-based search algorithm in the field of numerical optimization, based on the gravitational law and laws of motion.Like many other nature inspired algorithms, it needs refinements to maximize its performance in solving various types of problems.In addition to the problem encoding that sometimes can be a challenge, fine tuning its parameters play a significant role balancing the search time versus solution quality.This algorithm is relatively recent and not heavily explored.
Cell placement is one of four consecutive steps in physical design process of VLSI circuits, namely: partitioning, placement, routing and compaction.In the placement stage, the description of the physical layout of the chip is introduced, by assigning geometric coordinates to the cells.The objective of the placement algorithm is to find a layout that minimizes a cost function, whose major part is the area, but quite often involves the aspect ratio, to make the chip as close to square as possible and hence increase the die yield.

II. LITERATURE REVIEW
Approaches to solve cell placement problem are generally classified into two classes; constructive and iterative improvement methods.Several heuristic optimization strategies for solving placement problem have been implemented via a set of diversified algorithms; evolutionbased placement like Genetic Algorithms [5] and Simulated Annealing [6], and a comprehensive summary of those strategies is presented in [1].
Gravitational Search Algorithms (GSAs) are novel heuristic optimization algorithms introduced in [2], and researched in the past few years, as a flexible and wellbalanced strategy to improve exploration and exploitation methods.In [3], the binary gravitational search algorithm was developed to solve different nonlinear problem.A new multiobjective gravitational search algorithm was proposed in [4].The GSA shows satisfactory results for solving many problems in a various applications; Solving Symmetric Traveling Salesman Problem [7], solving the flow shop scheduling problem [8], in feature selection [9], image enhancement [10], solving DNA sequence design problem [11], and optimize the filter modeling parameters [12].A hybrid algorithm was derived from both Genetic Algorithms and Gravitational Search Algorithm for feature set selection [13].
In this paper, we enhance our implementation of the gravitational search technique, to solve the cell placement, with the intention compare its performance with well know evolutionary algorithms in future work.The results show that the algorithm can improve the solution quality in a reasonable amount of time.This paper is organized as follows: Section 2 gives a formal description of the GSA theory, Section 3 gives a brief description of the cell placement problem, section 4 demonstrates the proposed gravitational search algorithm for cell placement, In section 5 we discuss the performance of this algorithms in solving standard problems as compared to the well know genetic algorithm, and section 6 wraps up our work.

III. METHODOLOGY
The Gravitational Search Algorithm (GSA) was proposed by Rashedi [2], as a simulation of Newton's gravitational force behaviors.In this algorithm, possible solutions of the problem in hand are considered as objects whose performance (quality) is determined by their masses, all these objects attract each other by the gravity force that causes a global movement of the objects towards the objects with heavier masses.The position of each object corresponds to a solution of the problem, and inertial masses are determined by a fitness function.The heavy masses, which represented a good www.ijacsa.thesai.orgsolutions, move more slowly than lighter ones, this represents the exploitation of the algorithm.
The GSA starts with a set of agents, selected at random or based on some criteria, with certain positions and masses representing possible solutions to a problem, and iterates by changing the positions based on some values like fitness function, velocity and acceleration that gets updated in every iteration.To relate those values and parameters, let us demonstrate the relations among them.
In a system with N agents, the position of the i th agent is defined as: (1) Where present the position of the i th agent in the d th dimension, and n is dimension of the search space.
At the time t a force acts on mass i from mass j.This force is defined as follows: (2) Where M aj is the active gravitational mass of agent j, M pi is the passive gravitational mass of agent i, G(t) is gravitational constant at time t, ε is a small constant, and R ij (t) is the Euclidian distance between two agents i and j: (3) The total force acting on mass i in the d th dimension in time t is given as follows: (4) Where rand j is a random number in the interval [0, 1], K best is the set of first K agents with the best fitness value.The acceleration related to mass i in time t in the d th dimension is given as follows: (5) Where M ii is the inertial mass of i th agent.
The next velocity of an agent could be calculated as a fraction of its current velocity added to its acceleration.Position and velocity of agent is calculated as follows: (6) (7) Where rand i is a uniform random variable in the interval [0, 1].
Gravitational constant, G, is initialized at the beginning of the search and will be reduced with time to control the search accuracy as follows: (8) Where T is the number of iteration, G 0 and α are given constant.
The gravitational mass and the inertial mass are updated by the following equations: (9) (10) (11) Where fit i (t) represent the fitness value of the agent i at time t, and, worst(t) and best(t) are given as follows for a minimization problem:

IV. CELL PLACEMENT PROBLEM
We use the Normalized Polish Notation (RPN) [14] to describe any arrangement representing a possible solution; for n cells, a string with n modules (cells) and n-1 operators of the * or + type, to mean above or next to.As an example, the string (2 3 * 1 + 4 5 + 6 7* + *) is an encoding for the arrangement in Figure 1.Here, relaxed means the case where the area is that of the minimal rectangle enclosing the cells, while the restricted means the case where the area is that of the minimal square enclosing the cells.Such a configuration is an agent in gravitational search algorithm; new agents are generated from the existing ones by applying certain operators which are described in [14] and [15].New solutions are assigned fitness values that reflect their quality.We propose the following fitness measure: (14) Where L and S are the long and short sides of the rectangle enclosing all the cells and A is the algebraic sum of the areas www.ijacsa.thesai.org of all cells regardless of the placement, and the product SL represents the area associated with the solution.The factor α is a number between 0 and 1, introduced to dictate the relative significance of the aspect ratio to the actual area; to favor square arrangements we use smaller values of α.If α=1 then aspect ratio is not optimized.

V. GRAVITATIONAL SEARCH ALGORITHM ADAPTATION
Cell placement can be viewed as a two-dimensional bin packing problem, where the goal is to arrange a number of cells with different sizes in a way that reduces the area enclosing them and producing near square die while providing enough space for efficient routing.In this sense, we propose a new algorithm for cell placement problem by means of GSA, in which each mass will be an agent looking for an optimal solution in the search space.
Since cell placement needs meet simultaneously several constraints, it is difficult to be solved by the traditional GSA.For this reason, the definition of distance between solutions (positions) and their update are modified as will be shown in the following procedure: (15) , where €=0.1 , where G ini =100 (17 However, the position updating equation ( 7) cannot be applied in our case, because we are working in a string form to present the solution.Therefore, Rashedi [3] proposed the Binary GSA for nonlinear problem, which has the same formulation presented above, but with a different equation for updating the position of each agent.In order to update our solution, the formulation of binary GSA is used as shown in step 3.6.However, the stopping criteria can be based time budget or number of iterations, or reaching a target fitness or cost function (area in cell placement), or an improvement rate less than a threshold.

VI. THE ALGORITHM OUTLINE
The gravitational search algorithm is outlined as follows:

VII. RESULTS
We carried two kind of tests; one on standard benchmark problems to evaluate the quality of the solutions, and another on artificial problems with known optimal solutions to measure the possibility of finding the optimal solution.The algorithm has achieved good results regarding the solution quality and success rate in finding optimal solution.
In the first study, three MCNC benchmarks; Xerox with 10 cells, Ami33 with 33 cells, and Ami49 with 49 cells, selected from MCNC and tested.Table1 1, 2, and 3 summarize the results of running the two algorithms on one of the benchmark problems in Table 1.For each case, 10 runs with different initial solutions are performed, for fixe number of iterations each.The number of iterations is set to a value proportional to the problem size.Clearly, GSA outperformed GA in the best, worst and mean waste as a measure all the time, and the aspect ratio most of the time.  2 shows the progress of the two algorithms over time; wasted area of the best solution in hand after multiple thousands of iterations.Same initial set of solutions (with 42% waste best case) evolved relatively at the same rate in the first few thousands of iterations, and then the GSA starts having better progress.
The second test is carried out on three artificial problems with 10, 20 and 30 cells of known optimal solutions, where a square is split into smaller squares and rectangles to generate instances with the target size, as shown Figure3.Both GSA and GA are run 6 times with different initial solutions.The algorithm is brought to stop if an optimal solution is achieved or the number of iterations equals 15000, 30000 and 50000 for the 10, 20 and 30 cells respectively.Table 4 shows the success rate or the likelihood of optimality.Again, GSA beats GA in for the small medium and large size, with significant outperformance of 100% in the 10 cells instance 45,000 2 out of 6 1 out of 6 A major drawback of thi technique is its computational requirement; each iteration needs to many computations compared to other evolutionary algorithms like genetic algorithms for example.However, the effectiveness of this search and its balance between exploration and exploitation overcome this drawback.Table 5 shows the time taken by the GSA and GA to solve a 20-cell artificial instance with known optimal solution, running with same initial set of solutions on a personal computer with moderate specs.Both algorithms are made to stop when they reach a solution with some target quality; 5%, 10% 15% and 20% of wasted area relative to the optimal area.The GSA power of solving a relatively complex problem, such as Cell Placement, is investigated using both benchmark and artificial instances with various sizes.Comparative tests have shown that GSA outperforms GA as a well known evolutionary algorithm, in terms of solution quality, i.e. the wasted area of the best configuration, aspect ratio, and the likelihood of finding optimal solutions.It is quite significant to note that although iterations take longer time in GSA compared to GA, the total time required to achieve a target solution quality is less when we target higher quality solutions.While the two algorithms take nearly the same amount of time to find decent solutions, targeting high quality solutions; 5% waste or less, can be achieved in 75% of the time with GSA.After the first few thousands of iterations, GSA outperforms GA by 10% to 40% in terms of wasted area.

TABLE IV .
SUCCESS RATE OF ARTIFICIAL PROBLEMS (GSA VS.GA)