Optimization with linguistic variables Christer Carlsson Robert Full´er

advertisement
Optimization with linguistic
variables
Christer Carlsson
Institute for Advanced Management Systems Research,
e-mail:christer.carlsson@abo.fi
Robert Fullér
Turku Centre for Computer Science,
e-mail: rfuller@ra.abo.fi
TUC S
Turku Centre for Computer Science
TUCS Technical Report No 157
January 1998
ISBN 952-12-0138-X
ISSN 1239-1891
Abstract
The aim of this paper is to introduce a novel statement of fuzzy mathematical
programming problems and to provide a method for findig a fair solution to
these problems. Suppose we are given a mathematical programming problem
in which the functional relationship between the decision variables and the
objective function is not completely known. Our knowledge-base consists of
a block of fuzzy if-then rules, where the antecedent part of the rules contains
some linguistic values of the decision variables, and the consequence part
consists of a linguistic value of the objective function. We suggest the use
of Tsukamoto’s fuzzy reasoning method to determine the crisp functional
relationship between the objective function and the decision variables, and
solve the resulting (usually nonlinear) programming problem to find a fair
optimal solution to the original fuzzy problem.
Keywords: Linguistic variable, Tsukamoto’s fuzzy reasoning, fuzzy optimization, soft constraints
TUCS Research Group
Institute for Advanced Management Systems Research
1
Introduction
When Bellman and Zadeh [1], and a few years later Zimmermann [14], introduced fuzzy sets into optimization problems, they cleared the way for a
new family of methods to deal with problems which had been inaccessible to
and unsolvable with standard mathematical programming techniques. Fuzzy
optimization problems can be stated and solved in many different ways (for
good surveys see [8, 15]). Usually the authors consider optimization problems
of the form
max/minG(x); subject to x ∈ X,
where G or/and X are defind by fuzzy terms. Then they are searching for a
crisp x∗ which (in certain) sense maximizes G under the (fuzzy) constraints
X. For example, fuzzy linear programming (FLP) problems are stated as
[10]
max/min G(x) := c̃1 x1 + · · · + c̃n xn
(1)
< b̃ , i = 1, . . . , m,
subject to ãi1 x1 + · · · + ãin xn ∼
i
where x ∈ IRn is the vector of crisp decision variables, ãij , b̃i and c̃j are fuzzy
quantities, the operations addition and multiplication by a real number of
fuzzy quantities are defined by Zadeh’s extension principle [13], the inequality
< is given by a certain fuzzy relation, G is to be maximized in
relation ∼
the sense of a given crisp inequality relation between fuzzy quantities, and
the (implicite) X is a fuzzy set describing the concept ”x satisfies all the
constraints”.
Fullér and Zimmermann [7] interpreted FLP problems (1) with fuzzy coefficients and fuzzy inequality relations as multiple fuzzy reasoning schemes,
where the antecedents of the scheme correspond to the constraints of the
FLP problem and the fact of the scheme is the objective of the FLP problem.
Their solution process consists of two steps: first, for every decision variable
x ∈ IRn , compute the (fuzzy) value of the objective function, M AX(x), via
sup-min convolution of the antecedents/constraints and the fact/objective,
then an (optimal) solution to FLP problem is any point which produces a
maximal element of the set {M AX(x) | x ∈ IRn }. This approach has been
extended to fuzzy multiobjective programming problems by Carlsson and
Fullér in [4]. Unlike in (1) the fuzzy value of the objective function G(x)
may not be known for any x ∈ IRn . In many cases we are able to describe
the causal link between x and G(x) linguistically using fuzzy if-then rules.
In this paper we consider a new statement of fuzzy optimization problems,
namely
max/minX G; subject to {#1 , . . . , #m },
(2)
1
where x1 , . . . , xn are linguistic variables, and
#i : if x1 is Ai1 and . . . and xn is Ain then G is Ci ,
constitutes the only knowledge available about the values of G, and Aij and
Ci are fuzzy numbers.
Generalizing the fuzzy reasoning approach introduced in [4, 7] we determine the crisp value of G at y ∈ X by Tsukamoto’s fuzzy reasoning method,
and obtain an optimal solution to (2) by solving the resulting (usually nonlinear) optimization problem
max/min G(y), subject to y ∈ X.
We illustrate the proposed method by several examples.
2
Tsukamoto’s inference mechanism
The use of fuzzy sets provides a basis for a systematic way for the manipulation of vague and imprecise concepts. In particular, we can employ fuzzy sets
to represent linguistic variables. A linguistic variable [13] can be regarded
either as a variable whose value is a fuzzy number or as a variable whose
values are defined in linguistic terms.
Definition 2.1 A linguistic variable is characterized by a quintuple
(x, T (x), U, G, M )
in which x is the name of variable; T (x) is the term set of x, that is, the
set of names of linguistic values of x with each value being a fuzzy number
defined on U ; G is a syntactic rule for generating the names of values of x;
and M is a semantic rule for associating with each value its meaning. The
family of all fuzzy (sub)sets in U is denoted by F(U ).
We will use the following parametrized standard fuzzy partition of the
unit inteval.
Suppose that U = [0, 1] and T (x) consists of K + 1, K ≥ 2, terms, (see
Figure 1)
T = {small1 , around 1/K, around 2/K, . . . , around (K-1)/K, bigK }
which are represented by triangular membership functions {A1 , . . . , AK+1 }
of the form
A1 (u) = [small1 ](u) =
!
1 − Ku if 0 ≤ u ≤ 1/K
0
otherwise
2
(3)
1 A1
AK
Ak
A2
AK+1
1/2
1/K
2/K (k-1)/K k/K (k+1)/K
(K-1)/K
1
Figure 1: Standard fuzzy partition of [0, 1] with (K + 1) terms.




Ku − k + 1 if (k − 1)/K ≤ u ≤ k/K
Ak (u) = [around k/K](u) =  k + 1 − Ku if k/K ≤ u ≤ (k + 1)/K

 0
otherwise
for 1 ≤ k ≤ (K − 1), and
AK+1 (u) = [bigK ](u) =
!
Ku − K + 1 if (K − 1)/K ≤ u ≤ 1
0
otherwise
(4)
(5)
If K = 1 then the fuzzy partition for the [0,1] interval consists of two linguistic
terms {small, big} which are defined by
small(t) = 1 − t,
big(t) = t, t ∈ [0, 1].
(6)
Suppose that U = [0, 1] and T (x) consists of 2K + 1, K ≥ 2, terms,
T = {small1 , . . . , smallK = small, big0 = big, big1 , . . . , bigK }
which are represented by triangular membership functions as
smallk (u) =
for k ≤ k ≤ K,
!
1−
0
K
u
k

 u−k/K
bigk (u) = 
1−k/K
0
if 0 ≤ u ≤ k/K
otherwise
if k/K ≤ u ≤ 1
otherwise
(7)
(8)
for 0 ≤ k ≤ K − 1.
A fuzzy set A in X is called a fuzzy point if there exists a y ∈ X such
that A(t) = 1 if t = y and A(t) = 0 otherwise. We will use the notation
A = ȳ. Fuzzy points are used to represent crisp values of linguistic variables.
If x is a linguistic variable in the universe of discourse X and y ∈ X then
3
1
small1
smallk
1/K
big1
bigk
1
k/K
Figure 2: Fuzzy partition for G.
we simple write ”x = y” or ”x is ȳ” to indicate that y is a crisp value of the
linguistic variable x.
Triangular norms were introduced by Schweizer and Sklar [11] to model
the distances in probabilistic metric spaces. In fuzzy sets theory triangular
norms are extensively used to model the logical connective and.
Definition 2.2 A mapping
T : [0, 1] × [0, 1] → [0, 1]
is a triangular norm (t-norm for short) iff it is symmetric, associative, nondecreasing in each argument and T (a, 1) = a, for all a ∈ [0, 1].
The three basic t-norms are: (i) minimum: T (a, b) = min{a, b}, (ii)
L
# ukasiewicz: T (a, b) = max{a + b − 1, 0}, and (iii) product (or probabilistic):
T (a, b) = ab.
We briefly describe Tsukamoto’s fuzzy reasoning method [12]. Consider
the following fuzzy inference system,
#1 :
if x1 is A11 and . . . and xn is A1n then
z is C1
...
#m :
if x1 is Am1 and . . . and xn is Amn then z is Cm
Input:
x1 is ȳ1 and . . . and xn is ȳn
Output:
z0
where Aij ∈ F(Uj ) is a value of linguistic variable xj defined in the universe
of discourse Uj ⊂ IR, and Ci ∈ F(W ) is a value of linguistic variable z
defined in the universe W ⊂ IR for i = 1, . . . , m and j = 1, . . . , n. We also
suppose that W is bounded and each Ci has strictly monotone (increasing
or decreasing) membership function on W . The procedure for obtaining the
crisp output, z0 , from the crisp input vector y = {y1 , . . . , yn } and fuzzy
rule-base # = {#1 , . . . , #m } consists of the following three steps:
4
A12
A11
C1
!1
z1
A21
C2
A22
!2
z2
A31
x1
A32
C3
x2
min
z3
!3
Figure 3: Illustration of Tsukamoto’s inference mechanism.
• We find the firing level of the i-th rule as
αi = T (Ai1 (y1 ), . . . , Ain (yn )), i = 1, . . . , m,
(9)
where T usually is the minimum or the product t-norm.
• We determine the (crisp) output of the i-th rule, denoted by zi , from
the equation αi = Ci (zi ), that is,
zi = Ci−1 (αi ), i = 1, . . . , m,
where the inverse of Ci is well-defined because of its strict monotonicity.
• The overall system output is defined as the weighted average of the
individual outputs, where associated weights are the firing levels. That
is,
−1
α1 z1 + · · · + αm zm
α1 C1−1 (α1 ) + · · · + αm Cm
(αm )
z0 =
=
αm + · · · + αm
α1 + · · · + αm
i.e. z0 is computed by the discrete Center-of-Gravity method.
If W = IR then all linguistic values of x1 , . . . , xn also should have strictly
monotone membership functions on IR (that is, 0 < Aij (x) < 1 for all x ∈ IR),
5
Figure 4: Sigmoid membership functions for ”z is small” and ”z is big”.
because Ci−1 (1) and Ci−1 (0) do not exist. In this case x1 , . . . , xn and z usually
have sigmoid membership functions of the form
big(t) =
1
,
1 + exp(−b(t − c))
small(t) =
1
1 + exp(b# (t − c# ))
where b, b# > 0 and c, c# > 0.
3
Optimization under fuzzy if-then rules
Let G: IRn → IR be a function and let X ⊂ IRn . A constrained optimization
problem can be stated as
min G.
X
In many practical cases the function G is not known exactly. In this paper
we consider the following fuzzy optimization problem
min G; subject to {#1 , . . . , #m },
X
(10)
where x1 , . . . , xn are linguistic variables, and the only available knowledge
about the values of G is given as a block fuzzy if-then rules of the form
#i : if x1 is Ai1 and . . . and xn is Ain then G is Ci ,
here Aij are fuzzy numbers (with continuous membesrhip function) representing the linguistic values of xi defined in the universe of discourse Uj ⊂ IR; and
Ci , i = 1, . . . , m, are linguistic values (with strictly monotone and continuous
membership functions) of the objective function G defined in the universe
W ⊂ IR. To find a fair solution to the fuzzy optimization problem (10) we
first determine the crisp value of the objective function G at y ∈ X from the
fuzzy rule-base # using Tsukamoto’s fuzzy reasoning method as
G(y) :=
−1
α1 C1−1 (α1 ) + · · · + αm Cm
(αm )
α1 + · · · + αm
6
where the firing levels, αi = T (Ai1 (y1 ), . . . , Ain (yn )), i = 1, . . . , m, are computed according to (9). To determine the firing level of the rules, we suggest
the use of the product t-norm (to have a smooth output function).
In this manner our constrained optimization problem (10) turns into the
following crisp (usually nonlinear) mathematical programmimg problem
min G(y); subject to y ∈ X.
The same principle is applied to constrained maximization problems
max G; subject to {#1 , . . . #m },
X
(11)
Remark 3.1 If X is a fuzzy set in U1 × · · · × Un ⊂ IRn with membership
function µX (e.g. given by soft constraints as in [14]) and W = [0, 1] then
following Bellman and Zadeh [1] we define the fuzzy solution to problem (11)
as
D(y) = min{µX (y), G(y)}, for y ∈ U1 × · · · × Un ,
and an optimal (or maximizing) solution, y ∗ , is determined from the relationship
D(y ∗ ) =
sup
D(y)
(12)
y∈U1 ×···×Un
Example 1 Consider the optmization problem
min G; subject to y ∈ X = {(y1 , y2 ) ∈ U1 × U2 | y1 + y2 = 1/2}
(13)
where U1 = U2 = [0, 1], and
#1 : if x1 is small and x2 is small then G is small,
#2 : if x1 is small and x2 is big then G is big,
and the universe of discourse for the linguistic value of G is also the unit
interval [0, 1] (see Figure 4). We will compute the firing levels of the rules
by the product t-norm. Let the membership functions in the rule-base # be
defined by (6). Let [y1 , y2 ] ∈ [0, 1] × [0, 1] be an input vector to the fuzzy
system. Then the firing leveles of the rules are
α1 = (1 − y1 )(1 − y2 ),
α2 = (1 − y1 )y2 ,
It is clear that if y1 = 1 then no rule applies because α1 = α2 = 0. So we can
exclude the value y1 = 1 from the set of feasible solutions. The individual
rule outputs are
z1 = 1 − (1 − y1 )(1 − y2 ),
7
z2 = (1 − y1 )y2 ,
x1 is small
1
!1
z1
1
x2 is big
x1 is small
y1
G is small
x2 is small
y2
1
1
1
G is big
product
!2
z2
1
Figure 5: Illustration of Example 1.
and, therefore, the overall system output is
(1 − y1 )(1 − y2 )(1 − (1 − y1 )(1 − y2 )) + (1 − y1 )y2 (1 − y1 )y2
= y1 +y2 −2y1 y2
(1 − y1 )(1 − y2 ) + (1 − y1 )y2
Thus our original fuzzy problem
min G; subject to {#1 , #2 },
X
turns into the following crisp nonlinear mathematical programming problem
min (y1 + y2 − 2y1 y2 )
subject to y1 + y2 = 1/2, 0 ≤ y1 < 1, 0 ≤ y2 ≤ 1.
which has the optimal solution y1∗ = y2∗ = 1/4 and its optimal value is G(y ∗ ) =
3/8.
It is clear that if there were no other constraints on the crisp values of x1
and x2 then the optimal solution to (13) would be y1∗ = y2∗ = 0 with G(y ∗ ) = 0.
Example 1 clearly shows that we can not just choose the rule with the
smallest consequence part (the first first rule) and fire it with the maximal
firing level (α1 = 1) at y ∗ ∈ [0, 1], and take y ∗ = (0, 0) as an optimal solution
to (10).
The rules represent our knowledge-base for the fuzzy optimization problem. The fuzzy partitions for lingusitic variables will not ususally satisfy
ε-completeness, normality and convexity. In many cases we have only a few
8
x is small
G is small
!1
z1
1
x is big
y
1
G is big
z2
1
!2
1
Figure 6: Illustration of Example 2.
(and contradictory) rules. Therefore, we can not make any preselection procedure to remove the rules which do not play any role in the optimization
problem. All rules should be considered when we derive the crisp values of
the objective function.
We have chosen Tsukamoto’s fuzzy reasoning scheme, because the individual rule outputs are crisp numbers, and therefore, the functional relationship
between the input vector y and the system output G(y) can be relatively
easily identified (the only thing we have to do is to perform inversion operations).
Example 2 Consider the problem
max G
X
(14)
where X is a fuzzy susbset of the unit interval with membership function
µX (y) =
1
, y ∈ [0, 1],
1+y
and the fuzzy rules are
#1 : if x is small then G is small,
#2 : if x is big then G is big,
Let y ∈ [0, 1] be an input to the fuzzy system {#1 , #2 }. Then the firing
leveles of the rules are α1 = 1 − y, α2 = y. The individual rule outputs are
z1 = (1 − y)y, z2 = y 2 and, therefore, the overall system output is
G(y) = (1 − y)y + y 2 = y
9
Then according to (12) our original fuzzy problem (14) turns into the following crisp biobjective mathematical programming problem
max min{y,
1
}; subject to y ∈ [0, 1],
1+y
which has the optimal solution
∗
y =
√
5−1
2
and its optimal value is G(y ∗ ) = y ∗ .
Consider the following one-dimensional problem
max G; subject to {#1 , . . . , #K+1 },
X
(15)
where U = W = [0, 1],
#i : if x is Ai then G is Ci .
Ai is defined by equations (3, 4, 5), the linguistic values of G are selected
from (7, 8), i = 1, . . . , K + 1.
It is clear that exactly two rules fire with nonzero degree for any input
y ∈ [0, 1]. Namely, if
&
'
k−1 k
y ∈ Ik :=
,
,
K K
then #k and #k+1 are applicable, and therefore we get
−1
(Ky − k + 1)
G(y) = (k − Ky)Ck−1 (k − Ky) + (Ky − k + 1)Ck+1
for any k ∈ {1, . . . , K}. In this way the fuzzy maximization problem (15)
turns into K independent maximization problem
−1
(Ky − k + 1)}
max {max(k − Ky)Ck−1 (k − Ky) + (Ky − k + 1)Ck+1
k=1,...,K X∩Ik
If x ∈ IRn , with n ≥ 2 then a similar reasoning holds, with the difference that
we use the same fuzzy partition for all the lingusitic variables, x1 , . . . , xn , and
the number of applicable rules grows to 2n .
10
4
Summary
We have introduced a novel statement of fuzzy mathematical programming
problems and priveded a method for findig a fair solution to these problems.
We addressed mathematical programming problems in which the functional
relationship between the decision variables and the objective function is not
completely known. Our knowledge-base is assumed to consist only of a block
of fuzzy if-then rules, where the antecedent part of the rules contains some
linguistic values of the decision variables, and the consequence part consists of a linguistic value of the objective function. We suggested the use of
Tsukamoto’s fuzzy reasoning method to determine the crisp functional relationship between the objective function and the decision variables, and solve
the resulting (usually nonlinear) programming problem to find a fair optimal
solution to the original fuzzy problem.
The results of this paper can be extended to multiple objective optimization problems under fuzzy if-then rules. Furthermore, we can refine the fuzzy
rule-base by introducing new lingusitic variables modeling the linguistic dependencies between the variables and the objectives [2, 3, 5, 6]. These will
be the subjects of our future research.
References
[1] R.E.Bellman and L.A.Zadeh, Decision-making in a fuzzy environment,
Management Sci. 17, No 4, 1970, B141-B154.
[2] C.Carlsson and R.Fullér, Interdependence in fuzzy multiple objective
programming, Fuzzy Sets and Systems, 65(1994) 19-29.
[3] C.Carlsson and R.Fullér, Fuzzy if-then rules for modeling interdependencies in FMOP problems, in: Proceedings of EUFIT’94 Conference,
September 20-23, 1994 Aachen, Germany, Verlag der Augustinus Buchhandlung, Aachen, 1994 1504-1508.
[4] C.Carlsson and R.Fullér, Fuzzy reasoning for solving fuzzy multiple
objective linear programs, in: R.Trappl ed., Cybernetics and Systems
’94, Proceedings of the Twelfth European Meeting on Cybernetics and
Systems Research, World Scientific Publisher, London, 1994, vol.1, 295301.
[5] C.Carlsson and R.Fullér, Multiple Criteria Decision Making: The Case
for Interdependence, Computers & Operations Research, 22(1995) 251260.
11
[6] R.Felix, Relationships between goals in multiple attribute decision
making, Fuzzy sets and Systems, 67(1994) 47-52.
[7] R.Fullér and H.-J.Zimmermann, Fuzzy reasoning for solving fuzzy
mathematical programming problems, Fuzzy Sets and Systems
60(1993) 121-133.
[8] M.Inuiguchi, H.Ichihashi and H. Tanaka, Fuzzy Programming: A Survey of Recent Developments, in: Slowinski and Teghem eds., Stochastic
versus Fuzzy Approaches to Multiobjective Mathematical Programming
under Uncertainty, Kluwer Academic Publishers, Dordrecht 1990, pp
45-68
[9] A. Kusiak and J. Wang, Dependency analysis in constraint negotiation,
IEEE Transactions on Systems, Man, and Cybernetics, 25(1995) 13011313.
[10] H. Rommelfanger, Fuzzy linear programming and applications, European Journal of Operational Research, 92(1996) 512-527.
[11] B.Schweizer and A.Sklar, Associative functions and abstract semigroups, Publ. Math. Debrecen, 10(1963) 69-81.
[12] Y. Tsukamoto, An approach to fuzzy reasoning method, in: M.M.
Gupta, R.K. Ragade and R.R. Yager eds., Advances in Fuzzy Set Theory and Applications (North-Holland, New-York, 1979).
[13] L.A.Zadeh, The concept of linguistic variable and its applications to
approximate reasoning, Parts I,II,III, Information Sciences, 8(1975)
199-251; 8(1975) 301-357; 9(1975) 43-80.
[14] H.-J. Zimmermann, Description and optimization of fuzzy systems,
Internat. J. General Systems 2 (1975) 209-215.
[15] H.-J.Zimmermann, Fuzzy Mathematical Programming, in: Stuart C.
Shapiro ed., Encyclopedia of Artificial Intelligence, John Wiley & Sons,
Inc., Vol. 1, 1992 521-528.
12
Turku Centre for Computer Science
Lemminkäisenkatu 14
FIN-20520 Turku
Finland
http://www.tucs.abo.fi
University of Turku
• Department of Mathematical Sciences
Åbo Akademi University
• Department of Computer Science
• Institute for Advanced Management Systems Research
Turku School of Economics and Business Administration
• Institute of Information Systems Science
Download