UTASTAR法

方法概述

UTASTAR(UTilité Additive STAR)是一种基于加性效用函数的多准则决策方法,由 Jacquet-Lagrèze 和 Siskos 于1982年提出。该方法通过构建每个指标的边际效用函数,将各指标的原始值转化为效用值,并累加得到方案的总效用,从而对方案进行排序。

UTASTAR法的核心思想是:

  • 根据决策者的先验知识或历史数据,确定各指标的偏好方向(极大型、极小型、中间型、区间型),并对原始数据进行正向化处理。
  • 将正向化后的数据标准化到 [0,1] 区间。
  • 对每个指标,在 [0,1] 区间内划分为若干等距分段,构造分段线性边际效用函数。
  • 通过线性规划或简化方法估计边际效用函数的参数(即各分段点的效用值),使得各方案的总体效用与给定的排序(如果有)尽可能一致。
  • 若无给定排序,则直接根据总效用大小对方案排序。
  • 最终得到各指标的权重(由边际效用的总变化计算)和各方案的总效用值。

该方法能够从数据中“学习”出决策者的偏好结构,适用于存在历史排序或需要揭示内在偏好规律的评价问题。

计算步骤

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)极大型指标(越大越好)

保持不变: \[ y_{ij} = x_{ij} \]

(2)极小型指标(越小越好)

\[ y_{ij} = \max(x_j) - x_{ij} \]

(3)中间型指标(越接近某固定值 \(a\) 越好)

\(M = \max |x_{ij} - a|\),则: \[ y_{ij} = 1 - \frac{|x_{ij} - a|}{M} \]\(M=0\)(所有值均等于 \(a\)),则 \(y_{ij}=1\)

(4)区间型指标(落在区间 \([a,b]\) 内最好)

\(M = \max(a - \min(x_j), \max(x_j) - b)\),则: \[ y_{ij} = \begin{cases} 1 - \frac{a - x_{ij}}{M}, & x_{ij} < a \\ 1, & a \leq x_{ij} \leq b \\ 1 - \frac{x_{ij} - b}{M}, & x_{ij} > b \end{cases} \]\(M=0\)(所有值均落在区间内),则 \(y_{ij}=1\)

3. 数据标准化

将正向化后的数据通过极差标准化映射到 \([0,1]\) 区间:

\[ z_{ij} = \frac{y_{ij} - \min(y_j)}{\max(y_j) - \min(y_j)} \]

\(\max(y_j) = \min(y_j)\),则 \(z_{ij}=1\)

4. 构建边际效用函数

对于每个指标 \(j\),将其取值范围 \([0,1]\) 等分为 \(k\) 段(\(k\) 为分段数,由用户指定,通常取 3~10),得到 \(k+1\) 个分段点 \(0 = \xi_j^0 < \xi_j^1 < \cdots < \xi_j^k = 1\)

设分段点处的边际效用值为 \(u_j^0, u_j^1, \dots, u_j^k\),满足 \(u_j^0 = 0\),且 \(u_j^t\)\(t\) 单调非减(对极大型指标)。在任意点 \(z \in [\xi_j^{t-1}, \xi_j^t]\),边际效用由线性插值得到:

\[ u_j(z) = u_j^{t-1} + \frac{u_j^t - u_j^{t-1}}{\xi_j^t - \xi_j^{t-1}} (z - \xi_j^{t-1}) \]

5. 计算总效用

方案 \(i\) 的总效用为各指标边际效用之和:

\[ U_i = \sum_{j=1}^{m} u_j(z_{ij}) \]

6. 确定边际效用参数

若有先验排序(即用户提供了各方案的排名),则通过求解线性规划模型来估计边际效用参数,使得排序误差最小化(UTASTAR 标准算法)。本平台简化实现:若无排序向量,则默认边际效用为线性递增,即 \(u_j^t = t/k\);若有排序向量,则根据排序调整参数(实际代码中暂未实现完整线性规划,但保留了接口)。

7. 计算指标权重

指标 \(j\) 的权重由边际效用的总变化决定:

\[ w_j = \frac{u_j(1) - u_j(0)}{\sum_{i=1}^{m} [u_i(1) - u_i(0)]} \]

由于 \(u_j(0)=0\)\(u_j(1)\) 即为指标 \(j\) 的最大边际效用。将所有权重归一化后得到各指标的最终权重。

8. 方案排序

根据总效用 \(U_i\) 从大到小排序,\(U_i\) 越大表示方案越优。若有先验排序,则计算排序与先验排序的吻合程度。

案例分析

案例背景:某企业拟从四个供应商(A、B、C、D)中选择合作伙伴,评价指标包括:产品质量(极大型)、价格(极小型)、交货准时率(极大型)。原始数据如下:

供应商 产品质量 价格 交货准时率
A 85 200 0.95
B 90 180 0.90
C 75 210 0.85
D 80 190 0.92

设分段数 \(k=5\),无先验排序,采用默认线性边际效用。

计算过程

1. 数据正向化

  • 产品质量(极大型):保持不变。
    • A: 85, B: 90, C: 75, D: 80
  • 价格(极小型):需转换为极大型。\(\max=210\)
    • A: \(210-200=10\)
    • B: \(210-180=30\)
    • C: \(210-210=0\)
    • D: \(210-190=20\)
  • 交货准时率(极大型):保持不变。
    • A: 0.95, B: 0.90, C: 0.85, D: 0.92

正向化矩阵 \(Y\)

\[ Y = \begin{bmatrix} 85 & 10 & 0.95 \\ 90 & 30 & 0.90 \\ 75 & 0 & 0.85 \\ 80 & 20 & 0.92 \end{bmatrix} \]

2. 数据标准化(极差法)

  • 产品质量:\(\min=75\), \(\max=90\),范围 15。
    • A: \((85-75)/15 = 0.6667\)
    • B: \((90-75)/15 = 1.0000\)
    • C: \((75-75)/15 = 0.0000\)
    • D: \((80-75)/15 = 0.3333\)
  • 价格:\(\min=0\), \(\max=30\),范围 30。
    • A: \((10-0)/30 = 0.3333\)
    • B: \((30-0)/30 = 1.0000\)
    • C: \((0-0)/30 = 0.0000\)
    • D: \((20-0)/30 = 0.6667\)
  • 交货准时率:\(\min=0.85\), \(\max=0.95\),范围 0.1。
    • A: \((0.95-0.85)/0.1 = 1.0000\)
    • B: \((0.90-0.85)/0.1 = 0.5000\)
    • C: \((0.85-0.85)/0.1 = 0.0000\)
    • D: \((0.92-0.85)/0.1 = 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} \]

3. 构建边际效用函数(分段数 \(k=5\)

分段点:\(0, 0.2, 0.4, 0.6, 0.8, 1.0\)。采用线性递增边际效用,即 \(u(0)=0\), \(u(0.2)=0.2\), \(u(0.4)=0.4\), \(u(0.6)=0.6\), \(u(0.8)=0.8\), \(u(1.0)=1.0\)。对任意 \(z\),按所在分段线性插值。

4. 计算各方案的总效用

  • 方案A:
    • 产品质量 \(0.6667\):介于 \(0.6\)\(0.8\) 之间,插值得 \(0.6 + (0.6667-0.6)/(0.8-0.6)\times(0.8-0.6) = 0.6 + 0.3335\times0.2 = 0.6667\)(巧合等于数值)。
    • 价格 \(0.3333\):介于 \(0.2\)\(0.4\) 之间,插值得 \(0.2 + (0.3333-0.2)/(0.4-0.2)\times(0.4-0.2) = 0.2 + 0.6665\times0.2 = 0.3333\)
    • 交货准时率 \(1.0\):等于 \(1.0\),效用 \(1.0\)
    • 总效用 \(U_A = 0.6667 + 0.3333 + 1.0 = 2.0000\)
  • 方案B:
    • 产品质量 \(1.0\):效用 \(1.0\)
    • 价格 \(1.0\):效用 \(1.0\)
    • 交货准时率 \(0.5\):介于 \(0.4\)\(0.6\) 之间,插值得 \(0.4 + (0.5-0.4)/(0.6-0.4)\times(0.6-0.4) = 0.4 + 0.5\times0.2 = 0.5\)
    • 总效用 \(U_B = 1.0 + 1.0 + 0.5 = 2.5000\)
  • 方案C:
    • 产品质量 \(0.0\):效用 \(0\)
    • 价格 \(0.0\):效用 \(0\)
    • 交货准时率 \(0.0\):效用 \(0\)
    • 总效用 \(U_C = 0.0000\)
  • 方案D:
    • 产品质量 \(0.3333\):介于 \(0.2\)\(0.4\) 之间,插值得 \(0.2 + (0.3333-0.2)/(0.4-0.2)\times(0.4-0.2) = 0.2 + 0.6665\times0.2 = 0.3333\)
    • 价格 \(0.6667\):介于 \(0.6\)\(0.8\) 之间,插值得 \(0.6 + (0.6667-0.6)/(0.8-0.6)\times(0.8-0.6) = 0.6 + 0.3335\times0.2 = 0.6667\)
    • 交货准时率 \(0.7\):介于 \(0.6\)\(0.8\) 之间,插值得 \(0.6 + (0.7-0.6)/(0.8-0.6)\times(0.8-0.6) = 0.6 + 0.5\times0.2 = 0.7\)
    • 总效用 \(U_D = 0.3333 + 0.6667 + 0.7 = 1.7000\)

5. 计算指标权重

各指标边际效用的总变化均为 \(1-0=1\),因此权重相等,各为 \(1/3\)

6. 排序

\(U_B = 2.5 > U_A = 2.0 > U_D = 1.7 > U_C = 0\),故供应商B最优,C最差。

结论:供应商B在产品质量和价格上表现最佳,总效用最高;供应商C在所有指标上均处劣势,排序最差。

常见问题

Q1: 分段数 \(k\) 如何选择?

A: 分段数决定了边际效用函数的精细程度。分段数越多,函数越能逼近任意形状,但可能导致过拟合且增加计算量。通常取 \(k=3 \sim 10\),可根据样本量(方案数)和指标数量权衡。方案较少时建议取较小值。

Q2: 误差阈值 \(\sigma\) 的作用是什么?

A: 误差阈值用于控制线性规划模型中允许的排序误差(即方案总效用与先验排序的偏差)。本平台暂未实现完整线性规划,但保留了参数接口,供后续扩展。

Q3: 什么情况下需要使用“有排序向量”模式?

A: 当您已有历史排序或专家给出的先验排序(例如已知某些方案优于另一些方案)时,可选择此模式。平台将尝试估计边际效用参数,使得计算出的总效用与先验排序尽可能一致,从而“学习”出决策者的偏好。若无先验排序,则默认边际效用为线性。

Q4: 如何处理中间型和区间型指标?

A: 在“指标类型设置”中,选择相应类型并输入最优值(中间型)或区间上下限(区间型)。平台会在正向化阶段自动将数据转换为极大型。

Q5: 支持多工作表吗?

A: 支持。平台允许上传包含多个工作表的Excel文件,每个工作表可代表不同轮次、不同专家群体或不同评价体系的数据,系统会分别分析并输出结果,便于对比。

平台功能

UTASTAR法分析平台提供以下核心功能:

数据输入

  • 支持CSV、Excel、TXT多种格式。
  • Excel文件支持多工作表,自动识别工作表名称。
  • 数据格式要求:第一行为指标名称,第一列为方案名称,数据区域为数值型。若包含排序向量,请将其放在最后一列,并在参数中指定列号。

参数设置

  • 排序向量设置:选择“无排序向量(自动计算)”或“有排序向量(从数据中读取)”,若选择后者需指定排序向量列号。
  • 分段数:每个指标的分段数量(默认5)。
  • 误差阈值σ:控制模型允许的误差(默认0.05)。
  • 小数位数:控制输出精度(默认6位)。
  • 显示中间结果:可选是否展示正向化矩阵、标准化矩阵等中间步骤。
  • 指标类型设置:为每个指标指定类型(极大型、极小型、中间型、区间型),并设置相应参数。
  • 权重约束设置:可选为每个指标的权重设置上下限(0~1之间),用于约束权重范围。

结果展示

  • 详细分析报告:包含各方案的总效用值及排序。
  • 计算过程:展示原始数据、正向化矩阵、标准化矩阵、边际效用函数参数(权重)。
  • 可视化图表:总效用排名图、指标权重分布图。
  • AI智能分析:基于DeepSeek API自动解读结果,提供决策建议(每日限3次)。
  • 多格式导出:支持Excel和HTML报告下载。

工作表管理

  • 多工作表自动识别,支持批量分析。
  • 实时显示每个工作表的验证状态。
  • 支持对比不同工作表的权重分布与排序结果。

使用建议

  1. 准备阶段:明确评价对象和指标体系,确定每个指标的类型(极大型/极小型/中间型/区间型)。若有先验排序,准备排序向量列。

  2. 数据收集:使用平台提供的模板文件填写数据,确保数据完整且无缺失值。每个工作表可代表不同的数据集(如不同年份、不同专家组)。

  3. 参数设置

    • 正确选择排序向量模式,若为“有排序向量”,务必确认列号正确。
    • 分段数可先取默认值5,后续根据结果稳定性调整。
    • 若对权重有先验约束,可设置权重上下限(例如某指标权重不得低于0.1)。
  4. 结果解读

    • 总效用值反映了方案的综合表现,值越大越优。
    • 权重揭示了各指标在决策中的相对重要性,可结合领域知识判断合理性。
    • 若无先验排序,默认线性边际效用等价于标准化后的加权和(权重等权时即为简单加权平均)。
  5. 迭代优化

    • 若结果与预期不符,可检查指标类型设置是否正确,或调整分段数。
    • 尝试使用“有排序向量”模式,输入历史排序,观察学习出的权重是否符合认知。
    • 对比不同工作表的结果,分析决策稳定性。

平台界面

官方地址:https://superr.online

UTASTAR法工具界面

平台界面包含:数据上传区、参数设置区、多工作表预览、分析结果展示和AI分析模块


参考文献

  1. Jacquet-Lagrèze E, Siskos Y. Assessing a set of additive utility functions for multicriteria decision-making: the UTA method[J]. European Journal of Operational Research, 1982, 10(2): 151-164.
  2. 徐泽水. 不确定多属性决策方法及应用[M]. 清华大学出版社,2004.
  3. UTASTAR方法在供应商选择中的应用研究[J]. 运筹与管理,2010.