A Genetic Algorithm for Linear Programming With Fuzzy - CiteSeer

17
JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 24, 801-817 (2008) 801 A Genetic Algorithm for Linear Programming With Fuzzy Constraints * FENG-TSE LIN Department of Applied Mathematics Chinese Culture University Taipei, 111 Taiwan E-mail: [email protected] We examine a linear programming problem formulation in which the constraint co- efficients are not precisely given in the work. We investigate the possibility of applying GAs to solve this kind of fuzzy linear programming problem without defining member- ship functions for fuzzy numbers, using the extension principle, interval arithmetic, and α-cut operations for fuzzy computations, and using a penalty method for constraint vio- lations. The proposed approach simulates every fuzzy number by distributing it into cer- tain partition points. GAs are then used to evolve the values in each partition point. As a result, the final values represent the membership grade of that fuzzy number. After cal- culating the estimated values of each uncertain coefficient, we obtain a defuzzified linear programming problem. The crisp problem can then be solved using the following GA stage. The empirical results show that the proposed approach can obtain very good solu- tions within the given bounds for each fuzzy coefficient, thereby accomplishing flexible linear programming. Keywords: genetic algorithms, fuzzy linear programming problem, fuzzy numbers, fuzzy constraints, flexible linear programming 1. INTRODUCTION A linear programming problem is a mathematical program in which the objective function is linear in the unknowns and the constraints consist of linear equalities and lin- ear inequalities [12]. Linear programming has long proved its merit as a significant model for numerous allocation, operations research, economic problems, and so forth. However, in many practical applications, the exact values of the coefficients are either vague or ambiguous due to the subjective viewpoint of a decision-maker. To deal with this kind of uncertain coefficients, fuzzy sets provide a powerful tool to model the prob- lem. The coefficients of the original problem will be replaced by using fuzzy numbers that produce the fuzzy linear programming problem to be solved. The main advantage, compared to the crisp problem formulation, is the fact that the decision-maker is not forced into a precise formulation because of mathematical reasons even though he might only be able to describe the problem in fuzzy terms. The first method for solving fuzzy linear programming problems was proposed by Zimmermann [22]. Over the past decades, solving fuzzy linear programming has become one of the fundamental research subjects in the field of fuzzy sets and systems. Fuzzy linear programming applications in 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.

Transcript of A Genetic Algorithm for Linear Programming With Fuzzy - CiteSeer

JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 24, 801-817 (2008)

801

A Genetic Algorithm for Linear Programming With Fuzzy Constraints*

FENG-TSE LIN

Department of Applied Mathematics Chinese Culture University

Taipei, 111 Taiwan E-mail: [email protected]

We examine a linear programming problem formulation in which the constraint co-

efficients are not precisely given in the work. We investigate the possibility of applying GAs to solve this kind of fuzzy linear programming problem without defining member-ship functions for fuzzy numbers, using the extension principle, interval arithmetic, and α-cut operations for fuzzy computations, and using a penalty method for constraint vio-lations. The proposed approach simulates every fuzzy number by distributing it into cer-tain partition points. GAs are then used to evolve the values in each partition point. As a result, the final values represent the membership grade of that fuzzy number. After cal-culating the estimated values of each uncertain coefficient, we obtain a defuzzified linear programming problem. The crisp problem can then be solved using the following GA stage. The empirical results show that the proposed approach can obtain very good solu-tions within the given bounds for each fuzzy coefficient, thereby accomplishing flexible linear programming. Keywords: genetic algorithms, fuzzy linear programming problem, fuzzy numbers, fuzzy constraints, flexible linear programming

1. INTRODUCTION

A linear programming problem is a mathematical program in which the objective function is linear in the unknowns and the constraints consist of linear equalities and lin-ear inequalities [12]. Linear programming has long proved its merit as a significant model for numerous allocation, operations research, economic problems, and so forth. However, in many practical applications, the exact values of the coefficients are either vague or ambiguous due to the subjective viewpoint of a decision-maker. To deal with this kind of uncertain coefficients, fuzzy sets provide a powerful tool to model the prob-lem. The coefficients of the original problem will be replaced by using fuzzy numbers that produce the fuzzy linear programming problem to be solved. The main advantage, compared to the crisp problem formulation, is the fact that the decision-maker is not forced into a precise formulation because of mathematical reasons even though he might only be able to describe the problem in fuzzy terms. The first method for solving fuzzy linear programming problems was proposed by Zimmermann [22]. Over the past decades, solving fuzzy linear programming has become one of the fundamental research subjects in the field of fuzzy sets and systems. Fuzzy linear programming applications in

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.

FENG-TSE LIN

802

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

Mathematically, linear programming deals with nonnegative solutions to linear equ-ation systems. The classical linear programming problem is to find a vector (x1, x2, …, xn) which maximizes the linear form (i.e. the objective function)

c1x1 + c2x2 + … + cnxn (1)

subject to the linear constraints

a11x1 + a12x2 + … + a1nxn ≤ b1 a21x1 + a22x2 + … + a2nxn ≤ b2 (2) ………………………………… am1x1 + am2x2 + … + amnxn ≤ bm

and

xj ≥ 0, j = 1, 2, …, n (3) where the aij, bij and cj are given constants.

We can rewrite the above equations as the following linear programming problem.

Maximize Z = 1

n

j jj

c x=∑ (4)

Subject to 1

,n

kj j kj

a x b=

≤∑ k = 1, 2, …, m (5)

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].

Maximize Z = 1

n

j jj

c x=∑ (7)

Subject to 1

n

kj jj

a x=∑ % ,kb% k = 1, 2, …, m (8)

xj ≥ 0, j = 1, 2, …, n (9)

FENG-TSE LIN

804

The symbol 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

μk: ℜn → [0, 1], k = 1, 2, …, m. (10) 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

1 1 2 2 ,k k kn na x a x a x+ + +% % %K k = 1, 2, …, m (11)

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.

3. FUZZY LINEAR PROGRAMMING BASED ON FUZZY NUMBER

Without loss of the generality, we assume A% is a triangular fuzzy number denoted by A% = (a, b, c). The membership function of A% is defined by

,

( ) , , .

0, otherwise

A

x a a x bb a

x c x b x c a b cc b

μ

−⎧ ≤ ≤⎪ −⎪= −⎨ ≤ ≤ < <⎪ −⎪⎩

% (12)

1

α

0

)(~ xAμ

a b c)(αLA )(αRA 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- tegration to obtain the mean of the distances,

1

0([ ( ),Ld A α∫ AR(α)], 0)dα =

1

0[a c+ +∫

(2b − a − c)α]dα = (2b + a + c). Let FN = {(a, b, c) | ∀a < b < c, a, b, c ∈ R} be the family of all triangular fuzzy numbers. Let FL = {(a, b, b) | ∀a < b, a, b ∈ R} be the fam-ily of all left triangular fuzzy numbers and let FR = {(b, b, c) | ∀b < c, b, c ∈ R} be the family of all right triangular fuzzy numbers. Note that FL and FR are special cases of FN. We obtain F = FN ∪ FL ∪ FR = {(a, b, c) | ∀a ≤ b ≤ c, a, b, c ∈ R}. Let D% = (a, b, c) and E% = (p, q, r) ∈ F. The ranking of fuzzy numbers based on the signed distance defined on F are (1) D E% %p iff ( , 0) ( , 0)d D d E<% %% % and (2) D E≈% % iff ( , 0) ( , 0).d D d E=% %% %

In the fuzzy linear programming problem defined in Eqs. (7)-(9), the constraints in Eq. (8) are all fuzzy numbers. Let ka% represents a fuzzy constraint in linear programming problem, where ka% = (ak − Δk1, ak, ak + Δk2), 0 ≤ Δk1 ≤ ak, 0 ≤ Δk2 ≤ ak, 1≤ k ≤ n. The mem-bership function of ka% is given as

11

1

22

2

,

( )= .,

0, otherwise

k

k kk k k

k

a k kk k k

k

x aa x a

x a xa x a

μ

− + Δ⎧ − Δ ≤ ≤⎪ Δ⎪⎪ + Δ −⎨ ≤ ≤ + Δ⎪ Δ⎪⎪⎩

% (13)

After defuzzifying the fuzzy number ,ka% we obtain an estimate of the value from the interval [ak − Δk1, ak + Δk2], i.e., ka∗

= d ( ,ka% 0) = ak + (Δk2 − Δk1). If 0 < Δk1 < ak and Δk2 > 0, then ka% ∈ {(a, b, c) | ∀a < b < c, a, b, c ∈ R}. Obviously, if 0 < Δk1 < ak and Δk2 = 0, then ka% ∈ {(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 ka% ∈ {(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 ( , 0)d B% = (3b + a). Similarly, let C% = (b, b, c). The signed distance of C%

measured from the origin is defined by ( , 0)d C% = (3b + c). As a result, we can use these defuzzification equations to solving the linear programming with fuzzy constraints problem.

Let K1 = {(x1, x2, …, xn) |1

,n

kj j kj

a x b=

≤∑ k = 1, 2, …, m, xj ≥ 0, j = 1, 2, …, n}. Let K2

= {(x1, x2, …, xn) | 1

,n

kj j kj

a x b∗

=≤∑ k = 1, 2, …, m, xj ≥ 0, j = 1, 2, …, n}, where kja∗ =

d ( ,kja% 0) = akj + (Δk2 − Δk1). When Δk2 > Δk1, the triangle in Fig. 1 is skewed to the right-

hand side obtaining > kj kja a∗ and K2 ⊂ K1. It follows that

1 2 1 1( ,..., ) ( ,..., )1max max

n n

n

j jx x K x x Kjc x

∈ ∈=≤∑

FENG-TSE LIN

806

1.

n

j jj

c x=∑ When Δk2 ≤ Δk1, the triangle is skewed to the left-hand side obtaining kja∗ < akj.

Since K1 ⊂ K2, we then have 1 1 1 2( ,..., ) ( ,..., )1 1

max max .n n

n n

j j j jx x K x x Kj jc x c x

∈ ∈= =≤∑ ∑

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.

4. GENETIC ALGORITHMS FOR SOLVING FUZZY LINEAR PROGRAMMING

In our study, however, we did not use membership functions to define fuzzy num-bers kja% and kb% 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 a

t−

i = 0, 1, …, t, and call pi the partition point. Let the membership grade of W% at pi be ( ) ,i iW p μ=% i = 0, 1, …, t and μi ∈ [0, 1]. Then, a discrete fuzzy set is obtained as follows:

0 1( , , , )tW μ μ μ=% K = 0 1

0 1 .t

tp p pμ μμ

+ + +K (14)

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 ×

2 ,tΔ

i = 0, 1, …, t be the partition points and let ( )iW p% = μ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,

w* = 0

0

.

t

i ii

t

ii

p μ

μ

=

=

×∑

∑ (15)

Consider a given function N(x) = y. For each N(xi), i = 0, 1, …, t, is different, the fuzzy function can then be defined by

A GENETIC ALGORITHM FOR LINEAR PROGRAMMING

807

0 10 1

0 1( ) ( , , , ) ,

( ) ( ) ( )t

tt

N X NN x N x N xμ μμ

μ μ μ= = + + +% K K (16)

and the centroid can be defined by

0

0

( )( ( )) .

t

i ii

t

ii

N xN X

μθ

μ

=

=

=∑

∑% (17)

Following this concept, we can rewrite Eq. (8) as follows:

1,

n

kj j kj

a x b∗ ∗

=≤∑ k = 1, 2, …, m. (18)

From Eq. (18), we can see that each kja∗ is an estimated value obtained from the

computation of the centroid of .kja% Similarly, each kb∗ in Eq. (18) is also an estimated

value obtained from the computation of the centroid of kb% Finally, we convert the fuzzy linear programming in Eqs. (7)-(9) into the following form

Maximize Z = 1

n

j jj

c x=∑ (19)

Subject to 1

,n

kj j kj

a x b∗ ∗

=≤∑ k = 1, 2, …, m (20)

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. Step1: Generate an initial population

An initial population of size n is randomly generated from [0, 1]t+1 according to the uniform distribution in the closed interval [0, 1]. Let the population be

0 1

00 1

( , , , ) ,t

t t

h hhh h h h

tW

p p pμ μμ

μ μ μ= = + + +% K K

where h = 1, 2, …, n; μhi is a real number in [0, 1] and pi is a regular partition point in a given interval, i = 0, 1, 2, …, t. Each individual ,hW% h = 1, 2, …, n, in a population is a chromosome.

FENG-TSE LIN

808

Step 2: Calculate the fitness value for each chromosome Each chromosome ,hW% h = 1, 2, …, n, in the population is evaluated, according to

Eq. (13), by creating the estimated value for each coefficient in Eq. (18). The fitness value of each chromosome is then obtained from Eq. (17). The chromosomes in the population can be rated in terms of their fitness values. Let the total fitness value of the population be T. The cumulative fitness value (partial sum) for each chromosome Sh, h = 1, 2, …, n, is calculated. The intervals, I1 = [0, S1], Ij = [Sj-1, Sj], j = 2, 3, …, n − 1, and In = [Sn-1, Sn] are constructed for the purpose of selection. Step 3: Selection and reproduction

Reproduction is a process in which each chromosome is copied according to the se-lection process. The selection process begins with spinning of the roulette wheel n times. Each time, a single chromosome is selected from the current generation to create a new generation. The selection process is as follows. Each time, a random number r from the range [0, T] is generated. If r ∈ I1, then chromosome 1W% is selected; otherwise, the kth chromosome ,kW% 2 ≤ k ≤ n, is selected if r ∈ Ik. This selection process is continued until the new population has been created. Finally, the new population is renamed 1 2 3, , ,Y Y Y% % % … in the order they were picked. This procedure tends to choose more ,hW% h = 1, 2, …, n, with higher fitness to go on into the next population. Step 4: Perform crossover

Crossover is the key to genetic algorithms power. The purpose of crossover is to generate rearrangements of co-adapted groups of information from high performance structures. The crossover method used here is the one-point method, which randomly selects one cut-point and exchanges the right parts of two parents to generate offspring. Let p be the probability of a crossover, 0 ≤ p ≤ 1. Usually, p is set to 0.8, so we expect that on the average 80% of the chromosomes will undergo crossover.

Step 5: Perform mutation

Mutation is a background operator that produces random changes in various chro-mosomes. Mutation resets a selected position in a chromosome to a randomly generated real number in [0, 1]. The number of selected positions for mutation in the population is relevant to the mutation rate. Let q be the probability of a mutation, 0 ≤ q ≤ 1. Usually q is a very small value, around 0.003, so we expect that, on average, 0.3% of the total population will undergo mutation. After this step, an iteration of the genetic algorithm has been completed. Steps 2 through 5 is done K times, where K is the maximum number of iterations.

Finally, the algorithm is terminated after K generations are produced. Let the last population be 1 2, , , .nW W W∗ ∗ ∗% % %K 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 0 10 1

0 1( , , , ) ,h h ht

h h h htt

Wp p pμ μ μ

μ μ μ∗ ∗ ∗

∗ ∗ ∗ ∗= = + + +% K K 1 ≤ h ≤ n.

The estimated value of each fuzzy coefficient kja% in Eq. (8) is calculated as 0

t

kj ii

a p∗

=

⎛= ⎜⎝∑

A GENETIC ALGORITHM FOR LINEAR PROGRAMMING

809

0 ,

t

hi hii

μ μ∗ ∗

=

⎞× ⎟

⎠∑ where pi = akj – Δ + i ×

2 ,tΔ

i = 0, 1, …, t, which is defined on the

interval [akj – Δ, akj + Δ]. Similarly, 0 0

,t t

k i hi hii i

b p μ μ∗ ∗ ∗

= =

⎛ ⎞ ⎛ ⎞= ×⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠∑ ∑ where pi = bk – Δ + i

× 2Δ ,t

i = 0, 1, …, t, which is de-fined on the interval [bk – Δ, bk + Δ].

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.)

Maximize Z = 28x1 + 50x2

Subject to 1 212 25x x+ 46000,

1 220 5x x+ 25000,

1 222 12x x+ 30000, x1 ≥ 0, x2 ≥ 0.

5000

2500

1840

1250 2833.3

20x1 + 5x2 = 25000

12x1 + 25x2 = 46000

22x1 + 12x2 = 30000

Fig. 2. The problem’s convex feasible region in the Cartesian plane.

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

FENG-TSE LIN

810

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: 11a∗

= 12.032248, 12a∗ = 25.032251, 1b∗ =

46003.230469, 21a∗ = 20.032249, 22a∗

= 5.032248, 2b∗ = 25003.228516, 31a∗

= 22.032246, 32a∗

= 12.032248 and 3b∗ = 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-

parison of the result obtained with that of the crisp optimal value is 93814.180 93950.540

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 11a∗

= 11.857409, 12a∗

= 24.857407, 1b∗ = 45985.738281, 21a∗

= 19.857409, 22a∗ = 4.857409, 2b∗

=

24985.736328, 31a∗ = 21.857407, 32a∗

= 11.857409 and 3b∗ = 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

the crisp case is 94560.609 93950.540

93950.540− = + 0.6493%. The parameters used in the GA ap-

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

925009300093500940009450095000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20runs

optim

al v

alue

Fig. 3. The curve of the best values obtained from 20 runs.

93400

93600

93800

94000

94200

94400

94600

94800

95000

crisp run#1 run#2 run#3 run#4 run#5

The

valu

e of

Z

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. Type 1: The symmetrical shape of fuzzy number.

Consider a set of the values for Δk1 and Δk2 for the symmetrical triangular fuzzy numbers, which are shown in Table 1. Obviously, the symmetrical shape of fuzzy number is an isosceles triangle. We can see that the range of each imprecise coefficient are a11 = [11.8, 12.2], a12 = [24.7, 25.3], b1 = [45994, 46006], a21 = [19.6, 20.4], a22 = [4.8, 5.2], b2 = [24992, 25008], a31 = [21.7, 22.3], a32 = [11.4, 12.6], and b3 = [29996, 30004]. The estimated coefficients for the first run are 11a∗

= 11.989241, 12a∗ = 24.983858, 1b∗

=

−0.0047

0.3375

0.778 0.7377 0.8421

FENG-TSE LIN

812

93200

93400

93600

93800

94000

94200

94400

crisp run#1 run#2 run#3 run#4 run#5 run#6

The

valu

e of

Z

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.

wi wi + Δk2wi − Δk1 wi wi + Δk2 wi − Δk1wi wi − Δk wi + Δk (a) Symmetrical. (b) Asymmetrical, right-skewed. (c) Asymmetrical, left-skewed.

Fig. 6. Three shapes of triangular fuzzy number.

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)

936009370093800939009400094100942009430094400

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Runs

Max

imum

val

ues

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.

0.2817 0.3119 0.2917

−0.3639

−0.1441

−0.0259

A GENETIC ALGORITHM FOR LINEAR PROGRAMMING

813

45999.675781, 21a∗ = 19.978479, 22a∗

= 4.989241, 2b∗ = 24999.566406, 31a∗

= 21.983860, 32a∗

= 11.967723 and 3b∗ = 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%. Type 2: The asymmetrical right-skewed shape of fuzzy number

Table 2 shows the coefficients of the asymmetrical right-skewed shape of fuzzy number, where Δk1 < Δk2. In our implementation, we use Δk2 = 3Δk1. The estimated coeffi- cients for the first run are 11a∗

= 12.228661, 12a∗ = 25.342991, 1b∗

= 46003.425781, 21a∗ =

20.11433, 22a∗ = 5.228661, 2b∗

= 25002.287109, 31a∗ = 22.228659, 32a∗

= 12.114330 and

3b∗ = 30004.568359. The best solution obtained from the defuzzified problem is x1 =

489.175, x2 = 1579.193 and Z = 92656.539. The percentage of relative difference in this run compared with that of the crisp optimal value is − 1.3775%. We execute the asym-metrical right-skewed shape GA program 20 times to obtain 20 different best values, which are shown in Fig. 8. Again, the dotted line in Fig. 8 represents the crisp optimal value, 93950.54. The average value obtained from these 20 runs is 95291.38. The ratio of the average value compared to the crisp optimal value is + 1.42717%.

Table 2. The values of Δk1 and Δk2 used for the asymmetrical right-skewed type.

Table 3. The values of Δk1 and Δk2 used for 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)

91000920009300094000950009600097000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Runs

Max

imum

val

ues

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.

right-skewed left-skewed

FENG-TSE LIN

814

Type 3: The asymmetrical left-skewed shape of fuzzy number. Table 3 shows the coefficients of the asymmetrical left-skewed shape of fuzzy num-

ber, where Δk2 < Δk1. In our implementation, we use Δk1 = 3Δk2. The estimated coeffi- cients for the first run are 11a∗

= 11.803051, 12a∗ = 24.704578, 1b∗

= 45997.042969, 21a∗ =

19.901527, 22a∗ = 4.803053, 2b∗

= 24998.029297, 31a∗ = 21.803053, 32a∗

= 11.901526 and

3b∗ = 29996.064453. The best solution obtained from the defuzzified problem is x1 =

486.248, x2 = 1629.569 and Z = 95093.430. The percentage of relative difference in this run compared with that of the crisp optimal value is 1.2163%. We execute the asymmet-rical right-skewed shape GA program 20 times to obtain 20 different best values, which are also shown in Fig. 8. The average value of these 20 runs is 93061.64. The ratio of the average value compared to the crisp optimal value is − 0.94613%. 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

0

0.2

0.4

0.6

0.8

1

11.5 11.6 11.7 11.8 11.9 12 12.1 12.2 12.3 12.4 12.5partition points

mem

bers

hip

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.

0

0.2

0.4

0.6

0.8

1

11.5 11.6 11.7 11.8 11.9 12 12.1 12.2 12.3 12.4 12.5partition points

mem

bers

hip

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.

FENG-TSE LIN

816

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

ory and application in manufacturing,” International Journal of Production Re-search, Vol. 26, 1988, pp. 957-985.

19. Y. Tsujimura, M. Gen, and E. Kubota, “Solving fuzzy assembly-line balancing prob-lem with genetic algorithms,” in Proceedings of the 17th International Conference on Computers and Industrial Engineering, Vol. 29, 1995, pp. 543-547.

20. J. L. Verdegay, “Application of fuzzy optimization in operational research,” Control and Cybernetics, Vol. 13, 1984, pp. 229-239.

21. H. F. Wang and M. L. Wang, “A fuzzy multiobjective linear programming,” Fuzzy Sets and Systems, Vol. 86, 1997, pp. 61-72.

22. H. J. Zimmermann, “Fuzzy programming and linear programming with several ob-jective functions,” Fuzzy Sets and Systems, Vol. 1, 1978, pp. 45-55.

Feng-Tse Lin (林豐澤) was born in Taipei, Taiwan. He re-ceived the M.S. degree in Computer Engineering from the Na-tional Chiao Tung University, Hsinchu, Taiwan, in 1984, and the Ph.D. degree in Computer Science and Information Engineering from the National Taiwan University, Taipei, Taiwan, in 1992.

From 1984 to 1987, he was a research assistant at Telecom-munication Laboratories, Chungli, Taiwan. Currently, he is Pro-fessor and Chair of the Department of Applied Mathematics, Chinese Culture University, Yangminshan, Taipei, Taiwan. His current research interests include fuzzy logic and its applications,

genetic algorithms, quantum-inspired evolutionary algorithm and quantum computing. Dr. Lin is a member of Taiwanese Association for Artificial Intelligence (TAAI), Asso-ciation for Computing Machinery, IEEE Systems, Man, and Cybernetics Society, and IEEE Computational Intelligence Society.