文章目录
前言
此模型算法对编写程序要求不高,所以本文仅记录模型算法的概念和一些实例。
学习视频链接:
https://www.bilibili.com/video/BV1EK41187QF?p=10&spm_id_from=pageDriver&vd_source=67471d3a1b4f517b7a7964093e62f7e6
一、模糊数学和经典数学
在介绍模型算法前,想对一些概念进行区分。
模糊数学(Fuzzy Mathematics)和经典数学(Classical Mathematics)是两种不同的数学体系,它们在处理不确定性和模糊性方面有着不同的理论基础和应用场景。以下是它们的主要区别:
1. 概念基础
经典数学:
- 确定性:经典数学假设所有事物都是确定的,每个元素或对象要么属于某个集合,要么不属于,没有中间状态。
- 二值逻辑:经典数学遵循二值逻辑,即每个命题要么为真,要么为假(即要么为0,要么为1)。
模糊数学:
- 模糊性:模糊数学接受现实世界中存在的模糊性和不确定性,允许某个元素部分属于某个集合。
- 多值逻辑:模糊数学使用多值逻辑,允许命题有一个从0到1的真值度。
2. 集合理论
经典集合:
- 明确界定:在经典集合理论中,一个元素要么属于集合,要么不属于集合。例如,集合 A 可以表示为 (A = { x | { x 满足某些条件}})。
- 特征函数:经典集合的特征函数 𝜒𝐴(𝑥) 只有两个值:0(不属于)或1(属于)。
模糊集合:
- 模糊边界:模糊集合允许元素部分地属于集合,每个元素都有一个隶属度(membership degree),表示其属于集合的程度。模糊集合 A 可以表示为: { ( x , μ A ( x ) ) ∣ x 是元素, μ A ( x ) 是隶属度 } . \left\{\left(x, \mu_{A}(x)\right) \mid x \text { 是元素, } \mu_{A}(x) \text { 是隶属度 }\right\} \text . {(x,μA(x))∣x 是元素, μA(x) 是隶属度 }.
- 隶属函数:模糊集合的隶属函数 𝜇𝐴(𝑥) 的值在0到1之间,表示元素 x 在集合 A 中的隶属度。
3. 运算规则
经典数学:
- 集合运算:经典集合的基本运算包括交集、并集和补集,这些运算有明确的规则和结果。
- 交集: A ∩ B = { x ∣ x ∈ A 且 x ∈ B } A\cap B=\{x\mid x\in A\text{ 且 }x\in B\} A∩B={x∣x∈A 且 x∈B}
- 并集: A ∪ B = { x ∣ x ∈ A 或 x ∈ B } A\cup B=\{x\mid x\in A\text{ 或 }x\in B\} A∪B={x∣x∈A 或 x∈B}
- 补集: A ′ = { x ∣ x ∉ A } A'=\{x\mid x\notin A\} A′={x∣x∈/A}
模糊数学:
- 模糊运算:模糊集合的运算也包括交集、并集和补集,但这些运算是在隶属度基础上进行的。
- 模糊交集: μ A ∩ B ( x ) = min ( μ A ( x ) , μ B ( x ) ) \mu_{A\cap B}(x)=\min(\mu_A(x),\mu_B(x)) μA∩B(x)=min(μA(x),μB(x))
- 模糊并集: μ A ∪ B ( x ) = max ( μ A ( x ) , μ B ( x ) ) \mu_{A\cup B}(x)=\max(\mu_A(x),\mu_B(x)) μA∪B(x)=max(μA(x),μB(x))
- 模糊补集: μ A ′ ( x ) = 1 − μ A ( x ) \mu_{A'}(x)=1-\mu_A(x) μA′(x)=1−μA(x)
二、模糊集合的表示方式
(1)zadeh 表示法
A
=
∑
i
=
1
n
μ
A
(
i
)
x
i
=
μ
A
(
x
1
)
x
1
+
μ
A
(
x
2
)
x
2
+
⋯
+
μ
A
(
x
n
)
x
n
A=\sum_{i=1}^n\frac{\mu_A\left(i\right)}{x_i}=\frac{\mu_A\left(x_1\right)}{x_1}+\frac{\mu_A\left(x_2\right)}{x_2}+\cdots+\frac{\mu_A\left(x_n\right)}{x_n}
A=i=1∑nxiμA(i)=x1μA(x1)+x2μA(x2)+⋯+xnμA(xn)
(2)序偶表示法
A
=
{
(
x
1
,
μ
A
(
x
1
)
)
,
(
x
2
,
μ
A
(
x
2
)
)
,
.
.
.
,
(
x
n
,
μ
A
(
x
n
)
)
}
A=\{\bigl(x_{1},\mu_{A}(x_{1})\bigr),\bigl(x_{2},\mu_{A}(x_{2})\bigr),...,\bigl(x_{n},\mu_{A}(x_{n})\bigr)\}
A={(x1,μA(x1)),(x2,μA(x2)),...,(xn,μA(xn))}
(3)向量表示法
A
=
(
μ
A
(
x
1
)
,
μ
A
(
x
2
)
,
.
.
.
,
μ
A
(
x
n
)
)
A=\left(\mu_{A}(x_{1}),\mu_{A}(x_{2}),...,\mu_{A}(x_{n})\right)
A=(μA(x1),μA(x2),...,μA(xn))
(4)当论域 X 为无限集时,则 X 上的模糊集A可以写成
A
=
∫
x
∈
X
μ
A
(
x
)
x
注:不是积分的意思,
μ
A
(
x
i
)
x
也不是分数
A=\int\limits_{x\in X}\frac{\mu_A(x)}{x}\quad\text{注:不是积分的意思,}\frac{\mu_A(x_i)}{x}\text{也不是分数}
A=x∈X∫xμA(x)注:不是积分的意思,xμA(xi)也不是分数
三、模糊集合的分类
模糊集合主要有三类,分别为偏小型、中间型和偏大型。其实也就类似于TOPSIS方法中的极大型、极小型、中间型、区间型指标。
举个例子,“年轻”就是一个偏小型的模糊集合,因为岁数越小,隶属度越大,就越“年轻”;“年老”则是一个偏大型的模糊集合,岁数越大,隶属度越大,越“年老”;而“中年”则是一个中间型集合,岁数只有处在某个中间的范围,隶属度才越大。总结来说,就是考虑“元素”与“隶属度”的关系,再类比一下,就是考虑隶属函数的单调性。
下图可以代表“年轻”、“中年”、“年老”这三个模糊集合的隶属函数图像:
不管模糊集合是哪一种类型,隶属度越大,属于这个集合的程度也就越大。
四、隶属函数的确定方法
(1)模糊统计法
模糊统计法的原理是,找多个人对同一个模糊概念进行描述,用隶属频率去定义隶属度。例如我们想知道30岁相对于"年轻"的隶属度,那就找来n个人问一问,如果其中有m个人认为30岁属于"年轻"的范畴,那m/n就可以用来作为30岁相对于"年轻"的隶属度。n越大时,越符合实际情况,也就越准确。
(2)借助已有的客观尺度
对于某些模糊集合,我们可以用已经有的指标去作为元素的隶属度。
例如"小康家庭"这个模糊集合,就可以用"恩格尔系数(食品支出总额/家庭总支出)“衡量相应的隶属度。显而易见,家庭越接近小康水平,其恩格尔系数应该越低,那” 1﹣恩格尔系数 “就越大,我们便可以把” 1﹣恩格尔系数 "看作家庭相对于"小康家庭"的隶属度。
对于"质量稳定"这一模糊集合,我们可以使用正品率衡量隶属度。注意:隶属度是在[0,1]之间的。如果找的指标不在,可以进行归一化处理。
(3)指派法
指派法是一个主观性比较强的方法,即凭主观意愿,在确定模糊集合的所属分类后,给它指派一个隶属函数,得到元素的隶属度。这是比赛中最常用的方法之一,只需进行选择,便可得到隶属函数。以下是常用的模糊分布:
可以看出,对于偏小型模糊集合,隶属函数总体上递减,也就是元素的某个特征越大,隶属度越小;对于偏大型集合,隶属函数总体上递增,也就是元素的某个特征越大,隶属度越大;对于中间型集合,隶属函数总体上先递增后递减,中间一部分或是某个点取到最大值。
五、评价问题概述
模糊评价问题是要把论域中的对象对应评语集中一个指定的评语或者将方案作为评语集并选
择一个最优的方案。
在模糊综合评价中,引入三个集合:
- 因素集(评价指标集): U = { u 1 , u 2 , ⋯ , u n } U=\begin{Bmatrix}u_1,u_2,\cdots,u_n\end{Bmatrix} U={u1,u2,⋯,un}
- 评语集(评价的结果): V = { v 1 , v 2 , ⋯ , v n } V=\begin{Bmatrix}v_1,v_2,\cdots,v_n\end{Bmatrix} V={v1,v2,⋯,vn}
- 权重集(指标的权重): A = { a 1 , a 2 , ⋯ , a n } A=\begin{Bmatrix}a_1,a_2,\cdots,a_n\end{Bmatrix} A={a1,a2,⋯,an}
六、一级模糊综合评价模型
以某露天煤矿的五个边坡设计方案为例,其各项参数根据分析计算结果得到边坡设计方案如下表:
据勘探,该矿探明储量8800吨,开采总投资不超过8000万元,试做出各方案的优劣排序,选出最佳方案。
1.确定可采矿量的隶属函数
因为勘探的储量为8800吨,所以用资源的利用函数作为隶属函数:
μ
A
(
x
)
=
x
8800
\mu_{_A}(x)=\frac{x}{8800}
μA(x)=8800x
2.基建投资的隶属函数
投资约束为8000万元,所以: μ B ( x ) = 1 − x 8000 \mu_{_B}\begin{pmatrix}x\end{pmatrix}=1-\frac{x}{8000} μB(x)=1−8000x
3.采矿成本的隶属函数
根据专家意见,采矿成本 a 1 ≤ 5.5 元/吨为低成本 , a 2 = 8.0 元/吨为高成本,故 μ c ( x ) = { 1 , 0 ≤ x ≤ a 1 a 2 − x a 2 − a 1 , a 1 ≤ x ≤ a 2 0 , a 2 < x \begin{aligned}&\text{根据专家意见,采矿成本}a_1\leq5.5\text{元/吨为低成本},\quad a_2=8.0\text{元/吨为高成本,故}\\&\mu_{c}\left(x\right)=\begin{cases}1,&0\leq x\leq a_1\\\frac{a_2-x}{a_2-a_1},&a_1\leq x\leq a_2\\0,&a_2<x\end{cases}\end{aligned} 根据专家意见,采矿成本a1≤5.5元/吨为低成本,a2=8.0元/吨为高成本,故μc(x)=⎩ ⎨ ⎧1,a2−a1a2−x,0,0≤x≤a1a1≤x≤a2a2<x
4.不稳定费用的隶属函数
μ D ( x ) = 1 − x 200 \mu_{D}\left(x\right)=1-\frac{x}{200} μD(x)=1−200x
5.净现值的隶属函数
取上限15(百万元),下限0.5(百万元),采用线性隶属函数:
μ
E
(
x
)
=
x
−
50
1500
−
50
=
x
−
50
1450
\mu_{E}(x)=\frac{x-50}{1500-50}=\frac{x-50}{1450}
μE(x)=1500−50x−50=1450x−50
根据隶属函数计算出 5 个方案所对应的不同隶属度:
确定单因素评判矩阵:
R
=
[
0.5341
0.7614
0.6705
1.0000
0.8636
0.3750
0.3125
0.3375
0.1500
0.2500
1.0000
0.7600
1.0000
0.4000
0.4800
1.0000
0.4480
0.6552
0.0000
0.0345
]
R=\begin{bmatrix}0.5341&0.7614&0.6705&1.0000&0.8636\\0.3750&0.3125&0.3375&0.1500&0.2500\\1.0000&0.7600&1.0000&0.4000&0.4800\\1.0000&0.4480&0.6552&0.0000&0.0345\end{bmatrix}
R=
0.53410.37501.00001.00000.76140.31250.76000.44800.67050.33751.00000.65521.00000.15000.40000.00000.86360.25000.48000.0345
诸因素在决策中占的权重: A = ( 0.25 , 0.20 , 0.20 , 0.10 , 0.25 ) \text{}A=(0.25 ,0.20 ,0.20 ,0.10 ,0.25) A=(0.25,0.20,0.20,0.10,0.25)
综合评价: B = A ⋅ R = ( 0.7435 , 0.5919 , 0.6789 , 0.3600 , 0.3905 ) B={A\cdot R}=(0.7435 ,0.5919 ,0.6789 ,0.3600 ,0.3905) B=A⋅R=(0.7435,0.5919,0.6789,0.3600,0.3905)
由此可知:方案1最佳,方案3次之,方案4最差
七、多层级模糊综合评价模型
1.给出被评价的对象集合
X = { x 1 , x 2 , . . . , x k } X=\{x_{1} ,x_{2} ,...,x_{k}\} X={x1,x2,...,xk}
2.确定因素集(亦称指标体系)
U
=
{
u
1
,
u
2
,
.
.
.
,
u
n
}
U=\{u_{1} ,u_{2} ,...,u_{n}\}
U={u1,u2,...,un}
若因素众多,往往将因素集按某些属性分成 s 个子集:
U
i
=
{
u
1
(
i
)
,
u
2
(
i
)
,
.
.
.
,
u
n
i
(
i
)
}
,
i
=
1
,
2
,
.
.
.
,
s
U_{i}=\left\{u_{1}^{(i)},u_{2}^{(i)},...,u_{n_{i}}^{(i)}\right\}, i=1 ,2 ,...,s
Ui={u1(i),u2(i),...,uni(i)},i=1,2,...,s
且满足条件:
1
◯
∑
i
=
1
s
n
i
=
n
;
2
◯
⋃
i
=
1
s
U
i
=
U
;
3
◯
U
i
⋂
U
j
=
ϕ
,
i
≠
j
\textcircled{1}\sum_{i=1}^{s}n_{i}=n;\quad\textcircled{2}\bigcup_{i=1}^{s}U_{i}=U;\quad\textcircled{3}U_{i}\bigcap U_{j}=\phi,i\neq j
1◯i=1∑sni=n;2◯i=1⋃sUi=U;3◯Ui⋂Uj=ϕ,i=j
3.确定评语集
V = { v 1 , v 2 , . . . , v m } V=\{v_{1},v_{2},...,v_{m}\} V={v1,v2,...,vm}
4.确定评价矩阵
R i = [ r 11 ( i ) r 12 ( i ) . . . r 1 m ( i ) ⋮ ⋮ ⋮ ⋮ r n i 1 ( i ) r n i 2 ( i ) . . . r n i m ( i ) ] R_i=\begin{bmatrix}r_{11}^{(i)}&r_{12}^{(i)}&...&r_{1m}^{(i)}\\\vdots&\vdots&\vdots&\vdots\\r_{n_i1}^{(i)}&r_{n_i2}^{(i)}&...&r_{n_im}^{(i)}\end{bmatrix} Ri= r11(i)⋮rni1(i)r12(i)⋮rni2(i)...⋮...r1m(i)⋮rnim(i)
5.对每个 Ui ,分别做出综合决策
设 Ui 中的各因素权重的分配(模糊权向量)为
A
i
=
(
a
1
(
i
)
,
a
2
(
i
)
…
,
a
n
i
(
i
)
)
,
其中
∑
t
=
1
n
i
a
t
(
i
)
=
1
A_{i}=\left(a_{1}^{(i)} ,a_{2}^{(i)} \ldots ,a_{n_{i}}^{(i)}\right), \text{其中}\sum_{t=1}^{n_{i}}a_{t}^{(i)}=1
Ai=(a1(i),a2(i)…,ani(i)),其中t=1∑niat(i)=1
若 Ri 为单因素模糊判断矩阵,则得到一级评价向量为:
B
i
=
A
i
⋅
R
i
=
(
b
i
1
,
b
i
2
,
.
.
.
,
b
i
m
)
,
i
=
1
,
2
,
.
.
.
,
s
B_{i}=A_{i}\cdot R_{i}=(b_{i1} ,b_{i2} ,...,b_{im}), i=1 ,2 ,...,s
Bi=Ai⋅Ri=(bi1,bi2,...,bim),i=1,2,...,s
将每个 Ui 视为一个元素,记
U
=
{
U
1
,
U
2
,
.
.
.
,
U
s
}
,
U=\{U_{1},U_{2},...,U_{s}\},
U={U1,U2,...,Us},于是U又是单因素集,U的单因素判断矩阵为
R
=
[
B
1
B
2
⋮
B
s
]
=
[
b
11
b
12
⋯
b
1
m
⋮
⋮
⋮
⋮
⋮
⋮
⋮
⋮
b
s
1
b
s
2
⋯
b
s
m
]
R=\begin{bmatrix}{B_1}\\{B_2}\\\vdots\\B_s\end{bmatrix}=\begin{bmatrix}b_{11}&b_{12}&\cdots&b_{1m}\\\vdots&\vdots&\vdots&\vdots\\\vdots&\vdots&\vdots&\vdots\\b_{s1}&b_{s2}&\cdots&b_{sm}\end{bmatrix}
R=
B1B2⋮Bs
=
b11⋮⋮bs1b12⋮⋮bs2⋯⋮⋮⋯b1m⋮⋮bsm
每个 Ui 作为U的一部分,反映了U的某种属性,可以按他们的重要性给出权重分配:
A
=
(
a
1
,
a
2
,
.
.
.
,
a
s
)
A=(a_{1},a_{2},...,a_{s})
A=(a1,a2,...,as)
于是得到二级模糊综合评价模型为:
B
=
A
⋅
R
=
(
b
1
,
b
2
,
.
.
.
,
b
m
)
B=A\cdot R=(b_{1},b_{2},...,b_{m})
B=A⋅R=(b1,b2,...,bm)
若对每个子因素 Ui 仍有较多因素,则可继续划分,于是有三级或更高级模型。
处理多层级模糊综合评价模型,就是从高级模型开始,把每一级模型当作一级模糊综合评价模型处理,然后将处理得到的评价结果带入上一级,继续处理(一级一级脱帽处理)。
总结
本文介绍了评价决策中的模糊综合评价法,通过使用模糊集合解决带有模糊性概念的问题。