Click here to load reader
Upload
christos-kannas
View
218
Download
0
Embed Size (px)
Citation preview
A PARALLEL IMPLEMENTATION OF A
MULTI-OBJECTIVE EVOLUTIONARY
ALGORITHM
ITAB 2009
Christos C. Kannas, Christos A. Nicolaou,
Constantinos S. Pattichis
University of Cyprus and Noesis Cheminformatics
OUTLINE
Introduction
Background
Graph Based Evolutionary Algorithms
Parallel Evolutionary Algorithms
Methodology
Multi-objective Evolutionary Graph Algorithm
Parallel Multi-objective Evolutionary Graph Algorithm
Results
Conclusion
Questions ???
10
/26
/2011
2
INTRODUCTION
Multi-objective Evolutionary Algorithms (MOEAs).
Single-objective Problems Single optimal
solution.
Multi-objective Problems Set of equivalent
solutions, Pareto-front.
Parallel Evolutionary Algorithms Parallel
Processing:
General Purpose Graphical Processing Units
(GPGPUs)
Multi- and Many-Core CPUs.
Clusters.
10
/26
/2011
3
BACKGROUND
Graph Based Evolutionary Algorithms:
Graph G(V, E).
Mutations:
Flip Vertex/Edge.
Remove Vertex/Edge.
Add Vertex/Edge.
Problem specific mutations.
Add/Remove Ring.
Add/Remove/Exchange Fragment.
Crossover:
Recombination of Subgraphs.
10
/26
/2011
4
BACKGROUND
Parallel Evolutionary Algorithms (PEAs)
Coarse-grained PEAs:
Several Subpopulations.
Isolation time.
Migration:
Uniformly at random.
Fitness based.
Migration Scheme:
Complete unrestricted net topology.
Ring topology.
Neighbourhood topology.
10
/26
/2011
5
BACKGROUND
Parallel Evolutionary Algorithms (PEAs)
Coarse-grained PEA with Complete net topology.
10
/26
/2011
6
BACKGROUND
Parallel Evolutionary Algorithms (PEAs)
Coarse-grained PEA with Ring topology.
10
/26
/2011
7
BACKGROUND
Parallel Evolutionary Algorithms (PEAs)
Coarse-grained PEA with Neighbourhood topology.
10
/26
/2011
8
BACKGROUND
Parallel Evolutionary Algorithms (cont.)
Fine-grained PEAs:
Master – Slave.
10
/26
/2011
9
METHODOLOGY
Multi-objective Evolutionary Graph Algorithm
(MEGA)
Chromosomes Graphs.
MEGA Workflow:
Working Population.
Fitness Calculation.
Hard Filter.
Pareto Ranking.
Efficiency Calculation.
Parents Selection.
Evolve Parents.
10
/26
/2011
10
METHODOLOGY
Multi-objective Evolutionary Graph Algorithm (cont.)
10
/26
/2011
11
Working Population
1. Fitness Calculation
2. Hard Filter
3. Pareto Ranking
4. Efficiency
Calculation
5. Select Parents
6. Evolve Parents
METHODOLOGY
Parallel Multi-objective Evolutionary Algorithm
(PMEGA)
Python:
Threads Global Interpreter Lock (GIL).
Processes Spawning multiple processes (Our approach).
3rd Party add-ons, MPI4PY, PyCUDA, PyOpenCL.
Key facts:
A set of subpopulations. 2 subpopulations, although this is a
parameter that can change.
A pool of processes. 2 cores 2 processes for simultaneous
execution.
Execution path is the same as MEGA.
10
/26
/2011
12
METHODOLOGY
10
/26
/2011
13
Parallel Multi-objective Evolutionary Algorithm
(PMEGA) (cont.)
PMEGA Workflow.
RESULTS
Testing PC:
Intel Core 2 Duo E8400 @ 3.0 GHz
4 Gbytes RAM
Experiment Setup:
Population 100. (BioAssay 713)
Iterations 200.
5 Runs per experiment.
2 Objectives:
Similarity on 3 ligands, selective to ER-b.
Dissimilarity on 2 ligands, selective to ER-a.
3662 Building blocks, fragments taken from compounds
of BioAssay 1211.
10
/26
/2011
14
RESULTS (CONT.)
Time Results
10
/26
/2011
15
RESULTS (CONT.)
Pareto Front from MEGA
10
/26
/2011
16
RESULTS (CONT.)
Pareto Front from PMEGA
10
/26
/2011
17
RESULTS (CONT.)
MEGA vs. PMEGA
10
/26
/2011
18
CONCLUSION
Quality of solutions:
MEGA and PMEGA behave comparably. Using a better
way to split the subpopulations might result in better
results for PMEGA.
Execution time:
PMEGA 1.6 times faster than MEGA on a 2 core CPU.
10
/26
/2011
19
QUESTIONS ???
10
/26
/2011
20