模糊多属性决策解决工程项目的招标
用模糊多属性决策解决工程评标问题
1. 问题的重述
( 工程评标问题)某建设单位组织一项工程项目的招标,现组建成评标专家组对4 个投标单位的标书进行评标。4 个标书的指标信息见表1,其中前三个指标信息是各投标单位给定的精确数据,后三个指标信息是评标专家组经考察后的定性结论。请你帮评标专家组设计一个工程评标模型,以确定最后中标单位。
表1 各投标单位基本信息表
2. 符号说明
符号
意义
M + M -
模糊正理想 模糊负理想 函数隶属度 隶属度函数
评价对象i 与模糊正理想M -之间的距离
μi μM
d
-i
d i +
评价对象i 与模糊正理想M +之间的距离
3. 模型的建立与求解
3.1模糊多属性决策模型的建立 3.1.1指标数据的三角模糊数表达
指标数据的三角形模糊表达 记F (R ) 为R 上的全体模糊集,设M ∈ F (R ) 。如果M 的隶属度函数μM
表示为
⎧x -l
⎪m -l ,x ∈[l ,m ]⎪
⎪x -u
μM (x )=⎨,x ∈[m ,u ]
m -u ⎪
⎪0,x u ⎪⎩
1)对于定性指标用三角模糊数比例法,将定性指标转化为定量指标, 见表2
成本型指标 收益型指标
最高 最低
很高 很低
高 低
一般 一般
低 高
很低 很高
最低 最高
2)对于精确的定量指标值,也写成三角模糊数的形式。设a 是一个具体的精确数,则a 表示为三角模糊数的形式为:
a=(a,a,a) (1) 全部量化过之后此时得到的模糊指标矩阵为F=(f ij ) m ⨯n
3)若权重是定量的形式给出的,则由公式(1)可表示为
W=[(w1,w1,w1),(w2,w2,w2),(w3,w3,w3),(w4,w4,w4),(w5,w5,w5),(w6,w6,w6)]
4) 若权重是定性描述给的,可以用表2的转化方法将其转化为三角模糊数的表达形式
由表2和公式(1)把表1中的指标信息,权重信息化为三角形模糊数,得到
(6, 7, 8) ⎤(4, 5, 6) ⎥⎥ (7, 8, 9) ⎥
⎥(4, 5, 6) ⎦
W=(0.3,0.3,0.3),(0.1,0.1,0.1),(0.1,0.1,0.1),(0.2,0.2,0.2),(0.1,0.1,0.1),(0.2,0.2,0.2)] 3.1.2模糊指标矩阵F 归一化处理
设有N 个评价指标,对于第j (j=1,2,```,5)个评价指标而言,在F 中对应有N 个模糊值指标,记为xi=(ai,bi,ci),(i=1,2,```N)。将xi 进行归一化的具体公式如下:
若x i 是成本型指标对应的模糊指标值,则归一化公式为
⎡(480, 480, 480) ⎢(490, 490, 490) F =⎢
⎢(501, 501, 501) ⎢
⎣(475, 475, 475)
(15, 15, 15) (192, 192, 192) (14, 14, 14) (196, 196, 196) (14, 14, 14) (204, 204, 204) (18, 18, 18) (190, 190, 190) (7, 8, 9) (6, 7, 8) (6, 7, 8) (4, 5, 6) (6, 7, 8) (4, 5, 6) (6, 7, 8) (7, 8, 9)
⎛min (a i )min (b i )min (c i )⎫
(3) y i = ∧1⎪ c ⎪b i a i i ⎝⎭
若xi 是收益型指标对应的模糊指标值,则归化公式为
⎛ai ⎫bi ci
⎪ yi = , , ∧1 min(ci ) max(⎪ (4)bi ) max(ai ) ⎝⎭3.1.3构造模糊决策矩阵
设归一化后的模糊指标矩阵R=(y ij ) m ⨯n ,将归一化的指标矩阵R 进行加权处理可得到模糊决策矩阵D=(r ij ) m ⨯n ,其中
r ij =wΘyij (i=1,2,,```N,j=1,2,```5)
这里我们采用普通的加权方式,即若w = (w (1) ,w (2) ,w (3) ),
yij =(yij (1) , yij (2) , yij (3) , 则:
(1) (1) (2) (2) (3) (3)
(w yij , w yij , w yij r ij =wΘyij= (5)
由公式(4)和(5)将F 中的数据进行归一化加权,得到模糊决策矩阵R= R=
⎡(0. 297, 0. 297, 0. 297)
⎢(0. 291, 0. 291, 0. 291) ⎢
⎢(0. 284, 0. 284, 0. 284) ⎢
⎣(0. 300, 0. 300, 0. 300)
(0. 093, 0. 093, 0. 093) (0. 100, 0. 100, 0. 100) (0. 100, 0. 100, 0. 100) (0. 078, 0. 078, 0. 078)
(0. 099, 0. 099, 0. 099) (0. 097, 0. 097, 0. 097) (0. 093, 0. 093, 0. 093) (0. 100, 0. 100, 0. 100)
(0. 156, 0. 200, 0. 200) (0. 133, 0. 075, 0. 200) (0. 133, 0. 175, 0. 200) (0. 089, 0. 125, 0. 171)
(0. 067, 0. 088, 0. 100)
(0. 044, 0. 063, 0. 056) (0. 067, 0. 088, 0. 100) (0. 078, 0. 100, 0. 100)
(0. 133, 0. 175, 0. 200) ⎤(0. 089, 0. 125, 0. 171) ⎥
. ⎥
(0. 156, 0. 200, 0. 200) ⎥
⎥
(0. 089, 0. 125, 0. 171) ⎦
3.1.4确定模糊正理想M +与模糊负理想 M − 设
++--
(6) M +=M 1+,M 2, ,M 15,M -=M 1-,M 2, ,M 15
()()
其中分量M +(j =1, 2,ax {r 1j ,r 2j , ,r nj } ,15)是模糊决策矩阵D j =m 中第 j 列的模糊指标值所对应的模糊极大值;
(j =1, 2,M -r 1j ,r 2j , ,r m j } ,15),是模糊决策矩阵D 中第j 列的模糊指j =min {
标值所对应的模糊极小值。
由公式(6)确定出模糊正理想与模糊负理想
M +=[(0.3,0.3,0.3),(0.1,0.1,0.1),(0.1,0.10.1),(0.15556,0.2,0.2),(0.0
77778,0.1 0.1),(0.15556,0.2,0.2)]
M -=[(0.28443,0.28443,0.28443),(0.077778,0.077778,0.077778),(0.09303
7,0.093137,03093037),(0.088889,0.125,0.17143),(0.044444,0.0625,0.0857
14),(0.08889,0.125,0.17143)]
3.1.5 确定评价对象与模糊理想之间的距离
(1)评价对象i 与模糊正理想M+之间的距离 di + di =
+
∑(rij -M j
j =115
15
+2
) , i =1,2,```,N (7)
(2)评价对象i 与模糊负理想M − 之间的距离 di -
di
-
-2
(rij -M j ) , i =1,2,```,N (8) ∑j =1
3.1.6 模糊优选决策
设评价对象i 以隶属度μi 从属于模糊正理想,则
di -
, i =1,2, , N (9) μi =+
di +di -
显然0 ≤μi ≤1, 若Ai 与M + 越接近,则μi 越接近于1。按隶属度μi 从大到小进行排序。μi 越大,表示评价对象i 越优。最后按隶属度的排序结果确定评价对象的优劣。
由公式(7)~(9),用matlab 可求出相应的d i , d i , μi (i =1, 2,```,4) ,结果见表3(matlab 程序见附录一)
1 2 3 因为μi 表示评价对象i 的优越程度,最后按隶属度的排序结果确定评价对象的优劣,而且由以上结果可知,4个单位的综合水平高低排序:μ1>μ3>μ2>μ4, 因此单位综合排名由高到低为A1,A3,A2,A4,最后中标单位为A1 4. 附录
附录一:计算的matlab 程序 clc,clear
模糊正理想d i 0.039553 0.1225 0.047613 +
+
-
模糊正理想d i 0.13709 0.083299 0.13777 -
隶属度μi 0.7761 0.4048 0.7432
load mohu.txt
sj=[repmat(mohu(:,1),1,3),repmat(mohu(:,2),1,3),repmat(mohu(:,3),1,3),mohu(:,4:end)];
n=size(sj,2)/3;m=size(sj,1);
w=[0.3*ones(1,3),0.1*ones(1,3),0.1*ones(1,3),0.2*ones(1,3),0.1*ones(1,3),0.2*ones(1,3)]; w=repmat(w,m,1); y=[];
for i=1:n if(i
tm=sj(:,3*i-2:3*i); min_t=min(tm);
min_t=repmat(min_t,m,1); tm=tm(:,3:-1:1); yt=min_t./tm;
yt(:,3)=min([yt(:,3)';ones(1,m)])'; else
tm=sj(:,3*i-2:3*i); max_t=max(tm);
max_t=repmat(max_t,m,1); max_t=max_t(:,3:-1:1); yt=tm./max_t;
yt(:,3)=min([yt(:,3)';ones(1,m)])'; end
y=[y,yt]; y end
%下面求模糊决策矩阵 r=[];
for i=1:n
tm1=y(:,3*i-2:3*i);tm2=w(:,3*i-2:3*i); r=[r,tm1.*tm2]; end end
%求M +、M -和距离
mplus=max(r);mminus=min(r);
dplus=dist(mplus,r');dminus=dist(mminus,r') %求隶属度 r;
mu=dminus./(dplus+dminus)