Part V.S4.Sub-part2. 动态直觉模糊信息下的VIKOR方法

4.2 区间直觉模糊信息下的动态VIKOR方法

4.2.1 问题描述

  设某多阶段动态多属性决策问题有 p p p个不同时段 t k ( k = 1 , 2 , ⋯   , p ) t_k\left(k=1,2,\cdots,p\right) tk(k=1,2,,p) 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=\{Y_1,Y_2,\cdots,Y_m\} 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=\{G_1,G_2,\cdots,G_n\} 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满足 ∑ j = 1 n ω j = 1 , ω j ≥ 0 , j = 1 , 2 , ⋯   , n \sum_{j=1}^{n}\omega_{j}=1,\omega_{j} \geq 0,j=1,2,\cdots,n j=1nωj=1,ωj0,j=1,2,,n w k w_{k} wk为时段 t k t_{k} tk的时间权重 ( k = 1 , 2 , ⋯   , p ) \left(k=1,2,\cdots,p\right) (k=1,2,,p),满足 ∑ k = 1 p w k = 1 , w k ≥ 0 , k = 1 , 2 , ⋯   , p \sum_{k=1}^{p}w_{k}=1,w_{k} \geq 0, k=1,2,\cdots,p k=1pwk=1,wk0,k=1,2,,p。 如果 F ~ i j ( t k ) = ( ⟨ [ μ i j L ( k ) , μ i j U ( k ) ] , [ ν i j L ( k ) , ν i j U ( k ) ] ⟩ ) m × n ( i = 1 , 2 , ⋯   , m ; j = 1 , 2 , ⋯   , n ) \tilde{F}_{ij}\left(t_{k}\right) = \left( \left\langle \left[\mu_{ijL}^{\left(k\right)},\mu_{ijU}^{\left(k\right)}\right], \left[\nu_{ijL}^{\left(k\right)},\nu_{ijU}^{\left(k\right)}\right] \right\rangle \right)_{m×n}\left(i=1,2,\cdots,m;j=1,2,\cdots,n\right) F~ij(tk)=([μijL(k),μijU(k)],[νijL(k),νijU(k)])m×n(i=1,2,,m;j=1,2,,n)为直觉模糊集,表示时段 t k t_{k} tk方案 Y i Y_{i} Yi满足属性 G j ∈ G G_{j} \in G GjG和不满足属性 G j ∈ G G_{j} \in G GjG的程度,且满足 0 ≤ μ i j U ( k ) + ν i j U ( k ) ≤ 1 0 \leq \mu_{ijU}^{\left(k\right)} + \nu_{ijU}^{\left(k\right)} \leq 1 0μijU(k)+νijU(k)1,则矩阵 F I ( t k ) = ( ⟨ [ μ i j L ( k ) , μ i j U ( k ) ] , [ ν i j L ( k ) , ν i j U ( k ) ] ⟩ ) m × n F_{I}\left(t_{k}\right) = \left( \left\langle \left[\mu_{ijL}^{\left(k\right)},\mu_{ijU}^{\left(k\right)}\right],\left[\nu_{ijL}^{\left(k\right)},\nu_{ijU}^{\left(k\right)}\right] \right\rangle \right)_{m×n} FI(tk)=([μijL(k),μijU(k)],[νijL(k),νijU(k)])m×n为该多属性决策问题在时段 t k ( k = 1 , 2 , ⋯   , p ) t_k\left(k=1,2,\cdots,p\right) tk(k=1,2,,p)的直觉模糊决策矩阵。现在的问题是依据直觉模糊决策矩阵 F I ( t k ) ( k = 1 , 2 , ⋯   , p ) F_{I}\left(t_{k}\right)\left(k=1,2,\cdots,p\right) FI(tk)(k=1,2,,p),如何通过确定属性权重 ω = ( ω 1 , ω 2 , ⋯   , ω n ) T \boldsymbol{\omega} = {\left(\omega_{1},\omega_{2},\cdots,\omega_{n}\right)}^{T} ω=(ω1,ω2,,ωn)T,得到一个有效的决策方法对所有方案进行优劣排序。

4.2.2 属性权重和时段权重的确定方法

  属性权重反映属性的重要程度,利用区间直觉模糊熵确定属性权重。在多阶段动态直觉模糊多属性决策问题中,如果 F ~ i j = ⟨ [ μ i j L μ i j U ] , [ ν i j L , ν i j U ] ⟩ \tilde{F}_{ij} = \left\langle \left[\mu_{ijL}\mu_{ijU}\right],\left[\nu_{ijL},\nu_{ijU}\right] \right\rangle F~ij=[μijLμijU],[νijL,νijU]表示利用 DIIFWA ⁡ \operatorname{DIIFWA} DIIFWA算子得到的方案 Y i ( i = 1 , 2 , ⋯   , m ) Y_{i}\left(i=1,2,\cdots,m\right) Yi(i=1,2,,m)在各时段 t k ( k = 1 , 2 , ⋯   , p ) t_k\left(k=1,2,\cdots,p\right) tk(k=1,2,,p)关于属性 G j ( j = 1 , 2 , ⋯   , n ) G_{j}\left(j=1,2,\cdots,n\right) Gj(j=1,2,,n)的评价值 F I ( t k ) = ( ⟨ [ μ i j L ( k ) , μ i j U ( k ) ] , [ ν i j L ( k ) , ν i j U ( k ) ] ⟩ ) m × n F_{I}\left(t_{k}\right) = \left( \left\langle \left[\mu_{ijL}^{\left(k\right)},\mu_{ijU}^{\left(k\right)}\right],\left[\nu_{ijL}^{\left(k\right)},\nu_{ijU}^{\left(k\right)}\right] \right\rangle \right)_{m×n} FI(tk)=([μijL(k),μijU(k)],[νijL(k),νijU(k)])m×n的集结值,则属性 G j ( j = 1 , 2 , ⋯   , n ) G_{j}\left(j=1,2,\cdots,n\right) Gj(j=1,2,,n)的区间直觉模糊熵 E j E_{j} Ej,为

E j = 1 m ∑ i = 1 m cos ⁡ π ( ∣ ( μ i j L − ν i j L ) ( 1 − π i j L ) ∣ + ∣ ( μ i j U − ν i j U ) ( 1 − π i j U ) ∣ ) 4 , j = 1 , 2 , ⋯   , n (4.7) E_{j} = \frac{1}{m}\sum_{i=1}^{m}\cos{\frac {\pi \left( \left|\left(\mu_{ijL}-\nu_{ijL}\right)\left( 1-\pi_{ijL}\right)\right| + \left|\left(\mu_{ijU}-\nu_{ijU}\right)\left( 1-\pi_{ijU}\right)\right| \right) } {4}},j=1,2,\cdots,n \tag{4.7} Ej=m1i=1mcos4π((μijLνijL)(1πijL)+(μijUνijU)(1πijU)),j=1,2,,n(4.7)

  由此得到属性 G j ( j = 1 , 2 , ⋯   , n ) G_{j}\left(j=1,2,\cdots,n\right) Gj(j=1,2,,n)的权重 ω j \omega_{j} ωj

ω j = 1 − E j n − ∑ j = 1 n E j , j = 1 , 2 , ⋯   , n (4.8) \omega_{j} = \frac {1 - E_{j}} {n - \sum_{j=1}^{n} E_{j}},\quad j=1,2,\cdots,n \tag{4.8} ωj=nj=1nEj1Ej,j=1,2,,n(4.8)

  时段权重的确定也是动态区间直觉模糊多属性决策中的一个关键问题。利用“厚今薄古”法确定时段 t k ( k = 1 , 2 , ⋯   , p ) t_k\left(k=1,2,\cdots,p\right) tk(k=1,2,,p)的权重,即求解非线性规划模型:

max ⁡ I = − ∑ k = 1 p w k ln ⁡ w k s.t. λ = ∑ k = 1 p p − 1 p − 1 w k , ∑ k = 1 p w k = 1 , w k ≥ 0 , k = 1 , 2 , ⋯   , p \begin{aligned} & \max{I} = - \sum_{k=1}^{p} w_{k}\ln{w_{k}} \\ & \text{s.t.}\lambda = \sum_{k=1}^{p} \frac {p-1} {p-1} w_{k}, \sum_{k=1}^{p}w_{k}=1, w_{k} \geq 0, k=1,2,\cdots,p \end{aligned} maxI=k=1pwklnwks.t.λ=k=1pp1p1wk,k=1pwk=1,wk0,k=1,2,,p

  式中, λ \lambda λ为时间度,表示决策者对时段的重视程度,通常用 λ = 0.1 , 0.2 , 0.3 , 0.4 , 0.5 \lambda = 0.1,0.2,0.3,0.4,0.5 λ=0.1,0.2,0.3,0.4,0.5代表决策者极端重视、强烈重视、明显重视、稍微重视近期数据和同样重视所有时段数据。

4.2.3 动态区间直觉模糊信息下的VIKOR方法的决策步骤

  S.1 确定动态多属性决问题的方案集 Y = { Y 1 , Y 2 , ⋯   , Y m } Y=\{Y_1,Y_2,\cdots,Y_m\} Y={Y1,Y2,,Ym}和属性集 G = { G 1 , G 2 , ⋯   , G n } G=\{G_1,G_2,\cdots,G_n\} G={G1,G2,,Gn},获取多属性决策问题中方案 Y i ∈ Y Y_{i} \in Y YiY关于属性 G j ∈ G G_{j} \in G GjG的区间直觉模糊特征信息,构建动态多属性决策问题各时段 t k t_{k} tk的区间直觉模糊决策矩阵 F I ( t k ) = ( ⟨ [ μ i j L ( k ) , μ i j U ( k ) ] , [ ν i j L ( k ) , ν i j U ( k ) ] ⟩ ) m × n ( k = 1 , 2 , ⋯   , p ) F_{I}\left(t_{k}\right) = \left( \left\langle \left[\mu_{ijL}^{\left(k\right)},\mu_{ijU}^{\left(k\right)}\right],\left[\nu_{ijL}^{\left(k\right)},\nu_{ijU}^{\left(k\right)}\right] \right\rangle \right)_{m×n}\left(k=1,2,\cdots,p\right) FI(tk)=([μijL(k),μijU(k)],[νijL(k),νijU(k)])m×n(k=1,2,,p)

  S.2 给定时间度 λ \lambda λ,求解非线性规划模型 ( 4.3 ) (4.3) (4.3)

max ⁡ I = − ∑ k = 1 p w k ln ⁡ w k s.t. λ = ∑ k = 1 p p − 1 p − 1 w k , ∑ k = 1 p w k = 1 , w k ≥ 0 , k = 1 , 2 , ⋯   , p \begin{aligned} & \max{I} = - \sum_{k=1}^{p} w_{k}\ln{w_{k}} \\ & \text{s.t.}\lambda = \sum_{k=1}^{p} \frac {p-1} {p-1} w_{k}, \sum_{k=1}^{p}w_{k}=1, w_{k} \geq 0, k=1,2,\cdots,p \end{aligned} maxI=k=1pwklnwks.t.λ=k=1pp1p1wk,k=1pwk=1,wk0,k=1,2,,p

  S.3 利用动态区间直觉模糊加权平均算子,计算方案 Y i ( i = 1 , 2 , ⋯   , m ) Y_{i}\left(i=1,2,\cdots,m\right) Yi(i=1,2,,m)在各时段 t k ( k = 1 , 2 , ⋯   , p ) t_k\left(k=1,2,\cdots,p\right) tk(k=1,2,,p)区间直觉模糊属性值 F ~ i j ( t k ) \tilde{F}_{ij}\left(t_{k}\right) F~ij(tk)的综合值 F ~ i j \tilde{F}_{ij} F~ij:

F ~ i j = ⟨ [ μ i j L , μ i j U ] , [ ν i j L , ν i j U ] ⟩ = DIIFWA ⁡ ω , w ( F ~ i j ( t 1 ) , F ~ i j ( t 2 ) , ⋯   , F ~ i j ( t p ) ) = ⟨ [ 1 − ∏ k = 1 p ( 1 − μ i j L ( k ) ) w k , 1 − ∏ k = 1 p ( 1 − μ i j U ( k ) ) w k ] , [ ∏ k = 1 p ( ν i j L ( k ) ) w k , ∏ k = 1 p ( ν i j U ( k ) ) w k ] ⟩ , i = 1 , 2 , ⋯   , m ; j = 1 , 2 , ⋯   , n (4.9) \begin{aligned} \tilde{F}_{ij} &= \left\langle \left[\mu_{ijL},\mu_{ijU}\right], \left[\nu_{ijL},\nu_{ijU}\right] \right\rangle \\ &= \operatorname{DIIFWA}_{\omega,w} \left( \tilde{F}_{ij}\left(t_{1}\right), \tilde{F}_{ij}\left(t_{2}\right),\cdots, \tilde{F}_{ij}\left(t_{p}\right) \right) \\ &= \left\langle \left[1-\prod_{k=1}^{p} {\left(1-\mu_{ijL}^{\left(k\right)}\right)}^{w_{k}},1-\prod_{k=1}^{p} {\left(1-\mu_{ijU}^{\left(k\right)}\right)}^{w_{k}}\right], \left[\prod_{k=1}^{p} {\left(\nu_{ijL}^{\left(k\right)}\right)}^{w_{k}},\prod_{k=1}^{p} {\left(\nu_{ijU}^{\left(k\right)}\right)}^{w_{k}}\right] \right\rangle,\quad i=1,2,\cdots,m;j=1,2,\cdots,n \\ \end{aligned} \tag{4.9} F~ij=[μijL,μijU],[νijL,νijU]=DIIFWAω,w(F~ij(t1),F~ij(t2),,F~ij(tp))=[1k=1p(1μijL(k))wk,1k=1p(1μijU(k))wk],[k=1p(νijL(k))wk,k=1p(νijU(k))wk],i=1,2,,m;j=1,2,,n(4.9)

  得到直觉模糊综合决策矩阵 F = ( ⟨ [ μ i j L , μ i j U ] , [ ν i j L , ν i j U ] ⟩ ) m × n F = \left( \left\langle \left[\mu_{ijL},\mu_{ijU}\right], \left[\nu_{ijL},\nu_{ijU}\right] \right\rangle \right)_{m×n} F=([μijL,μijU],[νijL,νijU])m×n

  或动态区间直觉模糊加权几何算子:

F ~ i j = ⟨ [ μ i j L , μ i j U ] , [ ν i j L , ν i j U ] ⟩ = DIIFWA ⁡ ω , w ( F ~ i j ( t 1 ) , F ~ i j ( t 2 ) , ⋯   , F ~ i j ( t p ) ) = ⟨ [ ∏ k = 1 p ( μ i j L ( k ) ) w k , ∏ k = 1 p ( μ i j U ( k ) ) w k ] , [ 1 − ∏ k = 1 p ( 1 − ν i j L ( k ) ) w k , 1 − ∏ k = 1 p ( 1 − ν i j U ( k ) ) w k ] ⟩ , i = 1 , 2 , ⋯   , m ; j = 1 , 2 , ⋯   , n (4.10) \begin{aligned} \tilde{F}_{ij} &= \left\langle \left[\mu_{ijL},\mu_{ijU}\right], \left[\nu_{ijL},\nu_{ijU}\right] \right\rangle \\ &= \operatorname{DIIFWA}_{\omega,w} \left( \tilde{F}_{ij}\left(t_{1}\right), \tilde{F}_{ij}\left(t_{2}\right),\cdots, \tilde{F}_{ij}\left(t_{p}\right) \right) \\ &= \left\langle \left[\prod_{k=1}^{p} {\left(\mu_{ijL}^{\left(k\right)}\right)}^{w_{k}},\prod_{k=1}^{p} {\left(\mu_{ijU}^{\left(k\right)}\right)}^{w_{k}}\right], \left[1-\prod_{k=1}^{p} {\left(1-\nu_{ijL}^{\left(k\right)}\right)}^{w_{k}},1-\prod_{k=1}^{p} {\left(1-\nu_{ijU}^{\left(k\right)}\right)}^{w_{k}}\right] \right\rangle,\quad i=1,2,\cdots,m;j=1,2,\cdots,n \\ \end{aligned} \tag{4.10} F~ij=[μijL,μijU],[νijL,νijU]=DIIFWAω,w(F~ij(t1),F~ij(t2),,F~ij(tp))=[k=1p(μijL(k))wk,k=1p(μijU(k))wk],[1k=1p(1νijL(k))wk,1k=1p(1νijU(k))wk],i=1,2,,m;j=1,2,,n(4.10)

  S.4 根据区间直觉模糊综合决策矩阵 F F F,确定动态多属性决策问题的正理想解 Y + Y^{+} Y+和负理想解 Y − Y^{-} Y:

Y + = ( ⟨ [ μ 1 L + , μ 1 U + ] , [ ν 1 L + , ν 1 U + ] ⟩ , ⟨ [ μ 2 L + , μ 2 U + ] , [ ν 2 L + , ν 2 U + ] ⟩ , ⋯   , ⟨ [ μ n L + , μ n U + ] , [ ν n L + , ν n U + ] ⟩ ) (4.11) \begin{aligned} Y^{+} &=\left(\left\langle \left[ \mu_{1L}^{+},\mu_{1U}^{+}\right],\left[\nu_{1L}^{+},\nu_{1U}^{+}\right] \right\rangle,\left\langle \left[ \mu_{2L}^{+},\mu_{2U}^{+}\right],\left[\nu_{2L}^{+},\nu_{2U}^{+}\right] \right\rangle, \cdots,\left\langle \left[ \mu_{nL}^{+},\mu_{nU}^{+}\right],\left[\nu_{nL}^{+},\nu_{nU}^{+}\right] \right\rangle\right) \\ \tag{4.11} \end{aligned} Y+=([μ1L+,μ1U+],[ν1L+,ν1U+],[μ2L+,μ2U+],[ν2L+,ν2U+],,[μnL+,μnU+],[νnL+,νnU+])(4.11)

Y − = ( ⟨ [ μ 1 L − , μ 1 U − ] , [ ν 1 L − , ν 1 U − ] ⟩ , ⟨ [ μ 2 L − , μ 2 U − ] , [ ν 2 L − , ν 2 U − ] ⟩ , ⋯   , ⟨ [ μ n L + , μ n U − ] , [ ν n L + , ν n U − ] ⟩ ) (4.12) \begin{aligned} Y^{-} &=\left(\left\langle \left[ \mu_{1L}^{-},\mu_{1U}^{-}\right],\left[\nu_{1L}^{-},\nu_{1U}^{-}\right] \right\rangle,\left\langle \left[ \mu_{2L}^{-},\mu_{2U}^{-}\right],\left[\nu_{2L}^{-},\nu_{2U}^{-}\right] \right\rangle, \cdots,\left\langle \left[ \mu_{nL}^{+},\mu_{nU}^{-}\right],\left[\nu_{nL}^{+},\nu_{nU}^{-}\right] \right\rangle\right) \\ \tag{4.12} \end{aligned} Y=([μ1L,μ1U],[ν1L,ν1U],[μ2L,μ2U],[ν2L,ν2U],,[μnL+,μnU],[νnL+,νnU])(4.12)

  式中

⟨ [ μ j L + , μ j U + ] , [ ν j L + , ν j U + ] ⟩ = ⟨ [ max ⁡ j μ i j L , max ⁡ j μ i j U ] , [ min ⁡ j ν i j L , min ⁡ j ν i j U ] ⟩ \left\langle \left[ \mu_{jL}^{+},\mu_{jU}^{+}\right],\left[\nu_{jL}^{+},\nu_{jU}^{+}\right] \right\rangle = \left\langle \left[ \max_{j}\mu_{ijL},\max_{j}\mu_{ijU}\right],\left[\min_{j}\nu_{ijL},\min_{j}\nu_{ijU}\right] \right\rangle [μjL+,μjU+],[νjL+,νjU+]=[jmaxμijL,jmaxμijU],[jminνijL,jminνijU]

⟨ [ μ j L − , μ j U − ] , [ ν j L − , ν j U − ] ⟩ = ⟨ [ min ⁡ j μ i j L , min ⁡ j μ i j U ] , [ max ⁡ j ν i j L , max ⁡ j ν i j U ] ⟩ \left\langle \left[ \mu_{jL}^{-},\mu_{jU}^{-}\right],\left[\nu_{jL}^{-},\nu_{jU}^{-}\right] \right\rangle = \left\langle \left[ \min_{j}\mu_{ijL},\min_{j}\mu_{ijU}\right],\left[\max_{j}\nu_{ijL},\max_{j}\nu_{ijU}\right] \right\rangle [μjL,μjU],[νjL,νjU]=[jminμijL,jminμijU],[jmaxνijL,jmaxνijU]

  S.5 根据区间直觉模糊综合决策矩阵 F = ( ⟨ [ μ i j L , μ i j U ] , [ ν i j L , ν i j U ] ⟩ ) m × n F = \left( \left\langle \left[\mu_{ijL},\mu_{ijU}\right], \left[\nu_{ijL},\nu_{ijU}\right] \right\rangle \right)_{m×n} F=([μijL,μijU],[νijL,νijU])m×n,由式 ( 4.7 ) (4.7) (4.7)和式 ( 4.8 ) (4.8) (4.8)计算属性 G j ( j = 1 , 2 , ⋯   , n ) G_{j}\left(j=1,2,\cdots,n\right) Gj(j=1,2,,n)的区间直觉模糊熵 E j E_{j} Ej和属性权重 ω j \omega_{j} ωj

  S.6 计算各备选方案 Y i ( i = 1 , 2 , ⋯   , m ) Y_{i}\left(i=1,2,\cdots,m\right) Yi(i=1,2,,m)的群体效益值 S i S_{i} Si、个体遗憾值 R i R_{i} Ri以及折中值 Q i Q_{i} Qi

S i = ∑ j = 1 n ω j [ d ( Y j + , F ~ i j ) d ( Y j + , Y j − ) ] , i = 1 , 2 , ⋯   , m S_{i} = \sum_{j=1}^{n}\omega_{j}\left[\frac{d\left(Y_{j}^{+},\tilde{F}_{ij}\right)}{d\left(Y_{j}^{+},Y_{j}^{-}\right)}\right],i=1,2,\cdots,m Si=j=1nωjd(Yj+,Yj)d(Yj+,F~ij),i=1,2,,m

R i = max ⁡ j { ω j [ d ( Y j + , F ~ i j ) d ( Y j + , Y j − ) ] } , i = 1 , 2 , ⋯   , m R_{i} = \max_{j} \left\{ \omega_{j}\left[ \frac{d\left(Y_{j}^{+},\tilde{F}_{ij}\right)}{d\left(Y_{j}^{+},Y_{j}^{-}\right)} \right] \right\},i=1,2,\cdots,m Ri=jmaxωjd(Yj+,Yj)d(Yj+,F~ij),i=1,2,,m

Q i = ν S i − S + S − − S + + ( 1 − ν ) R i − R + R − − R + , i = 1 , 2 , ⋯   , m Q_{i} = \nu\frac{S_{i}-S^{+}}{S^{-}-S^{+}} + \left(1-\nu\right)\frac{R_{i}-R^{+}}{R^{-}-R^{+}},i=1,2,\cdots,m Qi=νSS+SiS++(1ν)RR+RiR+,i=1,2,,m

  根据排序条件 1 1 1和排序条件 2 2 2确定最优解方案或折中解方案。

4.2.4 实例分析

  考虑风险投资项目方案选择问题。设一个投资者欲对五个可供选择的投资项目方案 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)四个方面。假设投资者通过对最近三年各方案属性值的分析处理,得到三个时段 t k ( k = 1 , 2 , 3 ) t_{k}\left(k=1,2,3\right) tk(k=1,2,3)内每个方案关于属性 G j ( j = 1 , 2 , 3 , 4 ) G_{j}\left(j=1,2,3,4\right) Gj(j=1,2,3,4)的直觉模糊评价结果如表4-4、4-5、4-6所示。

表4-4.区间直觉模糊决策矩阵$F\left(t_{1}\right)$
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.5 , 0.6 ] , [ 0.3 , 0.4 ] ⟩ \left\langle [0.5,0.6],[0.3,0.4] \right\rangle [0.5,0.6],[0.3,0.4] ⟨ [ 0.6 , 0.7 ] , [ 0.2 , 0.3 ] ⟩ \left\langle [0.6,0.7],[0.2,0.3] \right\rangle [0.6,0.7],[0.2,0.3] ⟨ [ 0.7 , 0.8 ] , [ 0.1 , 0.2 ] ⟩ \left\langle [0.7,0.8],[0.1,0.2] \right\rangle [0.7,0.8],[0.1,0.2] ⟨ [ 0.4 , 0.5 ] , [ 0.3 , 0.4 ] ⟩ \left\langle [0.4,0.5],[0.3,0.4] \right\rangle [0.4,0.5],[0.3,0.4]
Y 2 Y_2 Y2 ⟨ [ 0.6 , 0.7 ] , [ 0.1 , 0.2 ] ⟩ \left\langle [0.6,0.7],[0.1,0.2] \right\rangle [0.6,0.7],[0.1,0.2] ⟨ [ 0.5 , 0.7 ] , [ 0.1 , 0.2 ] ⟩ \left\langle [0.5,0.7],[0.1,0.2] \right\rangle [0.5,0.7],[0.1,0.2] ⟨ [ 0.7 , 0.8 ] , [ 0.0 , 0.1 ] ⟩ \left\langle [0.7,0.8],[0.0,0.1] \right\rangle [0.7,0.8],[0.0,0.1] ⟨ [ 0.3 , 0.4 ] , [ 0.3 , 0.4 ] ⟩ \left\langle [0.3,0.4],[0.3,0.4] \right\rangle [0.3,0.4],[0.3,0.4]
Y 3 Y_3 Y3 ⟨ [ 0.5 , 0.6 ] , [ 0.2 , 0.3 ] ⟩ \left\langle [0.5,0.6],[0.2,0.3] \right\rangle [0.5,0.6],[0.2,0.3] ⟨ [ 0.4 , 0.5 ] , [ 0.3 , 0.4 ] ⟩ \left\langle [0.4,0.5],[0.3,0.4] \right\rangle [0.4,0.5],[0.3,0.4] ⟨ [ 0.5 , 0.6 ] , [ 0.2 , 0.3 ] ⟩ \left\langle [0.5,0.6],[0.2,0.3] \right\rangle [0.5,0.6],[0.2,0.3] ⟨ [ 0.6 , 0.7 ] , [ 0.1 , 0.2 ] ⟩ \left\langle [0.6,0.7],[0.1,0.2] \right\rangle [0.6,0.7],[0.1,0.2]
Y 4 Y_4 Y4 ⟨ [ 0.7 , 0.8 ] , [ 0.1 , 0.2 ] ⟩ \left\langle [0.7,0.8],[0.1,0.2] \right\rangle [0.7,0.8],[0.1,0.2] ⟨ [ 0.4 , 0.5 ] , [ 0.3 , 0.4 ] ⟩ \left\langle [0.4,0.5],[0.3,0.4] \right\rangle [0.4,0.5],[0.3,0.4] ⟨ [ 0.3 , 0.4 ] , [ 0.4 , 0.5 ] ⟩ \left\langle [0.3,0.4],[0.4,0.5] \right\rangle [0.3,0.4],[0.4,0.5] ⟨ [ 0.3 , 0.4 ] , [ 0.4 , 0.5 ] ⟩ \left\langle [0.3,0.4],[0.4,0.5] \right\rangle [0.3,0.4],[0.4,0.5]
Y 5 Y_5 Y5 ⟨ [ 0.6 , 0.7 ] , [ 0.2 , 0.3 ] ⟩ \left\langle [0.6,0.7],[0.2,0.3] \right\rangle [0.6,0.7],[0.2,0.3] ⟨ [ 0.4 , 0.5 ] , [ 0.3 , 0.4 ] ⟩ \left\langle [0.4,0.5],[0.3,0.4] \right\rangle [0.4,0.5],[0.3,0.4] ⟨ [ 0.6 , 0.7 ] , [ 0.1 , 0.2 ] ⟩ \left\langle [0.6,0.7],[0.1,0.2] \right\rangle [0.6,0.7],[0.1,0.2] ⟨ [ 0.5 , 0.6 ] , [ 0.3 , 0.4 ] ⟩ \left\langle [0.5,0.6],[0.3,0.4] \right\rangle [0.5,0.6],[0.3,0.4]

  

表4-5.区间直觉模糊决策矩阵$F\left(t_{2}\right)$
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.3 , 0.4 ] , [ 0.4 , 0.5 ] ⟩ \left\langle [0.3,0.4],[0.4,0.5] \right\rangle [0.3,0.4],[0.4,0.5] ⟨ [ 0.5 , 0.6 ] , [ 0.2 , 0.3 ] ⟩ \left\langle [0.5,0.6],[0.2,0.3] \right\rangle [0.5,0.6],[0.2,0.3] ⟨ [ 0.2 , 0.3 ] , [ 0.5 , 0.6 ] ⟩ \left\langle [0.2,0.3],[0.5,0.6] \right\rangle [0.2,0.3],[0.5,0.6] ⟨ [ 0.1 , 0.2 ] , [ 0.7 , 0.8 ] ⟩ \left\langle [0.1,0.2],[0.7,0.8] \right\rangle [0.1,0.2],[0.7,0.8]
Y 2 Y_2 Y2 ⟨ [ 0.5 , 0.6 ] , [ 0.2 , 0.3 ] ⟩ \left\langle [0.5,0.6],[0.2,0.3] \right\rangle [0.5,0.6],[0.2,0.3] ⟨ [ 0.6 , 0.7 ] , [ 0.2 , 0.3 ] ⟩ \left\langle [0.6,0.7],[0.2,0.3] \right\rangle [0.6,0.7],[0.2,0.3] ⟨ [ 0.5 , 0.6 ] , [ 0.2 , 0.4 ] ⟩ \left\langle [0.5,0.6],[0.2,0.4] \right\rangle [0.5,0.6],[0.2,0.4] ⟨ [ 0.4 , 0.5 ] , [ 0.3 , 0.4 ] ⟩ \left\langle [0.4,0.5],[0.3,0.4] \right\rangle [0.4,0.5],[0.3,0.4]
Y 3 Y_3 Y3 ⟨ [ 0.5 , 0.6 ] , [ 0.3 , 0.4 ] ⟩ \left\langle [0.5,0.6],[0.3,0.4] \right\rangle [0.5,0.6],[0.3,0.4] ⟨ [ 0.3 , 0.5 ] , [ 0.3 , 0.5 ] ⟩ \left\langle [0.3,0.5],[0.3,0.5] \right\rangle [0.3,0.5],[0.3,0.5] ⟨ [ 0.5 , 0.6 ] , [ 0.3 , 0.4 ] ⟩ \left\langle [0.5,0.6],[0.3,0.4] \right\rangle [0.5,0.6],[0.3,0.4] ⟨ [ 0.5 , 0.7 ] , [ 0.2 , 0.3 ] ⟩ \left\langle [0.5,0.7],[0.2,0.3] \right\rangle [0.5,0.7],[0.2,0.3]
Y 4 Y_4 Y4 ⟨ [ 0.6 , 0.7 ] , [ 0.1 , 0.3 ] ⟩ \left\langle [0.6,0.7],[0.1,0.3] \right\rangle [0.6,0.7],[0.1,0.3] ⟨ [ 0.5 , 0.6 ] , [ 0.2 , 0.3 ] ⟩ \left\langle [0.5,0.6],[0.2,0.3] \right\rangle [0.5,0.6],[0.2,0.3] ⟨ [ 0.2 , 0.3 ] , [ 0.3 , 0.5 ] ⟩ \left\langle [0.2,0.3],[0.3,0.5] \right\rangle [0.2,0.3],[0.3,0.5] ⟨ [ 0.2 , 0.4 ] , [ 0.5 , 0.6 ] ⟩ \left\langle [0.2,0.4],[0.5,0.6] \right\rangle [0.2,0.4],[0.5,0.6]
Y 5 Y_5 Y5 ⟨ [ 0.5 , 0.6 ] , [ 0.1 , 0.3 ] ⟩ \left\langle [0.5,0.6],[0.1,0.3] \right\rangle [0.5,0.6],[0.1,0.3] ⟨ [ 0.3 , 0.4 ] , [ 0.3 , 0.5 ] ⟩ \left\langle [0.3,0.4],[0.3,0.5] \right\rangle [0.3,0.4],[0.3,0.5] ⟨ [ 0.7 , 0.8 ] , [ 0.1 , 0.2 ] ⟩ \left\langle [0.7,0.8],[0.1,0.2] \right\rangle [0.7,0.8],[0.1,0.2] ⟨ [ 0.4 , 0.6 ] , [ 0.2 , 0.3 ] ⟩ \left\langle [0.4,0.6],[0.2,0.3] \right\rangle [0.4,0.6],[0.2,0.3]

  

表4-6.区间直觉模糊决策矩阵$F\left(t_{3}\right)$
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.5 ] ⟩ \left\langle [0.4,0.5],[0.3,0.5] \right\rangle [0.4,0.5],[0.3,0.5] ⟨ [ 0.4 , 0.5 ] , [ 0.4 , 0.5 ] ⟩ \left\langle [0.4,0.5],[0.4,0.5] \right\rangle [0.4,0.5],[0.4,0.5] ⟨ [ 0.2 , 0.3 ] , [ 0.6 , 0.7 ] ⟩ \left\langle [0.2,0.3],[0.6,0.7] \right\rangle [0.2,0.3],[0.6,0.7] ⟨ [ 0.2 , 0.3 ] , [ 0.5 , 0.7 ] ⟩ \left\langle [0.2,0.3],[0.5,0.7] \right\rangle [0.2,0.3],[0.5,0.7]
Y 2 Y_2 Y2 ⟨ [ 0.4 , 0.5 ] , [ 0.2 , 0.3 ] ⟩ \left\langle [0.4,0.5],[0.2,0.3] \right\rangle [0.4,0.5],[0.2,0.3] ⟨ [ 0.5 , 0.8 ] , [ 0.1 , 0.2 ] ⟩ \left\langle [0.5,0.8],[0.1,0.2] \right\rangle [0.5,0.8],[0.1,0.2] ⟨ [ 0.6 , 0.7 ] , [ 0.2 , 0.3 ] ⟩ \left\langle [0.6,0.7],[0.2,0.3] \right\rangle [0.6,0.7],[0.2,0.3] ⟨ [ 0.5 , 0.6 ] , [ 0.2 , 0.3 ] ⟩ \left\langle [0.5,0.6],[0.2,0.3] \right\rangle [0.5,0.6],[0.2,0.3]
Y 3 Y_3 Y3 ⟨ [ 0.4 , 0.5 ] , [ 0.4 , 0.5 ] ⟩ \left\langle [0.4,0.5],[0.4,0.5] \right\rangle [0.4,0.5],[0.4,0.5] ⟨ [ 0.4 , 0.5 ] , [ 0.3 , 0.4 ] ⟩ \left\langle [0.4,0.5],[0.3,0.4] \right\rangle [0.4,0.5],[0.3,0.4] ⟨ [ 0.3 , 0.5 ] , [ 0.3 , 0.5 ] ⟩ \left\langle [0.3,0.5],[0.3,0.5] \right\rangle [0.3,0.5],[0.3,0.5] ⟨ [ 0.5 , 0.6 ] , [ 0.3 , 0.4 ] ⟩ \left\langle [0.5,0.6],[0.3,0.4] \right\rangle [0.5,0.6],[0.3,0.4]
Y 4 Y_4 Y4 ⟨ [ 0.5 , 0.7 ] , [ 0.2 , 0.3 ] ⟩ \left\langle [0.5,0.7],[0.2,0.3] \right\rangle [0.5,0.7],[0.2,0.3] ⟨ [ 0.4 , 0.5 ] , [ 0.2 , 0.3 ] ⟩ \left\langle [0.4,0.5],[0.2,0.3] \right\rangle [0.4,0.5],[0.2,0.3] ⟨ [ 0.3 , 0.5 ] , [ 0.4 , 0.5 ] ⟩ \left\langle [0.3,0.5],[0.4,0.5] \right\rangle [0.3,0.5],[0.4,0.5] ⟨ [ 0.2 , 0.3 ] , [ 0.5 , 0.6 ] ⟩ \left\langle [0.2,0.3],[0.5,0.6] \right\rangle [0.2,0.3],[0.5,0.6]
Y 5 Y_5 Y5 ⟨ [ 0.5 , 0.6 ] , [ 0.1 , 0.3 ] ⟩ \left\langle [0.5,0.6],[0.1,0.3] \right\rangle [0.5,0.6],[0.1,0.3] ⟨ [ 0.3 , 0.4 ] , [ 0.4 , 0.5 ] ⟩ \left\langle [0.3,0.4],[0.4,0.5] \right\rangle [0.3,0.4],[0.4,0.5] ⟨ [ 0.6 , 0.7 ] , [ 0.1 , 0.2 ] ⟩ \left\langle [0.6,0.7],[0.1,0.2] \right\rangle [0.6,0.7],[0.1,0.2] ⟨ [ 0.5 , 0.7 ] , [ 0.1 , 0.2 ] ⟩ \left\langle [0.5,0.7],[0.1,0.2] \right\rangle [0.5,0.7],[0.1,0.2]

  请利用动态区间直觉模糊 VIKOR ⁡ \operatorname{VIKOR} VIKOR方法对项目方案进行评价和决策。

  权重计算代码如下:
  Case 1

## 求解各时段的权重-案例(k=3)
# k = 3
# lambda = 0.3


# 定义目标函数
def objective_fun(x):
    return x[0]*np.log(x[0]) + x[1]*np.log(x[1]) + x[2]*np.log(x[2])
# 定义约束条件
def constraint_fun1(x):
    return ((3-1)/(3-1))*x[0] + ((3-2)/(3-1))*x[1] + ((3-3)/(3-1))*x[2]-0.3
def constraint_fun2(x):
    return x[0] + x[1] + x[2] - 1
# 定义约束条件
constraint_1 = {'type': 'eq','fun': constraint_fun1}
constraint_2 = {'type': 'eq','fun': constraint_fun2}
constraints = ([constraint_1,constraint_2])
# 变量边界条件
boundaries = ((0.0,1.0),(0.0,1.0),(0.0,1.0))
# 求解
x_0 = np.array([0.2,0.3,0.5]) # 初始解
solution = minimize(objective_fun,
                    x_0,
                    method='SLSQP',
                    bounds=boundaries,
                   constraints=constraints)
solve_result = np.round(solution.x,3)
print(solve_result

  计算结果如下:

[0.154 0.292 0.554]

  Case 2

## 求解各时段的权重-示例(k=5)
# k = 5
# lambda = 0.3


# 定义目标函数
def objective_fun(x):
    return x[0]*np.log(x[0]) + x[1]*np.log(x[1]) + x[2]*np.log(x[2]) + x[3]*np.log(x[3]) + x[4]*np.log(x[4])
# 定义约束条件
def constraint_fun1(x):
    return ((5-1)/(5-1))*x[0] + ((5-2)/(5-1))*x[1] + ((5-3)/(5-1))*x[2] + ((5-4)/(5-1))*x[3] + ((5-5)/(5-1))*x[4] - 0.3
def constraint_fun2(x):
    return x[0] + x[1] + x[2] + x[3] + x[4] - 1
# 定义约束条件
constraint_1 = {'type': 'eq','fun': constraint_fun1}
constraint_2 = {'type': 'eq','fun': constraint_fun2}
constraints = ([constraint_1,constraint_2])
# 变量边界条件
boundaries = ((0.0,1.0),(0.0,1.0),(0.0,1.0),(0.0,1.0),(0.0,1.0))
# 求解
x_0 = np.array([0.2,0.2,0.2,0.2,0.2]) # 初始解
solution = minimize(objective_fun,
                    x_0,
                    method='SLSQP',
                    bounds=boundaries,
                   constraints=constraints)
solve_result = np.round(solution.x,3)
print(solve_result)

  计算结果如下:

[0.071 0.109 0.167 0.257 0.396]

  案例代码如下:

import numpy as np
from scipy.optimize import minimize
 

# S.1 确定不同时刻的区间直觉模糊评价决策矩阵
IIFDM_t1 = np.array([[[0.5,0.6,0.3,0.4],[0.6,0.7,0.2,0.3],[0.7,0.8,0.1,0.2],[0.4,0.5,0.3,0.4]],
                     [[0.6,0.7,0.1,0.2],[0.5,0.7,0.1,0.2],[0.7,0.8,0.0,0.1],[0.3,0.4,0.3,0.4]],
                     [[0.5,0.6,0.2,0.3],[0.4,0.5,0.3,0.4],[0.5,0.6,0.2,0.3],[0.6,0.7,0.1,0.2]],
                     [[0.7,0.8,0.1,0.2],[0.4,0.5,0.3,0.4],[0.3,0.4,0.4,0.5],[0.3,0.4,0.4,0.5]],
                     [[0.6,0.7,0.2,0.3],[0.4,0.5,0.3,0.4],[0.6,0.7,0.1,0.2],[0.5,0.6,0.3,0.4]]])

IIFDM_t2 = np.array([[[0.3,0.4,0.4,0.5],[0.5,0.6,0.2,0.3],[0.2,0.3,0.5,0.6],[0.1,0.2,0.7,0.8]],
                     [[0.5,0.6,0.2,0.3],[0.6,0.7,0.2,0.3],[0.5,0.6,0.2,0.4],[0.4,0.5,0.3,0.4]],
                     [[0.5,0.6,0.3,0.4],[0.3,0.5,0.3,0.5],[0.5,0.6,0.3,0.4],[0.5,0.7,0.2,0.3]],
                     [[0.6,0.7,0.1,0.3],[0.5,0.6,0.2,0.3],[0.2,0.3,0.3,0.5],[0.2,0.4,0.5,0.6]],
                     [[0.5,0.6,0.1,0.3],[0.3,0.4,0.3,0.5],[0.7,0.8,0.1,0.2],[0.4,0.6,0.2,0.3]]])

IIFDM_t3 = np.array([[[0.4,0.5,0.3,0.5],[0.4,0.5,0.4,0.5],[0.2,0.3,0.6,0.7],[0.2,0.3,0.5,0.7]],
                     [[0.4,0.5,0.2,0.3],[0.5,0.8,0.1,0.2],[0.6,0.7,0.2,0.3],[0.5,0.6,0.2,0.3]],
                     [[0.4,0.5,0.4,0.5],[0.4,0.5,0.3,0.4],[0.3,0.5,0.3,0.5],[0.5,0.6,0.3,0.4]],
                     [[0.5,0.7,0.2,0.3],[0.4,0.5,0.2,0.3],[0.3,0.5,0.4,0.5],[0.2,0.3,0.5,0.6]],
                     [[0.5,0.6,0.1,0.3],[0.3,0.4,0.4,0.5],[0.6,0.7,0.1,0.2],[0.5,0.7,0.1,0.2]]])
#print("IIFDM_t1的尺寸为:{}\n".format(IIFDM_t1.shape))

# S.2 计算时段权重
weight_time = np.array([0.154, 0.292, 0.554])

# S.3 计算区间直觉模糊综合决策矩阵
def calculate_DIIFWA(IIFDM_time,weight_time):
    # 初始化加权IIFDM
    weighted_IIFDM = np.zeros((IIFDM_time.shape[1],IIFDM_time.shape[2],IIFDM_time.shape[3]))
    # 遍历并计算加权IIFDM
    for i in range(IIFDM_time.shape[1]):
        for j in range(IIFDM_time.shape[2]):
            muL_tmp = 1
            muU_tmp = 1
            nuL_tmp = 1
            nuU_tmp = 1
            for t in range(IIFDM_time.shape[0]):
                muL_tmp *= np.power(1 - IIFDM_time[t][i][j][0],weight_time[t])
                muU_tmp *= np.power(1 - IIFDM_time[t][i][j][1],weight_time[t])
                nuL_tmp *= np.power(IIFDM_time[t][i][j][2],weight_time[t])
                nuU_tmp *= np.power(IIFDM_time[t][i][j][3],weight_time[t])
            weighted_IIFDM[i][j][0] = 1 - muL_tmp
            weighted_IIFDM[i][j][1] = 1 - muU_tmp
            weighted_IIFDM[i][j][2] = nuL_tmp
            weighted_IIFDM[i][j][3] = nuU_tmp
    # 返回计算结果
    return weighted_IIFDM
                
# 构造IIFDM_time矩阵
IIFDM_time = np.array([IIFDM_t1,IIFDM_t2,IIFDM_t3])
# 计算加权IIFDM
weighted_IIFDM = np.round(calculate_DIIFWA(IIFDM_time,weight_time),3)
# 打印计算结果
print('\n加权动态区间直觉模糊综合决策矩阵:\n',weighted_IIFDM)

# S.4 确定整理想解和负理想解
def calculate_idea_solution(weighted_IIFDM):
    # 初始化正负理想解
    positive_idea_solution = np.zeros((weighted_IIFDM.shape[1],weighted_IIFDM.shape[2]))
    negative_idea_solution = np.zeros((weighted_IIFDM.shape[1],weighted_IIFDM.shape[2]))
    for j in range(weighted_IIFDM.shape[1]):
        tmp_max = np.array([0.0,0.0,1.0,1.0])
        tmp_min = np.array([1.0,1.0,0.0,0.0])
        for i in range(weighted_IIFDM.shape[0]):
            tmp_ij = weighted_IIFDM[i][j]
            tmp_max[0] = np.maximum(tmp_max[0],tmp_ij[0])
            tmp_max[1] = np.maximum(tmp_max[1],tmp_ij[1])
            tmp_max[2] = np.minimum(tmp_max[2],tmp_ij[2])
            tmp_max[3] = np.minimum(tmp_max[3],tmp_ij[3])
            
            tmp_min[0] = np.minimum(tmp_min[0],tmp_ij[0])
            tmp_min[1] = np.minimum(tmp_min[1],tmp_ij[1])
            tmp_min[2] = np.maximum(tmp_min[2],tmp_ij[2])
            tmp_min[3] = np.maximum(tmp_min[3],tmp_ij[3])
        positive_idea_solution[j] = tmp_max
        negative_idea_solution[j] = tmp_min
    # 返回计算结果
    return positive_idea_solution,negative_idea_solution
# 获取正理想解和负理想解
positive_idea_solution,negative_idea_solution = calculate_idea_solution(weighted_IIFDM)
print("\n正理想解:\n{}\n负理想解:\n{}".format(positive_idea_solution,negative_idea_solution))

# S.5 计算属性模糊熵
def calculate_fuzzy_entropy(weighted_IIFDM):
    # 初始化模糊熵向量
    fuzzy_entropy = np.zeros((weighted_IIFDM.shape[1]))
    # 计算各属性的模糊熵
    for j in range(weighted_IIFDM.shape[1]):
        sum_j = 0
        for i in range(weighted_IIFDM.shape[0]):
            DM_ij = weighted_IIFDM[i][j]
            pi_ijL = 1 - DM_ij[1] - DM_ij[3]
            pi_ijU = 1 - DM_ij[0] - DM_ij[2]
            numerator_part = np.pi * (np.abs((DM_ij[0]-DM_ij[2])*(1-pi_ijL)) + np.abs((DM_ij[1]-DM_ij[3])*(1-pi_ijU)))
            sum_j += np.cos(numerator_part/4)
        fuzzy_entropy[j]= sum_j/weighted_IIFDM.shape[0]
    # 计算各属性的权重
    attribute_weight = (1 - fuzzy_entropy)/(weighted_IIFDM.shape[1] - np.sum(fuzzy_entropy))
    # 返回计算结果
    return fuzzy_entropy,attribute_weight
# 计算各属性的模糊熵和权重        
attribute_fuzzy_entropy,attribute_weight = calculate_fuzzy_entropy(weighted_IIFDM)
# 取四位小数
attribute_fuzzy_entropy = np.round(attribute_fuzzy_entropy,4)
attribute_weight = np.round(attribute_weight,4)
print("\n各属性的模糊熵为: {}\n各属性的权重为:{}".format(attribute_fuzzy_entropy,attribute_weight))

# S.6 计算各方案的群体效益值、个体遗憾值以及折中值
def calculate_SRQ(weighted_IIFDM, positive_IS, negative_IS, attribute_weight):
    # 初始化各向量
    S = np.zeros((weighted_IIFDM.shape[0]))
    R = np.zeros((weighted_IIFDM.shape[0]))
    Q = np.zeros((weighted_IIFDM.shape[0]))
    # 计算S和R
    for i in range(weighted_IIFDM.shape[0]):
        sum_list = np.zeros((weighted_IIFDM.shape[1]))
        for j in range(weighted_IIFDM.shape[1]):
            DM_ij = weighted_IIFDM[i][j] # F_ij
            Pos_IS_j = positive_idea_solution[j] # Y_j_+
            Neg_IS_j = negative_idea_solution[j] # Y_j_-
            weight_j = attribute_weight[j] # w_j
            d_n = (np.abs(Pos_IS_j[0]-DM_ij[0]) + 
                   np.abs(Pos_IS_j[1]-DM_ij[1]) + 
                   np.abs(Pos_IS_j[2]-DM_ij[2]) + 
                   np.abs(Pos_IS_j[3]-DM_ij[3]))/2
            d_d = (np.abs(Pos_IS_j[0]-Neg_IS_j[0]) + 
                   np.abs(Pos_IS_j[1]-Neg_IS_j[1]) + 
                   np.abs(Pos_IS_j[2]-Neg_IS_j[2]) + 
                   np.abs(Pos_IS_j[3]-Neg_IS_j[3]))/2
            S_ij = weight_j*(d_n/d_d)
            sum_list[j] = S_ij
        # 计算S_i、R_i
        S[i] = np.sum(sum_list)
        R[i] = np.max(sum_list)
    # 计算Q
    S_star = np.min(S)
    S_minus = np.max(S)
    R_star = np.min(R)
    R_minus = np.max(R)
    v = 0.5
    Q = v * (S - S_star) / (S_minus - S_star) + (1 - v)*(R - R_star) / (R_minus - R_star)
    return S,R,Q
# 计算S、R、Q
S,R,Q = calculate_SRQ(weighted_IIFDM,positive_idea_solution,negative_idea_solution,attribute_weight)
# 保留3位小数点
S = np.round(S,3)
R = np.round(R,3)
Q = np.round(Q,3)
# 按各自从小到大排序
index_S = np.argsort(S) + 1
index_R = np.argsort(R) + 1
index_Q = np.argsort(Q) + 1
print("\n群体效益为: {}\t排序结果为:{}\n".format(S,index_S))
print("\n个体遗憾为: {}\t排序结果为:{}\n".format(R,index_R))
print("\n折中结果为: {}\t排序结果为:{}\n".format(Q,index_Q))

  计算结果如下:

加权动态区间直觉模糊综合决策矩阵:
[[[0.39 0.49 0.326 0.483]
[0.466 0.567 0.294 0.398]
[0.312 0.423 0.432 0.552]
[0.208 0.309 0.51 0.668]]
  
[[0.466 0.567 0.18 0.282]
[0.532 0.76 0.122 0.225]
[0.592 0.693 0. 0.276]
[0.445 0.546 0.24 0.341]]
  
[[0.447 0.547 0.331 0.433]
[0.372 0.5 0.3 0.427]
[0.398 0.547 0.282 0.433]
[0.517 0.648 0.225 0.331]]
  
[[0.567 0.718 0.147 0.282]
[0.431 0.532 0.213 0.314]
[0.272 0.433 0.368 0.5 ]
[0.216 0.347 0.483 0.583]]
  
[[0.517 0.617 0.111 0.3 ]
[0.316 0.417 0.352 0.483]
[0.632 0.733 0.1 0.2 ]
[0.473 0.659 0.145 0.25 ]]]
  
正理想解:
[[0.567 0.718 0.111 0.282]
[0.532 0.76 0.122 0.225]
[0.632 0.733 0. 0.2 ]
[0.517 0.659 0.145 0.25 ]]
负理想解:
[[0.39 0.49 0.331 0.483]
[0.316 0.417 0.352 0.483]
[0.272 0.423 0.432 0.552]
[0.208 0.309 0.51 0.668]]
  
各属性的模糊熵为: [0.9342 0.953 0.9072 0.9297]
各属性的权重为:[0.2386 0.1704 0.3362 0.2548]
  
群体效益为: [0.917 0.194 0.568 0.627 0.25 ] 排序结果为:[2 5 3 4 1]
  
  
个体遗憾为: [0.327 0.093 0.216 0.307 0.17 ] 排序结果为:[2 5 3 4 1]
  
  
折中结果为: [1. 0. 0.522 0.757 0.204] 排序结果为:[2 5 3 4 1]


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值