Fuzzy Sets and Systems 122 (2001) 253–262
www.elsevier.com/locate/fss
Fuzzy programming with fuzzy decisions and fuzzy simulation-based genetic algorithm Baoding Liua; ∗ , Kakuzo Iwamurab aDepartment
of Mathematical Sciences, Tsinghua University, Beijing 100084, People’s Republic of China of Mathematics, Josai University, Sakado, Saitama 350-02, Japan
bDepartment
Received 19 June 1998; received in revised form 18 June 1999; accepted 18 October 1999
Abstract This paper provides a spectrum of chance-constrained programming as well as chance-constrained multiobjective programming and chance-constrained goal programming with fuzzy rather than crisp decisions, which will seek a fuzzy set from the given reference collection as an optimal solution. The technique of fuzzy simulation is also presented to check fuzzy chance constraints and to handle fuzzy objective and goal constraints. Finally, a fuzzy simulation-based genetic algorithm c 2001 Elsevier Science B.V. All for solving these models will be designed and illustrated by some numerical examples. rights reserved. Keywords: Fuzzy programming; Fuzzy decision; Genetic algorithm; Fuzzy simulation
1. Introduction As two main subtopics of mathematical programming, stochastic programming and fuzzy programming have been applied in a wide variety of real problems with random or fuzzy parameters. Complex decision systems are usually multi-dimensional, multi-faceted, multi-functional, multi-criteria and include stochastic or fuzzy parameters. With the requirement of considering randomness, appropriate techniques of stochastic programming have been developed to suit the di;erent purposes of manage-
∗
Corresponding author. Tel.: + 86-10-6278-5768; fax: + 8610-6277-1160. E-mail address:
[email protected] (B. Liu).
ment. As a type of stochastic programming, chanceconstrained programming, was pioneered by Charnes and Cooper [5] as a means of handling uncertainty by specifying a conBdence level at which it is desired that the stochastic constraint holds. Chance-constrained programming models can be converted into deterministic equivalents for some special cases, then solved by some solution procedures of deterministic mathematical programming. However, it is almost impossible to do this for complex chance-constrained programming models. In order to solve this type of problem, Iwamura and Liu [10] proposed a stochastic simulation-based genetic algorithm for solving nonlinear chance-constrained programming as well as multiobjective case and goal programming in which the stochastic simulation is employed to check the feasibility of solutions.
c 2001 Elsevier Science B.V. All rights reserved. 0165-0114/01/$ - see front matter PII: S 0 1 6 5 - 0 1 1 4 ( 0 0 ) 0 0 0 3 5 - X
254
B. Liu, K. Iwamura / Fuzzy Sets and Systems 122 (2001) 253–262
In addition, fuzzy mathematical programming o;ers a powerful means of handling optimization problems with non-stochastic imprecision and vagueness. A detailed survey on fuzzy optimization has also been made by Luhandjula [15]. Following the idea of chance-constrained programming with stochastic parameters developed by Charnes and Cooper [5], in fuzzy decision systems we assume that the fuzzy constraints will hold with at least possibility called conBdence level. Thus, we have a fuzzy version of chance-constrained programming. Several papers (see [21,13,14,18], etc.) had considered fuzzy linear programming or fuzzy multiobjective linear programming problems and proposed a series of ideas of translating the original chance constraints into crisp equivalents via possibility theory provided by Zadeh [20] and Dubois and Prade [6,7]. Furthermore, Chakraborty et al. [4] discussed multiobjective imprecise-chance constrained programming problems. However, as the development of more e;ective computer and intelligent algorithms, many new complex optimization problems can be processed by digital computers. Thus, Liu and Iwamura [11,12] presented a framework of nonlinear chance-constrained programming as well as multiobjective case and goal programming with fuzzy coeJcients, provided a fuzzy simulation-based genetic algorithm to solve general chance-constrained programming models, and illustrated the e;ectiveness of the genetic algorithm. Traditionally, mathematical programming models produce crisp decision vectors such that some objectives achieve the optimal values. However, for practical purposes, we should provide a fuzzy decision rather than a crisp one. Bouchon-Meunier et al. [2] surveyed various approaches to maximizing a numerical function over a fuzzy set. Buckley and Hayashi [3] presented a fuzzy genetic algorithm for maximizing a real-valued function by selecting an optimal fuzzy set and applied to fuzzy optimization, fuzzy maximum Low problem, fuzzy regression, and tuning a fuzzy controller. In this paper, we will provide a spectrum of chance-constrained programming as well as chanceconstrained multiobjective programming and chanceconstrained goal programming with fuzzy rather than crisp decisions. This type of model will select a fuzzy
set from the reference collection as an optimal solution. We also present a series of computer techniques for checking fuzzy system constraints as well as for handling fuzzy objective constraints and fuzzy goal constraints. Finally, we design a fuzzy simulationbased genetic algorithm for solving these models and illustrate its e;ectiveness by some numerical examples. 2. Fuzzy decisions On the one hand, actual controllers are not completely precise, thus Zadeh [19] proposed fuzzy logic control systems which had been applied in various industrial systems. On the other hand, management decisions are sometimes not able to be precisely performed in practice even if we had provided crisp values. So it is reasonable to suppose that we should provide fuzzy rather than crisp decisions for not only control problems but also decision making, for example, large, medium, small, nil, etc. Furthermore, each decision can be restricted in a reference collection of fuzzy sets (not necessarily Bnite or countable) which are pre-determined by the property of decision systems. Assume that a fuzzy decision is described by an n-dimensional vector x˜ = (x˜1 ; x˜2 ; : : : ; x˜n ) in which each component x˜i will be assigned an element in the reference collection of fuzzy sets Xi , i = 1; 2; : : : ; n, respectively. Notice that the reference collections are all predetermined. Thus, each fuzzy decision must be taken from the Cartesian product X = X1 ⊗ X2 ⊗ · · · ⊗ Xn :
(1)
3. Chance-constrained programming with fuzzy decisions Liu and Iwamura [11,12] had provided a spectrum of chance-constrained programming as well as chanceconstrained multi-objective programming and chanceconstrained goal programming with fuzzy coeJcients but crisp decisions, and designed a fuzzy simulationbased genetic algorithm for solving these models. In this section we outline the framework of chance constrained programming models with fuzzy decisions.
B. Liu, K. Iwamura / Fuzzy Sets and Systems 122 (2001) 253–262
A single-objective chance-constrained programming with fuzzy decisions may be written as follows: max
fP
s:t:
P Pos{f(x; ˜ )¿f}¿ ;
{gj (x; ˜ )60; j = 1; 2; : : : ; p} is at least . For each Bxed fuzzy solution x, ˜ the objective value fP should be the maximum that the objective function f(x;˜ ) achieves with at least possibility . Sometimes, we formulate the fuzzy decision problem as a chance-constrained programming with separate chance constraints as follows:
s:t:
P Pos{f(x; ˜ )¿f}¿ ; Pos{gj (x; ˜ )60}¿j ;
(3) j = 1; 2; : : : ; p;
where j are predetermined conBdence levels to the respective constraints. As an extension of single-objective chanceconstrained programming, chance-constrained multiobjective programming may be written as follows: max
[fP1 ; fP2 ; : : : ; fPm ]
s:t:
Pos{fi (x; ˜ )¿fPi }¿ i ; Pos{gj (x; ˜ )60}¿j ;
s:t:
Pj
m
− (uij d+ i + vij di )
i=1
+ ˜ ) + d− Pos{fi (x; i − di = bi }¿ i ;
i = 1; 2; : : : ; m;
where x˜ is a fuzzy decision vector in the reference collection X deBned by (1), is a vector of fuzzy parameters, f(x;˜ ) is the return function, gi (x;˜ ) are constraint functions, i = 1; 2; : : : ; p, and are predetermined conBdence levels for fuzzy constraints and fuzzy objective, respectively, and Pos{·} denotes the possibility of the event in {·}. A fuzzy solution x˜ is feasible if and only if the possibility measure of the event
fP
l j=1
Pos{gj (x; ˜ )60; j = 1; 2; : : : ; p}¿;
max
decision maker: min
(2)
255
(5)
Pos{gj (x; ˜ )60}¿j ; j = 1; 2; : : : ; p; + d− i ; di ¿0;
i = 1; 2; : : : ; m;
where Pj is the preemptive priority factor which expresses the relative importance of various goals, Pj Pj+1 , for all j, uij is the weighting factor corresponding to positive deviation for goal i with priority j assigned, vij is the weighting factor corresponding to negative deviation for goal i with priority j assigned, d+ i is the positive deviation from the target of goal i, d− i is the negative deviation from the target of goal i, bi is the target value according to goal i, l is the number of priorities, m is the number of goal constraints. Mention that in a chance-constrained goal programming, the positive and negative deviations are understood as the minimal nonnegative values of d+ i and d− i such that ˜ ) − bi }¿ i ; Pos{d+ i ¿fi (x; Pos{d− ˜ )}¿ i i ¿bi − fi (x; for i = 1; 2; : : : ; m, respectively. 4. Fuzzy simulations Liu and Iwamura [11,12] had presented a computer technique of fuzzy simulations for checking fuzzy systems constraint Pos{gj (x; )60; j = 1; 2; : : : ; k}¿
i = 1; 2; : : : ; m; (4) j = 1; 2; : : : ; p;
where i are conBdence levels for the ith objectives, i = 1; 2; : : : ; m, respectively. We can also formulate a fuzzy decision system as a chance-constrained goal programming according to the priority structure and target levels set by the
as well as for handling fuzzy objective constraint P Pos{f(x; )¿f}¿
and for handling fuzzy goal constraint Pos{f(x; ) + d− − d+ = b}¿ ; where the decision vector x is assumed to be crisp and the parameter vector is assumed to be fuzzy. In this
256
B. Liu, K. Iwamura / Fuzzy Sets and Systems 122 (2001) 253–262
section, we design fuzzy simulations for the abovementioned problems in which x and are assumed to be fuzzy with membership functions (·) and (·), respectively. 4.1. Checking fuzzy system constraints From the deBnition of operations over fuzzy numbers, we say Pos{gj (x; ˜ )60; j = 1; 2; : : : ; k}¿
(6)
for a given fuzzy decision vector x˜ if and only if there are two crisp vectors 0 and x˜0 such that gj (x˜0 ; 0 )60; j = 1; 2; : : : ; k and ( 0 ) ∧ (x˜0 )¿. Thus, we can generate two crisp vectors 0 and x˜0 uniformly from the fuzzy vectors and x˜ such that ( 0 )¿ and (x˜0 )¿ (i.e., the -level sets of fuzzy vectors and x), ˜ respectively. If the -level set of the fuzzy vector is too complex to determine, we can sample a vector 0 from a hypercube containing the level set and then accept or reject it, depending on whether ( 0 )¿ or not. Certainly, in order to speed up the simulation process, the hypercube should be designed as small as possible. For the fuzzy decision x, ˜ the sampling process is analogous to the case of . If 0 and x˜0 simultaneously satisfy that gj (x˜0 ; 0 )60; j = 1; 2; : : : ; k, then we can believe that Pos{gj (x;˜ )60; j = 1; 2; : : : ; k}¿. If not, we will re-generate two crisp vectors 0 and x˜0 from the level sets of fuzzy vectors and x, ˜ respectively, and check the constraints again. After a given number N of cycles, if there are no crisp vectors 0 and x˜0 generated such that gj (x˜0 ; 0 )60; j = 1; 2; : : : ; k, then we say that the given fuzzy decision vector x˜ is infeasible for the possibility constraints (6). Now we summarize the above process as follows. Step 1: Generate 0 and x˜0 uniformly from the level sets of fuzzy vectors and x, ˜ respectively. Step 2: If gj (x˜0 ; 0 )60; j = 1; 2; : : : ; k, return FEASIBLE. Step 3: Repeat the Brst and second steps N times. Step 4: Return INFEASIBLE. 4.2. Handling fuzzy objective constraints For a fuzzy objective constraint, P Pos{f(x; ˜ )¿f}¿ ;
(7)
P we should in view of the purpose of maximizing f, P Bnd the maximal f such that (7) holds for a given fuzzy decision vector x. ˜ At Brst, we set fP = − ∞. Then, we generate two crisp vectors 0 and x˜0 uniformly from the fuzzy vector and x, ˜ respectively, such that ( 0 ) ∧ (x˜0 )¿ (i.e., the -level sets of fuzzy vectors and x), ˜ respectively. We set P fP = f(x˜0 ; 0 ) provided that f¡f( x˜0 ; 0 ). Repeat this process N times. The value fP is regarded as the objective value at the fuzzy decision x. ˜ We summarize it as follows. Step 1: Set fP = − ∞. Step 2: Generate 0 and x˜0 uniformly from the level sets of fuzzy vectors and x, ˜ respectively. Step 3: If fP ¡ f(x˜0 ; 0 ), then set fP = f(x˜0 ; 0 ). Step 4: Repeat the second and third steps N times. P Step 5: Return f. 4.3. Handling fuzzy goal constraints In chance-constrained goal programming with fuzzy decisions there may be the following type of fuzzy goal constraint: Pos{f(x; ˜ ) + d− − d+ = b}¿ :
(8)
That is, as we deBned, we should Bnd the minimal nonnegative values of d− and d+ for the given fuzzy decision x˜ such that ˜ )}¿ ; Pos{d− ¿b − f(x; ˜ ) − b}¿ : Pos{d+ ¿f(x; At Brst, we set d− = d+ = +∞. Then, we generate two crisp vectors 0 and x˜0 from the -level sets of fuzzy vectors and x, ˜ respectively. If d− ¿b − f(x˜0 ; 0 ), − then we set d = [b − f(x˜0 ; 0 )] ∨ 0. Similarly, if d+ ¿f(x˜0 ; 0 ) − b, then we set d+ = [f(x˜0 ; 0 ) − b] ∨ 0. Repeat the above process N times by generating new crisp vectors 0 and x˜0 . The values of d+ and d− are regarded as the positive and negative deviations at the fuzzy decision x, ˜ respectively. Now we summarize this process as follows. Step 1: Set d+ = d− = + ∞. Step 2: Generate 0 and x˜0 uniformly from the level sets of fuzzy vectors and x, ˜ respectively. Step 3: If d+ ¿ f(x˜0 ; 0 ) − b, then set d+ = [f(x˜0 ; 0 ) − b] ∨ 0.
B. Liu, K. Iwamura / Fuzzy Sets and Systems 122 (2001) 253–262
Step 4: If d− ¿ b − f(x˜0 ; 0 ), then set d− = [b − f(x˜0 ; 0 )] ∨ 0. Step 5: Repeat the second and third and=or fourth steps N times. Step 6: Return d+ and d− .
5. Fuzzy simulation-based genetic algorithm Genetic algorithms are a stochastic search method for optimization problems based on the mechanics of natural selection and natural genetics, and have demonstrated considerable success in providing good solutions to many complex optimization problems and received more and more attentions during the past three decades. Genetic algorithms (evolution program, evolution strategies, and genetic algorithms) have been well documented in the literature, such as Goldberg [9], Michalewicz [16], Biethahn and Nissen [1], Fogel [8], and applied to a wide variety of optimization problems. Especially, for chance-constrained programming as well as multiobjective case and goal programming, Iwamura and Liu [10] provided a stochastic simulation-based genetic algorithm for stochastic cases; Liu and Iwamura [11,12] provided a fuzzy simulation-based genetic algorithm for fuzzy models. In this section, we design a fuzzy simulation-based genetic algorithm for solving chance-constrained programming as well as chance-constrained multiobjective programming and chance-constrained goal programming with fuzzy decisions. 5.1. Representation structure Traditionally, we can code a solution by either a binary vector or a Loating number vector. However, for a fuzzy solution (decision), we have to use fuzzy chromosomes in which each gene is a fuzzy set rather than a crisp digital. Here we use a fuzzy vector V = (x˜1 ; x˜2 ; : : : ; x˜n ) as a fuzzy chromosome to represent a fuzzy solution to the chance-constrained programming models, where n is the dimension and each component x˜i is sampled from the reference collection of fuzzy sets Xi for i = 1; 2; : : : ; n.
257
5.2. Initialization process We randomly sample fuzzy sets from the reference collection Xi for each fuzzy gene x˜i and form a fuzzy chromosome V = (x˜1 ; x˜2 ; : : : ; x˜n ). If this fuzzy chromosome is proven to be infeasible by the fuzzy simulation, then we re-do it until a feasible fuzzy chromosome is obtained. Repeating the above process pop size times, we can make pop size initial feasible chromosomes V1 ; V2 ; : : : ; Vpop size . Generally speaking, fuzzy simulation-based genetic algorithm spends most of its time for generating infeasible chromosomes. Michalewicz and Schoenauer [17] reviewed some constraint-handling methods in order to save the time spent for infeasible chromosomes. Here, we will employ the following methods not only in initialization process but also in genetic operators. The Brst one is to reduce the search region. In practice, we usually have the experience that some chromosomes are impossible to be optimal even though they are feasible, so we should let the genetic algorithm not search this region. The second method is to convert the infeasible chromosomes into feasible ones when infeasible chromosomes are generated by genetic operators. The third one is based on preserving feasibility of chromosomes. However, these methods are generally problem-dependent. Thus, we should carefully design the initialization process and genetic operators for each given optimization problem. 5.3. Evaluation function Evaluation function, denoted by eval(V ), is to assign a probability of reproduction to each chromosome V so that its likelihood of being selected is proportional to its Btness relative to the other chromosomes in the population. That is, the chromosomes with higher Btness will have more chance to produce o;spring by using the roulette wheel selection. Let V1 ; V2 ; : : : ; Vpop size be the pop size fuzzy chromosomes at the current generation. One well-known method is based on allocation of reproductive trials according to rank rather than actual objective values. No matter what type of mathematical programming (single-objective, multiobjective, or goal programming) it is, it is reasonable to assume that the user can give an order relationship among the pop size chromosomes V1 ; V2 ; : : : ; Vpop size such that the pop size
258
B. Liu, K. Iwamura / Fuzzy Sets and Systems 122 (2001) 253–262
chromosomes can be rearranged from good to bad (i.e., the better the chromosome is, the smaller ordinal number it has). This arrangement is usually based on the values of objective functions obtained by fuzzy simulations. For example, for a single-objective maximizing problem, a chromosome with larger objective value is better; for a multiobjective programming model, we may deBne a preference function to evaluate the chromosomes; for a goal programming model, we have the following order relationship for the chromosomes: for any two chromosomes, if the higher-priority objectives are equal, then, in the current priority level, the one with minimal objective value is better, and if two di;erent chromosomes have the same objective values at every level, then we are indi;erent between them. Now let a parameter a ∈ (0; 1) in the genetic system be given, then we can deBne the so-called rank-based evaluation function as follows: eval(Vi ) = a(1 − a)i−1 ;
i = 1; 2; : : : ; pop size: (9)
We mention that i = 1 means the best individual, i = pop size the worst individual. 5.4. Selection process The selection process is based on spinning the roulette wheel pop size times, each time we select a single fuzzy chromosome for a new population in the following way: Step 1: Calculate the cumulative probability qi for each chromosome Vi , q0 = 0 qi =
i
eval(Vj );
i = 1; 2; : : : ; pop size:
(10)
j=1
Step 2: Generate a random real number r in (0; qpop size ]. Step 3: Select the ith chromosome Vi (16i6 pop size) such that qi−1 ¡ r6qi . Step 4: Repeat the second and third steps pop size times and obtain pop size copies of chromosomes.
5.5. Crossover operation We deBne a parameter Pc of a genetic system as the probability of crossover. This probability gives us the expected number Pc · pop size of chromosomes undergoing the crossover operation. In order to determine the parents for crossover operation, let us do the following process repeatedly from i = 1 to pop size: generate a random real number r from the interval [0; 1], and the chromosome Vi is selected as a parent provided that r¡Pc . We denote the selected parents as V1 ; V2 ; V3 ; : : : and divide them into the following pairs: (V1 ; V2 );
(V3 ; V4 );
(V5 ; V6 ); : : : :
Let us illustrate the crossover operator on each pair by (V1 ; V2 ). At Brst we randomly generate an integer between 1 and n as the crossover point denoted by n , then we exchange the genes after the n th gene of the fuzzy chromosomes V1 and V2 and produce two children. If the children are feasible, then we will replace the parents with them, otherwise we re-do the crossover operation. 5.6. Mutation operation We deBne a parameter Pm of a genetic system as the probability of mutation. This probability gives us the expected number of Pm · pop size of chromosomes undergoing the mutation operations. Similar to the process of selecting parents for crossover operation, we repeat the following steps from i = 1 to pop size: generate a random real number r from the interval [0; 1], and the chromosome Vi is selected as a parent for mutation provided that r¡Pm . For each selected parent, denoted by V = (x˜1 ; x˜2 ; : : : ; x˜n ), we mutate it by the following way. We randomly choose a mutation position n between 1 and n, then we sample a new fuzzy set from the collection of fuzzy sets Xn and replace the n th gene of V to form a new one V . If the fuzzy chromosome V is infeasible, then we re-do the mutation operation until a feasible one is obtained. 5.7. The genetic algorithm procedure Following selection, crossover and mutation, the new population is ready for its next evaluation. The
B. Liu, K. Iwamura / Fuzzy Sets and Systems 122 (2001) 253–262
genetic algorithm will terminate after a given number of cyclic repetitions of the above steps. We can summarize the fuzzy simulation-based genetic algorithm for solving chance-constrained programming models with fuzzy decisions as follows. Step 0: Input parameters pop size, a; Pc and Pm . Step 1: Initialize pop size fuzzy chromosomes in which fuzzy simulations may be employed to check the feasibility. Step 2: Update the fuzzy chromosomes by crossover and mutation operations in which the feasibility of o;spring may be also checked by fuzzy simulations. Step 3: Calculate the objective values for all fuzzy chromosomes by fuzzy simulations. Step 4: Compute the Btness of each fuzzy chromosome by rank-based evaluation function based on the objective values. Step 5: Select the fuzzy chromosomes by spinning the roulette wheel. Step 6: Repeat the second to Bfth steps a given number of cycles. Step 7: Report the best chromosome as the optimal fuzzy solution. It is well known that the best fuzzy chromosome does not necessarily appear in the last generation. Thus we have to keep the best one from the beginning. If we Bnd a better one in the new population, then replace the old one with it. This chromosome will be reported as the optimal fuzzy solution after Bnishing the evolution.
6. Numerical experiments The computer code for the fuzzy simulation-based genetic algorithm to chance-constrained programming models with fuzzy decisions has been written in C language. Here we give three numerical examples performed on a personal computer with the following parameters: the population size is 30, the probability of crossover Pc is 0.3, the probability of mutation Pm is 0.2, the parameter a in the rank-based evaluation function is 0.05. Please note that the genetic algorithm is very robust in setting of these parameters.
259
Example 1. Now let us consider the following singleobjective chance-constrained programming with fuzzy decisions: max fP s:t:
P Pos{c˜1 x˜1 + c˜2 x˜2 + c˜3 x˜3 ¿f}¿0:9; 2 Pos a˜1 x˜1 + a˜2 x˜22 + a˜3 x˜23 6100 ¿0:7; ˜ Pos{x˜1 x˜2 x˜3 6b}¿0:8;
where the fuzzy decision x˜ = (x˜1 ; x˜2 ; x˜3 ) will be generated in the Cartesian product X1 ⊗ X2 ⊗ X3 , the reference collection X1 is composed of all triangular fuzzy numbers (t − 1; t; t + 1) with t ∈ [1; 5], X2 is composed of all fuzzy numbers with membership functions 2 (x) = exp(− |x − t|) with t ∈ [2; 10], X3 is composed of all fuzzy numbers with membership functions 3 (x) = 1=[1 + (x − t)2 ] with t ∈ [5; 8], the triangular fuzzy parameters a˜1 = (0; 1; 2), a˜2 = (1; 2; 3), a˜3 = (2; 3; 4), the trapezoidal fuzzy number b˜ = (20; 25; 28; 30), and c˜1 , c˜2 and c˜3 are fuzzy numbers with membership functions c˜1 (x) = 1=[1 + |x − 1|], c˜2 (x) = 1=[1 + |x − 2|] and c˜3 (x) = 1=[1 + |x − 3|], respectively. For this example, each fuzzy simulation will be performed 2000 cycles. A run of the fuzzy simulationbased genetic algorithm with 600 generations shows that the optimal fuzzy solution (x˜∗1 ; x˜∗2 ; x˜∗3 ) is x˜∗1 = (0:369; 1:369; 2:369); x˜∗2 (x) = exp[− |x − 5:336|]; x˜∗3 (x) =
1 1 + (x − 5:251)2
whose objective value is fP∗ = 30:4. The total CPU time spent for this problem is 9.6 min. It is clear that at most 18 000 chromosomes are produced in 600 generations. We also randomly generate 18 000 chromosomes, and the best solution obtained is x˜∗1 = (0:286; 1:286; 2:286); x˜∗2 (x) = exp[− |x − 5:044|]; x˜∗3 (x) =
1 1 + (x − 5:381)2
whose objective value is fP∗ = 29:9. The result means that the fuzzy simulation-based genetic algorithm is better than the random method.
260
B. Liu, K. Iwamura / Fuzzy Sets and Systems 122 (2001) 253–262
Example 2. Now we turn our attention on the following chance-constrained goal programming with fuzzy decisions: lexmin
− − {d− 1 ; d2 ; d3 }
s:t:
+ ˜ Pos{x˜21 + x˜22 + d− 1 − d1 = b}¿0:95; + Pos{x˜3 + d− ˜ 2 − d2 = c}¿0:90; + Pos{x˜4 + d− 3 − d3 = 4}¿0:85;
Pos{a˜1 x˜1 + a˜2 x˜2 + a˜3 x˜3 + a˜4 x˜4 610}¿0:80; + d− i ; di ¿0;
i = 1; 2; 3;
where a˜1 ; a˜2 ; a˜3 and a˜4 are triangular fuzzy numbers (0; 1; 2); (1; 2; 3); (2; 3; 4) and (3; 4; 5), respectively, b˜ and c˜ are fuzzy numbers with membership functions b˜(x) =
1 ; 1 + (x − 10)2
c˜(x) =
1 ; 1 + |x − 3|
respectively, and the fuzzy decision (x˜1 ; x˜2 ; x˜3 ; x˜4 ) will be generated in the Cartesian product X1 ⊗ X2 ⊗ X3 ⊗ X4 , where the reference collection X1 is a crisp interval [1; 10] (a degenerate case), X2 is composed of all triangular fuzzy numbers (t − 1; t; t + 1) with t ∈ [1; 10], X3 is composed of all fuzzy numbers with membership functions 3 (x) = exp(− |x − t|) with t ∈ [1; 10] and X4 is composed of all fuzzy numbers with membership functions 4 (x) = 1=[1 + |x − t|] with t ∈ [1; 10]. In order to apply fuzzy simulation technique to handling fuzzy system constraints and fuzzy goal constraints, we conservatively take the hypercubes containing the -level sets of fuzzy numbers a˜1 ; a˜2 ; a˜3 ; a˜4 ; b˜ and c˜ as [0:5; 1:5], [1:5; 2:5], [2:5; 3:5], [3:5; 4:5], [9; 11] and [2; 4], respectively. For this example, each fuzzy simulation will be performed 2000 cycles. A run of the fuzzy simulation-based genetic algorithm with 1000 generations shows that the optimal fuzzy solution (x˜∗1 ; x˜∗2 ; x˜∗3 ; x˜∗4 ) is x˜∗1 = 2:951;
x˜∗2 = (0; 1; 2);
x˜∗3 (x) = exp(− |x − 1:420|); x˜∗4 (x) =
1 1 + |x − 1:001|
which can satisfy the Brst goal, but the second and third objectives are 1.37 and 2.82, respectively. The total CPU time spent for this problem is 1.3 min. Note that at most 30 000 chromosomes are produced in 1000
generations. We also randomly generate 30 000 chromosomes, and obtain the following solution: x˜∗1 = 3:021;
x˜∗2 = (0:016; 1:016; 2:016);
x˜∗3 (x) = exp(− |x − 1:345|); x˜∗4 (x) =
1 1 + |x − 1:026|
which can satisfy the Brst goal, but the second and third objectives are 1.43 and 2.80, respectively. The result shows also that the fuzzy simulation-based genetic algorithm is better than the random method. Example 3. Now we consider a numerical example involving a equality constraint, max
fP
s:t:
P Pos{x˜1 + x˜2 + x˜3 6f}¿0:9; Pos{x˜21 + 2x˜22 + 3x˜23 = 10}¿0:8;
where the fuzzy variables x˜1 ; x˜2 , and x˜3 are fuzzy numbers with the same type of membership function (x) = 1=[1 + |x − t|], t ∈ [1; 2]. In fact, the chanceconstrained programming model with equality constraints has more computational complexity than that without equality constraints. The diJcult point is how to check the constraint Pos{x˜21 + 2x˜22 + 3x˜23 = 10}¿0:8 In order to apply the fuzzy simulation technique, we may produce a vector (x1 ; x2 ; x3 ) from the hypercube [0; 1]3 , and translate it to a vector (x1 ; x2 ; x3 ) meeting the constraint x1 2 + 2x2 2 + 3x3 2 = 10 in the following way: √ √ 10x1 10x2 x1 = ; x2 = ; x12 + 2x22 + 3x32 x12 + 2x22 + 3x32 √ 10x3 x3 = : 2 x1 + 2x22 + 3x32 If x˜1 (x1 ) ∧ x˜2 (x2 ) ∧ x˜3 (x3 )¿0:8 is proven to be true, then the equality constraint Pos{x˜21 + 2x˜22 + 3x˜23 = 10}¿0:8: holds. Otherwise, we repeat the above process by sampling new vector (x1 ; x2 ; x3 ) from the hypercube
B. Liu, K. Iwamura / Fuzzy Sets and Systems 122 (2001) 253–262
[0; 1]3 . If the equality constraint is not proven to be true in 2000 cycles, then we say that the equality constraint does not hold. A run of the fuzzy simulation-based genetic algorithm with 3000 generations shows that the optimal fuzzy solution (x˜∗1 ; x˜∗2 ; x˜∗3 ) is 1 ; 1 + |x − 1:0093| 1 ; x˜∗2 (x) = 1 + |x − 1:0011| 1 x˜∗3 (x) = 1 + |x − 1:0819| x˜∗1 (x) =
whose objective value is fP∗ = 2:7590. The total CPU time spent for this problem is 4.1 min. It is obvious that at most 90 000 chromosomes are produced in 3000 generations. We also randomly generate 90 000 chromosomes, and the best solution obtained is 1 ; 1 + |x − 1:2320| 1 ; x˜∗2 (x) = 1 + |x − 1:0548| 1 x˜∗3 (x) = 1 + |x − 1:0739| x˜∗1 (x) =
whose objective value is fP∗ = 3:0275 which is not as good as the result obtained by the fuzzy simulationbased genetic algorithm. Remark. The time complexity of fuzzy simulationbased genetic algorithm for solving chanceconstrained programming with fuzzy decisions is the sum of the time spent for the fuzzy simulation and the time spent for the genetic algorithm, where the computation time for fuzzy simulation has to be spent since we have assumed that there is no direct method to substitute for it. 7. Conclusion This paper presented a spectrum of chanceconstrained programming with fuzzy rather than crisp decisions. A fuzzy simulation-based genetic algorithm for solving chance-constrained programming models with fuzzy decisions was also designed. Fi-
261
nally, we illustrated the e;ectiveness of algorithm by some numerical examples. Although the fuzzy simulation-based genetic algorithm is a slow and costly way to Bnd optimal solution, it is indeed a power and easy-to-use tool to this type of problem. Especially, fuzzy simulation-based genetic algorithm can deal with chance-constrained programming with fuzzy decisions which are generally unable to be solved by the traditional algorithms. Acknowledgements This work was supported by National Natural Science Foundation of China Grant No.69804006. References [1] J. Biethahn, V. Nissen (Eds.), Evolutionary Algorithms in Management Applications, Springer, Berlin, 1995. [2] B. Bouchon-Meunier, V. Kreinovich, A. Lokshin, H.T. Nguyen, On the formulation of optimization under elastic constraints (with control in mind), Fuzzy Sets and Systems 81 (1996) 5–29. [3] J.J. Buckley, Y. Hayashi, Fuzzy genetic algorithm and applications, Fuzzy Sets and Systems 61 (1994) 129–136. [4] D. Chakraborty, J.R. Rao, R.N. Tiwari, Multiobjective imprecise-chance constrained programming problem, J. Fuzzy Math. 1 (2) (1993) 377–387. [5] A. Charnes A, W.W. Cooper, Chance constrained programming, Management Sci. 6 (1) (1959) 73–79. [6] D. Dubois, H. Prade, Possibility Theory, Plenum, New York, 1988. [7] D. Dubois, H. Prade, Fuzzy numbers: an overview, in: J.C. Bezdek (Ed.), Analysis of Fuzzy Information, Vol. 2, CRC Press, Boca Raton, 1988, pp. 3–39. [8] D.B. Fogel, An introduction to simulated evolutionary optimization, IEEE Trans. Neural Networks 5 (1) (1994) 3–14. [9] D.E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, Addison-Wesley, Reading, MA, 1989. [10] K. Iwamura, B. Liu, A genetic algorithm for chance constrained programming, J. Inform. Optim. Sci. 17 (1996) 409–422. [11] B. Liu, K. Iwamura, Chance constrained programming with fuzzy parameters, Fuzzy Sets and Systems 94 (2) (1998) 227–237. [12] B. Liu, K. Iwamura, A note on chance constrained programming with fuzzy coeJcients, Fuzzy Sets and Systems 100 (1–3) (1998) 229–233. [13] M.K. Luhandjula, Linear programming under randomness and fuzziness, Fuzzy Sets and Systems 10 (1983) 45–55. [14] M.K. Luhandjula, On possibilistic linear programming, Fuzzy Sets and Systems 18 (1986) 15–30.
262
B. Liu, K. Iwamura / Fuzzy Sets and Systems 122 (2001) 253–262
[15] M.K. Luhandjula, Fuzzy optimization: an appraisal, Fuzzy Sets and Systems 30 (1989) 257–282. [16] Z. Michalewicz, Genetic Algorithms + Data Structures = Evolution Programs, 2nd Edition, Springer, New York, 1994. [17] Z. Michalewicz, M. Schoenauer, Evolutionary algorithms for constrained parameter optimization problems, Evol. Comput. 4 (1) (1996) 1–32. [18] A.V. Yazenin, On the problem of possibilistic optimization, Fuzzy Sets and Systems 81 (1996) 133–140.
[19] L.A. Zadeh, Outline of a new approach to the analysis of complex systems and decision processes, IEEE Trans. Systems Man Cybernet. 3 (1973) 28–44. [20] L.A. Zadeh, Fuzzy sets as a basis for a theory of possibility, Fuzzy Sets and Systems 1 (1978) 3–28. [21] H.J. Zimmermann, Applications of fuzzy set theory to mathematical programming, Inform. Sci. 36 (1985) 29–58.