Non-Sorting Genetic Algorithm in the Optimization of Unity-Gain Cells I. Guerra-G´ omez , E. Tlelo-Cuautle , C.A. Reyes-Garc´ ıa , G. Reyes-Salgado and Luis G. de la Fraga INAOE, Calle Luis Enrique Erro No. 1, Tonantzintla, Puebla. 72840 Mexico, ivickguerra@yahoo.com.mx CENIDET, Computer Sciences Department, Interior Internado Palmira, 62490, Cuernavaca Morelos, Mexico CINVESTAV, Computer Science Department, Av. IPN 2508., 07360 Mexico City, Mexico Abstract—An optimization system based on the multi-objective evolutionary technique NSGA-II is presented to automatically size unity-gain cells, namely: voltage and current followers, and voltage and current mirrors. These unity-gain cells are optimized in three performance objectives: gain, bandwidth and offset. The proposed optimization system uses HSPICE as circuit evaluator by including input and output resistances as constraints, besides by guaranteeing that all transistors are in saturation operation. I. I NTRODUCTION Analog signal processing applications requires the use of different kinds of active elements. For instance, in [1] is in- troduced an analysis of the state-of-the-art of active elements, where a methodology is proposed to generate new active elements. It is worthy to mention that the majority of these active elements, already known or new ones, can be designed by using the four unity-gain cells (UGCs), namely: voltage followers (VFs) [2], current followers (CFs) [3],voltage mir- rors (VMs) [4] and current mirrors (CMs) [5]. These UGCs can be synthesized automatically [7]; for example: among the available analog synthesis tools [8], the VF can be synthesized by applying genetic algorithms [9]. Furthermore, it has been demonstrated that the superimposing [3] or combination of UGCs generates complex circuits such as current convey- ors (CCs) [10], and current feedback operational amplifiers (CFOAs) [11]. These active elements allow modeling at the system level [7], [12], to speed-up time simulation. The applications of UGCs, CCs and CFOAs can be found in filter design [5], sinusoidal oscilators [13], [14], and chaotic oscillators [11], [15], [16]. However, to improve the perfor- mances of these kind of applications, it is very much needed to optimize the behavior of the active elements. Although some optimization approaches have been already presented [7], [8], [10], [17], [18], the analog circuit optimization problem is an unsolved one yet. Nevertheless, the actual tendency in this field, is to apply evolutionary algorithms into the optimization tasks[19]. That way, this work shows the usefulness of apply- ing the non-sorting genetic algorithm (NSGA-II) [20], to au- tomatically size UGCs taking into account circuit constraints, and linking HSPICE like simulator to evaluate performances. II. NSGA-II Lets consider a multiobjective optimization problem (MOP) of the form [20]: minimize F (x)=(f 1 (x),f 2 (x),...,f m (x)) T subject to h k (x) 0 , k =1 ...p, where x X. (1) where X R n is the decision space for the variables, x = (x 1 ,...,x n ) is called the decision vector. F (x) is the objective vector, f j (x): R n R,j =1 ...m (m 2) are objective functions and h k (x),k =1 ...p are performance constraints. Very often, since the objectives in (1) contradict each other, no point in X minimize all the objectives simultaneously. An useful way to deal with this problem can be defined in terms of Pareto optimality [6], [7]. In this manner, a solution is considered as optimal if it can not be improved without deterioration to at least one of its components. It is possible to define the Pareto dominance then as x i x j (x i dominates x j ) if all f n (x i ) in F (x i ) are equal or better than all f n (x j ) in F (x j ) and at least one f n (x i ) is better than f n (x j ), where better means less when the objective is to minimize and high when the objective is to maximize. A solution x i is said to be constrained-dominated in a solution x j , if any of the following conditions is true: Solution x i is feasible and solution x j is no, solutions x i and x j are both infeasible, but solution x i has a smaller overall constraint violation or, solutions x i and x j are feasible and solution x i dominates solution x j . A. NSGA-II Algorithm This algorithm approximates the Pareto Front of a MOP by sorting and ranking all solutions in order to choose the better solutions to make a new offspring. This means, by ranking all the population in different Pareto subfronts that it will be possible to know which solutions show better performance. In this algorithm is contemplated a way to choose the best solution between two solutions in the same subfront preserving diversity, in this form it is possible to select the best part of a population without losing diversity. NSGA-II is based on three main issues : Fast Nondominated Sort , Crowding Distance Assignment and elitism. These procedures and the fact that add constraints, ensure that the solutions are feasible [20]. At the begining it is necessary to randomly initialize the parameters and start by building two populations (P o and Q o ) each one of size N , from random values into a feasible region. The NSGA-II procedure in each generation consists of rebuilding the current population (R t ) from the two original