Parallel Recombinative Simulated Annealing: A Genetic Algorithm. IlliGAL Report No July 1993

Similar documents
2 discretized variales approach those of the original continuous variales. Such an assumption is valid when continuous variales are represented as oat

Robot Position from Wheel Odometry

Structuring Unreliable Radio Networks

Topological structures and phases. in U(1) gauge theory. Abstract. We show that topological properties of minimal Dirac sheets as well as of

Computational statistics

#A50 INTEGERS 14 (2014) ON RATS SEQUENCES IN GENERAL BASES

Stochastic Search: Part 2. Genetic Algorithms. Vincent A. Cicirello. Robotics Institute. Carnegie Mellon University

arxiv: v1 [cs.fl] 24 Nov 2017

1 Caveats of Parallel Algorithms

Adaptive Generalized Crowding for Genetic Algorithms

Polynomial Degree and Finite Differences

Lecture 12: Grover s Algorithm

Zebo Peng Embedded Systems Laboratory IDA, Linköping University

Module 9: Further Numbers and Equations. Numbers and Indices. The aim of this lesson is to enable you to: work with rational and irrational numbers

PROBLEM SOLVING AND SEARCH IN ARTIFICIAL INTELLIGENCE

Chaos and Dynamical Systems

SVETLANA KATOK AND ILIE UGARCOVICI (Communicated by Jens Marklof)

Luis Manuel Santana Gallego 100 Investigation and simulation of the clock skew in modern integrated circuits. Clock Skew Model

0 o 1 i B C D 0/1 0/ /1

Lecture 6 January 15, 2014

Computational Tasks and Models

Chapter 4: Monte Carlo Methods. Paisan Nakmahachalasint

Lecture 9 Evolutionary Computation: Genetic algorithms

1 Introduction Duality transformations have provided a useful tool for investigating many theories both in the continuum and on the lattice. The term

Rollout Policies for Dynamic Solutions to the Multi-Vehicle Routing Problem with Stochastic Demand and Duration Limits

Expansion formula using properties of dot product (analogous to FOIL in algebra): u v 2 u v u v u u 2u v v v u 2 2u v v 2

Exploring Lucas s Theorem. Abstract: Lucas s Theorem is used to express the remainder of the binomial coefficient of any two

Abstract In this paper we consider a parallel and distributed computation of genetic algorithms on loosely-coupled multiprocessor systems. Genetic Alg

Genetic Algorithms with Dynamic Niche Sharing. for Multimodal Function Optimization. at Urbana-Champaign. IlliGAL Report No

FinQuiz Notes

Niching Methods for Genetic Algorithms. Samir W. Mahfoud E. Bay Dr. # Largo, FL IlliGAL Report No

Genetic Algorithms applied to Problems of Forbidden Configurations

arxiv: v1 [cs.lg] 15 Jun 2016

Minimum Wages, Employment and. Monopsonistic Competition

Travel Grouping of Evaporating Polydisperse Droplets in Oscillating Flow- Theoretical Analysis

Distributed Optimization. Song Chong EE, KAIST

Optimal Routing in Chord

EVOLUTIONARY OPERATORS FOR CONTINUOUS CONVEX PARAMETER SPACES. Zbigniew Michalewicz. Department of Computer Science, University of North Carolina

Upper Bounds for Stern s Diatomic Sequence and Related Sequences

Linear Algebra (part 1) : Vector Spaces (by Evan Dummit, 2017, v. 1.07) 1.1 The Formal Denition of a Vector Space

Preface These notes were prepared on the occasion of giving a guest lecture in David Harel's class on Advanced Topics in Computability. David's reques

Depth versus Breadth in Convolutional Polar Codes

Planning With Information States: A Survey Term Project for cs397sml Spring 2002

Linear Regression and Its Applications

At first numbers were used only for counting, and 1, 2, 3,... were all that was needed. These are called positive integers.

Extracted from a working draft of Goldreich s FOUNDATIONS OF CRYPTOGRAPHY. See copyright notice.

A fast algorithm to generate necklaces with xed content

Determinants of generalized binary band matrices

Benchmarking a Hybrid Multi Level Single Linkage Algorithm on the BBOB Noiseless Testbed

5. Simulated Annealing 5.1 Basic Concepts. Fall 2010 Instructor: Dr. Masoud Yaghini

SCATTERING CONFIGURATION SPACES

Hill climbing: Simulated annealing and Tabu search

Fast inverse for big numbers: Picarte s iteration

Lecture 14 - P v.s. NP 1

Optimization Methods via Simulation

Genetic Algorithm. Outline

Zeroing the baseball indicator and the chirality of triples

7.1 Basis for Boltzmann machine. 7. Boltzmann machines

Optimal Rejuvenation for. Tolerating Soft Failures. Andras Pfening, Sachin Garg, Antonio Puliato, Miklos Telek, Kishor S. Trivedi.

CSC 4510 Machine Learning

Crossover Techniques in GAs

Fixed-b Inference for Testing Structural Change in a Time Series Regression

Proceedings of the Seventh Oklahoma Conference on Articial Intelligence, pp , November, Objective Function

1 Hoeffding s Inequality

Robust Network Codes for Unicast Connections: A Case Study

SIMU L TED ATED ANNEA L NG ING

Johns Hopkins Math Tournament Proof Round: Automata

Function Optimization Using Connectionist Reinforcement Learning Algorithms Ronald J. Williams and Jing Peng College of Computer Science Northeastern

Generating p-extremal graphs

Minimizing a convex separable exponential function subject to linear equality constraint and bounded variables

Weak Keys of the Full MISTY1 Block Cipher for Related-Key Cryptanalysis

Divide-and-Conquer. Reading: CLRS Sections 2.3, 4.1, 4.2, 4.3, 28.2, CSE 6331 Algorithms Steve Lai

Representation theory of SU(2), density operators, purification Michael Walter, University of Amsterdam

Weak bidders prefer first-price (sealed-bid) auctions. (This holds both ex-ante, and once the bidders have learned their types)

STRONG NORMALITY AND GENERALIZED COPELAND ERDŐS NUMBERS

Upper and Lower Bounds on the Number of Faults. a System Can Withstand Without Repairs. Cambridge, MA 02139

only nite eigenvalues. This is an extension of earlier results from [2]. Then we concentrate on the Riccati equation appearing in H 2 and linear quadr

Evolutionary Computation: introduction

6. APPLICATION TO THE TRAVELING SALESMAN PROBLEM

Exploring the relationship between a fluid container s geometry and when it will balance on edge

arxiv: v1 [hep-ph] 20 Dec 2012

Genetic Algorithms and Genetic Programming Lecture 17

Comparison of Evolutionary Methods for. Smoother Evolution. 2-4 Hikaridai, Seika-cho. Soraku-gun, Kyoto , JAPAN

Metaheuristics and Local Search

Methods for finding optimal configurations

Local Search & Optimization

Lifting to non-integral idempotents

Capacity of a Two-way Function Multicast Channel

Long non-crossing configurations in the plane

Mathematical Ideas Modelling data, power variation, straightening data with logarithms, residual plots

GENETIC ALGORITHM FOR CELL DESIGN UNDER SINGLE AND MULTIPLE PERIODS

arxiv: v1 [math.nt] 27 May 2018

Heuristic Search Algorithms

Grain Sorting in the One-dimensional Sand Pile Model. J r me Durand-Lose

Inference in Bayesian networks

IN this paper we study a discrete optimization problem. Constrained Shortest Link-Disjoint Paths Selection: A Network Programming Based Approach

MULTIPLE CHOICE QUESTIONS DECISION SCIENCE

Buffer Insertion for Noise and Delay Optimization

Non-Linear Regression Samuel L. Baker

Efficient Cryptanalysis of Homophonic Substitution Ciphers

Transcription:

Parallel Recominative Simulated Annealing: A Genetic Algorithm IlliGAL Report No. 93006 July 1993 (Revised Version of IlliGAL Report No. 92002 April 1992) Samir W. Mahfoud Department of Computer Science University of Illinois at Urana-Champaign 1304 West Springeld Avenue Urana, IL 61801 David E. Golderg Department of General Engineering University of Illinois at Urana-Champaign 104 South Mathews Avenue Urana, IL 61801 Appears in Parallel Computing, 21, pp. 1{28, 1995. (Condensed version, \A Genetic Algorithm for Parallel Simulated Annealing", appears in R. Manner and B. Manderick (eds), Parallel Prolem Solving From Nature, 2, pp. 301-310, Elsevier: Amsterdam) Illinois Genetic Algorithms Laoratory (IlliGAL) Department of General Engineering University of Illinois at Urana-Champaign 117 Transportation Building 104 South Mathews Avenue Urana, IL 61801

Parallel Recominative Simulated Annealing: A Genetic Algorithm Samir W. Mahfoud David E. Golderg Department of Computer Science Department of General Engineering University of Illinois at Urana-Champaign University of Illinois at Urana-Champaign 1304 West Springeld Avenue 104 South Mathews Avenue Urana, IL 61801 Urana, IL 61801 mahfoud@gal4.ge.uiuc.edu golderg@gal2.ge.uiuc.edu Astract This paper introduces and analyzes a parallel method of simulated annealing. Borrowing from genetic algorithms, an eective comination of simulated annealing and genetic algorithms, called parallel recominative simulated annealing, is developed. This new algorithm strives to retain the desirale asymptotic convergence properties of simulated annealing, while adding the populations approach and recominative power of genetic algorithms. The algorithm iterates a population of solutions rather than a single solution, employing a inary recomination operator as well as a unary neighorhood operator. Proofs of gloal convergence are given for two variations of the algorithm. Convergence ehavior is examined, and empirical distriutions are compared to Boltzmann distriutions. Parallel recominative simulated annealing is amenale to straightforward implementation on SIMD, MIMD, or shared-memory machines. The algorithm, implemented on the CM-5, is run repeatedly on two deceptive prolems to demonstrate the added implicit parallelism and faster convergence which can result from larger population sizes. 1 Introduction Simulated annealing (SA) and genetic algorithms (GAs) are similar, naturally motivated, generalpurpose optimization procedures [18]. Both techniques work reasonaly well on a variety of prolems, and require little prolem-specic knowledge other than tness or energy (cost) information. The two techniques generate new points in the search space y applying operators to current points, and move proailistically towards more optimal regions of the search space. SA and GAs possess some crucial ut reconcilale dierences. While in practice oth may converge prematurely to suoptimal points, only SA currently possesses a formal proof of convergence. This proof depends on SA's cooling schedule. By manipulating the cooling schedule, the SA practitioner can exercise control over convergence; slower cooling and more iterations lead to etter nal solutions. GAs employ no such concept of cooling, and GA convergence is not easily controlled. The addition of temperature and cooling may help prove convergence for the GA [12, 18]. Smaller contrasts have to do with loss of solutions, redundancy, and deception. Since SA maintains only one structure (solution) at a time, whenever it accepts a new structure, it must discard the old one; there is no redundancy and no history of past structures. The end result is that good structures and sustructures (in the extreme case the gloal optimum) can e discarded, and, if cooling proceeds too quickly, may never e regained. SA compensates y increasingly sampling good solutions as temperature decreases. GAs are also prone to the loss of solutions and their 1

sustructures or its [13], due to the disruptive eects of genetic operators. Upon disruption, the simple GA will not maintain an old, ut etter solution; it must accept any newly generated solution, regardless of tness. However, the GA partially overcomes this, especially at larger population sizes, y exponentially increasing the sampling of aove-average regions of the search space, known as schemata [17, 27]. A schema is a suset of the solution space, whose elements are identical in certain xed it-positions. Schemata act as a partial history of enecial components of past solutions. However, for each aove-average schema duplicated, a competing, elow-average schema must e discarded. This can lead to troule on hard or deceptive prolems, where low-order, low- tness schemata are needed for the construction of an optimal higher-order schema [19] (Section 6.1 explains deception). SA is similarly suject to deception, as the algorithm will have a dicult time paying extended visits to the high-cost neighors of a deceptive prolem's gloal optimum. A nal ut important dierence etween GAs and SA is the ease with which each algorithm can e made to run in parallel. GAs are naturally parallel they iterate an entire population using a inary recomination operator (crossover) as well as a unary neighorhood operator (mutation). SA, on the other hand, iterates a single point (using only a neighorhood operator); it is not easily run on parallel processors. While attempts have een made to parallelize SA, a straightforward, satisfactory, general-purpose method has not yet een demonstrated. It would thus e desirale to transfer the parallel processing capailities of GAs to SA. The parallelism mentioned aove is the traditional notion of parallelism, which we call explicit parallelism. GAs also exhiit implicit parallelism [27]. In short, implicit parallelism refers to the fact that although GAs explicitly process string representations, they implicitly process schemata. An increase in the numer of strings in the population yields a disproportionately large increase in the numer of schemata processed each generation. Standard methods of parallelizing SA achieve limited explicit speedup, ut exhiit no implicit parallelism. With explicit parallelism alone, we would expect a speedup of less than P, given P processors. With the addition of implicit parallelism, assuming a constant numer of population elements per processor, we can potentially achieve polynomial (superlinear) speedup, since the numer of useful schemata increases polynomially [27]. Section 7 provides two examples of such speedup. Although there is currently no guarantee that this fast-convergence mode of GAs solves all prolems to optimality, there are ample documented cases of its success to warrant the design of simulated annealers which exhiit implicit parallelism. The following two sections review previous attempts at parallel SA, including genetic approaches. Section 4 presents the parallel recominative simulated annealing algorithm, and Section 5 gives gloal convergence properties for three variations. Section 6 descries the test prolems, along with parameters and their settings. The remaining sections present results, their analysis, extensions, and conclusions. 2 The Quest for a Parallel Simulated Annealing This section reviews asic simulated annealing and previous attempts at parallelization. 2.1 Simulated annealing Simulated annealing [2, 29] is an optimization technique, analogous to the physical process of annealing. SA starts with a high temperature T and any initial state. A neighorhood operator is applied to the current state i (having energy E i ) to yield state j (having energy E j ). If E j < E i, j ecomes the current state. Otherwise j ecomes the current state with proaility, e (E i?e j )=T (if j is not accepted, i remains the current state). The application of the neighorhood operator and the proailistic acceptance of the newly generated state are repeated either a xed numer of 2

iterations or until a quasi-equilirium is reached. The entire aove-descried procedure is performed repeatedly, each time starting from the current i and from a lower T. Note that for any given T, a sucient numer of iterations always leads to equilirium, at which point the temporal distriution of accepted states is stationary (this stationary distriution is Boltzmann). Also note that at high T, almost any change is accepted the algorithm visits a very large neighorhood of the current state. At lower T, transitions to higher energy states ecome less frequent and the solution stailizes. Although the choice of an appropriate neighorhood operator is eyond the scope of this paper, some common ones swap or invert k its of the current solution. The SA algorithm, as descried aove, is called the Metropolis algorithm [34]. What distinguishes the Metropolis algorithm from some other potential SA algorithms is the criterion y which the newly generated state is accepted or rejected. An alternative criterion, used in Boltzmann machines and in this paper's implementation of parallel recominative simulated annealing, is to retain the current state with logistic proaility, 1=(1 + e (E i?e j )=T ); otherwise accept the newly generated state [5, 18, 35]. We call this the logistic acceptance criterion. The two criteria oth lead to a Boltzmann distriution. The key to SA's proof of convergence is that a stationary distriution must e reached at each temperature, followed y suciently slow cooling. A side-eect of this proof is that other algorithms which achieve a stationary Boltzmann distriution, and which perform suciently slow cooling, will inherit the same convergence guarantees [18]. 2.2 Basic attempts at parallelization Before proceeding further, one might ask the following question: if SA guarantees convergence, then why alter the algorithm? Speed is the main reason. Although the convergence guarantee applies in theory, given limited computational time and a suciently hard prolem, SA may return an unacceptale, suoptimal solution. An ovious approach to increasing speed is parallelism. However, ecause SA iterates from only one current point, it is not easily made parallel. Nevertheless, many parallel implementations have een suggested or are in use. Most suer from the fact that they attempt to implement the inherently serial Metropolis algorithm in parallel. One such attempt is functional decomposition to divide the evaluation of the cost function among several processors. This may work reasonaly well if the function is decomposale, ut many times it is either not possile to nd a suitale division of laor, or communication times etween processors negate any gain. Even in the decomposale case, there is a highly function-dependent limit on the numer of processors that can e used to cooperatively evaluate a function. Another popular parallel implementation uses all availale processors to simultaneously generate and evaluate neighors of the current solution, until one of the neighors is accepted. A good implementation can e found in [36]. This strategy is most useful late in a run, when most transitions are rejected. Other techniques divide the variales of the structure eing optimized among the availale processors, allowing simultaneous move generation, evaluation, and update of the structure [6, 14, 24, 35]. Synchronization, dependence of variales, and noisy evaluation are important issues that arise in such prolem decomposition approaches. An ideal situation arises if the structure can e decomposed in such a way that all P processors are allocated an equal numer of variales, and each processor's set of variales contriutes independently to the structure's energy. In this case, SA can make independent moves on each processor. Such a situation will present itself in Section 5.2. A dierent approach [1] allows separate processors to perform overlapping computation of transitions at consecutive temperatures. Individual solutions compete against solutions produced at 3

adjacent temperatures, using acceptance proailities which have the net result of approximating the Boltzmann distriution at each temperature. Unfortunately, as processors are added, more overall transitions must e computed to achieve the same degree of accuracy. The authors estimate a critical numer of aout 30 processors, eyond which no further increase in speed is possile. Also worth mentioning is the Boltzmann machine [2, 5], a connectionist network whose units accept transitions according to the logistic acceptance criterion, so that the overall network gravitates towards a gloal energy minimum. Traditionally, the Boltzmann machine has een used for machine learning or pattern classication. However, cominatorial optimization prolems can also e mapped onto the machine [3]. 3 The Genetic Approach A massively parallel simulated annealing would proceed from many points simultaneously and independently, and would periodically reconcile solutions. Genetic approaches attempt this, while oering the additional enet of implicit parallelism. 3.1 Genetic Algorithms Genetic algorithms [17, 27] are inherently parallel, general-purpose optimization procedures, which utilize a \survival of the ttest" approach. New strings are generated y applying genetic operators to strings in the current population. A simple GA employs the selection, crossover, and mutation operators. Simple GAs have their own prolems. Earlier we mentioned disruption of good susolutions y mutation and crossover operators. Varying the amount of disruption presents a tradeo etween diversity and performance (exploration and exploitation). Maintaining diversity is a prominent consideration. GAs using selection alone can not generate solutions outside the population. As selection proceeds, alternatives dwindle. Crossover and mutation generate new solutions, ut with certain limitations. Crossing nearly identical strings yields ospring similar to the parent strings. Consequently, crossover can not reintroduce diversity. Mutation, on the other hand, can generate the full solution space, ut may take an excessively long time to yield a desirale solution. In addition, it is not easy to regulate a GA's convergence. Tuning gloal parameters such as population size, mutation proaility, and crossover proaility, has een the most recommended technique for controlling premature convergence in the GA. Although some guidelines for population sizing do exist [20], and certain parameters are eective for particular test prolems [13, 25], a generally eective method for setting parameters has not yet een demonstrated. Ideal parameters are likely prolem-dependent. 3.2 Genetic Algorithm/Simulated Annealing Hyrids In implementing a parallel SA using GA principles, we seek to incorporate strengths and eliminate weaknesses of oth methods. Ackley employs a Boltzmann-machine-like structure and oth genetic and hillcliming principles in an early hyrid algorithm [4]. However, the added complexity of its underlying connectionist architecture makes comparison with other hyrids dicult. Sirag and Weisser [38] comine several genetic operators into a \unied thermodynamic operator" to solve ordering prolems such as the travelling salesman. The unied operator is applied to two selected parents to yield a single ospring. At high temperatures, the ospring diers dramatically from either parent; at low temperatures, the ospring greatly resemles one or oth 4

parents. The approach comes with no convergence guarantees. It is likely that the use of tnessproportionate selection will heavily ias the population in favor of the est individuals, depriving it of lower-tness points from which to search. Segrest outlines a similar method [37] which lowers temperature each time population entropy stailizes. His method does not incorporate crossover. Boseniuk and Eeling introduce a variety of \Boltzmann-Darwin" strategies for solving the travelling salesman prolem. The simplest strategy [10] runs several SAs with inversion (reversing the order of cities in a su-tour) as the neighorhood operator. Periodically, selection compares the current solutions of two processors, and proailistically overwrites the worse with the etter. A second strategy [8] performs this selection only at the end of the annealing schedule, then restarts annealing at a high temperature. Each annealing schedule is called a \life cycle". A third strategy [9] includes crossover at the end of each life cycle. The authors [9] compare SA and the three strategies, allowing each method identical computation time. The crossover strategy yields the shortest tours, followed closely y the life-cycle strategy. The simplest strategy, while a slight improvement over SA, is far ehind. Brown, Huntley, and Spillane present a hyrid they call SAGA [11]. Each iteration of SAGA consists of several generations of a GA, followed y a full schedule of SA on each population element. To maintain good solutions produced y the GA, SA egins at a lower temperature than it otherwise would. The authors claim etter results on various quadratic assignment prolems than those achieved y either method alone. Lin, Kao, & Hsu do SA rst [30]. Their \annealing-genetic" algorithm performs a series of two-stage cycles of annealing followed y evolution. The annealing stage creates an intermediate population y applying a neighorhood operator and the Metropolis criterion, to current population elements. The evolution stage then applies tness-proportionate selection, crossover, and mutation to the intermediate population to complete the cycle. Golderg's paper on Boltzmann tournament selection [18], which motivated the current study, was the rst to explicitly outline the close correspondence etween SA and GAs. Boltzmann tournament selection proceeds y holding three-way tournaments each generation to ll population slots. Tournament winners are selected according to logistic acceptance and anti-acceptance proailities. Golderg gives oth empirical and analytical evidence that the distriution of population memers over time is nearly Boltzmann. However, due to genetic drift [23], diverse solutions gradually disappear from the population, even at high temperatures [31]. Once crossover and mutation are added, Boltzmann tournament selection experiences the same disruption prolems as the simple GA. A similar algorithm y de la Maza and Tidor [33] does Boltzmann scaling of tnesses prior to tness-proportionate selection. If U is the unscaled utility function, and T is the temperature control parameter, then Boltzmann-scaled tness is given y the equation, F (x) = e U(x)=T, where the sign determines whether maximization or minimization is performed. Also worth mentioning is Eien, Aarts, and Van Hee's \astract genetic algorithm" [15], of which GAs and SA are special cases. Their theoretical view of the two algorithms is complementary to that presented here, specically, that SA \can e viewed as a special form of genetic algorithm characterized y populations of size 1 : : : where children are produced exclusively y mutation." None of the hyrid methods thus far examined have duplicated SA's guaranteed asymptotic convergence. A previous analysis of Boltzmann tournament selection [31] uses Markov chains and empirical simulations to show that genetic drift is a formidale prolem in such selection procedures. The paper states that \traditional selection algorithms which run long enough will eventually lose : : : all ut one class." Accordingly, new hyrid designs may enet from closer resemlance to parallel SA than to the GA, perhaps incorporating crossover as a solution-reconciling neighorhood operator. 5

4 Parallel Recominative Simulated Annealing Parallel recominative simulated annealing (PRSA) closely follows simulated annealing, if one imagines several copies of SA running in parallel, with mutation as the neighorhood operator, and crossover recomining independent solutions. Alternative solutions in PRSA, unlike in Boltzmann tournament selection, do not come purely from the current population, ut from applying oth crossover and mutation. Good solutions disappear only when replaced proailistically y new, often etter solutions; disruption y crossover and mutation is not a prolem. This non-destructive style is similar to those of GENITOR [43] and CHC [16]. PRSA captures the essence and spirit of SA. Suppose we simultaneously run multiple, independent SAs on a prolem, ut we synchronize cooling across processors. This method will approach a Boltzmann distriution for each independent application of SA. The comined distriution from all applications will also approach Boltzmann. The only thing missing is to reconcile the independent solutions. This is where crossover comes in. As demonstrated later, crossover can e viewed as an extension to the common SA neighorhood operator. The resulting population-level neighorhood operator, crossover-plus-mutation, plays a role analogous to the neighorhood operator of SA. 4.1 The algorithm In the algorithm elow, T is temperature, n is population size, and E i is the energy or cost of solution i. Parameters can e set using guidelines from oth SA and GAs. PRSA performs minimization y default; for maximization, traditional GA tness values should e negated. Parallel Recominative Simulated Annealing A. Set T to a suciently high value B. Initialize the population (usually randomly) C. Repeatedly generate each new population from the current population as follows: 1. Do n=2 times: a. Select two parents at random from the n population elements. Generate two children using a recomination operator (such as crossover), followed y a neighorhood operator (such as mutation) c. Hold one or two Boltzmann trials etween children and parents 1 d. Overwrite the parents with the trial winners 2. Periodically lower T 1A Boltzmann trial refers to a competition etween solutions i and j, where element i wins with logistic proaility, 1=(1 + e (Ei?Ej )=T ) (the Metropolis criterion can e sustituted). There are many such competitions possile etween two children and two parents. We consider two possiilities here, and defer discussion of others to Section 8. The rst possiility, doule acceptance/rejection, allows oth parents to compete as a unit against oth children; the sum of the two parents' energies should e sustituted for E i in the aove equation; the sum of the childrens' energies, for E j. The second possiility, single acceptance/rejection, holds two competitions, each time pitting one child against one parent, and keeping the parent with proaility, 1=(1 + e (Eparent?Echild )=T ). Which child competes against which parent? In this study, each parent is tried against the child formed from its own right-end and the other parent's left-end. 6

Note that in PRSA, convergence is strictly regulated y a cooling schedule, and parallelism is limited only y population size. Because of its slow cooling and diversity-maintaining operators, PRSA has little prolem with genetic drift. Although some GAs can function without mutation, PRSA requires mutation or a similar neighorhood operator to achieve its Boltzmann distriutions. Crossover alone, even uniform crossover, would not e sucient, since the mutationless PRSA would only e comining good solutions and not searching in their neighorhoods. Both mutation and crossover are integral parts of the algorithm and must e incorporated into any analysis. 4.2 Required parameters In order to run PRSA, the user must choose the desired population size, operators, and cooling schedule. The population size can e set as it would e in a simple GA. The eects of dierent population sizes are demonstrated later. An appropriate recomination operator must e chosen. We assume single-point crossover throughout this paper, though other recomination operators are useful for specic prolems. Although the simple GA performs crossover with proaility, p c, PRSA crosses at every opportunity (p c = 1:0). The eective p c can e lowered y crossing only a portion of the population, or y crossing once every few generations. No advantages of having p c less than 1.0 are immediately apparent, since PRSA is not oligated to keep low-tness children. This is consistent with the p c used in other non-destructive GAs such as GENITOR [43]. PRSA requires a neighorhood operator such as mutation, or inversion (for permutation prolems). We assume mutation with itwise proaility, p m, in the remainder of the paper. In general, p m should approximate a good SA neighorhood size for a particular prolem. This may require higher mutation rates than those to which genetic algorithmists are accustomed. It is possile to vary p m and, in fact, declining mutation rates are used in this paper's simulations. Optimal neighorhood sizes are prolem-specic and their discussion is eyond the scope of this paper. Cooling schedules are thoroughly discussed in the existing SA literature [2, 6, 26, 28, 35, 39, 42]; many of the SA results should extend to PRSA. In the runs that follow, temperature is decremented via multiplication with a positive constant, CC < 1 :0. PRSA appears suciently resilient to operate under most reasonale cooling schedules and parameter settings. As demonstrated in a later section, most parameters can e set y the program itself. However, it is not the intent of this paper to outline an optimal cooling procedure or optimal parameters, ut to demonstrate the eectiveness and other properties of a parallel SA/GA hyrid. 4.3 Parallel Implementation PRSA can e straightforwardly implemented on a variety of parallel architectures. We present two prototype parallel algorithms, one synchronous and one asynchronous. Versions of oth prototypes were successfully run on the CM-5 (Connection Machine). The prototype synchronous algorithm employs arrier synchronization, where each generation's end is a arrier. It consists of a host program, and a numer of node programs under control of the host. Each node program runs on a separate processor. The host program runs on a processor or other control hardware. Let G e the total numer of generations PRSA is to run and P e the numer of node processors. Assume n=p is a multiple of two. 7

Synchronous Prototype: Host Program A. Repeat G? 1 times: 1. Randomly shue pointers to population elements 2. Receive population (all supopulations) from nodes 3. Send population elements to nodes (according to shued pointers) B. Receive nal population from nodes Synchronous Prototype: Node Programs A. Set T to a suciently high value B. Initialize the supopulation C. Repeat G times: 1. Apply crossover and mutation to all supopulation elements 2. Evaluate children and hold Boltzmann trials 3. Periodically lower T 4. Send supopulation to host 5. Receive new supopulation from host (except on last iteration) The only potential serial ottlenecks in the aove algorithm are the shuing of pointers, and the transfer of population elements etween host and nodes. However, shuing can e performed y the host while the nodes are processing each generation, or y the nodes prior to commencing the aove node program (oth shuing methods worked when implemented on the CM-5). The \transfer" of population elements will have minimal impact on speed, given ecient SIMD hardware or ecient MIMD message-passing. Implementation on shared-memory machines is similar, except no physical transfer is necessary (nodes access the gloal population structure directly via pointers). The prototype asynchronous algorithm is shown elow: Asynchronous Prototype: All Processors A. Set T to a suciently high value B. Initialize the supopulation C. Repeat G times: 1. Apply crossover and mutation to all supopulation elements 2. Evaluate children and hold Boltzmann trials 3. Periodically lower T 4. Send/receive migrants to/from other processors The aove method can e an exact or an approximate implementation of PRSA, depending upon how step C4 is accomplished. We tried an exact implementation for this paper, on the CM-5. Processors employed identical random numer generators to arrive at destination nodes for each population element (step 4 aove), after which, a total of n=2 exchanges were performed. This method produced the results in Section 6. Approximate implementations need not e so strict. Every few generations, a portion of each supopulation can migrate to another processor. Furthermore, a xed topology can govern interconnections etween processors, limiting to neighoring processors the possile destinations for migrants. For GAs, many such implementations have een attempted [7]; smaller migration rates and increasingly local migration led to slower overall convergence. We expect similar ehavior for PRSA; however, slower convergence due to cooling may override slower convergence due to migration. The interaction and interprocessor synchronization of migration and cooling are issues that need to e addressed in any approximate implementation. While parallel implementations of SA perform functional or prolem decomposition, parallel implementations of PRSA perform population decomposition. Since GAs typically thrive on large 8

populations [20], PRSA can e made massively parallel. The aove prototype implementations should encompass most practical parallel implementations. 5 Gloal Convergence Properties In this section, we prove gloal convergence for two variations of PRSA, and discuss convergence properties of an intermediate variation. Variations 1 and 3 of PRSA are proved to e special cases of the Metropolis algorithm. Variation 2 serves as an intermediary etween Variations 1 and 3. These three variations cover a signicant range of possile PRSA implementations. We also examine nite-time convergence properties in this section, and compare distriutions produced under various cost functions with the corresponding Boltzmann distriutions. 5.1 Variation 1: proof of gloal convergence Variation 1 of the PRSA algorithm of Section 4.1 employs selection with replacement in step C1a, and doule acceptance/rejection in step C1c. No population element can e selected as oth parents in step C1a (self-mating is not allowed). While it has een pointed out efore that SA can e viewed as a GA with population size one, the opposite claim, that a GA can e a special case of SA, would seem extraordinary at rst. However, this claim is true for Variation 1 of PRSA. To see this, concatenate all strings of the PRSA population in a side-y-side fashion so as to form one superstring. Dene the tness of this superstring to e the sum of the individual tnesses of its component sustrings (the former population elements). Let cost e the negated tness of this superstring. The cost function will reach a gloal minimum only when each sustring is identically at a gloal maximum. Thus, to optimize all elements of the former population, an algorithm can search for a gloal minimum for the cost function assigned to its superstring. This is precisely what Variation 1 does. Considering the superstring as our structure to e optimized, Variation 1, as displayed graphically in Figure 1, is now a special case of the Metropolis algorithm, where the crossover-plusmutation neighorhood operator is applied to selected portions of the superstring to generate new superstrings. Crossover-plus-mutation's net eect as a population-level neighorhood operator is to swap two locks of the superstring, and then proailistically ip its of these swapped locks and of two other locks (the other halves of each parent). FIGURE 1 As a special case of SA, Variation 1 inherits the convergence ehavior of SA, provided the neighorhood operator meets certain conditions. According to [2], there are two conditions on the neighorhood generation mechanism sucient to guarantee asymptotic convergence. The rst condition requires that it e ale to move from any state to an optimal solution in a nite numer of transitions. The presence of mutation satises this requirement. The second condition is symmetry. It requires that the proaility at any temperature of generating state y from state x is the same as the proaility of generating state x from state y. To prove symmetry, we must show that for all superstrings, x and y, G xy = G yx, where G xy represents the proaility of generating state y from state x using random selection of parents (with replacement; no self-mating), followed y crossover-plus-mutation. Consider two aritrary ut xed superstrings, i and j, each having n sustrings of length l. Assume a xed, it-wise 9

mutation proaility of p m. If i and j dier in more than two sustrings, G ij = G ji = 0. If i and j do not dier in any sustrings, they are identical (i = j), and G ij = G ii = G jj = G ji. Two cases remain, where i and j dier in either one or two sustrings. If they dier in two sustrings, oth of these sustrings must e selected as parents. This event has proaility, 2 n(n?1). For a given crossover operator, the numer of legal crosses, s, is xed, depending only upon l, not upon i, j, or the values of any of their component sustrings. Each of the s crosses is equally likely, and results in the exchange of a xed numer of its etween sustrings. Each exchange on the selected sustrings of superstring i will yield a dierence etween the resulting superstring, i 0 k, and j of k its (k 2 f1; 2; : : :; sg). The corresponding positional exchange on superstring j will also yield a dierence etween the resulting superstring, jk 0, and i of k its. To make i 0 k and j identical requires k mutations in the diering its, and none in the identical its of i 0 k. To make j0 k and i identical requires k mutations in exactly the same it positions of jk 0. This results in overall proailities for the case where i and j dier in exactly two sustrings, of: 2 1 G ij = G ji = (p m ) k (1? p m ) 2l?k : n(n? 1) s k=1 Finally, assume i and j dier in only one sustring. That sustring is chosen as one of the parents with proaility 2 n. The analysis diers from the two sustring case only in the fact that any of the n? 1 remaining choices for the other sustring is acceptale. Assuming sustring x is chosen, crossover at one of the s positions results in a dierence etween superstrings of x;k its. Thus G ij = G ji = 2 1 1 n?1 X sx (p m ) x;k (1? p m ) 2l? n n? 1 x;k ; s x=1 k=1 completing the proof. Symmetry holds under single-point, multi-point, or uniform crossover. 5.2 Variation 2 Variation 2 of PRSA is identical to Variation 1, except it performs selection without replacement in step C1a. Each generation, each population element gets exactly one trial as a parent, allowing steps C1{C1d to run simultaneously on up to n=2 processors. We present Variation 2, without proof, as an intermediary etween Variations 1 and 3, and make some oservations which point to a possile convergence proof for this variation. While Variation 1 is a special case of the serial, Metropolis algorithm, Variation 2 is a special case of the ideal, prolem-decomposition, parallel SA of Section 2.2. View each sustring as a variale of the structure undergoing optimization (the superstring). All variales contriute independently to superstring tness; therefore, applying crossover-plus-mutation to a pair of variales will not aect calculations of dierence in superstring cost for the other n=2? 1 pairs. This method ears resemlance to the \massive parallelization" and \partitioning of congurations" methods of [6], some of which have convergence proofs. Sampling arguments may also lead towards a convergence proof. Each generation in Variation 2, the crossover-plus-mutation neighorhood operator is applied once to each sustring (uniform application). In Variation 1, which was earlier proven to converge, the expected distriution (for applying the neighorhood operator to sustrings) is also uniform. Since Variation 1's expected Boltzmann distriution of accepted states is a function of the expected uniform distriution for application of the neighorhood operator, applying the neighorhood operator in a truly uniform fashion should not alter the expectation of a Boltzmann distriution. sx 10

5.3 Variation 3: proof of gloal convergence Variation 3 of PRSA is identical to Variation 2, except it employs single acceptance/rejection in step C1c. Earlier, we proved convergence for Variation 1 y showing it to e a special case (of the Metropolis algorithm) whose population-level neighorhood operator met two conditions: 1. the aility to generate a path from any solution to an optimal solution, and 2. symmetry. Symmetry is sucient, ut not necessary for gloal convergence in SA. We will follow Hajek's proof [26] to demonstrate gloal convergence for Variation 3. Hajek's proof requires that three conditions e met: 1. that SA e ale to reach any state j from any state i in a nite numer of transitions; 2. weak reversiility that 8 i;j;h SA can reach j from i at height h, SA can reach i from j at height h. A state j is reachale at height h from state i if there exists a path from i to j (via application of the neighorhood operator) such that no state along the path is of energy greater than h; 3. that a cooling schedule of the form, T i = c= log(1 + i), is used, with one iteration at each temperature, where c is greater than or equal to the depth of the deepest local, non-gloal minimum. The analogous proof for PRSA will this time take place at the population-element (sustring) level rather than the population (superstring) level. Let us choose an aritrary sustring, x, and ignore the n? 1 other sustrings. Oviously, an optimal value for x, regardless of the values of the other sustrings, will e an optimal solution to the optimization prolem. Recall that under single acceptance/rejection, each current solution competes against the alternative solution generated from its own right-end and the other parent's left-end, as shown in Figure 1. From element x's perspective, the following neighorhood operator is applied each generation: a crossover point is chosen on x, all its left of the crossover point are replaced y its from an unknown, outside source, and mutation is applied to the intermediate sustring. The resulting sustring competes against x and is proailistically accepted or rejected. We once again have an instance of the Metropolis algorithm, this time acting on a single population element (actually, n instances of the Metropolis algorithm are proceeding in parallel, ut we are ignoring the other n? 1). Hajek's proof extends if we meet condition 3 y using the required cooling schedule. Condition 1 is satised since the presence of mutation in the neighorhood operator allows transition etween any two states. Condition 2 is also satised y the presence of mutation: 8 i;j;h if j is reachale from i via a path whose states are all of energy less than or equal to h, then i is reachale from j via the same path. Note that weak reversiility is a weaker condition than symmetry; it is a necessary and sucient condition for Hajek's proof. 5.4 Finite-time convergence The most asic SA convergence proofs (e.g. Variation 1's proof) require innite transitions at each T [2, 35]. More sophisticated proofs (e.g. Variation 3's proof) require as little as one transition at each T [2, 26, 35, 42]. However, these latter proofs require innite coolings to guarantee full convergence, and exponential coolings to guarantee approximate convergence [2, 35]. In practice, oth SA and GAs have solved a variety of prolems in polynomial time y exploiting regularities in the energy or tness landscape. While such desirale ehavior should not e expected for aritrary prolems, it can e demonstrated for restricted classes of prolems. For instance, SA gloally converges in polynomial time for certain fractal prolems [39]. Additionally, some SA techniques take advantage of prolem-specic regularities to periodically, dynamically alter the annealing schedule [28, 35] (though gloal convergence is currently unproven). Similarly, GAs consistently solve prolems of ounded deception (deception is dened in Section 6.1); research toward proving gloal convergence in su-quadratic time is in progress [20, 41]. 11

Given that practical convergence proofs for SA and GAs are currently in their early stages of development, one must typically give up theoretical convergence guarantees to solve practical prolems. Having done so, we draw from the aove discussion three possile approaches to accelerating PRSA's convergence. The rst is to emulate faster SA techniques y using a theoretically or empirically motivated, possily dynamic, cooling schedule. The second is to emulate fast GAs y relying primarily upon crossover and implicit parallelism for convergence, accelerating cooling as much as possile (towards quenching). The third is to do oth. We choose the second method for the test prolems of this study, under a somewhat aritrary cooling schedule. The third, comined approach remains an interesting possiility. Variation 3 is the one implemented in the remainder of this paper, ut with a cooling schedule faster than that required y Section 5.3's convergence proof. Variation 3 is chosen ecause we expect that single acceptance/rejection will lead to faster convergence than doule acceptance/rejection. 5.5 Boltzmann distriutions We ran some simple preliminary experiments to compare PRSA's distriutions to the Boltzmann distriution. Each experiment, Variation 3 completed G generations at temperature T, using a population size of n and a mutation rate of p m. Structures were 3-it integer strings. Dierent cost functions, E(i), where i is the decoded integer, were tried. Populations were randomly initialized. Boltzmann distriutions and Boltzmann tournament selection (BTS) [18] runs are provided for comparison. Tales 1{4 give the cumulative proportion of time that population memers spent at each possile value, along with the percent divergence of each experimental distriution from the Boltzmann distriution. Percent divergence is the Euclidean distance of the experimental distriution from the target (Boltzmann) distriution, divided y the maximum possile Euclidean distance from the target distriution. Assume the default parameters in Tales 1{4 unless specied otherwise. Tale 1: Distriutions are compared using the linear cost function, E(i) = i. Default parameters are T = 100:0, n = 256, G = 500, and p m = 2 3. i 0 1 2 3 4 5 6 7 % Div. Boltzmann Distriution.1294.1281.1269.1256.1243.1231.1219.1207 0.00% PRSA.1282.1299.1273.1242.1239.1244.1203.1219 0.38% PRSA(G = 100).1310.1267.1318.1251.1164.1282.1215.1193 1.16% PRSA(G = 10).1406.1160.1219.1375.1145.1160.1270.1266 2.70% PRSA(n = 8,G = 100; 000).1307.1297.1261.1262.1244.1228.1210.1192 0.31% PRSA(n = 8,G = 5000).1311.1270.1267.1210.1235.1208.1251.1250 0.82% PRSA(n = 8,G = 5000,p m = 1 3 ).1334.1334.1284.1234.1261.1251.1162.1140 1.24% BTS(p m = 0).1402.1484.1522.1365.1387.1444.0176.1221 12.05% 12

Tale 2: Distriutions are compared using the linear cost function, E(i) = i. Default parameters are T = 1:0, n = 256, G = 500, and p m = 2 3. i 0 1 2 3 4 5 6 7 % Div. Boltzmann Distriution.6323.2326.0856.0315.0116.0043.0016.0006 0.00% PRSA.5993.2260.1018.0354.0239.0080.0042.0015 3.29% PRSA(G = 200).5850.2281.1089.0418.0213.0091.0040.0019 4.55% PRSA(n = 8,G = 5000).6042.2136.1054.0376.0235.0101.0042.0014 3.47% BTS(p m = 0).6532.2432.1004.0017.0007.0005.0002.0001 3.50% Tale 3: Distriutions are compared using the polynomial cost function, E(i) = i 3. parameters are n = 256, G = 500, and p m = 2 3. Default i 0 1 2 3 4 5 6 7 % Div. Boltzmann Dist.(T = 100:0).2156.2135.1990.1646.1137.0618.0249.0070 0.00% PRSA(T = 100:0).1910.1894.1923.1627.1434.0798.0325.0089 4.64% Boltzmann Dist.(T = 1:0).7309.2689.0002.0000.0000.0000.0000.0000 0.00% PRSA(T = 1:0).7222.2713.0040.0013.0009.0003.0001.0000 0.78% Tale 4: Distriutions are compared using the negated order-3 deceptive function shown in Tale 5. Default parameters are n = 256, G = 500, and p m = 2 3. i 0 1 2 3 4 5 6 7 % Div. Boltzmann Dist.(T = 100:0).1413.1385.1330.1068.1228.1068.1068.1441 0.00% PRSA(T = 100:0).1414.1392.1291.1067.1228.1071.1078.1458 0.46% Boltzmann Dist.(T = 1:0).1173.0159.0003.0000.0000.0000.0000.8666 0.00% PRSA(T = 1:0).1862.0286.0012.0002.0005.0001.0003.7829 8.22% Variation 3 of PRSA approximates the Boltzmann distriution on the test prolems, at all experimental temperatures and parameter settings. As more generations complete, experimental distriutions ecome closer to Boltzmann. One interesting oservation from Tales 1 and 2 is that larger populations can compensate for fewer generations; this phenomenon is examined more closely in Section 7. 6 Running PRSA on the Test Prolems This section presents the two test prolems used in this study, and outlines how PRSA parameters were set and adjusted throughout the many runs. Such methodology should work for a variety of optimization prolems, and can e automated so that the program adjusts most parameters. 13

6.1 Two test prolems Deceptive prolems [19, 21, 22] make useful test functions ecause they are of ounded complexity. A deceptive prolem has a gloal optimum and another local optimum, called the deceptive optimum. To understand deception, recall from the introduction that a schema is a suset of the search space whose memers contain identical its in certain, xed it-positions. The tness of a schema is the average tness of the elements it contains. The order of a schema is the numer of xed it-positions it contains. All schemata that have the same it-positions xed, comprise a schema partition of the search space. A schema partition is deceptive if the schema containing the deceptive optimum is tter than all other schemata in the partition. A prolem is order-x deceptive if all partitions consisting of schemata of less than order-x are deceptive. The two test prolems used in this study are 24-it, eight-sufunction versions of Golderg's order-3 deceptive prolem [19, 22]. The tness of a 24-it string is the sum of the tnesses of its sufunctions. Each three-it sufunction is dened in Tale 5. Tale 5: The order-3 deceptive sufunction is dened. x f(x) x f(x) 000 28 100 14 001 26 101 0 010 22 110 0 011 0 111 30 The rst prolem, which we call the tight prolem, is a concatenation of eight such sufunctions, where the rst three its of each 24-it string are interpreted as the rst sufunction, the second three its are interpreted as the second sufunction, and so on. The second prolem, the loose prolem, maximally separates the its of each sufunction throughout the string. Bits 0, 8, and 16 are now interpreted as the rst sufunction, its 1, 9, and 17 make up the second sufunction, and its 7, 15, and 23 make up the eighth sufunction. Both prolems have 2 24 or over 16 million potential solutions, along with 2 8 or 256 local optima, only one of which is gloal. While we can expect single-point crossover to disrupt the tight prolem's uilding locks on occasion, we can expect it to disrupt those of the loose prolem with near certainty. Short, deceptive test prolems were used so as to gain insight into how the algorithm might ehave on dicult prolems, while still keeping the search space tractale. 6.2 Parameters n: population size, as in the simple GA; remains xed CP: cooling period; the temperature drops every CP generations CC 1 : cooling constant for stage 1; every CP generations, T new = CC 1 T old CC 2 : cooling constant for stage 2; every CP generations, T new = CC 2 T old T s : starting temperature, as in simulated annealing T x : switching temperature; PRSA switches to slower cooling once T x is passed T f : nal temperature; algorithm terminates when T f is reached p m : mutation proaility per it 14

6.3 Automatic parameter setting and adjustment Dierent cominations of n and CP, the major control parameters, are tested. In general, the higher oth are, the etter the ultimate result. Higher population sizes increase parallelism, while increases in CP lead to more iterations per temperature. One need only decide how much computation time can e aorded and how complex the particular prolem is, and set n and CP accordingly. Our implementation employs a two-stage cooling schedule to speed up high-temperature processing. The choice was somewhat aritrary, and is not meant to suggest that this style of schedule is optimal. The particular schedule style used should not greatly aect this section's relative comparisons. The rst cooling stage proceeds from the initial temperature, T s, until temperature passes the switching point, T x. The second cooling stage egins at this point, and proceeds to the nal temperature, T f. Every CP generations, temperature is lowered via multiplication y the appropriate cooling constant (T new = CC T old ). The CC 's for the two stages are CC1 = :9 and CC2 = :99. Since we choose to regulate cooling via CP, the CC 's are not varied across runs. Setting T s, T x, and T f requires some care ut can e accomplished automatically y the program. In each of its trials, PRSA must decide etween a current parent solution, i, and an alternative child solution, j. The proaility that i wins the trial is given y k = 1=(1 + e (E i?e j )=T ). We would like T s to e high enough so that i and j are initially accepted with nearly equal proailities, even if i is a much etter solution than j. Let us assume the worst case, where E i << E j. We want k (k > 1=2) to e as close to 1/2 as practical. Letting E = E j? E i (a positive quantity), we can solve for T : T = E=Divisor, where Divisor =? ln( 1 k? 1). For k = 75%, Divisor = 1:0986; for k = 99%, Divisor = 4:5951. What remains is to choose good E values for setting T s and T x. The most conservative choice is the maximum possile energy dierence etween any two population elements, which could e estimated from a sample of the initial population. This maximum dierence would guarantee a proaility of at least 1? k (higher in the average case up to 1/2) of the worse solution winning a trial. In practice, this was found to e too severe a starting criterion. More useful is to take some measure of typical dierence etween randomly-generated population elements as E. A E of one standard deviation from the mean energy worked very well in practice, and was used to set T s and T x throughout this study; it was estimated from a random population sample. The initial population can serve as the random sample, provided it is reasonaly large. Other E, such as average distance apart, or v standard deviations from the mean to achieve some level of statistical signicance, are also possile and should yield similar end results. At T f, we would like the etter alternative to e selected with near certainty under all circumstances. Divisor should e computed at high k, and E should e the smallest dierence we wish to detect. If the smallest dierence is unknown, we can sustitute the minimum, nonzero, asolute energy dierence in a random sample (such as the initial population, or even etter, a lower-energy population after sustantial convergence has taken place). For the test prolems, the minimum detectale energy dierence is known eforehand to e 2. Both prolems use a E of 35 to set T s and T x, and a E of 2 to set T f. T s was set to 32 using the k s = 75% level, T x was set to 7.6168 using k x = 99%, and T f was set to.43524 using k f = 99%. We can now calculate the numer of coolings, z, necessary to go from T s to T f ; z = z1 + z2, where z1 and z2 are the numer of coolings required y stage 1 and stage 2 respectively: T s CC z 1 1 = T x T x CC z 2 2 = T f In the test prolems z1 = 14 and z2 = 285 for a total of z = 299 coolings. PRSA runs a total of G = z CP generations and performs (G + 1) n total function evaluations. 15