Parallel implementation of Evolutionary Algorithm for QAP

Similar documents
A New Heuristic for the Quadratic Assignment Problem

Advances in Metaheuristics on GPU

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

Optimization of fuzzy multi-company workers assignment problem with penalty using genetic algorithm

ACO and other (meta)heuristics for CO

A new inter-island genetic operator for optimization problems with block properties

Estimation of Distribution Algorithm with 2-opt Local Search for the Quadratic Assignment Problem

Discrete Cat Swarm Optimization for Solving the Quadratic Assignment Problem

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini

Improved Discrete Differential Evolution Algorithm in Solving Quadratic Assignment Problem for best Solutions

Solving quadratic assignment problem using water cycle optimization algorithm

CHAPTER 4 GENETIC ALGORITHM

SUITABLE CONFIGURATION OF EVOLUTIONARY ALGORITHM AS BASIS FOR EFFICIENT PROCESS PLANNING TOOL

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

ii

A LOWER BOUND FOR THE QAP BASED ON GRAPH THEORY AND LINEAR PROGRAMMING

GA is the most popular population based heuristic algorithm since it was developed by Holland in 1975 [1]. This algorithm runs faster and requires les

Parallel Ant Colonies for Combinatorial. Abstract. Ant Colonies (AC) optimization take inspiration from the behavior

A Pheromone Trails Model for MAX-MIN Ant System

A NEW GENETIC REPRESENTATION FOR QUADRATIC ASSIGNMENT PROBLEM 1

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

Frontier Pareto-optimum

Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem

Scheduling Mixed-Model Assembly Lines with Cost Objectives by a Hybrid Algorithm

THE DEVELOPMENT OF THE POTENTIAL AND ACADMIC PROGRAMMES OF WROCLAW UNIVERISTY OF TECHNOLOGY METAHEURISTICS

A tabu search based memetic algorithm for the max-mean dispersion problem

Hardware/Software Codesign

BI-OBJECTIVE EVOLUTIONARY ALGORITHM FOR FLEXIBLE JOB-SHOP SCHEDULING PROBLEM. Minimizing Make Span and the Total Workload of Machines

336 THE STATISTICAL SOFTWARE NEWSLETTER where z is one (randomly taken) pole of the simplex S, g the centroid of the remaining d poles of the simplex

Parallel Genetic Algorithm to Solve Traveling Salesman Problem on MapReduce Framework using Hadoop Cluster

Evolutionary Linkage Creation between Information Sources in P2P Networks

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007)

Sparse Matrices Reordering using Evolutionary Algorithms: A Seeded Approach

Escaping Local Optima: Genetic Algorithm

GT HEURISTIC FOR SOLVING MULTI OBJECTIVE JOB SHOP SCHEDULING PROBLEMS

CS5401 FS2015 Exam 1 Key

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University

A GA-ACO-Local Search Hybrid Algorithm for Solving Quadratic Assignment Problem

Genetic Algorithms for Solving. Open Shop Scheduling Problems. Sami Khuri and Sowmya Rao Miryala. San Jose State University.

2 The Service Provision Problem The formulation given here can also be found in Tomasgard et al. [6]. That paper also details the background of the mo

Extending MATLAB and GA to Solve Job Shop Manufacturing Scheduling Problems

A Particle Swarm Approach to Quadratic Assignment Problems

Parallel Ant Colonies for the quadratic assignment problem

C 1 Modified Genetic Algorithm to Solve Time-varying Lot Sizes Economic Lot Scheduling Problem

The study of comparisons of three crossover operators in genetic algorithm for solving single machine scheduling problem. Quan OuYang, Hongyun XU a*

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

A Steady-State Genetic Algorithm for Traveling Salesman Problem with Pickup and Delivery

Adaptive Spiral Optimization Algorithm for Benchmark Problems

Open Access A Sequence List Algorithm For The Job Shop Scheduling Problem

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

Optimal Reactive Power Dispatch Using Hybrid Loop-Genetic Based Algorithm

Research Incubator: Combinatorial Optimization. Dr. Lixin Tao December 9, 2003

A Genetic Algorithm for Multiprocessor Task Scheduling

Research on time optimal trajectory planning of 7-DOF manipulator based on genetic algorithm

A Memetic Heuristic for the Co-clustering Problem

Modified Order Crossover (OX) Operator

Homework 2: Search and Optimization

Heuristic Optimisation

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms

A heuristic approach to find the global optimum of function

A HYBRID APPROACH IN GENETIC ALGORITHM: COEVOLUTION OF THREE VECTOR SOLUTION ENCODING. A CASE-STUDY

Branch-and-bound: an example

Cell-to-switch assignment in. cellular networks. barebones particle swarm optimization

New algorithm for analyzing performance of neighborhood strategies in solving job shop scheduling problems

Parallel path-relinking method for the flow shop scheduling problem

Multiprocessor Scheduling Using Parallel Genetic Algorithm

Solving the Traveling Salesman Problem using Reinforced Ant Colony Optimization techniques

Using Genetic Algorithms to Solve the Box Stacking Problem

Scheduling of Independent Tasks in Cloud Computing Using Modified Genetic Algorithm (FUZZY LOGIC)

DETERMINING MAXIMUM/MINIMUM VALUES FOR TWO- DIMENTIONAL MATHMATICLE FUNCTIONS USING RANDOM CREOSSOVER TECHNIQUES

AN IMPROVED ITERATIVE METHOD FOR SOLVING GENERAL SYSTEM OF EQUATIONS VIA GENETIC ALGORITHMS

The Genetic Algorithm for finding the maxima of single-variable functions

Meta-Heuristic Combining Prior, Online and Offline Information for the Quadratic Assignment Problem. Jianyong Sun, Qingfu Zhang and Xin Yao

A Parallel Architecture for the Generalized Traveling Salesman Problem

In Proc of 4th Int'l Conf on Parallel Problem Solving from Nature New Crossover Methods for Sequencing Problems 1 Tolga Asveren and Paul Molito

O(1) Delta Component Computation Technique for the Quadratic Assignment Problem

Genetic Hybrids for the. Quadratic Assignment Problem CHARLES FLEURENT AND JACQUES A. FERLAND. May 16, 1993

Optimization of Makespan and Mean Flow Time for Job Shop Scheduling Problem FT06 Using ACO

An Approach to Polygonal Approximation of Digital CurvesBasedonDiscreteParticleSwarmAlgorithm

AIRFOIL SHAPE OPTIMIZATION USING EVOLUTIONARY ALGORITHMS

A Binary Model on the Basis of Cuckoo Search Algorithm in Order to Solve the Problem of Knapsack 1-0

HEURISTICS FOR THE NETWORK DESIGN PROBLEM

Combining Two Local Searches with Crossover: An Efficient Hybrid Algorithm for the Traveling Salesman Problem

A Population-Based Learning Algorithm Which Learns Both. Architectures and Weights of Neural Networks y. Yong Liu and Xin Yao

Solving the Capacitated Single Allocation Hub Location Problem Using Genetic Algorithm

Combination of Guided Local Search and Estimation of Distribution Algorithm for Quadratic Assignment Problems

A Solution for the Quadratic Assignment Problem (QAP) through a Parallel Genetic Algorithm Based Grid on GPU

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Parameter Optimization for Evolutionary Algorithm Quadratic Assignment Problem

Hybrid approach for solving TSP by using DPX Cross-over operator

A Comparative Study for Efficient Synchronization of Parallel ACO on Multi-core Processors in Solving QAPs

Study on GA-based matching method of railway vehicle wheels

Using Genetic Algorithm with Triple Crossover to Solve Travelling Salesman Problem

Randomized rounding of semidefinite programs and primal-dual method for integer linear programming. Reza Moosavi Dr. Saeedeh Parsaeefard Dec.

A Hybrid Genetic Algorithm for the Distributed Permutation Flowshop Scheduling Problem Yan Li 1, a*, Zhigang Chen 2, b

A Two-Stage Stochastic Programming Approach for Location-Allocation Models in Uncertain Environments

The Memetic Algorithm for The Minimum Spanning Tree Problem with Degree and Delay Constraints

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

Parallel Computing in Combinatorial Optimization

Transcription:

XII International PhD Workshop OWD 2010, 2326 October 2010 Parallel implementation of Evolutionary Algorithm for QAP Anna Obr czka, AGH University of Science and Technology Abstract In this paper the implementation and tests of parellel Evolutionary Algorithm (EA) was presented. The algorithm was implemented as a island model of EA and the OpenMP was used to obtain parallelization. There was also used an interesting model of migration from [5], which was rst time customized to Quadratic Assignment Problem (QAP). Keywords: EA, QAP, parallelization, Open- MP 1. Quadratic Assignment Problem Quadratic Assignment Problem (QAP) was formulated in 1957 by Koopsman and Beckman. QAP is optimalization problem and it belongs to NP-hard problems class. Moreover, nding approximate solution of QAP is NP-hard too. QAP can be present as a mathematical model. Lets consider a set N = {1, 2,..., n} and two n n matrices: D = [d i,k ], F = [f j,l ]. As Π the set of permutations of N can be signied. Now the quadratic assignment problem with coecients matrices D and F can be formulated as follows [2]: min π Π n i=1 j=1 n d π(i),π(j) f i,j. (1) According to this, QAP is a problem of nding this permutation π Π, which minimizes the double sum in (1). It can be dened a function φ(π), which is called objective function [2]: n n φ(π) = d π(i),π(j) f i,j. (2) i=1 j=1 The optimal solution of QAP is permutation π 0, minimizing function (2), and the corresponding objective function value φ(π 0 ) is called an optimal value of QAP. Usually, elements of matrix D are called distances between locations, elements of F are called ows between facilities and π(i) means number of facility assigns to location i. Solution methods for QAP can be divide into two groups: exact algorithms and heuristics. Three main exact techniques are: dynamic programming, cutting planes method and branch and bound procedure and the most eective is the last. This method has been improved since 1962, when Gilmore solved the QAP of size n = 8. In 2000 the solution of nug30 (n = 30) from QAPLIB [3] was nd by Anstreicher. QAP is said to be one of the hardest combinatorial optimalization and operations research problem [4]. Because of their high computational complexity, currently size of QAP solved by exact methods is no more then n = 30. For example, if n = 8, set Π contain n! = 8! = 40320 permutations, if n = 30 amount of permutation is 2.65252859812 10 32. This is the reason to apply heuristic algorithms for greater instances of QAP. A heuristic is an algorithm used to nd a solution quickly, but without quarantee to be correct or, in optimalization, to be optimal. Heuristics are used when the exact algorithms are unknown or they aren't suciently eective. It can be mentioned: local search, constructive methods, simulated annealing, tabu search, greedy randomized adaptive search pro- 127

cedure, ant colony algorithms and genetic algorithms. There are many practical applications of the QAP like architecture planninig, analysis of economic dependencies, electrical wiring problems especially VLSI, assign machines to jobs [1], ranking of archeological data, ranking of a team in a relay race or scheduling parallel production lines [4]. 2. Evolutionary Algorithms Evolutionary Algorithms (EA) are the heuristic algorithms inspired by Theory of Evolution. They operate on set of solutions and, using selection and genetic operators, create new set of better solutions and replace the old ones. The set of solutions we call population and single solution individual. To evaluate a quality of solution we dene the objective function. The object of EA is optimalization value of objective function. First trials, solving QAP by EA, were the hybrid realizations. They mixed classic EA with other heuristics like tabu search or simulated annealing. In 2000 Ahuja, Orlin and Tiwari propsed greedy genetic algorithm, which coped very well with big instances of QAP. In 2003 Drezner obtained even better results, applying his EA mixed with tabu search and special crossover operator. This new genetic algorithm is currently one of the best heuristics to solve QAPs [4]. Very promising in the led of EA are parallel realizations, because parallelism can speed up computations. In 1981 Grefenstette already considered rst teoretical ideas of parallel EA. Now, the most popular and the most often applied is the island model, which is implemented in this work too. The island model divides the whole population into smaller groups subpopulations called islands. There is two new elements in island model: migration and topology. In each island the basic EA work independently and migartion and topology decide about way of communication between them. This communication means exchange of individuals or sometimes informations about parameters of EA. Depend on migration strategy, individuals to exchange are choosen randomly, with any kind of selection or they are the best of current subpopulation. Emigrated individuals can by copy or sent to other island. Similar, immigarants can be added or can repleace some of individuals (for example the worsts). We should also determine values of migration rate and migration size, which means, appropriately, frequency and number of individuals to exchange. Topology denes islands structure and the way of connection between them. Practically, there is no restriction, so we can design whatever we want. We also have no limitations with size and number of subpopulations. It can be equal or dierent number of individuals in each subpopulation and the number of subpopulations can be large or small. This freedom gives a possibility of produce dierent realizations of island model algorithm. 3. Implementation description In this work the island model of EA for QAP was implemented. Because of the QAP is a permutation problem, some elements of algorithm must be adapt to it. It was choosen the permutation encoding for individuals instead of binary. This allows to reduce representation of solution 4 times, for the same size of instance [1]. Besides it is more intuitive. Fig. 1 shows the representation of example solution for size n = 10. Facilities: 10 2 5 9 8 7 3 1 6 4 Locations: 1 2 3 4 5 6 7 8 9 10 Fig. 1. Representation of example solution in QAP. 3.1. Topology Topology is based on the super star-shape model [5]. Four star-shaped structure subpopulations create a universe U. Universes are connected through their central subpopulations. This topology, for three universes, is shown on 128

g. 2. The arrows means possible directions of migration. Parent1: 10 2 5 9 8 7 3 1 6 4 Child1: 2 5 10 9 8 7 3 1 6 4 Parent2: 3 5 10 1 8 9 2 6 4 7 Child2: 10 3 5 1 8 9 2 6 4 7 Fig. 3. Example of PMX operator. For example from g. 4, if there was choosen positions: 2, 3, 5, 9, 10, the mapping is: 2 5, 5 10, 8 8, 6 4, 4 7. Fig. 2. Super star-shape topology. Parent1: 10 2 5 9 8 7 3 1 6 4 Child1: 3 2 5 1 8 9 10 7 6 4 Parent2: 3 5 10 1 8 9 2 6 4 7 Child2: 2 5 10 9 8 6 3 1 4 7 3.2. Operators To obtain a child population the genetic operators, like crossover and mutation, was used. For permutation problems, usually the specic operators was used, which can preserved permutational character of solutions. In my algorithm the two crossover operators: PMX and UX was implemented and one mutation operator: EM. For each of them there was dened a probability of appear, mark appropriately: p P MX, p UX and p EM. They must fulll condition: p P MX + p UX + p EM = 1 (3) The PMX (partially-mapped crossover) operator can be describe in 3 steps: 1. Choose the subsequence in Parent1 and copy it to Child1. 2. From Parent2 copy this position to Child2, which are not yet in it. 3. Rest of position ll basing on mapping. Mapping is created after choose the subsequence. It makes a pairs of values occuring in the same position in subsequence in both parent. For example from g. 3 the mapping is: 9 1, 8 8, 7 9, 3 2, 1 6, 6 4. The UX (uniform crossover) operator is similar to PMX. Main dierence between them is in the rst step couple positions instead of subsequence was choosen. Rest steps is like in PMX. Fig. 4. Example of UX operator. The EM (exchange mutation) operator is very simple. There was choosen two positions and then the values between this positions was exchange. In g. 5 is shown example of this operator. The positions to exchange are: 4 and 7. Parent: 10 2 5 9 8 7 3 1 6 4 3.3. Migration Fig. 5. Example of EM operator. Child: 10 2 5 3 8 7 9 1 6 4 Implemented migration strategy was drawn from [5], but in this work they are rst time adapt to QAP. The main parameter is value θ called threshold, and: 0 θ max{ fit i fit j }, (4) where fit k means the best individual's tness value in subpopulation k. We dene α: { 1, for f it > θ, α = (5) 0, for f it θ, where fit = fit i fit j. In each generation, for two subpopulations: i and j, for which migration is possible, there was evaluated a value of α and then there was completed this steps: 129

1. On the basis of fit it can be described the direction of migration. If fit < 0 migration succeed from subpopulation i to j, if fit > 0 migration has the oposite direction, and if fit = 0 there is no migration. 2. If α = 1, S individuals were choosen to migrate, with tournament selection method, else there is no migration. 3. From target subpopulation S worst individuals were removed and the imigrants can be received. Value S is equal 0.125 subpopulation size. Additionaly there was distinguished two kind of migration: local and global. Local migration is the migration between subpopulations in one universum and it is evaluated in each iteration. Global migration is the migration between universes, which mean migration between central subpopulations and it is evaluated in every 10 iteration. Values of thresholds may be dierent for local and global migration and it was marked: θ L and θ G respectively. 3.4. Parallelism In implemented algorithm an OpenMP was used to obtain a real parallelism. OpenMP (Open Multi-Processing) is an Application Program Interface (API) for C, C++ and Fortran that may be used to explicitly direct multithreaded, shared memory parallelism [6]. Open- MP can be used in any multi-processor, shared memory envirnment, both Unix/Linux and Microsoft Windows platforms. It provides a simple and intuitive pre-processor directives. They de- ne how to divide the code between processors, which parts should be make sequentially and which parellel and the rules of data sharing. Using OpenMP the code was divided to parallel section: the basic island EA with local migration on each universum, and short sequential section: global migartion between universes. It is clearly ilustrated on g. 6, which contain the pseudo code for implemented algorithm. 4. Experiments The algorithm was implemented in C++, compiled and ran on computer with dual core processor: Intel Core 2 Duo T7500 2.20 GHz, with begin Init t = 0 while not STOPCondition do foreach U do parallel begin BasicEA(t) LocalMigration(t) end for if (t%10 = 0) GlobalMigration(t) end if t = t + 1 end while end return BestSolution Fig. 6. Pseudo code for implemented algorithm Linux Gentoo system based on 2.6.33 kernel and the compiler was gcc 4.4.3. All tests was made on the instances from QAPLIB [3]. QAPLIB is the library of QAP instances. It can be found at: http://www.seas.upenn.edu/qaplib/. It contain more then 100 tests examples, their authors and best known solutions. Moreover, it is good source of knowledge about current research of QAP and contacts to people, who do this research. 4.1. Migration Some experiments were designed to choose good values for migration parameters. Migration parameters are: local (θ L ) and global (θ G ) thresholds and number of universes (U). For each instance and each combination of parameters the algorithm was ran 10 times and there was compared average and best obtaining solution F EA. First there was tested local and global migration thresholds θ L and θ G. There must fulll condition 4, which means there can't be greater than the greatest dierence between best subpopulations solutions. However, for various instances, objective function was eveluated from various matrixes D and F. This fact makes big divergence in obtained values of this 130

function. To compare values of θ L a new parameter ψ describing an instance, was dened: ψ = max{d i,j } max{f i,j } (6) The threshold θ G was set to be equal to ψ. Number of universes U was set to 4. We tested 32 instances for θ L equal 10%, 50%, 100% and 200% of ψ. We obtained the best solutions in the shortest time for θ L = 10%ψ. Also for θ L = 1/2ψ algorithm found good solutions, it means that frequent migration improve computations. Second experiments was similar to previous one, because the inuece of global migration frequent was tested. The same parameter ψ de- ned at 6 was used too. The local migration threshold was set to 1/2ψ and number of universes U was still 4. The same 32 instances was tested for θ G equal 10%, 50%, 100% and 200% of ψ. Result of this test shown that the best solutions was obtained for θ G = 1/2ψ. It is compromise between fast convergence and diversity among universes. Last tested thing in migration was number of universes. The θ G was set to ψ and θ L = 1/2ψ. The value of U was changed - rst it was 2, then 3 and 4. Conclusion from this test was very simple - algorithm found better solutions for greater value of U. More details about tests are in [7]. 4.2. Parallelism As was described in sec. 3 the OpenMP was used to parallelize code. Parallel and sequential version of the algorithm was tested to calculate obtained acceleration. Experiment was ran in environment described at the top of this section. Tested instace was nug25. In tab. 1 are the times of computation for sequential and parallel version of code. There are sum of 20 runs T 20 and the average time of one run T av. The acceleration can be evaluated according to equation: S p = T 1 T p, (7) where p processors number, T 1 time of run sequential algorithm, T p time of run parallel Tab. 1. Comparision of sequential and parallel version of algorithm. version T 20 [s] T av [s] sequential 792.47 39.62 parallel 475.35 23.77 version of algorithm on p processors. Obtained acceleration S 2 was: on dual-core processor. S 2 = 792.47 = 1.67 (8) 475.35 The processor load was also checked. Fig. 7 shows cores load while the sequential version was running, and g. 8 cores load while parallel version is runinig. It is simple to see that Fig. 7. Processor load while sequential version is running. Fig. 8. Processor load while parallel version is running. parallel version of code use both core in the same time and it end quicker than sequential version. 4.3. General evaluation In tab. 2 are results of our experiments. F best is the best solution from QAPLIB, F EA is the best solution obtained during three described previous tests and e is the percentage deviations over the F best : e = F EA F best F best 100%. (9) 131

Tab. 2. Comparision between best known solutions from QAPLIB and our best obtained solutions. name F best F EA e [%] esc32a 130 138 6.15 esc32b 168 168 0 esc32c 642 642 0 esc32d 200 200 0 esc32e 2 2 0 esc32g 6 6 0 esc32h 438 440 0.46 esc64a 116 116 0 esc128 64 68 6.25 kra30a 88900 90090 1.34 kra30b 91420 92840 1.55 kra32 88700 91620 3.29 lipa20a 3683 3722 1.06 lipa30a 13178 13412 1.78 lipa40a 31538 31968 1.36 lipa50a 62093 62921 1.33 nug25 3744 3744 0 nug27 5234 5264 0.57 nug28 5166 5202 0.7 nug30 6124 6158 0.56 rou12 235528 235528 0 rou15 354210 361318 2.01 rou20 725522 726920 0.19 scr12 31410 31410 0 scr15 51140 51140 0 scr20 110030 110968 0.85 tai25a 1167256 1194332 2.32 tai30a 1818146 1875472 3.15 tai40a 3139370 3268882 4.13 tai50a 4938796 5129828 3.87 tai60a 7205962 7530808 4.51 tai80a 13511780 14060892 4.06 5. Conclusions The island model of EA was implemented and tested, with migration strategy from [5]. This was rst implementation of this migration model for QAP. The OpenMP was used to parallelize code. The main tested element was migration. The experiments was carried out to check inuence of migration parameters for algorithm. For universes number, it was obtained simple conclusion: algorithm nds better solutions for greater value of U. For thresholds (θ L and θ G ) it is hard to determine one, universal good value, their should be adjust individualy to instances. Proposed strategy: set less value of local migration threshold to provide good information ow between subpopulations, and higher threshold for global migration to preserve diversity among universes. Also parallelism was succesfull tested. Obtained acceleration was equal to 1.67 on dualcore processor. In more parallel environment it will be possible to improve this results, because algorithm can be used with more universes. Algorithm found solutions, which are very close to best known solutions from QAPLIB. Acknowledgment Work nanced by state science funds for 2008-2011 as a research project. Contract no. N N514 414034. Bibliography [1] Chmiel Wojciech: Algorytmy ewolucyjne w optymalizacji przydziaªu zada«z kwadratow funkcj celu, Rozprawa doktorska, AGH Kraków, Wydziaª EAIiE. Promotor: K. Wala [2] Çela Eranda: The quadratic assignment problem: theory and algorithms,kluwer Academic Publishers, 1998 [3] QAPLIB: http://www.seas.upenn.edu/qaplib/ [4] Ji P., Wu Y., Liu H.: A Solution Method for the Quadratic Assignment Problem (QAP), ISO- RA'06, pp. 106-117, 2006 [5] Gu J., Gu X., Gu M.: A novel parallel quantum genetic algorithm for stochastic job shop scheduling, Journal of Mathematical Analysis and Applications, vol. 355, pp. 63-81, 2009 [6] OpenMP: https://computing.llnl.gov/tutorials/openmp/ [7] Obr czka Anna: Równolegªe realizacje algorytmów ewolucyjnych., Praca magisterska, AGH Kraków, Wydziaª EAIiE. Promotor: W. Chmiel Author: mgr in». Anna Obr czka Akademia Górniczo-Hutnicza Katedra Automatyki Al. Mickiewicza 30/B1 30-059 Kraków e-mail: anna.obraczka@gmail.com 132