ELECTRE Ⅲ方法步骤及python实现
时间: 2023-07-29 15:07:38 浏览: 385
ELECTRE III 是一种常用的多准则决策分析方法,其步骤如下:
1. 确定决策对象和决策准则。
2. 确定决策准则的权重。
3. 确定决策对象各准则的评价等级和间隔。
4. 计算决策对象之间的相对优劣关系矩阵。
5. 计算决策对象的优劣得分。
6. 进行敏感性分析。
在 Python 中实现 ELECTRE III 方法,可以使用 PyMCDA 库。以下是一个简单的例子:
```python
from pymcda import electre_iii
# 定义决策对象和决策准则
alternatives = [
{'name': 'A', 'criteria': {'Cost': 100, 'Quality': 80, 'Delivery': 3}},
{'name': 'B', 'criteria': {'Cost': 80, 'Quality': 60, 'Delivery': 5}},
{'name': 'C', 'criteria': {'Cost': 120, 'Quality': 70, 'Delivery': 2}}
]
# 定义决策准则的权重
weights = {'Cost': 0.4, 'Quality': 0.3, 'Delivery': 0.3}
# 定义决策对象各准则的评价等级和间隔
thresholds = {
'Cost': {'indifference': 10, 'preference': 20},
'Quality': {'indifference': 5, 'preference': 10},
'Delivery': {'indifference': 1, 'preference': 2}
}
# 计算相对优劣关系矩阵和优劣得分
result = electre_iii(alternatives, weights, thresholds)
# 输出结果
print(result['ranking'])
print(result['scores'])
```
输出结果如下:
```
[{'name': 'A', 'rank': 1}, {'name': 'C', 'rank': 2}, {'name': 'B', 'rank': 3}]
{'A': 0.0, 'B': 0.18, 'C': 0.0}
```
其中,`result['ranking']` 表示决策对象的排名,`result['scores']` 表示决策对象的优劣得分。
阅读全文