Optimising Graph Partitions Using Parallel Evolution

12
Optimising Graph Partitions Using Parallel Evolution R. Ba˜ nos 1 , C. Gil 1 , J. Ortega 2 , and F.G. Montoya 3 1 Dept. Arquitectura de Computadores y Electronica, Universidad de Almeria, La Ca˜ nada de San Urbano s/n, 04120 Almeria (Spain), {rbanos, cgil}@ace.ual.es, 2 Dept. Arquitectura y Tecnologia de Computadores, Universidad de Granada Campus de Fuentenueva, Granada (Spain), [email protected], 3 Dept. Ingenieria Civil, Universidad de Granada Campus de Fuentenueva, Granada (Spain), [email protected] Abstract. The graph partitioning problem consists of dividing the ver- tices of a graph into a set of balanced parts, such that the number of edges connecting vertices in different parts is minimised. Although dif- ferent algorithms to solve this problem have been proposed in complex graphs, it is unknown how good the partitions are since the problem is, in general, NP-complete. In this paper we present a new parallel evolu- tionary algorithm for graph partitioning where different heuristics, such Simulated Annealing, Tabu Search, and some Selection Mechanisms are mixed. The efficiency of the new algorithm is compared with other pre- viously proposed algorithms with promising results. 1 Introduction The Graph Partitioning Problem (GPP) occurs in many areas, such as VLSI design [1,2], test patterns generation [3], data-mining [4], efficient storage of great data bases [5], etc. The problem is to find a partition of the vertices of a graph into K roughly equal parts, verifying that the number of edges connecting vertices in different subgraphs is minimised. As the problem is NP-complete [6], efficient procedures that provide solutions of high quality in a reasonable amount of time are very useful. Different strategies have been proposed to solve the graph partitioning problem, classified into combinatorial approaches [7,8], based on geometric representations [9,10], multilevel and clustering algorithms [11,12], and genetic algorithms [13]. There are also hybrid schemes [14,15,16] that combine different strategies. In [15] a hybrid heuristic for circuit partitioning including an extension for standard graphs was proposed. In [16] this heuristic was extended to build a multilevel algorithm. In both papers, the mixed heuristic demonstrated a good performance. Nevertheless, still remain important aspects to study. One of them is to analyse the effect of modifying the parameters of Simulated Annealing, and P. Liardet et al. (Eds.): EA 2003, LNCS 2936, pp. 91–102, 2004. c Springer-Verlag Berlin Heidelberg 2004

Transcript of Optimising Graph Partitions Using Parallel Evolution

Optimising Graph Partitions Using ParallelEvolution

R. Banos1, C. Gil1, J. Ortega2, and F.G. Montoya3

1 Dept. Arquitectura de Computadores y Electronica, Universidad de Almeria,La Canada de San Urbano s/n, 04120 Almeria (Spain),

{rbanos, cgil}@ace.ual.es,2 Dept. Arquitectura y Tecnologia de Computadores, Universidad de Granada

Campus de Fuentenueva, Granada (Spain),[email protected],

3 Dept. Ingenieria Civil, Universidad de GranadaCampus de Fuentenueva, Granada (Spain),

[email protected]

Abstract. The graph partitioning problem consists of dividing the ver-tices of a graph into a set of balanced parts, such that the number ofedges connecting vertices in different parts is minimised. Although dif-ferent algorithms to solve this problem have been proposed in complexgraphs, it is unknown how good the partitions are since the problem is,in general, NP-complete. In this paper we present a new parallel evolu-tionary algorithm for graph partitioning where different heuristics, suchSimulated Annealing, Tabu Search, and some Selection Mechanisms aremixed. The efficiency of the new algorithm is compared with other pre-viously proposed algorithms with promising results.

1 Introduction

The Graph Partitioning Problem (GPP) occurs in many areas, such as VLSIdesign [1,2], test patterns generation [3], data-mining [4], efficient storage ofgreat data bases [5], etc. The problem is to find a partition of the vertices of agraph into K roughly equal parts, verifying that the number of edges connectingvertices in different subgraphs is minimised. As the problem is NP-complete[6], efficient procedures that provide solutions of high quality in a reasonableamount of time are very useful. Different strategies have been proposed to solvethe graph partitioning problem, classified into combinatorial approaches [7,8],based on geometric representations [9,10], multilevel and clustering algorithms[11,12], and genetic algorithms [13]. There are also hybrid schemes [14,15,16]that combine different strategies.

In [15] a hybrid heuristic for circuit partitioning including an extension forstandard graphs was proposed. In [16] this heuristic was extended to build amultilevel algorithm. In both papers, the mixed heuristic demonstrated a goodperformance. Nevertheless, still remain important aspects to study. One of themis to analyse the effect of modifying the parameters of Simulated Annealing, and

P. Liardet et al. (Eds.): EA 2003, LNCS 2936, pp. 91–102, 2004.c© Springer-Verlag Berlin Heidelberg 2004

Verwendete Distiller 5.0.x Joboptions
Dieser Report wurde automatisch mit Hilfe der Adobe Acrobat Distiller Erweiterung "Distiller Secrets v1.0.5" der IMPRESSED GmbH erstellt. Sie koennen diese Startup-Datei für die Distiller Versionen 4.0.5 und 5.0.x kostenlos unter http://www.impressed.de herunterladen. ALLGEMEIN ---------------------------------------- Dateioptionen: Kompatibilität: PDF 1.3 Für schnelle Web-Anzeige optimieren: Nein Piktogramme einbetten: Nein Seiten automatisch drehen: Nein Seiten von: 1 Seiten bis: Alle Seiten Bund: Links Auflösung: [ 2400 2400 ] dpi Papierformat: [ 595.276 824.882 ] Punkt KOMPRIMIERUNG ---------------------------------------- Farbbilder: Downsampling: Ja Berechnungsmethode: Bikubische Neuberechnung Downsample-Auflösung: 300 dpi Downsampling für Bilder über: 450 dpi Komprimieren: Ja Automatische Bestimmung der Komprimierungsart: Ja JPEG-Qualität: Maximal Bitanzahl pro Pixel: Wie Original Bit Graustufenbilder: Downsampling: Ja Berechnungsmethode: Bikubische Neuberechnung Downsample-Auflösung: 300 dpi Downsampling für Bilder über: 450 dpi Komprimieren: Ja Automatische Bestimmung der Komprimierungsart: Ja JPEG-Qualität: Maximal Bitanzahl pro Pixel: Wie Original Bit Schwarzweiß-Bilder: Downsampling: Ja Berechnungsmethode: Bikubische Neuberechnung Downsample-Auflösung: 2400 dpi Downsampling für Bilder über: 3600 dpi Komprimieren: Ja Komprimierungsart: CCITT CCITT-Gruppe: 4 Graustufen glätten: Nein Text und Vektorgrafiken komprimieren: Ja SCHRIFTEN ---------------------------------------- Alle Schriften einbetten: Ja Untergruppen aller eingebetteten Schriften: Nein Wenn Einbetten fehlschlägt: Warnen und weiter Einbetten: Immer einbetten: [ /Courier-BoldOblique /Helvetica-BoldOblique /Courier /Helvetica-Bold /Times-Bold /Courier-Bold /Helvetica /Times-BoldItalic /Times-Roman /ZapfDingbats /Times-Italic /Helvetica-Oblique /Courier-Oblique /Symbol ] Nie einbetten: [ ] FARBE(N) ---------------------------------------- Farbmanagement: Farbumrechnungsmethode: Farbe nicht ändern Methode: Standard Geräteabhängige Daten: Einstellungen für Überdrucken beibehalten: Ja Unterfarbreduktion und Schwarzaufbau beibehalten: Ja Transferfunktionen: Anwenden Rastereinstellungen beibehalten: Ja ERWEITERT ---------------------------------------- Optionen: Prolog/Epilog verwenden: Ja PostScript-Datei darf Einstellungen überschreiben: Ja Level 2 copypage-Semantik beibehalten: Ja Portable Job Ticket in PDF-Datei speichern: Nein Illustrator-Überdruckmodus: Ja Farbverläufe zu weichen Nuancen konvertieren: Ja ASCII-Format: Nein Document Structuring Conventions (DSC): DSC-Kommentare verarbeiten: Ja DSC-Warnungen protokollieren: Nein Für EPS-Dateien Seitengröße ändern und Grafiken zentrieren: Ja EPS-Info von DSC beibehalten: Ja OPI-Kommentare beibehalten: Nein Dokumentinfo von DSC beibehalten: Ja ANDERE ---------------------------------------- Distiller-Kern Version: 5000 ZIP-Komprimierung verwenden: Ja Optimierungen deaktivieren: Nein Bildspeicher: 524288 Byte Farbbilder glätten: Nein Graustufenbilder glätten: Nein Bilder (< 257 Farben) in indizierten Farbraum konvertieren: Ja sRGB ICC-Profil: sRGB IEC61966-2.1 ENDE DES REPORTS ---------------------------------------- IMPRESSED GmbH Bahrenfelder Chaussee 49 22761 Hamburg, Germany Tel. +49 40 897189-0 Fax +49 40 897189-71 Email: [email protected] Web: www.impressed.de
Adobe Acrobat Distiller 5.0.x Joboption Datei
<< /ColorSettingsFile () /AntiAliasMonoImages false /CannotEmbedFontPolicy /Warning /ParseDSCComments true /DoThumbnails false /CompressPages true /CalRGBProfile (sRGB IEC61966-2.1) /MaxSubsetPct 100 /EncodeColorImages true /GrayImageFilter /DCTEncode /Optimize false /ParseDSCCommentsForDocInfo true /EmitDSCWarnings false /CalGrayProfile () /NeverEmbed [ ] /GrayImageDownsampleThreshold 1.5 /UsePrologue true /GrayImageDict << /QFactor 0.9 /Blend 1 /HSamples [ 2 1 1 2 ] /VSamples [ 2 1 1 2 ] >> /AutoFilterColorImages true /sRGBProfile (sRGB IEC61966-2.1) /ColorImageDepth -1 /PreserveOverprintSettings true /AutoRotatePages /None /UCRandBGInfo /Preserve /EmbedAllFonts true /CompatibilityLevel 1.3 /StartPage 1 /AntiAliasColorImages false /CreateJobTicket false /ConvertImagesToIndexed true /ColorImageDownsampleType /Bicubic /ColorImageDownsampleThreshold 1.5 /MonoImageDownsampleType /Bicubic /DetectBlends true /GrayImageDownsampleType /Bicubic /PreserveEPSInfo true /GrayACSImageDict << /VSamples [ 1 1 1 1 ] /QFactor 0.15 /Blend 1 /HSamples [ 1 1 1 1 ] /ColorTransform 1 >> /ColorACSImageDict << /VSamples [ 1 1 1 1 ] /QFactor 0.15 /Blend 1 /HSamples [ 1 1 1 1 ] /ColorTransform 1 >> /PreserveCopyPage true /EncodeMonoImages true /ColorConversionStrategy /LeaveColorUnchanged /PreserveOPIComments false /AntiAliasGrayImages false /GrayImageDepth -1 /ColorImageResolution 300 /EndPage -1 /AutoPositionEPSFiles true /MonoImageDepth -1 /TransferFunctionInfo /Apply /EncodeGrayImages true /DownsampleGrayImages true /DownsampleMonoImages true /DownsampleColorImages true /MonoImageDownsampleThreshold 1.5 /MonoImageDict << /K -1 >> /Binding /Left /CalCMYKProfile (U.S. Web Coated (SWOP) v2) /MonoImageResolution 2400 /AutoFilterGrayImages true /AlwaysEmbed [ /Courier-BoldOblique /Helvetica-BoldOblique /Courier /Helvetica-Bold /Times-Bold /Courier-Bold /Helvetica /Times-BoldItalic /Times-Roman /ZapfDingbats /Times-Italic /Helvetica-Oblique /Courier-Oblique /Symbol ] /ImageMemory 524288 /SubsetFonts false /DefaultRenderingIntent /Default /OPM 1 /MonoImageFilter /CCITTFaxEncode /GrayImageResolution 300 /ColorImageFilter /DCTEncode /PreserveHalftoneInfo true /ColorImageDict << /QFactor 0.9 /Blend 1 /HSamples [ 2 1 1 2 ] /VSamples [ 2 1 1 2 ] >> /ASCII85EncodePages false /LockDistillerParams false >> setdistillerparams << /PageSize [ 595.276 841.890 ] /HWResolution [ 2400 2400 ] >> setpagedevice

92 R. Banos et al.

the other is to determine the importance of the initial partition in the optimi-sation process. In this work we analyse these aspects by taking advantage ofparallel processing. Thus, we propose a new parallel algorithm that uses this hy-brid heuristic with elitist selection mechanisms that improve the results obtainedby the serial version.

Section 2 gives a more precise definition of the graph partitioning problemand describes the cost function used in the optimisation process. Section 3 de-scribes the proposed algorithm, while Sect. 4 provides and analyses the experi-mental results with several test graphs. Finally, Sect. 5 gives the conclusions ofthe paper and suggests future work topics.

2 Graph Partitioning Problem

Given a graph G=(V, E ), where V is the set of vertices, with |V|=n, and Ethe set of edges that determines the connectivity among the vertices, the GPPconsists of dividing V into K balanced parts, V1,V2,..., V K , so that Vi∩Vj =φ

for all i�=j ; and∑K

k=1 |Vk| = |V|. The balance condition is defined as the max-imum subdomain weight, S=max(|Vk|), for k=1, ..., K, divided by the perfectbalance, n/K. If a certain imbalance, x%, is allowed, then the GPP searches apartition such that the number of cuts is minimised subject to the constraintthat S≤ n/K*((100+x )/100). Whenever the vertices and edges have weights,|v| denotes the weight of vertex v, and |e| denotes the weight of edge e. All thetest graphs used to evaluate the quality of our algorithm have vertices and edgeswith weight equal to one (|v|=1 and |e|=1). However, our procedure is able toprocess graphs with any weight values.

(a)

(b)

[1][1]

[1]

[1] [1] [1]

[1]

[1]

[1]

[1] [1] [1]

[1]

[1][1][1]

[1][1]

[1]

[1]

[1] [1]

[1][1]

[1]

[1] [1] [1]

[1]

[1]

[1]

[1] [1] [1]

[1]

[1][1][1]

[1][1]

[1]

[1]

[1] [1]

1

1

1

1 1

1

11

1 1 1

1

1 1

1

1 1

1

1

1

1 1

111

1

1 11

1

1 11

1

1

1

1

1

1 1

1

1

11

1 1 1 1

1

111

1

111 1

11

1

1

1

1 1

1

1

11

1

1 1 1 1

1

111

1

1

1

Fig. 1. Two ways to divide the graph

Optimising Graph Partitions Using Parallel Evolution 93

Figure 1 shows two possible partitions of a given graph. In Fig. 1(a) thegraph is divided into two equally balanced parts, although the number of cuts isnot minimised. On the other hand, Fig. 1(b) shows a partition with the optimalnumber of cuts. Nevertheless, this partition does not fulfill the requirement ofload balancing. This example clearly shows the opposition of both objectives.In order to choose one or other solution, the following cost function could beconsidered:

c(s) = α · ncuts(s) + β ·K∑

k=1

2imbalance(k)(s) (1)

In this function, both objectives are taken into account. The first term is asso-ciated with the edges that are cut when the partition is made, while the secondterm corresponds to the penalty associated to the imbalance.

3 Parallel Evolutionary Algorithm

3.1 The Heuristic: Refined Mixed Simulated Annealing and TabuSearch (rMSATS)

In this section, a description of the hybrid heuristic proposed in [15] is given.Next, we detail the two phases of rMSATS.

i)Initial partitioning phase The first step to solve the GPP is to make aninitial partitioning of the target graph. In this step rMSATS uses the proceduredenominated Graph Growing Algorithm (GGA) [17]. This algorithm starts froma randomly selected vertex, which is assigned to the first subgraph, as theiradjacent vertices. This recursive process is repeated until this subgraph reachesn/K vertices. From this point, the following visited vertices are assigned to anew subgraph, and the process is repeated until all the vertices are assignedto a subgraph. As the position of the initial vertex determines the structureof the initial partition, its random selection offers a very useful diversity in thesearch process. In our experiments we have considered several partitions startingfrom different vertices in order to explore the search space from different initialpositions. The strategy used to choose the initial vertex in GGA is based onrandom interval selection. If p different processes are executed, the process Pi

make the first partition starting from a randomly chosen vertex in the interval[

ip ·

n, i+1p ·n[

. Although the test graphs are irregulars, this strategy assures diversityin the initial partitions. Experimental results indicate that the application ofrMSATS with different initial partitions obtains best results than when only oneinitial vertex is used.

ii) Refinement phase. The application of an algorithm such as GGA is notenough to obtain a partition with sufficient quality. Therefore, it is necessaryto perform a refinement phase that explores efficiently the search space. Theproblem with local search and hill climbing techniques is that the search may stopat local optima. In order to overcome this drawback, rMSATS mixes SimulatedAnnealing (SA) [18], and Tabu Search (TS) [19]. The use of both heuristics

94 R. Banos et al.

results in a hybrid strategy that allows the search process to escape from localminima, while simultaneously prevents the occurrence of cycles. The idea of SAconsists of taking a variable called temperature, t, whose value diminishes in thesuccessive iterations based on a factor termed Tfactor. The variable t is includedwithin the Metropolis function and acts simultaneously as a control variable forthe number of iterations of the algorithm, and as a probability factor for a certainsolution to be accepted. The decrease of t implies a reduction in the probabilityof accepting movements that worsen the cost function. On the other hand, theuse of a limited neighbourhood when the search space is explored can cause theappearance of cycles. In order to avoid this problem, TS complements SA. Thus,when a worsening movement is accepted by the Metropolis rule, the vertex ismoved and included in the tabu list. The set of vertices included in the tabulist cannot be moved in the current iteration, although they are removed fromthis list at the end of the next one. Experimental results [15] indicate that theuse of both techniques improves the results obtained when SA or TS are appliedseparately.

In our experiments the effect of modifying the initial temperature, Ti, and thetemperature decrement factor, Tfactor, is analysed (see Fig. 2). If Ti and Tfactorare randomly chosen an imbalance problem occurs because different number ofiterations are executed in each process. In order to solve this problem we proposeto calculate Tfactor in function of Ti and the number of iterations set for eachprocess. Thus, all the processes start with different initial temperatures, and thealgorithm calculates the value of Tfactor to assure that all processes execute thesame number of iterations. In Fig. 2 several configurations of Ti and Tfactor areshown. In this example, a fixed number of 1000 iterations has been established.If Ti is high (line A) Tfactor is low, so the temperature decreases faster, whilewith lower values of Ti (line J) Tfactor is higher, and the temperature decreasesmore slowly.

3.2 The Heuristic within a Parallel Scheme: PrMSATS

In the previous section, a description of the parameters of rMSATS has beengiven. In order to explore the search space using several initial partitions andannealing parameters, parallel processing has been considered. Furthermore, par-allel processing is very useful because graph partitioning is a NP-complete prob-lem, and the graphs appearing in real applications are usually large.

In [20] parallel evolutionary algorithms are classified as: (1) global single-population master-slave, where a single population is used, and the evaluationof the fitness is distributed among several processors; (2) single-population fine-grained, which consists of a spatially-structured population, where selection andmating are restricted to a small neighbourhood, but neighbourhoods overlappingallows some interaction among all the individuals; and (3) multiple-populationcoarse-grained, where several subpopulations which exchange (migrate) individ-uals occasionally.

The evolution of the population in rMSATS is not based on the applicationof crossover and mutation operators to each individual, but each execution of

Optimising Graph Partitions Using Parallel Evolution 95

0

20

40

60

80

100

120

140

160

0 200 400 600 800 1000

Tem

pera

ture

Iteration

ABCDEFGHIJ

Fig. 2. Parallel variation of the temperature using different annealing parameters

rMSATS independently uses its own parameters over a single solution. For thisreason, and considering the high cost of the migrations due to the large size ofthe test graphs, a reduced number of communications are considered.

In what follows, we detail the characteristics of PrMSATS: i) PrMSATS usesone processor for each individual of the population; ii) each processor appliesGGA to the target graph starting from a random vertex chosen as we haveindicated previously; iii) each processor uses a different initial temperature inaccording to its identifier, id, as we explain in what follows. An interval of initialtemperatures [Ti Min,Ti Max ] is set. Then, the process 1 starts in Ti Min, theprocess P starts in Ti Max, and the others are evenly distributed along this in-terval; iv) Several migration policies among processes have been considered. Thefirst policy, Fig. 3(a), is based on communicating only the processes in the neigh-bourhood, it is, the process Pi only can interchange information alternativelywith Pi−1 and Pi+1. This policy corresponds to a fine-grained implementation.The second policy, Fig. 3(b), is based on an incremental migration, it is, thenumber of processors that interchange information increases according to thenumber of previous communications. It is based on that at the beginning thevalue of t is high, reason why the migrations must be reduced to a certain numberof individuals, while in the next iterations the value of t decreases, and there-fore the probability of accepting bad movements. Thus, the best individuals ofthe population must be migrated to a higher number of processors. The thirdmigration policy, Fig. 3(c), is based on broadcasting the best individual of thepopulation to the other processors.

An elitist tournament selection criterion has been used. If p processes areevaluated in a given iteration, the winner of the tournament sends its currentsolution to the others, that must continue applying rMSATS with this solution,and their own values of t and Tfactor. Using this elitist strategy, the algorithm

96 R. Banos et al.

searches for the best solutions using different SA parameters, instead of wastingthe computational resources exploring solutions with worse fitness. An impor-tant question to analyse is the migration frequency. Taking into account thecharacteristics of rMSATS, and in order to avoid the premature convergence ofthe algorithm, the communications have been established as we detail in whatfollows. Let C be the number of communications, and R the number of refine-ment iterations. Then, the communications are performed only at the iterations{ T

C , 2 · TC , . . . , C · T

C }. In our experiments a value of C=5 has been considered.Next, PrMSATS procedure is detailed.

begin PrMSATSgenerate an initial solution s0;s=s0; s*=s0; s’=s0;select an initial temperature t0>0; t=t0;select the temperature reduction factor, tfactor;n failures=0; iteration=0;while ((iteration<max iteration)and (t>0)and(n failures<max failures))begin

if {(iteration == 12 · max iteration)|| . . . ||(iteration == (2C −1)

2C · max iteration)} thenbeginElitist tournament selection(migration policy);

end iffor each (boundary vertex) dobeginobtain a neighbour solution s− from the current solution s;movement cost=c(s−) − c(s);if (Metropolis(movement cost,t)) thenbegin

s=s−;if (movement cost > 0) theninclude the movement from s− to s as tabu;

if (c(s−)<c(s’)) thens’=s−;

end ifend forif (c(s’)<(c(s∗))) thenbegin

n failures=0;s∗=s’;

end ifelse n failures=n failures+1;s=s’;update tabu list;t=tfactor·t; iteration=iteration+1;

end whiles* is the solution;

end PrMSATSwhere :

s0 : initial solution;s : current solution;s− : neighbour solution obtained from s solution;s’ : temporal best solution;s* : final best solution;

4 Experimental Results

The executions of our algorithm were performed by using test graphs with dif-ferent sizes and topologies. These graphs belong to a public domain set that isfrequently used to compare and evaluate graph partitioning algorithms. Table

Optimising Graph Partitions Using Parallel Evolution 97

0 1 2 3 P−2 P−1

P−1P−23210

P−1P−2

P−2 P−1

3210

0 1 2 3

0 1 2 3 P−2 P−1

0 1 2 3 P−2 P−1

P−1P−23210

P−2 P−10 1 2 3

P−2 P−10 1 2 3

P−1P−23210 P−1P−23210

(b)(a) (c)

0 1 2 3 P−2 P−1

0 1 2 3 P−2 P−1

P−1P−23210

Fig. 3. Migration policies used: (a) Fine-grained, (b) Incremental, (c) Broadcast

1 gives a brief description of them: number of vertices, number of edges, maxi-mum connectivity (max) (number of neighbours to the vertex with the highestneighbourhood), minimum connectivity (min), average connectivity (avg), andfile size.

Table 1. Set of test graphs used to evaluate our procedure

Graph |V| |E| min max avg description File Size (KB)add20 2395 7462 1 123 6.23 20−bit adder 63add32 4960 9462 1 31 3.82 32−bit adder 90

wing_nodal 10937 75488 5 28 13.80 3D mesh 768fe_4elt2 11143 32818 3 12 5.89 2D mesh 341vibrobox 12328 165250 8 120 26.81 Vibroacoustic matrix 1679memplus 17758 54196 1 573 6.10 Vibroacoustic matrix 536

cs4 22499 43858 2 4 3.90 3D mesh 506bcsstk32 44609 985046 1 215 44.16 3D mesh 11368brack2 62631 366559 3 32 11.71 3D mesh 4358

fe_tooth 78136 452591 3 39 11.58 3D mesh 5413fe_rotor 99617 662431 5 125 13.3 3D mesh 7894fe_ocean 143437 409593 1 6 5.71 3D mesh 5242

wave 156317 1059331 3 44 13.55 3D mesh 13479

These test graphs, together with the best solutions known for them, can befound at [21]. These solutions indicate the number of cuts classified by levelsof imbalance (0%, 1%, 3% and 5%). Thus, the reduction in the number of cutsis considered as an objective, while the imbalance degree (less than 5% in ourexperiments) is considered as a restriction. Under these conditions, the costfunction described in (1), has parameters α=1, and β=0; with imbalance(k)≤5for all k in the interval [1,K].

Table 2 shows the results obtained by rMSATS using 1, 5 and 20 differentinitial partitions, obtained by GGA from different initial vertices. The same tem-perature values, Ti=100 and Tfactor=0.995, are used. With these parameters,the number of iterations of the algorithm is 1500. As we can see the use of dif-

98 R. Banos et al.

ferent initial partitions provides a diversity that allows the improvement of thesolution in most cases compared with the use of less initial partitions.

In Fig. 4 the results obtained with different ranges of Ti are shown. In theseexecutions 20 different initial partitions have been considered. Results indicatethat the use of different values of Ti, and Tfactor (calculated for 1500 itera-tions) obtain better results than when the same parameters, Ti=100 and Tfac-tor=0.995, are used. Nevertheless, none of the three selected intervals obtain aclear improvement compared with the others.

Table 3 summarises the results obtained by the three migration schemesimplemented in PrMSATS, with 20 individuals. Results show that the first mi-gration scheme improves the results in 11% of the cases, the second one in the31%, and the third in the 35%, while in the rest of cases (23%) the results areequal. If we compare these results with those previously showed in Table 2, wesee that in most cases PrMSATS improves rMSATS.

Effect of using different initial temperatures (K=16)

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

22000

24000

26000

28000

fe_4elt2 cs4 wing_nodal fe_ocean brack2 fe_tooth fe_rotor

#cut

s

Ti=100 fixed Ti= [150−50] Ti= [50−20] Ti= [20−10]

Fig. 4. Performance of PrMSATS with different temperature intervals.

Finally, Table 4 shows the best results of PrMSATS (Table 3) compared withthe best known solutions obtained by other algorithms [21], with imbalance lessthan 5%. In 9 cases, at least one of the three migration schemes implementedin PrMSATS improves the previously best known solutions, while in other 4cases the results are similar. The runtime of PrMSATS can oscillate between fewminutes and several hours, depending of the test graph considered. Nevertheless,the runtimes are comparable with those of the algorithms included in [21].

5 Conclusions

In this paper a new parallel evolutionary algorithm for graph partitioning hasbeen presented. This parallel algorithm mixes SA, TS and an elitist selection

Optimising Graph Partitions Using Parallel Evolution 99

Table 2. Effect of using different number of initial partitions

K=2 K =4 K =8 K=16 K =32Graph algorithm

cuts imb. cuts imb. cuts imb. cuts imb. cuts imb.

rMSATS1 843 5 1349 5 1791 5 2159 5 2637 4

rMSATS5 715 5 1223 5 1769 5 2128 5 2499 4

add2

0

rMSATS20 701 5 1232 5 1749 5 2122 5 2481 4

rMSATS1 51 2 84 5 154 5 165 5 279 5

rMSATS5 11 5 82 3 123 5 171 3 285 5

add3

2

rMSATS20 10 0 55 2 88 5 158 5 243 5

rMSATS1 1674 5 3626 3 5485 5 8370 5 11905 5

rMSATS5 1673 5 3631 5 5442 5 8394 5 11882 5

win

gno

dal

rMSATS20 1673 5 3545 5 5385 5 8341 5 11831 5

rMSATS1 206 0 385 3 752 5 1223 5 1805 5

rMSATS5 130 0 372 4 715 5 1209 5 1767 5fe4e

lt2

rMSATS20 130 0 394 3 704 5 1170 5 1704 5

rMSATS1 12229 5 20777 5 31092 5 34460 5 42118 5

rMSATS5 11767 5 20923 5 28688 5 34115 5 41418 5

vibr

obo

x

rMSATS20 10714 3 20868 5 26201 5 33476 5 41270 5

rMSATS1 7600 5 10795 5 12644 5 14158 5 15492 5

rMSATS5 7402 4 10554 5 12687 5 14014 5 15129 5

mem

plus

rMSATS20 7119 5 10401 5 12460 5 13858 5 15306 5

rMSATS1 861 4 1554 4 2261 5 2807 5 3355 5

rMSATS5 446 4 1094 5 1914 5 2651 5 3405 5cs4

rMSATS20 421 4 1067 5 1802 5 2472 5 3287 5

rMSATS1 10422 1 29685 5 52697 5 68424 5 86580 5

rMSATS5 10248 2 21181 5 45154 5 70488 5 85455 5

bcss

tk32

rMSATS20 10807 4 21406 5 42607 5 61386 5 82726 5

rMSATS1 711 1 3874 5 8028 5 14816 5 20676 5

rMSATS5 711 2 3743 5 8490 5 14295 5 20497 5

brac

k2

rMSATS20 683 4 3458 5 8304 5 13614 5 20208 5

rMSATS1 3966 5 10486 5 15920 5 23375 5 32624 5

rMSATS5 3896 5 10332 5 16707 5 22602 5 28514 5feto

oth

rMSATS20 4054 5 10117 5 15695 4 21596 5 27642 5

rMSATS1 2058 2 9445 5 17735 5 28694 5 39102 5

rMSATS5 1968 3 7632 3 15875 5 26222 5 38192 5fero

tor

rMSATS20 1956 4 7535 4 16896 5 25672 5 37770 5

rMSATS1 406 2 2670 5 6583 5 12232 5 18482 5

rMSATS5 356 3 2856 5 7238 5 12029 5 17696 5feoc

ean

rMSATS20 317 3 2954 5 6962 5 11501 5 16030 5

rMSATS1 15496 5 30899 5 47786 5 58013 5 74920 5

rMSATS5 10132 5 28235 5 44929 5 57533 5 76448 5

wav

e

rMSATS20 8670 5 28474 5 39365 5 53437 5 72380 5

100 R. Banos et al.

Table 3. Results obtained by the three migration policies

K=2 K =4 K =8 K=16 K =32Graph algorithm

cuts imb. cuts imb. cuts imb. cuts imb. cuts imb.

PrMSATSA 684 5 1249 5 1772 5 2125 5 2462 4

PrMSATSB 684 5 1245 5 1773 5 2125 5 2458 4

add2

0

PrMSATSC 700 5 1245 5 1784 5 2132 5 2498 4

PrMSATSA 11 4 54 3 88 5 139 5 238 3

PrMSATSB 11 4 54 3 88 5 140 5 238 5

add3

2

PrMSATSC 11 1 57 4 85 5 136 5 238 3

PrMSATSA 1670 5 3616 4 5391 5 8323 5 11826 5

PrMSATSB 1670 5 3616 5 5389 5 8326 5 11821 5

win

gno

dal

PrMSATSC 1672 5 3937 5 5467 5 8372 5 11753 5

PrMSATSA 130 0 350 2 707 5 1132 5 1689 5

PrMSATSB 130 0 350 1 707 5 1111 5 1725 5fe4e

lt2

PrMSATSC 130 0 349 0 781 3 1169 5 1715 5

PrMSATSA 10310 0 20545 5 27091 5 33243 5 41518 5

PrMSATSB 10310 3 20532 5 27088 5 33242 5 41513 5

vibr

obo

x

PrMSATSC 10916 0 20531 5 26937 5 33240 5 41603 5

PrMSATSA 7254 5 10488 5 12291 5 13702 5 15307 5

PrMSATSB 7252 5 10482 5 12286 5 13701 5 15304 5

mem

plus

PrMSATSC 7217 5 10475 5 12360 5 14043 5 15402 5

PrMSATSA 365 5 1042 4 1737 5 2457 5 3289 5

PrMSATSB 364 5 1036 4 1727 5 2456 5 3328 5cs4

PrMSATSC 377 5 1041 5 1737 5 2571 5 3318 5

PrMSATSA 10545 5 22268 5 40076 5 63267 5 82048 5

PrMSATSB 10545 5 22269 5 40076 5 63267 5 82048 5

bcss

tk32

PrMSATSC 10545 5 21778 5 39902 5 63110 5 80861 5

PrMSATSA 672 4 2793 5 7808 5 13856 5 18891 5

PrMSATSB 672 4 2793 5 7803 5 13854 5 18889 5

brac

k2

PrMSATSC 665 4 3720 3 7291 5 14409 5 18954 5

PrMSATSA 3878 5 9036 5 15520 5 21675 5 28414 5

PrMSATSB 3898 1 8972 5 15575 5 21670 5 28401 5feto

oth

PrMSATSC 3853 3 10351 5 15053 5 21175 5 28842 5

PrMSATSA 1966 3 7477 3 15873 5 25585 5 37579 5

PrMSATSB 1968 2 7475 3 15874 5 25586 5 37547 5fero

tor

PrMSATSC 1967 2 8006 5 17780 5 26146 5 38874 5

PrMSATSA 317 3 2864 5 6718 5 10697 5 17248 5

PrMSATSB 317 3 2863 5 6731 5 10679 5 17329 5feoc

ean

PrMSATSC 325 3 2515 5 6272 5 10834 5 16593 5

PrMSATSA 8614 5 27060 5 38660 5 53520 5 67053 5

PrMSATSB 8613 5 27056 5 38662 5 53520 5 66999 5

wav

e

PrMSATSC 9769 1 25355 2 43018 5 55558 5 70019 5

Optimising Graph Partitions Using Parallel Evolution 101

mechanism in order to improve the quality of the solutions. The first conclusionobtained is that the diversity of the initial partitions is essential in the searchprocess. As the selection of adequate parameters of rMSATS is very difficult dueto the characteristics of the problem, different values of Ti and Tfactor have beenconsidered. The implemented elitist selection strategies allow the computationalresources to be concentrated in the exploration of the best solutions. In general,the quality of the partitions is better in PrMSATS than in rMSATS.

Our future work in this area is focused to parallelise the multilevel version ofrMSATS, in order to improve the solutions. On the other hand, the treatmentof the problem using multiobjective optimisation techniques will be considered.

Table 4. Comparison of PrMSATS with best known solutions

K=2 K =4 K =8 K=16 K =32Graph algorithm

Cuts imb. cuts imb. cuts imb. cuts imb. cuts imb.

PrMSATS 684 5 1245 5 1772 5 2125 5 2458 4

add2

0

Graph_Archive 618 1 1184 5 1705 5 2186 5 2758 3

PrMSATS 11 4 54 3 85 5 136 5 238 3

add3

2

Graph_Archive 10 0 33 5 69 5 117 5 212 5

PrMSATS 1670 5 3616 4 5389 5 8323 5 11753 5

win

gno

dal

Graph_Archive 1670 5 3566 5 5387 5 8316 5 12024 5

PrMSATS 130 0 349 4 707 5 1111 5 1689 5

fe4e

lt2

Graph_Archive 130 0 349 0 597 5 1007 3 1651 3

PrMSATS 10310 0 20531 5 26937 5 33240 5 41513 5

vibr

obo

x

Graph_Archive 10310 0 19245 0 24158 5 31695 5 41176 5

PrMSATS 7217 5 10475 5 12360 5 13701 5 15304 5

mem

plus

Graph_Archive 5353 5 9427 5 11939 1 13279 5 14384 5

PrMSATS 364 5 1036 4 1727 5 2456 5 3318 5

cs4

Graph_Archive 363 3 936 3 1472 3 2126 3 3080 5

PrMSATS 10545 5 21778 5 39902 5 63110 5 80861 5

bcss

tk32

Graph_Archive 4667 0 9728 3 21307 3 38320 5 62691 5

PrMSATS 665 4 2793 5 7291 5 13854 5 18889 5

brac

k2

Graph_Archive 668 5 2808 5 7080 3 11958 3 17952 3

PrMSATS 3853 3 8972 5 15053 5 21175 5 28401 5

feto

oth

Graph_Archive 3982 0 7152 5 12646 5 18435 1 26016 5

PrMSATS 1966 3 7475 3 15873 5 25585 5 37547 5

fero

tor

Graph_Archive 1974 5 8097 0 13184 5 20773 1 33686 1

PrMSATS 317 3 2515 5 6272 5 10679 5 16593 5

feoc

ean

Graph_Archive 311 3 1704 3 4019 3 7838 3 12746 3

PrMSATS 8613 5 25355 2 38660 5 53520 5 66999 5

wav

e

Graph_Archive 8868 5 18058 1 30583 5 44625 5 63725 5

102 R. Banos et al.

References

1. Alpert, C.J., and Kahng, A., Recent Developments in Netlist Partitioning: A Sur-vey. Integration: the VLSI Journal, 19/1-2 (1995) 1-81.

2. Banerjee, P., Parallel Algorithms for VLSI Computer Aided Design. Prentice Hall,Englewoods Cliffs, New Jersey, 1994.

3. Gil, C.; Ortega, J., and Montoya, M.G., Parallel VLSI Test in a Shared MemoryMultiprocessors. Concurrency: Practice and Experience, 12/5 (2000) 311-326.

4. Mobasher, B., Jain, N., Han, E.H., Srivastava J. Web mining : Pattern discoveryfrom world wide web transactions. Technical Report TR-96-050, Department ofcomputer science, University of Minnesota, Minneapolis, (1996).

5. Shekhar S. and DLiu D.R.. Partitioning similarity graphs: A framework for declus-tering problems. Information Systems Journal, 21/6 (1996) 475-496.

6. Garey, M.R., and Johnson, D.S, Computers and Intractability: A Guide to theTheory of NP-Completeness, W.H. Freeman & Company. San Francisco, 1979.

7. Kernighan, B.W., and Lin, S., An Efficient Heuristic Procedure for PartitioningGraphics, The Bell Sys. Tech. Journal, (1970) 291-307.

8. Fiduccia, C., and Mattheyses, R., A Linear Time Heuristic for Improving NetworkPartitions, In Proc. 19th IEEE Design Automation Conference, (1982) 175-181.

9. Simon, H.D. and Teng, S., How Good is Recursive Bisection?, SIAM J. ScientificComputing, 18/5 (1997) 1436-1445.

10. Gilbert, J., Miller, G., and Teng, S., Geometric Mesh Partitioning: Implementationand Experiments, In Proc. 9th Int. Parallel Processing Symposium,(1995) 418-427.

11. Karypis, G. and Kumar V., Multilevel K-way Partitioning Scheme for IrregularGraphs. Journal of Parallel and Distributed Computing, 48/1 (1998) 96-129.

12. Cong, J., and Smith, M., A Parallel Bottom-up Clustering Algorithm with Ap-plications to Circuit Partitioning in VLSI Design, In Proc. ACM/IEEE DesignAutomation Conference, (1993) 755-760.

13. Bui, T. N. and Moon, B., Genetic Algorithm and Graph Partitioning. IEEE Trans-actions on Computers, 45/7 (1996) 841-855.

14. Soper, A.J., Walshaw, C., and Cross, M., A Combined Evolutionary Search andMultilevel Optimisation Approach to Graph Partitioning, Mathematics ResearchReport 00/IM/58, University of Greenwich, (2000).

15. Gil, C.,Ortega, J.,Montoya, M.G.,and Banos R.,A Mixed Heuristic for Circuit Par-titioning.Computational Optimization and Applications Journal.23/3 (2002) 321-340.

16. Banos R., Gil, C., Ortega, J., Montoya, F.G., Multilevel Heuristic Algorithm forGraph Partitioning. In Proc. 3rd European Workshop on Evolutionary Computa-tion in Combinatorial Optimization. LNCS, 2611 (2003) 143-153.

17. Karypis, G. and Kumar V., A Fast and High Quality Multilevel Scheme for Parti-tioning Irregular Graphs. SIAM Journal on Scientific Comput. 20/1 (1998) 359-392.

18. Kirkpatrick, S., Gelatt, C.D., and Vecchi, M.P., Optimization by simulated anneal-ing. Science, 220, (1993) 671-680.

19. Glover, F. and Laguna M., Tabu Search. In Modern Heuristic Techniques for Com-binatorial Problems. C.R. Reeves (eds.), Blackwell, London, 70-150, 1993.

20. Cantu-Paz, E., A Survey of Parallel Genetic Algorithms. Technical Report IlliGAL97003, University of Illinois at Urbana-Champaign, 1997.

21. Graph Partitioning Archive. ”http://www.gre.ac.uk/ c.walshaw/partition/”. URLtime: April 25th, 2003, 2045.