FUZZY WEIGHTED AVERAGE
Analytical Solution
Pim van den Broek
Department of Computer Science, University of Twente, P.O. Box 217, 7500 AE Enschede, The Netherlands
Joost Noppen
Computing Department,University of Lancaster, Infolab21, Southdrive, Lancaster, LA1 4WA, U.K.
Keywords: Fuzzy weighted average, Membership functions.
Abstract: An algorithm is presented for the computation of analytical expressions for the extremal values of the α-cuts
of the fuzzy weighted average, for triangular or trapeizoidal weights and attributes. Also, an algorithm for
the computation of the inverses of these expressions is given, providing exact membership functions of the
fuzzy weighted average. Up to now, only algorithms exist for the computation of the extremal values of the
α-cuts for a fixed value of α. To illustrate the power of our algorithms, they are applied to several examples
from the literature, providing exact membership functions in each case.
1 INTRODUCTION
In multiple criteria decision making problems,
values of decision variables are weighted averages
of criteria ratings. Often the rating criteria and their
corresponding importance weights are vague, and
are therefore represented by fuzzy numbers. Then
the values of the decision variables which are
determined by them are fuzzy numbers as well; they
are fuzzy weighted averages of the criteria ratings.
The standard approach to the calculation of fuzzy
weighted averages (Chiao, 2000) (Dong & Wong,
1987) (Guh, Hon & Lee, 2001) (Guh, Hon, Wang &
Lee, 1996) (Guu, 2002) (Kao & Liu, 2001) (Lee &
Park, 1997) (Liou & Guu, 2002) (Liou & Wang,
1992) is to apply the extension principle to the
following weighted average function:
wa(x
1
,..,x
n
,w
1
,..,w
n
)=
==
n
1i
i
n
1i
ii
w)w*(x (1)
Here x
1
,..,x
n
are real numbers, called attributes,
and w
1
,..,w
n
are non–negative real numbers, called
weights.
Let A
1
,..,A
n
and W
1
,..,W
n
be triangular or
trapezoidal fuzzy numbers. Their α-cuts, denoted by
[A
1
]
α
,.., [A
n
]
α
, [W
1
]
α
,.., [W
n
]
α
, are closed intervals;
the elements of [W
1
]
α
,.., [W
n
]
α
are non-negative. The
α-cut of the fuzzy weighted average of attributes
A
1
,..,A
n
with weights W
1
,..,W
n
is given by the set
{wa(x
1
,..,x
n
,w
1
,..,w
n
) | x
1
[A
1
]
α
,..,x
n
[A
n
]
α
,
w
1
[W
1
]
α
,..,w
n
[W
n
]
α
} (2)
This set is a closed interval and is computed by
computing its extremal values. Algorithms for
computing these extremal values, for fixed value of
α, are given in the literature. In this paper we will
give an algorithm to solve this problem analytically,
i.e. we will show how to compute analytical
expressions for the extremal values of eq. (2). Also
an algorithm for the computation of the inverses of
these expressions is given; this enables us to
calculate analytically the exact membership
functions of the fuzzy weighted average.
In Section 2 we will present an algorithm for the
computation of the extremal values of eq. (2) for a
fixed value of α, which is based on previous
algorithms. This algorithm has an intuitive
geometrical interpretation, and therefore it can be
easily understood. In Section 3 this algorithm is
generalised to give analytical solutions, for
triangular or trapeizoidal weights and attributes, and
it is shown how these solutions can be reversed to
give exact membership functions of the fuzzy
weighted average. In Section 4, the power of the
algorithm is demonstrated by applying it to a
31
van den Broek P. and Noppen J. (2009).
FUZZY WEIGHTED AVERAGE - Analytical Solution.
In Proceedings of the International Joint Conference on Computational Intelligence, pages 31-38
DOI: 10.5220/0002318900310038
Copyright
c
SciTePress
number of examples, giving exact membership
functions of the fuzzy weighted average in all cases.
2 COMPUTATION OF α-CUTS OF
THE FUZZY WEIGHTED
AV E R A GE
Let us start with the computation of the minimal
value of the set of eq. (2). It is shown by Dong and
Wong (1987) and by Liou and Wang (1992) that the
minimum of eq. (2) is among the elements where x
i
is equal to min[A
i
]
α
and w
i
equals either min[W
i
]
α
or
max[W
i
]
α
. So the problem can be reformulated as
the problem of finding the minimal element of the
finite set
{
=
n
1i
(min[A
i
]
α
* w
i
)
=
n
1i
w
i
|w
1
{min[W
1
]
α
,
max[W
1
]
α
},..,w
n
{min[W
n
]
α
,max[W
n
]
α
}} (3)
Let Q be the set of all 2
n
mappings from the set
{1,2,..,n} to the set {+,–}. These mappings can be
seen as states. A state is a partition of the attributes
in attributes with maximal weight and attributes with
minimal weight. The set of eq. (3) can be denoted as
{
=
n
1i
(min[A
i
]
α
*W
i
α
(q))
=
n
1i
W
i
α
(q)|qQ} (4)
where W
i
α
(q) stands for max[W
i
]
α
if q(i) = + and for
min[W
i
]
α
if q(i) = –.
We define the mapping FWA from states to the
real numbers by
FWA(q) =
=
n
1i
(min[A
i
]
α
*W
i
α
(q))
=
n
1i
W
i
α
(q) (5)
Now the problem has become the problem of
finding the state q for which FWA(q) is minimal.
The first step of the algorithm consists of sorting the
set {min[A
i
]
α
|1<=i<=n}. From now on we assume
this set is sorted. As a consequence, min[A
1
]
α
<=
FWA(q) <= min[A
n
]
α
for all qQ. Now let us
consider what happens when q changes such that, for
some i with 1<=i<=n, q(i) changes from – into +.
This change means that the weight of min[A
i
]
α
increases, whereas the other weights remain the
same. As a consequence, FWA(q) will change in
such a way that it moves towards min[A
i
]
α
: the
absolute value of FWA(q) – min[A
i
]
α
decreases, but
the sign of FWA(q) – min[A
i
]
α
remains the same.
Let q
min
be the state for which FWA takes its
minimal value. Then q
min
(i) = + if min[A
i
]
α
<
FWA(q
min
) and q
min
(i) = – if min[A
i
]
α
> FWA(q
min
).
We know that q
min
(1) = + and q
min
(n) = –. Our
algorithm to obtain q
min
is as follows. Let q
i
be the
element of Q defined by q
i
(j) = + for 1<=j<i and
q
i
(j) = – for i<=j<=n. Then q
min
= q
i
for some i with
2<=i<=n. To determine q
min
, start with state q
2
. Let
us consider a situation with n=6, which is depicted
as follows:
•---- •---- •--- --- •---- •---- •
1+ 2- 3- Fwa 4- 5- 6-
Here the first line shows the real axis with
min[A
i
]
α
for i=1..6, and the fuzzy weighted average
(Fwa) in the present state q
2
. The second line shows
the indices i, and whether the corresponding weights
are maximal (+) or minimal (-) in the present state.
We have to change the state in such a way that Fwa
becomes as small as possible. Changing the state
means changing the weights from maximal to
minimal or vice versa. Changing weights 1,4,5, or 6
would increase Fwa. Changing weights 2 or 3
decreases Fwa. Suppose we change weight 3. The
value of Fwa decreases, but remains greater than
min[A
3
]
α
. Next we change weight 2. The value of
Fwa is further decreased, and can become less than
min[A
3
]
α
.In this case Fwa would decrease even
further by restoring the original weight 3. This
situation would have been avoided if we had first
changed weight 2. If this causes Fwa to become less
than min[A
3
]
α
, the minimum is reached in state q
3
.
Otherwise, weight 3 is changed as well, and the
minimum is reached in state q
4
. So it is important
that the weight changes are performed from left to
right. In (Liou & Wang, 1992) that weight is
changed first that causes Fwa to decrease most,
which is incorrect.
Let us now return to the general case. The initial
state is q
2
. Compare FWA(q
2
) with min[A
2
]
α
. If
FWA(q
2
) <= min[A
2
]
α
then q
min
= q
2
, else continue
with q
3
. If FWA(q
3
) <= min[A
3
]
α
then q
min
= q
3
, else
continue with q
4
, et cetera. This iteration will
terminate, since FWA(q
n
) <= min[A
n
]
α
. So, the
algorithm to compute the minimum of FWA(q) for
qQ is
sort { min[A
i
]
α
| 1<=i<=n};
i = 2;
while (FWA(q
i
) > min[A
i
]
α
) i = i+1;
return FWA(q
i
);
The computation of the maximal value of the set
of eq. (2) is quite similar. We now assume that the
set {max[A
i
]
α
|1<=i<=n} is sorted. Note that this
ordering may be different from the one above. In the
definition of FWA (eq. (5)) we replace min[A
i
]
α
by
max[A
i
]
α
. Let q
max
be the value of q for which
IJCCI 2009 - International Joint Conference on Computational Intelligence
32
FWA(q) is maximal. Then q
max
(i) = – if max[A
i
]
α
<
FWA(q
max
) and q
max
(i) = + if max[A
i
]
α
> FWA(q
max
).
In particular, q
max
(1) = – and q
max
(n) = +. Let q
i
be
the element of Q defined by q
i
(j) = – for 1<=j<=i
and q
i
(j) = + for i<j<=n. Then q
max
= q
i
for some i
with 1<=i<=n–1. To determine q
max
, start with q
(n–1)
.
Compare FWA(q
(n–1)
) with max[A
(n-1)
]
α
. If FWA(q
(n–
1)
) >= max[A
(n-1)
]
α
then q
max
= q
(n–1)
, else continue
with q
(n–2)
, et cetera. So, the algorithm to compute
the maximum of FWA(q) for qQ is
sort { max[A
i
]
α
|1<=i<=n};
i = n–1;
while (FWA(q
i
) < max[A
i
]
α
) i = i–1;
return FWA(q
i
);
Let us illustrate the algorithm with a small
example, with n=6.
[A
i
]
α
[W
i
]
α
FWA(q
i
) [A
i
]
α
FWA(q
i
)
----- ----- --------- ---- ----------
[1,4] [1,3] [1,4] 109/16
[2,6] [1,3] 23/8 [4,5] 99/14
[3,7] [1,3] 27/10 [2,6] 87/12
[4,5] [1,3] 33/12 [3,7] 73/10
[5,8] [1,3] 41/14 [5,8] 57/8
[6,9] [1,3] 51/16 [6,9]
In this first table the α-cuts [A
i
]
α
and [W
i
]
α
for
some fixed α are shown in the first and the second
column, sorted according to min[A
i
]
α
. The third
column shows the values of FWA(q
i
). The minimum
is seen to be 27/10, being the first value from above
in the fourth column which is not greater than the
corresponding value for min[A
i
]
α
(in the first
column). In the fourth table the α-cuts [A
i
]
α
are
sorted according to max[A
i
]
α
. The fourth column
shows the values of FWA(q
i
). The maximum is seen
to be 73/10, being the first value from below in the
fourth column which is not less than the
corresponding value for max[A
i
]
α
.
The extremal values obtained above could also
have been found by taking the smallest resp. highest
values in the fourth columns of the tables above; this
is indeed the approach of Chiao (2000). So
apparently we did not gain anything, except some
geometrical insight, as explained above. However,
as it will turn out in the next section, for obtaining
an analytical solution it is crucial not to compare
values of the fourth column (FWA(q
i
) or FWA(q
i
))
among each other, but instead compare elements of
the fourth column with elements in the second
column ([A
i
]
α
).
The computational complexity of our algorithm
is O(n*ln(n)), due to the first step, the sorting of the
elements. The second phase, whose computational
complexity is O(n), could be optimized by replacing
the linear search by binary search, resulting in
computational complexity O(ln(n)), as in (Lee &
Park, 1997); the overall computational complexity
would remain O(n*ln(n)), however. Guu (2002) has
given an algorithm with computational complexity
O(n), in which the sorting of the elements is
avoided. We have tried to keep our algorithm as
simple as possible, in order to be able to generalize it
to obtain an analytical solution.
3 ANALYTICAL SOLUTION FOR
THE FUZZY WEIGHTED
AVERAGE
In this section we will show that the algorithm given
in the previous section can be generalized to obtain
an analytical solution for the membership function
of the fuzzy weighted average. There have been two
previous attempts to obtain an analytical solution.
Dong and Wong (1987) obtained an analytical
solution for two small examples. A general method
was not given, however. Their approach was to
consider the partial derivatives with respect to w
i
of
eq. (1) in order to obtain the extremal values of this
equation. Kao and Liu (2001) followed the same
approach, and applied it to the same two examples,
but also failed to provide a general solution. Our
approach is different. We will generalize the
algorithm of the previous section, by considering α
to be a parameter which ranges over the interval
[0,1], instead of being some fixed value. Then,
taking the values of the fuzzy weights and fuzzy
attributes to be triangular and trapezoidal fuzzy
numbers, the extremal values of their α-cuts are
linear functions of α.
A trapezoidal fuzzy number will be denoted as a
4–tuple (a,b,c,d) where a,b,c and d are real numbers
with a<=b<=c<=d. The trapezoidal number (a,b,c,d)
has membership function μ, given by
μ(x) = 0, if x<=a
μ(x) = (x – a)/(b – a), if a<x<b
μ(x) = 1, if b<=x<=c
μ(x) = (d – x)/(d – c), if c<x<d
μ(x) = 0, if x>=d
The restriction of μ to [a,b] and [c,d] will be
referred to as the left part resp. the right part of the
trapezoidal number. A triangular fuzzy number is a
FUZZY WEIGHTED AVERAGE - Analytical Solution
33
trapezoidal number of the form (a,b,b,c), and will be
denoted by the 3–tuple (a,b,c).
Let the fuzzy weights be given by W
i
=
(w
i
,x
i
,y
i
,z
i
) and the fuzzy attributes by A
i
=
(a
i
,b
i
,c
i
,d
i
). Then we have, for 0<=α<=1:
min[A
i
]
α
= a
i
+ α (b
i
– a
i
) (6a)
max[A
i
]
α
= d
i
α (d
i
– c
i
) (6b)
min[W
i
]
α
= w
i
+ α (x
i
– w
i
) (6c)
max[W
i
]
α
= z
i
α (z
i
– y
i
) (6d)
Our first aim is to find a function of α which is
the minimum of the set of eq. (4) for all α in the
interval [0,1]. The first step of the algorithm consists
of sorting the set of left sides of the attributes
{min[A
i
]
α
|1<=i<=n}. However, this sorting is the
same for each α only if these left sides do not
intersect. So, we compute all the values of α for
which two left sides intersect. Note that coinciding
left sides present no problem; therefore they are
considered not to intersect each other. Since each
left side is a linear function of α (eq. 6a), each pair
of left sides can intersect for at most one value of α
with 0<=α<=1. So, there can be at most n(n–1)/2
such intersections. In practice, however, it turns out
that there are only few intersections, if any at all.
The values of α where the intersections occur
partition the interval [0,1] in at most n(n–1)/2+1
subintervals.
On each of these subintervals the left parts of the
A
i
do not intersect and the set {min[A
i
]
α
|1<=i<=n}
can be sorted independent of α. We will consider
each of these subintervals separately. So, in this step
the problem has been reduced to the problem of
finding the minimum of the set of eq. (4) for all α in
some subinterval [min,max] of [0,1] where the
ordering of the set {min[A
i
]
α
|1<=i<=n} is sorted
independent of α.
The next step of the algorithm is to compare
FWA(q
2
) with min[A
2
]
α
. For values of α for which
FWA(q
2
) <= min[A
2
]
α
the minimum is FWA(q
2
), for
the other values of α the computation will continue
with q
3
. This is done by determining the values of α
with 0<=α<=1 for which FWA(q
2
) = min[A
2
]
α
. From
the definition of FWA (eq. (5)) it follows that this
equation can be written as:
=
n
1i
(min[A
i
]
α
*W
i
α
(q
2
))=min[A
2
]
α
*
=
n
1i
W
i
α
(q
2
) (7)
From the eqs. (6a-6d) we find that both sides of
this equation are second order polynomials in α.
Therefore, solving eq. (7) is trivial, and there are at
most two solutions. Those solutions partition the
interval [min,max] in at most three subintervals. On
each of these subintervals the result of the
comparison FWA(q
2
) <= min[A
2
]
α
is independent of
α. On intervals where FWA(q
2
) <= min[A
2
]
α
, the
analytical solution is obtained, which is equal to
FWA(q
2
). On intervals where FWA(q
2
) >=
min[A
2
]
α
, the computation continues in state q
3
.
Iteration of this process leads to the analytical
solution of the minimum of the set of eq. (4) for all α
in the interval [min,max]. This solution generally
consists of separate solutions for a finite number of
subintervals of [min,max]. Repeating this procedure
for each of the intervals which were determined in
the first step of the algorithm gives the analytical
solution of the minimum of the set of eq. (4) for all α
in the interval [0,1].
The algorithm can be summarized as follows:
Calculate the intersections of the
left sides of the attributes;
Partition [0,1] into subintervals
according to these intersections;
For each subinterval [min,max]
Adapt the numbering such that
{ min[A
i
]
α
|1<=i<=n} is sorted;
Exact solution on [min,max] is
Proc ([min,max], 2);
where
Proc is defined by
Proc (interval, i) ==
Partition the interval into
subintervals according to
solutions of FWA(q
i
) = min[A
i
]
α
;
On subintervals where FWA(q
i
) <=
min[A
i
]
α
the exact solution is
FWA(q
i
);
On subintervals where FWA(q
i
) >=
min[A
i
]
α
the exact solution is
Proc (subinterval, i+1);
Note that the key element in this algorithm is the
comparison of FWA(q
i
) with min[A
i
]
α
, which leads
to a second order polynomial equation to be solved.
An algorithm which compares values of FWA(q
i
) for
different values of i, would have led to a third order
polynomial equation, which is much more difficult
to solve.
The algorithm to calculate a function of α which
is the maximum of the set of eq. (4) for all α in the
interval [0,1] is quite similar. It can be summarized
as follows:
Calculate the intersections of the
right sides of the attributes;
Partition [0,1] into subintervals
according to these intersections;
IJCCI 2009 - International Joint Conference on Computational Intelligence
34
For each subinterval [min,max]
Adapt the numbering such that
o { max[A
i
]
α
|1<=i<=n} is
sorted;
Exact solution on [min,max] is
Proc ([min,max], n-1);
where
Proc is defined by
Proc (interval, i) ==
Partition the interval into
subintervals according to
solutions of FWA(q
i
) = min[A
i
]
α
;
On subintervals where FWA(q
i
) <=
min[A
i
]
α
the exact solution is
FWA(q
i
);
On subintervals where FWA(q
i
) >=
min[A
i
]
α
the exact solution is
Proc (subinterval, i–1);
The second aim in this section is to show that the
exact solutions for the minimum and maximum
values of the α-cuts of the fuzzy weighted average
can be inverted to give the exact membership
function of the fuzzy weighted average. First we will
show how to invert the exact solution for the
minimum values. In the preceding step of the
algorithm, the interval [0,1] has been partioned in a
finite number of subintervals, and on each
subinterval [min,max] the exact solution is given by
FWA(q) for some qQ. When the eqs. (6a-6b) are
substituted in eq. (5), we find that FWA(q) is a
function f of α which takes the form
f(α) = (aα
2
+bα+c)/(dα+e), (8)
where a,b,c,d,and e are real numbers. The inverse of
f is the exact left part of the membership function of
the fuzzy weighted average on the interval [f(min),
f(max)]; it can be computed by solving α from the
equation x = f(α), which can be written as
aα
2
+ (b – dx)α + c – ex = 0 (9)
Let us first consider the case where a 0. Here
the solution of eq. (9) is given by
μ(x )= (dx–
ex) 4a(c b) (dx
2
)/(2a) (10)
where the ambiguity in the sign can be solved with
the conditions
μ(f(min)) = min (11a)
μ(f(max))
= max (11b)
Next consider the case where a = 0 and dc eb.
Here the eq. (9) is solved by
μ(x) = (ex – c)/(b – dx) (12)
on the interval
[(b*min + c)/(d*min + e),
(b*max + c)/(d*max + e)] (13)
Finally consider the case where a = 0 and dc =
eb. In this case (bα + c)/(dα + e) is independent of α,
so the inverse does not exist. Then the membership
function is non–continuous in x = c/e. This occurs
for instance when all attributes and weights are crisp
numbers (i.e. of the form (a,a,a)), leading to a crisp
weighted average, whose membership function is
not continuous.
This shows that in each case the exact solution
for the minimum values of the α-cuts of the fuzzy
weighted average can be inverted, giving the exact
solution the left part of the membership function of
the fuzzy weighted average. The computation of the
exact solution of the right part of the membership
function is almost the same, the only difference
being that in the eqs. (8) and (13) the expressions for
the boundary values of the intervals should be
interchanged.
4 EXAMPLES
In this section we will apply our algorithms to derive
exact membership functions to a number of fuzzy
weighted averages which have appeared in the
literature. In each case, the fuzzy attributes and
fuzzy weights are listed, as well as their α-cuts. This
listing, and the assignment of indices from 1 to n, is
such that the fuzzy attributes are properly ordered.
For simplicity, there are no examples where their
are intersections of the left and/or right sides of the
attributes, thereby avoiding the overhead of
partioning the interval in subintervals and carrying
out the computation on all subintervals.
We have avoided the rounding of real numbers;
quotients and square roots have not been evaluated
to decimal form.
Example 1
For this example exact membership functions have
been derived by Dong and Wong (1987) and by Kao
and Liu (2001). There are 2 attributes and 2 weights;
all of these are triangular fuzzy numbers.
A
1
= (0,1,2) [A
1
]
α
= [α, 2–α]
A
2
= (2,3,4) [A
2
]
α
= [2+α, 4–α]
W
1
= (0,0.3,0.9) [W
1
]
α
= [0.3α, 0.9–0.6α]
W
2
= (0.4,0.7,1) [W
2
]
α
= [0.4+0.3α, 1–0.3α]
FUZZY WEIGHTED AVERAGE - Analytical Solution
35
Since there are only two attributes, and there are
no intersections, the calculation is trivial: the
minimum of the α-cuts of the fuzzy weighted
average is FWA(q
2
) = (– 0.3α
2
+ 1.9α + 0.8)/(–0.3α
+ 1.3) and the maximum is FWA(q
1
) = –1.6α + 4.
This leads to the following membership function
for the fuzzy weighted average:
μ(x) = 0 if x <= 8/13
μ(x) = x/2 + 19/6 – (5/3)
4.5
7
0.42x 0.09x
2
+
if 8/13 <= x <= 12/5
μ(x) = –5x/8 + 5/2 if 12/5 <= x <= 4
μ(x) = 0 if x >= 4
Example 2
For this example exact membership functions have
been derived by Dong and Wong (1987) and by Kao
and Liu (2001). The example is also treated by Guh,
Hon and Lee (2001), by Guh, Hon, Wang and Lee
(1996) and by Liou and Wang (1992). There are 3
attributes and 3 weights; all of these are triangular
fuzzy numbers.
A
1
= (0,1,2) [A
1
]
α
= [α, 2–α]
A
2
= (2,3,4) [A
2
]
α
= [2+α, 4–α]
A
3
= (4,5,6) [A
3
]
α
= [4+α, 6–α]
W
1
= (0,0.3,0.9) [W
1
]
α
= [0.3α, 0.9–0.6α]
W
2
= (0.4,0.7,1) [W
2
]
α
= [0.4+0.3α, 1–0.3α]
W
3
= (0.6,0.8,1) [W
2
]
α
= [0.6+0.2α, 1–0.2α]
First, we calculate the minimum of the α-cuts of
the fuzzy weighted average. FWA(q
2
) = (–0.1α
2
+
3.3α + 3.2)/(– 0.1α + 1.9). FWA(q
2
) <= 2+α for
0<=α<=3/8, so FWA(q
2
) is the minimum for
0<=α<=3/8. FWA(q
2
) >= 2+α for 3/8<=α<=1. For
3/8<=α<=1 the minimum is FWA(q
3
) = (– 0.7α
2
+
2.7α + 4.4)/(– 0.7α + 2.5).
Next we calculate the maximum of the α-cuts of
the fuzzy weighted average. FWA(q
2
) = (–0.4α
2
0.8α + 7.6)/(0.4α + 1.4). FWA(q
2
) >= 4–α for
0<=α<=1, so FWA(q
2
) is the maximum for
0<=α<=1.
This leads to the following membership function for
the fuzzy weighted average:
μ(x) = 0 if x <= 32/19
μ(x) = x/2 + 16.5 – 5
12.17 0.1x 0.01x
2
+
if 32/19 <= x <= 19/8
μ(x) = x/2 + 27/14 – (5/7)
19.61 3.22x 0.49x
2
+
if 19/8 <= x <= 32/9
μ(x) = –x/2 – 1 + (5/4)
12.8 1.6x 0.16x
2
+
if 32/9 <= x <= 38/7
μ(x) = 0 if x >= 38/7
Example 3
This example is treated by Guh, Hon, Wang and Lee
(1996). There are 4 attributes and 4 weights; all of
these are triangular fuzzy numbers.
A
1
= (0,1,2) [A
1
]
α
= [α,2–α]
A
2
= (2,3,4) [A
2
]
α
= [2+α, 4–α]
A
3
= (4,5,6) [A
3
]
α
= [4+α, 6–α]
A
4
= (5,6,7) [A
4
]
α
= [5+α, 7–α]
W
1
= (0,0.3,0.9) [W
1
]
α
= [0.3α,0.9–0.6α]
W
2
= (0.4,0.7,1) [W
2
]
α
= [0.4+0.3α, 1–0.3α]
W
3
= (0.6,0.8,1) [W
3
]
α
= [0.6+0.2α, 1–0.2α]
W
4
= (0.5,0.8,1) [W
4
]
α
= [0.5+0.3α, 1–0.2α]
First, we calculate the minimum of the α-cuts of
the fuzzy weighted average. FWA(q
2
) = (0.2α
2
+
5.3α + 5.7)/(0.2α + 2.4). FWA(q
2
) <= 2+α for
0<=α<=1. FWA(q
3
) = (–0.4α
2
+ 4.7α + 6.9)/(–0.4α +
3). FWA(q
3
) >= 4+α for 0<= α<=1, so FWA(q
3
) is
the minimum for 0<= α<=1.
Next, we calculate the maximum of the α-cuts of
the fuzzy weighted average. FWA(q
3
) = (–0.6α
2
0.4α + 12.2)/(0.6α + 2). FWA(q
3
) >= 6–α for
0<=α<=0.1, so FWA(q
3
) is the maximum for
0<=α<=0.1. FWA(q
3
) <= 6–α for 0.1<=α<=1.
FWA(q
2
) = (–0.2α
2
– 3.2α + 14.6)/(0.2α + 2.4).
FWA(q
2
) >= 4–α for 0.1<=α<=1, so FWA(q
2
) is the
maximum for 0.1<=α<=1.
This leads to the following membership function
for the fuzzy weighted average:
μ(x) = 0 if x <= 23/10
μ(x) = x/2 + 47/8 – (5/4)
33.13 1.04x 0.16x
2
+
if 23/10 <= x <= 112/26
μ(x) = – x/2 – 8 + (5/2)
21.92 0.64x 0.04x
2
+
if 112/26 <= x <= 59/10
μ(x) = –x/2 – 1/3 + (5/6)
29.44 4.32x 0.36x
2
+
if 59/10 <= x <= 61/10
μ(x) = 0 if x >= 61/10
Example 4
This example is treated by Lee and Park (1997).
There are 5 attributes and 5 weights; all of these are
triangular fuzzy numbers.
A
1
= (1,2,3) [A
1
]
α
= [1+α, 3–α]
A
2
= (2,5,7) [A
2
]
α
= [2+3α, 7–2α]
A
3
= (6,8,9) [A
3
]
α
= [6+2α, 9–α]
A
4
= (7,9,10) [A
4
]
α
= [7+2α, 10–α]
A
5
= (10,11,12) [A
5
]
α
= [10+α, 12–α]
W
1
= (1,2,5) [W
1
]
α
= [1+α, 5–3α]
W
2
= (2,2.5,3) [W
2
]
α
= [2+α/2, 3–α/2]
W
3
= (4,7,9) [W
3
]
α
= [4+3α, 9–2α]
W
4
= (3,4,7) [W
4
]
α
= [3+α, 7–3α]
IJCCI 2009 - International Joint Conference on Computational Intelligence
36
W
5
= (2,3,4) [W
5
]
α
= [2+α, 4–α]
First, we calculate the minimum of the α-cuts of
the fuzzy weighted average. FWA(q
2
) = (7.5α
2
+
60α + 74)/(2.5α + 16). FWA(q
2
) >= 2+3α for
0<=α<=1. FWA(q
3
) = (4.5α
2
+ 61α + 76)/(1.5α +
17). FWA(q
3
) <= 6+2α for 0<=α<=1, so FWA(q
3
) is
the minimum for 0<=α<=1.
Next, we calculate the maximum of the α-cuts of
the fuzzy weighted average. FWA(q
4
) = (–5α
2
+
15.5α + 131)/(4.5α + 14). FWA(q
4
) <= 10–α for
0<=α<=1. FWA(q
3
) = (–α
2
– 28.5α + 171)/(0.5α +
18). FWA(q
3
) >= 9–α for 0 <= α <= 9
3
–15, so
FWA(q
3
) is the maximum for 0<=α <= 9
3
–15.
FWA(q
3
) <= 9–α for 9
3
–15<=α<=1. FWA(q
2
) =
(4α
2
– 78.5α + 216)/(–4.5α + 23). FWA(q
2
) >= 7–2α
for 9
3
–15<=α<=1, so FWA(q
2
) is the maximum
for 9
3
–15 <= α <= 1.
These results are in accordance with the results
by Lee and Park in [7] for α=0 and α=1. However,
their claim that the fuzzy weighted average is a
fuzzy triangular number is incorrect. Instead, the
membership function of the fuzzy weighted average
is calculated to be:
μ(x) = 0 if x <= 76/17
μ(x) = x/6 – 61/9 + (1/9)
2353 123x 2.25x
2
++
if 76/17 <= x <= 283/37
μ(x) = –9x/16 + 157/16 –
(1/8)
2706.25 338.5x 20.25x
2
+
if 283/37 <= x <= 24–9
3
μ(x) = –x/4 – 57/4 +
(1/2)
1496.25 43.5x 0.25x
2
+
if 24–9
3
<= x <= 19/2
μ(x) = 0 if x >= 19/2
Example 5
This example is treated by Kao and Liu (2001).
There are 3 attributes and 3 weights; the weights are
are triangular fuzzy numbers and the attributes are
trapeizoidal fuzzy numbers.
A
1
= (–2,1,2,3) [A
1
]
α
= [–2+3α, 3–α]
A
2
= (1,2,3,5) [A
2
]
α
= [1+α, 5–2α]
A
3
= (2,3,6,7) [A
3
]
α
= [2+α, 7–α]
W
1
= (0,0.3,0.9) [W
1
]
α
= [0.3α, 0.9–0.6α]
W
2
= (0.4,0.7,1) [W
2
]
α
= [0.4+0.3α, 1–0.3α]
W
3
= (0.6,0.8,1) [W
3
]
α
= [0.6+0.2α, 1–0.2α]
First, we calculate the minimum of the α-cuts of
the fuzzy weighted average. FWA(q
2
) = (–1.3α
2
+
5.6α – 0.2)/(–0.1α + 1.9). FWA(q
2
) <= 1+α for 0 <=
α <= (19 –
109
)/12, so FWA(q
2
) is the minimum
for 0 <= α <= (19 –
109
)/12.
FWA(q
2
) >= 1+α for (19 –
109
)/12 <= α <= 1,
so for (19 –
109
)/12 < =α < =1 the minimum is
FWA(q
3
) = (–1.9α
2
+ 5.6α + 0.4)/(– 0.7α + 2.5).
Next we calculate the maximum of the α-cuts of
the fuzzy weighted average. There are no
intersections. FWA(q
3
) = (–0.7α
2
– 0.8α + 9)/(0.4α +
1.4). FWA(q
3
) >= 5–2α for 0<= <=1, so FWA(q
3
) is
the maximum for 0<=α<=1.
This leads to the following membership function
for the fuzzy weighted average:
μ(x) = 0 if x <= –2/19
μ(x) = x/26 + 28/13 –
(5/13)
30.32 8.76x 0.01x
2
+
if –2/19 <= x <= (31–
109
)/12
μ(x) = 7x/38 + 28/19 –
(5/19)
34.4 11.16x 0.49x
2
+
if (31 –
109
)/12 <= x <= 41/18
μ(x) = 1 if 41/18 <=x <= 75/18
μ(x) = –2x/7 – 4/7 + (5/7)
25.84 3.28x 0.16x
2
+
if 75/18 <= x <= 45/7
μ(x) = 0 if x >= 45/7
5 CONCLUSIONS
A lot of research effort has been invested into the
development of algorithms for the calculation of
fuzzy weighted averages. Where the computational
complexity of the algorithms improved in the course
of the time, leading to the linear algorithm of Guu
(2002), the approach has always been to compute the
α-cuts of the fuzzy weighted average for fixed value
of α. As a consequence, one can only compute a
finite number of values of the membership function
of the fuzzy weighted average. In this paper we have
presented an algorithm for the computation of the
membership function of the fuzzy weighted average
analytically, for triangular or trapeizoidal weights
and attributes. Our approach has been to generalise a
simple, but not optimally efficient, single-α
algorithm. Using our algorithm, one no longer needs
to approximate the membership function from a
finite number of values.
The feasibility of our algorithm has been
demonstrated by the explicit calculation of the exact
membership functions of the fuzzy weighted
averages of a number of examples from the
literature.
FUZZY WEIGHTED AVERAGE - Analytical Solution
37
REFERENCES
Chiao, K–P. (2000). Direct Fuzzy Weighted Average
Algorithm for Fuzzy Multiple Attributes Decision
Making,
Tamsui Oxford Journal of Mathematical
Sciences, 16,
311–327.
Dong W.M., & Wong F.S. (1987). Fuzzy Weighted
Averages and Implementation of the Extension
Principle,
Fuzzy Sets and Systems, 21, 183–199.
Guh, Y.–Y., & Hon, C.–C., & Lee, E.S. (2001). Fuzzy
Weighted Average: The Linear Programming
Approach via Charnes and Cooper's Rule,
Fuzzy Sets
and Systems, 117,
157–160.
Guh, Y.–Y., & Hon, C.–C., & Wang, K.–M., & Lee E.S.
(1996). Fuzzy Weighted Average: A Max–Min Paired
Elimination Method,
Computers Math. Applic., 32,
115–123.
Guu, S.–M. (2002). Fuzzy Weighted Average Revisited,
Fuzzy Sets and Systems, 126, 411–414.
Kao, C., & Liu, S.–L. (2001). Fractional Approach to
Fuzzy Weighted Average,
Fuzzy Sets and Systems,
120,
435–444
Lee, D.H., & Park, D. (1997). An Efficient Algorithm for
Fuzzy Weighted Average,
Fuzzy Sets and Systems, 87,
39–45
Liou, Y.–C., & Guu, S.–M. (2002). Linear–time
Algorithm for the Fuzzy Weighted Average Method,
Journal of the Chinese Institute of Industrial
Engineers, 19,
7–12
Liou, T.–S., & Wang, M.–J. (1992). Fuzzy Weighted
Average: An Improved Algorithm,
Fuzzy Sets and
Systems,
49, 307–315
IJCCI 2009 - International Joint Conference on Computational Intelligence
38