Simulated Binar Crossover F Continuous Search Space: Comp Systems
The document describes a new crossover operator called Simulated Binary Crossover (SBX) for genetic algorithms with continuous search spaces. SBX aims to address difficulties with binary coding like inability to achieve arbitrary precision and Hamming cliffs. It simulates the search power of single-point crossover used in binary genetic algorithms without using variable coding. Simulation results show SBX performs as well or better than binary coding on test problems with continuous variables.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
115 views
Simulated Binar Crossover F Continuous Search Space: Comp Systems
The document describes a new crossover operator called Simulated Binary Crossover (SBX) for genetic algorithms with continuous search spaces. SBX aims to address difficulties with binary coding like inability to achieve arbitrary precision and Hamming cliffs. It simulates the search power of single-point crossover used in binary genetic algorithms without using variable coding. Simulation results show SBX performs as well or better than binary coding on test problems with continuous variables.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34
Complex Systems 9 (1995) 115-148
Simulated Binary Crossover for
Continuous Search Space Kalyanmoy Deb' Ram Bhushan Agr awal Department of Mechanical Engineering, Indi an Insti tu te of Technology, Kanp ur, UP 208 016, India, Abst ract . The success of binary-coded gene t ic algorithms (GAs) in problems having discret e sear ch space lar gely depends on the coding used to represent the problem var iables and on the crossover ope r- at or that propagates buildin g blocks from parent strings t o children st rings . In solving optimization problems having continuous search space, binary-coded GAs discr et ize the search space by using a coding of the problem var iables in binary st rings. However , t he coding of real- valued vari ables in finit e-length st rings causes a number of difficult ies: inability to achieve arbit rary pr ecision in the obtained solution , fixed mapping of problem var iables, inherent Hamming cliff problem ass o- ciated wit h binary coding, and processing of Holland's schemata in cont inuous search space. Although a number of real-coded GAs are developed to solve optimization problems having a cont inuous search space, the search powers of these crossover operators are not adequate . In t his paper , t he search power of a crossover operator is defined in t erms of the probability of creating an arbitrary child solut ion from a given pair of parent solutions . Motivated by t he success of binary- coded GAs in discret e search space problems , we develop a real-coded crossover (which we call t he simulated bi nar y crossover , or SBX) oper- ator whose search power is similar to t hat of the single-point crossover used in binary-coded GAs . Simulation res ults on a number of real- valued t est problems of varying difficulty and dimensionality suggest t hat t he real-coded GAs wit h t he SBX operator ar e able to perfor m as good or bet t er than binary-coded GAs wit h t he single-po int crossover. SBX is found to be particularly useful in problems having mult iple op- t imal solutions with a narrow global basin and in problems where the lower and upper bounds of the global optimum are not known a pri- ori. Further , a simulation on a two-var iable blocked function shows that the real-coded GA with SBX works as suggested by Goldberg *Eletronic mail addr ess: deb @ii t k . ernet. i n. 116 Kelyesunoy Deb and Ram Bhushan Agrawal and in most cases t he performance of real-coded GA with SBX is sim- ilar to that of binary GAs wit h a single-point crossover. Based on these encouraging results, t his paper suggests a number of extensions t o the present st udy. 1. Int ro duction The crossover operat or is believed to be t he main search operat or in t he working of a genetic algorit hm (GA) as an optimization tool (e.g., [1]). The purpose of a crossove r ope rator is two-fold. Init ial random strings represent - ing the pr oblem var iables must be searched thoroughl y in order to create good strings . Thereafter , good porti ons of t hese strings must be combined t o form bet t er st rings . A number of crossover operators exist in t he GA lit erature; however the search power to achieve both of t he above aspects differs from one crossover to anot her . The success ful operat ion of GAs al so depends on t he coding mechanism used t o rep resent t he problem variables (e.g., [2,3]). Unless good bui lding blocks are coded tightly , t he cross over operator can- not combine the building blocks toge t her (e.g. , [4]). This coding-crossover int eraction is import ant for t he success ful working of GAs . The success of binary-coded GAs in problems having discret e search space is lar gely due t o the careful choice of a coding and a crossover operator t hat complements each ot her 's int eracti on in propagating useful building blocks in success ive generat ions . The pro blem of tight or loose coding of problem variables is lar gely known as t he linkage problem, which has been recentl y attempte d for binary-coded GAs using messy GAs (e.g., [4,5]). In real- coded GAs, how- ever, t he variables are dir ectl y used. Thus, the t ight or loose coding of bits const it ut ing a variable does not arise, but t he ti ght or loose coding of dif- ferent variabl es st ill exists . Whether there reall y exist s a real-coded GA to solve t his linkage problem is a matte r of int eresting fur ther resear ch. We recognize t he importance of this aspect of coding inherent t o problems with mult iple vari ables in the successful working of GAs, but we do not address t his issue in t his pap er. Inst ead, we devise a real-coded cross over operator t hat addresses some of t he other difficul ti es inherent t o binary-coded GAs in problems having cont inuous search space. In solving problems having cont inuous search space using binary-coded GAs, binary strings are usually chosen t o code t he problem variables. When a binary (discrete) coding is used for cont inuous search space, a number of difficult ies arise. One difficulty is t he Hamming cliffs associated wit h cer- tain st rings , from whi ch a transiti on to a neighboring solut ion (in real space) requires t he alterati on of many bit s. Hamming cliffs in the binar y coding cause artificial hindr ance t o a gradual search in the cont inuous search space. Another difficul ty is t he inability to achieve any arbit rary precision in the opt imal solut ion. In binar y-coded GAs, t he st ring length must be chosen a priori to enable GAs to achieve a certain precision in the solut ion. The more pr ecision requi red , t he lar ger t he st ring length. For lar ge st rings , t he popu- lation size requirement is also lar ge (e.g., [6]), thereby increasing t he compu- Simul at ed Binary Crossover for Continuous Search Space 117 tational complexity of t he algorit hm. Since fixed mapped coding is used to code the vari abl es, t he variable bounds must be such that t hey br acket the opti mum variable value. In many pro blems this information is not usuall y known a priori , t his may cause some difficulty in using binar y-coded GAs for those problems. Further, a car eful thinking of the schema processing in bi- nary st rings reveal s that not all of Holland's schemata are equally import ant in most problems having cont inuous search space. To a cont inuous search space, the meaningful schemata are those that represent the cont iguous re- gions of the search space. The schema (* * * * 1), for example, represents every ot her point in the di screti zed search space. Alt hough this schema may be useful in cert ain periodic or oscillatory functions, the schema (1 * * * *) signifies a more meaningful schema representing the ri ght half of the sea rch space in most pr obl ems. Thus, the crossover operator used in the binar y coding needs to be redesigned in order t o increase the prop agation of more meaningful schemata pertaining t o cont inuous search space. However , motivat ed by t he success of bin ar y GAs in discret e search space pr oblems and reali zing the need for an efficient real-coded GA to eliminate the above difficulties, we devised a real-coded crossover operator t hat simply simulates a binary cross over operator t hat works wit hout using t he coding of vari able s. In order to achieve that we define t he search power of a crossover operat or in t erms of t he prob ability dist ributi on of any ar bit rary child string to be creat ed from any two given par ent st rings.' The search power of the single-point cross over operator is first calculated. Later, the simulated binary cross over (SBX) is developed having a search power similar to t hat of t he single-point crossover. The difference in the implement ati ons of t he real- coded GAs wit h SBX and binary-coded GAs wit h single-point crossover is that in t he former method the coding of variables is eliminated and a child string is create d from a probability dist ributi on t hat depends on the locati on of the par ent st rings . Although a number of ot her real-coded GAs exist (e.g., [8,9]), t he search power , as defined in this pap er , of those cross over ope ra t ors is not adeq uate. The st udy in [8] is par ti cularl y important in that t hey introduced t he concept of a schema (which they called int erval schema) that is relevant for cont inu- ous search space. It may be mentioned here that t he int erval schemata are conceptuall y similar t o the vir t ual alphabets int roduced in [10] and locality formae defined in [7] . The virtual alphabets , the locality formae, or the in- t erval schemat a represent contiguous regions in the search space. Although a blend crossover (BLX) operator was devised in [8] it was not construc ted wit h the int erval-schema viewpoint. In sect ion 4.1, we observe t hat the best-found crossover in [8] does not quite sat isfact orily propagate interval schemata from l The design of a crossover operat or depends on a numb er of ot her factors such as respect, assortment , and t ra nsmissibility of formae (simil arity temp lates) as suggested in [7] . The crossover operat or designed her e satisfi es Radcliffe's design criteri a, but it is not a R 3 (random, respectful, recombinat ion) operator . Instead, th e deviation from t he random distribution of children and the abilit y t o access search poi nt s (Radcliffe's ergodicit y crit erion) is used to define the search power of a crossover operator. 118 Kalyanmoy Deb and Ram Bhushan Agra wal parents to t he children poi nts. Interestingly, we find t hat a special case of SBX operator processes int erval schemata better than t he BLX-0.5 operator found in [8]. In discussions on evoluti on strategy, real-valued parameters are direct ly used, but mutation is used as th e main search operator (e.g., [11]). Crossover operators are also being used in evolutio n strategy st udies (e.g., [12]). For each var iable, the discret e crossover choos es one of t he parent values as t he child, the int ermediate crossover uses the average of the parent values as t he child. Alt hough other types of crossover operators ar e introduced, t hese operators are det erminist ic and can create only one search point . Thus, these operators do not have adequate search power. However , if the effect of crossover and t he subs equent mutation operator ar e cons ider ed, t heir com- bined search power becomes significant . Since in this paper we mainly discuss and compare crossover operators, we do not consider the combined act ion of crossover and mutation operators of evolution strategy met hods. In the remainder of t his pap er, we invest igat e t he efficacy of t he real- coded GAs with t he SBX on a number of car efully chosen test functions. Simulation results are compared wit h that of binary-coded GAs with single- point crossover and real-coded GAs using the BLX-O.5 operator on the same funct ions. The t est functi ons also include a two-variable, two-sided active blocked funct ion introduced in [10]. In [10] it is argued that t he working of the real-coded GAs is such that in these funct ions the population first con- verges to virtual alphabets (above-average points) and then t he convergence to the global optimum gets blocked by two local opt ima. Our simulations using the SBX operator support the theory of virt ual alphabets, and t he simulat ion results on this simple blocked funct ion show t hat real-coded GAs with SBX perform similar to t hat of binary-coded GAs wit h a single-point cros sover. Simulation result s also show that real-coded GAs wit h the SBX operator can overcome the Hamming cliff problem, pr ecision pro blem, and fixed mapping problem while performing similar to binar y-coded GAs with single-point crossover (but better than real-coded GAs using BLX-0.5) in difficult problems. These results are encour aging and suggest the use of real-coded GAs with a SBX operator in other optimizat ion problems hav- ing cont inuous variables. Bas ed on t he resul ts of this paper , a number of extensions to this work are outlined. 2. Binary crossover operator In many applications of binary-coded GAs, a single-point crossover is used. In a single-point crossover , a random cross site along t he length of the string is chosen and the bits on one side of t he cross site are swapped between two parent st rings. In a single-variable optimization problem, t he act ion of the crossover is to create two new children strings from two parent st rings . In a multi-variable optimization problem, each var iable is usuall y coded in a certain number of bits (collectively called a substring) and these substrings are combined to form a bigger string . Since, in a single-point crossove r oper- Simulated Binary Crossover for Continuous Search Space 119 ator, only one cross sit e is chosen from t he complete st ring, t he action of t he single-point crossover may disrupt one var iable or a combinat ion of contigu- ous variables simult aneously. In the following, we calculate t he probabili ty of creating a child point from two chosen points using t he single-point crossover. 2.1 Search power The search power of a crossover operator is defined here as a measur e of how flexible t he operator is in creating an arbitrary point in t he sear ch space. A number of crit eria for the successful design of a crossover operator ar e sug- gested in [7] . That st udy shows how different existing crossover operators satisfy t hose crit eria, but does not suggest any measur e of comparing oper- ators that sat isfy all required criteria. It is worth mentioning here that in [7] an ergodicity crit erion is also defined as t he ability to access any sear ch point t hrough genetic operators from any populat ion. In this paper , we use a crit erion similar to t hat ergodicity crit erion to define the search power of a crossover operator as the probability of creating an arbit rary point in the search space from two given parent points. To make t he analysis simpler, we assume a single-variable functi on. Later , we shall discuss how the analysis can be extended for multi-var iable functions. When two pare nt binary strings of length f are crossed at an arbit rary site, t he contents on eit her side of t he cross site get swapped between t he parent s. Let us imagine t hat t he cross site is k bits from t he right of t he string. We also assume t hat t he leftmost bit is t he highest significant bit in the underlying binary coding. If t he decoded value of the rightmost k bi ts in t he first par ent is Al and the decoded value of t he remaining (f - k) bit s is B ll then the decoded value of t he st ring is (1) The decoded value of t he second parent string can also be calculat ed by knowing A 2 and B 2 as the decoded values of the right k bi ts and t he remaining (f - k) bits of the st ring, respectively: X2 = B 22 k + A 2 . Figure 1 shows t he single-point crossover operat ion on two ar bit rary st rings and t he resul t ant children strings obtained by crossing at a par t icular site . The effect of t he single-point crossover operator is to swap t he values A l and A 2 between t he B I Al DV B I A 2 DV 1 0 1 0 1 0 1 85 1 0 1 0 0 1 1 83 0 1 1 0 0 1 1 51 ==} 0 1 1 0 1 0 1 53 B 2 A 2 Avg. (;8 B 2 A l Avg . (;8 Figure 1: The action of single-point crossover on two random strings is shown. DV stands for the decoded paramet er value. Notice that the average of the decoded paramet er values is the same before and after the crossover operation. 122 Kalyanmoy Deb and Ram Bbushea Agrawal where ( (k) = ~ ~ u i2i / I:f=l Ui2i . The ab ove t erm for (3 is valid for any two par ent st rings (or in other words for any u ; values) , and for any crossover sit e (or for any k) . Let us first consider t he contracting crossovers (i.e., where :::; (3 :::; 1) . In ord er to simplify our analysis fur t her , we ass ume that parent st rings are two extreme st rings having all ones (111. . . 1) and all zeros (000. .. 0). In t his case, t he differ ence in allele values in each bit is one (or u ; = 1 for i = 0,1 , .. . , (- 1)). Substi tut ing U i = 1 in t he above express ion, we obtain t he following express ion for (3: (12) The spread fact or for two ext reme st rings of lengt h 20, crossed at different sites, is shown plot t ed in Figure '2. It is clear in t he figur e t hat for most cross sites k , t he spread fact or (3 ::::; 1. With a distribution of t he spread fact or as a functi on of t he cross site, we can now compute the probability of creating any ar bitrary st ring (i.e., a represent ative (3) from two given parent st rings. Let us cons ider Fi gure 2 again. For a part icular value of (3, we choose a small range d(3 and find how many crossover operations dk would produce children points in t hat ran ge. This can be achi eved by calculat ing t he slope of t he expression in equation (11) at t he corresponding (3: 1 dk = 1!Yi 1 d(3. dk (3 (13) Denot ing t he probability of occurrence of (3 by C((3) and knowing t hat (3 lies bet ween zero and one for cont racting crossovers, we obtain t he distribution 1. 0 t-----------_ 0. 8 0.6 - 0 .4 0 .2 - 8 10 12 14 16 18 20 6 4 2 o.0 '---''--'--'----'---'--'-------'----'---"--'---'---'-----'---'-----'----'---'--'------'--' o Figure 2: The distribution of (3(k) versus k for = 20 is shown. Simulat ed Bui ery Crossover for Continuous Search Space 123 o 1 2 3 4 5 Figure 3: Probability distributions of contract ing and expanding crossovers on two extreme binary st rings are shown. for df3 ----> 0: (14) The denominator on the right -hand side of t he expression is a constant quan- t it y t hat makes t he dist ribution C(f3 ) a probabilit y distribution. Here we are not int erest ed in comput ing the probability dist ribut ion exact ly, rather we are interest ed in finding t he functional relationshi p of the probability di stri- bution C(f3) wit h f3. Thus, it will suffice to compute t he numerat or only. By differentiating equat ion (12) wit h respect t o k and substit uting t he expres- sion for k in t erms of f3 , we obtain t he numerator of the right -hand side of equat ion (14) as follows: (15) where K, is a constant t erm. The functi onal form of t he above distribution is shown in Figure 3 for 0 :::; f3 :::; 1. Figure 3 shows t hat as f3 is increased t owards one, the probability increases. Thus, the probability of creating children points closer t o the par ent points is lar ger t han t hat of points far away from t he parents. The pr obabili ty di stribution for expanding crossovers (i.e., f3 > 1) can be obtained by considering two other parent strings'' using t he same procedure. 2The two extreme st rings considered in the contracting crossovers are not possible for the expanding crossover. 124 Kalyanmoy Deb and Ram Bhushan Agrawal The probability distribution can also be obtained from t hat of t he cont racting crossovers by realizing a simple probabilist ic event . If two children st rings found in a cont racting crossover are crossed at t he same site , t he same par ent st rings are obtained. Thus, for each cont racting crossover wit h a spread fact or (3, t here exists an expanding crossover wit h a spread factor 1/ (3. In ot her words, we can ar gue t hat t he probability of occurrence of cont racting crossovers having a spread fact or between (3 and ((3 +d(3 ) would be t he same as t he probability of occurrence for expanding crossovers wit h a spread fact or between 1/ ((3+d(3) and 1/ (3. Summing t hese pr obabiliti es for all contracting crossovers in t he range 0 ::; (3 ::; 1, we conclude t hat t he overall pr obability of contracting crossovers is t he same as t hat of t he expanding crossovers. Of course, t he stationary crossovers can be considered as eit her cont racting or expanding. For t he sake of argume nt , we can assume t hat half of t he stationary crossovers are cont racting and half ar e expanding. Equat ing the probabilit y of expanding crossovers (((3)) having spread factor between (3 and ((3 + d(3 ) with t ha t of cont rac ting crossovers (C((3) ) having spread factor between 1/((3 + d(3) and 1/ (3, we obtain t he following: ((3) [((3 + d(3) - (3] = C ~ [ ~ _ _ 1_] . (3 (3 (3 + d(3 Rearranging terms and considering the limit d(3 -+ 0, we obtain ((3) = ;2 C ~ . (16) (17) Wit h this relat ionship bet ween t he probability of occurrence of cont ract- ing and expanding crossovers, we have to know t he pr obability dist ribut ion for only one type of crossover. Since t heir sum is t he overall pr obabili ty of all crossovers, t he overall pr obability for eit her cont racting or expanding crossovers must be equal to 0.5. For t he probability distribut ion given in equation (15), we obtain a probability dist ribution for expanding crossovers using equation (17): K ((3) = (3((3 - 1)' (18) This dist ribut ion is shown plotted for t he region (3 ::::: 1 in Figur e 3. The figur e shows that t he probabilit y of creating children st rings having a large (3 is small. Recall t hat equat ions (15) and (18) ar e derived only for two ext reme binary st rings. In order to investi gat e t he distributions and probability dis- t ribut ions for other parent pairs, we create all pairs of binar y strings of a par- t icular length and cross t hem at all possible cross sit es. For each crossover , t he corresponding spread fact or (3 is calculated and arr anged in ascending order. The experiment is continued for st ring lengths of 10, 15, and 30. Fig- ure 4 shows t he distribut ion for f. = 15 and it can be seen t hat t he pr obability of occurrence of (3 ~ 1 is more likely than any ot her (3 value. If t he parents Simulated Binary Crossover for Cont inuous Search Space 125 2.0 5 4 3 2 1 1.5 o.0 "----'-----J o 0. 5 1. 0 Figure 4: Pr obability distributions of cont racting and expanding crossovers on all pairs of random binary strings of length 15 are shown. are closer , the spread of the two likely children is smaller . On t he ot her hand, if t he spread of parents is greater , t he spread of likely children is lar ge. This aspect of t he crossover operator dist inguishes it from t he mut at ion opera- tor. In a mut ati on operator , t he pr obability of a mut at ed string close to t he par ent st ring is higher, but t his pr obability is usually constant and depends only on one st ring. 3. Simulated binary cr ossover In order t o simulate t he operation of a single-point binar y crossover directl y on real variables, we design a crossover operat or that uses a pr obability dis- t ribut ion similar to t hat obtained in sect ion 2. One property of a probability distributi on is t hat t he cumulat ive probability of all t he possible states is equal to one. But t he integration of t he probabili ty dist ribut ion in equa- t ion (15) over all values of (3 is not a fini te number because at (3 = 1 the pr obability does not exist. Mor eover , recall that t he distribution obtained in equat ion (15) is only for two ext reme binary strings as par ents. For cont ract- ing crossovers, we assume a simple polynomial probability distributi on t hat is similar t o t he distribution in equa tion (14) and to that shown in Fi gur e 4: C((3 ) = 0.5(n + 1)(3n, (19) where n is any nonnegati ve real number . The fact or 0.5 makes t he cumu- lati ve probability at (3 = 1 equal to 0.5. A large value of n allows a bet t er approximation of equat ion (19) wit h equation (15) for large values of (3. A small value of n makes a mor e uniform dist ribution in t he range 0 :::; (3 :::; 1. A value of n = 0 makes a uniform distribut ion in t he same range (see Fig- 126 Kalyanmoy Deb and Ram Bhushan Agrawal o 1 2 3 4 5 (20) Figure 5: Probability distrib utions of cont racting and expanding crossovers for the proposed polynomial model are shown. ur e 5). A moderat e value of n (2 to 5) matches closely with the simul ation results for the single-point crossover in binary- coded GAs. For expanding crossovers , t he probability dist ribut ion can be derived by using equat ions (17) and (19) : 1 ( (3) = 0. 5(n + 1)(3n+2 ' It is int eresti ng to note t hat the probability of all expanding crossovers (found by evaluat ing ~ ((3)d(3) is 0.5, equal to that of the cont racti ng crossovers. Also, the probability of stationary crossovers obtained from both equa tions is the same. The probabili t y distribution for contract ing and expanding crossovers for various values of n are shown in Figure 5. It is clear t hat t he distribution largely depends on the exponent n . For small values of n , points far away from the par ent s are likely t o be chosen, whereas for large values of n , only points close to the parents ar e likely to be chosen. Ina sense, t he exponent n is similar t o the reciprocal t o t he te mperature parameter T used in t he simu- lat ed annealing algorit hm describ ed in [13]. Ideally, a good search algor it hm must have a br oad search (with lar ge T or small n) in early gener ations and, as the generat ions proceed, the search must be focussed on a narr ower region (wit h small T or large n) t o obtain bet t er pr ecision in t he solution. However , for br evity, we use a fixed compromised n for the ent ire simulation. Figure 5 shows t hat the search of the SBX extends practi cally to any point in the real space. If lower and upper bounds for t he variable are known, equat ions (19) and (20) can be restrict ed to that region, as discussed in sect ion 6. Simulat ed Binary Crossover for Continuous Search Space 127 Note that t he pol ynomial probabi lit y di stribution given in equat ion (19) is one of many possible probability distributions for contract ing crossovers . For a different distribut ion, the corresponding prob ability di stributi on for expanding crossovers can be calculated by using equation (17) . Also note that a distribution for expanding cross over can be assumed first and then the corr esponding probability distribution for contracting crossovers can be computed by repl acing ( (3) wit h C((3) in equat ion (17). In all such pr ob- ability dist ributions, t he probabi lit y of creating childre n points close to t he parent points must be more than that of creat ing children points far away from the parent points (this simulates the effect of t he single-point cross over as found in Figure 4) . However , in the remainder of t his pap er , we use the polynomial probability distribution given in equat ions (19) and (20). In t he following, we discuss how t he pr eceding analysis can be exte nded to multi-vari able opt imi zation problems. 3.1 Extension to multi-variable problems The most common way to code multiple variables using a binary coding is wit h a mapp ed concate nate d st ring [1] . In a single-point crossover, one cross sit e is chosen along the enti re string and t he contents on t he right side of the cross site are swapped between t he parents. When binar y-coded GAs are used to solve a N- vari abl e funct ion, and when the cross site falls on the bit s repr esenting the kth variable from t he left , t he single-point crossover creates a new value of the kth var iable and swaps t he (k + l)st t o Nth variables be- tween the par ent s. The same operation can be simulated by using t he SBX operat or on the kth vari abl e (k is chosen bet ween 1 to N at random) and swapping t he (k + l )st to Nth variables between the parents. It has been shown in [14] that this feature of t he single-point crossover causes a lar ge positional bias for certain combi nations of variables t o get propagat ed from t he parents to t he children. In t his study, we use a mechanism similar t o unifo rm crossover for multiple variables used in [15] for choosing whi ch vari- ables to cross. However , we recognize her e t hat this ass ump t ion is related to t he important linkage issue of mul ti- vari able coding and our mechani sm does not alleviat e the linkage problem. In order t o simplify t he implement ation of SBX operator, we choose t o perform SBX in each variable wit h probabil- ity 0.5. But in t he case of single-var iable func t ions , since there is only one variable, the SBX is performed wit h probability 1.0. The concept of probability of crossover Pc used in canon ical GAs st ill applies to t his real-coded GA. This probability means t hat, on an average, PeN of the points in the mating pool participate in the crossover. 4. Existing real-coded crossover operator s Real-coded GAs have not received much attent ion among t he GA community. However , a ni ce description of different approaches t o real-coded GAs is given in [8]. In [9] it is suggeste d t o use a linear crossover operat or that compares 128 Kalyanmoy Deb and Ram Bhush an Agrawa! only t hree points (PI +P2), (1.5PI - 0.5p2), and (- 0.5pI +1.5p2), choosing t he best t wo points. That work also suggested a crossover operator t hat creates a point by randomly perturbing a single variable in its range. The concept of virtual alphabets in t he context of real-coded GAs was introduced in [10]. Although no particular crossover operat or was suggested, blocked functions that may cause difficulty for real-coded GAs were suggested. In [8] t he notion of interval schemata for real-coded GAs is introduced and a blend crossover (BLX- a) operator is suggested. For two par ent points PI and P2 (assuming PI < P2 ), t he BLX- a randomly picks a point in the range (PI - a (p2 - PI) , P2 + a (P2 - PI)) . If a is zero, t his crossover creates a random point in t he range (PI, P2). In a number of test problems, t hey reported t hat BLX-0.5 (wit h a = 0.5) performs better t han BLX operators wit h any ot her a value. It is worthwhile to menti on here t hat t he interval schemata are similar in concept to virtual alphabets- both repr esenting cont iguous regions in t he search space. 4.1 Search power For th e given real-coded crossovers, we investi gate t he search power , as de- fined in sect ion 2.1. The search power of t he linear crossover in [9] is clearl y not adequate (it is t oo det erministi c), because only t hree children points can be obtained from two parent strings . The uniform crossover in [9] or the BLX-O.Ooperator in [8] have t he flexibili ty of creating any point enclosed by t he parent poi nts. As discussed in [8], t his crossover pr eserves t he int erval schemata represent ing cont iguous regions in t he search space . In t he follow- ing, we take a closer look at t he interval schema processing using a BLX operator. Consider a variable whose range is [0,8]. According t o the formul ations pr esented in [8], there are 45 int erval schemata for the given range of the variable (assuming that the points repr esent ed by an int erval schema are bounded by integers only). Let us also consider two par ent points PI = 2 and P2 = 5, respectively. The first point repr esent s a to tal of (2 + 1) (9 - 2) or 21 interval schemata and t he second point repr esents (5 + 1) (9 - 5) or 24 int erval schemata. These schemata are shown in Table 1. The common schemata between t he two parent points are shown inside boxes and t here are 12 such schemata. One underlying feature of a successful coding-crossover int eracti on is t hat a crossover must propagat e t he common schemata (appropriate t o the cod- ing) between t he two par ti cipating par ent s to their children. The single- point crossover in the binary- coded GAs has this property for propagating Holland's schemata. In t he real-coded GAs, if we assume th at the int erval schemata are what get pr ocessed, t hen the pr obability of creat ing a child point can be assumed to vary prop ortionately with t he number of common schemata between t he child and parent points. This argument in a sense sig- nifies t hat a point closer (in t he context of t he int erval schemata) to a par ent point is more likely to get selected as a child point. Wi th t his argument, we Simulated Binary Crossover for Continuous Search Space Table 1: All interval schemata for two parent points are shown. Number of int erval schemata Parent point at 2 Parent point at 5 (2,2) (5,5) (1,2) (2,3) (4,5) (5,6) (0,2) (1,3) (2,4) (3,5) (4,6) (5,7) (0,3) (1,4) (2,5) (2,5) (3,6) (4,7) (5,8) (0,4) (1,5) (2,6) (1,5) (2,6) (3,7) (4,8) (0,5) (1,6) (2,7) (0,5) (1, 6) (2,7) (3,8) (0,6) (1,7) (2,8) (0,6) (1,7) (2,8) (0,7) (1,8) (0,7) (1,8) (0,8) (0,8) 129 can now find t he pro bability distributi on of a child point for the two chosen par ent s Pi = 2 and pz = 5. Any point in t he range (2,5) contains all 12 common schemata of the two parents. Thus any child point in the range (2,5) is equally probable. Therefore, we may argue that t he BLX-O. O or t he uniform crossover (i.e., contracting crossover ) propagat es all common int erval schemata from t he parent to t he children . But when BLX-a (a is positive) is used, all common int erval schemata in both parent s are not propagated to t he children point outside t he range enclos ed by t he parent points. For t hese crossovers (i.e., expanding cross overs), t he probability can be assigned to depend linearl y with t he number of common int er val schemata between children and par ent point s. In t he ab ove example, the point Ci = 1 will represent only eight of t he common schemata, the point Ci = will represent four of t he common schemata, and so on. In genera l, t he numb er of common interval schemata among any three points is ( Xl + l)(N - X h ) , where X l and X h are the lowest and highest values of the three points and N is t he ent ire range of t he search space. In the above example, since t he range [0,8] is cons idered, N = 9. For children points X < 2, t he number of common schemata is (x + 1)(9 - 5) or 4(x + 1). For children points 2 ::; X ::; 5, the number of common schemata is (2 + 1)( 9 - 5) or 12 (a const ant) and for children points X > 5, the number of common schemata is (2 + 1)( 9 - x) or 3(9 - x). These numb ers are shown plot t ed in Figure 6. If t he probability of creating a child point is assigned according to t hese numbers, then the di stribution is un iform for points enclosed by the par ent s and linearl y varying for outside points. The BLX-O.5 crossover suggested in [8] deviat es from this obser vat ion in t he case of expanding crossovers . The BLX-O. 5 operat or has a uniform dist ribut ion, as shown in Figure 7. It is interesting t o note that when t hese probability dist ribut ions are plotted as functions of the spread factor f3 as in Figure 7, similar probabil- 130 Kalyanmoy Deb and Ram Bhushan Agrawal 7 6 3 4 5 Chil d Point 2 0:1 +' 0:1 S 15 Q) ..c o [fJ - 10 - 0:1 :> .... Q) +' E 5 >:: o 8
o 0 8 u Figure 6: Numb er of common int erval schemata between a children point s and the parent points are shown. The parent points are at 2 and 5. o o I I ------....,-- I I I I I I I I BLX- O. 5 - - - - , I I I I I I I I 2 Ideal Figur e 7: Probability distribut ions of BLX-O. 5 and the ideal distr ibu- tion are shown wit h spr ead factor fl . it y distributions emerge. The contracting crossovers have uniform probabil- ity distribution for any child point inside the region enclosed by the parent points and the expanding crossovers have a diminishing probability for chi l- dr en points away from t he parent points. It is also int eresti ng that t he above probability di stribution is a special case of the SBX operator develop ed in sect ion 3. For n = 0, all contracting crossovers have a uniform probability and t he probabilit y in the expanding crossovers diminishes with the increase in the spread factor. The only discrepancy between these two distributions is t hat in the SBX operator with n = 0, the probability reduces in a nonlinear manner and that in the ideal int erval-schema processing, t he probability re- duces linearl y. Nevertheless, we can argue that the SBX operator with n = respects int er val-schema processing better than the BLX-O.5 op er ator. How- ever, other SBX operat ors with nonzero n do not respect interval schema. The above analysis suggests that the other SBX operators may respect some other schema that represents contiguous points but with varying import ance. Simulat ed Binary Crossover for Continuous Search Space 131 Since such schemata would be a vari ati on of the int erval schemata or locality formae, t hey would also sat isfy t he design criteria in [7]. However, t he for- mali zation of these schemata is merely a mathemati cal exercise, whi ch would be of lit t le importance to t he current st udy. Thus , we avoid t hat exercise in t his pap er and pr esent simulation res ults of the SBX operator on a number of test problems. 5. Si mulation results To investi gat e the efficacy of the SBX operator , we have chose n a t est bed of 12 functions, of which nine are t aken from other sources . The t est functions range from single-variable functions t o multi-vari abl e functi ons, from uni - modal functi ons t o mul t imodal functi ons, and from det erministic functions t o stochas tic functi ons. Finall y, a two-vari able blocked function is included t o compare the perfor mance of real-coded GAs with SBX and binar y-coded GAs wit h single-point crossover on a difficul t functi on. A real- coded GA is implemented using the C programming language. The init ial population of vari abl e vect ors is create d in an ini ti al range of vari ables supplied by the user. However , in subsequent generations , t he population is not guaranteed to be confined to t he given range, because the SBX operator has a nonzero (albeit small) probability of creat ing children points far away from the parent point s. This is advantageous in problems where the locatio n of the true optimum is not known beforehand. We demonst rat e this flexibility of real-coded GAs with the SBX operat or in tes t probl ems by initiali zing the populat ion far away from t he t rue optimum. However , this feat ur e of t he SBX operator is redundant for problems where t he lower and upper limits of t he var iables are absolutely known. We di scuss a simple modificat ion to this SBX operator t o confine the search to the given range in sect ion 6. In all our simulati ons , we allow the SBX to create any point in the real space wit h prob abili ty dist ribut ions given in equat ions (19) and (20) . In order to invest igate the effect of the probability dist ributi on of cont ra ct ing and expanding crossovers in t he SBX operator, we present simulat ion runs wit h a number of different exp onent values n . Recall t hat for small values of t he exponent n , children points far away from the parent points can be obtained, but for lar ge n , only points closer t o t he parent point s are likely to be obtained . Mutat ion is not used to pr imarily investigate t he search power of the SBX operator alone. Four different criteria are used to te rminate t he search process. A simulation run is t erminated if any one (or mor e) of t hem is satisfied. Here ar e t he four criteria. 1. The best individual in t he population is close to t he t rue optimal point wit h a small t erminati on margin E in all problem var iables. In this case , we assume that the GA has foun d the t rue optimal point . 2. The functi on value of the best individual in the populat ion is smaller t han or equal t o a target function value f T. In t his case, we assume that the GA has converged near t he t rue optimal solution . 132 Kal yanmoy Deb and Ram Bhushan Agrawal 3. All indi viduals in t he populati on have converged t o a small neighbor- hood (within a small mar gin E in all problem vari ables) t o a point ot her t han t he global opti mum point . In t his case, a premature convergence occurs . 4. The number of generat ions has exceeded a specified lar ge number T max . In this case, t he GA has not converged t o any solution at all. Unless specified, all simulations use a target function value h equal to t he functi on value at t he global optimum point and a T m ax value equal to 200. The performan ce of real-coded GAs with t he SBX operator is compared with BLX-0. 5 and with single-point crossover. In all simulations, a binary tournament select ion without replacement and a crossover probability of 1.0 are used. The average number of funct ion evaluations required t o successfully solve a problem (when eit her criteri on 1 or 2 above is sat isfied) is t abulat ed for each problem. Other GA para meters are ment ioned in t he description of t he simulation results. 5. 1 V funct ion This functi on is a single-variable functi on defined in t he range 0 :s: x :s: 1 from [8]. The function has only one minimum point at x = 0.5: h(x) = Ix- 0.51 (21) First, the binary-coded GAs are used . Wit h a st ring lengt h of 30 and a populat ion size of 50, binary-coded GAs wit h t he single-point crossover oper- ator find a point with six decimal places of accur acy (E= 10- 6 ) only 23 out of 100 ti mes . In t he other 77 runs , GAs have converged premat ur ely to a poi nt close to the true optimum, but not as close as within E from the optimum. The average funct ion value of the best individual in all 100 runs is found to be 0.0015, which is very close to the functi on value of the true optimum (f{ = 0.0). It is important to note t hat t he minimum point of the above V function corresponds to a Hamming cliff in t he binary coding used, but with E = 10- 6 there are ab out 2147 st rings repr esent ing the region (0.5 - E, 0.5 +E). However , the pres ence of Hamming cliffs is one of t he problems of the binary coding, as encounte red by ot her researchers (e.g., [16]). Real-coded GAs wit h the SBX operator are applied next . A summary of the simulat ion results is t abulated in Table 2. A termination margin of E = 10- 6 was used. The advantage of real-coded GAs over binary-coded GAs in t his problem is largely due t o t he Hamming cliff at the optimum point. The result s also show that the real-coded GAs with the SBX operator find the opt imum point in all simulations within t he chosen tolerance. When even a smaller terminat ion margin (up to t he computer' s machine pr ecision) is used, a similar performance of SBX is observed. This demonst rates t he ability of real-coded GAs t o overcome the pr ecision problem of binary-coded GAs. Note that t he performance of t he SBX operator remains t he same for different values of the exponent n . But for a large n , a greater number of funct ion evaluat ions are required to find th e optimum point . Simulated Binery Crossover for Continuous Seercli Space Table 2: Simulation results of GAs with different cross over op erat ors on the V function are t abulated. The number in parentheses in column six indicates t he number of times GAs did not converge to any point at all. 133 Performance of 100 runs Operator Range Popsize nor .e Success Premo cony. Avg. Tri als 1-pt (0,1) 50 30 23 77 834.8 SBX (0,1) 50 0 100 0 929.5 2 100 0 748.5 5 100 0 818.5 100 0 100 0 1739.0 2 100 0 1396.0 5 100 0 1321.0 BLX-0 .5 (0,1) 50 100 0 746.0 100 100 0 1368.0 SBX (0.9,1) 50 0 100 0 1279.5 2 100 0 2018.5 BLX-0.5 (0.9,1) 50 24 76 2604.2 SBX (0.9999,1) 50 0 100 0 1790.0 2 100 0 4318.0 BLX-0. 5 (0.9999,1) 50 0 61(39) The success rate of the BLX-0.5 operat or on this problem is equal to t hat of SBX. Since the SBX operat or performs expanding crossovers about half of the time and searches a lar ger region than BLX-0.5, t he funct ion evaluat ions required to solve the given problem is fewer when using the BLX operator. But , when the same problem is solved with a population initialized in the range (0.9,1.0) , the performance of SBX is much better t han t hat of the BLX- 0.5 operator. The success rate of SBX is t he same as before, but the success rate of BLX-0. 5 reduces to about 25%. Recall t hat t he mini mum point does not lie in t he range where the initi al population is created. In order to find t he optimum point , t he search operator has to search outside t his range. Obviously, t he binary-coded GAs will fail to find the true optimum in t his case because of t he fixed mapped coding of t he variable. The search power of SBX is fur ther tested by starting wit h populat ions confined in t he region (0.9999,1.0000). The same termination mar gin of 10- 6 is used. Wi th SBX, the expanding crossovers find better point s out side the initi al range and the whole population migr at es t owards the t rue opt imum. The success rat e of SBX is again 100% in t his case, whereas BLX-0.5 performs poorly. 5.2 V-cl iff function This function from [8J is similar to t he V function, except that it has a discont inuity at the minimum point (x* = 0.5): h(x) = { 0.6 - x , if x < 0.5; X - 0.5, ot herwise. (22) 134 Kalyanmoy Deb and Ram Bhushan Agrawal Tabl e 3: Simulation resul ts of GAs wit h different crossove r ope rators on t he V-cliff fun ction are tabulated. The number in parent heses in column six indicat es t he number of t imes GAs did not converge to any po int at all. (23) Performance of 100 r uns Op er ator Range Popsize n or e Success P remo cony. Avg. Trials 1-pt (0,1) 50 30 16 84 840.6 SBX (0,1) 50 0 88 0( 12) 2015.9 2 100 0 1382.0 5 58 42 1191. 4 BLX-0.5 (0,1) 50 100 0 1726.0 SBX (0.9999,1) 50 0 88 0(12) 2795.5 1 100 0 3253.0 2 74 2(24) 7147.3 BLX-0.5 (0.9999,1) 50 0 62(38) The tolerance parameter E = 10- 6 is used again. Table 3 shows the perfor - mance of binary-coded GAs with the single-point crossover and real-coded GAs with both SBX and BLX-0. 5 on this function. The binar y-coded GAs with single-point crossover is not able t o find a solut ion close t o the t rue optimum in 100% of the simulations. The performan ce of binar y-coded GAs is worse t han for t he simple V funct ion because of t he Hamming cliff at t he optimum point and t he chosen termination crite rion (t he convergence can pr acti cally occur from only one side of t he optimum) . The real-coded GAs with the SBX operator , on the ot her hand, perform well for small values of the exponent n . The deterioration in t he performance of SBX wit h eit her n = 0 or large n is due to t he discontinuit y at t he optimum point . However , t he performance of BLX-0.5 is 100%, wit h slight ly more function evaluat ions t han that of SBX wit h n = 2. Table 3 clearly shows t hat SBX is superior to BLX-0.5 when t he populati on is ini ti ali zed far away from t he minimum po int. 5.3 Bimodal, equal spread function The bimodal function used here has two minimum point s, wit h one being bet ter t han the other. The bas in of at t ract ion for each mini mum point is identi cal to t he ot her : f (x) = { - exp (- (x - 0.25)2jO.01) , if x :s; 0.5; 3 -0. 5 exp (-(x - 0.75)2jO.Q1) , otherwi se. This funct ion has a local minimum at x = 0.75 and a global minimum at x = 0.25. The functi on values at t he local and global minima ar e -0.5 and - 1.0, respect ively. This funct ion is chosen to t est whether or not real- coded GAs wit h SBX can find t he global minimum point. Table 4 compares the performanc e of both GAs with a t ermination margin of E = 10- 4 . The performance of binary-coded GAs is inferior to t hat of real-coded GAs with Simulated Binary Crossover for Continuous Search Space Table 4: Simulati on results of GAs with different crossover operators on the function h are tabulated. 135 Performance of 50 runs Operator Ra nge Popsize nor R. Success Premo cony. Avg. Trials 1-pt (0.0, 1.0) 100 20 49 1 765.3 50 30 20 1023.3 SBX (0.0,1.0) 100 0 50 0 870.0 2 50 0 660.0 5 50 0 642.0 BLX-0.5 (0.0,1.0) 100 50 0 670.0 SBX (0.5,1.0) 100 0 4 46 4500.0 2 9 41 1400.0 5 1 49 1800.0 BLX-0.5 (0.5,1.0) 100 0 50 SBX or BLX-0.5. This happens because of problems relat ed to the Hamming cliff at the optimum point and fixed-length coding. In binar y-coded GAs, a lar ger population is required to achieve a desired solution accuracy for a problem coded in a bigger st ring [6]. Once again, real-coded GAs wit h both SBX and BLX-0.5 perform 100% of t he time. Despit e the presence of the local optimum, real-coded GAs find t he t rue optimum point with t he desired accuracy. The performance of neither of t he two real-coded GAs is good for runs wit h adverse init ial populations (i.e. , wit h a population ini ti alized in t he local basin) . Since t he popul ati on is ini ti alized in t he range (0.5, 1.0), the global minimum point x' = 0.25 is not included in the range. Thus, t he binar y- coded GAs will not be able to find t his minimum point wit h t he above ini ti al populations because of fixed mapped coding. The per formance of t he real- coded GAs wit h SBX is mar ginally bet t er t han wit h BLX-0. 5. Since about 50% of t he points ar e created outside t he range enclosed by t he par ents, a few point s in t he global basin are expected to be created by the SBX. Since t he binar y t ournament selection scheme and a Pc = 1 are used in t hese simulat ions , the selection pr essur e is not enough to maint ain those point s in the global basin . When the crossover pr obabi lity of the SBX is redu ced to Pc = 0.5, the disruption of good points decreases and the success rat e of SBX increases to 34 out of 50 runs with n = 0 (wit h 2006 function evaluat ions). 5.4 Bimodal, unequal spread function This function is a modification of the equal spread functi on. Here, t he basin of attraction of t he global minimum is smaller than t hat of t he local mini- mum: [. () { - exp( -(x - 0.2)/0.04)2), if x < 0.3; 4 x = -0. 5exp( - (x - 0.6)/0.4)2), ot herwise. (24) 136 Kalyanmoy Deb and Ram Bhushan Agrawal Table 5: Simulation result s of GAs wit h different crossover operators on the funct ion /4 are t abulat ed. The number inside parentheses in column six indicates the number of t imes t he GA did not converge to any point at all. Performance of 50 runs Operat or Range Popsize norR. Success Premo conv. Avg. Tri als l -p t (0,1) 100 20 45 5 817.8 SBX (0,1) 100 0 8 0(42) 450.0 2 40 6(4) 1117.5 5 50 0 730.0 10 50 0 688.0 BLX-0. 5 (0,1) 100 4 45(1) 1575.0 Table 5 compares the performance of single-point crossover , SBX, and BLX- 0.5 on this function. Compared to t he equal spread functi on, t he performance of the binar y-coded GAs with single-point crossover is marginally worse be- cause t he global basin is compar atively smaller . The performance of the real-coded GAs wit h SBX operator remains un changed except t hat the SBX wit h a small exponent n does not work very well. The reason for it s failur e is t he same: an adverse initial popul ation. Although some point s in the global bas in are created, t he select ion pressur e is not sufficient to maintain t hem in subsequent generat ions. The difference in performance of SBX and BLX-0.5 is clear in t his func- tion. Since t he local basin occupies most of t he search space , a lar ge por tion of t he ini ti al random popul ati on is created in t he local basin. About 45 out of 50 GA simulations wit h BLX-0.5 get confined to t he local bas in and fi- nally converge to t he local optimal solut ion. Even t hough some points are created in the global basin , t hey are difficult to maintai n in t he population because of t he large disruption rate associated wit h the BLX-0. 5 operator. On t he ot her hand, wit h SBX having a moderate n, the spread of t he children points created using SBX is not substantial. The populati on gradually shifts towards t he global basin and finally converges to the global opt imum point . 5.5 Pole problem The pol e problem is a two-var iable functi on having four minimum point s, of which one is the global minimum. The function is hyp otheti cally const i- tuted to have a light pol e at each minimum point with a certain illuminat ion capability. The illuminati on is maximum at t he pol e and diminishes away from t he pole. When multipl e poles are pr esent in t he search space, mixed illuminat ion result s. For a given distribution of illuminat ion levels in t he search space, the objective of t he problem is to find t he point with maximum Simulated Binary Crossover for Continuous Search Space Table 6: Parameters defining t he pole funct ion are shown. i 1 2 3 4 Xi 0.4 0.3 0.7 0.8 v. 0.3 0.7 0.2 0.8 c; 1.0 1.0 1.0 1.125 hi 0.1 0.1 0.1 0.075. Table 7: Simulat ion results of GAs with different crossover operat ors on t he funct ion Is are t abul ated. The number inside parentheses in column five indicates t he number of times the GA did not converge t o any point at all. Performance of 10 runs Operator Popsize n or e Success Premo conv. Avg. Tnels 1-pt 200 20 6 4 3666.7 30 9 1 3977.8 40 8 2 2975.0 SBX 200 0 0 9(1) 2 8 2 3375.0 5 9 1 3200.0 BLX-0.5 200 3 7 2933.3 137 Maximize illuminati on. The problem can be written mathemat ical ly as follows: 4 ci h; f s(X, y) = [h; + (X - Xi)2 + (y - Yi )2j3/2' (25) where (Xi, Yi ) represents t he coordinates of t he poles, c, represents t he int ensi- t ies of light at t he i t h pole, and hi represents t he height of t he it h pole. In t he parlance of optimizat ion, the paramet er (Xi, Yi ) repr esents the ith opt imum point , Gi l h; signifies t he funct ion value at t he ith peak , and hi signifies t he basin of at t ract ion of t he ith peak. In t he pole problem there are four peaks having parameter values list ed in Table 6. The optimization problem has a global maximum point at X = (0.8, 0.8) . Since t his is a two-var iable opt i- mization problem, the technique described in sect ion 3.2 is used here. The SBX operat or is performed for each variable with a prob abilit y 0.5. This causes about half of the variables (on an average) to undergo a crossover operat ion. We follow t his st ra tegy for all mult i-variabl e functions and for t he BLX-0.5 operator. Table 7 shows t he performance of single-point , SBX, and BLX on t his problem for a termination mar gin E = 10- 3 . We observe t hat real-coded GAs with t he SBX operator (for n between 2 and 5) perform as good as the binary-coded GAs wit h t he single-point 138 Kalyanmoy Deb and Ram Bhushan Agrawal crossover. However , real-coded GAs wit h BLX-O.5 do not perform as well as the ot her two GAs. From t hese simulations , we observe t hat t he BLX-O.5 operator perfor ms well only on well-behaved unimodal functi ons having a continuous search space, but does not perform as well for problems with mult iple optimum poi nt s. Moreover , t he focus ofthis paper is to compare t he SBX operat or used in real-coded GAs with the single-point crossover operator used in binary- coded GAs. Thus, in subsequent simulat ions , we compare single-point and SBX operators only. 5.6 De Jong's funct ions All five of De J ong's test functions [17] ar e t ried next . The simulation results for t he single-point an d t he SBX operators ar e tabulated in Table 8. Function-I is a t hree-variable unimodal funct ion having a minimum point at (O, O, O)T. In [17] t he functi on is defined in t he range -5.12 :S: XiS: 5.12 for i = 1,2, and 3. In real-coded GAs with t he SBX operator, points out side t his range may also be creat ed . Thus, we assume t hat the function is also Table 8: Simulat ion results of GAs wit h different crossover operators on De Jong's five funct ions are tab ulat ed. The number inside paren- theses in column seven indicat es t he number of t imes the GA did not converge to any point at all. Perform. of 50 r uns Premat ure Avg. Function Toler an ce Op erator Popsize n or I' Success cony. Tr ials Function-I 10 2 I -pt 100 30 25 25 2532.0 SBX 100 0 50 0 2556.0 4 50 0 2190.0 10 24 26 2420.8 Function-II 10- 3 l -p t 100 24-40 0 50 SBX 0-20 0 50 Function-III 1.0 I -pt 100 20 50 0 560.0 50 50 0 720.0 SBX 0 50 0 1256.0 5 50 0 722.0 Funct ion- IV 0.16 I -pt 100 240 4 42(4) 15200.0 SBX 0 0 0(50) 2 50 0 17032.0 5 50 0 9372. 0 Function-V 0. 1 I-pt 100 20 48 2 756.2 40 49 1 836. 7 SBX 0 7 2(4 1) 5014.3 5 36 14 1097.2 10 37 13 891.9 Simulated Binary Crossover for Cont inuous Search Space 139 defined out side t he given range, but t he init ial populat ion is created within the range. The simulat ion resul t s (t abulat ed in Tabl e 8) show t hat GAs wit h SBX are able t o find t he minimum point , wit h two decimal places of accur acy, in all simulat ions for small values of n . The binary-coded GAs wit h t he single-point crossover find t he minimum point in only 50% of the simulations. These result s for SBX are expecte d becaus e t he functi on is uni modal and cont inuous in t he real search space. In binary-coded GAs, however , t he minimum point falls in a Hamming cliff, which causes difficulty t o solve t he problem in all of the simulat ions. Function-II is a two-dimensional minimization problem wit h t he global minimum at (1, 1)T. The funct ion was originally defined in t he range -2. 048 ::; XI, X 2 ::; 2.048 for binary-coded GAs [17]. For real-coded GAs, t he init ial populat ion is creat ed in t he given region. The res ults in Table 8 show that both GAs cannot find t he optimum point (1, 1)T. In t his funct ion , the slope towar ds t he optimum point is very small and t he population converges t o a point along t he ridge. When t he SBX operator is performed along a line j oini ng t he two par ent s (similar to t he line crossover in [9] but a point is cho- sen wit h the polynomial probabilit y dist ribut ions) , near 100% convergence is observed for n = 1 to 3. Funct ion-III is a five-dimensional staircase like funct ion where t he func- t ion value is monotonically nondecreasing as t he var iables are increased. The original functi on was designed for - 5.12 ::; X i ::; 5.12 with i = 1 to 5. Since t he SBX operator may create children points outside t his range, we have modifi ed t he original funct ion by t aking the absolute value of t he funct ion and creating the init ial population in t he range 0 ::; Xi ::; 10.24. This resul t s in a minimum point at X i = o. In order t o make t he comparison fair , binary GAs are also run on t his modified functi on in t he range 0 ::; Xi ::; 10.24. Both GAs perform equally well on t his funct ion. It is int eresting to note that despit e t he funct ion being di scontinuous at many points in t he search space, t he real-coded GAs with SBX are able t o find the true optimum. This is because t he function is monotonicall y nondecreasing t owards t he opt imum point and because the population-approach of GAs does not allow t hem to get st uck at any of t he plat eau . Function-TV is a 30-dimensional unimodal function wit h a zero-mean gaussian noise. The optimum point of t he det erministi c funct ion is X i = 0 wit h i = 1 t o 30 having a funct ion value equal t o zero. But due to the addit ion of the gaussian noise the optimum point , and hence t he opti mum function value, changes. To decide t he convergence t o t he opt imum, we have assumed a target funct ion value of h = -3.0. If any point has a function value smaller t han .IT, the simulat ion is t erminated. A terminat ion margin of E = 0.1 is used. Real-coded GAs wit h t he SBX operator perform better than t he binary-coded GAs for n = 2 t o 5, probably because t he population size used in the simulation is inadequat e in the case of binary GAs. Functio n-V is a 25-dimensional, mult imoda l funct ion having 25 minimum points , of which only one is t he global mi ni mum. The basin of attraction of the global minimum point is very narrow; t hus , the classical opt imizat ion 140 Kalyanmoy Deb and Ram Bhushan Agra wal met hods may have difficulty in solving t he pr oblem to global optimality. Simulation resul ts show t he superiority of binary-coded GAs wit h t he single- point crossover on this functi on. Par t of t he success of binary-coded GAs in t his problem is due to t he biased posit ioning of t he optimum points in equal int ervals. When t he locati ons of 25 optima are randomly placed , t he difference in t he performance of binary-coded GAs and real -coded GAs is small-binary-coded GAs succeed in only 64% of t he simulations , whereas real-coded GAs wit h SBX succeed in 54% of t he simulations . From t hese simulations we concl ude that real-coded GAs with SBX have performed bet t er t han binar y-coded GAs on De Jong's functi ons having con- tinuous search space while performing similar to binar y-coded GAs on dis- crete De J ong's test functi ons. In order to bolster our conclusions further, we apply t he SBX operator to two more functions. 5.7 Rastrigin's function Rastri gin's function has been used recently by a number of GA researchers (e.g. , [18,19]). The function has 20 variables and contains 1020 local minimum points, of whi ch only one is t he global minimum point: 20 fl1(X) = 200+ L X; - 10cOS(27rXi), -5.12:S Xi:S 5.12. (26) i= l The global minimum point is at Xi = 0 for all i = 1, 2, .. . , 20. At t his point , the function value is zero. The other local minima occur when t he cosine term is one. This functi on is a difficult optimization problem because t here are 220 different local optimal points (surrounding t he global optimum) with functi on values very close to that at the global optimal point. We set E = 0.1 and t he target functi on value h: = 1.0. This allows a termination of the simulation when at least 19 out of 20 var iables have converged to t heir global minimum values. Binary-coded GAs with equal substring lengt h for all variables are applied first . In all ten simulations , binary-coded GAs pr ematurely converge to a wrong solution (see Tabl e 9) . The average functi on value of t he best solution in all ten simulations is found to be 11.32. Real-coded GAs wit h t he SBX operator perform better t han binary-coded GAs. The average funct ion value of t he best solution in all simulations is 6.81 for n = 2 and 3.77 for n = 10, which are comparable to t hose obtained for binary-coded GAs. The success of real-coded GAs in this probl em is due to t he cont rolled allocation of children point s under the SBX operator. Wi th moderat e n , the children points are not far away from the parent poi nts . So the search slowly progresses towards the optimum point . It is worth menti oning here t hat with a tolerance of 0.1 in each of t he 20 variables, an enumerative search method requires about [(5.12 - (-5. 12))/0.1]2 or 1.48(10 4 ) function evaluations. Real-coded GAs took only a fracti on of t his search space to locate a near global minimum point. These results show t he efficacy of real-coded GAs wit h t he SBX operator in solving mult i-var iable, multimodal functi ons. Simulated Binary Crossover for Continuous Search Space 141 Table 9: Simulat ion results of GAs with different crossover operators on the function 111 are tabulat ed. The number inside par entheses in column five indicates the number of times the GA did not converge to any point at all. Performance of 10 runs Op erator Popsize nor fl. Suc cess Premo conv. Avg . Trials Binary 400 200 0 10 300 0 10 SBX 400 0 0 0(10) 2 10 0 49,680 .0 5 6 4 39,866.7 10 10 0 28,000.0 20 10 0 23,360.0 5.8 A two-variable blocked funct ion A two-variab le blocked funct ion is designed as suggest ed in [10] . The mean (over Xl ) and global slice (at of the funct ion are shown plotted in Figure 8. The global maximum point lies at the point (0.4,0. 45f. Two local hills are pl aced on either side of the global optimum. In the global slice (taken at Xl = 0.4) , t he global maximum point is surrounded by two local maximum points, but t he aver age slice (averaged on Xl values) is pr edominant by the local pe aks. It is int erest ing to note that the search along the variable Xl is unimodal. Thus , the population is exp ect ed to converge at Xl = 0.4. Once most of the population converges on or near Xl = 0.4, the search progresses 1.0 ----- Mean slice Global sli ce ------------ 0 .2 0.3 0.4 0.5 0.6 0.7 0.8 0. 9 5
0 .0 0. 1 1 3 - 2 - 4 - Figure 8: The mean slice and global slice (at x* ) of the function 112 are shown. The average funct ion value over the search space is 0.287. 142 Kalyanmoy Deb and Ram Bbustuu: Agrawal Table 10: Par amet ers defining t he blocked fun cti on 112 are shown. i 1 2 3 4 5 a i 0.002 0.0025 0.014 0.003 0.0028 b i 0.002 0.0020 0.003 0.001 0.0010 c; 0.1 0.9 0.45 0.27 0.65 r. 0 0 10 10 10 Table 11: Simul ation res ults of GAs wit h different crossover operators on t he fun cti on 112 are tabulated. The quanti t y in column five in par entheses indicat es the number of t imes GAs have converged to the global basin , but not to t he global opt imum point . Per forma nce of 50 runs Operator Popsize n or f!. Success Premo conv. Avg. Trials Binar y 100 20 5 45(27) 1,480.0 30 15 35(27) 1,753.3 50 6 44(32) 1,616.7 SBX 100 0 42 8(0) 2,323.8 2 47 3(0) 1,872.3 5 40 10(1) 1,677.5 along t he global slice. Since the population converges t o the ext reme local peaks, it becomes difficult for classical algorit hms t o find t he global point. The function is given as: The parameters list ed in Table 10 are used. Simulat ion results wit h binary-coded and real-coded GAs are tabulated in Table 11. Although t he binary-coded GAs with single-poi nt crossover converge to the global optimum point (with three decimal places of accu- racy) only 5 to 15 times, t hey converge to the global basin in about 80% of t he simulations. Simi lar results are observed wit h the real-coded GAs with SBX; in at least 80% of the runs, they have converged to t he global maxi- mum point . In all successful simulations of real-coded GAs, it is observed t ha t t he variable Xl converges to the true optimal value first , as predicted in [10]. Subsequently, the search along the global slice continues and t he population locat ed at two extreme optima improves gradually and can over- come the barrier of the local peaks to finally converge at the global optimum. Whenever real-coded GAs have failed to find the global optimum point, the Simulat ed Binary Crossover for Cont inuous Search Space 143 convergence to t he variable X 2 has occurred first. When this happens, the population shift s in any one or both of the peaks shown on t he mean slice plot (dashed line) in Figure 8. Sinc e t he fun ction on Xl is unimodal with it s maximum at Xl = 0.4, t he solut ion converges to a wrong solut ion. Further experiments ar e necessary to conclude how the proposed algo- rithm will work on higher-di mensional blocked functions, but t he simulat ion results on the given two-variable bl ocked funct ion show that alt hough the SBX op erator wor ks on real paramet er values, it s search power in solving the functi on is similar to that in the single-point cros sover. 6. Extensions The preceding simulations op en a number of avenues for furt her research. Some of them are suggested in the following. 1. Extend SBX to solve problems with specified bounded search space. 2. Choose other forms of probability distributions for cont ract ing and ex- panding crossovers. 3. Develop a real-coded mutation oper ator. 4. Apply SBX to real-world opt imizat ion problems. 5. Develop real-coded cros sover op erators simulating other binary cros sovers. 6. Est imate a population sizing which may lead t o a convergence proof of real-coded GAs. 7. Extend real-coded GAs with SBX t o solve multimodal and mult iob jec- t ive optimization. In the present st udy, we have allowed the children points to lie any- where between negative infinity and positi ve infinity. In certain problems , the search space could be bounded. For example, if the length of a mem- ber in an engineering component design is a variable, negative values of the var iable do not make sense. The SBX op erator used in t his study does not always guarant ee a child point wit h a positive value, even though both par- ent s may have positive values. The cont racting and expanding probability distributions can be modified so that the probability of creating points out - side a given bound is zero, while maintaining the same charact erist ics of the probability dist ribut ion. One way t o achieve this is t hat for any two given parent point s, the cumulat ive probability of t he children points within t he given bound is first calculat ed . If t his probability is, say, a, t he probabil- it y distribution funct ion is multiplied by a fact or 1/a, so that t he over all probability for points within the bounds is equal to one . The probabi lit y distribution for contracting crossover used in t his pap er is a polynomial funct ion to t he spread fact or . This dist ribution is used t o reduce the computat ions required in each crossover operat ion. Other fun ction al 144 Kalyanmoy Deb and Ram Btuisiuu: Agrawal forms of t he probability distributions can also be used, but care must be t aken t o choose a di stribution t hat is similar in form t o t hat given in Figure 4. In this respect , a gaussian-like dist ribution wit h mean at f3 = 1 and variance (72 chose n to have at most 3(7 points within a specified bound can also be used. In t his paper , we investigated t he effect of t he crossover alone, keeping the mut ation probabilit y zero. In order to maintain diversi ty in the population, a mutation operator can be used. In real-coded GAs, t he mutation ope ration can be achieved by choosing a neighboring point in t he vicinity of the cur rent point . This can be implemented by fixing an explicit probabi lit y di stribution , or by adopting t he methods used in other population-based real-coded st udies (e.g., [12]). The pr esent st udy shows t hat t he use of real-coded GAs is pr eferr ed to binary-coded GAs for pro blems wit h cont inuous search space and for prob- lems where arbit rary precision is desir ed. Many engineering design opt imiza- ti on problems contain mixed variabl es-both di scret e and cont inuous . The classical opti mi zation methods do not perform very well in solving t hose kinds of problems (known as mixed integer pr ogramming problems) . GAs with a combination of both binar y coding (for discret e vari ables) and real coding (for conti nuous var iables) can be used to solve these problems efficient ly. The crossover operation can be performed as follows. A variabl e is first cho- sen for crossover. If a di scret e variable needs to be crossed, the single-point crossover, or anot her binary operator , can be used for the bits representing t hat variable only. But if a continuous var iable needs to be crossed, t he SBX operator can be used. This way the resul ti ng st ring will also be a valid string . We are curre nt ly applying t his t echnique t o truss-structure optimiza- t ion pr obl ems, wher e optimiza tion of t russ topology (represented by binar y variables) and cross-section of memb ers (continuous var iables) are achieved simultaneously, an approach which is ideal but cannot be achieved using classical opt imization methods. The SBX operator developed here is based on the probability distribu- t ion of children st rings in a single-point crossover. Simil ar probabi lity di s- t ributions (i.e. , a functi on of t he spread fact or (3) can also be obt ained for mul ti-point and unifo rm crossovers and other similar real-coded crossovers can be designed. Probability dist ributions similar t o the one developed here are expec t ed, it may be interesting to invest igate whether t hey t urn out ot h- erwise. Depending on t he outcome of t hat analysis, t he issue of superiority of one crossove r over another can be resolved, par ti cul arly in t he context of the application of GAs t o cont inuous variables. Throughout t his st udy, reasonable values of t he populat ion size are used . As demonst rated elsewher e (e.g. , [6]), proper populati on sizing is import ant for t he successful working of GAs . That st udy also suggested a population sizing based on the rat io of t he difference in det ect able function values t o the vari ance of the funct ion. An attemp t can be made t o derive a population sizing for real-coded GAs from a similar viewpoint . In binary-coded GAs, t he major difficul ty towards achieving a converge nce proof lies in the mechan- Simulated Bi nary Crossover for Continuous Search Space 145 ics of the crossover operator. Although the mechanics of the single-point crossover (or for that matter , any other binary crossover operator) is simple, their mathematical modeling becomes difficult . Any convergence pro of of a stochastic process involves the calculati on of t ransit ion probabilities. Since in the SBX operator, a direct probabi lity distribution of children points for any given pair of parent points is used , the proof of convergence of GAs may become easier. The success of binary GAs in many single-object ive, unimodal problems has led researchers t o ext end the applicabilit y of GAs t o ot her types of op- t imization problems , namely multimodal and multiobjective function opti- mization problems. In order to find mult ipl e optimal solut ions simult ane- ously, sharing functions ar e used to create artificial fitn ess val ues, which are t hen used in the reproduction operator (e.g., [20,21]). In order t o find mult iple Pareto optimal points for mult iobj ect ive function optimization, t he concept of nondomination is used to create art ificial fitn ess values, which are again used in the reproducti on operator (e.g., [22]). Since only reproduction operators need modified to solve t he above problems , similar reproduct ion techniques can be used along with the SBX operator used in t his study t o investigat e t he efficacy of real-coded GAs in mult imodal and mult iobjective problems defined on a continuous sear ch space. 7. Conclusions In this paper, a real-coded crossover operator has been developed bas ed on t he sear ch characterist ics of a single-point crossover used in binary-coded GAs. In order to define the sear ch power of a crossover operator, a spread factor has been introduced as the ratio of the absolute differences of the children points to that of the parent points. Thereaft er , t he probability of creat ing a child point for two given parent points has been derived for the single-point crossover. Motivat ed by the success of binar y-coded GAs in problems wit h discrete sear ch space, a simul ated binary crossover (SBX) operator has been developed to solve problems having cont inuous search space. The SBX operator has search power similar to that of the single-point crossover. On a number of t est functions, incl uding De Jong's five test funct ions, it has been found that real-coded GAs with t he SBX operator can overcome a numb er of difficult ies inherent with binary-coded GAs in solving cont inuous search space problems-Hamming cliff problem, arbitrary pr ecision problem, and fixed mapped coding problem. In the comparison of real-coded GAs wit h a SBX operator and binary-coded GAs with a single-point crossover operat or , it has been observed that the performance of the former is better than the lat t er on continuous functions and the performance of t he former is similar to the lat t er in solving discret e and difficult functions. In comparison with another real-coded crossover operator (i.e. , BLX-0 .5) suggested elsewhere, SBX performs better in difficult test functions. It has also been observed that SBX is particularl y useful in problems where the bounds of the optimum 146 Kalyanmoy Deb and Ram Bhushan Agrawal point is not known a priori and wher e t here are multi ple optima, of which one is global. Real-coded GAs wit h t he SBX operator have also been tried in solving a two-variable blocked funct ion (the concept of blocked functions was intro- duced in [10]). Blocked funct ions are difficult for real-coded GAs , because local optimal points block t he progress of search to continue towards t he global optimal point . The simulat ion results on t he two-var iable blocked function have shown t hat in most occasions , t he search proceeds t he way as pr edicted in [10]. Most importantly, it has been observed that the real-coded GAs wit h SBX work similar to t hat of t he binary-coded GAs wit h single-point crossover in overcoming t he barrier of the local peaks and converging to t he global bas in. However , it is premature to conclude whether real-coded GAs wit h SBX operator can overcome t he local barriers in higher-dimensional blocked funct ions. These results are encour aging and suggest avenues for further research. Because the SBX ope rat or uses a probability distribut ion for choosing a child po int , the real-coded GAs wit h SBX are one st ep ahead of the binary-coded GAs in te rms of achieving a convergence proof for GAs. With a direct prob- abilist ic relationship between children and parent points used in t his paper, cues from t he classical st ochast ic optimization methods can be borrowed to achieve a convergence proof of GAs , or a much closer tie between the classical optimization methods and GAs is on t he horizon. Acknowledgment This work is funded by t he Department of Science and Technology, New Delhi under gr ant SR/SY/E-06/93. References [1] Goldberg, D. E., Genetic Algorithms in Search, Opti mization, and Machine Learning (Addison-Wesley, Reading , 1989). [2] Kargupta, H., Deb, K , and Goldberg, D. E., "Ordering Genetic Algorithms and Decepti on," in Parallel Problem Solving from Nature II, edited by R. Manner and B. Manderick (North-Holland, Amsterdam, 1992). [3] Radcliffe, N. J ., "Genetic Set Recombination ," in Foundations of Genetic Algorithms II, edited by D. Whitley (Morgan Kaufmann, San Mat eo, 1993). [4] Goldberg , D. E. , Korb, B., and Deb, K, "Messy Genet ic Algorithms: Moti- vation, Analysis, and First Results ," Complex Syst ems, 3, (1989) 493- 530. [5] Goldberg, D. E., Deb. K , Kargupta , H., and Harik, G. , "Rapid, Accurat e Opt imizat ion of Difficult Pr oblems Using Messy Genetic Algorithms," in Pro- ceedings of the Fifth Int ernational Confer-ence on Genetic Algor-ithms, edited by S. Forrest (Morgan Kaufmann , San Mat eo, 1993). Simulated Binary Crossover for Continuous Search Space 147 [6] Goldb erg, D. E. , Deb, K. , and Clark, J . H. , "Genet ic Algorithms, Noise, and the Sizing of Populations," Complex Systems, 6 , (1992) 333- 362. [7] Radcliffe, N. J. , "Forma Analysis and Random Respectful Recombinat ion," in Proceedings of the Fourt h International Conf erence on Genetic Algorithms , edited by R. K. Belew and L. B. Booker (Morgan Kaufmann, San Mateo, 1991). [8] Eshelman, L. J . and Schaffer , J. D., "Real-coded Genetic Algorithms and Interval Schemata," in Foundations of Genetic Algori thms II, edited by D. Whitley (Morgan Kaufmann , San Mateo, 1993) . [9] Wr ight , A., "Genet ic Algor ithms for Real Parameter Opt imization," in Foun- dations of Genetic Algorithms, edited by G. J. E. Rawlins (Morgan Kaufmann, San Mateo, 1991). [10] Goldberg , D. E. , "Real-coded Genet ic Algor it hms, Virtual Alphab et s, and Blocki ng," Complex Systems, 5 , (1991) 139-168. [11] Rechenb erg, 1., Evolutionstrat egie: Optmi erung t echnisher Syst eme nach Prinzipien der biologischen Evolution (Frommann-Holzboog Verlag, Stuttgurt , 1973) . [12] Back , T. , Hoffmeist er , F., and Schwefel, H-P. , "A Survey of Evolution Strat e- gies," in Proceedings of the Fourth International Confere nce on Genetic Al- gorithms, edited by R. K. Belew and L. B. Booker (Mor gan Kaufmann, San Mateo, 1991) . [13] Aarts, E. and Korst , J ., Simulated Annealing and Boltzmann Machin es: A Stochastic Approach to Combinatorial Optimization and Neural Computing (Wiley, Chichest er , 1989). [14] Booker, L. B. , "Recombinat ion Distribution for Genet ic Algor ithms," in Foun- dations of Genetic Algorithms , edited by D. Whitley (Morgan Kaufmann, San Mateo, 1993). [15] Syswerda, G. , "Unifor m Cros sover in Genetic Algorithms," in Proceedinqs of the Third Int ernational Conference on Genetic Algorithms, edited by J. D. Schaffer (Morgan Kaufmann, 1989) . [16] Davis, L., "Bit-climbing, Representational Bias, and Test Suite Design," in Proceedings of the Fourt h Int ernati onal Conference on Geneti c Algorithms, edited by R. K. Belew and L. B. Booker (Morgan Kaufmann, San Mat eo, 1991). [17] De Jong, K. A., "An analysis of t he Behavior of a Class of Genetic Adaptive Systems ," (doctoral dissertation, University of Michigan, Ann Arbor, 1975). Dissert ation Abstracts Int ernational, 36(10) 5140B (University Microfilms No. 76-9381). 148 Kalyanmoy Deb and Ram Bhushan Agrawal [18] Muhlenbein, R. , Schomisch, M., and Born, J. , "The Par allel Genetic Algo- rit hms as Function Optimizer, " in Proceedings of the FOU1,th International Conference on Geneti c Algorithms, edit ed by R. K, Belew and L. B. Booker (Morgan Kaufmann, San Mateo, 1991). [19] Gordon, V. S. and Whitley, D., "Serial and Par allel Genetic Algorithms as Function Opt imizers ," in Proceedings of the Fifth Int ernational Conference on Genetic Algorithms , edite d by S. Forrest (Mor gan Kaufmann, San Mat eo 1993) . [20] Deb, K. , "Genetic Algorithms in Multimodal Funct ion Optimization, " TCGA Report No. 89002 (Uni versit y of Alabama, Tus caloosa , 1989). [21] Goldberg, D. E., and Richardson, J ., "Genet ic Algori thms wit h Sharing for Multimodal Function Optimizati on ," in Proceedings of the Second Interna- tional Conference on Geneti c Algor-ithms, edited by J. J. Grefenstette (Mor- gan Kaufma nn, San Mat eo, 1987). [22] Srinivas , N. and Deb , K. , "Multiobj ecti ve Function Optimization using Non- dominate d Sorting in Genet ic Algorit hms," Evolutionary Computation, 2( 3) , 1995, 221-248.