57 Original scientific paper  MIDEM Society Population Ranking Based Differential evolution with Simulated Annealing for Circuit Optimization Jernej Olenšek, Árpád Bűrmen University of Ljubljana, Faculty of Electrical Engineering, Ljubljana, Slovenia Abstract: Finding the values of circuit parameters for which the resulting circuit satisfies the design requirements can be formulated as an optimization problem. This problem is often solved using global optimization algorithms that provide some guarantee the resulting solution is the best possible one provided that the algorithm is given sufficient time. Unfortunately, these algorithms are slow and require many circuit evaluations. One of the algorithms proposed in our past research is PSADE that combines the favorable properties of simulated annealing and differential evolution and was shown to be a fast and reliable tool for solving circuit optimization problems. To make PSADE faster we replace the Metropolis criterion for accepting a trial point with one that is based on population ranking. The proposed algorithm retains its highly parallel nature. We tested the algorithm on a set of mathematical test functions and on a real- world circuit optimization problem. The results on the analog circuit sizing case show that the modified algorithm is more efficient and reliable than PSADE and some other global optimization methods. Keywords: differential evolution; simulated annealing; population ranking; global optimization;, circuit design Optimizacija vezij z diferencialno evolucijo in simuliranim ohlajanjem na osnovi rangiranja populacije Izvleček: Iskanje vrednosti parametrov, pri katerih vezje zadosti načrtovalskim zahtevam, lahko predstavimo kot optimizacijski problem, ki ga pogosto rešujemo z globalnimi optimizacijskimi postopki. Ti nam zagotavljajo, da bomo našli najboljšo možno rešitev pod pogojem, da ima postopek na razpolago dovolj časa. Na žalost tovrstni postopki zahtevajo veliko simulacij vezja. Eden od postopkov, ki smo jih razvili, je postopek PSADE, ki združuje ugodne lastnosti diferencialne evolucije in simuliranega ohlajanja in se je izkazal kot hiter in zanesljiv pri optimizaciji vezij. Da bi postopek pospešili, smo zamenjali Metropolisov kriterij za sprejem točk s kriterijem, ki temelji na rangu točke znotraj populacije. Dobljeni postopek lahko zelo učinkovito paraleliziramo, saj obdrži vse ugodne lastnosti postopka PSADE. Preizkusili smo ga na naboru matematičnih funkcij in na praktičnem primeru iz načrtovalske prakse. Rezultati kažejo, da je pri načrtovanju vezij predlagani postopek bolj učinkovit in zanesljiv kot nekatere druge znane globalne optimizacijske metode Ključne besede: diferencialna evolucija; simulirano ohlajanje; rangiranje populacije; globalna optimizacija; načrtovanje vezij * Corresponding Author’s e-mail: jernej.olensek@fe.uni-lj.si Journal of Microelectronics, Electronic Components and Materials Vol. 46, No. 2(2016), 57 – 64 1 Introduction Choosing the values (parameters) of circuit compo- nents (also referred to as circuit sizing) with the goal of satisfying the design requirements can be formulated as an optimization problem by introducing a cost func- tion (CF) that reflects the quality of the circuit in a real number. Finding the best performing circuit reduces to finding the minimum of a CF. Unfortunately real-world CFs have many local minima. Finding the best local minimum is a computationally hard problem that is ad- dressed with global optimization algorithms. Many global optimization algorithms were devised in the past. Some of the most successful mimic the evolu- tion (e.g. [1, 2]) and behavior (e.g. [3, 4]) of living beings and physical processes (e.g. [5, 6]). Simulated anneal- 58 J. Olenšek et al; Informacije Midem, Vol. 46, No. 2(2016), 57 – 64 ing (SA) ([7, 8]) was one of the first global optimization algorithms drawing its inspiration from the process of cooling a metal. Due to its nature this algorithm is ca- pable of finding a global minimum, albeit with a large number of CF evaluations. Due to the so-called “no free lunch” theorems [9] the research in the area of global optimization started to focus on hybrid algorithms (e.g. [10, 11]). In our past research we hybridized SA with differential evolution (DE) [12] which resulted in the parallel simulated an- nealing and differential evolution algorithm (PSADE) [14] that exhibited good performance on mathemati- cal test functions, as well as, real world circuit design problems. Due to the SA component of PSADE it can mathematically be proven that the algorithm converg- es to a global minimizer given a sufficiently large num- ber of CF evaluations. PSADE is highly parallelizable which makes it possible to significantly speed up the optimization when multiple processors are available. PSADE has the same drawbacks as other heuristic op- timization algorithms. Most notable is the possibility of premature convergence to a local minimizer. The main cause of this drawback is the Metropolis accept- ance criterion of SA which often rejects trial points that would otherwise lead the algorithm away from a local minimizer. Furthermore, the Metropolis acceptance cri- terion is based on an artificial parameter (temperature) that is based on the CF value. Because the CF value can differ to a great extent between similar optimization problems the acceptance criterion can be misguided into rejecting promising points. To counter this drawback and simplify the algorithm we propose a different approach for accepting points based on the solution ranking within the popula- tion. The rank of the point is determined by sorting the points according to their CF value. We also assign every individual in the population a separate position. In turn, every position is assigned a set of parameters for SA and DE. Parameters corresponding to higher positions have a greater probability to be used in the process of constructing and evaluating a trial point. The algorithm tries to align the positions of individu- als within the population with their ranks. This align- ment is occasionally broken to increase the probability of accepting an inferior solution which may lead the algorithm away from a local minimum. We deem the proposed algorithm DESAPR (DE and SA with Popula- tion Ranking). The paper is divided as follows. Section 2 outlines the proposed approach. The asynchronous parallel ver- sion of the algorithm is the subject of section 3. The optimization results for mathematical test function are given in section 4 while section 5 presents the results obtained on a real-world circuit optimization problem. Section 6 concludes the paper. Notation. Vectors are denoted by bold lowercase let- ters. The i–th component of vector a is denoted by ai. Inequalities are applied to vectors component-wise. The realization of a uniformly distributed random num- ber from interval (0,1) is denoted by U(0,1). 2 The proposed method The problem subject to optimization can mathemati- cally be formulated as * argmin ( ) S f∈= xx x :f S → R { }: , NS = ∈ ≤ ≤x x L x UR (1) where f is the CF, N is the number of optimization variables, and L and U are vectors of lower and upper bounds imposed on these variables. The outline of the DESAPR is given by Algorithm 1. Algorithm 1: DESAPR outline. 1. Initialization. 2. Competition. 3. Selection of parameters. 4. Trial point generation. 5. Trial point evaluation. 6. Replacement of a point in the population. 7. Local search. 8. If termination condition is not met, go back to step 2. The population consists of M individuals. It is initialized by dividing each of the N parameter ranges given by vectors L and U uniformly into M subintervals. For every variable the M subintervals are assigned randomly to M individuals. The value of a variable for an individual is then chosen by randomly selecting a point in the as- signed subinterval. We denote the available positions with i = 0,1, …, M – 1. The behavior of the algorithm is determined by the weight factor W, crossover probability PX, and random step probability distribution width parameter η. A set of parameter values is assigned to every one of the M available positions. The values of parameters assigned to i-th position are 59 0 Wc i iW W e −= , ,0 , PXc i X i XP P e −= 1ii eη = − (2) Coefficients cW and cpX are computed from the weight factors and crossover probabilities of positions 0 and M-1 which are user defined parameters of the algo- rithm. ( ) 1 0 1 1 lnW M Wc M W − − = − ( ) 1 ,0 , 1 1 ln X X P X M P c M P − − = − (3) Every individual xi is assigned to one of the M available positions. Let pi and ri denote the position and the rank of i-th individual. The rank of an individual is deter- mined by ordering the individuals according to the CF value fi = f(xi) and assigning ranks from M-1 (for the low- est CF value) to 0 (for the highest CF value). The goal of the competition in step 2 of Algorithm 1 is to align the rank of the individuals in the population with their po- sitions. For this purpose two individuals are randomly selected from the population. Let i and j denote their indices. They exchange positions if rj > ri and pj < pi. This forces individuals with high rank (low CF value) to move to high positions. In step 3 of Algorithm 1 an individual is selected ran- domly with probability PS,i. , 1 0 i i r S i M r i eP e− = = ∑ (4) Let k denote the position of the selected individual. The weight factor (Wk), the crossover probability (PX,k), and the range parameter (ηk) values assigned to this posi- tion are used in steps 4-7 of Algorithm 1. Individuals with high rank are selected with higher probability. Be- cause higher ranking individuals tend to occupy higher positions, parameter values corresponding to higher positions are often used (but not always). To simplify the notation the search space is transformed so that the components of vectors (i.e. individuals) lie within [0,1], where 0 and 1 correspond to the lower and the upper bound, respectively. In step 4 of Algorithm 1 a trial point is generated using a modified DE operator [12] and polynomial mutation [13]. First a parent (x) and three additional distinct in- dividuals (u, v, and w) are selected. The DE operator is applied component wise with probability PX,k resulting in point y‘ with components ( ) , ' (0,1) . otherwise i k i i X k i i u W v w U P y x  + − ≤ =   (5) If y‘ violates the bounds the components that are out- side the bounds (i.e. y1‘ ∉ [0,1]) are corrected resulting in point y with components defined as ( ) ( ) ' ' ' ' 0 1 0,1 (1 ) 1 . 0,1 0 i i i i i i i i i y y y x U x y x U x y  ≤ ≤ = + ⋅ − >  − ⋅ < (6) Finally, polynomial mutation is applied to y compo- nent wise. For every component a random number ai = U(0,1) is generated. The trial point z is then com- puted as ( ) ( ) ( )( ) ( ) 1/ 11 1/ 11 1 2 2 2 1 0.5 2 1 2 1 1 otherwise kk kk i i i i i i i i i y z y y ηη ηη α α α α α ++ ++   − − + − > = +    + − − −  (7) Let fz denote the CF value corresponding to the trial point z. The population along with the trial point is or- dered according to the CF value. Rank 0 is assigned to the point with the highest CF value. Let rz and rx denote the ranks of the trial point and the parent, respectively. The trial point is accepted into the population (i.e. re- places the parent point x in step 6 of Algorithm 1) with probability ( ) min 1, z xr r k M kP e − −   =    (8) The acceptance criterion resembles the original Me- tropolis criterion [7] in the sense that higher ranking trial points are accepted with higher probability. A trial point ranking higher than the parent point is always ac- cepted. Finally, in step 7 of Algorithm 1 a simple local search strategy is performed if the trial point is accepted, the parent point is the best point in the population, or with some small probability PL (set to 0.05). Local search uses one of the points in the population as the origin and two additional points for computing a search direction (d). All three points are chosen randomly. Two addition- al points are evaluated along direction d and a quad- ratic model of the CF is computed. This model is mini- mized and the resulting point evaluated. The evaluated point with the lowest cost function value is the result of J. Olenšek et al; Informacije Midem, Vol. 46, No. 2(2016), 57 – 64 60 the local search. The resulting point replaces the parent point if its CF value is lower. The complete details of the local search can be found in [14]. 3 Parallel implementation Suppose one has m parallel processors available. As- suming most of the computational time is spent for evaluating the trial point and for local search, these two tasks are outsourced to parallel processors in an asyn- chronous manner. The main process (master) runs the following algorithm: Algorithm 2: asynchronous parallel optimization 1. Initialization. 2. If no processor is idle go to step 5. 3. Perform steps 2-4 of Algorithm 1 (generate a trial point). Send it to an idle processor (p) for evaluation. Remember the parent point (x) and the select- ed parameters position (k) for that processor. 4. If there are idle processors left return to step3. 5. Wait until one of the processors (p) finishes its task. Collect the results. 6. If p was performing global search point evalua- tion. Perform step 6 of Algorithm 1 (point replace- ment) using the parameters corresponding to position k that was stored for p. If required, start a local search (step 7 of Algo- rithm 1) on processor p. If p was performing local search. Replace the parent point of p if local search found a better point. 7. If termination condition is not met, go back to step 2. Algorithm 2 performs multiple passes of Algorithm 1 in parallel and in this way accelerates the evolution of the population. 4 Performance on mathematical test functions DESAPR was implemented within the framework of the PyOPUS library [15]. The performance of DESAPR was compared to that of PSADE, DE, SA, and JADE [18] on 13 test functions from [14]. For the sake of comparison, 30 optimization runs were performed for every func- tion. We will later use the presented method for analog circuit sizing, where CF evaluations can take several seconds. Therefore we impose a CF evaluation budget of 100000 function evaluations per run to maintain rea- sonable optimization run times. For DESAPR we used fixed parameter values in all ex- periments: M=20, W0=0.9, WM-1=0.9, PX0=0.9, PXM-1=0.1. We made no attempt to fine tune the parameter val- ues to any specific problem. It is very time consum- ing especially for real world problems, where every CF evaluation can take considerable amount of time. The values were chosen based on our experience with evolutionary algorithms. High weight factor for DE and low crossover probability tend to maintain population diversity longer, which is desirable since DESAPR uses very small population. Fine tuning the parameters and introducing parameter adaptation or evolution could lead to even better performance for our method and is also subject of our future research. For the compared methods, the parameters were se- lected according to guidelines from the authors of the methods. For DE we used DE/rand/bin strategy with population size 100, weight factor 0.5 and crossover probability 0.9. SA used in our experiments uses only two parameters. We set the final temperature and ran- dom step range parameter to Tmin=1e-10, Rmin=1e-10. For PSADE we set population size to 20, Tmin=1e-10, Rmin =1e-10, t1 = 0.01 (local step), t2 =0.1 (parameter adaptation). For JADE we also followed the author sug- gestions. We used the version without the archive, as suggested by the authors for problems with low di- mensionality (< 30). We used the population size of 100, the learning parameter c=0.1 and the percentage of points considered as the best in population p=5%. The results are given in Table 1. For every function we chose a target CF value ftarget, that lies in the basin of attraction of the global minimum. Finding this solution means that global search was suc- cessful, and any local search procedure can be used to quickly find the exact minimum. Not all runs succeed in reaching ftarget. We report the success rate and the average number (over successful runs) of CF evalua- tions (#CF) needed to reach ftarget. The average final CF error (with respect to the true global minimum) after 100 000 CF evaluations is listed in the error column. The best value of #CF and error are written in boldface if there exist a statistically significant difference between the best and second best method. No method was able to reach ftarget for all functions in all runs. JADE and DESAPR outperformed the other meth- ods so we will focus on them. Considering final CF val- ue, JADE outperformed DESAPR on 8 functions, while DESAPR was better only on 2 functions. On 3 functions there was no statistically significant difference. When J. Olenšek et al; Informacije Midem, Vol. 46, No. 2(2016), 57 – 64 61 Table 1: Performance comparison results for 30D mathematical test functions. The function value at the global mini- mum is denoted by f*. The results of the best performing algorithm are written in boldface if there exist a statistically significant difference to the second best method. Function f* ftarget #CF Success rate [%] error Algorithm f1 Sphere 0 10-10 39388 62347 NA NA 34000 100 100 0 0 100 9.74 * 10-17 5.32 * 10-12 5.20 * 10-7 7.09 * 10-6 0.0 DESAPR PSADE DE SA JADE f2 Schwefel 2.22 0 0.1 14477 47562 58954 78691 16020 100 100 100 76 100 5.19 * 10-7 4.91 * 10-2 1.73 * 10-4 4.30 * 10-3 0.0 DESAPR PSADE DE SA JADE f3 Schwefel 1.2 0 15 37693 67121 NA 61051 26334 100 100 0 100 100 7.11 * 10-3 0.811 29.01 7.38 * 10-4 4.81 * 10-9 DESAPR PSADE DE SA JADE f4 Schwefel 2.21 0 0.1 35228 71209 94510 73522 88247 100 100 36 100 63 4.07 * 10-5 0.073 2.94 * 10-1 1.18 * 10-3 9.22 * 10-2 DESAPR PSADE DE SA JADE f5 Rosenbrock 0 30 18919 36599 57851 63210 17418 100 100 100 70 100 16.52 21.46 21.11 92.07 4.28 DESAPR PSADE DE SA JADE f6 Step 0 0 11149 16151 42566 61547 10862 100 100 100 100 100 0 0 0 0 0 DESAPR PSADE DE SA JADE f7 Noisy quartic 0 0.02 30999 36211 79544 58044 16225 100 100 57 73 100 7.84 * 10-13 2.31 * 10-3 2.58 * 10-2 1.41 * 10-2 1.96 * 10-3 DESAPR PSADE DE SA JADE f8 Schwefel 2.26 -418.982887*30 = -12569.486618 -12569.45 22049 36955 NA NA 77722 97 93 0 0 97 3.95 7.90 7.59 * 103 7.11 * 102 3.95 DESAPR PSADE DE SA JADE f9 Rastrigin 0 0.1 30697 81588 NA NA 77644 100 100 0 0 100 6.83 * 10-13 8.19 * 10-3 144.23 6.31 1.60 * 10-4 DESAPR PSADE DE SA JADE f10 Ackley 0 10-4 31255 55982 96542 NA 27122 100 100 83 0 100 2.27 * 10-7 1.93 * 10-5 8.14 * 10-4 0.71 4.44 * 10-16 DESAPR PSADE DE SA JADE f11 Griewank 0 10-9 42281 77545 NA NA 35385 100 100 0 0 100 1.37 * 10-13 7.88 * 10-9 4.13 * 10-8 2.10 * 10-2 5.55 * 10-17 DESAPR PSADE DE SA JADE J. Olenšek et al; Informacije Midem, Vol. 46, No. 2(2016), 57 – 64 62 comparing the speed, JADE was faster on 7 functions, while DESAPR was better on 4. JADE displays a good fine tuning capabilities and fast convergence on uni- modal and well behaved functions. However on the most difficult f8 and f9, that have many local minima, DESAPR was significantly better than JADE, regarding both the speed and the final solution quality. JADE and DESAPR also exhibit similar success rate. 5 Performance on a real-world design problem We tested DESAPR by sizing a Miller operational trans conductance amplifier (OTA) (Figure 1)[16] across a large number of corner points. The bias current was set to 100µA. The performance measures and the design requirements are listed in Table 2. Every corner point is a combination of temperature (0oC, 25 oC, and 100 oC), operating voltage (1.7V, 1.8V, and 2.0V), and CMOS corner model (average, worst power, worst speed, worst one, and worst zero). Let  denote the set of 45 corner points obtained in this manner. Every design requirement must be met for all 45 corner points from set  . The CF is a function of the design parameters (xD). It is constructed as a sum of contributions (CFi) corresponding to individual perfor- mance measures. ( ) ( )D i DCF CF= ∑x x (9) Let pi(xD), gi, and ni denote the worst value of a perfor- mance measure across corners from set i ⊆  , the corresponding goal, and the corresponding norm, re- spectively. A contribution of a performance measure to the CF for which an upper bound is imposed (design requirement of the form pi(xD) ≤ gi) is computed as [17] ( ) 6 ( ) (the design requirement is not met) ( ) ( )10 otherwise i D i i D i i i D i D i i p g p g n CF p g n − − ≥=  − ⋅  x x x x (10) For performance measures with design requirements of the form pi(xD) ≥ gi the roles of pi(xD) and gi in equa- tion (10) are exchanged. By default the norm is equal to the goal. If the goal is 0, the norm is set to 1. An ex- ception is the circuit area for which the norm is set to 100µm2. Constructing the cost function in this manner penalizes designs that fail to satisfy the design require- ments with a positive CF contribution while rewarding designs that exceed the design requirements with a small negative CF contribution. Figure 1: Miller OTA. The optimizer tries to find the minimum of the CF by tuning the 13 design parameters (11 transistor channel widths and lengths, the resistance of R and the capaci- tance of C). The optimizer stops as soon as all design requirements are satisfied. Table 2: Design requirements and circuit analyses from which the performance of the Miller OTA is evaluated. Performance measure Goal Required analyses Supply current [µA] ≤ 200 op Vgs overdrive [V] ≥ 0.0 op Vds overdrive [V] ≥ 0.1 op Output swing [V] ≥ 1.2 dc Gain [dB] ≥ 60 ac UGBW [MHz] ≥ 30 ac Phase margin [o] ≥ 50 ac PSRR Vdd [dB] ≥ 65 ac, acvdd f12 Penalty 1 0 10-10 39953 52650 NA NA 32804 100 100 7 0 100 4.70 * 10-16 3.31 * 10-16 1.71 * 10-9 4.94 * 10-8 3.77 * 10-32 DESAPR PSADE DE SA JADE f13 Penalty 2 0 10-10 43895 54261 NA NA 34960 100 100 0 0 100 1.65 * 10-14 5.74 * 10-15 3.59 * 10-7 1.01 * 10-6 4.39 * 10-30 DESAPR PSADE DE SA JADE J. Olenšek et al; Informacije Midem, Vol. 46, No. 2(2016), 57 – 64 63 PSRR Vss [dB] ≥ 65 ac, acvss CMRR [dB] ≥ 90 ac, accom Settling time (up) [ns] ≤ 100 tran Settling time (down) [ns] ≤ 100 tran Overshoot (up) [%] ≤ 10 tran Overshoot (down) [%] ≤ 10 tran Slew rate (up) [V/µs] ≥ 10 translew Slew rate (down) [V/µs] ≥ 10 translew Circuit area [µm2] ≤ 1000 - Because evaluating one point in the design space re- quires the circuit to be evaluated across all corner points from  a strategy for reducing the number of circuit evaluations was used. The circuit was optimized in multiple passes where the solution of k–th pass (xD,k) was used as the initial point for pass k +1. In the be- ginning of k–th pass all performance measures were evaluated across all corners from  at the initial point xD,k-1. Let ic ∈ denote the corner point where the i–th performance measure reached its worst value. If this worst performance did not satisfy the corresponding design requirement corner point ci was added to i . If no corner was added to any of the corner point subsets, no further passes were performed. If the resulting circuit satisfied all design requirements the run was deemed as successful. If, however, a corner point was added to any of the corner point subsets, the CF was minimized using an optimization algorithm starting from xD,k-1 which re- sulted in point xD,k. In most cases the final corner subsets contained only a handful of corners where the circuit exhibited its worst performance. Therefore the number of circuit evaluations was much lower compared to the brute force approach where every point in the design space is evaluated across all 45 corners. Population based algorithms were started from a given initial point xD,k by replacing one member of the ini- tial population with xD,k. Optimization was stopped as soon as all design requirements were satisfied across the corresponding corner point sets i or if the number of evaluated circuits exceeded 50000. Four optimiza- tion algorithms were tested: differential evolution (DE), PSADE [14], DESAPR and JADE. SA was not included in this test because its performance on mathematical test functions considering the average final CF value was significantly worse than the performance of DE. Due to the stochastic nature of the tested algorithms the circuit was optimized 10 times on a cluster of 100 processors. For every algorithm the final CF value, the run time, and the number of performed circuit analyses was recorded. The minimal, the maximal, and the aver- age results are listed in Table 3. In terms of the final CF value DE and JADE failed to find a circuit satisfying all design requirements, despite many more CF evaluations. DESAPR and PSADE both succeeded in finding such a circuit in all 10 optimiza- tions. The final CF value found by PSADE was slightly better, although this is not relevant because the opti- mization was stopped as soon as a circuit satisfying all design requirements was found and there was no real competition between the algorithms in terms of find- ing the best possible circuit. In terms of computational time DESAPR was on average two times faster than PSADE. The same can be said about the number of cir- cuit analyses. 6 Conclusion Finding the values of the circuit’s design parameters is an important task in analog design automation. Global optimization algorithms are often selected for this task due to their ability to find the best possible circuit. Un- Table 3: Performance comparison results for the Miller OTA. The best results (CF value and time) are written in bold- face. CF Time [s] # op # dc # ac # acvss # acvdd # accom # tran # translew DE Min 1.76e-02 7.42e+03 597390 132382 999350 221375 241473 261571 528424 264396 Max 4.97e-01 2.95e+04 2358660 381896 5036254 2105616 2280094 2396099 2029708 1133701 Avg 8.66e-02 1.96e+04 1453050.4 271884.2 3049903.2 1004943.8 1080426.9 1134624.7 1247288.0 670108.5 PSADE Min -3.99e-05 6.59e+02 34722 9180 45739 9180 12955 14976 39943 21951 Max -3.50e-05 3.59e+03 180440 42717 365833 112328 95558 119591 259453 124762 Avg -3.77e-05 1.92e+03 107708.4 24171.2 172718.2 48279.7 46172.2 55005.7 136731.1 66726.0 DESAPR Min -3.96e-05 4.08e+02 19222 5750 31718 6225 8090 8090 24758 13626 Max -3.47e-05 1.24e+03 69940 15284 117381 29909 35803 39533 75463 54541 Avg -3.70e-05 9.24e+02 46279.4 10833.1 71826.0 19131.2 20380.1 23858.7 53771.4 32792.2 JADE Min 8.67E-03 2.55E+05 3806920 688720 10603220 5299470 5299470 5299470 5989420 3018020 Max 5.74E-02 4.08E+05 8380226 1280426 27604226 11204410 11204410 11062510 11054026 5803526 Avg 2.78E-02 3.06E+05 5.70e+06 9.55e+05 1.77e+07 7.56e+06 7.59e+06 7.51e+06 8.00e+06 4.23e+06 J. Olenšek et al; Informacije Midem, Vol. 46, No. 2(2016), 57 – 64 64 fortunately these algorithms are quite slow. We pro- pose a modification of the PSADE global optimization algorithm that replaces the original Metropolis crite- rion of simulated annealing with a ranking based cri- terion. By replacing the acceptance criterion we hope to avoid situations where the algorithm gets caught in the neighborhood of a local minimum. The proposed algorithm (DESAPR) is highly parallelizable. We tested the algorithm on a set of mathematical test functions and on a real-world circuit design problem. The results confirmed, that DESAPR is an efficient and reliable op- timizer for analog circuit sizing problem. 7 Acknowledgements The research was co-funded by the Ministry of Educa- tion, Science, and Sport (Ministrstvo za Šolstvo, Zna- nost in Šport) of the Republic of Slovenia through the programme P2-0246 Algorithms and optimization methods in telecommunications. 8 References 1. JY Sun, QF Zhang, and EPK Tsang. DE/EDA: A new evolutionary algorithm for global optimization. Information Sciences, 169(3-4):249–262, 2005. 2. R Chelouah and P Siarry. A continuous genetic al- gorithm designed for the global optimization of multimodal functions. Journal of Heuristics, 6(2): 191–213, 2000. 3. Chuen Tse Kuah, Kuan Yew Wong, and Manoj Kumar Tiwari. Knowledge sharing assessment: An Ant Colony System based Data Envelopment Analysis approach. Expert Systems with Applica- tions, 40(8):3137–3144, 2013. 4. Bolun Chen, Ling Chen, and Yixin Chen. Efficient ant colony optimization for image feature selec- tion. Signal Processing, 93(6, SI):1566–1576, 2013. 5. J Kennedy and R Eberhart. Particle swarm optimi- zation. IEEE International Conference on Neural Networks Proceedings, 1-6: 1942–1948, 1995. 6. JJ Liang, AK Qin, PN Suganthan, and S Baskar. Comprehensive learning particle swarm opti- mizer for global optimization of multimodal func- tions. IEEE Transactions on Evolutionary Compu- tation, 10(3):281–295, 2006. 7. S Kirkpatrick, CD Gelatt, and MP Vecchi. Op- timization by simulated annealing. Science, 220(4598):671–680, 1983. 8. D. R. Thompson and G. L. Bilbro. Sample-sort sim- ulated annealing. IEEE Transactions on System, Man, and Cybernetics (B), 35(3):625–632, 2005. 9. David H. Wolpert and William G. Macready. No free lunch theorems for optimization. IEEE Trans- actions on Evolutionary Computation, 1(1):67–82, 1997. 10. A. Kaveh and S. Talatahari. Particle swarm opti- mizer, ant colony strategy and harmony search scheme hybridized for optimization of truss struc- tures. Computers & Structures, 87(5-6):267–283, 2009. 11. Ali Riza Yildiz. A novel hybrid immune algorithm for global optimization in design and manufac- turing. Robotics and Computer-Integrated Manu- facturing, 25(2):261–270, 2009. 12. R Storn and K Price. Differential evolution - A sim- ple and efficient heuristic for global optimization over continuous spaces. Journal of Global Optimi- zation, 11(4):341–359, 1997. 13. M Hamdan. A dynamic polynomial mutation for evolutionary multi-objective optimization algo- rithms. International Journal on Artificial Intelli- gence Tools, 20(1):209–219, 2011. 14. Jernej Olenšek, Tadej Tuma, Janez Puhan, and Árpád Bűrmen. A new asynchronous parallel global optimization method based on simulated annealing and differential evolution. Applied Soft Computing, 11(1):1481–1489, 2011. 15. “PyOPUS - Circuit Simulation and Optimization”, available at http://fides.fe.uni-lj.si/pyopus/, 2015. 16. R.J. Baker, CMOS Circuit Design, Layout, and Simu- lation, Wiley-IEEE Press, Hoboken (NJ), 2007. 17. Á Bűrmen, D Strle, F Bratkovič, J Puhan, I Fajfar, T Tuma. Automated robust design and optimiza- tion of integrated circuits by means of penalty functions. AEU-International journal of electron- ics and communications 57 (1), 47-56, 2003. 18. Jingqiao Zhang and Arthur C. Sanderson. JADE: Adaptive Differential Evolution with Optional Ex- ternal Archive. IEEE Transactions on evolutionary computation, 13 (5), 945-958, october 2009. Arrived: 18. 12. 2015 Accepted: 13. 06. 2016 J. Olenšek et al; Informacije Midem, Vol. 46, No. 2(2016), 57 – 64