做出口网站,凡科网营销推广,如何百度搜到自己的网站,最受欢迎的wordpress主题前言 提醒#xff1a; 文章内容为方便作者自己后日复习与查阅而进行的书写与发布#xff0c;其中引用内容都会使用链接表明出处#xff08;如有侵权问题#xff0c;请及时联系#xff09;。 其中内容多为一次书写#xff0c;缺少检查与订正#xff0c;如有问题或其他拓展…前言 提醒 文章内容为方便作者自己后日复习与查阅而进行的书写与发布其中引用内容都会使用链接表明出处如有侵权问题请及时联系。 其中内容多为一次书写缺少检查与订正如有问题或其他拓展及意见建议欢迎评论区讨论交流。 内容由AI辅助生成仅经笔者审核整理请甄别食用。 文章目录前言TOPSIS方法多准则决策的几何解析一、核心步骤与公式附变量解释1. 输入定义2. 步骤1归一化决策矩阵消除量纲3. 步骤2加权归一化融合准则权重4. 步骤3确定理想解正/负5. 步骤4计算距离理想解的远近6. 步骤5计算贴近度方案优劣排序二、关键特点与优势三、示例解析简化场景2方案×2准则1. 归一化消除量纲2. 加权归一化融合权重3. 确定理想解4. 计算距离与贴近度5. 排序结论四、方法对比与适用场景五、总结简单示例代码说明TOPSIS方法多准则决策的几何解析
TOPSISTechnique for Order Preference by Similarity to Ideal Solution 由Yoon和Hwang于1981年提出是经典多准则决策MCDM方法。其核心逻辑是将决策问题映射到nnn维空间nnn为准则数量 通过计算方案与“正理想解”“负理想解”的距离筛选最接近正理想解、最远离负理想解的方案实现复杂决策的量化排序。
一、核心步骤与公式附变量解释
1. 输入定义
决策矩阵设方案数为mmm、准则数为nnn原始矩阵记为X(xij)m×n\mathbf{X} (x_{ij})_{m \times n}X(xij)m×n。其中xijx_{ij}xij表示第iii个方案在第jjj个准则下的原始值如“方案1的成本值” 。准则权重记为W(w1,w2,…,wn)\mathbf{W} (w_1, w_2, \dots, w_n)W(w1,w2,…,wn)满足∑j1nwj1\sum_{j1}^n w_j 1∑j1nwj1。wjw_jwj表示第jjj个准则的重要性如“成本准则权重0.3说明成本占30%决策权重” 。
2. 步骤1归一化决策矩阵消除量纲
通过向量归一化统一量纲公式 xˉijxij∑i1mxij2\bar{x}_{ij} \frac{x_{ij}}{\sqrt{\sum_{i1}^m x_{ij}^2}} xˉij∑i1mxij2xij
变量xˉij\bar{x}_{ij}xˉij是第iii个方案在第jjj个准则下的归一化值输出区间[0,1][0,1][0,1]解决不同准则单位差异问题如“成本元”与“效率件/时”无法直接比较 。
3. 步骤2加权归一化融合准则权重
结合准则权重调整归一化值公式 Vijxˉij×wjV_{ij} \bar{x}_{ij} \times w_j Vijxˉij×wj
变量VijV_{ij}Vij是第iii个方案在第jjj个准则下的加权归一化值体现“准则重要性对方案表现的放大/缩小”如“高权重准则的方案值对决策结果影响更强” 。
4. 步骤3确定理想解正/负 正理想解AA^A各准则的最优值公式 Aj{maxiVij准则 j为最大化目标如“利润”miniVij准则 j为最小化目标如“成本”A_j^ \begin{cases} \max_i V_{ij} \text{准则 } j \text{ 为最大化目标如“利润”} \\ \min_i V_{ij} \text{准则 } j \text{ 为最小化目标如“成本”} \end{cases} Aj{maxiVijminiVij准则 j 为最大化目标如“利润”准则 j 为最小化目标如“成本” 变量AjA_j^Aj是第jjj个准则下的“最优表现”如“所有方案中成本最低值” 。 负理想解A−A^-A−各准则的最劣值与正理想解相反公式 Aj−{miniVij准则 j为最大化目标maxiVij准则 j为最小化目标A_j^- \begin{cases} \min_i V_{ij} \text{准则 } j \text{ 为最大化目标} \\ \max_i V_{ij} \text{准则 } j \text{ 为最小化目标} \end{cases} Aj−{miniVijmaxiVij准则 j 为最大化目标准则 j 为最小化目标 变量Aj−A_j^-Aj−是第jjj个准则下的“最劣表现”如“所有方案中成本最高值” 。
5. 步骤4计算距离理想解的远近 到正理想解的距离did_i^di di∑j1n(Vij−Aj)2d_i^ \sqrt{\sum_{j1}^n (V_{ij} - A_j^)^2} dij1∑n(Vij−Aj)2 变量did_i^di是第iii个方案到正理想解的欧氏距离距离越大方案离“最优表现”越远。 到负理想解的距离di−d_i^-di− di−∑j1n(Vij−Aj−)2d_i^- \sqrt{\sum_{j1}^n (V_{ij} - A_j^-)^2} di−j1∑n(Vij−Aj−)2 变量di−d_i^-di−是第iii个方案到负理想解的欧氏距离距离越大方案离“最劣表现”越远。
6. 步骤5计算贴近度方案优劣排序
贴近度反映方案与正理想解的相对接近程度公式 Cidi−didi−C_i \frac{d_i^-}{d_i^ d_i^-} Cididi−di−
变量Ci∈[0,1]C_i \in [0,1]Ci∈[0,1]值越大表示第iii个方案越接近正理想解、越远离负理想解方案越优。最终按CiC_iCi降序排序确定方案优先级。
二、关键特点与优势
几何直观性将决策映射到nnn维空间用“距离理想解的远近”排序逻辑清晰如二维场景可类比平面上点与“最优/最劣点”的距离比较 。混合准则支持兼容最大化、最小化目标仅需在确定AA^A、A−A^-A−时区分准则类型 覆盖“利润最大化成本最小化”等复杂场景。计算简洁性基于欧氏距离和加权归一化流程明确手工或编程均可快速实现。
三、示例解析简化场景2方案×2准则
假设场景2个方案桂林、黄山 、2个准则景色最大化权重0.6费用最小化权重0.4 原始矩阵X[9786]\mathbf{X} \begin{bmatrix} 9 7 \\ 8 6 \end{bmatrix}X[9876]桂林景色9、费用7黄山景色8、费用6 。
1. 归一化消除量纲
xˉ1199282≈0.676,xˉ1277262≈0.714xˉ2189282≈0.606,xˉ2267262≈0.618\bar{x}_{11} \frac{9}{\sqrt{9^28^2}} \approx 0.676,\ \bar{x}_{12} \frac{7}{\sqrt{7^26^2}} \approx 0.714 \\ \bar{x}_{21} \frac{8}{\sqrt{9^28^2}} \approx 0.606,\ \bar{x}_{22} \frac{6}{\sqrt{7^26^2}} \approx 0.618 xˉ1192829≈0.676, xˉ1272627≈0.714xˉ2192828≈0.606, xˉ2272626≈0.618
2. 加权归一化融合权重
V110.676×0.6≈0.406,V120.714×0.4≈0.286V210.606×0.6≈0.364,V220.618×0.4≈0.247V_{11} 0.676×0.6 \approx 0.406,\ V_{12} 0.714×0.4 \approx 0.286 \\ V_{21} 0.606×0.6 \approx 0.364,\ V_{22} 0.618×0.4 \approx 0.247 V110.676×0.6≈0.406, V120.714×0.4≈0.286V210.606×0.6≈0.364, V220.618×0.4≈0.247
3. 确定理想解
景色最大化A10.406A_1^ 0.406A10.406桂林、A1−0.364A_1^- 0.364A1−0.364黄山费用最小化A20.247A_2^ 0.247A20.247黄山、A2−0.286A_2^- 0.286A2−0.286桂林
4. 计算距离与贴近度
桂林d1≈0.039d_1^ \approx 0.039d1≈0.039到正理想解距离、d1−≈0.042d_1^- \approx 0.042d1−≈0.042到负理想解距离C1≈0.518C_1 \approx 0.518C1≈0.518黄山d2≈0.042d_2^ \approx 0.042d2≈0.042到正理想解距离、d2−≈0.039d_2^- \approx 0.039d2−≈0.039到负理想解距离C2≈0.482C_2 \approx 0.482C2≈0.482
5. 排序结论
因C1C2C_1 C_2C1C2桂林更接近正理想解为更优方案。
四、方法对比与适用场景
方法核心逻辑适用场景局限性TOPSIS距离理想解的相对接近度数据分布均匀、混合准则场景对异常值敏感VIKOR妥协解平衡群体效用与遗憾需多方协商的复杂决策计算稍复杂AHP成对比较确定权重权重确定阶段主观依赖强COPRAS区分准则类型的相对显著性成本敏感型决策最小化准则影响突出
五、总结
TOPSIS 以几何直观性、混合准则兼容性、计算简洁性为核心优势适合工程评估、项目优选等场景。其本质是将定性决策转化为“距离比较”的定量问题通过CiC_iCi实现方案排序。需注意若数据存在异常值如极端大/小值 需预处理如离群值修正 否则可能影响结果可靠性。
简单示例
下面是一个使用TOPSIS优化方法的MATLAB实现包含完整计算流程和可视化功能。这个示例解决了一个经典的供应商选择问题通过TOPSIS方法在多个准则下对备选方案进行排序和选择。
%% TOPSISTechnique for Order Preference by Similarity to Ideal Solution优化方法示例
clear; clc; close all;%% 1. 定义问题数据
% 备选方案供应商
alternatives {供应商A, 供应商B, 供应商C, 供应商D, 供应商E};
num_alternatives length(alternatives);% 评价准则
criteria {价格, 质量, 交货期, 服务水平, 环保性};
num_criteria length(criteria);% 准则权重可通过AHP等方法确定
weights [0.25, 0.20, 0.15, 0.20, 0.20];% 决策矩阵方案在各准则下的表现
% 注价格为最小化准则其余为最大化准则
decision_matrix [80, 7, 9, 8, 7; % 供应商A90, 8, 7, 9, 8; % 供应商B70, 9, 6, 7, 9; % 供应商C60, 6, 8, 6, 6; % 供应商D85, 7, 10, 8, 8; % 供应商E
];% 标记准则类型1最大化0最小化
criteria_type [0, 1, 1, 1, 1];%% 2. TOPSIS计算流程
% 步骤1归一化决策矩阵向量归一化
normalized_matrix zeros(size(decision_matrix));
for j 1:num_criteriaif criteria_type(j) 1 % 最大化准则normalized_matrix(:,j) decision_matrix(:,j) / norm(decision_matrix(:,j));else % 最小化准则normalized_matrix(:,j) min(decision_matrix(:,j)) ./ decision_matrix(:,j);normalized_matrix(:,j) normalized_matrix(:,j) / norm(normalized_matrix(:,j));end
end% 步骤2加权归一化矩阵
weighted_matrix normalized_matrix .* repmat(weights, num_alternatives, 1);% 步骤3确定正理想解和负理想解
positive_ideal zeros(1, num_criteria);
negative_ideal zeros(1, num_criteria);
for j 1:num_criteriaif criteria_type(j) 1 % 最大化准则positive_ideal(j) max(weighted_matrix(:,j));negative_ideal(j) min(weighted_matrix(:,j));else % 最小化准则positive_ideal(j) min(weighted_matrix(:,j));negative_ideal(j) max(weighted_matrix(:,j));end
end% 步骤4计算到正理想解和负理想解的距离
d_plus zeros(num_alternatives, 1);
d_minus zeros(num_alternatives, 1);
for i 1:num_alternativesd_plus(i) norm(weighted_matrix(i,:) - positive_ideal);d_minus(i) norm(weighted_matrix(i,:) - negative_ideal);
end% 步骤5计算相对贴近度
relative_closeness d_minus ./ (d_plus d_minus);% 步骤6排序
[closeness_sorted, sort_idx] sort(relative_closeness, descend);%% 3. 可视化结果
% 3.1 决策矩阵热图
figure(Position, [100, 100, 1000, 800]);
subplot(2, 2, 1);
imagesc(decision_matrix);
title(原始决策矩阵);
xlabel(准则);
ylabel(方案);
set(gca, XTick, 1:num_criteria, XTickLabel, criteria);
set(gca, YTick, 1:num_alternatives, YTickLabel, alternatives);
colorbar;
for i 1:num_alternativesfor j 1:num_criteriatext(j, i, num2str(decision_matrix(i,j)), HorizontalAlignment, center, FontSize, 10);end
end% 3.2 准则权重饼图
subplot(2, 2, 2);
pie(weights, criteria);
title(准则权重分布);% 3.3 距离和贴近度对比图
subplot(2, 2, 3);
bar_width 0.25;
x 1:num_alternatives;
bar(x - bar_width, d_plus, bar_width, r, DisplayName, 到正理想解的距离);
hold on;
bar(x, d_minus, bar_width, g, DisplayName, 到负理想解的距离);
bar(x bar_width, relative_closeness, bar_width, b, DisplayName, 相对贴近度);
hold off;
title(距离和贴近度对比);
xlabel(方案);
ylabel(值);
set(gca, XTick, 1:num_alternatives, XTickLabel, alternatives);
legend;
grid on;% 3.4 TOPSIS排序结果
subplot(2, 2, 4);
barh(1:num_alternatives, closeness_sorted);
title(TOPSIS排序结果);
xlabel(相对贴近度 (越大越好));
ylabel(方案 (按排名));
set(gca, YTick, 1:num_alternatives, YTickLabel, alternatives(sort_idx));
grid on;% 添加标签显示具体贴近度值
for i 1:num_alternativestext(closeness_sorted(i)0.01, i, sprintf(%.4f, closeness_sorted(i)), HorizontalAlignment, left, VerticalAlignment, middle);
end%% 4. 输出结果
fprintf(\n TOPSIS优化结果汇总 \n);
fprintf(\n1. 准则权重:\n);
for i 1:num_criteriafprintf( %s: %.2f\n, criteria{i}, weights(i));
endfprintf(\n2. 各方案评估结果:\n);
fprintf( 方案\t\t正理想解距离\t负理想解距离\t相对贴近度\n);
for i 1:num_alternativesfprintf( %s\t%.4f\t\t%.4f\t\t%.4f\n, alternatives{i}, d_plus(i), d_minus(i), relative_closeness(i));
endfprintf(\n3. TOPSIS推荐排序:\n);
for i 1:num_alternativesfprintf( 第%d名: %s (贴近度: %.4f)\n, i, alternatives{sort_idx(i)}, closeness_sorted(i));
end代码说明 问题定义 5个备选方案供应商A-E5个评价准则价格、质量、交货期、服务水平、环保性准则权重通过专家判断或AHP方法预先确定准则类型价格为最小化准则其余为最大化准则 TOPSIS计算流程 归一化处理针对不同类型准则采用不同归一化方法加权处理结合准则权重调整归一化后的决策矩阵确定理想解分别计算正理想解和负理想解计算距离计算各方案到正理想解和负理想解的欧氏距离计算相对贴近度综合距离指标得到最终评分排序按相对贴近度降序排列 可视化功能 决策矩阵热图直观展示原始数据准则权重饼图显示各准则重要性分布距离和贴近度对比图横向比较各方案在不同指标下的表现TOPSIS排序结果按相对贴近度从高到低展示 结果输出 详细列出各方案的距离指标和相对贴近度给出推荐排序结果 运行结果