Part III.S2. 基于离差最大化的区间直觉模糊多属性决策方法

2.1 属性权重完全未知情形下区间直觉模糊多属性决策

2.1.1 问题描述

  设某多属性决策问题有 m m m个方案 Y i ( i = 1 , 2 , ⋯   , m ) Y_{i}\left(i=1,2,\cdots,m\right) Yi(i=1,2,,m),组成方案集 Y = { Y 1 , Y 2 , ⋯   , Y m } Y = \left\{Y_{1},Y_{2},\cdots,Y_{m}\right\} Y={Y1,Y2,,Ym}评价每个方案的属性(或指标)为 G j ( j = 1 , 2 , ⋯   , n ) G_{j}\left(j=1,2,\cdots,n\right) Gj(j=1,2,,n),记属性集为 G = { G 1 , G 2 , ⋯   , G n } G=\left\{G_{1},G_{2},\cdots,G_{n}\right\} G={G1,G2,,Gn},属性 G j ( j = 1 , 2 , ⋯   , n ) G_{j}\left(j=1,2,\cdots,n\right) Gj(j=1,2,,n)的权重向量 ω = ( ω 1 , ω 2 , ⋯   , ω n ) T \boldsymbol{\omega} = {\left(\omega_{1},\omega_{2},\cdots,\omega_{n}\right)}^{T} ω=(ω1,ω2,,ωn)T 完 全 未 知 \color{blue}{完全未知} 。假设方案 Y i ∈ Y Y_{i} \in Y YiY关于属性 G j ∈ G G_{j} \in G GjG的评价值可以表示为 F ~ i j = ⟨ [ μ i j L , μ i j U ] , [ ν i j L , ν i j U ] ⟩ ( i = 1 , 2 , ⋯   , m ; j = 1 , 2 , ⋯   , n ) \tilde{F}_{ij} = \left\langle[\mu_{ijL},\mu_{ijU}],[\nu_{ijL},\nu_{ijU}]\right\rangle\left(i=1,2,\cdots,m;j=1,2,\cdots,n\right) F~ij=[μijL,μijU],[νijL,νijU](i=1,2,,m;j=1,2,,n) F ~ i j \tilde{F}_{ij} F~ij为区间直觉模糊集,其中 [ μ i j L , μ i j U ] ∈ [ 0 , 1 ] [\mu_{ijL},\mu_{ijU}] \in [0,1] [μijL,μijU][0,1] [ ν i j L , ν i j U ] ∈ [ 0 , 1 ] [\nu_{ijL},\nu_{ijU}] \in [0,1] [νijL,νijU][0,1]分别表示方案 Y i ∈ Y Y_{i} \in Y YiY满足属性 G j ∈ G G_{j} \in G GjG和不满足属性 G j ∈ G G_{j} \in G GjG的程度,且 0 ≤ μ i j + ν i j ≤ 1 0 \leq \mu_{ij} + \nu_{ij} \leq 1 0μij+νij1。则矩阵 F I = ( ⟨ [ μ i j L , μ i j U ] , [ ν i j L , ν i j U ] ⟩ ) m × n F_{I} = {\left(\left\langle [\mu_{ijL},\mu_{ijU}],[\nu_{ijL},\nu_{ijU}] \right\rangle\right)}_{m×n} FI=([μijL,μijU],[νijL,νijU])m×n为该多属性决策问题的区间直觉模糊决策矩阵,现在的问题是依据区间直觉模糊决策矩阵 F I F_I FI 如 何 通 过 确 定 属 性 权 重 向 量 ω = ( ω 1 , ω 2 , ⋯   , ω n ) T , 得 到 一 个 有 效 的 决 策 分 析 方 法 对 所 有 方 案 进 行 优 劣 排 序 \color{red}{如何通过确定属性权重向量\boldsymbol{\omega} = {\left(\omega_{1},\omega_{2},\cdots,\omega_{n}\right)}^{T},得到一个有效的决策分析方法对所有方案进行优劣排序} ω=(ω1,ω2,,ωn)T,

2.1.2 属性权重的确定方法

  在区间直觉模糊决策矩阵 F I = ( ⟨ [ μ i j L , μ i j U ] , [ ν i j L , ν i j U ] ⟩ ) m × n F_{I} = {\left(\left\langle [\mu_{ijL},\mu_{ijU}],[\nu_{ijL},\nu_{ijU}] \right\rangle\right)}_{m×n} FI=([μijL,μijU],[νijL,νijU])m×n中,对于属性 G j ( j = 1 , 2 , ⋯   , n ) G_{j}\left(j=1,2,\cdots,n\right) Gj(j=1,2,,n),用 D i j ( ω ) D_{ij}\left(\omega\right) Dij(ω)表示方案 Y i Y_{i} Yi与其他方案 Y k Y_{k} Yk之间的距离,则可定义
D i j ( ω ) = ∑ k = 1 m d ( F ~ i j , F ~ k j ) ω j = 1 2 ∑ k = 1 m ω j ( ∣ μ i j L − μ k j L ∣ + ∣ μ i j U − μ k j U ∣ + ∣ ν i j L − ν k j L ∣ + ∣ ν i j U − ν k j U ∣ ) ( i = 1 , 2 , . . . , m ; j = 1 , 2 , ⋯   , n ) (2.1) \color{blue} { \begin{aligned} D_{ij}\left(\omega\right) &= \sum_{k=1}^{m}{d\left(\tilde{F}_{ij},\tilde{F}_{kj}\right)\omega_{j}} \\ &= \frac{1}{2}\sum_{k=1}^{m}\omega_{j}\left(|\mu_{ijL} - \mu_{kjL}| + |\mu_{ijU} - \mu_{kjU}| + |\nu_{ijL} - \nu_{kjL}| + |\nu_{ijU} - \nu_{kjU}|\right)\left(i=1,2,...,m;j=1,2,\cdots,n\right) \tag{2.1}\\ \end{aligned} } Dij(ω)=k=1md(F~ij,F~kj)ωj=21k=1mωj(μijLμkjL+μijUμkjU+νijLνkjL+νijUνkjU)(i=1,2,...,m;j=1,2,,n)(2.1)
  令
D j ( ω ) = ∑ i = 1 m D i j ( ω ) = ∑ i = 1 m ∑ k = 1 m d ( F ~ i j , F ~ k j ) ω = 1 2 ∑ i = 1 m ∑ k = 1 m ω j ( ∣ μ i j − μ k j ∣ + ∣ ν i j − ν k j ∣ ) ( i = 1 , 2 , . . . , m ; j = 1 , 2 , ⋯   , n ) (2.2) \color{blue} { \begin{aligned} D_{j}\left(\omega\right) &= \sum_{i=1}^{m}D_{ij}\left(\omega\right) \\ &= \sum_{i=1}^{m} \sum_{k=1}^{m} d\left(\tilde{F}_{ij},\tilde{F}_{kj}\right)\omega \\ &= \frac{1}{2}\sum_{i=1}^{m}\sum_{k=1}^{m}\omega_{j}\left(|\mu_{ij} - \mu_{kj}| + |\nu_{ij} - \nu_{kj}|\right)\left(i=1,2,...,m;j=1,2,\cdots,n\right) \tag{2.2} \end{aligned} } Dj(ω)=i=1mDij(ω)=i=1mk=1md(F~ij,F~kj)ω=21i=1mk=1mωj(μijμkj+νijνkj)(i=1,2,...,m;j=1,2,,n)(2.2)
  则 D j ( ω ) D_{j}\left(\omega\right) Dj(ω)表示对属性 G j ( j = 1 , 2 , ⋯   , n ) G_{j}\left(j=1,2,\cdots,n\right) Gj(j=1,2,,n)而言,所有方案与其他方案的总离差

  在区间直觉模糊信息环境下,属性权重的选择同样应使所有属性对所有方案方案的总离差最大。于是,求解属性权重向量就等价于求解如下最优化模型:
{ max ⁡ D ( ω ) = ∑ j = 1 n D j ( ω ) = 1 4 ∑ j = 1 n ∑ i = 1 m ∑ k = 1 m ω j ( ∣ μ i j L − μ k j L ∣ + ∣ μ i j U − μ k j U ∣ + ∣ ν i j L − ν k j L ∣ + ∣ ν i j U − ν k j U ∣ ) s . t . ∑ j = 1 n ω j 2 = 1 , ω j ≥ 0 ( j = 1 , 2 , ⋯   , n ) (2.3) \color{blue} { \left\{ \begin{aligned} \max D\left(\omega\right) &= \sum_{j=1}^{n} D_{j}\left(\omega\right) = \frac{1}{4}\sum_{j=1}^{n}\sum_{i=1}^{m}\sum_{k=1}^{m}\omega_{j}\left(|\mu_{ijL} - \mu_{kjL}| + |\mu_{ijU} - \mu_{kjU}| + |\nu_{ijL} - \nu_{kjL}| + |\nu_{ijU} - \nu_{kjU}|\right) \\ s.t.\sum_{j=1}^{n}\omega_{j}^{2} &= 1,\omega_{j} \geq 0 \left(j=1,2,\cdots,n\right) \\ \end{aligned} \right. \tag{2.3} } maxD(ω)s.t.j=1nωj2=j=1nDj(ω)=41j=1ni=1mk=1mωj(μijLμkjL+μijUμkjU+νijLνkjL+νijUνkjU)=1,ωj0(j=1,2,,n)(2.3)
  为了求解最优化模型 ( 2.3 ) \left(2.3\right) (2.3),可构造拉格朗日函数
L ( ω , λ ) = 1 4 ∑ j = 1 n ∑ i = 1 m ∑ k = 1 m ω j ( ∣ μ i j L − μ k j L ∣ + ∣ μ i j U − μ k j U ∣ + ∣ ν i j L − ν k j L ∣ + ∣ ν i j U − ν k j U ∣ ) + λ 8 ( ∑ j = 1 n ω j 2 − 1 ) (2.4) \color{red} { L\left(\omega,\lambda\right) = \frac{1}{4}\sum_{j=1}^{n} \sum_{i=1}^{m} \sum_{k=1}^{m} \omega_{j} \left(|\mu_{ijL} - \mu_{kjL}| + |\mu_{ijU} - \mu_{kjU}| + |\nu_{ijL} - \nu_{kjL}| + |\nu_{ijU} - \nu_{kjU}|\right) + \frac{\lambda}{8}\left(\sum_{j=1}^{n}\omega_{j}^{2} - 1\right) \tag{2.4} } L(ω,λ)=41j=1ni=1mk=1mωj(μijLμkjL+μijUμkjU+νijLνkjL+νijUνkjU)+8λ(j=1nωj21)(2.4)
  对其求偏导数,并令偏导数等于0,可得
{ ∂ L ∂ ω j = 1 4 ∑ i = 1 m ∑ k = 1 m ω j ( ∣ μ i j L − μ k j L ∣ + ∣ μ i j U − μ k j U ∣ + ∣ ν i j L − ν k j L ∣ + ∣ ν i j U − ν k j U ∣ ) + 1 8 λ ω j = 0 ∂ L ∂ λ = 1 8 ( ∑ j = 1 n ω j 2 − 1 ) = 0 (2.5) \color{blue} { \left\{ \begin{aligned} \frac{\partial L}{\partial \omega_{j}} &= \frac{1}{4} \sum_{i=1}^{m} \sum_{k=1}^{m} \omega_{j} \left(|\mu_{ijL} - \mu_{kjL}| + |\mu_{ijU} - \mu_{kjU}| + |\nu_{ijL} - \nu_{kjL}| + |\nu_{ijU} - \nu_{kjU}|\right) + \frac{1}{8}\lambda\omega_{j} = 0 \\ \frac{\partial L}{\partial \lambda} &= \frac{1}{8}\left(\sum_{j=1}^{n}\omega_{j}^{2} - 1\right) = 0 \\ \end{aligned} \right. \tag{2.5} } ωjLλL=41i=1mk=1mωj(μijLμkjL+μijUμkjU+νijLνkjL+νijUνkjU)+81λωj=0=81(j=1nωj21)=0(2.5)
  解之可得
ω j ∗ = ∑ i = 1 m ∑ k = 1 m ( ∣ μ i j L − μ k j L ∣ + ∣ μ i j U − μ k j U ∣ + ∣ ν i j L − ν k j L ∣ + ∣ ν i j U − ν k j U ∣ ) ∑ j = 1 n [ ∑ i = 1 m ∑ k = 1 m ( ∣ μ i j L − μ k j L ∣ + ∣ μ i j U − μ k j U ∣ + ∣ ν i j L − ν k j L ∣ + ∣ ν i j U − ν k j U ∣ ) ] 2 (2.6) \color{red} { \omega_{j}^{*} = \frac{\sum_{i=1}^{m} \sum_{k=1}^{m} \left(|\mu_{ijL} - \mu_{kjL}| + |\mu_{ijU} - \mu_{kjU}| + |\nu_{ijL} - \nu_{kjL}| + |\nu_{ijU} - \nu_{kjU}|\right)} {\sqrt{\sum_{j=1}^{n}{\left[\sum_{i=1}^{m} \sum_{k=1}^{m} \left(|\mu_{ijL} - \mu_{kjL}| + |\mu_{ijU} - \mu_{kjU}| + |\nu_{ijL} - \nu_{kjL}| + |\nu_{ijU} - \nu_{kjU}|\right)\right]}^{2}}} \tag{2.6} } ωj=j=1n[i=1mk=1m(μijLμkjL+μijUμkjU+νijLνkjL+νijUνkjU)]2 i=1mk=1m(μijLμkjL+μijUμkjU+νijLνkjL+νijUνkjU)(2.6)
  对 ω j ∗ \omega_{j}^{*} ωj进行归一化处理,可得属性权重
ω j = ∑ i = 1 m ∑ k = 1 m ( ∣ μ i j L − μ k j L ∣ + ∣ μ i j U − μ k j U ∣ + ∣ ν i j L − ν k j L ∣ + ∣ ν i j U − ν k j U ∣ ) ∑ j = 1 n ∑ i = 1 m ∑ k = 1 m ( ∣ μ i j L − μ k j L ∣ + ∣ μ i j U − μ k j U ∣ + ∣ ν i j L − ν k j L ∣ + ∣ ν i j U − ν k j U ∣ ) (2.7) \color{red} { \omega_{j} = \frac{\sum_{i=1}^{m} \sum_{k=1}^{m} \left(|\mu_{ijL} - \mu_{kjL}| + |\mu_{ijU} - \mu_{kjU}| + |\nu_{ijL} - \nu_{kjL}| + |\nu_{ijU} - \nu_{kjU}|\right)} {\sum_{j=1}^{n}\sum_{i=1}^{m} \sum_{k=1}^{m} \left(|\mu_{ijL} - \mu_{kjL}| + |\mu_{ijU} - \mu_{kjU}| + |\nu_{ijL} - \nu_{kjL}| + |\nu_{ijU} - \nu_{kjU}|\right)} \tag{2.7} } ωj=j=1ni=1mk=1m(μijLμkjL+μijUμkjU+νijLνkjL+νijUνkjU)i=1mk=1m(μijLμkjL+μijUμkjU+νijLνkjL+νijUνkjU)(2.7)

2.1.3 属性权重完全未知情形下的区间直觉模糊多属性决策步骤与实例分析

  根据以上分析,属性权重完全未知情形下基于离差最大化的区间直觉模糊多属性决策的步骤可归纳如下。

  S.1 确定多属性决问题的方集 Y = { Y 1 , Y 2 , ⋯   , Y m } Y = \left\{Y_{1},Y_{2},\cdots,Y_{m}\right\} Y={Y1,Y2,,Ym}和属性集 G = { G 1 , G 2 , ⋯   , G n } G=\left\{G_{1},G_{2},\cdots,G_{n}\right\} G={G1,G2,,Gn}

  S.2 获取多属性决策问题中方案 Y i ∈ Y Y_{i} \in Y YiY关于属性 G j ∈ G G_{j} \in G GjG的区间直觉模糊特征信息,构建直觉模糊决策矩阵 F F F

  S.3 利用式 ( 2.7 ) (2.7) (2.7)确定各属性的权重,得到属性权重向量 ω = ( ω 1 , ω 2 , ⋯   , ω n ) T \boldsymbol{\omega}={\left(\omega_{1},\omega_{2},\cdots,\omega_{n}\right)}^{T} ω=(ω1,ω2,,ωn)T

  S.4 利用式 ( 2.8 ) (2.8) (2.8)或式 ( 2.9 ) (2.9) (2.9)计算方案的综合属性值 d ~ i \tilde{d}_{i} d~i
d ~ i = ⟨ μ i , ν i ⟩ = IFWA ⁡ ω ( A ~ 1 , A ~ 2 , ⋯   , A ~ n ) = ⟨ [ 1 − ∏ j = 1 n ( 1 − μ j L ) ω j , 1 − ∏ j = 1 n ( 1 − μ j U ) ω j ] , [ ∏ j = 1 n ( ν j L ) ω j , ∏ j = 1 n ( ν j U ) ω j ] ⟩ (2.8) \tilde{d}_{i} = \left\langle\mu_{i},\nu_{i}\right\rangle = \operatorname{IFWA}_{\omega}\left(\tilde{A}_{1},\tilde{A}_{2},\cdots,\tilde{A}_{n}\right) = \left\langle \left[1 - \prod_{j=1}^{n}{\left(1 - \mu_{jL}\right)}^{\omega_{j}},1 - \prod_{j=1}^{n}{\left(1 - \mu_{jU}\right)}^{\omega_{j}}\right],\left[\prod_{j=1}^{n}{\left(\nu_{jL}\right)}^{\omega_{j}},\prod_{j=1}^{n}{\left(\nu_{jU}\right)}^{\omega_{j}}\right] \right\rangle \tag{2.8} d~i=μi,νi=IFWAω(A~1,A~2,,A~n)=[1j=1n(1μjL)ωj,1j=1n(1μjU)ωj],[j=1n(νjL)ωj,j=1n(νjU)ωj](2.8)
d ~ i = ⟨ μ i , ν i ⟩ = IFWG ⁡ ω ( A ~ 1 , A ~ 2 , ⋯   , A ~ n ) = ⟨ [ ∏ j = 1 n ( μ j L ) ω j , ∏ j = 1 n ( μ j U ) ω j ] , [ 1 − ∏ j = 1 n ( 1 − ν j L ) ω j , 1 − ∏ j = 1 n ( 1 − ν j U ) ω j ] ⟩ (2.9) \tilde{d}_{i} = \left\langle\mu_{i},\nu_{i}\right\rangle = \operatorname{IFWG}_{\omega}\left(\tilde{A}_{1},\tilde{A}_{2},\cdots,\tilde{A}_{n}\right) = \left\langle \left[\prod_{j=1}^{n}{\left(\mu_{jL}\right)}^{\omega_{j}},\prod_{j=1}^{n}{\left(\mu_{jU}\right)}^{\omega_{j}}\right],\left[1 - \prod_{j=1}^{n}{\left(1 - \nu_{jL}\right)}^{\omega_{j}},1 - \prod_{j=1}^{n}{\left(1 - \nu_{jU}\right)}^{\omega_{j}}\right] \right\rangle \tag{2.9} d~i=μi,νi=IFWGω(A~1,A~2,,A~n)=[j=1n(μjL)ωj,j=1n(μjU)ωj],[1j=1n(1νjL)ωj,1j=1n(1νjU)ωj](2.9)

  S.5 利用觉模糊数的得分数和精确度公式,计算方案 Y i Y_{i} Yi的综合属性值 d ~ i \tilde{d}_{i} d~i的得分值 s ( d ~ i ) s\left(\tilde{d}_{i}\right) s(d~i)和精确值 h ( d ~ i ) h\left(\tilde{d}_{i}\right) h(d~i),确定 d ~ i ( i = 1 , 2 , ⋯   , m ) \tilde{d}_{i}\left(i=1,2,\cdots,m\right) d~i(i=1,2,,m)的不增排列顺序,并利用排序结果对方案 Y i ( i = 1 , 2 , ⋯   , m ) Y_{i}\left(i=1,2,\cdots,m\right) Yi(i=1,2,,m)进行优劣排序。

  示例2.1

  考虑突发事件急预案评估问题。突发事件急预案是针对各种突发事件类型而事先制订的一套能迅速、有效、有序地解决问题的行动计划或方案,为全面、客观地评判应急预案处置突发事件的能力,应从预案处置的快速性( G 1 G_1 G1)、预案内容的合理性( G 2 G_2 G2)、预案保障的充分性( G 3 G_3 G3)、预案消耗费用的合理性( G 4 G_4 G4)以及预案的广泛适用性( G 5 G_5 G5)等五个方面进行综合评价。假设现有五个应急预案 Y i ( i = 1 , 2 , 3 , 4 , 5 ) Y_{i}\left(i=1,2,3,4,5\right) Yi(i=1,2,3,4,5),专家组根据自己的知识、经验以及已有的统计数据确定出每个应急预案 Y i ( i = 1 , 2 , 3 , 4 , 5 ) Y_{i}\left(i=1,2,3,4,5\right) Yi(i=1,2,3,4,5)关于属性 G j ( j = 1 , 2 , 3 , 4 , 5 ) G_{j}\left(j=1,2,3,4,5\right) Gj(j=1,2,3,4,5)的区间直觉模糊评价信息,得到的区间直觉模糊决策矩阵 F = ( ⟨ [ μ i j L , μ i j U ] , [ ν i j L , ν i j U ] ⟩ ) 5 × 5 F={\left(\left\langle\left[\mu_{ijL},\mu_{ijU}\right],\left[\nu_{ijL},\nu_{ijU}\right]\right\rangle\right)}_{5×5} F=([μijL,μijU],[νijL,νijU])5×5,如表3-3所示。

表3-3.应急预案评的间直觉模糊决策矩阵F
G 1 G_1 G1 G 2 G_2 G2 G 3 G_3 G3 G 4 G_4 G4 G 5 G_5 G5
Y 1 Y_1 Y1 ⟨ [ 0.5 , 0.6 ] , [ 0.1 , 0.3 ] ⟩ \left\langle\left[0.5,0.6\right],\left[0.1,0.3\right]\right\rangle [0.5,0.6],[0.1,0.3] ⟨ [ 0.3 , 0.4 ] , [ 0.4 , 0.5 ] ⟩ \left\langle\left[0.3,0.4\right],\left[0.4,0.5\right]\right\rangle [0.3,0.4],[0.4,0.5] ⟨ [ 0.1 , 0.3 ] , [ 0.5 , 0.6 ] ⟩ \left\langle\left[0.1,0.3\right],\left[0.5,0.6\right]\right\rangle [0.1,0.3],[0.5,0.6] ⟨ [ 0.7 , 0.8 ] , [ 0.1 , 0.2 ] ⟩ \left\langle\left[0.7,0.8\right],\left[0.1,0.2\right]\right\rangle [0.7,0.8],[0.1,0.2] ⟨ [ 0.5 , 0.7 ] , [ 0.1 , 0.3 ] ⟩ \left\langle\left[0.5,0.7\right],\left[0.1,0.3\right]\right\rangle [0.5,0.7],[0.1,0.3]
Y 2 Y_2 Y2 ⟨ [ 0.4 , 0.5 ] , [ 0.2 , 0.4 ] ⟩ \left\langle\left[0.4,0.5\right],\left[0.2,0.4\right]\right\rangle [0.4,0.5],[0.2,0.4] ⟨ [ 0.4 , 0.6 ] , [ 0.2 , 0.4 ] ⟩ \left\langle\left[0.4,0.6\right],\left[0.2,0.4\right]\right\rangle [0.4,0.6],[0.2,0.4] ⟨ [ 0.3 , 0.5 ] , [ 0.4 , 0.5 ] ⟩ \left\langle\left[0.3,0.5\right],\left[0.4,0.5\right]\right\rangle [0.3,0.5],[0.4,0.5] ⟨ [ 0.6 , 0.7 ] , [ 0.2 , 0.3 ] ⟩ \left\langle\left[0.6,0.7\right],\left[0.2,0.3\right]\right\rangle [0.6,0.7],[0.2,0.3] ⟨ [ 0.7 , 0.8 ] , [ 0.1 , 0.2 ] ⟩ \left\langle\left[0.7,0.8\right],\left[0.1,0.2\right]\right\rangle [0.7,0.8],[0.1,0.2]
Y 3 Y_3 Y3 ⟨ [ 0.6 , 0.6 ] , [ 0.2 , 0.3 ] ⟩ \left\langle\left[0.6,0.6\right],\left[0.2,0.3\right]\right\rangle [0.6,0.6],[0.2,0.3] ⟨ [ 0.7 , 0.8 ] , [ 0.1 , 0.2 ] ⟩ \left\langle\left[0.7,0.8\right],\left[0.1,0.2\right]\right\rangle [0.7,0.8],[0.1,0.2] ⟨ [ 0.4 , 0.5 ] , [ 0.3 , 0.5 ] ⟩ \left\langle\left[0.4,0.5\right],\left[0.3,0.5\right]\right\rangle [0.4,0.5],[0.3,0.5] ⟨ [ 0.4 , 0.6 ] , [ 0.1 , 0.3 ] ⟩ \left\langle\left[0.4,0.6\right],\left[0.1,0.3\right]\right\rangle [0.4,0.6],[0.1,0.3] ⟨ [ 0.6 , 0.7 ] , [ 0.2 , 0.3 ] ⟩ \left\langle\left[0.6,0.7\right],\left[0.2,0.3\right]\right\rangle [0.6,0.7],[0.2,0.3]
Y 4 Y_4 Y4 ⟨ [ 0.3 , 0.5 ] , [ 0.3 , 0.4 ] ⟩ \left\langle\left[0.3,0.5\right],\left[0.3,0.4\right]\right\rangle [0.3,0.5],[0.3,0.4] ⟨ [ 0.5 , 0.7 ] , [ 0.2 , 0.3 ] ⟩ \left\langle\left[0.5,0.7\right],\left[0.2,0.3\right]\right\rangle [0.5,0.7],[0.2,0.3] ⟨ [ 0.6 , 0.8 ] , [ 0.1 , 0.2 ] ⟩ \left\langle\left[0.6,0.8\right],\left[0.1,0.2\right]\right\rangle [0.6,0.8],[0.1,0.2] ⟨ [ 0.5 , 0.6 ] , [ 0.2 , 0.3 ] ⟩ \left\langle\left[0.5,0.6\right],\left[0.2,0.3\right]\right\rangle [0.5,0.6],[0.2,0.3] ⟨ [ 0.7 , 0.8 ] , [ 0.1 , 0.2 ] ⟩ \left\langle\left[0.7,0.8\right],\left[0.1,0.2\right]\right\rangle [0.7,0.8],[0.1,0.2]
Y 5 Y_5 Y5 ⟨ [ 0.3 , 0.4 ] , [ 0.4 , 0.5 ] ⟩ \left\langle\left[0.3,0.4\right],\left[0.4,0.5\right]\right\rangle [0.3,0.4],[0.4,0.5] ⟨ [ 0.2 , 0.4 ] , [ 0.3 , 0.4 ] ⟩ \left\langle\left[0.2,0.4\right],\left[0.3,0.4\right]\right\rangle [0.2,0.4],[0.3,0.4] ⟨ [ 0.3 , 0.4 ] , [ 0.3 , 0.4 ] ⟩ \left\langle\left[0.3,0.4\right],\left[0.3,0.4\right]\right\rangle [0.3,0.4],[0.3,0.4] ⟨ [ 0.3 , 0.5 ] , [ 0.4 , 0.5 ] ⟩ \left\langle\left[0.3,0.5\right],\left[0.4,0.5\right]\right\rangle [0.3,0.5],[0.4,0.5] ⟨ [ 0.4 , 0.6 ] , [ 0.2 , 0.3 ] ⟩ \left\langle\left[0.4,0.6\right],\left[0.2,0.3\right]\right\rangle [0.4,0.6],[0.2,0.3]

  假设属性 G j ( j = 1 , 2 , 3 , 4 , 5 ) G_{j}\left(j=1,2,3,4,5\right) Gj(j=1,2,3,4,5)的权重完全未知。下面对五个应急预案 Y i ( i = 1 , 2 , 3 , 4 , 5 ) Y_{i}\left(i=1,2,3,4,5\right) Yi(i=1,2,3,4,5)的优劣进行排序。

  代码如下:

'''
属性权重完全未知情况下的区间直觉模糊多属性决策案例分析
'''
import numpy as np

## 属性权重计算函数
def calculate_attribute_weight(IIFD_matrix_input):
    '''
    输入参数:
        IIFD_matrix_input:区间直觉模糊决策矩阵,尺寸为(m,n,4),其中m表示方案数、n表示属性数、4表示区间直觉模糊数[u_L,u_U],[v_L,v_U]
    返回值:
        attribute_weight:属性权重向量,尺寸为(1,n)
    '''
    # 首先计算式(3.18)的分母部分
    sum_deo = 0
    sum_j = np.zeros((IIFD_matrix_input.shape[1]))
    for j in range(IIFD_matrix_input.shape[1]):
        tmp_sum_j = 0
        for i in range(IIFD_matrix_input.shape[0]):
            for k in range(IIFD_matrix_input.shape[0]):
                # 取出第i个直觉模糊数,取出第k个直觉模糊数
                IIFN_i = IIFD_matrix_input[i][j]
                IIFN_k = IIFD_matrix_input[k][j]
                tmp_sum_j += np.sum(np.abs(IIFN_i-IIFN_k))
        sum_j[j] = tmp_sum_j
        sum_deo += tmp_sum_j
    # 然后计算每个属性的权重
    attribute_weight = sum_j / sum_deo
    # 返回计算结果
    return attribute_weight

## 综合属性区间直觉模糊决策矩阵计算函数
def calculate_comprehensive_attribute_IIFDM(IIFD_matrix_input,attribute_weight,type_func='IIFHA'):
    '''
    输入参数:
        IIFD_matrix_input:区间直觉模糊决策矩阵,尺寸为(m,n,4),其中m表示方案数、n表示属性数、4表示区间直觉模糊数[u_L,u_U],[v_L,v_U]
        attribute_weight:属性权重向量,尺寸为(1,n)
        type:算子类型,可取值“IIFHA”和“IIFHG”,默认值为“IIFHA”
    返回值:
        comprehensive_attribute_IIFDM:综合属性区间直觉模糊决策矩阵,尺寸为(m,n,4)
    '''
    # 初始化综合属性区间直觉模糊决策矩阵
    comprehensive_attribute_IIFDM = np.zeros((IIFD_matrix_input.shape[0],4))
    # 计算综合属性区间直觉模糊决策矩阵
    if type_func == 'IIFHA':  # 计算算子为区间直觉模糊混合平均算子IIFHA
        for i in range(IIFD_matrix_input.shape[0]):
            tmp_mu_L = 1
            tmp_mu_U = 1
            tmp_nu_L = 1
            tmp_nu_U = 1
            for j in range(IIFD_matrix_input.shape[1]):
                tmp_mu_L *= np.power(1 - IIFD_matrix_input[i][j][0],attribute_weight[j])
                tmp_mu_U *= np.power(1 - IIFD_matrix_input[i][j][1],attribute_weight[j])
                tmp_nu_L *= np.power(IIFD_matrix_input[i][j][2],attribute_weight[j])
                tmp_nu_U *= np.power(IIFD_matrix_input[i][j][3],attribute_weight[j])
            comprehensive_attribute_IIFDM[i][0] = 1 - tmp_mu_L
            comprehensive_attribute_IIFDM[i][1] = 1 - tmp_mu_U
            comprehensive_attribute_IIFDM[i][2] = tmp_nu_L
            comprehensive_attribute_IIFDM[i][3] = tmp_nu_U
    elif type_func == 'IIFHG':  # 计算算子为区间直觉模糊混合几何算子IIFHG
        for i in range(IIFD_matrix_input.shape[0]):
            tmp_mu_L = 1
            tmp_mu_U = 1
            tmp_nu_L = 1
            tmp_nu_U = 1
            for j in range(IIFD_matrix_input.shape[1]):
                tmp_mu_L *= np.power(IIFD_matrix_input[i][j][0],attribute_weight[j])
                tmp_mu_U *= np.power(IIFD_matrix_input[i][j][1],attribute_weight[j])
                tmp_nu_L *= np.power(1 - IIFD_matrix_input[i][j][2],attribute_weight[j])
                tmp_nu_U *= np.power(1 - IIFD_matrix_input[i][j][3],attribute_weight[j])
            comprehensive_attribute_IIFDM[i][0] = tmp_mu_L
            comprehensive_attribute_IIFDM[i][1] = tmp_mu_U
            comprehensive_attribute_IIFDM[i][2] = 1 - tmp_nu_L
            comprehensive_attribute_IIFDM[i][3] = 1 - tmp_nu_U
    else:
        print("类型错误:type_func参数只能取值“IIFHA”和“IIFHG”!")
    return comprehensive_attribute_IIFDM

## 计算各方案的综合得分值并进行降序排序
def calculate_score_and_sort(comprehensive_IIFDM):
    '''
    输入参数:
        comprehensive_IIFDM:综合属性直觉模糊决策矩阵,尺寸为(m,4),其中m表示方案数
    返回值:
        scores:各个方案的综合得分值,尺寸为(1,m)
        sorted_index:方案排序后的索引值
    '''
    # 计算得分值
    scores = np.zeros((comprehensive_IIFDM.shape[0]))
    for i in range(comprehensive_IIFDM.shape[0]):
        scores[i] = (comprehensive_IIFDM[i][0] + comprehensive_IIFDM[i][1] - \
                     comprehensive_IIFDM[i][2] - comprehensive_IIFDM[i][3]) / 2
    # 降序排序
    sorted_index = np.argsort(-scores)
    # 返回结果
    return scores,sorted_index + 1

# S.1 确定区间直觉模糊决策矩阵F
IIFD_matrix = np.array([[[0.5,0.6,0.1,0.3],[0.3,0.4,0.4,0.5],[0.1,0.3,0.5,0.6],[0.7,0.8,0.1,0.2],[0.5,0.7,0.1,0.3]],
                        [[0.4,0.5,0.2,0.4],[0.4,0.6,0.2,0.4],[0.3,0.5,0.4,0.5],[0.6,0.7,0.2,0.3],[0.7,0.8,0.1,0.2]],
                        [[0.6,0.6,0.2,0.3],[0.7,0.8,0.1,0.2],[0.4,0.5,0.3,0.5],[0.4,0.6,0.1,0.3],[0.6,0.7,0.2,0.3]],
                        [[0.3,0.5,0.3,0.4],[0.5,0.7,0.2,0.3],[0.6,0.8,0.1,0.2],[0.5,0.6,0.2,0.3],[0.7,0.8,0.1,0.2]],
                        [[0.3,0.4,0.4,0.5],[0.2,0.4,0.3,0.4],[0.3,0.4,0.3,0.4],[0.3,0.5,0.4,0.5],[0.4,0.6,0.2,0.3]]])
print("\n","#"*75)
print("区间直觉模糊决策矩阵为:\n",IIFD_matrix)
print("#"*75)

# S.2 计算属性权重
attribute_weight = calculate_attribute_weight(IIFD_matrix)
print("\n","#"*75)
print("各属性的权重为:\n",attribute_weight)
print("#"*75)

# S.3 计算综合属性区间直觉模糊数
comprehensive_attribute_IIFD_matrix_IIFHA = calculate_comprehensive_attribute_IIFDM(IIFD_matrix,attribute_weight)
comprehensive_attribute_IIFD_matrix_IIFHG = calculate_comprehensive_attribute_IIFDM(IIFD_matrix,attribute_weight,type_func='IIFHG')
print("\n","#"*75)
print("综合属性权重(IIFHA)为:\n",comprehensive_attribute_IIFD_matrix_IIFHA)
print("综合属性权重(IIFHG)为:\n",comprehensive_attribute_IIFD_matrix_IIFHG)
print("#"*75)

# S.4 计算各方案的得分值并进行降序排序
scores_IIFHA, index_IIFHA = calculate_score_and_sort(comprehensive_attribute_IIFD_matrix_IIFHA)
scores_IIFHG, index_IIFHG = calculate_score_and_sort(comprehensive_attribute_IIFD_matrix_IIFHG)
print("\n","#"*75)
print("各方案的综合得分值(IIFHA)为:\n",scores_IIFHA)
print("各方案的综合排序结果(IIFHA)为:\n",index_IIFHA)
print("各方案的综合得分值(IIFHG)为:\n",scores_IIFHG)
print("各方案的综合排序结果(IIFHG)为:\n",index_IIFHG)
print("#"*75)

  计算结果如下:

###########################################################################
区间直觉模糊决策矩阵为:
[[[0.5 0.6 0.1 0.3]
[0.3 0.4 0.4 0.5]
[0.1 0.3 0.5 0.6]
[0.7 0.8 0.1 0.2]
[0.5 0.7 0.1 0.3]]

[[0.4 0.5 0.2 0.4]
[0.4 0.6 0.2 0.4]
[0.3 0.5 0.4 0.5]
[0.6 0.7 0.2 0.3]
[0.7 0.8 0.1 0.2]]

[[0.6 0.6 0.2 0.3]
[0.7 0.8 0.1 0.2]
[0.4 0.5 0.3 0.5]
[0.4 0.6 0.1 0.3]
[0.6 0.7 0.2 0.3]]

[[0.3 0.5 0.3 0.4]
[0.5 0.7 0.2 0.3]
[0.6 0.8 0.1 0.2]
[0.5 0.6 0.2 0.3]
[0.7 0.8 0.1 0.2]]

[[0.3 0.4 0.4 0.5]
[0.2 0.4 0.3 0.4]
[0.3 0.4 0.3 0.4]
[0.3 0.5 0.4 0.5]
[0.4 0.6 0.2 0.3]]]
###########################################################################

###########################################################################
各属性的权重为:
[0.16556291 0.24503311 0.26490066 0.1986755 0.12582781]
###########################################################################

###########################################################################
综合属性权重(IIFHA)为:
[[0.42677891 0.56941285 0.21512072 0.37691166]
[0.47152733 0.61886748 0.22023944 0.36730878]
[0.5501398 0.65465877 0.16372202 0.31098608]
[0.53272008 0.70496769 0.16314102 0.26853606]
[0.29061138 0.45012662 0.31657132 0.41844422]]
综合属性权重(IIFHG)为:
[[0.3079528 0.4880969 0.30261522 0.42926767]
[0.43105194 0.59304557 0.24763247 0.38878002]
[0.51632567 0.6254808 0.18637423 0.33839531]
[0.50303965 0.67649264 0.18063875 0.28109213]
[0.28163967 0.44001838 0.32700715 0.42755447]]
###########################################################################

###########################################################################
各方案的综合得分值(IIFHA)为:
[0.20207969 0.25142329 0.36504524 0.40300535 0.00286123]
各方案的综合排序结果(IIFHA)为:
[4 3 2 1 5]
各方案的综合得分值(IIFHG)为:
[ 0.0320834 0.1938425 0.30851847 0.3589007 -0.01645179]
各方案的综合排序结果(IIFHG)为:
[4 3 2 1 5]
###########################################################################


2.2 属性权重不完全情形下区间直觉模糊多属性决策

2.2.1 问题描述

  设某多属性决策问题有 m m m个方案 Y i ( i = 1 , 2 , ⋯   , m ) Y_{i}\left(i=1,2,\cdots,m\right) Yi(i=1,2,,m),组成方案集 Y = { Y 1 , Y 2 , ⋯   , Y m } Y = \left\{Y_{1},Y_{2},\cdots,Y_{m}\right\} Y={Y1,Y2,,Ym}评价每个方案的属性(或指标)为 G j ( j = 1 , 2 , ⋯   , n ) G_{j}\left(j=1,2,\cdots,n\right) Gj(j=1,2,,n),记属性集为 G = { G 1 , G 2 , ⋯   , G n } G=\left\{G_{1},G_{2},\cdots,G_{n}\right\} G={G1,G2,,Gn},属性 G j ( j = 1 , 2 , ⋯   , n ) G_{j}\left(j=1,2,\cdots,n\right) Gj(j=1,2,,n)的权重向量 ω = ( ω 1 , ω 2 , ⋯   , ω n ) T \boldsymbol{\omega} = {\left(\omega_{1},\omega_{2},\cdots,\omega_{n}\right)}^{T} ω=(ω1,ω2,,ωn)T 权 重 信 息 不 完 全 \color{blue}{权重信息不完全} ,其中 ω ‾ j ≤ ω j ≤ ω ‾ j ( j = 1 , 2 , ⋯   , n ) {\underline{\omega}_{j} \leq \omega_{j} \leq {\overline{\omega}_{j}}}\left(j=1,2,\cdots,n\right) ωjωjωj(j=1,2,,n)。假设方案 Y i ∈ Y Y_{i} \in Y YiY关于属性 G j ∈ G G_{j} \in G GjG的评价值可以表示为 F ~ i j = ⟨ [ μ i j L , μ i j U ] , [ ν i j L , ν i j U ] ⟩ ( i = 1 , 2 , ⋯   , m ; j = 1 , 2 , ⋯   , n ) \tilde{F}_{ij} = \left\langle[\mu_{ijL},\mu_{ijU}],[\nu_{ijL},\nu_{ijU}]\right\rangle\left(i=1,2,\cdots,m;j=1,2,\cdots,n\right) F~ij=[μijL,μijU],[νijL,νijU](i=1,2,,m;j=1,2,,n) F ~ i j \tilde{F}_{ij} F~ij为区间直觉模糊集,其中 [ μ i j L , μ i j U ] ∈ [ 0 , 1 ] [\mu_{ijL},\mu_{ijU}] \in [0,1] [μijL,μijU][0,1] [ ν i j L , ν i j U ] ∈ [ 0 , 1 ] [\nu_{ijL},\nu_{ijU}] \in [0,1] [νijL,νijU][0,1]分别表示方案 Y i ∈ Y Y_{i} \in Y YiY满足属性 G j ∈ G G_{j} \in G GjG和不满足属性 G j ∈ G G_{j} \in G GjG的程度。则矩阵 F I = ( ⟨ [ μ i j L , μ i j U ] , [ ν i j L , ν i j U ] ⟩ ) m × n F_I = {\left(\left\langle [\mu_{ijL},\mu_{ijU}],[\nu_{ijL},\nu_{ijU}] \right\rangle\right)}_{m×n} FI=([μijL,μijU],[νijL,νijU])m×n为该多属性决策问题的区间直觉模糊决策矩阵,现在的问题是依据区间直觉模糊决策矩阵 F I F_I FI 如 何 通 过 确 定 属 性 权 重 向 量 ω = ( ω 1 , ω 2 , ⋯   , ω n ) T , 得 到 一 个 有 效 的 决 策 分 析 方 法 对 所 有 方 案 进 行 优 劣 排 序 \color{red}{如何通过确定属性权重向量\boldsymbol{\omega} = {\left(\omega_{1},\omega_{2},\cdots,\omega_{n}\right)}^{T},得到一个有效的决策分析方法对所有方案进行优劣排序} ω=(ω1,ω2,,ωn)T,

2.2.2 属性权重的确定方法

  确定属性权重的目标是使所有方案与其他方案的总离差最大在权重满足条件 ω ‾ j ≤ ω j ≤ ω ‾ j ( j = 1 , 2 , ⋯   , n ) {\underline{\omega}_{j} \leq \omega_{j} \leq {\overline{\omega}_{j}}}\left(j=1,2,\cdots,n\right) ωjωjωj(j=1,2,,n)的情况下,求解权重向量就等价于求解以下最优化模型:

{ max ⁡ D ( ω ) = ∑ j = 1 n D j ( ω ) = 1 4 ∑ j = 1 n ∑ i = 1 m ∑ k = 1 m ω j ( ∣ μ i j L − μ k j L ∣ + ∣ μ i j U − μ k j U ∣ + ∣ ν i j L − ν k j L ∣ + ∣ ν i j U − ν k j U ∣ ) s . t . ω ‾ j ≤ ω j ≤ ω ‾ j ∑ j = 1 n ω j 2 = 1 , ω j ≥ 0 ( j = 1 , 2 , ⋯   , n ) (2.10) \color{blue} { \left\{ \begin{aligned} & \max D\left(\omega\right) = \sum_{j=1}^{n} D_{j}\left(\omega\right) = \frac{1}{4}\sum_{j=1}^{n}\sum_{i=1}^{m}\sum_{k=1}^{m}\omega_{j}\left(|\mu_{ijL} - \mu_{kjL}| + |\mu_{ijU} - \mu_{kjU}|+ |\nu_{ijL} - \nu_{kjL}| + |\nu_{ijU} - \nu_{kjU}|\right) \\ & s.t.{\underline{\omega}_{j} \leq \omega_{j} \leq {\overline{\omega}_{j}}} \sum_{j=1}^{n}\omega_{j}^{2} = 1,\omega_{j} \geq 0 \left(j=1,2,\cdots,n\right) \\ \end{aligned} \right. \tag{2.10} } maxD(ω)=j=1nDj(ω)=41j=1ni=1mk=1mωj(μijLμkjL+μijUμkjU+νijLνkjL+νijUνkjU)s.t.ωjωjωjj=1nωj2=1,ωj0(j=1,2,,n)(2.10)

  求解最优化模型 ( 2.10 ) (2.10) (2.10),可得属性 G j ( j = 1 , 2 , … , n ) G_{j}\left(j=1,2,…,n\right) Gj(j=1,2,,n)的权重向量 ω = ( ω 1 , ω 2 , ⋯   , ω n ) T \boldsymbol{\omega} = {\left(\omega_{1},\omega_{2},\cdots,\omega_{n}\right)}^{T} ω=(ω1,ω2,,ωn)T

2.2.3 属性权重不完全情形下的直觉模糊多属性决策步骤与实例分析

  根据以上分析,属性权重不完全情形下基于离差最大化的直觉模糊多属性决策的步骤可归纳如下。

  S.1 确定多属性决问题的方集 Y = { Y 1 , Y 2 , ⋯   , Y m } Y = \left\{Y_{1},Y_{2},\cdots,Y_{m}\right\} Y={Y1,Y2,,Ym}和属性集 G = { G 1 , G 2 , ⋯   , G n } G=\left\{G_{1},G_{2},\cdots,G_{n}\right\} G={G1,G2,,Gn}

  S.2 获取多属性决策问题中方案 Y i ∈ Y Y_{i} \in Y YiY关于属性 G j ∈ G G_{j} \in G GjG的直觉模糊特征信息,构建直觉模糊决策矩阵 F F F

  S.3 利用式 ( 2.10 ) (2.10) (2.10)确定各属性的权重,得到属性权重向量 ω = ( ω 1 , ω 2 , ⋯   , ω n ) T \boldsymbol{\omega}={\left(\omega_{1},\omega_{2},\cdots,\omega_{n}\right)}^{T} ω=(ω1,ω2,,ωn)T

  S.4 利用式 Y i Y_{i} Yi或计算方案的综合属性值 d ~ i \tilde{d}_{i} d~i
d ~ i = ⟨ μ i , ν i ⟩ = IIFHA ⁡ ω ( A ~ 1 , A ~ 2 , ⋯   , A ~ n ) = ⟨ [ 1 − ∏ j = 1 n ( 1 − μ j L ) ω j , 1 − ∏ j = 1 n ( 1 − μ j U ) ω j ] , [ ∏ j = 1 n ( ν j L ) ω j , ∏ j = 1 n ( ν j U ) ω j ] ⟩ \tilde{d}_{i} = \left\langle\mu_{i},\nu_{i}\right\rangle = \operatorname{IIFHA}_{\omega}\left(\tilde{A}_{1},\tilde{A}_{2},\cdots,\tilde{A}_{n}\right) = \left\langle \left[1 - \prod_{j=1}^{n}{\left(1 - \mu_{jL}\right)}^{\omega_{j}},1 - \prod_{j=1}^{n}{\left(1 - \mu_{jU}\right)}^{\omega_{j}}\right],\left[\prod_{j=1}^{n}{\left(\nu_{jL}\right)}^{\omega_{j}},\prod_{j=1}^{n}{\left(\nu_{jU}\right)}^{\omega_{j}}\right] \right\rangle d~i=μi,νi=IIFHAω(A~1,A~2,,A~n)=[1j=1n(1μjL)ωj,1j=1n(1μjU)ωj],[j=1n(νjL)ωj,j=1n(νjU)ωj]
d ~ i = ⟨ μ i , ν i ⟩ = IIFHG ⁡ ω ( A ~ 1 , A ~ 2 , ⋯   , A ~ n ) = ⟨ [ ∏ j = 1 n ( μ j L ) ω j , ∏ j = 1 n ( μ j U ) ω j ] , [ 1 − ∏ j = 1 n ( 1 − ν j L ) ω j , 1 − ∏ j = 1 n ( 1 − ν j U ) ω j ] ⟩ \tilde{d}_{i} = \left\langle\mu_{i},\nu_{i}\right\rangle = \operatorname{IIFHG}_{\omega}\left(\tilde{A}_{1},\tilde{A}_{2},\cdots,\tilde{A}_{n}\right) = \left\langle \left[\prod_{j=1}^{n}{\left(\mu_{jL}\right)}^{\omega_{j}},\prod_{j=1}^{n}{\left(\mu_{jU}\right)}^{\omega_{j}}\right],\left[1 - \prod_{j=1}^{n}{\left(1 - \nu_{jL}\right)}^{\omega_{j}},1 - \prod_{j=1}^{n}{\left(1 - \nu_{jU}\right)}^{\omega_{j}}\right] \right\rangle d~i=μi,νi=IIFHGω(A~1,A~2,,A~n)=[j=1n(μjL)ωj,j=1n(μjU)ωj],[1j=1n(1νjL)ωj,1j=1n(1νjU)ωj]

  S.5 利用觉模糊数的得分数和精确度公式,计算方案 Y i Y_{i} Yi的综合属性值 d ~ i \tilde{d}_{i} d~i的得分值 s ( d ~ i ) s\left(\tilde{d}_{i}\right) s(d~i)和精确值 h ( d ~ i ) h\left(\tilde{d}_{i}\right) h(d~i),确定 d ~ i ( i = 1 , 2 , ⋯   , m ) \tilde{d}_{i}\left(i=1,2,\cdots,m\right) d~i(i=1,2,,m)的不增排列顺序,并利用排序结果对方案 Y i ( i = 1 , 2 , ⋯   , m ) Y_{i}\left(i=1,2,\cdots,m\right) Yi(i=1,2,,m)进行优劣排序。

  示例2.2

  考虑企业选优秀理人员的多属性决策问题。假设某企业有五位备选管理人员 Y i ( i = 1 , 2 , 3 , 4 , 5 ) Y_i\left(i=1,2,3,4,5\right) Yi(i=1,2,3,4,5),评价优秀管理人员的属性包括专业技能( G 1 G_1 G1)、人际交往技能( G 2 G_2 G2)、理性技能( G 3 G_3 G3)和设计技能( G 4 G_4 G4)。如果企业管理层的专家准备根据这四个属性在备选的五位管理人员中选拔出一位优秀的管理人员,专家对五位备选管理人员关于四个属性的评价结果用区间直觉模糊数表示,相应地得到区间直觉模糊决策矩阵F,如表3-4所示。

表3-4.优秀管理人员选拔区间直觉模糊决策矩阵F
G 1 G_1 G1 G 2 G_2 G2 G 3 G_3 G3 G 4 G_4 G4
Y 1 Y_1 Y1 ⟨ [ 0.4 , 0.5 ] , [ 0.3 , 0.4 ] ⟩ \left\langle\left[0.4,0.5\right],\left[0.3,0.4\right]\right\rangle [0.4,0.5],[0.3,0.4] ⟨ [ 0.4 , 0.6 ] , [ 0.2 , 0.4 ] ⟩ \left\langle\left[0.4,0.6\right],\left[0.2,0.4\right]\right\rangle [0.4,0.6],[0.2,0.4] ⟨ [ 0.3 , 0.4 ] , [ 0.4 , 0.5 ] ⟩ \left\langle\left[0.3,0.4\right],\left[0.4,0.5\right]\right\rangle [0.3,0.4],[0.4,0.5] ⟨ [ 0.5 , 0.6 ] , [ 0.1 , 0.3 ] ⟩ \left\langle\left[0.5,0.6\right],\left[0.1,0.3\right]\right\rangle [0.5,0.6],[0.1,0.3]
Y 2 Y_2 Y2 ⟨ [ 0.5 , 0.6 ] , [ 0.2 , 0.3 ] ⟩ \left\langle\left[0.5,0.6\right],\left[0.2,0.3\right]\right\rangle [0.5,0.6],[0.2,0.3] ⟨ [ 0.6 , 0.7 ] , [ 0.2 , 0.3 ] ⟩ \left\langle\left[0.6,0.7\right],\left[0.2,0.3\right]\right\rangle [0.6,0.7],[0.2,0.3] ⟨ [ 0.5 , 0.6 ] , [ 0.3 , 0.4 ] ⟩ \left\langle\left[0.5,0.6\right],\left[0.3,0.4\right]\right\rangle [0.5,0.6],[0.3,0.4] ⟨ [ 0.4 , 0.7 ] , [ 0.1 , 0.2 ] ⟩ \left\langle\left[0.4,0.7\right],\left[0.1,0.2\right]\right\rangle [0.4,0.7],[0.1,0.2]
Y 3 Y_3 Y3 ⟨ [ 0.3 , 0.5 ] , [ 0.3 , 0.4 ] ⟩ \left\langle\left[0.3,0.5\right],\left[0.3,0.4\right]\right\rangle [0.3,0.5],[0.3,0.4] ⟨ [ 0.1 , 0.3 ] , [ 0.5 , 0.6 ] ⟩ \left\langle\left[0.1,0.3\right],\left[0.5,0.6\right]\right\rangle [0.1,0.3],[0.5,0.6] ⟨ [ 0.2 , 0.5 ] , [ 0.4 , 0.5 ] ⟩ \left\langle\left[0.2,0.5\right],\left[0.4,0.5\right]\right\rangle [0.2,0.5],[0.4,0.5] ⟨ [ 0.2 , 0.3 ] , [ 0.4 , 0.6 ] ⟩ \left\langle\left[0.2,0.3\right],\left[0.4,0.6\right]\right\rangle [0.2,0.3],[0.4,0.6]
Y 4 Y_4 Y4 ⟨ [ 0.2 , 0.5 ] , [ 0.3 , 0.4 ] ⟩ \left\langle\left[0.2,0.5\right],\left[0.3,0.4\right]\right\rangle [0.2,0.5],[0.3,0.4] ⟨ [ 0.4 , 0.7 ] , [ 0.1 , 0.2 ] ⟩ \left\langle\left[0.4,0.7\right],\left[0.1,0.2\right]\right\rangle [0.4,0.7],[0.1,0.2] ⟨ [ 0.4 , 0.5 ] , [ 0.3 , 0.5 ] ⟩ \left\langle\left[0.4,0.5\right],\left[0.3,0.5\right]\right\rangle [0.4,0.5],[0.3,0.5] ⟨ [ 0.5 , 0.8 ] , [ 0.1 , 0.2 ] ⟩ \left\langle\left[0.5,0.8\right],\left[0.1,0.2\right]\right\rangle [0.5,0.8],[0.1,0.2]
Y 5 Y_5 Y5 ⟨ [ 0.3 , 0.4 ] , [ 0.1 , 0.3 ] ⟩ \left\langle\left[0.3,0.4\right],\left[0.1,0.3\right]\right\rangle [0.3,0.4],[0.1,0.3] ⟨ [ 0.7 , 0.8 ] , [ 0.1 , 0.2 ] ⟩ \left\langle\left[0.7,0.8\right],\left[0.1,0.2\right]\right\rangle [0.7,0.8],[0.1,0.2] ⟨ [ 0.5 , 0.6 ] , [ 0.2 , 0.4 ] ⟩ \left\langle\left[0.5,0.6\right],\left[0.2,0.4\right]\right\rangle [0.5,0.6],[0.2,0.4] ⟨ [ 0.6 , 0.7 ] , [ 0.1 , 0.2 ] ⟩ \left\langle\left[0.6,0.7\right],\left[0.1,0.2\right]\right\rangle [0.6,0.7],[0.1,0.2]

  如果属性 G j ( i = 1 , 2 , 3 , 4 ) G_{j}\left(i=1,2,3,4\right) Gj(i=1,2,3,4)的权重 ω j ( j = 1 , 2 , 3 , 4 ) \omega_{j}\left(j=1,2,3,4\right) ωj(j=1,2,3,4)除了满足 ∑ j = 1 4 ω j = 1 \sum_{j=1}^{4}\omega_{j}=1 j=14ωj=1还满足一下条件: 0.13 ≤ ω 1 ≤ 0.15 0.13\leq\omega_{1}\leq0.15 0.13ω10.15 0.35 ≤ ω 1 ≤ 0.40 0.35\leq\omega_{1}\leq0.40 0.35ω10.40 0.15 ≤ ω 1 ≤ 0.20 0.15\leq\omega_{1}\leq0.20 0.15ω10.20 0.30 ≤ ω 1 ≤ 0.35 0.30\leq\omega_{1}\leq0.35 0.30ω10.35。下面对五位备选的管理人员 Y i ( i = 1 , 2 , 3 , 4 , 5 ) Y_{i}\left(i=1,2,3,4,5\right) Yi(i=1,2,3,4,5)进行优劣排序

  代码如下:

'''
属性权重不完全可知情况下的区间直觉模糊多属性决策案例分析
'''
import numpy as np
from scipy.optimize import linprog

## 属性系数计算函数
def calculate_attribute_coefficient(IIFD_matrix_input):
    '''
    输入参数:
        IIFD_matrix_input:区间直觉模糊决策矩阵,尺寸为(m,n,4),其中m表示方案数、n表示属性数、4表示区间直觉模糊数[u_L,u_U],[v_L,v_U]
    返回值:
        attribute_weight:属性权重向量,尺寸为(1,n)
    '''
    # 计算式(3.21)上半式
    attribute_coefficient = np.zeros((IIFD_matrix_input.shape[1]))
    for j in range(IIFD_matrix_input.shape[1]):
        tmp_sum_j = 0
        for i in range(IIFD_matrix_input.shape[0]):
            for k in range(IIFD_matrix_input.shape[0]):
                # 取出第i个直觉模糊数,取出第k个直觉模糊数
                IIFN_i = IIFD_matrix_input[i][j]
                IIFN_k = IIFD_matrix_input[k][j]
                tmp_sum_j += np.sum(np.abs(IIFN_i-IIFN_k))
        attribute_coefficient[j] = tmp_sum_j/4
    # 返回计算结果
    return attribute_coefficient

## 综合属性区间直觉模糊决策矩阵计算函数
def calculate_comprehensive_attribute_IIFDM(IIFD_matrix_input,attribute_weight,type_func='IIFHA'):
    '''
    输入参数:
        IIFD_matrix_input:区间直觉模糊决策矩阵,尺寸为(m,n,4),其中m表示方案数、n表示属性数、4表示区间直觉模糊数[u_L,u_U],[v_L,v_U]
        attribute_weight:属性权重向量,尺寸为(1,n)
        type:算子类型,可取值“IIFHA”和“IIFHG”,默认值为“IIFHA”
    返回值:
        comprehensive_attribute_IIFDM:综合属性区间直觉模糊决策矩阵,尺寸为(m,n,4)
    '''
    # 初始化综合属性区间直觉模糊决策矩阵
    comprehensive_attribute_IIFDM = np.zeros((IIFD_matrix_input.shape[0],4))
    # 计算综合属性区间直觉模糊决策矩阵
    if type_func == 'IIFHA':  # 计算算子为区间直觉模糊混合平均算子IIFHA
        for i in range(IIFD_matrix_input.shape[0]):
            tmp_mu_L = 1
            tmp_mu_U = 1
            tmp_nu_L = 1
            tmp_nu_U = 1
            for j in range(IIFD_matrix_input.shape[1]):
                tmp_mu_L *= np.power(1 - IIFD_matrix_input[i][j][0],attribute_weight[j])
                tmp_mu_U *= np.power(1 - IIFD_matrix_input[i][j][1],attribute_weight[j])
                tmp_nu_L *= np.power(IIFD_matrix_input[i][j][2],attribute_weight[j])
                tmp_nu_U *= np.power(IIFD_matrix_input[i][j][3],attribute_weight[j])
            comprehensive_attribute_IIFDM[i][0] = 1 - tmp_mu_L
            comprehensive_attribute_IIFDM[i][1] = 1 - tmp_mu_U
            comprehensive_attribute_IIFDM[i][2] = tmp_nu_L
            comprehensive_attribute_IIFDM[i][3] = tmp_nu_U
    elif type_func == 'IIFHG':  # 计算算子为区间直觉模糊混合几何算子IIFHG
        for i in range(IIFD_matrix_input.shape[0]):
            tmp_mu_L = 1
            tmp_mu_U = 1
            tmp_nu_L = 1
            tmp_nu_U = 1
            for j in range(IIFD_matrix_input.shape[1]):
                tmp_mu_L *= np.power(IIFD_matrix_input[i][j][0],attribute_weight[j])
                tmp_mu_U *= np.power(IIFD_matrix_input[i][j][1],attribute_weight[j])
                tmp_nu_L *= np.power(1 - IIFD_matrix_input[i][j][2],attribute_weight[j])
                tmp_nu_U *= np.power(1 - IIFD_matrix_input[i][j][3],attribute_weight[j])
            comprehensive_attribute_IIFDM[i][0] = tmp_mu_L
            comprehensive_attribute_IIFDM[i][1] = tmp_mu_U
            comprehensive_attribute_IIFDM[i][2] = 1 - tmp_nu_L
            comprehensive_attribute_IIFDM[i][3] = 1 - tmp_nu_U
    else:
        print("类型错误:type_func参数只能取值“IIFHA”和“IIFHG”!")
    return comprehensive_attribute_IIFDM

## 计算各方案的综合得分值并进行降序排序
def calculate_score_and_sort(comprehensive_IIFDM):
    '''
    输入参数:
        comprehensive_IIFDM:综合属性直觉模糊决策矩阵,尺寸为(m,4),其中m表示方案数
    返回值:
        scores:各个方案的综合得分值,尺寸为(1,m)
        sorted_index:方案排序后的索引值
    '''
    # 计算得分值
    scores = np.zeros((comprehensive_IIFDM.shape[0]))
    for i in range(comprehensive_IIFDM.shape[0]):
        scores[i] = (comprehensive_IIFDM[i][0] + comprehensive_IIFDM[i][1] - \
                     comprehensive_IIFDM[i][2] - comprehensive_IIFDM[i][3]) / 2
    # 降序排序
    sorted_index = np.argsort(-scores)
    # 返回结果
    return scores,sorted_index + 1

# S.1 确定区间直觉模糊决策矩阵F
IIFD_matrix = np.array([[[0.4,0.5,0.3,0.4],[0.4,0.6,0.2,0.4],[0.3,0.4,0.4,0.5],[0.5,0.6,0.1,0.3]],
                        [[0.5,0.6,0.2,0.3],[0.6,0.7,0.2,0.3],[0.5,0.6,0.3,0.4],[0.4,0.7,0.1,0.2]],
                        [[0.3,0.5,0.3,0.4],[0.1,0.3,0.5,0.6],[0.2,0.5,0.4,0.5],[0.2,0.3,0.4,0.6]],
                        [[0.2,0.5,0.3,0.4],[0.4,0.7,0.1,0.2],[0.4,0.5,0.3,0.5],[0.5,0.8,0.1,0.2]],
                        [[0.3,0.4,0.1,0.3],[0.7,0.8,0.1,0.2],[0.5,0.6,0.2,0.4],[0.6,0.7,0.1,0.2]]])
print("\n","#"*75)
print("区间直觉模糊决策矩阵为:\n",IIFD_matrix)
print("#"*75)

# S.2 计算属性系数
attribute_coefficient = calculate_attribute_coefficient(IIFD_matrix)
print("\n","#"*75)
print("各属性的系数为:\n",attribute_coefficient)
print("#"*75)

# S.3 求解各属性的权重
A_eq = np.array([[1,1,1,1]])
b_eq = np.array([1])
w_1 = (0.13,0.15)
w_2 = (0.35,0.40)
w_3 = (0.15,0.20)
w_4 = (0.30,0.35)
solver = linprog(attribute_coefficient,
                 A_eq=A_eq,b_eq=b_eq,
                 bounds = (w_1,w_2,w_3,w_4))
attribute_weight = solver.x
print("\n","#"*75)
print("各属性的权重为:\n",attribute_weight)
print("#"*75)

# S.3 计算综合属性区间直觉模糊数
comprehensive_attribute_IIFD_matrix_IIFHA = calculate_comprehensive_attribute_IIFDM(IIFD_matrix,attribute_weight)
comprehensive_attribute_IIFD_matrix_IIFHG = calculate_comprehensive_attribute_IIFDM(IIFD_matrix,attribute_weight,type_func='IIFHG')
print("\n","#"*75)
print("综合属性权重(IIFHA)为:\n",comprehensive_attribute_IIFD_matrix_IIFHA)
print("综合属性权重(IIFHG)为:\n",comprehensive_attribute_IIFD_matrix_IIFHG)
print("#"*75)

# S.4 计算各方案的得分值并进行降序排序
scores_IIFHA, index_IIFHA = calculate_score_and_sort(comprehensive_attribute_IIFD_matrix_IIFHA)
scores_IIFHG, index_IIFHG = calculate_score_and_sort(comprehensive_attribute_IIFD_matrix_IIFHG)
print("\n","#"*75)
print("各方案的综合得分值(IIFHA)为:\n",scores_IIFHA)
print("各方案的综合排序结果(IIFHA)为:\n",index_IIFHA)
print("各方案的综合得分值(IIFHG)为:\n",scores_IIFHG)
print("各方案的综合排序结果(IIFHG)为:\n",index_IIFHG)
print("#"*75)

  计算结果如下:

###########################################################################
区间直觉模糊决策矩阵为:
[[[0.4 0.5 0.3 0.4]
[0.4 0.6 0.2 0.4]
[0.3 0.4 0.4 0.5]
[0.5 0.6 0.1 0.3]]
  
[[0.5 0.6 0.2 0.3]
[0.6 0.7 0.2 0.3]
[0.5 0.6 0.3 0.4]
[0.4 0.7 0.1 0.2]]
  
[[0.3 0.5 0.3 0.4]
[0.1 0.3 0.5 0.6]
[0.2 0.5 0.4 0.5]
[0.2 0.3 0.4 0.6]]
  
[[0.2 0.5 0.3 0.4]
[0.4 0.7 0.1 0.2]
[0.4 0.5 0.3 0.5]
[0.5 0.8 0.1 0.2]]
  
[[0.3 0.4 0.1 0.3]
[0.7 0.8 0.1 0.2]
[0.5 0.6 0.2 0.4]
[0.6 0.7 0.1 0.2]]]
###########################################################################
  
###########################################################################
各属性的系数为:
[1.9 4.4 2.1 3.5]
###########################################################################
  
###########################################################################
各属性的权重为:
[0.15 0.35 0.2 0.3 ]
###########################################################################
  
###########################################################################
综合属性权重(IIFHA)为:
[[0.41415027 0.55144599 0.19830821 0.38367224]
[0.51156602 0.6682203 0.17617296 0.28137248]
[0.18286356 0.37776673 0.41422632 0.54437894]
[0.40688667 0.68235579 0.14689007 0.2665462 ]
[0.58869012 0.69406331 0.11486984 0.24414604]]
综合属性权重(IIFHG)为:
[[0.40378041 0.53833896 0.23308152 0.39410267]
[0.49843719 0.66323382 0.19306723 0.2935096 ]
[0.16675666 0.35873051 0.42392393 0.55551646]
[0.38545927 0.64766557 0.17578228 0.30253057]
[0.55029033 0.65395845 0.12095318 0.25970733]]
###########################################################################
  
###########################################################################
各方案的综合得分值(IIFHA)为:
[ 0.19180791 0.36112044 -0.19898748 0.33790309 0.46186878]
各方案的综合排序结果(IIFHA)为:
[5 2 4 1 3]
各方案的综合得分值(IIFHG)为:
[ 0.15746759 0.33754709 -0.22697661 0.277406 0.41179413]
各方案的综合排序结果(IIFHG)为:
[5 2 4 1 3]
###########################################################################


特别说明:本专栏主要参考郭子雪等所著《直觉模糊多属性决策理论方法及应用研究》书籍,部分代码计算结果与书中有所出入,请仔细甄别!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值