22nd Annual Review of Progress in Applied Computational Electromagnetics March 12-16, 2006 - Miami, FL ©2006 ACES A Combined Continuous/Binary Genetic Algorithm for Microstrip Antenna Design Randy L. Haupt The Pennsylvania State University Applied Research Laboratory P. O. Box 30 State College, PA 16804-0030 haupt@ieee.org Abstract: This paper describes a genetic algorithm (GA) that optimizes chromosomes containing a mix of continuous and binary encoded variables. Uniform crossover from the binary GA and a mutation rate akin to that of the continuous GA are fundamental parts of the algorithm. Parameter selection as well as an application to antenna design are presented. Keywords: Genetic algorithm, optimization, microstrip antenna 1. Introduction Most optimization problems work with continuous values. If the variables have integer values, then special algorithms must be used. If continuous values and integers are part of the same optimization problem, then it is known as mixed integer optimization, and popular approaches, such as branch and bound, are used. The genetic algorithm and particle swarm optimization have also been used for mixed integer optimization. This paper presents a GA formulation that simultaneously works with continuous, integer, and binary values in one chromosome. Operators for his new algorithm is described in the next section and applications to a circularly polarized patch antenna designs are shown in the following section. The beauty of this algorithm is that it can optimize on any type of variable value without a change in the algorithm. 2. Mixed Integer/Binary GA The initial population matrix of the GA is given by P ª a11 «a « 21 « # « ¬ aR1 a12 " a1C º » a22 » % # » » " aRC ¼ 591 (1) 22nd Annual Review of Progress in Applied Computational Electromagnetics March 12-16, 2006 - Miami, FL ©2006 ACES where 0 d arc d 1 . Each row is a chromosome and the values are created by a uniform random number generator. A cost function evaluates each chromosome and returns a cost. cost f > a m1 , am 2 ," , amC @ (2) Inside the cost function, the variables may be converted to a new continuous range by xmax xmin amn xmin (3) roundup ^ xmax xmin amn ` xmin (4) xn or converted to an integer by xn where roundup rounds to the next highest integer and x values are integers. In some cases, the value is converted to binary. One possibility is to round the value. round ^amn ` (5) quantize ^amn ` (6) xn Another possibility is to quantize the value. xn The cost function does all the scaling, quantizing, and rounding, so the GA can operate independent of the type of variable. Uniform crossover works well for the binary GA, so it is implemented here. Two parents are selected and a random binary mask is created. If the mask has a one in the column, then the offspring receives the variable value in parent#1. If it has a zero, then the offspring receives the variable value in parent#2. parent #1 am1 parent # 2 an1 1 mask offspring am1 am 2 an 2 0 an 2 am3 an 3 1 am3 am 4 an 4 1 am 4 am 5 an 5 0 an 5 am 6 an 6 1 am 6 am 7 an 7 0 an 7 am8 an8 0 an8 am 9 an 9 1 am 9 (7) This type of crossover results in a diversity of values if the values are binary, but only interchanges values between chromosomes if the values are integer or continuous. Consequently, the mutation must be responsible for creating diversity within the population for continuous and integer values. One possible approach to mutation is to randomly select variables in the population and replace them with uniform random values. The mutated chromosome ( chromc ) is created from the selected chromosome ( chrom ) by chromc > ar1 ar 2 arc3 ar 4 592 ar 5 ar 6 ar 7 ar 8 arc9 @ (8) 22nd Annual Review of Progress in Applied Computational Electromagnetics March 12-16, 2006 - Miami, FL ©2006 ACES where the primed values are uniform random numbers. Another approach is to add a random correction factor. The correction factor may be created by multiplying each element within a chromosome by a random number ( 1 d E rm d 1 ) and multiplying the entire chromosome by a mutation factor ( 0 d D r d 1 ). chromc D r > E r1ar1 E r 2 ar 2 E r 3 ar 3 E r 4 ar 4 E r 5 ar 5 E r 6 ar 6 E r 7 ar 7 E r 8 ar 8 E r 9 ar 9 @ (9) Now, the mutated chromosome is given by chromc rem ^chrom chrom c ` (10) where rem is the remainder function (digits to the left of the decimal point are dropped). This algorithm was tested on two cost functions to try to determine an appropriate population size and D r . In both cases, the GA quit after 400 function evaluations and reported the best results. The first test functions is f1 x 6 ¦x 2 n (11) n 1 with a minimum of zero at xn 0 . The results shown in Figure 1 were averaged over 100 runs for population sizes between 8 and 96 and mutation rates between 0.01 and 0.3. The best results occurred when the population size was 8 and the mutation rate was 0.1. Figure 1. GA results for f1 averaged over 100 runs for various population sizes and mutation rates. 593 22nd Annual Review of Progress in Applied Computational Electromagnetics March 12-16, 2006 - Miami, FL ©2006 ACES The second test functions is 6 f 2 x 60 ¦ ª¬ xn2 10 cos 2S xn º¼ (12) n 1 with a minimum of zero at xn 0 . The results shown in Figure 2 were averaged over 500 runs for population sizes between 8 and 96 and mutation rates between 0.005 and 0.3. The best results occurred when the population size was 40 and the mutation rate was 0.01. Figure 2. GA results for f 2 averaged over 500 runs for various population sizes and mutation rates. 3. Applications to Antenna Design The goal is to design a rectangular patch for circular polarization at 10 GHz using FEKO. Input variables for the cost function are x, y position of probe feed Lx , Ly patch length in x and y directions h substrate thickness (either 1.575mm or 3.15mm) H r relative dielectric constant of the substrate (either 2.2 or 2.33) The cost function returns the following value 594 22nd Annual Review of Progress in Applied Computational Electromagnetics cost March 12-16, 2006 - Miami, FL ©2006 ACES ­ ET EM ½ S ° ° max ® , ET EM , s11 ¾ 2 °¯ ET EM ¿° (13) The first two quantities in (13) equal zero for circular polarization, and s11 is zero for a perfect match to 50: . When the patch is circularly polarized and perfectly matched, then cost = 0. The optimization was performed using the best population size and mutation rate for both test functions in the previous section. Results were averaged over 5 runs and are summarized in Table 1. Figure 3 shows the best of five independent results for a population size of 8 and D r 0.10 and for a population size of 40 and D r 0.01 . Since the optimizations were terminated after 400 function calls, the number of generations to convergence is different for different population sizes. Table 1. Cost statistics after 5 independent runs. maximum minimum average population size = 8 0.48995 0.055435 0.22332 mutation rate = 0.10 population size = 40 0.51665 0.30441 0.40838 mutation rate = 0.01 Nelder-Mead downhill 1.0921 0.27444 0.53891 simplex algorithm Figure 3. Convergence results for the two best runs with a population size of 40 and D r 0.01 , and a population size of 8 and D r 0.10 . The top two dashed curves are the population average and the bottom two curves are the best population cost. The GA was terminated after 400 function evaluations. 595 22nd Annual Review of Progress in Applied Computational Electromagnetics March 12-16, 2006 - Miami, FL ©2006 ACES The best chromosome translates to the optimum design values of x, y 1.262mm,3.451mm Lx , Ly 8.618mm,10.138mm h 1.575mm H r 2.2 The resulting patch is right-hand elliptically polarized with an axial ratio of 1.09 and s11 0.055 . 4. Conclusions Many antenna designs have variables with integer values and with continuous values. This paper presented a version of a GA that works with values between zero and one and uses binary uniform crossover and continuous mutation. The patch antenna design is a multiobjective optimization using continuous and binary variables. References [1] Y. Li and M. Gen, "Nonlinear mixed integer programming problems using genetic algorithm and penalty function," [2] Z. Gaing, "Constrained optimal power flow by mixed-integer particle swarm optimization," [3] R.L. Haupt and Sue Ellen Haupt, Practical Genetic Algorithms, 2nd edition, New York: John Wiley & Sons, 2004. 596