Professional Documents
Culture Documents
FENG-TSE LIN
Department of Applied Mathematics
Chinese Culture University
Taipei, 111 Taiwan
E-mail: ftlin@faculty.pccu.edu.tw
Keywords: genetic algorithms, fuzzy linear programming problem, fuzzy numbers, fuzzy
constraints, flexible linear programming
1. INTRODUCTION
Received June 14, 2006; revised August 30 & October 18, 2006; accepted October 26, 2006.
Communicated by Pau-Choo Chung.
*
Small part of contents has been presented at the 10th Conference on Artificial Intelligence and Applications,
Dec. 2-3, 2005.
801
802 FENG-TSE LIN
real-world situations are numerous and diverse. For example, water supply planning [17]
and farm structure optimization problem in agricultural economics [4], aggregate pro-
duction planning problem [20] and machine optimization problems in manufacturing and
production [18], capital asset pricing model in banking and finance [13].
So far, the methods for converting fuzzy linear programming into conventional ma-
thematical programming are dominated by solving fuzzy linear programming problems.
For example, Jamison and Lodwick [9] proposed the penalty method to characterize the
constraint violations to formulate the problem as an unconstrained fuzzy optimization
problem. The objective is then redefined as optimizing the expected midpoint of the im-
age of the fuzzy functions. Wang and Wang [21] transformed the fuzzy linear program-
ming problem into a multiple objective problem with parametrically interval-valued mul-
tiple objective linear programming problem. Chiang [3] used statistical data to formulate
statistical confidence interval and to derive interval-valued fuzzy numbers. After that, the
estimated coefficient value is generated to form a flexible linear programming problem.
Other approaches for solving fuzzy linear programming problems include using simu-
lated annealing, neural networks, and evolutionary algorithms. Ribeiro and Pires [14]
proposed a simulated annealing algorithm for solving fuzzy linear optimization problems
without requiring mathematical reductions or transformations. Buckley et al. [1] showed
that it is possible to train a layered, feed-forward, neural net, with certain sign restrictions
on its weights, to approximate solutions to fuzzy linear programming problems. Buckley
and Feuring [2] applied the evolutionary algorithm to two classical fully fuzzified linear
programs to show that it can produce good approximate solutions.
GAs can be used to compute the membership functions of fuzzy sets in the literature
[8, 10]. Given some functional mapping for a system, some membership functions and
their shapes are assumed for the various fuzzy variables defined for a problem. The
membership functions are coded as bit strings that are then concatenated. An evaluation
function is used to evaluate the fitness of each set of membership functions. There are
two possible ways to integrate fuzzy logic and GAs [6]. One involves the application of
GAs for solving optimization and search problems relevant to fuzzy systems [7, 15]. The
other involves the use of fuzzy tools and fuzzy logic-based techniques for modeling dif-
ferent GA components and adapting GA control parameters, with the goal of improving
performance [6, 11, 16, 19].
In this paper, however, we propose a different approach for solving linear pro-
gramming with fuzzy constraints. We investigate the possibility of applying GAs to solve
this kind of fuzzy linear programming problem without defining membership functions
for fuzzy numbers, using the extension principle, interval arithmetic, and α-cut opera-
tions for fuzzy computations, and using a penalty method for constraint violations. The
proposed approach uses only the usual evolutionary processes. Using the proposed GA
approach, we simulate every fuzzy number by distributing it into some partition points
and then use GAs to evolve the values in each partition point. As a result, the final values
in partition points represent the membership grade of the fuzzy number. After calculating
the estimated values of each uncertain coefficient, we obtain a defuzzified linear pro-
gramming problem. The crisp problem can be easily solved by the following GA stage.
The empirical results show that the proposed approach can obtain very good solution
within the given bounds of each fuzzy coefficient.
A GENETIC ALGORITHM FOR LINEAR PROGRAMMING 803
2. PROBLEM FORMULATION
c1 x1 + c2 x2 + … + cn xn (1)
and
xj ≥ 0, j = 1, 2, …, n (3)
n
Subject to ∑ akj x j ≤ bk , k = 1, 2, …, m (5)
j =1
xj ≥ 0, j = 1, 2, …, n (6)
The simplex method can be used to obtain the optimal solution for the linear pro-
gramming problem defined in Eqs. (4)-(6) if cj, akj and bk are known, for j = 1, 2, …, n
and k = 1, 2, …, m. In real situations, however, the information available in the environ-
ment under practical consideration is not of an exact nature. In other words, the coeffi-
cients aij and bij are uncertain or lack of precision. Therefore the uncertainties can be rep-
resented using fuzzy numbers and hence the equations in Eqs. (4)-(6) can be formulated
as the following fuzzy linear programming problem, which can be solved by using sev-
eral fuzzy approaches proposed in [1, 2, 9, 21].
n
Maximize Z = ∑cjxj (7)
j =1
n
Subject to ∑ a%kj x j 1 b%k , k = 1, 2, …, m (8)
j =1
xj ≥ 0, j = 1, 2, …, n (9)
804 FENG-TSE LIN
The symbol 1 denotes the fuzzified version of ≤. This means that some constraints
can be violated for the accomplishment of the constraints in Eq. (8). The decision-maker
accepts small constraint violations but attaches different degrees of importance to viola-
tions of different constraints. Thus, the fuzzy constraints are defined by membership
functions
Each μk gives the degree of lack of precision in the coefficient values expressed by
the decision-maker. For every x ∈ ℜn, the degree of the fuzzy number
with respect to the kth constraint is the adequacy between the fuzzy number and the cor-
responding bk with respect to the kth constraint. The decision-maker should define the
thresholds for the degree of acceptance of deviations in satisfying the constraints. Fuzzy
linear programming offers several ways to allow for all types of vagueness.
⎧x−a
⎪b − a , a ≤ x ≤ b
⎪
μ A% ( x) = ⎨ c − x (12)
⎪ c − b , b ≤ x ≤ c, a < b < c.
⎪
⎩0, otherwise
1
μ A~ (x)
α
0 a AL (α ) b AR (α ) c
Fig. 1. A α-cut of fuzzy number A% .
From Fig. 1, we can see that a α-cut of the fuzzy number A% = (a, b, c) is an interval
[AL(α), AR(α)], 0 ≤ α ≤ 1, where AL(α) and AR(α) are the left endpoint and the right end-
point of the α-cut, respectively.
From Eq. (12) we have that AL(α) = a + (b − a)α and AR(α) = c − (c − b)α, where
AL(α) and AR(α) are the distances measuring from the origin. Let the signed distance of b
be defined by d(b, 0) = b, where b, 0 ∈ R. When b < 0 means that b lies to the left of the
A GENETIC ALGORITHM FOR LINEAR PROGRAMMING 805
origin and the distance between b and 0 is denoted by − b = − d(b, 0). Thus we have
d(AL(α), 0) = AL(α) and d(AR(α), 0) = AR(α), 0 ≤ α ≤ 1, which are the signed distances
measuring from the origin. Hence, the signed distance of the interval [AL(α), AR(α)] is
defined by d([AL(α), AR(α)], 0) = [d(AL(α), 0) + d(AR(α), 0)] = [AL(α) + AR(α)] = [a +
c + (2b − a − c)α]. Since the function α is continuous over the interval, we use the in-
1 1
tegration to obtain the mean of the distances, ∫ d ([ AL (α ), AR(α)], 0)dα = ∫ [a + c +
0 0
⎧ x − ak + Δ k1
⎪ , ak − Δ k1 ≤ x ≤ ak
Δ k1
⎪⎪
μa%k ( x)= ⎨ ak + Δ k 2 − x . (13)
⎪ , ak ≤ x ≤ ak + Δ k 2
Δk 2
⎪
⎪⎩0, otherwise
After defuzzifying the fuzzy number a%k , we obtain an estimate of the value from
the interval [ak − Δk1, ak + Δk2], i.e., ak∗ = d (a%k , 0) = ak + (Δk2 − Δk1). If 0 < Δk1 < ak and
Δk2 > 0, then a%k ∈ {(a, b, c) | ∀a < b < c, a, b, c ∈ R}. Obviously, if 0 < Δk1 < ak and Δk2
= 0, then a%k ∈ {(a, b, b) | ∀a < b, a, b ∈ R} is the family of all left triangular fuzzy num-
bers. On the other hand, if Δk1 = 0 and Δk2 > 0, then a%k ∈ {(b, b, c) | ∀b < c, b, c ∈ R} is
the family of all right triangular fuzzy numbers. Let B% = (a, b, b). Then we have BL(α) =
a + (b − a)α and BR(α) = b. Thus, the signed distance of B% measured from the origin is
defined by d ( B% , 0) = (3b + a). Similarly, let C% = (b, b, c). The signed distance of C%
measured from the origin is defined by d (C% , 0) = (3b + c). As a result, we can use
these defuzzification equations to solving the linear programming with fuzzy constraints
problem.
n
Let K1 = {(x1, x2, …, xn) | ∑ akj x j ≤ bk , k = 1, 2, …, m, xj ≥ 0, j = 1, 2, …, n}. Let K2
j =1
n
= {(x1, x2, …, xn) | ∑ akj∗ x j ≤ bk , k = 1, 2, …, m, xj ≥ 0, j = 1, 2, …, n}, where akj∗ =
j =1
d (a%kj , 0) = akj + (Δk2 − Δk1). When Δk2 > Δk1, the triangle in Fig. 1 is skewed to the right-
n
hand side obtaining akj∗ > akj and K2 ⊂ K1. It follows that max
( x1 ,..., xn )∈K 2
∑ c j x j ≤ ( x ,...,max
x )∈K
j =1 1 n 1
806 FENG-TSE LIN
n
∑ c j x j . When Δk2 ≤ Δk1, the triangle is skewed to the left-hand side obtaining akj∗ < akj.
j =1 n n
Since K1 ⊂ K2, we then have max ∑ c j x j ≤ max ∑ c j x j .
( x ,..., x )∈K ( x ,..., x )∈K
1 n 1 j =1 1 n 2 j =1
Finally, a straightforward approach to allow some violations of the fuzzy constraints
is the penalty method proposed in [9]. The penalty method seems to be realistic since it
characterizes the constraint violations by penalizing the objective function to formulate
the original problem as an unconstrained fuzzy optimization problem. However, the pen-
alty cost associated with the constraint violation is just an estimated value, which may
lead to reduction in the problem solution quality.
In our study, however, we did not use membership functions to define fuzzy num-
bers a%kj and b%k in Eq. (8), j = 1, 2, …, n and k = 1, 2, …, m, nor did we use penalty costs
for the constraint violations. Instead, we used the GA to approximate fuzzy numbers for
each fuzzy coefficient in the linear programming constraints. The proposed GAs ap-
proach to solving fuzzy linear programming is depicted below. Let the triangular fuzzy
number w% = (w − Δ1, w, w + Δ2) be replaced by an arbitrary fuzzy set W% in a given in-
terval [a, b]. We divide the interval [a, b] into t partitions, pi = a + i b −t a , i = 0, 1, …, t,
and call pi the partition point. Let the membership grade of W% at pi be W% ( pi ) = μi , i = 0,
1, …, t and μi ∈ [0, 1]. Then, a discrete fuzzy set is obtained as follows:
μ μ μ
W% = ( μ0 , μ1 , K , μt ) = 0 + 1 + K + t . (14)
p0 p1 pt
For each coefficient in Eq. (8), the decision-maker can provide some leeway in the
constraints in order to perform flexible linear programming. Assume that w% is a triangu-
lar fuzzy number or triangular shaped fuzzy number defined on the interval [w – Δ, w +
Δ]. This interval is further equally divided into t partitions. Let pi = w – Δ + i × 2tΔ , i =
0, 1, …, t be the partition points and let W% ( pi ) = μi ∈ [0, 1], i = 0, 1, …, t, be the mem-
bership grade of pi in an arbitrary fuzzy set W% . Thus, we obtain a discrete fuzzy set W%
= (μ0, μ1, …, μt), each μi, i = 0, 1, …, t, is a random number in [0, 1]. We wish to find an
estimated value of w in [w – Δ, w + Δ] via GAs. After computing the centroid of the
fuzzy number w% which is defined on the discrete fuzzy set W% = (μ0, μ1, …, μt), we ob-
tain the estimated value w*. That is,
t
∑ pi × μi
* i =0
w = t
. (15)
∑ μi
i =0
μ0 μ1 μt
N ( X% ) = N ( μ0 , μ1 , K , μt ) = + +K+ , (16)
N ( x0 ) N ( x1 ) N ( xt )
and the centroid can be defined by
t
∑ N ( xi )μi
i =0
θ ( N ( X% )) = t
. (17)
∑ μi
i =0
From Eq. (18), we can see that each akj∗ is an estimated value obtained from the
computation of the centroid of a%kj . Similarly, each bk∗ in Eq. (18) is also an estimated
value obtained from the computation of the centroid of b%k Finally, we convert the fuzzy
linear programming in Eqs. (7)-(9) into the following form
n
Maximize Z = ∑cjxj (19)
j =1
n
Subject to ∑ akj∗ x j ≤ bk∗ , k = 1, 2, …, m (20)
j =1
xj ≥ 0, j = 1, 2, …, n. (21)
Note that Z will be used as the fitness of each chromosome in the population of GAs.
GAs are stochastic search techniques based on the principles and mechanisms of
natural genetics and selection [5]. The basic concept of genetic algorithms is that they
start with a population of randomly generated candidates and evolve towards better solu-
tions by applying genetic operators, such as crossover and mutation, modeled on natural
genetic inheritance and Darwinian survival-of-the-fittest [5]. The proposed GA for solv-
ing the fuzzy linear programming problem is stated below.
Finally, the algorithm is terminated after K generations are produced. Let the last
population be W%1∗ , W%2∗ , K , W%n∗ . The maximum fitness value is the best chromosome in
the population. The best chromosome represents the optimal solution for the problem.
μ∗ μ∗ μ∗
Let the best chromosome be W%h∗ = ( μh∗0 , μh∗1 , K , μht
∗
) = h 0 + h1 + K + ht , 1 ≤ h ≤ n.
p0 p1 pt
⎛ t
The estimated value of each fuzzy coefficient a%kj in Eq. (8) is calculated as akj∗ = ⎜ ∑ pi
⎝ i =0
A GENETIC ALGORITHM FOR LINEAR PROGRAMMING 809
t
∗ ⎞
× μhi ⎟ ∑ μhi∗ , where pi = akj – Δ + i × 2Δ , i = 0, 1, …, t, which is defined on the
t
⎠ i =0
⎛ t ⎞ ⎛ t ∗ ⎞
interval [akj – Δ, akj + Δ]. Similarly, bk∗ = ⎜ ∑ pi × μhi
∗
⎟ ⎜ ∑ μhi ⎟ , where pi = bk – Δ + i
2Δ ⎝ i =0 ⎠ ⎝ i =0 ⎠
× , i = 0, 1, …, t, which is de-fined on the interval [bk – Δ, bk + Δ].
t
5. EMPIRICAL RESULTS
An empirical example is given below to illustrate the effectiveness and the robust-
ness of the GA approach when applied to solve the fuzzy linear programming problem.
The significance of the effectiveness and the robustness of a GA are stated at the end of
this section.
Example: Consider the following fuzzy linear programming problem [3]. (Note that 12
denote the fuzzy number 12.)
5000
20x1 + 5x2 = 25000
1250 2833.3
For the crisp case, the optimal solution can be found at one of the extreme points of
the bounded convex feasible region as shown in Fig. 2. The optimal solution obtained
from the simplex method for the crisp case is x1 = 487.68, x2 = 1605.91 and Z = 93950.54.
For the fuzzy case, consider the fuzzy solutions stated in section 3. The coefficients in
the constraints are fuzzy numbers, which are defined in Eq. (13). After defuzzifying the
fuzzy constraints given in this example, we obtain estimates of the maximum Z value.
According to different membership functions given to fuzzy numbers, we obtain differ-
ent solution sets of this fuzzy linear programming example. We list three of them as
810 FENG-TSE LIN
shown below. The first solution set is x1 = 486.08, x2 = 1603.19 and Z = 93770.3. The
second set is x1 = 486.53, x2 = 1603.91 and Z = 93818.34. The third set is x1 = 493.22, x2
= 1615.45 and Z = 94582.66. The percentage of relative differences in the best values
obtained compared with that from the crisp case are − 0.14071%, − 0.19184%, and
0.67282%, respectively. Note that the fuzzy equation computations are very complicated
as we stated in section 3.
Next, we discuss the proposed GA approach. The proposed approach first simulates
each fuzzy number by distributing it into certain partition points. Then a GA is applied to
evolve the values in each partition point. After a number of generations, the final values
in each partition point represent the membership grade of the fuzzy number, which can
be used to solve the linear programming with fuzzy constraints defined in Eqs. (7)-(9). In
the beginning, we let t = 10 and Δ = 0.5. The partition points are defined by pi = w –
0.5 + i × 0.1, i = 0, 1, …, 10. This means that each imprecise constraint coefficient w
(i.e. akj) is divided into 11 partition points by the GA to simulate the fuzzy number w% =
(w − Δ1, w, w + Δ2). In the first run, we obtain μ0 = 0.16, μ1 = 0.61, μ2 =0.34, μ3 = 0.40,
μ4 = 0.58, μ5 = 0.55, μ6 = 0.39, μ7 = 0.94, μ8 = 0.25, μ9 = 0.06, and μ10 = 0.80 for coeffi-
cient a11. The other coefficients are omitted. The estimated coefficient values are calcu-
lated according to Eq. (15), given as follows: a11∗ = 12.032248, a12∗ = 25.032251, b1∗ =
∗ ∗
46003.230469, a21 = 20.032249, a22 = 5.032248, b2∗ = 25003.228516, a31∗
= 22.032246,
∗ ∗
a32 = 12.032248 and b3 = 30003.226563. Thus we obtain a defuzzified linear pro-
gramming problem, which is defined in Eqs. (19)-(21). The best solution obtained from
the subsequent GA stage is x1 = 485.630, x2 = 1604.331 and Z = 93814.180. The com-
93814.180 − 93950.540
parison of the result obtained with that of the crisp optimal value is
93950.540
= − 0.1454%. In the second run, we have μ0 = 0.45, μ1 = 0.94, μ2 = 0.83, μ3 = 0.68, μ4 =
0.35, μ5 = 0.01, μ6 = 0.39, μ7 = 0.92, μ8 = 0.03, μ9 = 0.15, and μ10 = 0.09 for a11. Again,
the other coefficients are omitted. The estimated values of coefficient obtained are a11∗ =
11.857409, a12∗ = 24.857407, b1∗ = 45985.738281, a21 ∗ ∗
= 19.857409, a22 = 4.857409, b2∗ =
∗ ∗ ∗
24985.736328, a31 = 21.857407, a32 = 11.857409 and b3 = 29985.736328. The best
solution for the defuzzified problem obtained from the subsequent GA stage is x1
= 496.861, x2 = 1612.970 and Z = 94560.609. A comparison of the result obtained from
94560.609 − 93950.540
the crisp case is = + 0.6493%. The parameters used in the GA ap-
93950.540
proach are (1) the population size is 100, (2) the probability of a crossover is 0.8, and
(3) the probability of a mutation is 0.003. Fig. 3 shows another 20 runs of the same GA
problem to obtain 20 different best values. The average value of these 20 runs is 94189.82.
The ratio of the average value compared to the crisp optimal value is + 0.25468%.
Two different methods were considered in this study for the purpose of analyzing
the effectiveness and robustness of the proposed GA approach. The first method was
based on using the same number of generations but with different population sizes. The
second method was based on using the same population size but with different numbers
of generations. Each method had five or six runs. In the first method, the number of gen-
erations was 5000 and the population size for each run was 100, 200, 300, 400, and 500,
respectively. The best results of Z obtained in five runs are 93946.367, 94267.781,
A GENETIC ALGORITHM FOR LINEAR PROGRAMMING 811
95000
optimal value
94500
94000
93500
93000
92500
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
runs
Fig. 3. The curve of the best values obtained from 20 runs.
95000
0.8421
94800
0.778 0.7377
94600
The value of Z
94400
0.3375
94200
94000 −0.0047
93800
93600
93400
crisp run#1 run#2 run#3 run#4 run#5
Fig. 4. The best value obtained from the first method in five runs. The number of generation is
5000, and the population size in each run is 100, 200, 300, 400, and 500, respectively.
94681.695, 94643.844 and 94741.883, respectively, which are shown in Fig. 4. The per-
centage of relative difference in each run compared to the crisp optimal value is – 0.0047,
0.3375, 0.7780, 0.7377 and 0.8421, respectively.
As for the second method, the population size was 100 in all six runs. The number
of generations in each run was 2,000, 4,000, 6,000, 8,000, 10,000, and 12,000, respec-
tively. The best results for Z obtained in six runs were 93608.836, 93815.336, 93928.320,
94215.359, 94243.766 and 94224.781, respectively, which are shown in Fig. 5. The
percentage of relative difference in each run compared to the crisp optimal value are
– 0.3639, – 0.1441, – 0.0259, 0.2817, 0.3119 and 0.2917, respectively.
Next, three shapes of triangular fuzzy numbers were considered for analyzing the
effectiveness and robustness of the proposed GA approach, as shown in Fig. 6.
94400
0.2817 0.3119 0.2917
94200
−0.0259
The value of Z
94000
−0.1441
93800
−0.3639
93600
93400
93200
crisp run#1 run#2 run#3 run#4 run#5 run#6
Fig. 5. The best value obtained from the second method in six runs. The population size is 100 and
the number of generation in each run is 2000, 4000, 6000, 8000, 10000 and 12000, respec-
tively.
Table 1. The values of Δ1 and Δ2 used for symmetrical fuzzy number shape.
k ak1 ak2 bk
1 (0.2, 0.2) (0.3, 0.3) (6.0, 6.0)
2 (0.4, 0.4) (0.2, 0.2) (8.0, 8.0)
3 (0.3, 0.3) (0.6, 0.6) (4.0, 4.0)
94400
94300
Maximum values
94200
94100
94000
93900
93800
93700
93600
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Runs
Fig. 7. The curve of the best values obtained in 20 runs for the symmetrical fuzzy number shape.
The dotted line represents the crisp optimal value.
A GENETIC ALGORITHM FOR LINEAR PROGRAMMING 813
∗ ∗
45999.675781, a21 = 19.978479, a22 = 4.989241, b2∗ = 24999.566406, a31 ∗
= 21.983860,
∗ ∗
a32 = 11.967723 and b3 = 29999.781250. The best solution obtained from the defuzzi-
fied problem is x1 = 490.438, x2 = 1605.825 and Z = 94023.492. The percentage of rela-
tive difference in this run compared with that of the crisp optimal value is 0.0774%. Fur-
thermore, we ran this symmetrical type GA program 20 times to obtain 20 different best
values, which are shown in Fig. 7. Note that the dotted line in Fig. 7 represents the crisp
optimal value, 93950.54. The average value of these 20 runs is 94037.58. The ratio of the
average value compared to the crisp optimal value is + 0.09264%.
Table 2. The values of Δk1 and Δk2 used for the Table 3. The values of Δk1 and Δk2 used for
asymmetrical right-skewed type. the asymmetrical left-skewed type.
k ak1 ak2 bk k ak1 ak2 bk
1 (0.2, 0.6) (0.3, 0.9) (3.0, 9.0) 1 (0.6, 0.2) (0.9, 0.3) (9.0, 3.0)
2 (0.1, 0.3) (0.2, 0.6) (2.0, 6.0) 2 (0.3, 0.1) (0.6, 0.2) (6.0, 2.0)
3 (0.2, 0.6) (0.1, 0.3) (4.0, 12.0) 3 (0.6, 0.2) (0.3, 0.1) (12.0, 4.0)
97000
Maximum values
96000
95000 right-skewed
94000
93000 left-skewed
92000
91000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Runs
Fig. 8. The curves of the best value obtained in 20 runs for the asymmetrical fuzzy number shapes.
The dotted line represents the crisp optimal value.
814 FENG-TSE LIN
Remark: The effectiveness and robustness of the proposed approach depend on the re-
sults of simulating fuzzy numbers in each partition point for uncertain coefficients of
linear programming. The parameters settings of GAs, i.e. the crossover rate, the mutation
rate, and the number of generations, are crucial to these issues. The significance of effec-
tiveness is to apply GAs for solving fuzzy equations without defining membership func-
tions for fuzzy numbers and using the extension principle, interval arithmetic, and α-cut
operations for fuzzy computations. On the other hand, the significance of robustness is to
find out some rules for determining the necessary parameters for solving any larger scale
linear programming problems. Among these parameters, however, the crossover rate is
the most important factor. Here we only discuss the determination of the crossover rate rc.
Clearly, if we choose an appropriate rc, the GA will approximately obtain a bell-shaped
like discrete fuzzy set for triangular fuzzy number. If not, the GA will not be able to ob-
tain a good approximate triangular fuzzy number. Thus, a bell-shaped curve represents a
guideline for choosing an appropriate rc. If we use other type of fuzzy numbers, e.g.
trapezoidal, we do not need to observe whether a bell-shaped curve occurred or not.
However, we only consider the triangular fuzzy number in this study. Therefore, we need
to determine an adequate range of crossover rate. We use a11 = 12 and Δ = Δi1 = Δi2 = 0.5
as an instance to illustrate the choose of rc. In this case, we create 11 partition points,
ranging from 11.5 to 12.5. Fig. 9 shows the messy curves generated by using nine dif-
ferent rc, starting from 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, to 0.5, respectively, in the
GA program. Obviously, none of the curves are look like bell-shaped type. The parame-
ters used in this program are the number of generations 5000, the population size 100,
and the probability of mutation 0.003. However, when we use the crossover rate, starting
from 0.7 0.75, 0.8, 0.85 to 0.9, the GA creates five approximate bell-shaped curves. Fig.
10 shows these bell-shaped like curves. Therefore, we conclude that the adequate range
of the crossover rate for creating bell-shaped curve is [7.0, 9.0]. In this example, we
choose rc = 0.8. The crossover rate for other shapes of asymmetrical fuzzy numbers can
be determined as the same way.
6. CONCLUSION
This study has investigated the GA approach, via the simulation of fuzzy number in
some partition points, to solve fuzzy linear programming problem with fuzzy constraints.
A GENETIC ALGORITHM FOR LINEAR PROGRAMMING 815
1
0.8
membership
0.6
0.4
0.2
0
11.5 11.6 11.7 11.8 11.9 12 12.1 12.2 12.3 12.4 12.5
partition points
Fig. 9. The messy curves generated using nine different rc, starting from 0.1, 0.15, 0.2, 0.25, 0.3,
0.35, 0.4, 0.45, to 0.5, respectively.
1
0.8
membership
0.6
0.4
0.2
0
11.5 11.6 11.7 11.8 11.9 12 12.1 12.2 12.3 12.4 12.5
partition points
Fig. 10. The bell-shaped like curves obtained from using rc = 0.7, 0.75, 0.8, 0.85, and 0.9.
When GAs are applied to solve fuzzy constraints, the computation needs not to define
membership function of the fuzzy numbers, and neither to use the extension principle nor
interval arithmetic and α-cuts. Instead, the proposed GA approach uses only the usual
evolutionary process. A GA program evolves the values in each partition point so that the
final values represent the membership grade of that fuzzy number. After calculating the
estimated value of each fuzzy coefficient, the defuzzified linear programming problem
can be solved by the following GA stage. Thus, the fuzzy linear programming computa-
tions in the GA are much easier than those in the traditional fuzzy approach. Three tri-
angular fuzzy number shapes were considered in this study. The empirical results show
that the proposed approach can obtain very good solutions within the given bounds for
each fuzzy coefficient so that it accomplishes flexible linear programming. We conclude
that the GA fuzzy concept approach is different but gives better results than the tradi-
tional fuzzy methods. The results of this study may lead to the development of effective
GAs for solving other modes of fuzzy linear programming or fully fuzzified linear
programming.
ACKNOWLEDGEMENT
The authors are grateful to anonymous referees whose valuable comments helped to
improve the content of this paper.
816 FENG-TSE LIN
REFERENCES
1. J. J. Buckley, T. Feuring, and Y. Hayashi, “Neural net solutions to fuzzy linear pro-
gramming,” Fuzzy Sets and Systems, Vol. 106, 1999, pp. 99-111.
2. J. J. Buckley and T. Feuring, “Evolutionary algorithm solution to fuzzy problems:
Fuzzy linear programming,” Fuzzy Sets and Systems, Vol. 109, 2000, pp. 35-53.
3. J. Chiang, “Fuzzy linear programming based on statistical confidence interval and
interval-valued fuzzy set,” European Journal of Operational Research, Vol. 129,
2001, pp. 65-86.
4. P. Czyzak, “Application of the FLIP method to farm structure optimization under
uncertainty” in R. Slowinski and J. Teghem, eds., Stochastic Versus Fuzzy Ap-
proaches to Multiobjective Mathematical Programming under Uncertainty, Reidel,
Dordrecht, 1990, pp. 263-278.
5. D. E. Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning,
Addison-Wesley, Reading, MA, 1989.
6. F. Herrera and M. Lozano, “Fuzzy genetic algorithms: issues and models,” Technical
Report No. 18071, Department of Science and A.I., University of Granada, Granada,
Spain, 1999.
7. F. Herrera and M. Lozano, “Fuzzy genetic algorithms: issues and models,” Technical
Report No. 18071, Department of Science and A.I., University of Granada, Granada,
Spain, 1999.
8. A. Homaifar and E. McCormick, “Simultaneous design of membership functions
and rule sets for fuzzy controllers using genetic algorithms,” IEEE Transactions on
Fuzzy Systems, Vol. 3, 1995, pp. 129-139.
9. K. D. Jamison and W. A. Lodwick, “Fuzzy linear programming using a penalty
method,” Fuzzy Sets and Systems, Vol. 119, 2001, pp. 97-110.
10. C. L. Karr and E. J. Gentry, “Fuzzy control of pH using genetic algorithms,” IEEE
Transactions on Fuzzy Systems, Vol. 1, 1993, pp. 46-53.
11. M. A. Lee and H. Takagi, “Dynamic control of genetic algorithms using fuzzy logic
techniques,” in Proceedings of the 5th International Conference on Genetic Algo-
rithms, 1993, pp. 76-83.
12. D. G. Luenberger, Introduction to Linear and Nonlinear Programming, 2nd ed.,
Addision-Wesley, Reading, MA., 1984.
13. R. Ostermark, “Fuzzy linear constraints in the capital asset pricing model,” Fuzzy
Sets and Systems, Vol. 30, 1989, pp. 93-102.
14. R. A. Ribeiro and F. M. Pires, “Fuzzy linear programming via simulated annealing,”
Kybernetika, Vol. 35, 1999, pp. 57-67.
15. M. Sakawa, K. Kato, H. Sunada, and T. Shibano, “Fuzzy programming for multiob-
jective 0-1 programming problems through revised genetic algorithms,” European
Journal of Operational Research, Vol. 97, 1997, pp. 149-158.
16. E. Sanchez, T. Shibata, and L. A. Zadeh, Genetic Algorithms and Fuzzy Logic Sys-
tems: Soft Computing Perspectives, World Scientific, 1996.
17. R. Slowinski, “A multicriteria fuzzy linear programming method for water supply
system development planning,” Fuzzy Sets and Systems, Vol. 19, 1986, pp. 217-237.
18. J. F. C. Trappey, C. R. Liu, and T. C. Chang, “Fuzzy non-linear programming: the-
A GENETIC ALGORITHM FOR LINEAR PROGRAMMING 817