Information Sciences 369 (2016) 765–787
Contents lists available at ScienceDirect
Information Sciences journal homepage: www.elsevier.com/locate/ins
On minimizing vertex bisection using a memetic algorithm Pallavi Jain, Gur Saran, Kamal Srivastava∗ Department of Mathematics, Dayalbagh Educational Institute, Agra, India
a r t i c l e
i n f o
Article history: Received 1 December 2014 Revised 19 July 2016 Accepted 21 July 2016 Available online 25 July 2016 Keywords: Vertex bisection minimization Vertex width Memetic algorithm
a b s t r a c t Vertex Bisection Minimization problem (VBMP) consists of partitioning a vertex set into two sets B and B where |B| = |V |/2 such that vertex width, VW, is minimized which is defined as the number of vertices in B which are adjacent to at least one vertex in B . It is an NP-complete problem in general. VBMP has applications in fault tolerance and is related to the complexity of sending messages to processors in interconnection networks via vertex disjoint paths. In this paper, a memetic algorithm has been designed for this problem (MAVBMP) in which four construction heuristics have been proposed to generate the initial population. These heuristics are analyzed statistically and accordingly used in proportion to generate the initial population for MAVBMP. A new crossover type search operator has been proposed for recombination and a local improvement operator has also been developed. Extensive experiments have been conducted on several classes of graphs such as complete bipartite graphs, 2-dimensional ordinary meshes, 2-dimensional toroidal meshes, 3-dimensional toroidal meshes, complete split graph, join of hypercubes and Harwell-boeing graphs which are a subset of public domain Matrix Market library. Trends observed in the experimental results for some of the classes of graphs have led to conjectures for vertex width. © 2016 Elsevier Inc. All rights reserved.
1. Introduction Vertex Bisection Minimization problem (VBMP) consists of partitioning a vertex set of a graph G = (V, E), |V| = n, into two sets B and B where |B| = n/2 such that vertex width (VW) is minimized where vertex width is defined as the number of vertices in B which are adjacent to at least one vertex in B . Formally, for a partition P = (B, B ), its vertex width is V W (G, P ) = |{u ∈ B : ∃v ∈ B ∧ (u, v ) ∈ E (G )}|. VBMP is to find a partition P∗ such that V W (G, P ∗ ) = min∀ part it ion P V W (G, P ). In this paper, a partition P = (B, B ) is taken to be a solution and VW(G, P) as its cost. This problem has been treated as a graph layout problem by Diaz et al. [6]. Vertex Bisection Minimization Problem is relevant to fault tolerance and is related to the complexity of sending messages to processors in interconnection networks via vertex disjoint paths [6]. VBMP is NP-complete for general graphs but is polynomially solvable for trees and hypercubes [3]. Fraire et al. [9] have presented a branch and bound algorithm, Integer Linear Programming formulation and Quadratic Programming formulation for VBMP. Recently Jain et al. [12] have presented new Integer Linear Programming formulation and Quadratic Programming formulations for VBMP which require lesser number of variables and constraints than given by Fraire et al. [9]. Further, a new branch and bound algorithm has also been proposed in [13] which improves on the branch and bound algorithm proposed in [9].
∗
Corresponding author. E-mail addresses:
[email protected] (P. Jain),
[email protected] (G. Saran),
[email protected] (K. Srivastava).
http://dx.doi.org/10.1016/j.ins.2016.07.055 0020-0255/© 2016 Elsevier Inc. All rights reserved.
766
P. Jain et al. / Information Sciences 369 (2016) 765–787
VBMP is related to graph bisection problem which is a special case of graph partitioning problem (GPP). The graph kpartition problem is defined as follows: Given an unweighted graph G = (V, E), partition V into k subsets, V1 , V2 , . . .,Vk such that Vi ∩ V j = ∅ for i = j, ∪Vi = V and |Vi | ≤ (1 + x/100) × |V |/k where x ≥ 0. The objective is to minimize the number of edges of E whose incident vertices belong to different subsets [10]. If k = 2 and the partition is balanced (x = 1) then the problem is a graph bisection or edge bisection problem. GPP is NP-hard in general and has practical applications in load balancing, VLSI, mesh distributing and several others. Due to its practical applications, a number of heuristics have been proposed in the literature. Kernighan and Lin [16] have proposed an iterative heuristic (KL) for this problem. In each iteration, swapping of two vertices of different partitions is performed greedily. If the swapping of vertices reduces the number of cut edges then it is performed otherwise not. Fiduccia and Mattheyses [8] presented a variant of the KL procedure that can be implemented more efficiently. For the bisection problem, Johnson et al. [14] have designed a simulated annealing heuristic. Genetic algorithms [5] and Ant Colony optimization techniques [15] have also been proposed for this problem. In 2006, Bichot [2] proposed a metaheuristic based on fusion and fission. Many of the efficient heuristics combine local search with the so-called multilevel approach whose principle is to build a series of graphs of decreasing size obtained by coarsening the input graph recursively [4,19]. A recent approach for GPP is a memetic algorithm (MAGP) by Galinier et al. [10]. They have designed a construction heuristic to generate an initial population. This heuristic starts from an empty kpartitioning. In each iteration, an unassigned vertex is introduced into one of the subsets. Each subset grows using breadth first search approach, and the k subsets are built in parallel. Initially, 3 × ps number of solutions are created using this heuristic where ps denote the population size, but for the initial population ps number of best solutions are considered. In the generational phase, two parent solutions are selected randomly to generate an offspring using crossover operator which then undergoes tabu search operator. Worst solution among two parent solutions is replaced by offspring to update the population. The experimental results obtained by them show that MAGP outperforms other state-of-the-art algorithms. In this paper, we have proposed a memetic algorithm (MAVBMP) for VBMP which is tested on a large number of test graphs including those for which optimal results are known in the literature. MAVBMP achieves the known optimal values in all such cases. Despite practical applications of VBMP, no heuristics have been proposed for this problem per se, for general graphs, in the literature surveyed so far. However, as discussed above, there is a wide body of literature for GPP which could possibly be used for VBMP with adequate interpretation. In order to examine this, we have compared our approach for VBMP with a modified MAGP for VBMP. The modification incorporates a necessary adaptation of MAGP for the vertex bisection problem. We refer to this adaptation of MAGP as AMAGP further in this paper.
1.1. Contributions of this work In this section we outline the salient features of MAVBMP. In order to generate a good initial population, we have designed four construction heuristics which attempt to place adjacent vertices in the same partition in a way that they do not contribute to the vertex width. Experiments are carried out to compare the performance of these construction heuristics as well as another heuristic used in MAGP [10]. The results of the experiments have been analyzed statistically. Based on the results, we have selected three heuristics, other than the one used in MAGP, for generating initial population in MAVBMP in different proportions. It is interesting to note that these heuristics have been able to achieve optimal results for some of the input instances. A new crossover type search operator has been designed for exploration of the search space. A problem dependent local improvement operator has also been designed and deployed in the generational phase of the memetic algorithm. Experiments were carried out to study the impact of memetic operators (local search and crossover) and also for tuning of parameters such as population size, crossover rate etc. Extensive experiments have also been carried out to assess the performance of the proposed algorithm on large number of graphs belonging to different classes. Optimal results for hypercubes are known in the literature [3] and MAVBMP simulations on these graphs are able to achieve these results. MAVBMP is also executed on some classes of graphs for which optimal results are not known such as complete bipartite graph, 2-dimensional meshes, 2-dimensional toroidal meshes, 3-dimenssional toroidal meshes, complete split graph and join of hypercubes. The experiments have led to conjectures on the vertex width of 2-dimensional toroidal meshes and join of hypercubes. The test suite also includes a set of Small graphs and Harwell-Boeing graphs which are a subset of the public domain Matrix Market library (http://www.optsicom.es/cutwidth). Experiments are also performed to compare MAVBMP with one of its variants in which the initial population is generated randomly (MAVBMPR). We have also experimentally compared the performance of the AMAGP and MAVBMP. It is noticed that MAVBMP runs significantly faster (Section 5.7).
1.2. Organization The rest of the paper is organized as follows. Section 2 describes MAVBMP. In Section 3 proposed heuristics for generating initial population are described. Implementation details of MAVBMP are presented in Section 4. Section 5 describes the experiments and their results. This is followed by conclusions in Section 6.
P. Jain et al. / Information Sciences 369 (2016) 765–787
767
Initialize population size ps, crossover rate pc, mutation probability pm, elitism rate er, termination criteria tc and number of candidate children nc
Fig. 1. MAVBMP Procedure.
2. Memetic algorithm for vertex bisection minimization problem (MAVBMP) Memetic Algorithms (MAs) [17] constitute one of the most successful approaches for combinatorial optimization problems in general, and for approximate solutions for NP hard optimization problems in particular. Memetic Algorithms are population based metaheuristics like evolutionary algorithms (EA) but as Moscato and Cotta [18] point out “… unlike traditional EAs, MAs are intrinsically concerned with exploiting all available knowledge about the problem under study. The advantages of this approach were notably neglected in EAs for a long time …”. The remark together with our observation on the performance of MAs from some previous work [1, 10, 20, 21, 22, 23] motivated us to use memetic algorithm for VBMP. The exploitation of problem-knowledge can be accomplished in MAs by incorporating heuristics, approximation algorithms, local search techniques, specialized recombination operators, truncated exact methods, etc. MA proceeds by initializing a population of solutions. In each generational step there are three main components: selection, reproduction and replacement. The first component is responsible for the competition aspect of solutions in the population. Reproduction is performed by utilizing recombination operators and local improvers which is the distinctive feature of MAs. Replacement strategy decides how new individuals will replace existing individuals in the population for the next generation. In the context of VBMP, we have designed a memetic algorithm along with heuristics to generate a good initial population. Four heuristics were designed initially from which three best heuristics have been selected after an evaluation experiment (Section 5.2). Besides this, a local improvement operator is employed in the generational phase which helps in improving the solution. A new crossover type search operator, called crossover hereafter, has also been designed. The pseudocode for MAVBMP is given in Fig. 1 and its implementation details are presented in Section 4. MAVBMP starts by generating an initial population (Step 2) using three construction heuristics which are detailed out in Section 3. In the generational phase (Steps 4–10), binary tournament operator is applied in Step 5 for selection (further discussed in Section 4.2). Best ps.er (elitism) solutions of pop are copied to IntermediatePop in Step 6. On ps.pc of the remaining solutions in NewPop, crossover (Section 4.3) is applied for generating further solutions for IntermediatePop and the remaining solutions are copied as it is to the IntermediatePop in Step 7. It is assumed that pc is selected in a way that ps.pc is less than or equal to number of remaining solutions in NewPop. In Step 8, individuals in IntermediatePop undergo mutation (Section 4.4) except those individuals which were selected in Step 6 using elitism. In Step 9 local improvement is applied to IntermediatePop (Section 4.5) to improve the solutions. 3. Heuristics for generating initial population In this section we describe four solution construction heuristics for generating the initial population. The main idea behind these construction heuristics is to place more and more vertices that are adjacent to each other in the same partition
768
P. Jain et al. / Information Sciences 369 (2016) 765–787
Fig. 2. Heuristic H1.
subset. Three of these heuristics are distinct from each other and the fourth one is a hybridization of two of these heuristics. Let N(u) denote the set of vertices adjacent to vertex u ∈ V (G ), i.e. N (u ) = {v ∈ V (G ) : uv ∈ E (G )}, δ (G ) = min |N (u )| and
(G ) = max |N (u )|.
∀u∈V
∀u∈V
3.1. Heuristic H1 H1 is a greedy heuristic which begins with placing a minimum degree vertex together with all its neighbours in the same set B thus attempting to reduce its contribution to the vertex width which is zero if δ (G ) < n/2. In each of the consecutive steps the same procedure is repeated from among the vertices of B having minimum number of unplaced neighbours in B. Thus H1 starts by selecting a minimum degree vertex u of graph G. If number of its adjacent vertices is less than n/2, then the vertex u and all its adjacent vertices are placed in the set B otherwise n/2 − 1 adjacent vertices and the vertex u are placed in set B. If |B| < n/2, then a vertex v is selected from B for which the number of adjacent vertices not placed in B is least. We continue this process as long as |B| < n/2. Since the vertices are selected randomly among candidates, it is possible to generate different solutions over multiple runs of the heuristic. Pseudocode for this heuristic is presented in Fig. 2. For an illustration of Procedure H1, consider the graph of Fig. 3, where the numbers indicate the vertex identifiers. Here vertex 8 has degree 1 with N(8) = {10}, therefore B = {8, 10}. Since there is only one vertex whose all neighbours are not included in B, therefore v = 10 and Y = {11, 12}. Since |Y | ≤ n/2 − |B|, therefore B = {8, 10, 11, 12}. Continuing in this manner, we obtain a partition set B as {8, 10, 11, 12, 14, 7, 15} whose vertex width is 2. 3.1.1. Time complexity of H1 Let us suppose that the set of neighbours for each vertex is available. Since a minimum degree vertex can be found in linear time, therefore, Step 2 takes O(n) time. Step 4 to 7 requires O((G)) time. In Step 10, N(v) can be found in O(1) time
P. Jain et al. / Information Sciences 369 (2016) 765–787
769
Fig. 3. A Graph.
Fig. 4. Heuristic H2.
and the set difference operator requires O((G)) time for each vertex of B. Thus, Step 10 requires O(b.(G)) time where b = |B|. Step 11 requires O((G)) time and Step 13 and 15 requires O(b + (G)) time. Therefore, time complexity of H1 is O(b2 . (G)) and in the worst case it is equal to O(n3 ). 3.2. Heuristic H2 This is again a greedy procedure which tries to put a minimum degree unplaced vertex and its neighbours in the same set B in each consecutive step so as to minimize its contribution to vertex width. In fact this contribution is usually zero in the first step (when δ (G ) < n/2). Given a graph G = (V, E), in each iteration, a vertex u of minimum degree not in B is selected and placed in B. If number of its adjacent vertices are less than or equal to n/2 − |B|, then all of its neighbours are put in B, otherwise n/2 − |B| neighbours of u are selected randomly and placed in B. This process is repeated while |B| < n/2. The procedure is outlined in Fig. 4. For an illustration, for the graph in Fig. 3, initially P = {1, 2, …, 15}. Let minimum degree vertex selected is u = 5. Therefore, B = {5} and Y = {4}. Since, |Y | ≤ n/2 − |B| = 7 − 1 = 6, therefore B = {5, 4}. Now P = {1, 2, 3, 6, 7, …, 15}. Now in the next
770
P. Jain et al. / Information Sciences 369 (2016) 765–787
iteration minimum degree vertex in P is selected as 2. Therefore B = {5, 4, 2}. Continuing in this manner, we obtain a partition set B as {5, 4, 2, 3, 6, 1, 11} whose vertex width is 4. 3.2.1. Time complexity of H2 Let us suppose that the set of neighbours for each vertex is available. Suppose that in Step 2, P is sorted in ascending order of vertex degree. Therefore Step 2 requires O(n.logn) time. In Step 4 selection of minimum degree vertex requires O(1) time as P is sorted. Let b denote the size of B. Step 5 requires O(b) time. Step 6 requires O((G)) time. Step 8 and 10 require O(b + (G)) ≤ O(n) time. Step 12 also requires O(n) time in the worst case. Therefore, the time complexity of H2 is O(n2 ). 3.3. Heuristic H3 Heuristic H3 is similar to H2 except that in each iteration instead of selecting minimum degree vertex, a maximum degree vertex is chosen. Here again the contribution of the vertex (which is selected in the first step) towards the vertex width is zero if (G ) < n/2. We illustrate this by considering the graph of Fig. 3 again. Initially P = {1, 2, …, 15}. Let maximum degree vertex selected be u = 7. Therefore, B = {7}. Y = {1, 3, 13, 14}. Since |Y | ≤ n/2 − |B|, therefore B = {7, 1, 3, 13, 14}. Now P = {2, 4, 5, 6, 8, 9, 10, 11, 12, 15}. Now in the next iteration maximum degree vertex in P is selected as 10. Therefore B = {7, 1, 3, 13, 14, 10}. Continuing in this manner, we obtain a partition B as {7, 1, 3, 13, 14, 10, 11} which has vertex width 4. Time Complexity of H3 is same as H2. 3.4. Heuristic H4 Heuristic H4 (Fig. 5) is a hybridization of H1 and H2. It begins by selecting a vertex u of minimum degree (Step 2). If the number of vertices adjacent to it is less than n/2, then u and all its adjacent vertices are included in set B, otherwise, any n/2 − 1 adjacent vertices of u are selected (Step 6) and placed in B along with u (Step 7). After this step a vertex x is selected from B such that number of its adjacent vertices not in B is minimum but not zero (Step 11). A vertex v of minimum degree is also selected from V (G )\B (Step 13). Let Y = N(v)\B. Now if the number of adjacent vertices of x not in B is less than or equal to |{v} ∪ Y | then the procedure continues as in Heuristic H1, otherwise it proceeds as in Heuristic H2. This process continues till |B| < n/2. We demonstrate the procedure using graph in Fig. 3. Initially P = {1, 2, …, 15}. Let minimum degree vertex selected is u = 9. Since N (u ) < n/2. Therefore, B = {9, 3}. Now P = {1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15}. Since there is only one vertex in B whose neighbours are not placed in B, therefore x = 3. Now Y = {2, 7}. Let u = 5. K = {5, 4}. Since |Y | = |K |, therefore it proceeds as in H1 and B is extended to {9, 3, 2, 7}. In the next iteration, x = 7, Y = {1, 13, 14}. Let u = 8. K = {8, 10}. Since |Y | > |K |, therefore it proceeds as in H2 and B is extended to {9, 3, 2, 7, 8, 10}. Continuing in this manner, we obtain a partition B as {9, 3, 2, 7, 8, 10, 6} having vertex width 3. Time Complexity of H4 is O(n3 ) in the worst case. This follows from the complexities of Heuristics H1 and H2 4. Implementation details of MAVBMP In this section we give the implementation details of the proposed MAVBMP. 4.1. Solution representation and initial population Each individual in the population represents a solution to VBMP which is the set B of vertices in a vertex bisection. The vertices of B, appear as an array of length n/2 of vertex identifiers in {1, 2, …, n} in the solution. An initial population of ps number of solutions is generated using selected heuristics. The proportion of solutions allotted to each of the heuristics is based on the experiments which are described in Section 5.1. 4.2. Selection Binary tournament operator [1] is applied on the population for selection in which each solution participates in two tournaments and the winning solution is selected for NewPop. In this manner, any solution in pop can have at most two copies in NewPop. Time Complexity of Binary Tournament Let ps denote the population size. Binary Tournament is performed in O(ps) time. 4.3. Crossover type search operator (crossover) A new crossover type search operator has been designed for MAVBMP to explore the search space. This operator is used on a pair of randomly selected solutions parent1 and parent2 from the population. In order to generate child solution child1 we first generate nc number of solutions by taking common vertices of parent1 and parent2 and then placing the remaining
P. Jain et al. / Information Sciences 369 (2016) 765–787
771
Fig. 5. Heuristic H4.
vertices in each of these solutions by randomly selecting vertices from parent1 parent2 ( denotes symmetric difference). Now, the solution having the lowest vertex width is taken as child solution child1 . To generate the second child solution child2 , vertices common to both the solutions are copied to the second child solution and the remaining vertices are taken from ( parent1 ∪ parent2 )\chil d1 . Fig. 6 presents Procedure crossover. Time Complexity of Crossover Operator In Crossover Operator, Steps 2, 3, 5 and 6 require O(n) time in worst case. Since Step 5 and 6 are performed nc number of times, therefore, time taken from Step 4 to 6 is O(n.nc). Time Complexity for computing vertex width of a solution
772
P. Jain et al. / Information Sciences 369 (2016) 765–787
Fig. 6. Crossover operator.
is O(n.(G)) time. Since there are nc number of solutions, therefore time required for computing vertex width of all the solutions is O(n.(G).nc). Since the solution with least vertex width can be selected in O(nc) time, therefore, Step 8 requires O(n.(G).nc) time. Step 9 requires O(n) time. Hence, the time complexity of crossover operator is O(n.(G).nc). 4.4. Mutation Swap operator has been used for mutation. In swap mutation two vertices (one each from sets B and B ) are picked randomly and swapped. The time complexity of Mutation is O(1). 4.5. Local improvement operator We first give two relevant definitions before detailing out the local improvement operator. For a partition P = (B, B ), the indegree of v ∈ B(or B ) is defined as in_deg(v ) = |{u ∈ B(or B ) : uv ∈ E (G )}| and outdegree of v ∈ B(or B ) is out _deg(v ) = |{u ∈ B (or B ) : uv ∈ E (G )}|. The design of this operator is based on the idea of moving a vertex v from B to B which is not adjacent to any vertex of B because it guarantees that if this vertex is in B then it will not contribute to the vertex width. To maintain the size of partitions it is also required to move a vertex from B to B . For this purpose a vertex w from B is chosen which is not adjacent to any vertex of B whose outdegree is 0 as it guarantees that moving vertex w from B to B will not increase the vertex width. This operation ensures that the vertex width will either decrease or remains unchanged. The improvement operator (Fig. 7) selects a vertex vi from B with indegree 0 that has not been moved from B to B in the previous iteration. If vi has been moved in the preceding iteration then the process is terminated (Step 4–6), otherwise, a subset Vo of vertices of B is identified having outdegree 0 (Step 7). Let I be the subset of vertices of B which are not in Vo (Step 8). Now a vertex vert ∈ I is identified which is not adjacent to any vertex in Vo . Vertices vi and vert are swapped. This process continues until the termination criterion is met. This swapping guarantees that vertex width will not increase because vi is not adjacent to any vertex in B while vert is adjacent to at least one vertex in B . Therefore this movement of vertices between two sets either reduces the vertex width or does not increase the vertex width. A reduction in vertex width occurs if all the outdegrees of vi and vert are reduced to 0. Since vert is not adjacent to any vertex with outdegree 0, therefore moving it to B does not increase the vertex width. The operator is illustrated using an example partition (B, B ) in Fig. 8(a). The indegrees and outdegrees of the identified vertices of B and B are: Vertex identifier
Outdegree
Vertex identifier
Indegree
1 7 2 9 4
2 1 0 0 0
5 10 3 8 6
0 1 1 1 1
Thus Vo = {2, 9, 4} and I = {1, 7}. Let vertex 5 be selected (having indegree 0). Also let vert = 1 be selected from I. Swapping (Step 10 and 11) of these two vertices in B and B results in a new partition of Fig. 8(b).
P. Jain et al. / Information Sciences 369 (2016) 765–787
773
Fig. 7. Local improvement operator.
Fig. 8. A vertex bisection (a) Before and (b) After local improvement.
It may be noted that the termination in Step 5 is essential as otherwise it may become a non-terminating process. In order to illustrate the need for a termination criteria (Step 4 to 5), consider the graph of Fig. 9(a). Here vertex 5 in B is the only vertex of indegree 0. In set B, vertex 1 is not adjacent to any vertex with outdegree 0. Therefore, vi = 5 and vert = 1. Local Improvement operator gives the partition shown in Fig. 9(b). In the next iteration vertex 1 in B is the only vertex of indegree 0 and vertex 5 is the only vertex which is not adjacent to any vertex with outdegree 0. Therefore, vi = 5 and vert = 1. This selection will lead to a non-terminating loop. Therefore, we need to terminate the process here. A shortcoming of this termination step (Step 4 to 5) is that in case of tie, vertices are selected randomly which may lead to termination of the process even though scope of improvement may still be there. This drawback can be seen from the partition shown in Fig. 10(b). Suppose in the first iteration, the partition in Fig. 10(a) yields vi = 5 and vert = 1. After swapping the two vertices, a new partition shown in Fig. 10(b) is obtained. Now in the next iteration, if vertex 1 is selected again, then the process is terminated. While selecting vi = 1 and vert = 7 would have led to reduction of vertex width. Time complexity of local improvement operator In the initial phase, outdegree and indegrees of vertices can be computed in O(n.(G)) time. In the Local Improvement Operator, Step 3, 7, 8, 10 and 11 require O(n) time and Step 9 requires O(n.(G)) time in the worst case. In each iteration outdegree and indegree of vertices can be updated in O((G) time. Let the process be carried out x times. This gives that the time complexity of Local Improvement Operator is O(x.n.(G)).
774
P. Jain et al. / Information Sciences 369 (2016) 765–787
Fig. 9. A vertex bisection (a) Before and (b) After local improvement.
Fig. 10. A vertex bisection (a) Before after (b) After local improvement.
4.6. Time complexity of MAVBMP As discussed in Section 3, Step 2 in MAVBMP Procedure requires O(n3 ) time. Step 3 requires O(n.(G).ps) time. Step 5 requires O(ps) time as explained in Section 4.2. Step 6 requires O(ps.log ps) time. Since crossover requires O(n.(G).nc) time (Section 4.3), Step 7 requires O((ps.pc).n.(G).nc) time which in worst case equal to O(ps.n.(G).nc). Step 8 requires O(ps) time and the time complexity of Step 9 is O(ps.x.n.(G)). This implies that the time complexity of MAVBMP is O(max(n3 , ps.n.(G).max(x,nc))) for one generation. 5. Experiments and results This section begins with the brief description of various experiments which have been carried out in this work. It is then followed by a description of the test suit in Section 5.1. The code is implemented in Matlab 7.0 and the experiments are conducted on Intel Core 2 Duo CPU. The following experiments have been performed in the order given below: a. An experimental comparison of the construction heuristics described in Section 3 in order to select heuristics for the final experiment to evaluate VBMP. This experiment is presented in Section 5.2. Further, the construction heuristics have also been compared with an adapted version of the construction heuristic described in MAGP.1 The adaptation is necessary for its application to VBMP and we refer to this adaptation as H5 hereafter. b. Experiments to determine the proportion of individuals from each heuristic selected through experiments in (a) that will be present in the initial population. This selection is based on the performance of each heuristic in the experiments in (a) (Section 5.3). 1 In step 4.1 of Procedure buildsolution() [10] if the queue is empty then step 4.2 is ignored as it will violate the vertex size constraint of VBMP (the size of set B has to be n/2 ).
P. Jain et al. / Information Sciences 369 (2016) 765–787
775
Table 1 Set of random graphs. Graph set
Group name
Number of vertices
Edge density (ed)
Number of distinct graphs generated
Random graphs
R40_15 R40_30 R100_15 R100_30
40 40 100 100
15 30 15 30
5 5 5 5
c. Experiment to analyze the performance of the crossover operator, mutation operator and local improvement operator (Section 5.4). d. Experiments for parameter tuning of MAVBMP (Section 5.5). e. Experiment to compare MAVBMP with its variant MAVBMPR (Section 5.6). f. Experiments to compare MAVBMP and AMAGP (Section 5.7). g. Simulation of MAVBMP on instances from the test suite for which optimal results are not known (Section 5.8).
5.1. Test set We have performed experiments on four sets of instances. A: Small Graphs This data set consists of 22 graphs. We have selected 22 graphs out of 84 from the original set (http://www.optsicom.es/ vsp). The number of vertices ranges from 16 to 24 and the number of edges ranges from 18 to 34. B: Standard Graphs This data set consists of hypercubes, complete bipartite graph, 2-dimensional meshes, 2-dimensional toroidal meshes, 3-dimensional toroidal meshes, complete split graph and join of hypercubes. Hypercube: A n-dimensional hypercube (Qn ) is a graph with 2n vertices and n2n − 1 edges. The vertices are labelled by 2n integers from 0 to 2n −1 , and they are connected by edges iff the binary representations of their labels differ by exactly one bit. Complete Bipartite Graph: A complete bipartite graph (Km,n ) consists of two partite sets of sizes m and n respectively such that every pair of vertices in two partite sets are adjacent. Total number of vertices |V| and edges |E| are m + n and mn respectively. 2-dimensional Mesh: Two dimensional mesh (Pm × Pn ) is the cartesian product of two paths Pm and Pn . Pm × Pn has mn number of vertices and 2mn − m − n edges. 2-Dimensional Toroidal Mesh: 2-dimensional toroidal mesh (Cm × Cn ) is the cartesian product of two cycles Cm and Cn . Number of vertices |V| in Cm × Cn are mn. 3-dimensional Toroidal Mesh: 3-dimensional Toroidal mesh Cm × Cn × Cp is the Cartesian product of three cycles Cm , Cn and Cp . Number of vertices |V| in Cm × Cn × Cp are mnp. Complete Split Graph: If a graph G with vertex set V can be expressed as the disjoint union of a clique of size m (Km ) and an independent set of size n (Kn ), then the graph is a split graph and if each vertex of an independent set is adjacent to every vertex of a clique then the graph is a complete split graph (Km ∇ Kn ). Number of vertices |V| and number of edges |E| in Km ∇ Kn are m + n and n2C + mn respectively. Join of Hypercubes: Join of hypercubes Qm and Qn (Qm + Qn ) is the graph union Qm ∪ Qn together with all edges joining vertices of Qm and Qn . Total number of vertices |V| and number of edges |E| in Qm + Qn are 2m + 2n and m2m−1 + n2n−1 + 2m + n respectively. C: Harwell-Boeing graphs Experiments have been performed on Harwell-Boeing graphs, a subset of public domain Matrix Market library. D: Random Graphs In the case of random graphs the graph instance is named according to the following scheme: group name_instance serial number where group_name = RNumber o f vertices_Edge density. 5.2. Comparison between Heuristics In this section we present the experiment to compare construction heuristics described in Section 3. 5.2.1. Description of the experiment Experiments were conducted to compare the performance of heuristics H1 to H4 described in Section 3, randomly generated solutions Random and H5 (construction heuristic in MAGP [10]). These experiments were carried out on two sets of graphs, namely, Random graphs (Table 1) and Harwell-Boeing graphs (Table 2). For each heuristic and each graph instance, 50 solutions (i.e., partitions) were generated and vertex width was computed. ANOVA was used to test for significance in the difference in mean vertex width between heuristics at 5% level of significance.
776
P. Jain et al. / Information Sciences 369 (2016) 765–787 Table 2 Set of Harwell-Boeing Graphs. Graph set
Instance description
Number of vertices
Number of edges
Harwell-Boeing
arc_130 ash_85 bcspwr_1 bcspwr_02 bcspwr_03 bcsstk_01 bcsstk_22 bfw62a bfw62b can24
130 85 39 49 118 48 110 62 62 24
715 219 46 59 179 176 254 200 140 68
Table 3 Number of random graphs for which differences in mean vertex width between the row heuristic and column heuristic was significant.
H2 H3 H4 H5 Random
H1
H2
H3
H4
H5
14 20 4 20 20
20 13 20 20
20 18 18
20 20
11
Fig. 11. (a) Mean and (b) minimum vertex width of random graphs with 40 vertices and 15% edge density obtained by the construction heuristics and Random.
The hypothesis thus tested, for each graph instance is as follows: Hypothesis: There is no difference in the mean vertex width for each heuristic. For the graphs for which the Null hypothesis was rejected, Tukey test [11] was carried out to compare pairs of means. The number of graphs for which the difference in means was significant for a pair of heuristics was computed and used in the analysis. Systat 9 was used for statistical analysis. 5.2.2. Results of the experiments Randomly Generated Graphs In all the random graphs, the results of ANOVA showed that the difference in means was significant among the heuristics and Random. Tukey test was then used to compare means between pairs of heuristics for these instances. Table 3 shows the number of Random Graphs for which differences in mean vertex width between the row heuristic and column heuristic is significant. From the table we can see that for each of the heuristics (except H1 and H4) percentage of Random Graphs for which it is significantly different from other heuristics is greater than 50% of the total number of cases for which it was tested. Therefore, we can conclude that each heuristic is significantly different from other heuristics. Figs. 11–14 show the mean, minimum vertex width for groups R40_15, R40_30, R10 0_15 and R10 0_30 respectively and Table 4 summarizes the number of graphs, for all groups combined, for which a heuristic gives the lowest values of mean and best vertex width.
P. Jain et al. / Information Sciences 369 (2016) 765–787
777
Table 4 Number of random graphs for which mean and minimum vertex width is lowest.
H1 H2 H3 H4 H5 Random
Minimum
Mean
10 15 0 13 0 0
9 11 0 9 0 0
Fig. 12. (a) Mean and (b) minimum vertex width of random graphs with 40 vertices and 30% edge density obtained by the construction heuristics and Random.
Fig. 13. (a) Mean and (b) minimum vertex width of random graphs with 100 vertices and 15% edge density obtained by the construction heuristics and Random.
From Fig. 11, we observe that on the graphs in group R40_15 we get a comparable performance for Heuristics H1, H2 and H4. From Figs. 12–14, it is observed that the performance of H3, H5 and Random is consistently poor in terms of mean and minimum vertex width whereas the remaining heuristics have an almost equal share in achieving good results. It can be seen from Table 4 that H1, H2 and H4 achieve lowest minimum and mean for a fairly large number of graphs. Furthermore these heuristics for most pairwise comparisons are significantly different from each other. This lends support to our choice of H1, H2 and H4 as the preferred construction heuristics. Harwell-Boeing Graphs For all the graphs in this set, the results of ANOVA showed that the difference in means was significant for H1, H2, H3, H4, H5 and Random. Table 5 shows the number of Harwell-Boeing graphs for which differences in mean vertex width between the row heuristic and column heuristic is significant. From the table it is seen that for each of the heuristics percentage of graph instances for which it is significantly different from other heuristics is greater than or equal to the 50% of the total number of cases for which it was tested. Therefore, we conclude that each heuristic is significantly different from other heuristics. Fig. 15 shows the mean and minimum vertex width for Harwell-Boeing graphs and Table 6 summarizes the number of graphs for which a heuristic has the lowest mean and minimum for the vertex width.
778
P. Jain et al. / Information Sciences 369 (2016) 765–787
Fig. 14. (a) Mean and (b) minimum vertex width of random graphs with 100 vertices and 30% edge density obtained by the construction heuristics and random solutions. Table 5 Number of Harwell-Boeing graphs for which differences in mean vertex width between the row heuristic and column heuristic is significant.
H2 H3 H4 H5 Random
H1
H2
H3
H4
H5
10 10 6 9 10
8 9 10 10
10 9 10
8 10
10
Table 6 Number of Harwell-Boeing graphs for which mean and minimum vertex width is lowest.
H1 H2 H3 H4 H5 Random
Minimum
Mean
8 0 0 7 7 0
5 2 1 3 0 0
From Fig. 15, it can be observed that graphs give comparable performance for Heuristics H1 and H4. Table 6 shows that H1 and H4 achieve lowest minimum and mean for a fairly large number of graphs. From the above experiments, it turns out that H1 and H4 work well for all the graphs while H2 works best for random graphs. Heuristic H3 and Random do not perform well for any of these graphs. Poor performance of H3 on all types of test graphs can be attributed to the fact that inclusion of a maximum degree vertex together with all its neighbours results in a substantial increase in vertex width as these neighbours may also have further neighbours in the other set. Similarly failure of H5 to perform better may be due to the fact that this procedure is designed for minimizing the number of edges crossing the two sets. In the context of VBMP the breadth first strategy does not keep into account the fact that the vertex being chosen for a set has a neighbour in the other set. Thus there does not seem to be any check on the number of vertices having neighbours in the other set during the construction of a solution. Better performance of H5 in the case of HarwellBoeing instances can be attributed to their lower edge densities. Moreover, for computing the vertex width only the number of vertices of set B are to be counted and clearly the heuristics designed by us focus on placing vertices in the set B. Thus H1, H2 and H4 are selected for generating the initial population. 5.3. Experiment for deciding proportion of solutions using each heuristic in the initial population We performed an experiment to observe the effect of graph size and edge density on the performance of heuristics H1, H2 and H4. This experiment has been conducted on random graphs with vertex size 20, 40, 10 0, 20 0 and 50 0 and for edge densities 5%, 10% and 15%. Table 7 shows whether the least vertex width, among the results obtained by all the heuristics for an instance is achieved by each of the three heuristics or not. From Table 7, we observe that for the smaller graphs with smaller edge densities H1 and H4 perform better but for larger graphs with higher edge densities, performance of H2 is better. This suggests that as the graph size increases, proportion of solutions generated using H1 and H4 in the initial
P. Jain et al. / Information Sciences 369 (2016) 765–787
779
Fig. 15. (a) Mean and (b) minimum vertex width of Harwell-Boeing graphs obtained by the construction heuristics and Random. Table 7 Results on whether a heuristic achieved the best so far for vertex width or not. Graphs
R20_5_1 R40_5_1 R100_5_1 R200_5_1 R500_5_1
Is the best so far achieved? H1
H2
H4
Y Y N N N
N N N Y Y
Y Y Y N N
Graphs
R20_10_1 R40_10_1 R100_10_1 R200_10_1 R500_10_1
Is the best so far achieved? H1
H2
H4
N Y N Y N
N N Y N Y
Y Y Y N N
Graphs
R20_15_1 R40_15_1 R100_15_1 R200_15_1 R500_15_1
Is the best so far achieved? H1
H2
H4
Y N Y N N
N Y Y Y Y
Y Y Y N N
population should decrease but not too rapidly. Similar argument follows for graphs with large edge density. Results in Table 7 show that with increase in edge density (ed), the fall in the proportion of solutions using H1 and H4 should be slower than the graph size. On the basis of above experiments, we conclude that proportion of solutions using H1 or H4, denoted pH 1/H 4 is pH 1/H 4 ∝ √ 1 . This implies that pH 1/H 4 = √ k . On the basis of a preliminary experiment, we have set k to 200.
|V |+ed9/10
|V |+ed9/10
5.4. Experiment to analyze the performance of crossover, mutation and local improvement operator over population To design a memetic algorithm, it is important to analyze the effect of crossover, mutation and local improvement operator on the population. Therefore, we performed an experiment on 5 graphs of group R40_15 (Table 1). For each instance, a population of 30 solutions was generated using the construction heuristics (Section 5.3) and the following seven sets of operators were applied independently on the population. (a) (b) (c) (d) (e) (f) (g)
crossover (C) mutation (M) crossover followed by mutation (CM) local improvement operator (L) crossover followed by local improvement operator (CL) mutation followed by local improvement operator (ML) crossover followed by mutation and local improvement operator (CML).
780
P. Jain et al. / Information Sciences 369 (2016) 765–787 Table 8 Number of random graphs for which differences in mean vertex width between the row operator and column operator was significant.
M CM L CL ML CML
C
M
CM
L
CL
ML
3 0 3 5 5 5
3 0 5 5 5
2 5 5 5
5 5 5
1 0
1
Table 9 Mean and lowest vertex width achieved using all the experiments from (a) to (g) for graphs of group R40_15. Graphs R40_15_1 R40_15_2 R40_15_3 R40_15_4 R40_15_5
mean min mean min mean min mean min mean min
C
M
CM
L
CL
ML
CML
14.82 14.33 15.37 15.07 15.43 15.23 14.45 13.57 15.01 14.67
14.23 13.9 14.59 14.43 14.74 14.33 13.64 13.23 14.42 14.27
14.82 14.3 15.37 15.07 15.43 15.23 14.42 13.8 15.03 14.73
13.9 13.83 14.58 14.43 14.72 14.33 13.31 12.93 14.35 14.17
14.62 14.17 15.28 14.93 15.34 15.07 13.89 13.33 14.83 14.33
14 13.83 14.59 14.43 14.72 14.33 13.32 12.97 14.36 14.17
14.64 14.1 15.29 14.97 15.33 15.03 13.88 13.23 14.82 14.53
Table 10 I and NI values using experiments from (a) to (g) for graphs of group R40_15. Graphs R40_15_1 R40_15_2 R40_15_3 R40_15_4 R40_15_5
I (%) NI (%) I (%) NI (%) I (%) NI (%) I (%) NI (%) I (%) NI (%)
C
M
CM
L
CL
ML
CML
2.67 62.89 2.56 43.11 2.67 48.11 8.11 45.56 3.67 52.11
0 99.11 0 99.33 0 99 0.11 98.78 0 98.78
2.56 62.22 3.67 43.56 1.78 48 8 47.44 2.67 53.56
1.22 98.78 0 100 1 99 32 68 6 94
4.33 64.78 3.56 46.67 4 48.89 24.56 39 9.4 58.89
1.11 98.56 0 99.33 1 98.44 31.78 67.67 5.56 93.78
4.89 63 4.22 44.11 3.44 50.44 25.22 38.22 5.78 59.44
For each operator and for each instance 30 trials were conducted. We compared the results of these experiments statistically as was done in Section 5.1. Table 8 shows the number of graphs of group R40_15 for which differences in mean vertex width between the row operator and column operator is significant. From Table 8, it can be observed that CL, ML and CML are significantly different from C, M, CM and L. C is significantly different from M and L whereas M is significantly different from CM. Let M denote the average vertex width for the population of size 30. In Table 9 mean and min denote the average and minimum of M values respectively computed over 30 trials for all the experiments from (a) to (g). Table 9 shows that lowest mean is achieved using L and the lowest min is achieved using both the operators L and ML for almost all the cases. As can be seen, the results obtained using all the experiments from (a) to (g) are very close to each other. Table 10 reports the percentage of individuals whose vertex width has improved, I, and the percentage of individuals which have either improved or have not shown any change in vertex width, NI, after undergoing all the experiments from (a) to (g). Results in Table 10 show that I is largest for CL and CML. Though L does not provide a large value of I but it does not deteriorate the quality of the solution. Table 11 reports the maximum improvement in VW, MI, and the percentage of individuals which have improved, PI. Table 11 shows that maximum improvement in the solution is there in the case CL, CM and CML. Numbers in bold indicate the best results. After analyzing the experimental results explained above, we conclude that CL, ML and CML improve the solution to a larger extent, though min and mean are smallest in the case of L. Therefore, L, CL, ML and CML are preferred for MAVBMP. These results justify the following features of MAVBMP. In order to retain a few best solutions (elite solutions), crossover has been applied to a fraction of remaining population (Step 7 in Fig. 1) and elite solutions have also been spared from mutation (Step 8 in Fig. 1). Since local improvement is a mandatory step in a memetic algorithm and also the proposed
P. Jain et al. / Information Sciences 369 (2016) 765–787
781
Table 11 MI and PI values using experiments from (a) to (g) for graphs of group R40_15. Graphs R40_15_1 R40_15_2 R40_15_3 R40_15_4 R40_15_5
MI PI (%) MI PI (%) MI PI (%) MI PI (%) MI PI (%)
C
M
CM
L
CL
ML
CML
1 2.67 1 2.56 1 2.67 2 1.78 1 3.67
0 0 0 0 0 0 2 0.11 0 0
1 2.56 2 0.11 1 1.78 2 1.22 2 0.11
1 1.22 0 0 1 1 2 0.11 1 6
1 4.33 1 3.56 1 4 3 0.56 2 0.11
1 1.11 0 0 1 1 2 0.22 1 5.56
2 0.11 1 4.22 2 0.33 3 0.33 1 5.78
Fig. 16. (a) Average vertex width and (b) Time taken for random graphs of group R40_15 with different values of ps.
Fig. 17. (a) Average vertex width and (b) Time taken for random graphs of group R100_15 with different values of ps.
local improvement is able to improve the solutions substantially (indeed it never increases the cost), therefore it is applied on the entire population (Step 9 in Fig. 1). 5.5. Parameter tuning Preliminary experiments have been conducted to set the MAVBMP parameters namely- population size (ps), percentage of individuals undergoing crossover (pc), mutation probability (pm), elitism rate (er) and termination condition (tc). 5.5.1. Population size (ps) In order to decide the population size ps, we conducted pilot experiments with ps = 50, n/10, n/6, n/4, n/3, n/2 on random graphs of groups R40_15 (n = 40), R100_15 (n = 100) (Table 1) and the Harwell-Boeing graphs arc_130, ash_85, bcspwr_03, cat702, can_715. For graphs with n ≥ 500 the population size ps = 50 was also considered. This choice of population size is based on the results of pilot experiments and corresponds to n/10 for n = 500. Thirty trials were conducted for each graph and for each value of ps to compute average vertex width and time taken. From Figs. 16–19, we can observe that for graphs with a small number of vertices, for instance for R40_15 (Fig. 16), the average vertex width degrades as the population size is reduced from n/2 to n/10. As the value of n increases, for instance for arc_130 (Fig. 18), can715, cat_702 and C5 _C10 _C10 (Fig. 19), we observe that the difference in the average vertex width is not significant, however the time taken increases considerably as the population size is increased. These observations have motivated the following scheme for deciding the
782
P. Jain et al. / Information Sciences 369 (2016) 765–787
Fig. 18. (a) Average vertex width and (b) Time taken for arc_130, ash_85 and bcspwr_03 with different values of ps.
Fig. 19. (a) Average vertex width and (b) Time taken for can_715, cat702, C5 _C10 _C10 with different values of ps.
population size for the experiments with MAVBMP:
ps =
n/2 n/6 n/10
i f n ≤ 80 i f 80 < n ≤ 120 i f n > 120
It can be seen that if we take the middle value of n in the ranges, the computed values of ps are close to each other. For the graphs with n > 500, as can be seen for can715, cat_702 (Fig. 19), the time taken increases rapidly as the population size increases, but the difference in average vertex width is not significant. Therefore for n > 500, we have taken ps = 50 which corresponds to n/10 for n = 500. 5.5.2. Percentage of individuals undergoing crossover (pc) In order to balance exploration and exploitation, it is important to decide the fraction of solutions which are to be generated by crossover of solutions. We thus conducted an experiment to decide the percentage of individuals undergoing crossover on the initial population of size 30. It was observed that some of the solutions generated using construction heuristics were redundant but crossover introduced diversity among solutions. In order to decide crossover rate we performed two sets of experiments when the population is generated (i) randomly and (ii) using construction heuristics. The experiment was performed on the graphs R20_15_1, R40_15_1, R100_15_1, R200_15_1 and R500_15_1. Percentage of individuals undergoing crossover (pc) was tested for the cases 50%, 60% and 70%. Fig. 20 (a) and (b) represents the effect of pc over different graphs after 10 iterations for the two cases respectively. It can be observed that number of duplicate solutions in the population is least with pc = 60%. 5.5.3. Other parameters Mutation probability pm is taken as 0.01 so as to prevent the algorithm from reducing to random search. On the basis of preliminary experiments, tc, nc and er are set to 50, 10 and 5% respectively. 5.6. MAVBMP versus MAVBMPR We performed an experiment to compare MAVBMP with its variant where the initial population is generated randomly (MAVBMPR). This experiment was performed on Harwell-Boeing Graphs. The results obtained for these instances are shown in Table 12 in which best, worst and mean vertex width are shown for the two cases taken over 30 trials. Numbers in bold indicate the best results. It is pertinent to mention here that vertex separation [6] of a graph is an upper bound of the
P. Jain et al. / Information Sciences 369 (2016) 765–787
783
Fig. 20. Percentage of duplicate solutions for different graphs after 10 iterations for different values of pc for experiment (i), shown in (a) and for experiment (ii) shown in (b). Table 12 Best, worst and mean vertex width obtained by MAVBMP and MAVBMPR for Harwell-Boeing Graphs. Graphs
|V|
|E|
bestrand
best
worstrand
worst
meanrand
Mean
UB
arc_130 ash_85 bcspwr_1 bcspwr_02 bcspwr_03 bcsstk_22 bfw62a bfw62b can24 can61 can62 can73 can_144 can_161 can_715 cat352 cat702 curtis_54 dwt234 dwt_162 dwt_193 gent113 gre_115 gre_185 Impcol_b impcol_c Ins_131 nos_1 nos_4 Rcat554 steam03 west0132 west0156 west0167 will_57 will_199
130 85 39 49 118 110 62 62 24 61 62 73 144 161 715 352 702 54 117 162 193 104 115 185 59 137 123 158 100 554 80 132 156 167 57 199
715 219 46 59 179 254 200 140 68 248 78 152 575 608 2975 351 701 124 162 672 1650 549 267 650 281 352 275 312 247 553 424 404 371 489 127 671
8 12 3 2 6 12 6 2 4 7 3 8 30 42 156 11 27 4 5 44 79 25 20 49 15 28 15 3 11 4 12 23 32 28 4 65
8 7 3 2 5 5 5 2 4 5 3 8 6 24 36 1 1 5 4 9 23 15 19 20 17 23 11 3 7 4 4 22 35 32 3 65
21 27 4 5 13 21 13 11 8 18 7 10 54 65 206 16 33 8 14 61 91 39 31 70 20 39 22 29 27 8 28 43 51 52 9 76
9 11 3 4 11 9 7 4 4 5 4 10 6 24 72 4 4 5 8 9 49 28 27 26 18 31 16 3 8 9 4 28 45 50 6 72
10.63 18.17 3.27 4 9.07 15.83 8.63 5.6 6.27 12.1 4.73 8.8 42.67 54.1 180 13.77 31.03 5.67 9.77 53.67 86.17 32.77 26.3 58.57 17.07 33.27 19.2 16.37 20.7 5.73 20.93 34.7 41.87 44.53 5.67 71.2
8.23 8.03 3 2.8 6.33 8.87 5.23 2.37 4 5 3.23 9 6 24 44.7 2.33 2.07 5 4.87 9 29.77 20.47 22.6 21.13 17.7 26.13 12.9 3 7.63 7 4 25.5 40.73 42.1 4.73 68.37
– 8 4 5 7 – – – 5 8 5 12 8 24 59 – – – – 13 37 – – – – – – – 8 – – – – – – –
vertex width. Duarte et al. [7] have obtained results of vertex separation for some Harwell-Boeing instances using variable neighbourhood search which are given in the last column “UB” of Table 12. Z-test has been used to test for the significance in the difference in mean vertex width between MAVBMP and MAVBMPR at 5% level of significance. The hypothesis thus tested for each graph instance is as follows: Hypothesis: There is no difference in the mean vertex width for MAVBMP and MAVBMPR. The Null hypothesis was rejected except for can73. Hence, for almost all the graphs, there is a significant difference between MAVBMP and MAVBMPR. It is also clear from Table 12 that for majority of graphs least vertex width is obtained
784
P. Jain et al. / Information Sciences 369 (2016) 765–787 Table 13 Comparison of results between AMAGP and MAVBMP for Small graphs. Graphs
p17_16_24 p18_16_21 p19_16_19 p20_16_18 p21_17_20 p23_17_23 p24_17_29 p32_18_20 p34_18_21 p36_18_20 p40_18_32 p44_19_25 p46_19_20 p49_19_22 p52_20_27 p53_20_22 p54_20_28 p57_20_24 p94_24_31 p95_24_27 p97_24_26 p98_24_29 p100_24_34
AMAGP
MAVBMP
VW
Time (s)
VW
Time (s)
3 2 2 2 2 2 3 2 2 2 4 3 2 2 4 2 3 2 3 2 2 2 3
13.19 11.22 9.45 7.09 11.96 11.5 13.47 10.63 9.81 9.98 14.18 14 10.33 11.6 14.15 14.15 14.04 13.2 95.86 40.59 15.36 59.04 170.04
3 2 2 2 2 2 3 2 2 2 4 3 2 3 4 2 3 2 3 2 2 3 3
0.89 0.93 1.03 1.06 1.22 1.27 1.17 1.26 1.21 1.27 1.12 1.25 1.31 1.28 1.35 1.4 1.31 1.24 1.78 1.92 1.82 1.74 1.8
using MAVBMP with few exceptions. In fact, in some cases the difference between bestrand (column 4) and best (column 5) is substantially large. Worst vertex width and mean vertex width is also lower in case of MAVBMP with a few exceptions. 5.7. MAVBMP versus MAGP Before listing the vertex width obtained by the two algorithms we first specify the necessary changes which we have incorporated in our implementation of AMAGP. In the tabu operator of MAGP [10], a vertex for the non-tabu border move is selected from a subset and is considered to be placed in all the remaining subsets Vi . This vertex is moved to that subset which gives the best performance among all the moves. For VBMP since there are only two subsets B and B so a vertex is picked alternatively from the two sets so as to maintain the size of sets. Also no performance criterion is needed for moving the vertex to other set. If a non-tabu border move cannot be carried out then the process is terminated even if the maximum number of iterations in the tabu search is less than 150,0 0 0. Further, in our implementation of AMAGP, if the population converges to a solution (all the individuals in the population are same) then the process is terminated even if the number of generations in AMAGP is less than 200. We performed an experiment to compare the best result obtained with MAVBMP and AMAGP. This experiment was performed on a Dual Xeon, 6 core each machine with 24GB RAM. This experiment was conducted on Harwell-Boeing graphs, Small graphs and Hypercubes. The results obtained by MAVBMP and AMAGP for Small graphs are shown in Table 13 which lists the vertex width and time taken to achieve the results. It is clear that the vertex width attained by both the approaches is same but the time taken by MAVBMP is significantly less than that taken by AMAGP. Table 14 presents the results for Harwell-Boeing graphs. Numbers in bold indicate the least vertex width achieved by the corresponding algorithm. It is clear from the table that out of 36 graphs AMAGP obtained best result for 5 graphs and MAVBMP achieved best results for 18 graphs. For the remaining graphs, results obtained by both the approaches are same. Time taken by AMAGP is significantly larger than MAVBMP for all the graphs tested. n For hypercubes Qn , the optimal value of VW is ( ), [3] which is achieved for all the graphs tested for 2 ≤ n ≤ 10 using n/2 MAVBMP. AMAGP also achieves optimal result in most of the cases but there is a significant difference in the time taken by two algorithms (Table 15). Clearly MAVBMP runs much faster than AMAGP. 5.8. Experiments on some other classes of graphs with MAVBMP We finally simulated MAVBMP on those instances from the test suit given for which optimal results are not known in the literature. Complete Bipartite Graph Km,n was tested for 4 ≤ m ≤ 100 and 4 ≤ n ≤ 100. Results obtained for this class of graphs are listed in Table 16.
P. Jain et al. / Information Sciences 369 (2016) 765–787
785
Table 14 Comparison of results between AMAGP and MAVBMP for Harwell-Boeing Graphs. Graphs
AMAGP
arc_130 ash_85 bcspwr_1 bcspwr_02 bcspwr_03 bcsstk_22 bfw62a bfw62b can24 can61 can62 can73 can_144 can_161 can_715 cat352 cat702 curtis_54 dwt234 dwt_162 dwt_193 gent113 gre_115 gre_185 Impcol_b impcol_c Ins_131 nos_1 nos_4 Rcat554 steam03 west0132 west0156 west0167 will_57 will_199
MAVBMP
VW
Time (s)
VW
Time (s)
15 7 3 2 6 4 7 3 4 5 3 11 6 22 50 1 1 6 5 8 24 21 22 21 18 29 14 3 8 1 4 29 35 25 4 72
19,287 16,475 1210.9 3365.5 17,589 17,482 15,673 9786.6 2080.4 15,605 14,625 15,844 20,013 20,828 92,169 9559.2 39,851 14,724 17,124 20,052 23,542 17,572 17,506 21,805 15,335 18,756 17,904 19,684 16,941 16,918 16,557 18,594 19,793 20,847 14,983 22,711
8 7 3 2 5 5 5 2 4 5 3 8 6 24 36 1 1 5 4 9 23 19 20 20 17 23 11 3 7 4 4 22 35 32 4 65
4.3731 4.0212 3.38 4.5869 8.7341 8.0058 6.0166 7.0686 1.5392 4.7998 8.4081 10.447 5.051 11.772 239.13 48.086 398.66 4.984 8.5024 10.861 11.992 3.9602 8.44 14.719 6.3121 5.9094 5.1185 9.9456 6.1024 150.68 8.1966 4.6448 7.7161 9.1381 5.8937 11.435
Table 15 Comparison of results MAVBMP for Hypercubes. Graphs
between
AMAGP
Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10
AMAGP
and
MAVBMP
VW
Time(s)
VW
Time(s)
3 6 10 20 40 70 160 280
4.9662 13.634 14,817 15,613 18,276 27,813 57,034 159,430
3 6 10 20 35 70 126 252
0.33408 0.68861 2.1005 6.5462 5.3130 28.368 158.02 494.23
Table 16 Vertex width of complete bipartite graph Km,n. Graphs
VW
Graphs
VW
Graphs
VW
Graphs
VW
Graphs
VW
K4,15 K4,20 K4,30 K4,50 K4,100 K5,15 K5,20
4 4 4 4 4 5 5
K5,30 K5,50 K5,100 K6,15 K6,20 K6,30 K6,50
5 5 5 6 6 6 6
K6,100 K10,10 K10,15 K10,20 K10,30 K10,50 K10,100
6 10 10 10 10 10 10
K20,15 K20,20 K20,30 K20,50 K20,100 K50,4 K50,30
15 20 20 30 20 4 30
K50,50 K50,100 K100,4 K100,10 K100,50 K100,100
50 50 4 10 50 100
786
P. Jain et al. / Information Sciences 369 (2016) 765–787 Table 17 Vertex Width of 2-dimensional ordinary meshes Pm × Pn . Graphs
VW
Graphs
VW
Graphs
VW
Graphs
VW
Graphs
VW
P3 × P3 P3 × P4 P3 × P5 P3 × P6 P3 × P7 P3 × P8
3 3 3 3 3 3
P3 × P9 P3 × P10 P3 × P100 P4 × P4 P4 × P5 P4 × P6
3 3 3 4 4 4
P4 × P7 P4 × P8 P4 × P9 P4 × P10 P4 × P100 P5 × P5
4 4 4 4 4 5
P5 × P6 P5 × P7 P5 × P8 P5 × P9 P5 × P10 P5 × P100
5 5 5 5 5 5
P6 × P100 P7 × P100 P8 × P100 P9 × P100 P10 × P100
6 7 8 9 10
Table 18 Vertex Width of 2-dimensional toroidal meshes Cm × Cn . Graphs
VW
Graphs
VW
Graphs
VW
Graphs
VW
Graphs
VW
C3 × C3 C3 × C4 C3 × C5 C3 × C6 C3 × C7 C3 × C8
4 5 5 6 6 6
C3 × C9 C3 × C10 C3 × C100 C4 × C4 C4 × C5 C4 × C6
6 6 6 6 7 7
C4 × C7 C4 × C8 C4 × C9 C4 × C10 C4 × C100 C5 × C5
8 8 8 8 8 8
C5 × C6 C5 × C7 C5 × C8 C5 × C9 C5 × C10 C5 × C100
9 9 10 10 10 10
C6 × C100 C7 × C100 C8 × C100 C9 × C100 C10 × C100
12 14 16 18 20
Table 19 Vertex Width of 3-dimensional toroidal meshes Cm × Cn × Cp . Graphs
VW
Graphs
VW
Graphs
VW
Graphs
VW
C3 × C3 × C3 C3 × C3 × C4 C3 × C3 × C5 C3 × C4 × C4 C3 × C4 × C5
11 14 15 16 19
C3 × C4 × C10 C3 × C5 × C5 C3 × C5 × C10 C4 × C4 × C4 C4 × C4 × C5
24 23 30 20 24
C4 × C4 × C10 C4 × C5 × C5 C4 × C5 × C10 C4 × C10 × C10 C5 × C5 × C5
31 29 39 68 35
C5 × C5 × C10 C5 × C10 × C10 C10 × C10 × C10
48 84 144
Table 20 Vertex Width of Complete Split Graph Km ∇ Kn . Graphs
VW
Graphs
VW
Graphs
VW
Graphs
VW
Graphs
VW
K4 ∇ K15 K4 ∇ K20 K4 ∇ K30 K4 ∇ K50 K4 ∇ K100 K5 ∇ K15 K5 ∇ K20
4 4 4 4 4 5 5
K5 ∇ K30 K5 ∇ K50 K5 ∇ K100 K6 ∇ K15 K6 ∇ K20 K6 ∇ K30 K6 ∇ K50
5 5 5 6 6 6 6
K6 ∇ K100 K10 ∇ K10 K10 ∇ K15 K10 ∇ K20 K10 ∇ K30 K10 ∇ K50 K10 ∇ K100
6 10 10 10 10 10 10
K20 ∇ K20 K20 ∇ K30 K20 ∇ K50 K20 ∇ K100 K50 ∇ K4 K50 ∇ K30 K50 ∇ K50
20 20 30 20 27 40 50
K50 ∇ K100 K100 ∇ K4 K100 ∇ K10 K100 ∇ K50 K100 ∇ K100
50 52 55 75 100
2-dimensional ordinary meshes Pm × Pn was tested for 3 ≤ m ≤ 10 and 3 ≤ n ≤ 100. Results obtained for this class of graphs are listed in Table 17. 2-dimensional toroidal meshes Cm × Cn was tested for 3 ≤ m ≤ 10 and 3 ≤ n ≤ 100. Results obtained for this class of graphs are listed in Table 18. On the basis of above experiment we conjecture the following results:
V B(Cm × Cn ) =
2m − 2 2m − 1 2m
if n = m i f m < n < 2m i f n > 2m
3-dimensional toroidal meshes Cm × Cn × Cp was tested for 3 ≤ m ≤ 10, 3 ≤ n ≤ 10 and 3 ≤ p ≤ 10. Results obtained for this class of graphs are listed in Table 19. Complete Split Graph Km ∇ K¯n was tested for 4 ≤ m ≤ 100 and 4 ≤ n ≤ 100. Results obtained for this class of graphs are listed in Table 20. Join of hypercubes Qm + Qn was tested for 3 ≤ m ≤ 10 and 3 ≤ n ≤ 10. Results obtained for this class of graphs are listed in Table 21. On the basis of above experiments, we conjecture the following result:
V W ( Qn + Qn ) = 2n
P. Jain et al. / Information Sciences 369 (2016) 765–787
787
Table 21 Vertex width of Join of hypercubes (Qm + Qn ). Graphs
VW
Graphs
VW
Graphs
VW
Graphs
VW
Graphs
VW
Q3 + Q3 Q3 + Q4 Q3 + Q5 Q3 + Q6 Q4 + Q4
8 12 18 28 16
Q4 + Q5 Q4 + Q6 Q5 + Q5 Q5 + Q6 Q6 + Q6
23 33 32 45 64
Q6 + Q7 Q6 + Q8 Q6 + Q9 Q6 + Q10 Q7 + Q7
88 123 193 319 128
Q7 + Q8 Q7 + Q9 Q7 + Q10 Q8 + Q8 Q8 + Q9
175 245 371 256 343
Q8 + Q10 Q9 + Q9 Q9 + Q10 Q10 + Q10
471 512 682 1024
6. Conclusions In this paper, a memetic algorithm for vertex bisection minimization problem has been designed. Problem specific construction heuristics and a local improvement operator are important features of MAVBMP as they are useful in generating a good initial population and improving the solution respectively. These have been designed and experimented with in this work. A new crossover type search operator also has been designed which is helpful in maintaining the diversity among solutions in the population. MAVBMP is able to obtain optimal results for hypercubes for which optimal results are known. An experiment has been performed to compare the proposed memetic algorithm with a memetic algorithm in which the initial population consists of randomly generated solutions (MAVBMPR) and AMAGP (an adapted version of MAGP which is a memetic algorithm for GPP). Further on comparison with AMAGP, the superior performance of MAVBMP gets highlighted. MAVBMP performs order of magnitude faster than AMAGP. It is observed that MAVBMP performs statistically better than MAVBMPR. Trends observed in the experimental results with MAVBMP have led us to obtain conjectures for vertex width of some classes of graphs. Acknowledgement We thank the anonymous referees for their valuable comments that helped us to considerably improve the quality of this paper. The first author also acknowledges UGC, INDIA for MANF fellowship [MANF-2014- 15-JAI-UTT-38830]. References [1] R. Bansal, K. Srivastava, A memetic algorithm for the cyclic antibandwidth maximization problem, soft computing – a fusion of foundations, Method. Appl. 5 (2011) 397–512. [2] C.E. Bichot, A metaheuristic based on fission and fusion for partitioning problems, 20th International Parallel and Distributed Processing Symposium, 2006, doi:10.1109/IPDPS.2006.1639518. [3] U. Brandes, D. Fleischer, Vertex bisection is hard, too, J. Graph Algorithms Appl. 13 (2009) 119–131. [4] H. Bruce, L. Roland, A multilevel algorithm for partitioning graph, ACM/IEEE Conf. on Supercomputing, 1995 Article 28, doi=http://dx.doi.org/10.1145/ 224170.224228. [5] T.N. Bui, B.R. Moon, Genetic algorithm and graph partitioning, IEEE Trans. Comput. 45 (1996) 841–855. [6] J. Diaz, J. Petit, M. Serna, A survey of graph layout problems, ACM Comput. Surv. 34 (2002) 313–356. [7] A. Duarte, L.F. Escudero, R. Marti, N. Mladenovic, J.J. Pantrigo, J.S. Oro, Variable neighborhood search for the vertex separation problem, Comput. Oper. Res. 39 (2012) 3247–3255. [8] C. Fiduccia, R. Mattheyses, A linear time heuristics for improving network partitions, in: Proc. 19th ACMI/IEEE Design Automation Conf., 1982, pp. 175–181. [9] H. Fraire, J.D.T. Villanueva, N.C. Garcia, J.J.G. Barbosa, E.R.D. Angel, Y.G. Rojas, Exact methods for the vertex bisection problem, Recent Adv. Hybrid Approaches Des. Intelligent Syst. Stud. Comput. Intell. 547 (2014) 567–577. [10] P. Galinier, Z. Boujbel, M.C. Fernandes, An efficient memetic algorithm for graph partitioning problem, Ann. Oper. Res. 191 (2011) 1–22. [11] D.F. Groebner, P.W. Shannon, Business Statistics a Decision-Making Approach, third ed., Macmillan Publishing Company, New York, 1981. [12] P. Jain, G. Saran, K. Srivastava, A new integer linear programming and quadratically constrained quadratic programming formulation for vertex bisection minimization problem, J. Autom. Mobile Rob. Intell. Syst. 10 (2016) 69–73. [13] P. Jain, G. Saran, K. Srivastava, Branch and bound algorithm for vertex bisection minimization problem, in: R.K. Choudhary, J.K. Mandal, N. Auluck, H.A. Nagarajaram (Eds.), Proc. Advanced Computing and Communication Technologies in Series Advances in Intelligent Systems and Computing, 452, Springer, Singapore, 2016, pp. 17–23. [14] D.S. Johnson, C. Aragon, L. McGeoch, C. Schevon, Optimization by simulated annealing: an experimental evaluation, part 1, graph partitioning, Oper. Res. 37 (1989) 865–892. [15] A. Jose, A general ant colony model to solve combinatorial optimization problems, Revista Colombiana de Comptacion 2 (2001) 7–18. [16] B. Kernighan, S. Lin, An efficient heuristic procedure for partitioning graphs, Bell Syst. Tech. J. 49 (1970) 291–307. [17] P. Moscato, On Evolution, Search, Optimization, Genetic Algorithms and Material Arts: Towards Memetic Algorithms, Caltech Concurrent Computation Program, C3P Report 826, 1989. [18] P. Moscato, C. Cotta, Memetic algorithm, in: T.F. Gonzalez (Ed.), Handbook of Approximation Algorithms and Metaheuristics, Chapman & Hall/CRC, 2007, pp. 27.1–27.12. [19] P. Sanders, C. Schulz, in: High Quality Graph Partitioning, Graph Partitioning and Graph Clustering, 2012, pp. 1–8. [20] R. Shang, J. Wang, L. Jiao, Y. Wang, An improved decomposition-based memetic algorithm for multi-objective capacitated arc routing problem, Appl. Soft Comput. 19 (2014) 343–361. [21] S.J. Sadjadi, R. Soltani, A. Eskandarpour, Location based treatment activities for end of life products network design under uncertainty by a robust multi-objective memetic-based heuristic approach, Appl. Soft Comput. 23 (2014) 215–226. [22] S. Yang, K. Cheng, M. Wang, D. Xie, L. Jiao, High resolution range-reflectivity estimation of radar targets via compressive sampling and memetic algorithm, Inf. Sci. 252 (2013) 144–156. [23] Z. Zhu, J. Xiao, S. He, Z. Ji, Y. Sun, A multi-objective memetic algorithm based on locality-sensitive hashing for one-to-many-to-one dynamic pickup-and-delivery problem, Inf. Sci. 329 (2016) 73–89.