The goal of this hierarchical structure is
minimize the number of fuzzy rules from
exponential to linear function. Such rule base
reduction implies that each system variable provides
one parameter to the hierarchical scheme. Currently,
the selection of such parameters is manually done
and becomes a fastidious and time-consuming
routine. In this work, we propose to find these
parameters using genetic algorithms.
4 GENETIC ESTIMATION
Nature has an ability to adapt and learn without
being told what to do. In other words, genetically
nature finds good chromosomes blindly. GAs do the
same. Two mechanisms link a GA to the problem it
is solving: encoding and evaluation. The GA uses a
measure of fitness of individual chromosomes to
carry out reproduction. As reproduction takes place,
the crossover operator exchanges parts of two single
chromosomes, and the mutation operator changes
the gene value in some randomly chosen location of
the chromosome.
The procedure of estimating the hierarchical
variables by GA is summarized as follows:
1. Determine the hierarchical structure and how
many parameters we must find.
2. Construct an initial population randomly.
3. Decode each string in the population
4. Evaluate the fitness value for each string.
5. Reproduce strings according to the fitness value
calculated in Step 4.
6. Go to 3 until the maximum number of iterations
is met.
To start with our algorithm we propose to encode
all parameters in one chromosome. For every
parameter we will dedicate 8 bits, so we can have
the parameters in the range of 2
8
possibilities. All
the parameters are positive and have one decimal
after the comma, then our range is in [0; 25.6]. The
search space can be changed depending on the
application. Using this simple encoding procedure
we can easily change the number of bits.
Then we evaluate the results using the fitness
function which is based on step response
specifications such as overshoot, rise time and
settling time. We define the fitness function so that it
measures how close each individual in the
population at time t (i.e., each hierarchical
parameter) is to meeting these specification.
Then, after knowing the design specification of
the objective function, and once we can obtain the
step response characteristics for each chromosome
in the population, the fitness function is calculated in
2 steps:
1. We ask if the result coming from the GA is in the
range of design specification of the objective
function. If it is, we go to the step 2. If it is not,
the fitness value of this chromosome is set to 0.
2. The fitness function is defined as
where os is overshoot, ts is settling time and tr is
rising time. The index coef is the specification of the
control problem for which we are looking the
hierarchical parameters. The index dis is the design
specification parameter. In order to minimize the
fitness function we divide 1/FF.
When the evaluation is done, we continue with
the reproduction stage. The new population is
obtained by applying the crossover operator in one
point with probability equal to 0.8 and the mutation
operator with probability equal to 0.1.
5 SIMULATION RESULTS
We applied the proposed method in order to find the
searching parameters. The proposed method was
tested in the inverted pendulum control problem
(Nguyen, 2003). This problem consists in the
application of a such power to a cart for not allowing
a pendulum stem to fall down and to carry the cart to
an objective position. The scheme in Figure 2 shows
the main components of the system.
Figure 2: Inverted pendulum.
The basic variables are: angular position of the
stem
, angular velocity of the stem ∆
, horizontal
position of the cart x, and the velocity of the cart ∆x.
The design specifications of the inverted pendulum
system are: objective position of the cart is 30 cm,
overshoot no more than 5%, and settling time no
more than 5 sec.
The simulation of the inverted pendulum is
performed in Simulink of Matlab starting from the
nonlinear equations (Nguyen, 2003). The fuzzy
controllers are implemented in the Matlab’s FIS
Editor. The input fuzzy sets are represented by
triangular membership functions (N, Z and P)
uniformly distributed in the universe of discourse [-
1, 1]. The output fuzzy sets are singletons uniformly
distributed in [-1, 1].
F = (os_coef – os_dis)
+ (ts_coef – ts_dis)
+
(tr
coe
–tr
dis)
2
Ө
M
x
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
400