数学建模(2)--TOPSIS法

数学建模--TOPSIS法

概括

TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution )法是C.L.Hwang和K.Yoon于1981年首次提出,TOPSIS法根据有限个评价对象与理想化目标的接近程度进行排序的方法,是在现有的对象中进行相对优劣的评价。TOPSIS法是一种逼近于理想解的排序法,该方法只要求各效用函数具有单调递增(或递减)性就行。TOPSIS法是多目标决策分析中一种常用的有效方法,又称为优劣解距离法。
在这里插入图片描述
层次分析法评价的决策层不能太多,太多的话n会很大,判断矩阵和一致矩阵差异可能会很大,所以可以使用TOPSIS法进行分析。

TOPSIS是一种多属性决策分析方法,可以用来评价多个决策方案的相对优劣。Matlab中可以使用以下代码实现: 假设有4个决策方案,每个方案有3个评价指标,存储在一个4行3列的矩阵X中。 ```matlab X = [3 2 6; 5 4 8; 7 5 9; 4 6 7]; ``` 首先需要将所有指标标准化,使得它们的取值范围相同。可以使用以下代码实现: ```matlab [n,m] = size(X); % n为方案数,m为指标数 X1 = X./sqrt(sum(X.^2)); % 指标标准化 ``` 接下来,需要确定每个指标的权重。可以使用主观赋权或客观赋权来确定权重。这里假设已经确定了指标权重,存储在一个1行3列的矩阵W中。 ```matlab W = [0.3 0.4 0.3]; % 指标权重 ``` 然后计算加权规范化矩阵,即将指标标准化后乘以指标权重,得到每个方案的加权规范化得分。 ```matlab X2 = X1.*W; % 加权规范化矩阵 ``` 接下来需要确定正负理想解。正理想解是指在每个指标上取值最大的方案,负理想解是指在每个指标上取值最小的方案。可以使用以下代码实现: ```matlab Z = [max(X2); min(X2)]; % 正负理想解 ``` 然后计算每个方案到正负理想解的距离,可以使用欧氏距离或曼哈顿距离。这里使用欧氏距离。 ```matlab D = sqrt(sum((X2-Z(:,1)').^2,2)) ./ (sqrt(sum((X2-Z(:,1)').^2,2)) + sqrt(sum((X2-Z(:,2)').^2,2))); % 距离值 ``` 最后按照距离值的大小排序,得到每个方案的相对优劣程度。 ```matlab [~,rank] = sort(D,'descend'); % 相对优劣程度排序 ``` rank中的第一个元素即为最优方案的编号。 完整的代码如下: ```matlab X = [3 2 6; 5 4 8; 7 5 9; 4 6 7]; [n,m] = size(X); X1 = X./sqrt(sum(X.^2)); % 指标标准化 W = [0.3 0.4 0.3]; % 指标权重 X2 = X1.*W; % 加权规范化矩阵 Z = [max(X2); min(X2)]; % 正负理想解 D = sqrt(sum((X2-Z(:,1)').^2,2)) ./ (sqrt(sum((X2-Z(:,1)').^2,2)) + sqrt(sum((X2-Z(:,2)').^2,2))); % 距离值 [~,rank] = sort(D,'descend'); % 相对优劣程度排序 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

记帖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值