模糊综合评价 下载本文

内容发布更新时间 : 2024/11/8 21:22:36星期一 下面是文章的全部内容请认真阅读。

2 模糊综合评价

在对许多事物进行客观评判时,其评判因素往往很多,我们不能只根据某一个指标的好坏就作出判断,而应该依据多种因素进行综合评判,如技术方案的选择、经济发展的比较等.模糊综合评判可有效地对受多种因素影响的事物作出全面评价.

2.1 理论介绍

模糊综合评判通常包括以下三个方面:设与被评价事物相关的因素有n个,记为U?{u1,u2,?,un},称之为因素集。又设所有可能出现的评语有 m个,记为V?{v1,v2,?,vm},称之为评判集。由于各种因素所处地位不同,作用也不一样,通常考虑用权重来衡量,记为 A?{a1,a2,?,an}。

1.评判步骤

进行模糊综合评判通常按以下步骤进行: (1)确定因素集U?{u1,u2,?,un}。 (2)确定评判集V?{v1,v2,?,vm}。 (3)进行单因素评判得ri?{ri1,ri2,?,rim}。 (4)构造综合评判矩阵:

?r11 r12 ? r1m??r r ? r?2m?R??2122

? ? ? ????r r ? rnm??n1n2(5)综合评判:对于权重A?{a1,a2,?,an},计算B?A?R,并根据最大隶属度原则作出评判。

2.算子?的定义

在进行综合评判时,根据算子 ?的不同定义,可以得到不同的模型。 1)模型I:M(?,?)——主因素决定型

运算法则为bj?max{(ai?rij),i?1,2,?,n}(j?1,2,?,m) 。该模型评判结果只取决于在总评判中起主要作用的那个因素,其余因素均不影响评判结果,比

较适用于单项评判最优就能认为综合评判最优的情形。

2)模型II:M(?,?)——主因素突出型

1

运算法则为bj?max{(ai?rij),i?1,2,?,n}(j?1,2,?,m)。该模型与模型I 比较接近,但比模型I更精细些,不仅突出了主要因素,也兼顾了其他因素,比较适用于模型I失效,即不可区别而需要加细时的情形。

3)模型III:M(?,?)——加权平均型

运算法则为bj??ai?rij(j?1,2,?,m)。该模型依权重大小对所有因素均衡

i?1n兼顾,比较适用于要求总和最大的情形。

4)模型IV:M(?,?)——取小上界和型

?n?运算法则为bj?min?1,?(ai?rij)?(j?1,2,?,m)。使用该模型时,需要注

?i?1?意的是:各个ai不能取得偏大,否则可能出现bj均等于1的情形;各个ai也不能取得太小,否则可能出现bj均等于各个ai之和的情形,这将使单因素评判的有关信息丢失。

5)模型V:M(?,?)——均衡平均型 运算法则为bj??(ai?i?1nrijr0综合评判矩阵R中的元素偏大或偏小时的情景。

)(j?1,2,?,m),其中r0??rkj。该模型适用于

k?1n

2.2 案例分析

例1 考虑一个服装评判的问题,为此建立因素集U?{u1,u2,u3,u4},其中

u1表示花色,u2表示式样,u3表示耐穿程度,u4表示价格。建立评判集

V?{v1,v2,v3,v4},其中v1表示很欢迎,v2表示较欢迎,v3表示不太欢迎,v4表示不欢迎。进行单因素评判的结果如下:

u1?r1?(0.2,0.5,0.2,0.1),u2?r2?(0.7,0.2,0.1,0) u3?r3?(0,0.4,0.5,0.1),u4?r4?(0.2,0.3,0.5,0)

设有两类顾客,他们根据自己的喜好对各因素所分配的权重分别为

A1?(0.1,0.2,0.3,0.4), A2?(0.4,0.35,0.15,0.1)

试分析这两类顾客对此服装的喜好程度。

分析 由单因素评判构造综合评判矩阵:

2

?0.2 0.5 0.2 0.1??0.7 0.2 0.1 0?? R???0 0.4 0.5 0.1???0.2 0.3 0.5 0??用模型M(?,?)计算综合评判为

B1?A1?R?(0.2,0.3,0.4,0.1) B2?A2?R?(0.35,0.4,0.2,0.1)

根据最大隶属度原则知,第一类顾客对此服装不太欢迎,第二类顾客对此

服装则比较欢迎。

程序源码:

function Example 1 A1=[0.1 0.2 0.3 0.4]; A2=[0.4 0.35 0.15 0.1]; R=[0.2 0.5 0.2 0.1; 0.7 0.2 0.1 0; 0 0.4 0.5 0.1; 0.2 0.3 0.5 0]; fuzzy_zhpj(1,A1,R) fuzzy_zhpj(1,A2,R) end %%

function[B]=fuzzy_zhpj(model,A,R) %模糊综合评判 B=[];

[m,s1]=size(A); [s2,n]=size(R); if(s1~=s2)

disp('A的列不等于R的行'); else

if(model==1) %主因素决定型 for(i=1:m) for(j=1:n)

3