A combined genetic algorithm-fuzzy logic controller (GA–FLC) in nonlinear programming M.S. Osman a , Mahmoud A. Abo-Sinna b, * , A.A. Mousa b a High Institute of Technology, 10th Ramadan city, Egypt b Department of Basic Engineering Science, Faculty of Engineering, Shebin El-Kom, Menoufia University, P.O. Box 398, 31111 Tanta, Al-Gharbia, Egypt Abstract This paper presents a combined genetic algorithm-fuzzy logic controller (GA–FLC) technique for constrained nonlinear programming problems. In the standard Genetic algorithms, the upper and lower limits of the search regions should be given by the deci- sion maker in advance to the optimization process. In general a needlessly large search region is used in fear of missing the global optimum outside the search region. There- fore, if the search region is able to adapt toward a promising area during the optimiza- tion process, the performance of GA will be enhanced greatly. Thus in this work we tried to investigate the influence of the bounding intervals on the final result. The pro- posed algorithm is made of classical GA coupled with FLC. This controller monitors the variation of the decision variables during process of the algorithm and modifies the boundary intervals to restart the next round of the algorithm. These characteristics make this approach well suited for finding optimal solutions to the highly NLP prob- lems. Compared to previous works on NLP, our method proved to be more efficient in computation time and accuracy of the final solution. Ó 2005 Elsevier Inc. All rights reserved. 0096-3003/$ - see front matter Ó 2005 Elsevier Inc. All rights reserved. doi:10.1016/j.amc.2004.12.023 * Corresponding author. E-mail address: [email protected](M.A. Abo-Sinna). Applied Mathematics and Computation 170 (2005) 821–840 www.elsevier.com/locate/amc
20
Embed
A combined genetic algorithm-fuzzy logic controller (GA-FLC) in nonlinear programming
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Applied Mathematics and Computation 170 (2005) 821–840
www.elsevier.com/locate/amc
A combined genetic algorithm-fuzzylogic controller (GA–FLC) in
nonlinear programming
M.S. Osman a, Mahmoud A. Abo-Sinna b,*, A.A. Mousa b
a High Institute of Technology, 10th Ramadan city, Egyptb Department of Basic Engineering Science, Faculty of Engineering, Shebin El-Kom,
Genetic algorithms techniques have received a lot of attention regarding
their potential as optimization techniques for complex numerical functions
[5,14]. However, they have not produced a significant breakthrough in the area
of nonlinear programming [2,4,13] due to the fact that they have not addressed
the issue of constraints in a systematic way, also there is a fact that geneticalgorithms may find only near-optimal solutions. On the other hand, many
real-world search and optimization problems involve inequality and/or equal-
ity constraints and thus posed as constrained optimization problems. In trying
to solve constrained optimization problems using genetic algorithms (GAs) or
classical optimization methods, penalty function methods have been the most
popular approach [10], because of their simplicity and ease of implementation.
However, since the penalty function approach is generic and applicable to any
type of constraint (linear or nonlinear), their performance is not always satis-factory. Thus, several methods for handling unfeasible solutions have emerged
recently. GENOCOPIII [12], which is based on the ideas of co-evolution and
repair algorithms, is the most efficient algorithm to handle NLP. However,
the most difficult aspect of this approach is to find initial feasible point needed
to guide the search towards the constrained optimum. This paper presents a
combined genetic algorithm-fuzzy logic controller (GA–FLC) technique for
constrained NLP problems. In the standard Genetic algorithms, some authors
[3,12,13] pointed out that the genetic algorithm method does not guarantee theglobal optimum. On the other hand, choosing a large bounding interval could
lead to the same problem because the limited number of individuals of the pop-
ulation scattered randomly over a large interval. Choosing large number of
individual could cover more regions of the interval, but will slow the optimiza-
tion without guaranteeing the global optimum, thus we improve the perfor-
mance of GA search ability through the adaptive search range mechanism
through FLC.
In general a needlessly large search region is used in fear of missing the glo-bal optimum outside the search region. Therefore, if the search region is able to
adapt toward a promising area during the optimization process, the perfor-
mance of GA will be enhanced greatly. Thus in this paper we tried to investi-
gate the influence of the bounding intervals on the final result.
This paper is organized as follows: in Section 2, we formulate the NLP prob-
lem. Section 3 addresses the problem of optimization using GAs technique. In
Section 4, we present the Fuzzy- Logic Controller approach. In Section 5 we
present the combined (GA_FLC) algorithm. Section 6 deals with the imple-
M.S. Osman et al. / Appl. Math. Comput. 170 (2005) 821–840 823
mentation of the proposed algorithm to different NLP and the discussion of the
obtained results. Finally, Section 7 describes the main features of the proposed
algorithm and some conclusions.
2. Nonlinear programming problem (NLPP)
Any evolutionary computation technique applied to a particular problem
should address the issue of handling unfeasible individuals. In general, a search
space S consists of two disjoint subsets of feasible and unfeasible subspaces F
andU respectively. We do not make any assumptions about these subspaces; in
particular they need not be convex and they need not be connected (e.g., as it is
the case in the example in Fig. 1(Taken from [10]) where feasible part F of the
search space consist of two disjoined subsets).The general nonlinear programming problem for continuous variables [1] is
to find �x so as to
Min f ð�xÞ;�x ¼ ðx1; . . . ; xnÞ 2 Rn; ð1ÞWhere �x 2 F � S. The set S � Rn defines the search space and the set F � S
defines a feasible part of the search space. Usually, the search space S is defined
as n-dimensional rectangle in Rn (domains of variables defined as lower andupper bounds): left(i) 6 xi 6 right(i),1 6 i 6 n Whereas the feasible set F is
defined by the search space S and an additional set of constraints:
gjð�xÞ 6 0; for j ¼ 1; . . . . . . ;m: ð2Þ
Fig. 1. A search space and its feasible part.
824 M.S. Osman et al. / Appl. Math. Comput. 170 (2005) 821–840
Thus the nonlinear programming problem (NLPP) can be defined as follows:
NLPP: Min f ðxÞs:t: F ¼ fx 2 RnjgiðxÞ 6 0; i ¼ 1; 2; . . . ; k and hjðxÞ ¼ 0;
j ¼ k þ 1; . . . ;mgS ¼ fx 2 RnjlðxiÞ 6 xi 6 uðxiÞ; i ¼ 1; 2; . . . :; ng
ð3Þ
At any point �x 2 F, the constraint gk( Æ ) satisfy gkð�xÞ ¼ 0 are called active con-
straints at �x. By extension, equality constraints hj( Æ ) are called active at all
points of F. Nonlinear equations hj(x) = 0 requires an additional parameter
(w) to define the precision of the system [11]. All nonlinear equations
hj(x) = 0 (for j = k + 1, . . . ,m) are replaced by pair of inequalities:
�w 6 hj(x) 6 w so we deal only with nonlinear inequalities.
NLPP: Min f ðxÞs:t: F ¼ fx 2 RnjgiðxÞ 6 0; i ¼ 1; 2; . . . ;mg
S ¼ fx 2 RnjlðxiÞ 6 xi 6 uðxiÞ; i ¼ 1; 2; . . . :; ngð4Þ
3. Genetic algorithms (GAs)
GA, invented by Holland in the early 1970s, as a stochastic global search
method that mimics the metaphor of natural biological evaluation. GAs oper-
ates on a population of candidate solutions encoded to finite bit string called
chromosome. In order to obtain optimality, each chromosome exchangesinformation by using operators borrowed from natural genetic to produce
the better solution. GAs differ from other optimization and search procedures
in four ways[14]:
(1) GAs work with a coding of the parameter set, not the parameters them-
selves. Therefore GAs can easily handle the integer or discrete variables.
(2) GAs search from a population of points, not a single point. Therefore GAs
can provide a globally optimal solution.(3) GAs use only objective function information, not derivatives or other aux-
iliary knowledge. Therefore GAs can deal with the non-smooth, non-con-
tinuous and non-differentiable functions which are actually existed in a
practical optimization problem.
(4) GAs use probabilistic transition rules, not deterministic rules.
In this section we describes the main features of Modified Co-Evolutionary
Genetic Algorithm (M-COGA)[15]. The main idea behind this algorithm is
M.S. Osman et al. / Appl. Math. Comput. 170 (2005) 821–840 825
based on the ideas of co-evolution and repair algorithms (repair unfeasible
solution).
It combines concept of co-evolution, repairing procedure (Repairing unfea-
sible solution) and elitist strategy. Repairing procedure, repairs the unfeasible
points to satisfy the feasible space F. Elitist strategy is used to produce a faster
convergence of the algorithm to the optimal solution of the problem. Theworking procedure of M-COGA is described in the following manner:
3.1. Solution representation
The algorithm uses a floating point representation for potential solutions.
Each generation contain both feasible and unfeasible individuals and we distin-
guish between them using flag pointer assigned to each individuals as depicted
in Fig. 2.
3.2. Initialization stage
The population vectors in the first generation are initialized randomly satis-
fying the search space S (the lower and upper bounds), while elitist individual
is initialized by zero.
3.3. Initial feasible point
The algorithm needs at least one feasible reference point (i.e., feasible point)
to enter the evolution process (i.e., complete the algorithm procedure), If the
algorithm has difficulties in locating such an initial reference point, the algo-
rithm applies one of the following ways, double the number of trials to obtain
reference point or increase the precision parameter of the algorithm temporally
(enlarge feasible space temporally), the reader is referred to Osman et al. [15].
3.4. Repairing unfeasible individuals
The idea of this technique is to separate any feasible individuals in a popu-
lation from those that are unfeasible by repairing unfeasible individuals. This
approach co-evolves the population of unfeasible individuals until they become
feasible individuals in this approach, feasible individuals (W) are generated on a
Fig. 2. Structure of GA individuals.
826 M.S. Osman et al. / Appl. Math. Comput. 170 (2005) 821–840
segment defined by two points, reference point nðtÞ 2 F and any unfeasible
individual (x).
3.5. Elitist strategy
Using an elitist strategy to produce a faster convergence of the algorithm tothe optimal solution of the problem. The elitist individual represents the more
fit point of the population. The use of elitist individual guarantees that the best
fitness individual never increase (Minimization Problem) from one generation
to the next generation (Towards the end of the process).
3.6. Evolution process stage
The algorithm uses the objective function to evaluate fitness functions foreach individual. The algorithm applies tournament selection procedure/roulette
wheel selection to select the new population.
3.7. Stopping rule
The algorithm is terminated for either one of the following conditions is
satisfied:
• The maximum number of generations is achieved.
• When the genotypes (the genotypes structures) of the population of individ-
uals converges, convergence of the genotype structure occur when all bit
positions in all strings are identical. In this case, crossover will have no fur-
ther effect.
The algorithm procedures are shown in Fig. 3 (taken from [12]).
Some of the problems with the implementation of the genetic algorithms aretheir limited accuracy of the final solution and the high number of function
evaluation required to obtain the solution, thus we tried to investigate the influ-
ence of the bounding intervals on the final result by using FLC.
4. Fuzzy logic controller
The concept of fuzzy logic was first introduced in 1960�s by Professor LoftiZadeh [18]. Fuzzy logic allows the programmer to deal with natural, ‘‘linguistic
sets’’ of states, such as very hot, warm, cold, freezing, etc. The application of
fuzzy logic involves three steps: fuzzification, rule evaluation, and defuzzifica-
tion. Fuzzification is the process of taking actual real-world data such as tem-
Begin
Get a feasible point (initial reference point) ( ) tξ ; T=0; Population initialization:
Repair population;Keep the best;While ( t< max_gen )doBegin T=T+1; Select p(t) from p(t-1);
Perform recombination p(t);Repair population;Stop if convergence; Elitist;
EndEnd
Fig. 3. The structure of M_COGA.
M.S. Osman et al. / Appl. Math. Comput. 170 (2005) 821–840 827
perature, costs, speeds, etc. and converting them into a fuzzy input. For exam-
ple, a real world input such as a ‘‘cost’’ of $100,000 may be converted to a fuzzy
input value of ‘‘very expensive.’’ This is called a label, and the conversion pro-
cess is performed by a membership function. There can be any number of labels
in a fuzzy system, and an equal number of membership functions, but generally
there are only a few labels in a given fuzzy system. Examples of other labelsrelating to cost are ‘‘cheap,’’ ‘‘affordable,’’ ‘‘expensive,’’ etc. The membership
function will assign an actual numeric value for a given real-world input to
each of the labels, creating fuzzy inputs.
The fuzzification process produces multiple fuzzy inputs for every real-world
input, based on the membership function defined for the system. After fuzzy
inputs are determined, the system goes through rule evaluation. The end goal
of any fuzzy logic system is to produce a real world output without having
to go through a large and complex system. Therefore, fuzzy systems usuallytake multiple real-world inputs, fuzzify these inputs, and produce a single
real-world output via defuzzification. In order to get to the defuzzification step,
the fuzzy inputs must be evaluated against a set of rules.
Rule evaluation involves a series of if-then statements, such as ‘‘if cost is
expensiveand wallet is light, then probability of buying is unlikely.’’ There will
be multiple rules such as this for a given fuzzy system, and after each rule is
evaluated, it can be defuzzified and produce a real world output. See Fig. 4
for a block diagram of a complete fuzzy logic system, which shall be used toillustrate many principles of a fuzzy system.
Fig. 4. A block diagram of a fuzzy control system.
828 M.S. Osman et al. / Appl. Math. Comput. 170 (2005) 821–840
The fuzzy controller is composed of the following four elements:
1. A rule-base (a set of If-Then rules), which contains a fuzzy logic quantifica-
tion of the expert�s linguistic description of how to achieve good control.
2. An inference mechanism (also called an ‘‘inference engine’’ or ‘‘fuzzy infer-
ence’’ module), which emulates the expert�s decision making in interpreting
and applying knowledge about how best to control the plant.3. A fuzzification interface, which converts controller inputs into information
that the inference mechanism can easily use to activate and apply rules.
4. A defuzzification interface, which converts the conclusions of the inference
Where xave is the average value of the variable x of all the individuals of the last
generation and [xu,xl] is the bounding interval of the variable x.
The coefficient JV (the output variable) is obtained from the knowledge of
the two input variables ED and CV, where ED is the criteria for measuring
the diversity of the real coded genetic algorithm we propose one of these mea-
sures, which is based on the Euclidean distances of the chromosomes in thepopulation from the best one. It is denoted as ED.
ED ¼�d� dmin
dmax � dmin
ð6Þ
where �d ¼ 1N
PNi¼1dðCbest;CiÞ; dmax ¼ maxfdðCbest;CiÞjCi 2 Pg and dmin =
min {d(Cbest,Ci)jCi 2 P}, P denotes the population. The range of ED is [0,1].
If ED is low, most chromosomes in the population are concentrated around
the best chromosome and so convergence is achieved. If ED is high most chro-mosome are not biased toward the current best element and CV is a counter of
the variation of each parameter during each round of the algorithm. Experi-
mentally, we found that 25 generation is the best size of each round, so every
25 generation, we modifies the boundary condition for each variable depending
on the knowledge of the two input ED and CV found during the last round of
the algorithm. Consequently, CV is a counter for each one of the variables and
it is ranging between 0 and 25. It starts at 0 and during the last 25 generations it
is incremented by 1 each time the variable changes. Therefore, CV could bethought of as an indicator of the number of times the variable changes during
this round of the algorithm. A low indicator means that the variable is very
close to its optimum and we do not need to change the initial bounding inter-
val. A high indicator requires the adjustment of the initial bounding interval to
improve the final solution. This adjustment is conditioned also by the accuracy
of the obtained solution. Indeed if we reach an accurate solution in the first
round of GA there is no need to perform any change even if we get high indi-
cators for some variables. This reasoning is best implemented using a fuzzylogic controller.
5.1. Fuzzification
Fuzzification of the input variables is the first step in the design of a fuzzy
logic controller. Fuzzification of the input variables involves quantizing the uni-
verses into a number of fuzzy sets. The output variables also need to be quan-
M.S. Osman et al. / Appl. Math. Comput. 170 (2005) 821–840 831
tized in a similar manner. Quantization involves breaking up a fuzzy input (and
also output) variable into several fuzzy subsets. Linguistic variables are used to
label the fuzzy subsets (Table 1) so that the rules can be written in a natural lan-
guage form. For simplicity we can choose the same (triangular) membership
functions for each of the fuzzy subsets of all the fuzzy variables. Fig. 6 shows
the membership functions chosen for the 2 fuzzy input variables and the outputvariable and Table 2 contains the definition of the linguistic parameters.
5.2. The knowledge base
The knowledge base of a fuzzy logic controller consists of a data base and a
rule base. The basic function of the data base is to provide the necessary infor-
mation for the proper functioning of the fuzzification module, the rule base and
the defuzzification module. The rules are as follows: IF condition AND condi-
tion THEN conclusion. For simplification a matrix can be used for presenting
the rules which is called the fuzzy rule matrix. Table 2 shows the fuzzy rule ma-
trix used by the inference mechanism.
Control signals have been generated by the controller basing on the rules
base presented above. Fuzzy logic toolbox prepared control surface, which is
presented in Fig. 7.
5.3. Defuzzification
Defuzzification is a mapping from a space of fuzzy control actions defined
over an output universe of discourse into a space of non-fuzzy (crisp) control
action. The defuzzification method used in the algorithm is the center of gravity
method. This procedure is the most prevalent and physically appealing of all
the defuzzification methods. Fig. 6 shows the membership functions of the out-
put variables.
6. Experimental verification
To validate our proposed algorithm, we present three problems solved on a
Pentium III 900 MHz and implemented in MATLAB 6.5.
Table 1
The linguistic variables
VS Very small
S Small
M Medium
H High
VH Very High
Fig. 6. (a) Membership function for the input CV. (b) Membership function for the input ED.
(c) Membership function for the output Jv.
Table 2
The rule matrix
JV Cv
VS S M H
ED VS VS S S M
S VS S M H
M S S H M
H M M M H
832 M.S. Osman et al. / Appl. Math. Comput. 170 (2005) 821–840
Fig. 7. Control surface generated by applied fuzzy logic controller.
M.S. Osman et al. / Appl. Math. Comput. 170 (2005) 821–840 833
Problem 1 (This problem is a well-studied beam design problem and proposed by
[16]). The resulting optimization problem has four design variables (h, l, t,b),
five nonlinear inequality constraints and four boundary conditions. The
problem can be stated as follows:
Min fwð~xÞ ¼ 1:10471h2lþ :04811tbð14:0þ lÞs:t: g1ð~xÞ ¼ 13600� rð~xÞ P 0;
836 M.S. Osman et al. / Appl. Math. Comput. 170 (2005) 821–840
M.S. Osman et al. / Appl. Math. Comput. 170 (2005) 821–840 837
the variation of the boundary condition and how adapted toward a promising
area during the optimization process.
Problem 3. This problem was solved by Michalewicz [13] by different
constraint handling techniques. The optimized solution reported in [13] is~x = (2.171996,2.363683,8.773926,5.959840,0.990654,1.430574,1.321644,9.828726,8.280092,8.375927), f * = 24.306209. In this problem there are 10 design