TODIM法
方法概述
TODIM(葡萄牙语缩写,意为“交互式多准则决策”)是一种基于前景理论(Prospect Theory)的多准则决策方法,由 Gomes 和 Lima 于 1991 年提出。该方法通过引入决策者的心理行为(损失规避),将方案间的成对比较转化为相对优势度,从而对方案进行排序。
TODIM法的核心思想是:
- 对原始数据进行标准化处理,消除量纲影响。
- 以权重最大的指标为基准,计算各指标的相对权重。
- 对于每一对方案,在每个指标上计算相对优势度:当方案优于对比方案时,获得收益(正值);当劣于对比方案时,产生损失(负值),且损失被放大(通过衰减因子 θ 控制损失规避程度)。
- 将各指标的优势度加总,得到综合优势度矩阵。
- 计算每个方案相对于所有其他方案的综合优势度之和,并归一化为全局优势度。
- 根据全局优势度对方案进行排序,值越大方案越优。
该方法充分考虑了决策者的风险态度,尤其适用于决策者对损失比对收益更敏感的场景。
计算步骤
1. 构建原始数据矩阵
设有 \(n\) 个评价对象(方案),\(m\) 个评价指标,原始数据矩阵为:
\[ X = \begin{bmatrix} x_{11} & x_{12} & \cdots & x_{1m} \\ x_{21} & x_{22} & \cdots & x_{2m} \\ \vdots & \vdots & \ddots & \vdots \\ x_{n1} & x_{n2} & \cdots & x_{nm} \end{bmatrix} \]
2. 数据标准化
为消除量纲影响,需对原始数据进行标准化。平台支持四种标准化方法,用户可根据需要选择。以下给出各方法的计算公式(需根据指标类型分别处理):
(1)线性标准化(Linear)
- 正向指标(越大越好): \[ z_{ij} = \frac{x_{ij}}{\sum_{i=1}^{n} x_{ij}} \]
- 负向指标(越小越好): \[ z_{ij} = \frac{1/x_{ij}}{\sum_{i=1}^{n} 1/x_{ij}} \]
(2)向量标准化(Vector)
\[ z_{ij} = \frac{x_{ij}}{\sqrt{\sum_{i=1}^{n} x_{ij}^2}} \]
(3)极差标准化(Min-Max)
- 正向指标: \[ z_{ij} = \frac{x_{ij} - \min(x_j)}{\max(x_j) - \min(x_j)} \]
- 负向指标: \[ z_{ij} = \frac{\max(x_j) - x_{ij}}{\max(x_j) - \min(x_j)} \]
(4)最大值标准化(Max)
- 正向指标: \[ z_{ij} = \frac{x_{ij}}{\max(x_j)} \]
- 负向指标: \[ z_{ij} = \frac{\min(x_j)}{x_{ij}} \]
注意:负向指标经上述转换后,均转化为正向意义(值越大越好)。
3. 计算相对权重
设各指标权重为 \(w_j\)(\(j=1,\dots,m\)),且 \(\sum_{j=1}^{m} w_j = 1\)。以最大权重为基准,计算相对权重:
\[ w_{jr} = \frac{w_j}{\max\limits_{k} w_k} \]
4. 计算相对优势度
对于任意两方案 \(a\) 和 \(b\),在每个指标 \(j\) 上计算相对优势度 \(\Phi_j(a,b)\)。设 \(d_j(a,b) = z_{aj} - z_{bj}\),则:
若 \(d_j(a,b) > 0\)(方案 \(a\) 优于方案 \(b\)): \[ \Phi_j(a,b) = \sqrt{\frac{w_{jr} \cdot d_j(a,b)}{\sum_{j=1}^{m} w_{jr}}} \]
若 \(d_j(a,b) < 0\)(方案 \(a\) 劣于方案 \(b\)): \[ \Phi_j(a,b) = -\frac{1}{\theta} \sqrt{\frac{\left(\sum_{j=1}^{m} w_{jr}\right) \cdot |d_j(a,b)|}{w_{jr}}} \] 其中 \(\theta\) 为衰减因子(\(\theta > 0\)),控制损失规避程度。\(\theta\) 越大,损失的影响越小。
若 \(d_j(a,b) = 0\)(无差异): \[ \Phi_j(a,b) = 0 \]
5. 计算综合优势度
方案 \(a\) 相对于方案 \(b\) 的综合优势度为各指标相对优势度之和:
\[ \delta(a,b) = \sum_{j=1}^{m} \Phi_j(a,b) \]
构建综合优势度矩阵 \(\Delta = [\delta(a,b)]_{n \times n}\),其中对角线元素为 0。
6. 计算全局优势度
方案 \(a\) 的全局优势度为其相对于所有其他方案的综合优势度之和的归一化值:
\[ \xi(a) = \frac{\sum_{b=1}^{n} \delta(a,b) - \min\limits_{i} \sum_{b=1}^{n} \delta(i,b)}{\max\limits_{i} \sum_{b=1}^{n} \delta(i,b) - \min\limits_{i} \sum_{b=1}^{n} \delta(i,b)} \]
全局优势度 \(\xi(a) \in [0,1]\),值越大表示方案越优。
7. 方案排序
按照 \(\xi(a)\) 从大到小排序,得到方案的优劣顺序。
案例分析
案例背景:某企业拟从四个供应商(A、B、C、D)中选择合作伙伴,评价指标包括:产品质量(正向)、价格(负向)、交货准时率(正向)。原始数据如下:
| 供应商 | 产品质量 | 价格 | 交货准时率 |
|---|---|---|---|
| A | 85 | 200 | 0.95 |
| B | 90 | 180 | 0.90 |
| C | 75 | 210 | 0.85 |
| D | 80 | 190 | 0.92 |
设三个指标权重相等,均为 \(1/3\)。采用极差标准化,衰减因子 \(\theta = 2.5\)。
计算过程
1. 数据标准化(极差法)
- 产品质量(正向):\(\max=90,\min=75\)
- A: \((85-75)/(90-75)=10/15=0.6667\)
- B: \((90-75)/15=1.0000\)
- C: \((75-75)/15=0.0000\)
- D: \((80-75)/15=0.3333\)
- 价格(负向):\(\max=210,\min=180\)
- A: \((210-200)/(210-180)=10/30=0.3333\)
- B: \((210-180)/30=1.0000\)
- C: \((210-210)/30=0.0000\)
- D: \((210-190)/30=0.6667\)
- 交货准时率(正向):\(\max=0.95,\min=0.85\)
- A: \((0.95-0.85)/0.10=1.0000\)
- B: \((0.90-0.85)/0.10=0.5000\)
- C: \((0.85-0.85)/0.10=0.0000\)
- D: \((0.92-0.85)/0.10=0.7000\)
标准化矩阵 \(Z\):
\[ Z = \begin{bmatrix} 0.6667 & 0.3333 & 1.0000 \\ 1.0000 & 1.0000 & 0.5000 \\ 0.0000 & 0.0000 & 0.0000 \\ 0.3333 & 0.6667 & 0.7000 \end{bmatrix} \]
2. 计算相对权重
最大权重 \(w_{\max}=1/3\),各指标相对权重均为: \[ w_{jr} = \frac{1/3}{1/3} = 1 \] \[ \sum w_{jr} = 3 \]
3. 计算相对优势度
以方案 A 与 B 为例,计算各指标相对优势度:
指标1(产品质量):\(d_1(A,B) = 0.6667 - 1.0000 = -0.3333 < 0\),损失: \[ \Phi_1(A,B) = -\frac{1}{2.5} \sqrt{\frac{3 \times 0.3333}{1}} = -0.4 \times \sqrt{1} = -0.4 \]
指标2(价格):\(d_2(A,B) = 0.3333 - 1.0000 = -0.6667 < 0\),损失: \[ \Phi_2(A,B) = -0.4 \times \sqrt{3 \times 0.6667} = -0.4 \times \sqrt{2} = -0.4 \times 1.4142 = -0.5657 \]
指标3(交货准时率):\(d_3(A,B) = 1.0000 - 0.5000 = 0.5000 > 0\),收益: \[ \Phi_3(A,B) = \sqrt{\frac{1 \times 0.5}{3}} = \sqrt{0.1667} = 0.4082 \]
综合优势度 \(\delta(A,B) = (-0.4) + (-0.5657) + 0.4082 = -0.5575\)。
类似地,可计算所有方案对的综合优势度矩阵。由于篇幅,此处仅列出最终综合优势度矩阵 \(\Delta\)(行列对应方案A~D,\(\delta(a,b)\) 表示行方案优于列方案的程度):
\[ \Delta = \begin{bmatrix} 0 & -0.5575 & 0.6325 & -0.2000 \\ 0.6325 & 0 & 0.8000 & 0.3651 \\ -0.6325 & -0.8000 & 0 & -0.6162 \\ 0.3651 & -0.3651 & 0.6162 & 0 \end{bmatrix} \]
4. 计算各方案的综合优势度之和
- 方案A:\((-0.5575) + 0.6325 + (-0.2000) = -0.1250\)
- 方案B:\(0.6325 + 0.8000 + 0.3651 = 1.7976\)
- 方案C:\((-0.6325) + (-0.8000) + (-0.6162) = -2.0487\)
- 方案D:\(0.3651 + (-0.3651) + 0.6162 = 0.6162\)
5. 计算全局优势度
- 最小值:\(\min = -2.0487\),最大值:\(\max = 1.7976\)
- 方案A:\((-0.1250 - (-2.0487)) / (1.7976 - (-2.0487)) = (1.9237) / 3.8463 = 0.5000\)
- 方案B:\((1.7976 + 2.0487) / 3.8463 = 3.8463 / 3.8463 = 1.0000\)
- 方案C:\((-2.0487 + 2.0487) / 3.8463 = 0 / 3.8463 = 0.0000\)
- 方案D:\((0.6162 + 2.0487) / 3.8463 = 2.6649 / 3.8463 = 0.6929\)
6. 排序
全局优势度:B(1.0000) > D(0.6929) > A(0.5000) > C(0.0000),因此供应商B最优,供应商C最差。
结论:供应商B的综合表现最好,尤其在价格和产品质量上具有明显优势;供应商C在所有指标上均处于劣势,排序最差。
常见问题
Q1: TODIM法与PROMETHEE法有何异同?
A: 两者均基于方案间的成对比较。PROMETHEE通过偏好函数计算偏好指数,进而计算正流、负流和净流;TODIM则基于前景理论,引入损失规避因子 \(\theta\),对损失进行非线性放大。TODIM更能反映决策者的风险态度。
Q2: 衰减因子 \(\theta\) 如何影响结果?
A: \(\theta\) 控制损失规避的程度。\(\theta\) 越大,损失项的影响越小,决策者对损失越不敏感;\(\theta\) 越小,损失项的影响越大,决策者越厌恶损失。通常建议 \(\theta\) 取 1~10 之间的值,可通过灵敏度分析确定。
Q3: 标准化方法如何选择?
A: 不同标准化方法适用于不同场景: - 线性标准化:适用于指标值总和有意义的情况(如份额、比例)。 - 向量标准化:适用于指标值具有物理意义,且希望保持相对距离。 - 极差标准化:最常用,将数据映射到 [0,1] 区间,保留原始分布形状。 - 最大值标准化:适用于指标值以最大值为基准的情况(如达标率)。
建议根据数据特点和问题背景选择,或对比不同方法的结果稳定性。
Q4: 负向指标如何处理?
A: 平台在标准化阶段根据指标类型自动处理,将负向指标转换为正向意义。用户只需在参数设置中正确选择指标类型即可。
Q5: 支持多工作表吗?
A: 支持。平台允许上传包含多个工作表的Excel文件,每个工作表对应不同的数据集,系统会分别分析并输出结果,便于对比不同场景下的决策。
平台功能
TODIM法分析平台提供以下核心功能:
数据输入
- 支持CSV、Excel、TXT多种格式。
- Excel文件支持多工作表,自动识别工作表名称。
- 数据格式要求:第一行为指标名称,第一列为方案名称,数据区域为数值型。
参数设置
- 指标类型:为每个指标指定类型(正向指标、负向指标)。
- 权重设置:自定义每个指标的权重,或一键设为等权重。
- 标准化方法:选择“线性标准化”、“向量标准化”、“极差标准化”或“最大值标准化”。
- 衰减因子 θ:设置损失规避参数(默认 2.5)。
- 小数位数:控制输出精度(默认6位)。
- 显示中间结果:可选是否展示标准化矩阵、相对权重、综合优势度矩阵等中间步骤。
结果展示
- 详细分析报告:包含各方案的全局优势度及排序。
- 可视化图表:全局优势度排名图、综合优势度热力图。
- AI智能分析:基于DeepSeek API自动解读结果,提供决策建议(每日限3次)。
- 多格式导出:支持Excel和HTML报告下载。
工作表管理
- 多工作表自动识别,支持批量分析。
- 实时显示每个工作表的验证状态。
- 支持对比不同工作表的权重分布与排序结果。
使用建议
准备阶段:明确评价对象和指标体系,确定每个指标的类型(正向/负向)。
数据收集:使用模板文件填写,每个工作表可代表不同的数据集(如不同年份、不同专家组)。确保数据完整且无缺失值。
参数设置:
- 正确设置指标类型,负向指标务必标记为“负向”。
- 根据决策偏好设置权重,或使用等权重作为基准。
- 选择合适的标准化方法,一般情况下推荐极差标准化。
- 根据决策者对损失的敏感程度设置衰减因子 θ(可尝试 1, 2.5, 5 等值进行灵敏度分析)。
结果解读:
- 关注全局优势度大小,值越大方案越优。
- 结合综合优势度矩阵,分析方案间的优劣关系(正值表示行方案优于列方案,负值表示劣于)。
- 若多个方案全局优势度接近,可结合其他定性因素综合决策。
迭代优化:
- 若结果与预期不符,可检查数据或指标类型设置。
- 尝试不同的标准化方法和 θ 值,观察排序的稳定性。
- 剔除冗余或高度相关的指标,简化指标体系。
平台界面

平台界面包含:数据上传区、参数设置区、多工作表预览、分析结果展示和AI分析模块
参考文献:
- Gomes L F A M, Lima M M P P. TODIM: basics and application to multicriteria ranking of projects with environmental impacts[J]. Foundations of Computing and Decision Sciences, 1991, 16(4): 113-127.
- 基于前景理论的多准则决策方法研究[D]. 东北大学,2010.
- TODIM法在供应商选择中的应用[J]. 工业工程与管理,2015.