正在加载中...

展开本页目录
算法教程FuzzyEDAS-模糊 EDAS

FuzzyEDAS-模糊 EDAS

No.105 · 在线教程

FuzzyEDAS-模糊 EDAS 的真实核心主要位于:

FuzzyEDAS-模糊 EDAS

1. 方法概述

FuzzyEDAS-模糊 EDAS 的真实核心主要位于:

  • core/fuzzy_edas_calculator.py

从当前源码看,这个模块是在经典 EDAS 的“相对平均解偏离”框架上,加了一层三角模糊数包装与去模糊计算。其实际流程为:

  1. 读取对象列与指标列;
  2. 把原始值扩展成三角模糊数;
  3. 计算模糊平均解;
  4. 去模糊后计算 PDA / NDA;
  5. 得到正向与负向综合指标 SP/SN
  6. 标准化为 NSP/NSN
  7. 计算最终得分 AS 并排序。

2. 模糊化与平均解

2.1 三角模糊数构造

对原始值 \(x_{ij}\),代码构造

$$ \tilde x_{ij}=(x_{ij}-\delta_{ij},\ x_{ij},\ x_{ij}+\delta_{ij}) \tag{1} $$

其中

$$ \delta_{ij}= \begin{cases} \alpha |x_{ij}|, & x_{ij}\neq 0\\ \alpha, & x_{ij}=0 \end{cases} \tag{2} $$

这说明项目里的模糊半宽不是固定常数,而是与数据量级相关。

2.2 模糊平均解

对每个指标 \(j\),代码计算模糊平均解:

$$ \widetilde{AV}_j=\frac{1}{m}\sum_{i=1}^{m}\tilde x_{ij} \tag{3} $$

随后进入去模糊与偏离计算。

3. PDA / NDA 与最终得分

3.1 去模糊

当前实现支持两种去模糊方式。

若为 centroid

$$ d(\tilde x)=\frac{l+m+u}{3} \tag{4} $$

若为 weighted

$$ d(\tilde x)=\frac{l+4m+u}{6} \tag{5} $$

3.2 正向与负向偏离

对效益型指标,代码按 EDAS 思路计算:

$$ PDA_{ij}=\frac{\max\big(0,\ d(\tilde x_{ij})-d(\widetilde{AV}_j)\big)}{d(\widetilde{AV}_j)} \tag{6} $$

$$ NDA_{ij}=\frac{\max\big(0,\ d(\widetilde{AV}_j)-d(\tilde x_{ij})\big)}{d(\widetilde{AV}_j)} \tag{7} $$

若该指标是逆向指标,代码会对 PDA/NDA 的定义做交换,而不是简单套同一公式。

3.3 综合偏离与最终得分

加权汇总后得到

$$ SP_i=\sum_{j=1}^{n}w_j PDA_{ij}, \qquad SN_i=\sum_{j=1}^{n}w_j NDA_{ij} \tag{8} $$

再做标准化:

$$ NSP_i=\frac{SP_i}{\max_k SP_k}, \qquad NSN_i=1-\frac{SN_i}{\max_k SN_k} \tag{9} $$

最后综合得分为

$$ AS_i=\frac{NSP_i+NSN_i}{2} \tag{10} $$

因此 AS 越大表示方案越优。

4. 权重与导出

4.1 权重方式

当前代码支持:

  1. equal
  2. entropy
  3. custom

这意味着项目不仅能做主观赋权,也能直接走客观熵权。

4.2 Excel 工作表

一个很有辨识度的实现细节是:模块会同时输出英文工作表中文工作表。典型包括:

  • RawData
  • FuzzyDecision
  • Weighted
  • PDA_NDA
  • SP_SN
  • NSP_NSN
  • Scores
  • Charts

以及中文对应表:

  • 原始数据
  • 模糊矩阵
  • 平均解
  • 去模糊矩阵
  • PDA
  • NDA
  • 权重
  • 综合得分

5. 实现说明与注意事项

5.1 模糊区间宽度取决于数据量级

因为 \(\delta_{ij}=\alpha|x_{ij}|\),所以不同指标上的模糊宽度会自动按量纲放缩,这和“所有指标统一固定模糊宽度”的实现不同。

5.2 逆向指标不是额外预处理,而是在 PDA/NDA 公式层切换

这意味着项目更接近“保持原始方向、在偏离定义里修正”的 EDAS 口径。

5.3 最终输出兼顾论文和业务使用

中间层面保留了模糊矩阵与平均解,结果层面又给出 AS 排序,因此既适合复现论文公式,也适合直接汇报结果。

6. 论文写作建议

论文中建议至少展示 PDA/NDASP/SNNSP/NSN 和最终 AS 四层结果中的两到三层,避免只给最终排名而缺少过程解释。若篇幅有限,可把模糊决策矩阵和平均解放到附录,把综合得分与排序表放在正文。

7. 单篇终审补充

7.1 图题与表题对齐建议

  • RawData原始数据 表可写为:表X Fuzzy EDAS 原始评价数据。
  • FuzzyDecision模糊矩阵 表可写为:表X Fuzzy EDAS 模糊决策矩阵。
  • AverageSolution平均解 表可写为:表X Fuzzy EDAS 平均解。
  • Defuzzified去模糊矩阵 表可写为:表X Fuzzy EDAS 去模糊矩阵。
  • Weights权重 表可写为:表X Fuzzy EDAS 指标权重。
  • PDA_NDAPDANDA 表可写为:表X Fuzzy EDAS 偏离度结果。
  • SP_SN 表可写为:表X Fuzzy EDAS 正负偏离总和。
  • NSP_NSN 表可写为:表X Fuzzy EDAS 归一化偏离结果。
  • Scores综合得分 表可写为:表X Fuzzy EDAS 综合得分与排序。
  • Charts 表可写为:表X Fuzzy EDAS 图表索引与路径。

7.2 终审说明

  • 当前模块是“先对数值决策矩阵模糊化,再按 EDAS 公式计算”的实现,不是直接从语言变量矩阵起步的模糊群决策版本,正文不要套用过重的模糊群体评价表述。
  • 文档中列出的中英文 sheet 名是并存兼容口径,论文若要严格引用,应以本次结果工作簿里的真实页名为准。
  • 结果解释的主表应是 Scores/综合得分PDA/NDASP/SNNSP/NSN 负责支撑过程说明,正文不要把这些过程表和最终排序表混写。
  • 模糊区间宽度受数据量级影响,因此不同指标上的模糊宽度不是统一常数,方法部分若写模糊化规则,应保留这一实现细节。

7.3 全量强化补充

本次全量强化绑定的真实结果目录为 具体的算法3/灰色系统与模糊理论/FuzzyEDAS-模糊 EDAS/results/FuzzyEDAS-模糊 EDAS分析结果_20260329_171527。该目录内可核验到一组主结果与一组 repro 再生产物:主工作簿为 FuzzyEDAS_results_20260329_171527.xlsx,repro 再生产物为 FuzzyEDAS_results_20260329_171528.xlsx。两者的实际工作表一致,均为 RawDataFuzzyDecisionWeightedPDA_NDASP_SNNSP_NSNScoresCharts原始数据模糊矩阵平均解去模糊矩阵PDANDA权重综合得分。这说明当前实现同时保留了英文结果页和中文结果页,不应在论文中只写成单一语言口径。

同一目录下存在两组图目录:FuzzyEDAS_plots_20260329_171527/FuzzyEDAS_plots_20260329_171528/,其中都可直接核验 score_bar.pngweight_bar.png。因此本篇文档更准确的工程描述应是“主结果图 + repro 复现图成对出现”,而不是只有单次静态图件。

复现脚本为 repro_20260329_171528.py,其真实入口写法为 INPUT_CANDIDATES = ['repro_inputs/FuzzyEDAS-模糊 EDAS_repro_data.csv', 'repro_inputs/fuzzy_edas_baseline_input.csv'],并显式绑定 indicator_typesstandard_values = {'偏差': 0.0}weight_method = 'entropy'fuzzy_alpha = 0.1defuzzify_method = 'centroid'。目录内 repro_inputs/ 也真实存在,且至少包含 FuzzyEDAS-模糊 EDAS_repro_data.csvfuzzy_edas_baseline_input.csv。因此 Fuzzy EDAS 当前已经具备双输入候选的相对路径复现链,正文应按这一真实脚本口径写实。

8. 软件实现核查补充(2026-07)

  • 当前主结果目录应写作 具体的算法3/灰色系统与模糊理论/FuzzyEDAS-模糊 EDAS/results/FuzzyEDAS-模糊 EDAS分析结果_20260329_171527
  • 正文应围绕 RawDataFuzzyDecisionWeightedPDA_NDASP_SNNSP_NSNScoresCharts 以及中文镜像表来写。
  • 图证应对应 weight_bar.pngscore_bar.png,并把模糊化、去模糊化与 EDAS 偏离度过程写清。
  • 复现脚本应按 repro_20260329_171528.py + repro_inputs/FuzzyEDAS-模糊 EDAS_repro_data.csv 的口径说明。