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, 44100 Gliwice, POLAND
email: 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 NPhard category, i.e. no polynominalbound
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 jth pair target
yield (obtained from MC analysis) and
*
j
Y
is the yield
obtained, when setting the jth 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. Integerstring 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 lowpass 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: Lowpass filter example
Fig. 2: Specifications for the lowpass 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 highpass 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: Highpass filter example
Fig. 4: Specifications for the highpass 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. AbdelMalek, AbdelKarim 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.
79100, 1999
[3] S. S. Sapatnekar, P. M. Vaidya, SungMo Kang,
“ConvexityBased Algorithms for Design
Centering”, IEEE Transactions on Computer Aided
Design, Vol. 13, No. 12, pp. 15361549, 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 1024, 2001
[6] C. Ferreira, “Combinatorial Optimization by Gene
Expression Programming: Inversion Revisited”,
Proceedings of the Argentine Symposium on
Artificial Intelligence, pages 160174, Santa Fe,
Argentina, 2002
[7] R. Spence, R. S. Soin, “Tolerance Design of
Electronic Circuits”, 1st Ed. AddisonWesley
Publishers Ltd., 1988
[8] J. W. Bandler, P. C. Liu, H. Tromp, “Nonlinear
programming approach to optimal design centering,
tolerancing and tunning”, IEEE Trans. Circuits Syst.,
vol. CAS23, Mar. 1976
[9] A. Clément, A. Rivière, P. Serré, C. Valade,
“Geometric Design Tolerancing : Theories,
Standards and Applications”, Chapman & Hall, pp.
122131, February 1998
[10] D.E. Goldberg, “Genetic Algorithms in Search,
Optimization & Machine Learning”, AddisonWesley
Publishing Company, 1989
[11] H. Muhlenbein, “Parallel genetic algorithms,
population genetics and combinatorial optimization”,
Proc. 3
rd
ICGA, pp. 416422, 1989
[12] John R. Koza “Genetic programming: on the
programming of computers by means of natural
selection”, MIT Press, Cambridge, 1992
Enter the password to open this PDF file:
File name:

File size:

Title:

Author:

Subject:

Keywords:

Creation Date:

Modification Date:

Creator:

PDF Producer:

PDF Version:

Page Count:

Preparing document for printing…
0%
Comments 0
Log in to post a comment