视觉冲击力的网站设计,成都模板网建站,网站模板是怎么制作,wordpress 手机登录文章目录 理论基础三角模糊数概念参考 Python源码测试 理论基础 \quad 模糊层次分析法#xff08; F A H P FAHP FAHP#xff09;将模糊理论#xff08; F u z z y S e t Fuzzy Set FuzzySet#xff09;嵌入到基本层次分析法#xff08; A H P AHP AHP#xff09;中。 A … 文章目录 理论基础三角模糊数概念参考 Python源码测试 理论基础 \quad 模糊层次分析法 F A H P FAHP FAHP将模糊理论 F u z z y S e t Fuzzy Set FuzzySet嵌入到基本层次分析法 A H P AHP AHP中。 A H P AHP AHP是一种广泛应用于各种多准则决策问题的决策工具,它将不同的备选方案与不同的标准进行成对比较并为多标准决策问题提供了决策支持工具。在一般的AHP模型中目标在第一层标准和子标准分别在第二层和第三层第四个层次为备选方案。由于基本AHP不包括个人判断的模糊性它通过受益于模糊逻辑方法得到了改进。在FAHP中通过语言变量对标准和备选方案进行成对比较语言变量由三角模糊数等表示。 三角模糊数概念 \quad 定义三角模糊数 A ~ ( a l , a m , a u ) \tilde{A}(a_l,a_m,a_u) A~(al,am,au) a l 、 a m 和 a u a_l、a_m和a_u al、am和au分别为下届、中值和上届其隶属函数表示如下 μ A ~ { x − a l a m − a l , a l ≤ x ≤ a m a − a u a m − a u , a m ≤ x ≤ a u 0 , 其他 \mu_{\tilde{A}}\begin{cases} \frac{x-a_l}{a_m-a_l},a_l\le x\le a_m\\ \frac{a-a_u}{a_m-a_u},a_m\le x\le a_u\\ 0,其他\\ \end{cases} μA~⎩ ⎨ ⎧am−alx−al,al≤x≤amam−aua−au,am≤x≤au0,其他 \quad 运算方法: M 1 ( l 1 , m 1 , u 1 ) M_1\left(l_1,m_1,u_1\right) M1(l1,m1,u1) M 2 ( l 2 , m 2 , u 2 ) M_2\left(l_2,m_2,u_2\right) M2(l2,m2,u2) { M 1 ⨁ M 2 ( l 1 l 1 , m 1 m 2 , u 1 u 2 ) M 1 ⨂ M 2 ≈ ( l 1 l 2 , m 1 m 2 , u 1 u 2 ) 1 M 1 ≈ ( 1 u , 1 m , 1 l ) \begin{cases} M_1 \bigoplus \ M_2 \left(l_1 l_1, m_1 m_2, u_1 u_2\right) \\ M_1 \bigotimes \ M_2 \approx \left(l_1 l_2, m_1 m_2, u_1 u_2\right) \\ \frac{1}{M_1} \approx \left(\frac{1}{u},\frac{1}{m}, \frac{1}{l}\right) \\ \end{cases} ⎩ ⎨ ⎧M1⨁ M2(l1l1,m1m2,u1u2)M1⨂ M2≈(l1l2,m1m2,u1u2)M11≈(u1,m1,l1)
表1.语言术语及其对应的三角模糊数 Saaty等级定义三角模糊数1同等重要(EI)(1,1,1)3稍微重要(WI)(2,3,4)5相当重要(FI)(4,5,6)7非常重要(SI)(6,7,8)9绝对重要(AI)(9,9,9) 2 4 6 8 两个相邻刻度之间的间歇值 (1,2,3) (3,4,5) (5,6,7) (7,8,9) \quad 如果C1比C2弱重要则 C 1 → C 2 C1\rightarrow C2 C1→C2取三角模糊数 ( 2 , 3 , 4 ) (2,3,4) (2,3,4), C 1 ← C 2 C1\leftarrow C2 C1←C2取三角模糊数 ( 1 4 , 1 3 , 1 2 ) (\frac{1}{4},\frac{1}{3},\frac{1}{2}) (41,31,21)
S1. 建立三角模糊成对比较矩阵 \quad 第k个专家评价结果为 A ~ k [ d ~ 11 k d ~ 12 k … d ~ 1 n k d ~ 21 k d ~ 22 k … d ~ 2 n k ⋮ ⋮ ⋱ ⋮ d ~ n 1 k d ~ n 2 k … d ~ n n k ] (1) \tilde{A}^{k} \begin{bmatrix} \tilde{d}_{11}^{k} \tilde{d}_{12}^{k} \ldots \tilde{d}_{1n}^{k} \\ \tilde{d}_{21}^{k} \tilde{d}_{22}^{k} \ldots \tilde{d}_{2n}^{k} \\ \vdots \vdots \ddots \vdots \\ \tilde{d}_{n1}^{k} \tilde{d}_{n2}^{k} \ldots \tilde{d}_{nn}^{k} \\ \end{bmatrix} \tag{1} A~k d~11kd~21k⋮d~n1kd~12kd~22k⋮d~n2k……⋱…d~1nkd~2nk⋮d~nnk (1)
S2. 当存在多个决策者时计算每个决策者的偏好( d i j k ~ \tilde{d_{ij}^{k}} dijk~)的平均值 d i j k ~ \tilde{d_{ij}^{k}} dijk~的计算表达式如下 d i j k ~ ∑ k 1 K d ~ i j k K (2) \tilde{d_{ij}^{k}}\frac{\sum_{k1}^{K}\tilde{d}_{ij}^{k}}{K}\tag{2} dijk~K∑k1Kd~ijk(2)
S3. 根据平均偏好更新成对比较矩阵 A ~ [ d 11 ~ d 12 ~ … d 1 n ~ d 21 ~ d 22 ~ … d 2 n ~ ⋮ ⋮ ⋱ ⋮ d n 1 ~ d n 2 ~ … d n n ~ ] (3) \tilde{A} \begin{bmatrix} \tilde{d_{11}} \tilde{d_{12}} \ldots \tilde{d_{1n}} \\ \tilde{d_{21}} \tilde{d_{22}} \ldots \tilde{d_{2n}} \\ \vdots \vdots \ddots \vdots \\ \tilde{d_{n1}} \tilde{d_{n2}} \ldots \tilde{d_{nn}} \\ \end{bmatrix} \tag{3} A~ d11~d21~⋮dn1~d12~d22~⋮dn2~……⋱…d1n~d2n~⋮dnn~ (3)
S4. 根据Buckley计算每个标准的模糊比较值的几何平均值 r i ~ \tilde{r_{i}} ri~(三角数) r i ~ ( ∏ j 1 n d ~ i j ) 1 n , i 1 , 2 , … , n (4) \tilde{r_{i}}{\left(\prod_{j1}^{n}\tilde{d}_{ij}\right)}^{\frac{1}{n}},i1,2,\ldots,n \tag{4} ri~(j1∏nd~ij)n1,i1,2,…,n(4)
S5. 计算每个标准的模糊权重求每个 r i ~ \tilde{r_{i}} ri~的矢量和求和向量的 − 1 -1 −1次方,替换模糊三角数使其按递增顺序排列计算 r i ~ \tilde{r_{i}} ri~和它的逆向量的乘积 w ~ i r i ~ ⨂ ( r 1 ~ ⨁ r 2 ~ ⨁ … ⨁ r n ~ ) − 1 ( l w i , m w i , u w i ) (5) \tilde{w}_{i} \tilde{r_{i}}\bigotimes {\left(\tilde{r_{1}} \bigoplus \tilde{r_{2}} \bigoplus \ldots \bigoplus \tilde{r_{n}}\right)}^{-1}\left(lw_i,mw_i,uw_i\right) \tag{5} w~iri~⨂(r1~⨁r2~⨁…⨁rn~)−1(lwi,mwi,uwi)(5)
S6.反模糊化计算 w i l w i m w i u w i 3 (6) w_i \frac{lw_i mw_i uw_i}{3} \tag{6} wi3lwimwiuwi(6)
S7. 归一化处理 n w i w i ∑ n 1 n w i (7) nw_i \frac{w_i}{\sum_{n1}^n w_i} \tag{7} nwi∑n1nwiwi(7) \quad 然后通过将每个备选权重与相关标准相乘计算每个备选的分数。根据这些结果向决策者建议得分最高的备选方案。
参考
Cheng, C.H. (1997). Evaluating Naval Tactical Missile System by Fuzzy AHP Based on the Grade Value of Membership Function. European Journal of Operational Research,96(2),343-350.Cheng, C.H., Yang, L.L., and Hwang, C.L. (1999). Evaluating Attack Helicopter by AHP Based on Linguistic Variable Weight. European Journal of Operational Research,116(2),423-435.Ruoning, X. and Xiaoyan, Z. (1992). Extensions of the Analytic Hierarchy Process in Fuzzy Environment. Fuzzy Sets and System,52(3),251-257.Petkovic, J., Sevarac, Z., Jaksic, M.L., Marinkovic, S. (2012). Application of fuzzy AHP method for choosing a technology within service company. Technics Technologies Education Management,7(1),332-341.Kilic, H.S. (2011). A fuzzy AHP based performance assessment system for the strategic plan of Turkish Municipalities. International Journal of Business and Management Studies, 3(2),77-86.Kilincci, O., Onal, S. A. (2011). Fuzzy AHP approach for supplier selection in a washing machine company. Expert Systems with Applications, 38(8),9656-9664.Ayhan, M.B.(2013). A Fuzzy AHP Approach for Supplier Selection Problem: A Case Study in A Gearmotor Company. International Journal of Managing Value and Supply Chains (IJMVSC),4(3).
Python源码
import numpy as np# Function: Fuzzy AHP
def fuzzy_ahp_method(dataset):dataset: 专家判断矩阵n*n*3n表示指标数row_sum []s_row []f_w [] #模糊权重d_w [] #去模糊权重# 一致性检测指标inc_rat np.array([0, 0, 0, 0.58, 0.9, 1.12, 1.24, 1.32, 1.41, 1.45, 1.49, 1.51, 1.48, 1.56, 1.57, 1.59])# 模糊判断矩阵转为清晰判断矩阵X [(item[0] 4*item[1] item[2])/6 for i in range(0, len(dataset)) for item in dataset[i]] #三角数转为模糊数X np.asarray(X) #列表转数组X np.reshape(X, (len(dataset), len(dataset))) #转为n*n矩阵# S4. 计算每个准则的模糊比较值的几何平均值r_i(公式4)for i in range(0, len(dataset)):a, b, c 1, 1, 1for j in range(0, len(dataset[i])):d, e, f dataset[i][j]# 计算公式(4)的括号内部分: r_s \prod_{j1}^n d_ija, b, c a*d, b*e, c*frow_sum.append( (a, b, c) )L, M, U 0, 0, 0for i in range(0, len(row_sum)):a, b, c row_sum[i]# 计算公式(4)的括号外部分: s_r (r_s)^(1/n)a, b, c a**(1/len(dataset)), b**(1/len(dataset)), c**(1/len(dataset))s_row.append( ( a, b, c ) )# 计算公式(5)中⨁运算部分R5 r1⨁r2⨁...⨁rnL L aM M bU U cfor i in range(0, len(s_row)):a, b, c s_row[i]# 计算公式公式(5)中⨂运算部分wi ri⨂R5a, b, c a*(U**-1), b*(M**-1), c*(L**-1)# 模糊权重f_w.append( ( a, b, c ) )# 计算公式(6):去模糊权重d_w.append( (a b c)/3 )# 计算公式(7): 归一化权重n_w [item/sum(d_w) for item in d_w]# 计算特征根向量vector np.sum(X*n_w, axis 1)/n_w# 获得平均特征根lamb_max np.mean(vector)# 计算一致性指标cons_ind (lamb_max - X.shape[1])/(X.shape[1] - 1)# 一致性判断rc cons_ind/inc_rat[X.shape[1]]return f_w, d_w, n_w, rc测试
dataset list([[ ( 1, 1, 1), ( 4, 5, 6), ( 3, 4, 5), ( 6, 7, 8) ], #g1[ (1/6, 1/5, 1/4), ( 1, 1, 1), (1/3, 1/2, 1/1), ( 2, 3, 4) ], #g2[ (1/5, 1/4, 1/3), ( 1, 2, 3), ( 1, 1, 1), ( 2, 3, 4) ], #g3[ (1/8, 1/7, 1/6), (1/4, 1/3, 1/2), (1/4, 1/3, 1/2), ( 1, 1, 1) ] #g4])
fuzzy_weights, defuzzified_weights, normalized_weights, rc fuzzy_ahp_method(dataset)
print(模糊权重)
for i in range(0, len(fuzzy_weights)):print(gstr(i1): , np.around(fuzzy_weights[i], 3))
print(清晰权重)
for i in range(0, len(defuzzified_weights)):print(gstr(i1): , round(defuzzified_weights[i], 3))
print(归一化权重)
for i in range(0, len(normalized_weights)):print(gstr(i1): , round(normalized_weights[i], 3))print(一致性判断)
print(RC: str(round(rc, 2)))
if (rc 0.10):print(The solution is inconsistent, the pairwise comparisons must be reviewed)
else:print(The solution is consistent)输出结果为
模糊权重
g1: [0.428 0.61 0.859]
g2: [0.085 0.131 0.218]
g3: [0.117 0.196 0.309]
g4: [0.044 0.063 0.099]
清晰权重
g1: 0.632
g2: 0.145
g3: 0.207
g4: 0.068
归一化权重
g1: 0.601
g2: 0.138
g3: 0.197
g4: 0.065
一致性判断
RC: 0.06
The solution is consistent