权重决策(MCDM)
Multiple Criteria Decision-Making,MCDM
版本: 0.0.1(Beta)
- 权重决策部分对应《城市空间数据分析方法》中 4.2 权重决策部分的理论阐述和 Python 代码实现。
该部分功能包括:
- 熵值权重法;
- 理想解法(TOPSIS);
- AHP 算法;
- F-AHP 算法;
- ARAS 算法;
- BWM 算法(基于 GWO 元启发式算法);
- DEMATEL 算法;
- IDOCRIW 算法(基于 L-BFGS-B 元启发式算法);
- ELECTRE-I 算法;
- WASPAS 算法。
TODO:增加更多 MCDM 各类算法。
1 熵值权重法
输入参数:
- Dataset:为多个备选方案(行)的多个决策准则(列)CSV 格式数据;
输出结果:
-
View Pij: 原始决策准则值占各自决策准则列之和的比例;
-
Ej 列为信息熵;Wj 列为权重值。
2 理想解法(TOPSIS)
输入参数:
-
Dataset:为多个备选方案(行)的多个决策准则(列)CSV 格式数据;
-
Weights:决策准则权重;
-
Criteria Type:决策准则权重值类型(方向),即值越大越好,还是值越小越好;
输出结果:
- Relative Closeness 为到正理想解的相对接近度,及对应备选方案的排序;同时打印了 Dataset 输入数据,方便查看。
3 AHP 算法
输入参数:
-
Criteria:决策准则字段;
-
Alternatives:备选方案字段;
-
View Criteria Pairs:得到决策准则字段两两比较输入的顺序列表,用于定义 Pairvise Criteria Scale 输入行的值,即判断矩阵;
-
Pairvise Criteria Scale: 决策准则字段两两比较输入值,生产判断矩阵;
-
Get Pairwise Alternatives:对应决策准则输入备选方案的两两比较值,用于生成备选方案判断矩阵;
输出结果:
-
View Pairwiese Criteria Matrix and Weights:查看生产的判断矩阵,及决策准则权重值;
-
Calculate Weight Matrix:汇总决策准则之间和各准则对备选方案之间的权重值,计算得到基于决策准则的备选方案得分 global_priority 列。
4 F-AHP 算法
同 AHP 算法,但是判断矩阵的构建使用的是三角模糊数(triangular fuzzy number,TFN)。
输入参数:
-
Critetia:决策准则字段;
-
Alternatives:备选方案字段;
-
Configure Pairwise Criterias:根据生成的两两比较决策准则对输入比较值,用于生成决策准则判断矩阵;
-
Get Pairwise Alternatives:对应决策准则输入备选方案的两两比较值,用于生成备选方案判断矩阵;
输出结果:
-
View Pairwise Criteria Matrix and weights:查看生成的决策准则判断矩阵,及决策准则权重值;
-
汇总决策准则之间和各准则对备选方案之间的权重值,计算得到基于决策准则的备选方案得分 global_priority 列。
5 ARAS 算法
输入参数:
-
Dataset:为多个备选方案(行)的多个决策准则(列)CSV 格式数据;
-
Weight of Criteria:决策准则权重;
-
Optimization Direction:决策准则权重值类型(方向),即值越大越好,还是值越小越好;
-
Save to File:存储结果文件路径名;
输出结果:
- degree of the alternative utility 备选方案得分。
6 BWM 算法(基于 GWO 元启发式算法)
c
-
Most Important Criteria:与最佳决策准则的成对比较(判断)向量;
-
Least Important Criteria:与最差决策准则的成对比较(判断)向量;
-
Population Size:灰狼群初始化数量(c);
-
Iterations:迭代次数(为 GWO 输入参数);
-
Verbose:查看解算过程中 对应给定迭代次数输出相关信息;
输出结果:
- 决策准则权重。
7 DEMATEL 算法
输入参数:
- Relation Matrix (Dataset):因子关系(影响,判断)矩阵。
输出结果:
-
D + R: 影响度和被影响度之和为,代表该因子在系统中的核心作用程度,为中心度(Prominence);
-
D - R:代表该因子对系统贡献的净效应,为原因度(Relation);
-
Weight:因子权重;
-
对应的中心度和原因度的四象限图。
8 IDOCRIW 算法(基于 L-BFGS-B 元启发式算法)
输入参数:
-
Dataset:为多个备选方案(行)的多个决策准则(列)CSV 格式数据;
-
Optimization Direction:决策准则权重值类型(方向),即值越大越好,还是值越小越好;
输出结果:
- 决策准则权重向量。
9 ELECTRE-I 算法
输入参数:
-
Dataset:由定性等级评估决策矩阵获得的评分系统;
-
Criteria Weight:决策准则的权重;
-
C_hat:满意度阈值,最大值为1;
-
C_hat:不满意度阈值,最小值为0;
输出结果:
- 满意度/一致性(concordance)和不满意度/不一致(discordance)矩阵(指数);排名图,排名靠前的核心(kernel)备选方案(绿色),核心之外的备选方案(红色)。
10 WASPAS 算法
输入参数:
-
Dataset:(决策矩阵)为多个备选方案(行)的多个决策准则(列)CSV 格式数据;
-
Criteria Weight:决策准则权重;
-
Optimization Direction:决策准则权重值类型(方向),即值越大越好,还是值越小越好;
-
Lambda value: 组合参数,位于[0,1]之间,如果值为0,则为WPM方法;如果值为1,则为WSM方法。
-
Save to File:存储结果文件路径名;
输出结果:
- WPM方法、WSM方法和WASPAS方法各自计算结果的返回值。