A genetic algorithms approach to optimization parameter space of Geant-V prototype

Similar documents
ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

Heuristic Optimisation

Evolutionary Algorithms: Lecture 4. Department of Cybernetics, CTU Prague.

Multi-objective Optimization

Information Fusion Dr. B. K. Panigrahi

Evolutionary multi-objective algorithm design issues

Escaping Local Optima: Genetic Algorithm

Part II. Computational Intelligence Algorithms

Improving Performance of Multi-objective Genetic for Function Approximation through island specialisation

CHAPTER 6 REAL-VALUED GENETIC ALGORITHMS

Multi-objective Optimization

Genetic Algorithm for Finding Shortest Path in a Network

Neural Network Weight Selection Using Genetic Algorithms

Genetic Algorithms Variations and Implementation Issues

Introduction to Evolutionary Computation

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms

International Journal of Computer Techniques - Volume 3 Issue 2, Mar-Apr 2016

Unsupervised Feature Selection Using Multi-Objective Genetic Algorithms for Handwritten Word Recognition

Biology in Computation: Evolving Intelligent Controllers

Sparse Matrices Reordering using Evolutionary Algorithms: A Seeded Approach

4/22/2014. Genetic Algorithms. Diwakar Yagyasen Department of Computer Science BBDNITM. Introduction

Genetic Algorithms for Vision and Pattern Recognition

Evolutionary Algorithms. CS Evolutionary Algorithms 1

Evolutionary Algorithm for Embedded System Topology Optimization. Supervisor: Prof. Dr. Martin Radetzki Author: Haowei Wang

Evolutionary Multi-objective Optimization of Business Process Designs with Pre-processing

Multi-Objective Optimization Using Genetic Algorithms

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

DERIVATIVE-FREE OPTIMIZATION

MULTI-OBJECTIVE GENETIC LOCAL SEARCH ALGORITHM FOR SUPPLY CHAIN SIMULATION OPTIMISATION

SPEA2+: Improving the Performance of the Strength Pareto Evolutionary Algorithm 2

Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

What is GOSET? GOSET stands for Genetic Optimization System Engineering Tool

OPTIMIZATION EVOLUTIONARY ALGORITHMS. Biologically-Inspired and. Computer Intelligence. Wiley. Population-Based Approaches to.

Non-Dominated Bi-Objective Genetic Mining Algorithm

Pseudo-code for typical EA

GENERIC SCHEME OF A RESTART META-HEURISTIC OPERATOR FOR MULTI-OBJECTIVE GENETIC ALGORITHMS

MULTI-OBJECTIVE EVOLUTIONARY ALGORITHMS FOR ENERGY-EFFICIENCY IN HETEROGENEOUS WIRELESS SENSOR NETWORKS

Selection of Optimal Path in Routing Using Genetic Algorithm

Function Approximation and Feature Selection Tool

March 19, Heuristics for Optimization. Outline. Problem formulation. Genetic algorithms

Mechanical Component Design for Multiple Objectives Using Elitist Non-Dominated Sorting GA

Multiobjective RBFNNs Designer for Function Approximation: An Application for Mineral Reduction

Hardware Neuronale Netzwerke - Lernen durch künstliche Evolution (?)

Computational Intelligence

Artificial Intelligence Application (Genetic Algorithm)

CS5401 FS2015 Exam 1 Key

Introduction to Genetic Algorithms. Based on Chapter 10 of Marsland Chapter 9 of Mitchell

Incorporation of Scalarizing Fitness Functions into Evolutionary Multiobjective Optimization Algorithms

The Parallel Software Design Process. Parallel Software Design

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2

Finding Sets of Non-Dominated Solutions with High Spread and Well-Balanced Distribution using Generalized Strength Pareto Evolutionary Algorithm

Multiobjective Prototype Optimization with Evolved Improvement Steps

Bi-Objective Optimization for Scheduling in Heterogeneous Computing Systems

Multiobjective Optimization Using Adaptive Pareto Archived Evolution Strategy

DEMO: Differential Evolution for Multiobjective Optimization

Chapter 2 Some Single- and Multiobjective Optimization Techniques 2.1 Introduction

Genetic Algorithms. Genetic Algorithms

Aero-engine PID parameters Optimization based on Adaptive Genetic Algorithm. Yinling Wang, Huacong Li

Approximation Model Guided Selection for Evolutionary Multiobjective Optimization

DCMOGADES: Distributed Cooperation model of Multi-Objective Genetic Algorithm with Distributed Scheme

Time Complexity Analysis of the Genetic Algorithm Clustering Method

Multi-Objective Pipe Smoothing Genetic Algorithm For Water Distribution Network Design

Genetic Algorithms. Kang Zheng Karl Schober

Adaptive Crossover in Genetic Algorithms Using Statistics Mechanism

Genetic Algorithms. PHY 604: Computational Methods in Physics and Astrophysics II

Evolutionary origins of modularity

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

Genetic Algorithm Performance with Different Selection Methods in Solving Multi-Objective Network Design Problem

Global Optimization of a Magnetic Lattice using Genetic Algorithms

NEURO-PREDICTIVE CONTROL DESIGN BASED ON GENETIC ALGORITHMS

CHAPTER 2 MULTI-OBJECTIVE REACTIVE POWER OPTIMIZATION

Intelligent Control. 4^ Springer. A Hybrid Approach Based on Fuzzy Logic, Neural Networks and Genetic Algorithms. Nazmul Siddique.

Review: Final Exam CPSC Artificial Intelligence Michael M. Richter

Multi-Objective Optimization using Evolutionary Algorithms

METAHEURISTIC. Jacques A. Ferland Department of Informatique and Recherche Opérationnelle Université de Montréal.

CHAPTER 2 CONVENTIONAL AND NON-CONVENTIONAL TECHNIQUES TO SOLVE ORPD PROBLEM

CHAPTER 6 HYBRID AI BASED IMAGE CLASSIFICATION TECHNIQUES

The k-means Algorithm and Genetic Algorithm

Comparison of Evolutionary Multiobjective Optimization with Reference Solution-Based Single-Objective Approach

Evolutionary Computation Part 2

Multi-Objective Optimization using Evolutionary Algorithms

Traffic Signal Control Based On Fuzzy Artificial Neural Networks With Particle Swarm Optimization

Automata Construct with Genetic Algorithm

Lecture

Improving interpretability in approximative fuzzy models via multi-objective evolutionary algorithms.

Bayesian Optimization Algorithms for Multi-Objective Optimization

Engineering design using genetic algorithms

A Multiobjective Memetic Algorithm Based on Particle Swarm Optimization

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search

Overview of NSGA-II for Optimizing Machining Process Parameters

Heuristic Optimisation

Lamarckian Repair and Darwinian Repair in EMO Algorithms for Multiobjective 0/1 Knapsack Problems

Evolving SQL Queries for Data Mining

The Multi-Objective Genetic Algorithm Based Techniques for Intrusion Detection

Introduction (7.1) Genetic Algorithms (GA) (7.2) Simulated Annealing (SA) (7.3) Random Search (7.4) Downhill Simplex Search (DSS) (7.

NCGA : Neighborhood Cultivation Genetic Algorithm for Multi-Objective Optimization Problems

STUDY OF MULTI-OBJECTIVE OPTIMIZATION AND ITS IMPLEMENTATION USING NSGA-II

CHAPTER 4 GENETIC ALGORITHM

Research Article Path Planning Using a Hybrid Evolutionary Algorithm Based on Tree Structure Encoding

A Similarity-Based Mating Scheme for Evolutionary Multiobjective Optimization

Transcription:

A genetic algorithms approach to optimization parameter space of Geant-V prototype Oksana Shadura CERN, PH-SFT & National Technical Univ. of Ukraine Kyiv Polytechnic Institute

Geant-V parameter space [1/2] Component s parameters Concurrency properties Queue management Hardware properties GeantPropogator Number of locks Scheduler properties CPU/GPU/ MIC/ARM GeantScheduler Cache locality/ memory management Queue properties GeantTaskManager GeantWorkload Management

Geant-V parameter space [2/2] First approach what we should try to tune for Geant-V prototype: GeantPropagator! NThreads NEvents NTracks NperBaskets NminThreshold = NEvents x NTracks NMaxperBasket GeantScheduler! NVolumes = depends of Geometry NTracks NPriority GeantTaskManager! NThreads GeantWorkloadManager! NThreads NBaskets NIdleThreads MinFeeder and etc.

Why we need optimisation? Geant-V is multicomponent software prototype with a complex behaviour of system as black box Geant-V is using all possible levels of parallelism, which makes complex to predict the quality (for example speed-up in Amdahl law) of simulation as a final result Correlated parameters (for example memory usage / RT) are not-easy to tune without multi-objective optimisation approach.

Genetic algorithm approach for optimization complex systems Genetic Algorithms (GAs) are population based search and optimisation methods that mimic the process of natural evolution. They fall in the category of stochastic global optimisation algorithms. Over the recent years GAs have been successfully applied to solve different MINLPs. GAs are easy to implement and are black box optimisers as they do not require any auxiliary information like continuity or differentiability of functions. They are robust and usually do not get trapped in a local optima. Basic algorithm: Choose a population size. Choose the number of generations NG. Initialize the population. Repeat the following for NG generations: Select a given number of pairs of individuals from the population probabilistically after assigning each structure a probability proportional to observed performance. Copy the selected individual(s), then apply operators to them to produce new individual(s). Select other individuals at random and replace them with the new individuals. Observe and record the fittness of the new individuals. Output the fittest individual as the answer.

Multi-objective GA Algorithms The ultimate goal of a multi-objective optimization algorithm is to identify solutions in the Pareto optimal set. However, identifying the entire Pareto optimal set, for many multi objective problems, is practically impossible due to its size. In addition, for many problems, especially for combinatorial optimization problems, proof of solution optimality is computationally infeasible. Therefore, a practical approach to multi-objective optimization is to investigate a set of solutions (the best-known Pareto set) that represent the Pareto optimal set as much as possible. Algorithms: Vector Evaluated Genetic Algorithms (or VEGA),Multi-objective Genetic Algorithm (MOGA), Niched Pareto Genetic Algorithm, Random Weighted Genetic Algorithm (RWGA), Nondominated Sorting Genetic Algorithm (NSGA), Strength Pareto Evolutionary Algorithm (SPEA), Pareto-Archived Evolution Strategy (PAES), Fast Non-dominated Sorting Genetic Algorithm (NSGA-II), Multi-objective Evolutionary Algorithm (MEA), Rank-Density Based Genetic Algorithm (RDGA).

Chromosome's encoding and fitness function for GA Two main problem of GA approach are to select what&how will be coded as a representation of chromosome and find correct set of fitness functions Set of fitness functions will be selected from structure/ mathematical model of component interaction due to acceptable limitations of parameters in Geant-V (currently for tests I am using run.c as a basic fitness function with evaluation values of RT and memory usage) Representation of chromosome: could be binary encoding, permutation encoding, value encoding, tree encoding depends data. For simplicity had started with binary encoding

Optimization methods for GAs: clever & more faster [1/2] Principal component analysis (PCA), where main purposes are the analysis of data to identify patterns and finding patterns to reduce the dimensions of the dataset with minimal loss of information. Could be used for tuning chromosomes classes. Outcome of the principal component analysis is to project a feature space (our dataset consisting of n x d-dimensional samples) onto a smaller subspace that represents our data well. A possible application would be a pattern classification task, where we want to reduce the computational costs and the error of parameter estimation by reducing the number of dimensions of our feature space by extracting a subspace that describes our data best.

Optimization methods for GAs: clever & more faster [2/2] Suggestion for better performance: Instead of a simple weighted approach, add an intermediary intelligent system and optimise that system. E.g. weights of a neural network or parameters of a fuzzy logic system. What we can try to use? Neuroevolution, or neuro-evolution, is a form of machine learning that uses evolutionary algorithms to train artificial neural networks. A main benefit is that neuroevolution can be applied more widely than supervised learning algorithms, which require a syllabus of correct input-output pairs. For example: NeuroEvolution of Augmenting Topologies (NEAT) is a genetic algorithm for the generation of evolving artificial neural networks (a neuroevolution technique). It alters both the weighting parameters and structures of networks, attempting to find a balance between the fitness of evolved solutions and their diversity. It is based on applying three key techniques: tracking genes with history markers to allow crossover among topologies, applying speciation (the evolution of species) to preserve innovations, and developing topologies incrementally from simple initial structures ( complexifying).

Research plan Modelling of possible set of fitness functions and study of possible chromosome representation and appropriate genetic operators Usage of basic GA with different pairs of (input data/fitness func.) for observation of behaviour of system and correctness of pairs Usage of standard multi-objective GAs for more observation of more complex relationships between components Improvement of GA with PCA and neural weights approach

First approaches and first results (tests) Test of simple single-objective GA for GeantV prototype (using DEAP library) with a main goal of minimisation runtime of prototype depends of vector size of analysed particles. Chromosome representation - binary, size of population - 10, generations - 10 XXXXXXX 7 bit : first 3 are representing number of threads for prototype, last 4 are is encoded size of vector [8,1024] Chromosome is generated randomly Fitness function is runtime (RT) of prototype Genetic operators: Crossover in two points Selection - Tournament strategy Mutation - mutation with flipping bit with probability for individual 0.05 Result:.. Min 16.1262111664 Max 24.1407270432 Avg 18.0737879038 -- End of (successful) evolution -- Best individual is [1, 0, 1, 1, 1, 0, 0], (16.126211166381836,) 1011 = 1+2+8 = 11 threads 100 = 64 bit vector