TOPSIS综合评价法
TOPSIS法是多目标决策分析中一种常用的有效方法,是一种逼近于理想解的排序法,又称为优劣解距离法。它根据有限个评价对象与理想化目标的接近程度进行排序,在现有的对象中进行相对优劣的评价。
![9431446f144dec6522600d290448d6a6.gif](https://i-blog.csdnimg.cn/blog_migrate/46080ec210017a92f5b73568be459b98.gif)
例题解析
![4ba86a9d6448a3398b4941fe9d5e01be.png](https://i-blog.csdnimg.cn/blog_migrate/3e957316f101e3a9a4776944fcd0defb.png)
1989年度西山矿务局5个生产矿井实际资料如下表,对西山矿务局五个生产矿井1989年的企业经济效益进行综合评价。
![d6636a96b915948d06c17496e120382d.gif](https://i-blog.csdnimg.cn/blog_migrate/90cbfc12a107057c27cb18371a18565b.gif)
解题步骤
![4ba86a9d6448a3398b4941fe9d5e01be.png](https://i-blog.csdnimg.cn/blog_migrate/3e957316f101e3a9a4776944fcd0defb.png)
![a8562c377f14fe86ab698c862503896e.png](https://i-blog.csdnimg.cn/blog_migrate/f40b84b3610ab04f51d20866f748d6aa.png)
解:用x₁,…,x₉分别表示评价的指标变量原煤成本、原煤利润、原煤产量、原煤销售量、商品煤灰分、全员效率、流动资金周转天数、资源回收率、百万吨死亡率。其中,x₁,x₅,x₇,x₉是成本型指标,其余变量为效益型指标。
这里评价对象有5个,分别是白家庄矿、杜尔坪矿、西铭矿、官地矿、西曲矿,第i个评价对象关于第j个指标变量xj的取值为aij,对应的数据矩阵为A=(aij)₅*₉。
使用TOPSIS方法进行评价,步骤如下:
(1)对数据进行标准化处理。
成本指标的标准化公式为:
例如:
效益指标的标准化公式为:
例如:
式中:xjmax为第j个指标变量取值的最大值;xjmin为第j个指标变量取值的最小值。
标准化的数据矩阵记为
(2)求正理想解和负理想解。
设正理想解C*的第j个指标值为cj*,负理想解C⁰第j个指标值为cj0,则
正理想解
例如:
负理想解
例如:
(3)计算各评价对象到正理想解与负理想解的距离。
第i个评价对象到正理想解的距离为
例如:
第i个评价对象到负理想解的距离为
例如:
(4)计算各方案的排队指标值(即综合评价值):
例如:
(5)按fi*由大到小排列方案的优劣次序。
利用Matlab程序计算得到的综合评价值如下表所列。综合排名次序依次为西铭矿、白家庄矿、西曲矿、杜尔坪矿、官地矿。
![a8562c377f14fe86ab698c862503896e.png](https://i-blog.csdnimg.cn/blog_migrate/f40b84b3610ab04f51d20866f748d6aa.png)
![972c0dbab13bfe04e4b99fdbab144355.png](https://i-blog.csdnimg.cn/blog_migrate/365a8300912203cb35ed84f648caaa72.png)
附
计算的Matlab程序
a=[99.89 103.69 97.42 101.11 97.21
96.91 124.78 66.44 143.96 88.36
102.63 101.85 104.39 100.94 100.64
98.47 103.16 109.17 104.39 91.90
87.51 90.27 93.77 94.33 85.21
108.35 106.39 142.35 121.91 158.61
71.67 137.16 97.65 171.31 204.52
103.25 100 100 99.13 100.22
171.2 51.35 15.90 53.72 20.78];
a=a';
[m,n]=size(a);
for j=[1 5 7 9]
b(:,j)=(max(a(:,j))-a(:,j))/(max(a(:,j))-min(a(:,j)));
end
for j=[2:4,6,8]
b(:,j)=(a(:,j)-min(a(:,j)))/(max(a(:,j))-min(a(:,j)));
end
cstar=max(b);c0=min(b);
for i=1:m
dstar(i)=norm(b(i,:)-cstar); %q求到正理想解的距离
d0(i)=norm(b(i,:)-c0); %求到负理想解的距离
end
f=d0./(dstar+d0);
[sf.ind]=sort(f,'descend'); %求排序结果
END
![6fe34a9921fcf4d635c8869e4e33c301.png](https://i-blog.csdnimg.cn/blog_migrate/4f4d22ec35afec22cf959b705a69c994.jpeg)
JOIN US
南师泰院数学建模
快来关注一下吧!