Solving the unsupervised graph partitioning problem with genetic algorithms: Classical and new encoding representations

Solving the unsupervised graph partitioning problem with genetic algorithms: Classical and new encoding representations

Computers & Industrial Engineering 137 (2019) 106025 Contents lists available at ScienceDirect Computers & Industrial Engineering journal homepage: ...

3MB Sizes 0 Downloads 17 Views

Computers & Industrial Engineering 137 (2019) 106025

Contents lists available at ScienceDirect

Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie

Solving the unsupervised graph partitioning problem with genetic algorithms: Classical and new encoding representations Ali Chaouchea,b, Menouar Boulifb, a b

T



LIMOSE Laboratory, Algeria Department of Computer Science, University Mhamed Bougara of Boumerdes, Avenue de l’independance, 35000 Boumerdes, Algeria

ARTICLE INFO

ABSTRACT

Keywords: Graph partitioning K-way partition Genetic algorithm Encoding representation P-median

The Graph Partitioning Problem (GPP) is one of the most ubiquitous models that operations research practitioners encounter. Therefore, several methods have been proposed to solve it. Among these methods, Genetic Algorithm (GA) appears to carry very promising performances. However, despite the huge number of papers being published with this approach, only few of them deal with the encoding representation and its role in the reported performances. In this paper, we present classical and new encoding representations for the unsupervised graph partitioning problem. That is, we suppose that the number of partition subsets (clusters) is not known apriori. Next, we conduct an empiric comparison to identify the most promising encodings.

1. Introduction Graph partitioning is a frequent model we use in approaching real-life problems. It has been successfully applied to different areas of research such as data mining (Ding, He, Zha, Gu, & Simon, 2001), parallel computing (Andreev & Räcke, 2004), VLSI design (Karypis, Aggarwal, Kumar, & Shekhar, 1999), power network design (Li, Liu, & Schneider, 2010), Scalable Community Detection (Que, Checconi, Petrini, & Gunnels, 2015), cellular manufacturing (Boulif & Atif, 2006), air traffic control (Bichot, 2006), biology (Buluç, Meyerhenke, Safro, Sanders, & Schulz, 2016), etc. This widespread presence comes from the fact that for making good decisions, we have to classify and that is what partitioning is intended to do. The objective of the graph partitioning problem (GPP) is to divide the vertex set of a given graph into smaller subsets so as to optimise the overall relationship between these sub-groups. When researchers deal with graph partitioning, they are not actually talking about the same thing. Indeed, GPP has many variants that are derived from the consideration of different constraints and/or objectives. Among GPP’s variants, we have the k-way graph partitioning that divides, for a given integer k, the graph into k vertex subsets of limited size so as to minimise the weight sum of the inter-subset edges (Bui & Moon, 1996). The balanced k-way GPP imposes that the obtained subsets must have an almost equal size (Andreev & Räcke, 2004). The maximal bi-connected partitioning, adds a constraint on each created subset that must induce a bi-connected subgraph (Jovanovic, Nishi, & Voß, 2017). For community



detection approaches, the objective is to maximise the quality of partition which is often measured with the modularity metric (Que et al., 2015). In our approach we consider the unsupervised k-way GPP variant. That is, the graph has to be partitioned with no knowledge of the number of subsets of the sought solution and hence, the solving method has to prospect a much huger search space. Furthermore, as we will see later, our approach deals with encoding representation which is applicable to graph partitioning no matter what the GPP variant is. Being proven to be NP-complete (Hartmanis, 1982) and with the advent of broader areas of application requiring to deal with graphs that have big orders and sizes, GPP becomes more and more important and challenging. Therefore, exact solving approaches are not the first concern for researchers. This has disseminated research works that use meta-heuristics to get good solutions in a reasonable amount of time. Among these metaheuristics, Genetic Algorithms (GA) are very popular (Goldberg, 1989). GAs explore the search space by using the Darwinian principles of natural selection. Due to their success in solving a wide variety of problems, several researchers have applied GA on GPP. However, only a very few number of papers tackles the effects of the encoding representation on the performance (Boulif, 2010). Indeed, it can be stated that a good encoding representation leads to a better exploration of the search space, providing by consequence high quality solutions (Rothlauf, 2006). In this paper, we conduct an empirical study to examine the effect of the representation in the GPP optimisation. In order to do so, we survey

Corresponding author. E-mail address: [email protected] (M. Boulif).

https://doi.org/10.1016/j.cie.2019.106025 Received 29 May 2018; Received in revised form 10 August 2019; Accepted 27 August 2019 Available online 05 September 2019 0360-8352/ © 2019 Elsevier Ltd. All rights reserved.

Computers & Industrial Engineering 137 (2019) 106025

A. Chaouche and M. Boulif

existing and propose new GA encoding representations for the unsupervised GPP. Therefore, when we present an existing representation that supposes a fixed number of clusters, we adapt it to comply with the unsupervised GPP requirement. In our approach, we seek for the performances that originate from the encoding itself, with no help from any specifically tailored operator. Therefore, we use simple genetic components such as random initial population, fixed population length, one point crossover, simple mutation, etc. The conducted investigation reveals that the most used encoding representation in the literature has one of the weakest performances. In addition, it shows that one of our enhanced representations gives promising results. The rest of this paper is organised as follows: In Section 2, we formally introduce the unsupervised graph partitioning problem. Then, in Section 3, we describe the GA principles. The next section surveys existing encoding schemes and proposes new ones. Section 5 presents a comparison of the studied encoding representations. We conclude the paper by a conclusion that draws future work for possible improvements.

then

Introduced by Holland (1975), Genetic Algorithms have acquired a good reputation, especially after their vulgarisation by Goldberg (1989). GAs represent one of the general purpose optimisation procedures that imitate natural processes governing natural species evolution. In order to apply the GA, defining an encoding scheme representation for the solutions is a necessity. By using this encoding representation, an initial population is generated either randomly or with a specific heuristic. Then, in accordance with the evolution principle, the members of the population are selected according to their fitness. The fitness is a value associated with each member in order to measure how it copes with the objective function optimisation and the constraint satisfaction. Hence, individuals with higher fitnesses are more likely to survive. After that, the selected individuals produce a new population by using genetic operators. The operation is repeated until a certain criterion is reached. The following classical pseudo-code rephrases the GA procedure.

The graph partitioning problem has several facets. One of the most used is the unsupervised K-way partitioning that can be defined as follows: let be an undirected graph, where V = {v1, v2, …, v V } represents the set of vertices (i.e. nodes) and E a set of unordered vertex pairs called edges. Each edge e E is associated with a non-negative weight denoted (e ) . The graph partitioning problem searches for a partition P = {C1, C2, …, C P } of V in P disjoint and non empty subsets (clusters) {1, …, V } . That is, of vertices, where P

{1, 2, …, P }, i

P i = 1 Ci

i

j : Ci

Algorithm 1: Genetic Algorithm

t 0 initialise population P (t ) evaluate P (t ) loop select P (t ) from P (t ) alter P (t ) P (t + 1) P (t ) evaluate P (t + 1) t t+1 Until(termination-condition)

(1)

Cj =

(2)

=V

(3)

{1, 2, …, P }: Ci

As we highlighted earlier, applying GA requires defining an encoding representation.

In order to be accepted, a partition must satisfy the following constraints:

• Cluster size constraint: given an integer N denoting the maximum

4. Encoding representation

number of vertices allowed in each cluster, the following inequality must hold:

i

{1, 2, …, P }: Ci

4.1. Direct vertex-to-cluster (DVTC)

(4)

N

(e ) is minimal for P = P .

3. Genetic algorithm

2. Description of the graph partitioning problem

i, j

e EP

This is the most used encoding representation due to its straightforwardness. It was firstly used by Venugopal and Narendran (1992) to solve the machine-component grouping problem. Later on, it has been

• Cohabitation constraints: let X be the set of vertex couples that must cohabit (the vertices of each couple must be in the same cluster). That is,

(v k , v l ) X , k , l vk , vl Ci

{1, 2, …, V },

Ci

P, i

{1, …, P }: (5)

• Non cohabitation constraints: let Y be the set of vertex couples that must not cohabit (the vertices of each couple must be in different clusters). That is,

(v k , v l )

Y , k, l

{1, …, P }, i

j : vk

{1, 2, …, V }, Ci and vl

Ci, Cj

P, i, j (6)

Cj

From all such partitions, we search for the partition P that minimises the sum of inter-cluster edge weights. That is, if EP E is defined as follows:

EP = {(vi , vj )/(vi, vj ) k

l: vi

E and

Ck and vj

Cl}

Ck, Cl

P,

Fig. 1. A graph partition example with three clusters and its representative chain: a) A graph partition example, b) the associated encoding.

(7) 2

Computers & Industrial Engineering 137 (2019) 106025

A. Chaouche and M. Boulif

adopted by the majority of works that use an evolutionary approach. The principle is as follow (see Section 2 for the notations): a chain of length V is used, where each allele represents a vertex of the graph, and indicates the host cluster. Fig. 1 shows an example for this encoding scheme. In Fig. 1a, we have a graph with a three-clusters partition. To represent it, we use a chromosome (Fig. 1b) with six alleles (the order of the graph). Each allele indicates the cluster to which the associated vertex is assigned. Hence, the first cluster C1 contains the first and the second vertices. The cluster C2 has the vertices v3, v4 and v5 , and the last cluster C3 hosts the vertex v6 .

4.4. Vertex assignment encoding (VAE) This encoding scheme is derived from the representation proposed by Wicks and Reasor (1999) to solve the dynamic manufacturing cell formation problem. The version proposed in this paper is slightly different as it doesn’t allow vertices to be in more than one cluster. Furthermore, in order to address the unsupervised case, it uses a chain of V parts of length V . Alleles of the chain are either 0 or 1. The value of the allele corresponds to the presence or not of the vertex in the cluster. In addition, we lexicographically sort the parts of the chain in order to lessen redundancy. The example below illustrates this procedure by representing the partition of Fig. 1 (chain parts with only zeros are not represented).

4.2. Shifted direct vertex-to-cluster encoding (SVTC) The shifted direct vertex-to-cluster encoding is similar to DVTC by the fact that it uses a chain of length V where each allele corresponds to a vertex and its value represents the host cluster number. However, DVTC can yield different chains that represent the same solution (Boulif, 2010). For example, the following different chains represent the solution of Fig. 1.

Indeed, in cluster 1, the alleles corresponding to vertices v1 and v2 have the value 1 which means they are assigned to the first cluster. Similarly, vertices v3, v4, v5 belong to cluster 2. Finally, cluster 3 contains only one vertex, i.e. v6 . Remark that the parts are lexicographically

sorted. That is, according to whose part has the most left nonzero allele.

In order to avoid this redundancy, SVTC defines the cluster labels according to the vertex indices. That is, the label of the cluster that contains the vertex v1 is set to 1, and then, the label of the cluster that contains the first vertex that is not with v2 is set to 2, and so on. Using this labelling procedure yields the following unique chain:

4.5. Edge assignment encoding (EA) This encoding scheme is proposed by Boulif and Atif (2006) to solve the machine cell formation problem. Instead of vertices, this encoding uses edges to represent the solutions. Its principle is based on the use of a chain of length E , where each allele is either zero or one. Zero alleles are intra-cluster (their two extremities are in the same cluster) edges and nonzero alleles are (generally) inter-cluster edges (their two extremities are not in the same cluster). Therefore, the partition of Fig. 1 is encoded as follows:

4.3. Fractional vertex-to-cluster encoding (FVTC) In this encoding scheme (Gonçalves & Resende, 2002), a chromo-

Clusters are then given by the connected components formed by intra-cluster edges. Thus, the chain above has the first, the sixth and the eighth edges set to zero. e1 generates the first cluster C1 = {v1, v2} . The edges e6, e8 generate the second cluster C2 = {v3, v4 , v5} . Finally, the remaining vertex yields the last cluster C3 = {v6} .

some is composed of V + 1 fractional values. The first V alleles are reserved to the vertices and the last one is used to determine the number of clusters. By assuming that we have a given maximum number of clusters (for the unsupervised approach, this number is set to V ), the following decoding process is used: the last allele is combined with this maximum value to yield the overall number of clusters. Then, this obtained value is combined with each allele to get the host cluster. For example, the previous six-vertices solution (see Fig. 1) can be encoded with the following chain.

By assuming that the maximum number of cluster is 4, the first step combines this value with the last allele to determine the number of clusters. That is, 4 × 0.59 = 3 clusters, where . is the ceiling function. Then, v1 is assigned to cluster 3 × 0.32 = 1, v2 to 3 × 0.23 = 1, v3 to 3 × 0.47 = 2 and so on (Boulif, 2010). Fig. 2. A solution instance with its constructor cuts. 3

Computers & Industrial Engineering 137 (2019) 106025

A. Chaouche and M. Boulif

Remark 1. The authors assume that the graph is connected. If it is not, they connect it by adding fictive edges with null weights (Boulif & Atif, 2006).

scalability. In fact, since the IC encoding uses a sorted chain of integers that have an exponential magnitude, instead of representing the numbers themselves, we can use the gap between these numbers. A solution is represented by a chain of length K (the number of constructor cuts), where the first allele is the direct integer representation of the first constructor cut. The remaining constructor cuts are given by summing the current allele with all the preceding values in the chain. For example, if K = 2, in the following chain:

4.6. Direct cut encoding (DC) This encoding scheme is proposed by (Boulif, 2016) and is based on graph cuts. Representing solutions using this encoding is given as follows. A partition of a connected graph (see Remark 1) can be obtained by the sum of cuts (a cut w is a subset of edges that can be associated with a subset of vertices S for which w contains exclusively all the edges that have exactly one endpoint in S) by using the Boolean operator OR. For example, for the graph of Fig. 1, we can define two cuts w1 = (0, 1, 1, 1, 1, 0, 0, 0, 0) , w2 = (0, 1, 0, 1, 1, 0, 1, 0, 1) , as depicted in Fig. 2. By using a bitwise disjunction operator, the sum of w1 and w2 yields w1 OR w2 = (0, 1, 1, 1, 1, 0, 1, 0, 1) which is the edge assignment encoding of the partition of Fig. 1. However, instead of using the edge representation of cuts, the author uses a vertex based representation in order to avoid frequent use of genetic repair operator (Boulif, 2016). That is done by getting the cuts associated with the singletons of the 1) vertices. These singletons with the XOR operator enable first ( V generating every cut of the graph (Merchichi & Boulif, 2015). The following example gives more explanation to this procedure. By considering the graph of Fig. 2, if we choose the singletons w {v1}, {v2}, {v3}, {v4}, {v5} , their associated cuts ({v1}) = (0, 0, 0, 0, 0, 0, 1, 1, 1) , w ({v2}) = (0, 0, 0, 0, 1, 1, 0, 0, 1) , w ({v3}) = (0, 0, 1, 1, 0, 1, 0, 0, 0) , w ({v4 }) = (0, 1, 0, 1, 0, 0, 0, 0, 0) and w ({v5}) = (1, 1, 0, 0, 1, 0, 0, 1, 0) define a cut base. Any cut has a unique representation as a XOR sum of basic cuts. For example, w1 = w ({v1}) XOR w ({v2}) , and w2 = w ({v3}) XOR w ({v4}) XOR w ({v5}) . To represent a solution, the author uses a chain of K parts of length V 1 binary alleles, where K represent the number of cuts obtained by V 1 (N is the maximum cluster size). For example, by supposing N K = 2 , the solution of Fig. 2 would be encoded by the following chain:

the first allele is the encoding of the first constructor cut. Then, the second constructor cut is obtained by summing 25 + 3 = 28. This yields the chain:

which is the direct cut encoding of the partition of Fig. 2 (see Section 4.7). Remark: When summing the preceding alleles, if we obtain a value greater than (2( V 1) 1) , the rest of the chain starting from the current allele is set to zero. 4.9. P-median encoding The P-median model was proposed by Hakimi (1964), Hakimi (1965). It consists of locating p facilities to minimise the demand weighted average distance between demand nodes and the nearest of the selected facilities. Lorena and Furtado (2001) have used this model to propose a constructive genetic algorithm for clustering problems. They use a binary string of length V , where each allele indicates whether the associated vertex is a median or not (1 corresponds to a median vertex, and 0 to a non median). In addition, the authors define a distance between all pairs of vertices and they suppose that the number of clusters is known. In our approach, the number of clusters is to be determined. Furthermore, the graph is not necessarily complete and therefore, by using the same encoding, we can have non-median vertices with no edge to any median. To manage this situation, we propose the following assignment procedures. Before applying these procedures, we add fictive edges with null weights in order to connect the graph (if it isn’t connected) and to link every cohabiting vertex couples (if they are not already connected).

The first part of this chain generates the cut: w1 = w ({v1}) XOR w ({v2}) = (0, 0, 0, 0, 1, 1, 1, 1, 0) , whereas the second gives: w2 = w ({v3}) XOR w ({v4}) XOR w ({v5}) = (1, 0, 1, 0, 1, 1, 0, 1, 0) which are the two constructor cuts of the partition of Fig. 2. These two cuts construct the solution by the OR operator as explained above.

4.9.1. P-median edge based encoding (PMEB) The Edge Based assignment procedure is divided into two steps. The first one consists of assigning non median vertices that have direct links to medians. These non medians are assigned to the median with which they have the maximum edge weight. The second step consists of assigning the remaining non medians as follows: for each non median, we calculate the sum of all weights of the edges that link it to each cluster created in step 1. Then, we assign the non median to the cluster having the maximum of the so calculated sums. The pseudo code below rephrases this assignment procedure by using the following notation in addition to that of the graph partitioning model (see Section 2).

4.7. Integer cut encoding (IC) Based on the previous direct cut encoding, (Boulif, 2016) proposes to represent each part of the direct cut encoding by integer numbers. In this integer cut encoding (IC) the author uses a sorted chain of length K of natural numbers in [0, (2 ( V 1) 1)] to represent the solutions. The conversion of these natural numbers to binary base yields a direct cut encoding. For example, in the following two-allele chain:

• f : equal to (e ) if e E , zero otherwise. f •f = M: The set of medians. • • NM: The set of non medians. ij

ij

The allele 3 gives the binary pattern 00011 whereas 28 gives 11100 . These binary patterns yield the following direct cut encoding chain:

ik

ij

vj Ck ij

Algorithm 2: P-median Edge based assignment Step1: For each vi M , i = 1, M create a cluster Ci = {vi} . Step2: Assign each non median vertex vi to the clusters Ck with which it has an edge linking it to a median vj that maximises fij .

4.8. Cut gap encoding (CGE)

Step3: Assign each non median vertex vi not assigned in Step2 to the cluster Ck that

In this paragraph, we propose a new encoding scheme derived from the previous integer cut encoding in order to lessen its lack of

maximises fik .

4

Computers & Industrial Engineering 137 (2019) 106025

A. Chaouche and M. Boulif

Algorithm 3: P-median constraint aware assignment algorithm Step1: For each vi M , i = 1, M create a cluster Ci = {vi} . Step2: Proceed with this assignment if possible: allocate each non median vertex vi to the clusters Ck with which it has an edge linking it to a median vj that maximises

fij without violating any constraint. Otherwise, go to step5.

Step3: Assign each remaining non median vertex vi to the first cluster Ck (if any) without violating any constraint. Step4: If all the non medians have been assigned, the algorithm ends. Step5: Assign the remaining non median vertices to the last cluster (which gives an infeasible solution).

In the example of Fig. 4, if we assume that v5 and v6 must not cohabit and that the maximum cluster size equals 3, step1 creates the set of preliminary clusters P = {{v1}, {v5}} . Then, step2 assigns v2 to the first cluster because ((v2, v1)) > ((v2, v5)) (hence, P = {{v1, v2}, {v5}} ). By the same way, the non median v4 is assigned to C2 because it is linked to only one median. The same step allocates v6 to C1 although ((v6, v5)) > ((v6, v1)) because its assignment to C2 will violate the non cohabitation constraint. Afterwards, step3 does not assign v3 to C1 because it is saturated but to C2 even if it has no edge that links it to any of C2 ’s vertices. Therefore, the final partition is P = {{v1, v2, v6}, {v5, v4 , v3}} .

Fig. 3. PMEB encoding: a) A graph partition example and ... b) its PMEB representation.

Fig. 3 depicts an example of an PMEB encoding. In this example, the chain indicates that the set of medians is M = {v2, v4} . Therefore, step1 creates the set of preliminary clusters P = {{v2}, {v4}} . After that, step2 assigns v1 to C1 because it has only one link to a median (hence, P = {{v2, v1}, {v4}} ). Then, it assigns v3 to C2 because ((v3, v2 )) < ((v3, v4 )) (hence, P = {{v2, v1}, {v4, v3}} ). Then, the same step assigns v5 to C2 (hence, P = {{v2, v1}, {v4, v3, v5}} ). Afterwards, step3 handles the remaining non median v6 because it has not a direct link to a median. It assigns it to C2 because f6,2 = ((v6, v5)) + ((v6, v3)) > f6,1 = ((v6, v1)) yielding P = {{v2, v1}, {v4, v3, v5, v6}} .

5. Towards a theoretical analysis Getting a theoretical understanding of how an encoding representation behaves in front of a given problem is an interesting subject of investigation. We can pave the way towards it by studying the features of each encoding representation such as deception, linkage, redundancy, scaling (Rothlauf, 2006), blindness (Boulif, 2010), etc. However, besides to not being our first concern in this paper, this aim will make the size of the paper very excessive. Therefore, instead of doing that, we highlight only two straightforward aspects we need to refer to when we will be justifying the results of our empirical approach: the type of decision variables each representation hides, and its ability to directly cope with constraint handling. Regarding the first aspect, we can say that the first four encodings, namely DVTC, SVTC, FVTC and VAE, achieve vertex assignments to construct a solution. The next four encodings (i.e. EA, DC, IC and GC) solutions are constructed over the vertex linkage instead. Indeed, in the edge assignment representation, the allele value decides if the vertices of the associated edge are gathered or separated. Cut based encoding are doing the same type of decisions since picking a constructor cocycle will set to one a bunch of edges at the same time. P-median based encodings are rather hybrid, since they start by assigning some vertices (medians) without any linkage information. Then, the rest of vertices

4.9.2. P-median constraint aware (PMCA) In this constraint aware procedure, the assignment principle is similar to the previous except that it cares for the non violation of the constraints (see Eqs. (4)–(6)). The following algorithm describes the steps for achieving this kind of assignment by using the same notations (see Section 4.9.1 above).

Table 1 Classification of the encoding representations. Vertex based

Edges based

Hybrid

Direct vertex-to-cluster Shifted DVTC Fractional vertex-to-cluster Vertex assignment

Edge assignment Direct cut Integer cut Cut gap

Edge based P-median Constraint-aware P-median

Table 2 Parameter values. Parameters

r 1 (elitism) r2 (regeneration) r3 (mutation) Population size Max. number of generations without improvement

Fig. 4. PMCA encoding: a) A graph partition example and ... b) its PMCA representation. 5

Values 10 10 2 100 30

6

et et et et et et et et et et et et et et et et et et

al., al., al., al., al., al., al., al., al., al., al., al., al., al., al., al., al., al.,

2016) 2016) 2016) 2016) 2016) 2016) 2016) 2016) 2016) 2016) 2016) 2016) 2016) 2016) 2016) 2016) 2016) 2016)

flat300_26_0.col flat300_28_0.col school1_nsh.col school1.col Bcsstk06 FFT6 le450_5d.col le450_15a.col le450_15b.col le450_15c.col le450_25c.col le450_25d.col G500.04 DSJC500.1 DSJR500.1c SE9 latin_square_10.col G1000.02

300 300 352 385 420 448 450 450 450 450 450 450 500 500 500 512 900 1000

21633 21695 14612 19095 3720 768 9757 8168 8169 16680 17343 17425 2355 12458 121275 766 307350 10107

1980 3891 190 2596 1135 3328 4147 5180 613 3218 15668 27897 14849 381 6320 0.48 0.48 0.24 0.26 0.04 0.01 0.10 0.08 0.08 0.17 0.17 0.17 0.02 0.10 0.97 0.01 0.76 0.02

0.27 0.50 0.02 0.25 0.10 0.23 0.22 0.21 0.02 0.10 0.50 0.90 0.48 0.01 0.19 21633 21695 14612 19095 3720 768 9757 8168 8169 16680 17343 17425 2355 12458 121275 766 307350 10107

1980 3891 190 2596 1135 3328 4166 5180 613 3218 15668 27897 14849 381 6320

(David (David (David (David (David (David (David (David (David (David (David (David (David (David (David (David (David (David

121 125 128 144 153 169 196 225 250 250 250 250 250 256 256

28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

Queen11_11 DSJC125.5 SE7 Queen12_12 Bcsstk05 Queen13_13 Queen14_14 Queen15_15 G250.04 DSJC250.1 DSJC250.5 DSJC250.9 R250.5.col Queen16_16 SE8

0.36 0.33 0.33 0.23 0.52 0.13 0.10 0.46 0.40 0.11 0.30 0.30

(Walshaw, 2016) (David et al., 2016) (David et al., 2016) (Walshaw, 2016) (David et al., 2016) (Walshaw, 2016) (Walshaw, 2016) (Walshaw, 2016) (David et al., 2016) (David et al., 2016) (David et al., 2016) (David et al., 2016) (David et al., 2016) (Walshaw, 2016) (David et al., 2016)

10 15 22 21 55 36 45 290 476 301 1368 1470

13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

8 10 12 14 15 24 30 36 49 74 96 100

Density

10 15 102 21 184 36 45 290 476 301 1368 1470

DEBR4 C13 C8 cage_3_5 C10 BFLY Myciel4 Queen7_7 Queen8_8 Queen6_6 Queen8_12 Queen10_10

E

(David et al., 2016) (Merchichi & Boulif, 2015) (Merchichi & Boulif, 2015) (David et al., 2016) (Merchichi & Boulif, 2015) (David et al., 2016) (Walshaw, 2016) (Walshaw, 2016) (Walshaw, 2016) (Walshaw, 2016) (Walshaw, 2016) (Walshaw, 2016)

V

1 2 3 4 5 6 7 8 9 10 11 12

Tag Edge weight sum

Reference

Graph Number

Table 3 Graph instances.

50 50 50 50 60 60 50 50 50 50 50 50 80 50 50 80 100 100

16 25 25 30 50 30 35 40 30 50 50 50 50 30 40

4 5 4 5 5 8 6 12 16 12 16 20

Max cluster size

(66,67)(199,200)(121,122)(177,178) (292,293)(28,29)(299,300)(191,192) (341,342)(174,175) (23,24) (12,26)(37,46)(352,406) (131,133)(343,344) (313,314)(141,142)(330,331)(194,195) (412,413) (9,10)(176,177)(444,445) (406,407)(323,324) (193,194)(13,14)(267,268) (99,100)(150,151)(436,437) (15,16)(46,48)(79,81)(151,153) (178,179)(149,150) (237,238)(431,432)(32,33) (14,16)(57,58)(127,129)(322,324) (436,437)(707,708)(291,292) (57,58)(136,137)(451,452)(531,533)

(14,16)(46,47) (116,117)(11,12) (16,18)(25,26)(43,46)(57,59) (17,24)(45,57)(80,86) (19,23)(26,33)(96,104) (5,7)(6,10)(53,65)(59,79) (122,126)(133,146)(157,161) (26,63)(144,157)(175,183) (3,4)(114,154)(151,211)(241,244) (25,26) (125,126)(145,146) (97,98)(208,209)(22,23) (44,45)(182,183) (24,216) (76,83)(88,93)(114,121)(176,183)(231,234)

(2,5)(4,7) – (4,7)(8,9) (2,3) (6,15) (6,7) (6,8) (11,16) (6,7)(9,12) (5,7)(6,10) (36,43) (53,65)(59,79)

Cohabitation

Constraints

(13,113) (8,108) (14,114) (14,114) (5,105) (8,108) (18,118) (20,120) (143,214) (181,294) (57,58) (26,127) (13,414) (11,111) (3,103) (9,109) (7,107) (9,109) (11,111) (7,107) (2,102) (5,105) (15,115) (17,117) (1,101) (20,120) (3,103) (10,110) (2,102) (214,414) (324,424) (5,105) (11,111) (18,118) (5,105) (13,113) (126,301) (13,113) (7,107) (622,736) (681,721) (757,847) (824,931)

(8,90) (9,100) (11,121) (10,110) (19,44) (26,41) (16,97) (14,27) (16,90) (25,36) (43,103) (11,22) (16,20) (17,26) (19,33) (5,7) (6,10) (53,65) (59,79) (122,126) (133,146) (157,161) (144,183) (214,246) (3,103) (5,105) (6,106) (12,112) (16,116) (3,103) (17,117) (19,119) (114,154) (151,211) (241,246) (144,157) (175,201) (3,4)

– (3,4) (2,11) – (8,11) (5,15) (15,17) (9,11) (4,7) (6,10) (3,4) (24,32) (2,4) (8,10) (17,69) (86,93)

Non cohabitation

A. Chaouche and M. Boulif

Computers & Industrial Engineering 137 (2019) 106025

Computers & Industrial Engineering 137 (2019) 106025

A. Chaouche and M. Boulif

Fig. 5. ART of an instance representative from the (a) Small (b) Medium (c) Large class.

Fig. 6. AES of an instance representative from the (a) Small (b) Medium (c) Large class.

(non-medians) are allocated by using this inter-relationship structure. Table 1 summarises this classification. Regarding constraint handling, we can realise that for some encoding representations, constraints satisfaction is straightforward. That is, we can easily insure it when we generate the initial population and it will be automatically maintained after applying crossover. For example, cohabitation constraints are easy to insure in the edge based

representation. This is done by setting to zero the associated alleles once and for all. 6. Numerical analysis In order to fairly trial the performances of the encoding schemes, we apply to all of them the same simple GA framework. First of all, we 7

Computers & Industrial Engineering 137 (2019) 106025

A. Chaouche and M. Boulif

Fig. 7. MBF and SDBF of an instance representative from the (a) small (b) medium (c) large class.

randomly generate a population of solutions. Then, we save copies of the first r1 % best solutions in order to reinsert them in the next generation. Then, the population undergoes the roulette wheel selection operator that uses sigma scaled fitnesses (Goldberg, 1989) to generate (100 (r1 + r2))% individuals. Afterwards, we apply a simple crossover to the selected solutions to get the same amount of individuals; that is (100 (r1 + r2))% of offspring. Following that, we mutate the population thus obtained with the rate r3 %. The simple mutation we used changes only one allele of the chosen individuals. Then, the r1 % best solutions saved earlier with an amount of r2 % randomly generated new individuals and the set of offspring are gathered to form the new generation. This process is repeated until no improvement is made during a given number of generations. Constraint handling is achieved by using the adaptation transformation described in Boulif and Atif (2006). For the parameter settings, we use the values shown in Table 2. We conducted our tests by invoking each encoding thirty times on fourty five instances of different sizes (see Table 3). We used a PC with an Intel Core i5-4200U @ 1.60 GHz 2.30 GHz processor and 6 Go of RAM. We divided these instances in three classes: small (from the first to the 12th graph), medium (from the 13th to the 27th graph) and large (from the 28th to the 45th graph). From each class, we picked one representative graph to show the performances of each method. The chosen graphs are 9, 18 and 32 having 49,169 and 420 vertices respectively (in Table 3, the rows of these graphs are boldfaced). Figs. 5–7 depict the obtained results. Our performance measurement uses four metrics to compare the encoding schemes. Two of them measure the effectiveness (solution quality), whereas the two others allow comparing the efficiency (speed) (Eiben & Smith, 2015). The first metric is the Mean Best Fitness denoted (MBF), which measures the average best fitness throughout the runs. If a run gives no feasible solutions, we use the sum of the overall graph weights instead of the actual objective function to calculate the reported MBF. Indeed, because an infeasible solution can have a small objective function, using its value will be misleading. The second metric is the standard deviation of the best fitness (SDBF). It gives us an idea about the variations of the fitness value throughout the runs. In the other side, to compare the efficiency, we use the average number of evaluations to get the best solution (AES). To determine AES, we count the number of solutions visited till getting the best one for each run. Then, we calculate the average value. Finally, the average run time (ART) is used to compare the speed of the GA for each encoding scheme. As Fig. 5 suggests, vertex-to-cluster-assignment encodings give the best performances according to the average running time. The values

obtained show the superiority of these encoding notably for DVTC, SVTC and FVTC. Besides this, the edge-based encodings, in particular IC and CGE, present the worst scores for all the instances. The rest of the encodings have average values except for the PMEB which starts to give significant ART with the increase of the size of the instances unlike the PMCA which keeps a moderate ART. It can be stated that the use of ART alone is not enough to show the actual efforts made to explore the search space since ART is also influenced by the complexity of the encoding itself requiring extra processing to calculate the objective function. To measure such an effort, AES is better placed (see Fig. 6). According to this latter, the vertex-to-cluster encodings give the worst scores, whereas the edge-based ones provide us with the best AES values. This imbalance situation where an encoding has high AES with great ART or vice versa stems from the complexity of the encoding. That is, for calculating the objective function, as highlighted earlier, or in order to check if a solution is feasible, some encodings, like DVTC and SVTC, are relatively straightforward; whereas some others, like IC, DC and CGE, require further processing. But again, AES does not provide on its own a clear answer to our research question: what is the best encoding. Indeed, our stopping criterion halts the GA if there is no improvement in the objective function for a given number of generations, and hence, if there is premature convergence, the AES systematically gives low values. For the MBF metric, PMEB wins over all the encodings for all the instances except for the second. PMCA stands, for the majority of cases, in the second or third position. This unexpected result proves that the constraint awareness provides no help to the P-median encoding. We can guess that in GPP, when we use approximate approaches, the best solutions are more likely to be reached from the infeasible region. The next performance goes to FVTC which is always among the first four best scores. FVTC is followed by SVTC, VAE and lastly by DVTC. For the edge-based encodings, the EA has the best results wining over the other encodings of its family, followed by IC, DC and then by CGE. When comparing the best encodings by families, we can see the superiority of the P-median-based encodings followed by the vertexbased encodings and at the end comes the class of edge-based encodings. However this ranking is not absolute because, except for PMEB and PMCA, the encodings show a considerable amount of instablity as the SDBF performance reveals. This instability is often due to the inability of the encoding to reach in some runs a feasible solution. In this case, the value we use to calculate the depicted MBF (we set it to the worst possible value) can have a significant impact on the SDBF value. In this context, we noticed that the vertex-based encodings (SVTC, VAE, 8

Computers & Industrial Engineering 137 (2019) 106025

A. Chaouche and M. Boulif

Fig. 8. MBF and AES performances.

DVTC) find it difficult to satisfy the cohabitation constraints, especially when their number increases and the graph order becomes important. Note that we can alleviate this problem by automatically assigning these vertices to the same cluster. However, without modifying the graph, cohabitation enforcement will soon be lost after applying the crossover. This is also true for the FVTC encoding, which presents better results than the other encodings of his family. His success rate is very low (in some instances, feasible solutions are discovered in only one in thirty runs), and in addition to the cohabitation constraint, it has a great difficulty to ensure the maximum cluster size constraint. For the edge-based encoding family, we noticed that EA becomes unable to converge to a feasible solution for high density instances, because it cannot easily cope with the max cluster size constraint. In the same family, DC and IC struggle to satisfy the constraint of cohabitation, especially when the density is low and when the number of couples to cohabit is large. We noticed the same thing for CGE, that, in

addition to its endeavour to satisfy the cohabitation constraints, also has difficulties to cope with the max-cluster-size constraint. Still with regard to SDBF, we noticed that certain encodings present null values. However, the corresponding MBF scores inform us that this misleading stability is no more than a premature convergence towards infeasible solutions (see Fig. 7a and b where the reported MBF is equal to the overall weight sum). In order to have another angle of sighting, Fig. 8 presents a comparison of the MBF by using boxplots. For each instance, we divide MBF by the corresponding overall graph weight (see the Edge weight sum entry of Table 3). Hence, when the median nears the value one, we conclude that the majority of encodings gave unfeasible solution scores. We can notice that this behaviour begins from the tenth instance. We also noticed the presence of a showy lower whisker that presumes some encodings have relatively good MBF scores. In order to identify them, Table 4 shows the number of times a method gave a score in the first

Table 4 Presence in the first and last quartiles. Quartiles

DVTC

SVTC

FVTC

VAE

EA

DC

IC

CGE

PMEB

PMCA

ART

# #

Q1 Q4

45 0

23 1

41 0

1 0

22 0

12 0

0 43

0 45

13 0

27 1

AES

# #

Q1 Q4

0 15

0 43

0 30

45 0

45 0

2 0

7 0

33 1

34 0

14 1

MBF

# #

Q1 Q4

2 25

5 22

34 2

3 33

7 32

43 0

2 17

14 17

45 0

37 2

9

Computers & Industrial Engineering 137 (2019) 106025

A. Chaouche and M. Boulif

Table 5 Encoding schemes best objective function values. Encoding schemes Graphs

DVTC

SVTC

FVTC

VAE

EA

DC

IC

CGE

PMEB

PMCA

SCIP

1 2 3 4 5 6 7 8 9 10 11 12

2 5 42 10 99 17 29 228 414 259 1298 1416

2 5 42 10 93 15 27 198 369 254 1234 1353

2 5 43 10 93 11 25 177 296 214 1111 1155

2 5 42 10 101 20 31 219 404 263 1233 1350

2 5 42 10 95 12 24 – – 211 – –

2 5 42 10 95 14 32 191 376 287 1286 1325

2 5 42 10 105 12 32 204 343 279 1210 1278

2 5 46 12 112 17 27 201 351 247 1178 1270

2 7 42 10 96 10 21 174 262 149 910 921

2 7 43 10 97 11 24 170 303 121 925 1046

2* 5* 42* 10* 93* 9* 20 159 279 184 944 941

13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

1904 3173 – 2541 – – 4147 – – 2266 12857 23056 10572 359 –

1872 3132 – – – – 4147 – – 2987 13325 – 12947 354 –

1693 3022 125 2008 704 2729 3373 4295 497 2453 12530 22701 11154 306 5454

1850 3078 – 2507 – – 4043 – – 2503 12487 22387 11822 351 –

– 3485 115 – – – 4147 – 434 2788 14258 – 13211 258 –

1948 3198 – 2393 939 3216 3989 5027 – 2561 12907 23307 12148 374 –

1957 3542 185 2235 828 3105 4001 4995 – 2931 14438 25734 13552 373 –

1845 3303 102 – 825 – 4147 – 460 2726 13490 24112 12752 178 –

1402 3044 54 1574 181 2211 2825 3406 402 2298 12429 22395 11026 112 4164

1444 3079 104 1862 561 2464 3323 3898 452 2673 12643 22361 9916 220 4939

1421 3086 112 1674 210 2286 2803 3410 531 2462 12663 22422 11695 233 4274

28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

– – 11982 16531 – – – 6912 – 14865 15916 – – 10875 – – – –

– – 13531 17746 – 746 – 7694 – 16004 – – – 12036 – – – –

18260 18340 11873 16427 3137 613 8626 6984 7032 14663 15377 15336 2019 11111 110728 – 282611 –

– 18049 12639 16606 – 766 – 7209 7240 14791 15425 15501 – 11182 109354 – – –

20055 20261 13599 17689 – 536 9147 7504 7494 15822 16407 16488 – 11795 119808 549 303303 –

18946 19119 13111 17520 – 757 9289 7813 7906 15774 16468 16193 – 12141 115293 – 305824 –

– – 14431 18864 – 755 – 8099 – 16572 – – – – – – – –

18837 18909 12673 16621 3208 384 – 7540 7666 15559 16125 16257 – 11598 – 373 – –

17965 18041 10672 14685 971 219 8058 5968 5929 14097 14133 14533 1636 10663 109342 207 266250 8213

18140 18210 9929 14099 2333 484 8685 6106 6241 13926 13927 13998 1928 11243 109327 451 265258 –

18157 18317 12244 16355 1113 253 8614 6865 6898 14651 15393 15040 1978 11143 109359 435 – 8731

The boldfaced values represent the best performance value for each graph.

quartile (# Q1) and the number of times its performance was in the last quartile (# Q 4). According to the MBF row, the most used encoding in the literature, namely DVTC, is present only six times in the first quartile Q1, whereas P-median based representations are there for all but one of the instances. Even if the presented results give a way of comparing the encoding representations to each other, they are unable to procure an absolute assessment. In order to achieve this aim, we need to use an exact approach as a point of reference. Hence, we used a classical modelling of GPP presented in Merchichi and Boulif (2015) and we solved it with SCIP (Berthold et al., 2012). Table 5 gives the best values of the objective function of all the encodings for the 45 instances taken across the 30 runs. SCIP’s solver was configured with a maximal duration of two hours for each instance. In this table, when SCIP conducts its task to its termination and hence, it finds an optimal solution, the associated value is annotated by *. The results shows again the advantage of the Pmedian encodings. PMEB gives solutions that are generally better than those of SCIP when this latter fails to reach an optimal solution in the allowed time. We can also realise that FVTC clearly gives better solution

than the other vertex-based encodings, particularly when the graph order grows. FVTC also outclasses the edge-based encodings when the graph has a big density. In the opposite case, that is when the density is small, EA performs very well and it seems that, in this case, CGE has got a promising performance. In order to check these findings with statistical tools, we conducted a Friedman test (Friedman, 1937) on the obtained performances. Friedman test is used when the normality assumption cannot be assumed, which is the case for stochastic algorithm experiments (Derrac, Garcia, Molina, & Herrera, 2011). Table 6 depicts the ranks obtained from the Friedman test procedure and Fig. 9 gives a visual representation (see electronic version for coloured figure) for the same results to ease interpretation. The p-value computed through the Friedman test, which is less than 2.2e−16, strongly suggests the existence of significant differences among the considered GA variants. These differences probably stem from the performances of PMCA, PMEB and FVTC as suggest the almost dark lines in Fig. 9. 10

Computers & Industrial Engineering 137 (2019) 106025

A. Chaouche and M. Boulif

Table 6 Friedman test ranks. Graph #

DVTC

SVTC

FVTC

VAE

EA

DC

IC

CGE

PMEB

PMCA

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

5.5 4.5 4.0 5.0 7.0 8.5 7.0 9.0 9.0 7.0 9.0 9.0 7.0 6.0 8.5 7.0 8.5 8.0 8.5 8.0 8.0 1.0 5.0 5.0 2.0 8.0 7.0 8.5 9.0 4.0 4.0 7.5 10.0 8.0 3.0 9.0 5.0 5.0 9.0 7.0 2.0 8.5 7.5 8.0 6.0

5.5 4.5 4.0 5.0 1.5 7.0 5.5 5.0 6.0 6.0 7.0 8.0 6.0 5.0 8.5 9.0 8.5 8.0 8.5 8.0 8.0 10.0 7.0 9.5 8.0 7.0 7.0 8.5 9.0 8.0 9.0 7.5 6.0 8.0 8.0 9.0 9.0 9.5 9.0 7.0 8.0 8.5 7.5 8.0 6.0

5.5 4.5 8.5 5.0 1.5 2.5 4.0 3.0 2.0 4.0 3.0 3.0 3.0 1.0 5.0 3.0 3.0 3.0 3.0 3.0 5.0 3.0 3.0 4.0 4.0 5.0 3.0 3.0 4.0 3.0 3.0 3.0 5.0 2.0 4.0 3.0 3.0 3.0 3.0 3.0 3.0 4.0 7.5 3.0 6.0

5.5 4.5 4.0 5.0 8.0 10.0 8.0 8.0 8.0 8.0 6.0 7.0 5.0 3.0 8.5 6.0 8.5 8.0 6.0 8.0 8.0 4.0 2.0 2.0 5.0 6.0 7.0 8.5 2.0 5.0 5.0 7.5 9.0 8.0 5.0 4.0 4.0 4.0 4.0 7.0 4.0 3.0 7.5 8.0 6.0

5.5 4.5 4.0 5.0 3.5 4.5 2.5 10.0 10.0 3.0 10.0 10.0 10.0 9.0 4.0 9.0 8.5 8.0 8.5 8.0 2.0 8.0 9.0 9.5 9.0 4.0 7.0 6.0 7.0 9.0 8.0 7.5 4.0 4.0 6.0 5.0 8.0 7.0 7.0 7.0 7.0 6.0 4.0 4.0 6.0

5.5 4.5 4.0 5.0 3.5 6.0 9.5 4.0 7.0 10.0 8.0 6.0 8.0 7.0 8.5 5.0 6.0 5.0 4.0 5.0 8.0 5.0 6.0 6.0 6.0 10.0 7.0 5.0 6.0 7.0 7.0 7.5 8.0 5.0 9.0 7.0 7.0 8.0 5.0 7.0 9.0 5.0 7.5 5.0 6.0

5.5 4.5 4.0 5.0 9.0 4.5 9.5 7.0 4.0 9.0 5.0 5.0 9.0 10.0 6.0 4.0 5.0 4.0 5.0 4.0 8.0 9.0 10.0 8.0 10.0 9.0 7.0 8.5 9.0 10.0 10.0 7.5 7.0 8.0 10.0 9.0 10.0 9.5 9.0 7.0 10.0 8.5 7.5 8.0 6.0

5.5 4.5 10.0 10.0 10.0 8.5 5.5 6.0 5.0 5.0 4.0 4.0 4.0 8.0 2.0 9.0 4.0 8.0 8.5 8.0 4.0 7.0 8.0 7.0 7.0 2.0 7.0 4.0 5.0 6.0 6.0 4.0 2.0 8.0 7.0 6.0 6.0 6.0 6.0 7.0 6.0 8.5 2.0 8.0 6.0

5.5 9.5 4.0 5.0 5.0 1.0 1.0 2.0 1.0 2.0 1.0 1.0 1.0 2.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 2.0 1.0 3.0 3.0 1.0 1.0 1.0 1.0 2.0 2.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 1.0 1.0 2.0 1.0 2.0 1.0

5.5 9.5 8.5 5.0 6.0 2.5 2.5 1.0 3.0 1.0 2.0 2.0 2.0 4.0 3.0 2.0 2.0 2.0 2.0 2.0 3.0 6.0 4.0 1.0 1.0 3.0 2.0 2.0 3.0 1.0 1.0 2.0 3.0 3.0 2.0 2.0 1.0 1.0 1.0 2.0 5.0 1.0 3.0 1.0 6.0

Average

6.733

7.300

3.622

6.011

6.633

6.456

7.433

6.111

1.867

2.833

Fig. 9. Rank performances’ visual representation.

11

Computers & Industrial Engineering 137 (2019) 106025

A. Chaouche and M. Boulif

Table 7 Friedman-Nemenyi posthoc test results. vs

DVTC

SVTC

FVTC

VAE

EA

DC

IC

CGE

PMEB

SVTC FVTC VAE EA DC IC CGE PMEB PMCA

0.99686 4.8e−05 0.98156 1.00000 0.99999 0.98516 0.99365 1.2e−12 4.5e−08

– 3.7e−07 0.58524 0.98950 0.94863 1.00000 0.69452 9.4e−14 1.2e−10

– – 0.00700 0.00010 0.00038 1.1e−07 0.00383 0.15385 0.96667

– – – 0.99365 0.99954 0.43715 1.00000 3.8e−09 2.8e−05

– – – – 1.00000 0.96351 0.99833 3.7e−12 1.2e−07

– – – – – 0.87960 0.99995 2.9e−11 6.2e−07

– – – – – – 0.54782 8.2e−14 2.6e−11

– – – – – – – 1.3e−09 1.2e−05

– – – – – – – – 0.88684

Fig. 10. Pairwise Friedman-Nemenyi comparisons rendering. Table 8 Parameter values. Encoding

DVTC SVTC FVTC VAE EA DC IC CGE PMEB PMCA

small

medium

large

Pop. size

r 1(% Elit.)

r3 (% Mut.)

Pop. size

r 1(% Elit.)

r3 (% Mut.)

Pop. size

r 1(% Elit.)

r3 (% Mut.)

[100,150] [100,150] [100,150] [50,100] [50,100] [50,100] [50,100] [50,100] [100,150] [100,150]

10 10 10 10 10 10 10 10 10 10

3 1 2 2 2 1 1 3 2 1

[150,250] [150,250] [150,250] [100,150] [100,150] [100,150] [100,150] [100,150] [150,250] [150,250]

[10,20] [10,20] [10,20] [10,20] [10,20] [10,20] [10,20] [10,20] [10,20] [10,20]

3 1 2 2 2 1 1 3 2 1

[250,300] [250,300] [250,300] [150,200] [150,200] [150,200] [150,200] [150,200] [250,300] [250,300]

[20,30] [20,30] [20,30] [20,30] [20,30] [20,30] [20,30] [20,30] [20,30] [20,30]

3 1 2 2 2 1 1 3 2 1

Since Friedman’s test has rejected the null hypothesis, we can proceed with a post hoc analysis in order to achieve a pairwise comparison. Therefore, we opted for the Nemenyi procedure (Nemenyi, 1963). Table 7 shows the obtained results by using PMCMR’s R package and

Fig. 10 renders the same results into a visual representation (see electronic version for a coloured version). Given the average rankings of Table 6 and as it can bee seen in Fig. 10, the three variants PMEB, PMCA and FVTC are the best 12

2 5 42 10 93 11 23 166 276 162 1093 1143

1640 2987 – 1800 231 2620 3337 4112 – 2138 12154 22255 9688 167 –

17471 – 10549 15894 1192 – 8460 6617 – 14528 15325 15466 – 10868 – – – –

13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

BF

1 2 3 4 5 6 7 8 9 10 11 12

Graph

0.06 0.07 0.13 0.13 0.20 0.22 0.29 0.87 2.16 4.92 6.36 6.29

BRT

13

380.45 – 628.19 432.15 800.68 – 592.41 681.32 – 722.11 493.66 551.40 – 1014.78 – – – –

9.65 26.22 – 41.86 31.08 31.88 49.46 94.21 – 248.37 196.47 136.38 226.52 204.47 –

DVTC

– – 12719 16860 – 629 – 7360 – 15530 15550 – – 12031 – – – –

1613 3104 – 2108 675 2796 3566 4554 – 2773 13135 24002 11567 289 –

2 5 42 10 93 10 22 168 287 174 1046 1143

BF

BRT

– – 484.52 683.62 – 563.12 – 1275.07 – 647.92 1516.10 – – 249.83 – – – –

33.65 40.81 – 22.75 93.53 34.76 80.23 71.99 – 189.76 224.42 169.61 337.76 148.63 –

0.23 0.24 0.27 0.13 0.19 0.70 0.49 1.01 1.93 4.17 19.34 5.66

SVTC

0.40 0.42 0.57 0.36 0.54 0.83 1.66 1.19 3.62 10.93 12.18 10.44

BRT

115.75 216.37 308.38 208.08 322.52 245.24 192.16 343.58 369.37 465.12 308.52 573.15 359.75 367.39 205.91 359.91 548.68 2480.74

21.16 25.66 16.92 37.17 44.35 57.30 61.61 79.95 127.64 83.53 131.20 77.71 242.82 133.42 43.07

FVTC

18259 18257 11818 16418 2632 501 8590 6979 7006 14638 15277 15004 1790 10974 110531 510 279505 8992

1579 3003 85 1836 315 2495 3159 3959 414 2447 12344 22336 10781 232 5194

2 5 42 10 93 9 22 163 270 142 997 1053

BF

Table 9 Best fitness and related run time for adjusted parameters.

18048 18048 12639 16606 3055 636 – 7169 7240 14791 15425 15480 1955 11166 109345 611 – 9143

1694 3077 139 2016 800 2718 3372 4233 523 2503 12487 22387 11804 311 5310

2 5 42 10 96 16 30 176 328 238 1086 1137

BF

VAE

11.57 11.59 13.79 15.82 5.72 30.49 – 19.77 6.12 6.30 6.35 31.26 7.16 25.06 22.67 7.69 – 19.03

8.68 10.39 7.34 4.73 5.21 9.56 7.55 9.67 14.60 4.17 4.46 3.97 8.83 12.32 3.70

4.45 4.29 4.29 4.33 5.56 7.32 5.26 5.42 7.18 1.88 6.26 2.68

BRT

20041 20206 13408 17662 2561 338 9145 7477 7488 15806 16361 16488 1929 11789 118842 311 303256 9359

1828 3467 73 2216 638 2943 3701 4775 432 2788 14185 – 13115 220 5739

2 5 42 10 95 12 23 235 386 204 1216 1293

BF

EA

19.36 18.27 2.80 39.63 25.23 38.74 29.03 33.71 32.37 32.79 32.27 4.65 36.37 40.31 69.90 35.72 193.94 15.88

4.58 5.65 4.71 5.98 5.55 9.44 8.17 1.38 10.42 2.92 13.34 – 13.25 10.23 11.98

2.54 2.55 4.20 2.48 4.04 2.50 2.55 0.45 2.89 3.20 3.87 3.98

BRT

18799 19084 11782 17520 3257 699 8577 7813 6992 15774 16468 15436 2126 11044 115293 667 305824 9565

1828 3148 137 2024 559 2802 3492 4353 566 2552 12638 23257 11827 353 5692

2 5 42 10 93 9 25 158 292 233 1138 1140

BF

Encoding Schemes DC

2332.52 1748.00 937.15 195.27 56.42 550.51 667.46 107.84 617.57 623.47 480.07 1224.94 1624.87 1334.99 4237.38 669.45 285.90 254.82

38.07 74.51 19.77 72.42 61.49 121.91 62.56 300.77 13.04 461.61 320.67 1094.75 834.29 39.62 103.22

4.60 4.64 5.80 5.12 9.36 7.49 11.67 3.73 15.19 35.21 20.97 23.61

BRT

– – 13222 17371 3127 744 – 7597 – 15640 16329 – – 11773 – – – –

1935 3301 133 2233 828 3105 3663 4952 – 2700 13421 24095 12704 366 –

2 5 42 10 97 12 29 184 343 206 1210 1245

BF

IC

– – 84.72 80.84 164.05 158.76 – 64.88 – 102.63 118.37 – – 132.55 – – – –

76.98 25.68 30.74 67.40 11.82 36.15 47.42 118.03 – 32.85 34.63 77.56 31.19 82.79 –

3.27 3.23 6.24 4.83 9.05 10.29 15.74 2.78 17.08 37.54 51.22 49.57

BRT

18810 18830 12654 16614 3183 352 9410 7540 7630 15433 16125 16177 2026 11564 – 345 – –

1813 3259 85 2191 784 2883 3564 4456 447 2680 13430 23956 12614 170 5470

2 5 42 10 97 11 23 191 328 206 1155 1239

BF 3.80 3.73 6.93 8.13 11.52 5.74 5.74 4.14 18.60 22.73 34.49 20.91

BRT

29.97 29.60 137.11 292.33 49.02 35.94 40.68 66.58 38.02 45.44 56.86 44.95 31.03 55.72 – 37.92 – –

23.72 136.34 18.25 24.80 11.65 27.22 20.16 37.24 51.26 75.17 25.41 27.58 21.96 10.31 28.86

CGE

17896 17947 10413 14569 818 174 8048 5771 5841 14072 14133 14512 1473 10624 109327 178 266229 8125

1391 3037 48 1574 181 2191 2792 3406 364 2237 12358 22381 10680 100 4139

2 5 42 10 96 9 20 168 262 109 910 921

BF 1.16 1.15 1.21 1.18 1.47 1.57 1.42 4.26 4.33 4.93 16.05 7.70

BRT

97.32 98.73 450.09 307.89 63.28 70.64 125.83 358.11 252.64 257.25 255.74 250.14 254.39 318.73 314.72 144.99 802.93 780.53

15.10 9.05 10.66 8.86 12.21 27.34 39.24 64.35 42.27 52.42 37.77 147.13 106.86 55.59 32.24

PMEB

18105 18199 9817 13994 1885 434 8685 6077 6207 13860 13927 13892 1926 11192 109320 410 264861 –

1428 3067 99 1855 542 2430 3301 3900 431 2671 12639 22351 9758 204 4866

2 7 43 10 97 11 23 170 303 121 917 1034

BF

0.18 0.29 0.43 0.29 0.35 0.66 0.86 0.41 1.06 2.12 7.66 2.34

BRT

67.31 37.05 56.91 245.82 251.44 51.49 19.14 201.08 136.81 295.94 25.00 381.93 30.89 207.00 244.53 39.76 452.02 –

1.64 2.04 8.42 3.82 13.73 9.46 44.17 13.87 7.17 34.41 34.10 57.83 127.06 11.70 5.19

PMCA

A. Chaouche and M. Boulif

Computers & Industrial Engineering 137 (2019) 106025

Computers & Industrial Engineering 137 (2019) 106025

A. Chaouche and M. Boulif

Table 10 Second test-set average ranks. Graph # Average

DVTC 4.700

SVTC 6.933

FVTC 3.433

VAE 5.778

EA 7.144

DC 6.044

IC 8.456

CGE 6.678

PMEB 2.000

PMCA 3.833

Table 11 Post hoc test results for the adjusted parameters test set. vs

DVTC

SVTC

FVTC

VAE

EA

DC

IC

CGE

PMEB

SVTC FVTC VAE EA DC IC CGE PMEB PMCA

0.01688 0.61006 0.80233 0.00502 0.52288 1.8e−07 0.06066 0.00097 0.93976

– 1.9e−06 0.72883 1.00000 0.92987 0.33480 1.00000 5.5e−13 5.2e−05

– – 0.00907 2.7e−07 0.00176 3.1e−13 1.6e−05 0.42524 0.99981

– – – 0.49807 0.99999 0.00113 0.92454 1.5e−07 0.07054

– – – – 0.78240 0.56030 0.99932 1.6e−13 9.4e−06

– – – – – 0.00614 0.99276 1.1e−08 0.01902

– – – – – – 0.14131 1.0e−13 2.0e−11

– – – – – – – 1.1e−11 0.00036

– – – – – – – – 0.11336

performing variants which is consistent with our previous findings. In the performance analysis presented so far, we were using the same GA parameters for all the encoding variants. Therefore, one can wonder whether the best performing GA variants were boosted by these parameter values that were in favour of the winners whereas being unfavourable to the others. In order to insure more fairness, we conducted another set of tests by using the best parameters for each encoding representation. Table 8 summarises the best parameter intervals for each encoding scheme class (the regeneration percentage r2 and the maximum number of generations without improvement are not reported because they are set to 10 and 30, respectively for all the instances) and Table 9 depicts the obtained results. By adopting the same statistical test procedure as for the previous, we obtained the average rank values depicted in Table 10. The Friedman test revealing the great significance of the differences between the variants, we conducted a posthoc analysis that gave the results presented in Table 11. From this later, we conclude that even if DVTC has enhanced its score (see Table 9 where the best performances are boldfaced) the order of the best scoring variants does not change in comparison to that obtained in the previous test set and the pairwise p-values between PMEB and the other variants are all significant except with PMCA and FVTC.

References Andreev, K., & Räcke, H. (2004). Balanced graph partitioning. Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures (pp. 120–124). ACM. Berthold, T., Gamrath, G., Gleixner, A. M., Heinz, S., Koch, T., & Shinano, Y. (2012). Solving mixed integer linear and nonlinear problems using the scip optimization suite. ZIB-Report, 12–27, 1–23. Bichot, C.-E. (2006). A metaheuristic based on fusion and fission for partitioning problems. Proceedings 20th IEEE international parallel & distributed processing symposium. Boulif, M. (2010). Genetic algorithm encoding representations for graph partitioning. 2010 International conference on machine and web intelligence. Boulif, M. (2016), ‘A new cut-based genetic algorithm for graph partitioning applied to cell formation’, arXiv preprint arXiv:1612.05536. URL: . Boulif, M., & Atif, K. (2006). A new branch-&-bound-enhanced genetic algorithm for the manufacturing cell formation problem. Computers & Operations Research, 33(8), 2219–2245. Bui, T. N., & Moon, B. R. (1996). Genetic algorithm and graph partitioning. IEEE Transactions on computers, 45(7), 841–855. Buluç, A., Meyerhenke, H., Safro, I., Sanders, P., & Schulz, C. (2016). Recent advances in graph partitioning. Algorithm Engineering Lecture Notes in Computer Science, 117–158. David A., B., Henning, M., Peter, S. & Dorothea, W. (2016). ‘10th dimacs implementation challenge – Graph partitioning and graph clustering’. . Accessed April 4, 2016. Derrac, J., Garcia, S., Molina, D., & Herrera, F. (2011). A practical tutorial on the use of nonparametric statistical tests as a methodology for comparing evolutionary and swarm intelligence algorithms. Swarm and Evolutionary Computation, 1(7), 3–18. Ding, C. H., He, X., Zha, H., Gu, M., & Simon, H. D. (2001). A min-max cut algorithm for graph partitioning and data clustering. Data Mining, 2001. ICDM 2001, Proceedings IEEE international conference on (pp. 107–114). IEEE. Eiben, A., & Smith, J. (2015). Introduction to evolutionary computing. Berlin: Springer. Friedman, M. (1937). The use of ranks to avoid the assumption of normality implicit in the analysis of variance. Journal of the American Statistical Association, 32, 674–701. Goldberg, D. E. (1989). Genetic algorithms in search, optimization and machine learning. Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc. Gonçalves, J.F. & Resende, M.G. (2002), ‘A hybrid genetic algorithm for manufacturing cell formation’, AT&T Labs Research Technical Report TD-5FE6RN pp. 1–30. Hakimi, S. L. (1964). Optimum locations of switching centers and the absolute centers and medians of a graph. Operations Research, 12(3), 450–459. Hakimi, S. L. (1965). Optimum distribution of switching centers in a communication network and some related graph theoretic problems. Operations Research, 13(3), 462–475. Hartmanis, J. (1982). Computers and intractability: A guide to the theory of np-completeness (Michael R. Garey and David S. Johnson). SIAM Review, 24(1), 90–91. Holland, J. H. (1975). Adaptation in natural and artificial systems - An introductory: Analysis with applications to biology, control, and artificial: intelligence. The University of Michigan Press. Jovanovic, R., Nishi, T., & Voß, S. (2017). A heuristic approach for dividing graphs into bi-connected components with a size constraint. Journal of Heuristics, 23(2), 111–136. https://doi.org/10.1007/s10732-017-9331-3. Karypis, G., Aggarwal, R., Kumar, V., & Shekhar, S. (1999). Multilevel hypergraph partitioning: Applications in vlsi domain. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 7(1), 69–79.

7. Conclusion In this paper, we presented a comprehensive list of encoding representations for the genetic algorithm when it is devoted to solving the unsupervised graph partitioning problem. These representations can be categorised into three classes: the first one is vertex based, the second is edge based, and the last class is hybrid to some extent. The comparison of these GAs reveals that the direct vertex based encoding which is the most used representation in the literature has poor performances. Furthermore, it shows that the P-median based representation which is almost neglected by the evolutionary approaches is very promising. As future research, we recommend to investigate, for each encoding scheme, the behaviour of the GA when it prospects special categories of graphs. In addition, we think that a distributed evolutionary approach that combines the best promising representations to gather their strength points is worth to explore.

14

Computers & Industrial Engineering 137 (2019) 106025

A. Chaouche and M. Boulif Li, J., Liu, C.-C., & Schneider, K. P. (2010). Controlled partitioning of a power network considering real and reactive power balance. IEEE Transactions on Smart grid, 1(3), 261–269. Lorena, L. A. N., & Furtado, J. C. (2001). Constructive genetic algorithm for clustering problems. Evolutionary Computation, 9(3), 309–327. Merchichi, S., & Boulif, M. (2015). Constraint-driven exact algorithm for the manufacturing cell formation problem. European Journal of Industrial Engineering, 9(6), 717–743. http://www.inderscience.com/jhome.php?jcode=ejie . Nemenyi, P. (1963), ‘Distribution-free multiple comparisons’. Que, X., Checconi, F., Petrini, F., & Gunnels, J. A. (2015). Scalable community detection with the louvain algorithm. Parallel and distributed processing symposium (IPDPS),

2015 IEEE international (pp. 28–37). IEEE. Rothlauf, F. (2006). Representations for genetic and evolutionary algorithms. SpringerVerlag. Venugopal, V., & Narendran, T. (1992). A genetic algorithm approach to the machinecomponent grouping problem with multiple objectives. Computers & Industrial Engineering, 22(4), 469–480. Walshaw, C.. The graph partitioning archive. (2016). http://chriswalshaw.co.uk/partition/ Accessed March 23, 2016. Wicks, E. M., & Reasor, R. J. (1999). Designing cellular manufacturing systems with dynamic part populations. IIE Transactions, 31(1), 11–20.

15