Design Tolerancing with Utilization of Gene

Expression Programming and Genetic Algorithm

L. Zielinski

#

, J. Rutkowski

#

#

Silesian University of Technology, Institute of Electronics,

ul. Akademicka 16, 44-100 Gliwice, POLAND

e-mail: lukasz.zielinski@comverse.com, jerzy.rutkowski@polsl.pl

Abstract – This paper undertakes the problem of Design

Tolerancing (DT). This issue plays huge role in design of

analog circuits. Because practically it is impossible to obtain

optimum solution by mathematically described

computational methods, this problem is numbered to NP-

difficult category. Optimum tolerances of analog circuit

parameters such as resistance, capacitance and inductance,

are determined based on Genetic Algorithms and new

evolutionary technique i.e. Gene Expression Programming

(GEP). To explain and assess the new DT method, two

practical examples are presented.

Keywords: analog circuits, design tolerancing, evolutionary

computation, optimization

I. I

NTRODUCTION

Beside Design Centering (DC) [1] [2], Design

Tolerancing (DT) is one of the most important issues in

analog circuit design. Due to deviations of parameters of

electronic elements from their nominal values, it is not

possible to achieve the situation, in which all circuits

fulfill all the design specifications [4]. It is caused, among

other things, by imperfection of production process and

means that production yield is always less then 100%.

There are several methods to improve this output. Design

Tolerncing is perceived as one of them. The main task of

DT is determination of tolerance boundaries of individual

circuit elements, to assure yield at the assumed level [7].

It is assumed that nominal values are known and only

optimal spread of parameters dispersion is investigated.

Researchers have presented many methods of optimal DT

[8], [9]. All of them were based on common optimization

techniques. Because the considered problem is numbered

to NP-hard category, i.e. no polynominal-bound

algorithm is likely to exist, it seems that utilization of

evolutionary computation techniques can be very

suitable. The Design Tolerancing problem has been

solved using combination of two evolutionary techniques:

Genetic Algorithms (GA) and Gene Expression

Programming (GEP). GEP is the newly invented

technique for evolving computer programs, modeled on

natural evolutionary mechanisms originated from Darwin

evolution theory of natural choice and selection. GEP,

described more precisely in the next section, is a natural

development of Genetic Programming [12] and GA.

Genetic Algorithms have been thoroughly presented in

many works [10], [11] and are beyond the scope of this

paper. Finally, two practical exemplary circuits,

originally considered in [2] and [3], will be examined.

II. G

ENE

E

XPRESSION

P

ROGRAMMING

Gene Expression Programming was invented by

Candida Ferreira in 1999. This new evolutionary

technique combines features of its predecessors, GA and

GP. The main difference between the three algorithms

resides in coding of individuals. In GA, individuals are

represented by symbolic strings of a fixed length, the so

called chromosomes. Individuals in GP are nonlinear

entities of different size and shape, the so called parse

trees. GEP individuals are encoded as symbolic strings of

a fixed length (chromosomes), which are then expressed

as nonlinear entities of different size and shape, the so

called expression trees (ET) [5]. GA and GP suffer from

two main limitations: if they are easy to manipulate

genetically, they lose in functional complexity and on the

other hand, when their functional complexity is high, it is

extremely difficult to reproduce with some modification

[6]. Furthermore, use of genetic operators in GP is very

limited and operators act directly on parse trees. GEP

successfully is free of these constraints, and thus,

significant improvement in speed and accuracy can be

noticed. In GEP chromosome consists of a linear,

symbolic string of a fixed length. One chromosome can

contain one or more genes, each encoding a sub-

expression tree. Despite fixed length of chromosomes, it

is possible to code expressions trees of different size and

shape. To read and express the information of ET,

encoded in a chromosome, Karva language is used.

Structural organization of genes in a head and a tail

always guarantees production of valid programs. The

GEP flowchart, examples of chromosome organization,

translation to ET and simple program creation can be

found in [5].

III. N

EW METHOD DESCRIPTION

It is assumed that an examined circuit is characterized

by design S specifications and P design parameters

],...,1[ xPx=X

. The initial nominal values of parameters

as well as their tolerances

],...,[

1 xPx

toltol

=

tol

should be

established by the design engineer. Normal distribution

(1) within tolerance range is assumed.

( )

−

−=

2

2

2

exp

2

1

)(

σ

µ

σπ

x

xf

(1)

where,

σ

2

=1 is variance and

µ

is the expected value

(nominal point). The production yield can be then

expressed by (2).

∫

=

R

dfY XXX )()(

(2)

where, R is an acceptability region defined as a region in

parameter space where all points satisfy S design

constraints [3]. For the given nominal point and

tolerances

tol

, the yield can be obtained from Monte

Carlo (MC) analysis [7]. Then, for the assumed

production yield, finding of maximum allowable

tolerances is the DT task. The proposed evolutionary

method of DT can be divided into two phases. In the first

phase, a transfer function (3) that expresses the yield by

parameter tolerances is searched for and GEP is utilized.

Y = Y(

1x

tol

,

2x

tol

, …,

xP

tol

) (3)

In the second phase, tolerances are maximized for the

assumed yield, based on the obtained transfer function,

and GA is used.

A. Phase 1

To start the GEP algorithm, for the given nominal

point, a training set of tolerances and corresponding

yields has to be created. This set consists of n pairs:

{

tol

j

,Y

j

} obtained from n runs of MC analysis. Then,

fitness of the GEP population individual (chromosome) is

calculated as sum of n components, each fractional fitness

fit

j

(j=1,…,n) is calculated from (4).

0;1,

*

==≤−=

jjjjj

fitelsefitthenYYEIf ε

(4)

where

ε

猠瑨攠慳獵=e搠灲散楳楯測≤ Y

j

is the j-th pair target

yield (obtained from MC analysis) and

*

j

Y

is the yield

obtained, when setting the j-th pair tolerances in the

transfer function described by the chromosome. As can

be seen fit

max

=n.

B. Phase 2

The designated transfer function (3) is utilized to find

maximum tolerances that satisfy the assumed yield, by

means of GA. Integer-string representation of

chromosome has been chosen, with binary coding of

integers. Each chromosome consists of P tolerances:

Chrom = [

1x

tol

,…,

xP

tol

] (5)

Values of genes can be limited by upper boundary b

u

and

lower boundary b

l

, suitably to design requirements. A

proper determination of the fitness function is the GA

crucial point. Function described by equation (6) is

proposed.

u

P

p

xp

assumed

bP

tol

b

Y

Y

aFitness

⋅

⋅+⋅=

∑

=1

(6)

where, Y

assumed

is a yield determined by design engineer.

As can be seen, fitness function consists of two factors:

yield factor with a weigh a and tolerance factor with a

weigh b, a+b=1. By selecting the appropriate weighs, it

can be decided which part is prevailing in the function.

The fitness of best chromosome should be very close to

1. For an individual offering such value, yield is very

close to the assumed one and parameter tolerances are

maximal.

IV. C

OMPUTATIONAL

E

XAMPLES

The method will be illustrated by two practical

examples, originally considered in [2] and [3]. The GEP

and GA constants are given in Table 1. The assumed

boundaries are: b

u

=15 and b

l

=1. The training set has been

created based on n=40 series of Monte Carlo simulations.

Table 1: GEP and GA settings

Example 1 Example 2

I. GEP

Number of

chromosomes

50 100

Gene Size 38 44

Precision

ε

=

‱〠

⁍畴慴楯渠牡瑥= 〮〰㐠 〮〰㐠

⁉湶敲獩潮慴攠 〮ㄠ 〮ㄠ

䥉⸠䅇I = =

⁎漮映楮摩癩摵慬猠 㔰5 㔰5

⁓瑯瀠捯湤楴楯渠 〠楴敲慴楯湳1 ㈰〠楴敲慴楯湳2

⁍畴慴楯渠灲潢慢楬楴p 〮〵0 〮〵0

⁃牯獳潶敲†=

⁰牯扡扩汩瑹=

〮㜠〮㜠

⁓敬散瑩潮整桯搠 却潣桡 獴楣⁵湩癥牳慬慭灬楮朠

Y(tol

C

,tol

L1

,tol

L2

) = 50.86 + ((((tol

L1

((tol

C

+ tol

C

)

* tol

C

)) / 38.65) + 55.71 / sqrt(20.57)) + sqrt(tol

C

)

+ sqrt(tol

C

) + (tol

L1

/ ((18.55 (tol

L2

+ (log

10

(( log

1

0

(( sqrt(1.22) + tol

L1

)) / log

10

(10))) / log

10

(10) )))

+ tol

L1

)) + ((49.57 / (log

10

(((power(tol

L2

, tol

L1

)

+19.49) + power(4.41, tol

C

))) / log

10

(10))) - log

1

0

(sqrt(power(10,( tol

C

+ tol

L2

)))) / log

10

(10)))

Y(tol

L1

,tol

L2

,tol

C3

,tol

C4

,tol

C5

,tol

C6

,tol

C7

)=((22.1-

tol

C4

) - power (sqrt (power ((5.59 + tol

C5

), tol

C5

)

), (tol

C7

- (( tol

C4

* tol

C4

) + power( tol

L2

, tol

C

7

)

)))) + (sqrt (((power (10, ((tol

C4

/ (48.89 + tol

C4

))

* sqrt((tol

C3

+ tol

C5

)))) + 26.53) - tol

L1

) ) - tol

L2

) +

(61.29 - tol

C5

) + (((tol

C4

+ tol

C4

) / ((tol

C3

+ tol

C6

) *

(log

10

(((39.52 / 52.19) + tol

L1

)) / log

10

(10) ))) +

sqrt(tol

L2

)) + 20.9 + (sqrt((power(0.73, (sqr

t

(power (((13.59 / tol

C7

) * tol

C4

),( tol

C3

- tol

C7

)))

–

14.49)) + tol

C5

)) - 58.3)

A. Example 1

Figure 1 [3] shows a low-pass filter. The response

specifications are shown in Fig.2. There are tree design

parameters taken into account: C, L

1,

L

2

. Their nominal

values are [1.05F 1.6H 1.6H].

R1

R2

L1 L2

C1

V1

Fig. 1: Low-pass filter example

Fig. 2: Specifications for the low-pass filter

The transfer function obtained by the GEP is described by

equation (7). This function gives the maximum fitness of

1 for all the training pairs.

(7)

Next, GA is used to find maximum tolerances for the two

assumed yields: 70% and 90%. The assumed weights are:

a=0.8 and b=0.2. Two best solutions for each yield are

presented in Table 2.

Table 2: Results of example 1

Assumed

yield

tol

C

[±%]

tol

L1

[±%]

tol

L2

[±%]

Yield

from

GEP

function

Yield

from

MC

analyses

3,5 15 1 69,7 67

70%

4 14,5 1 69,6 68

1 1 2,5 90 90

90%

1 2,5 1 91 87

B. Example 2

The next practical example, a high-pass filter, is shown

in Fig.3 [1]. Filter specifications are shown in Fig.4.

Design parameters are considered to be: L1, L2, C3, C4,

C5, C6, C7 with nominal values [3.609H 2.504H 11.65nF

10.47nF 13.99nF 39.93nF 99.4nF].

R1

C3

C4 C5

C6 C7

L1 L2

R2

R4R3

V1

Fig. 3: High-pass filter example

Fig. 4: Specifications for the high-pass filter

The transfer function found by GEP algorithm is

described by equation (8). For all the training pairs the

maximum fitness of 1 has been achieved as well.

(8)

Table 3 presents optimal tolerances obtained by the GA

(a=1, b=0). Several equivalent solutions (of

approximately same fitness) have been found and only

some of them are shown.

Table 3: Results of Example 2

Y

assumed

tol

L1

tol

L2

tol

C3

tol

C4

tol

C5

tol

C6

tol

C7

Y

from

GEP

Y

from

MC

5 5 3 13 6 10 7 42 38

11 3 18 4 9 13 15 40.7 46

9 3 5 2 9 23 15 48.3 36

40%

21 4 10 2 9 11 8 42.2 33

2 2 2 11 2 2 19 60 48

2 2 2 14 2 2 20 60.3 50

60%

2 2 2 14 2 2 13 60.3 41

For both examples solutions have been verified by MC

analyses and based on this verification the best (giving

the maximum yield) can be selected. In the second

example, it is 46% for the first assumed yield and 50%

for the second. This last yield is below the assumed one

what suggests that designation of the GEP function

should be repeated with other, enlarged training set.

V. C

ONCLUSIONS

The new approach to Design Tolerancing has been

proposed. Utilization of evolutionary techniques has

proven to be very useful tool for electronic circuit design.

The obtained results have been verified by Monte Carlo

analysis and generally, have proven the method

effectiveness. Creation of larger training set may

significantly increase the effectiveness. The

unquestionable advantage of this new approach is its

flexibility. Design engineer can easily tune and accustom

it to various design requirements. Its order of complexity

is comparable to the order of other methods [7], [8] or

even smaller. Transfer function concept and utilization of

GEP have significantly reduced a number of

computationally expensive MC analyses performed

during the optimization process. It has to emphasized that

normally the best solutions have been returned only after

few iterations of evolutionary cycle. Of course, the

method can be easily modified (simplified) to the one-

dimensional case, tol

xp

= tol; p=1,…,P. Adapting of

evolutionary techniques to simultaneous design centering

and tolerancing (DCT) will be scope of the further

research.

R

EFERENCES

[1] H. L. Abdel-Malek, Abdel-Karim S. O. Hassan,

”The Ellipsoidal Technique for Design Centering

and Region Approximation”, IEEE Transactions on

Computer Aided Design, Vol. 10, No. 8, pp. 1006-

1014 August 1991

[2] H. K. Tan, Y. Ibrahim, “Design Centering Using

Momentum Based CoG”, Eng. Opt., Vol. 32, pp.

79-100, 1999

[3] S. S. Sapatnekar, P. M. Vaidya, Sung-Mo Kang,

“Convexity-Based Algorithms for Design

Centering”, IEEE Transactions on Computer Aided

Design, Vol. 13, No. 12, pp. 1536-1549, December

1994

[4] L. J. Opalski, ”Metody i algorytmy optymalizacji

jakości układów elektronicznych”, Oficyna

Wydawn. Polit. Waszawskiej, z. 135, Warszawa

2002.

[5] C. Ferreira, “Gene Expression Programming in

Problem Solving”, invited tutorial of the 6th Online

World Conference on Soft Computing in Industrial

Applications, September 10-24, 2001

[6] C. Ferreira, “Combinatorial Optimization by Gene

Expression Programming: Inversion Revisited”,

Proceedings of the Argentine Symposium on

Artificial Intelligence, pages 160-174, Santa Fe,

Argentina, 2002

[7] R. Spence, R. S. Soin, “Tolerance Design of

Electronic Circuits”, 1st Ed. Addison-Wesley

Publishers Ltd., 1988

[8] J. W. Bandler, P. C. Liu, H. Tromp, “Non-linear

programming approach to optimal design centering,

tolerancing and tunning”, IEEE Trans. Circuits Syst.,

vol. CAS-23, Mar. 1976

[9] A. Clément, A. Rivière, P. Serré, C. Valade,

“Geometric Design Tolerancing : Theories,

Standards and Applications”, Chapman & Hall, pp.

122-131, February 1998

[10] D.E. Goldberg, “Genetic Algorithms in Search,

Optimization & Machine Learning”, Addison-Wesley

Publishing Company, 1989

[11] H. Muhlenbein, “Parallel genetic algorithms,

population genetics and combinatorial optimization”,

Proc. 3

rd

ICGA, pp. 416-422, 1989

[12] John R. Koza “Genetic programming: on the

programming of computers by means of natural

selection”, MIT Press, Cambridge, 1992

## Comments 0

Log in to post a comment