手机外贸网站建设,详情页设计思路,西安手机网站建站,衡阳网站建设衡阳千度网络文章目录 TOPSIS简介方法和原理数学定义数学语言描述现实案例 正负理想解定义实例 量纲 TOPSIS法的算法步骤1.用向量规范化的方法求得规范决策矩阵2.构成加权规范阵C(c~ij~)~m*n~3.确定正负理想解的距离4.计算各方案到正理想解与负理想解的距离5.计算各方案的综合评价指数6.排列… 文章目录 TOPSIS简介方法和原理数学定义数学语言描述现实案例 正负理想解定义实例 量纲 TOPSIS法的算法步骤1.用向量规范化的方法求得规范决策矩阵2.构成加权规范阵C(c~ij~)~m*n~3.确定正负理想解的距离4.计算各方案到正理想解与负理想解的距离5.计算各方案的综合评价指数6.排列方案的优劣次序 实战应用例题解答步骤**数据的预处理****属性值线性规划归一化** MATLAB代码(建议对照上方 “TOPSIS法的算法步骤” 查看) 完整代码 TOPSIS简介
客观评价方法中的一种,亦称为理想解法是一种有效的多指标评价方法。这种方法通过构造评价问题的正理想解和负理想解即各指标的最优解和最劣解通过计算每个方案到理想方案的相对贴近度即靠近止理想解和远离负理想解的程度来对方案进行排序从而选出最优方案。
方法和原理
数学定义
数学语言描述
设多属性决策方案集为D{d1,d2,…,dm}衡量方案优劣的属性变量为x1,…,xn,这时方案集D中的每个方案di( i 1,…,m )的n个属性值构成的向量是[Ai1,…,Ain]它作为n维空间中的一个点能唯一地表征方案di。
现实案例
例如评价经济的发展水平 d1代表山东d2代表江苏d3代表北京……就是一共有m个待评价方案。 x1是绿化面积x2是人均GDPx3是经济总量……共有n个属性值。 其中能够展现山东的经济发展水平有绿化面积、人均GDP、经济总量等n个指标。而Ai1就是山东绿化的总面积、Ai2为山东GDP总量……
正负理想解
定义
正理想解C是一个方案集D中并不存在的虚拟的最佳方案它的每个属性值都是决策矩阵中该属性的最好值;而负理想解C0则是虚拟的最差方案它的每个属性值都是决策矩阵中该属性的最差值。在n维空间中将方案集D中的各备选方案di与正理想解C和负理想解C0的距离进行比较既靠近正理想解又远离负理想解的方案就是方案集D中的最佳方案;并可以据此排定方案集D中各备选方案的优先序。
实例 评价表中哪五个研究生院更好可以虚构一个最好的研究生院标准该虚构的研究生院的数据全为最优值例如 虚构研究生院6其中它的人均专著x61为1.2生师比x62为5(生师比为学生和老师的比值它的值必须保持适度适当的生师比可以促进老师和学生良好的互动该值过高过低都不好)科研经费x63为10000预期毕业率x64为1.8。此时研究生院6就是正理想解C*同理构建虚拟的最差方案负理想解C0。
–x1x2x3x4C*(正理想解)1.25100001.8C0(负理想解)0.1104006.7
量纲
确定好正负理想解后就可以以此来判断判断不同研究生院的优劣。下面开始描述每个研究生院与正负理想解的距离。 那么距离应该怎么算呢当量纲不同时方案不同数据的波动会很大因此在计算距离时首先要排除量纲的影响,进行非量纲化。
非量纲化定义 多属性决策与评估的困难之一是属性间的不可公度性即在属性值表中的每一列数具有不同的单位量纲。即使对同一属性,采用不同的计量单位,表中的数值也就不同。在用各种多属性决策方法进行分析评价时需要排除量纲的选用对决策或评估结果的影响这就是非量纲化。
TOPSIS法的算法步骤
1.用向量规范化的方法求得规范决策矩阵
设多属性决策问题的决策矩阵A(aij )m*n规范化决策矩阵B(bij)m*n其中
2.构成加权规范阵C(cij)m*n
设由决策人给定各属性的权重向量为 w[w1,w2,…,wn] 则 cij wj*bij 其中 i1,2,…,m j 1,2,…,n.
在评价过程中每项评价标准占比不同让重要的指标影响大一点不重要的指标影响小一点。 类似于成绩的计算比较重要的语数英总分数高一些其他副科的总分数低一些。
3.确定正负理想解的距离
理想解属性大致可以分为效益型、成本型和区间型三种其中 正理想解
效益最大值和成本最小值当属性为区间型的时候要判断在哪个区间最佳。
负理想解
效益最小值和成本最大值
4.计算各方案到正理想解与负理想解的距离
备选方案di到正理想解的距离为
备选方案di到负理想解的距离为 可类比两点间距离公式该距离为n维空间内的距离 5.计算各方案的综合评价指数 计算综合评价指数公式的分子为方案到负理想解的距离分母为为方案到负理想解的距离与方案到正理想解的距离之和所以综合评价指数越大越好。
6.排列方案的优劣次序
按综合评价指数由大到小排列方案的优劣次序即可
实战应用
例题
研究生院试评估 为了客观地评价我国研究生教育的实际状况和各研究生院的教学质量,国务院学位委员会办公室组织过一次研究生院的评估。为了取得经验先选5所研究生院收集有关数据资料进行了试评估,表1是所给出的部分数据。
解答步骤
数据的预处理 数据的预处理又称属性值的规范化 属性值具有多种类型,包括效益型、成本型和区间型等。这三种属性,效益型属性越大越好,成本型属性越小越好区间型属性是在某个区间最佳。
判断每个属性的数据是越大越好还是越小越好当属性为区间型的时候判断在哪个区间最佳。 判断完成以后将它们进行规范化处理。
数据规范化处理的作用 1.属性值有多种类型,上述三种属性放在同一个表中不便于直接从数值大小判断方案的优劣因此需要对数据进行预处理,使得表中任一属性下性能越优的方案变换后的属性值越大。 2.非量纲化,多属性决策与评估的困难之一是属性间的不可公度性即在属性值表中的每一列数具有不同的单位量纲。即使对同一属性,采用不同的计量单位,表中的数值也就不同。在用各种多属性决策方法进行分析评价时需要排除量纲的选用对决策或评估结果的影响这就是非量纲化。 3.归一化,属性值表中不同指标的属性值的数值人小差别很大为了直观更为了便于采用各种多属性决策与评估方法进行评价需要把属性值表中的数值归一化,即把表中数值均变换到[01]区间上。 即将上述三种属性全部转化为效益型这个数值分布在[01]区间上该值越大越好。
属性值线性规划归一化
为了使每个属性变换后的最优值为1且最差值为0可以进行标准0-1变换。 **1.对效益型属性xj令 当aij为最小值时bij为0当aij为最大值时bij为1。** 2.对成本型属性xj 计算公式可套用效益型的公式在求正负理想解的时候记得要颠倒一下。 **3.对区间型属性xj设给定的最优属性区间为[ a j 0 a^0_j aj0, a j ∗ a^*_j aj∗] a j a^_j aj为无 法容忍下限, a j ” a^”_j aj”为无法容忍上限则 例如例题中的生师比它最好的区间应为[5,6],最差应不低于2高于12当该属性值在最有区间时为1当超过或等于能容忍上下限时为0。**
MATLAB代码(建议对照上方 “TOPSIS法的算法步骤” 查看)
注以下并非C语言
clc,clear
% clc清除命令窗口的内容对工作环境中的全部变量无任何影响
% clear清除工作空间的所有变量a[0.1 5 5000 4.70.2 6 6000 5.60.4 7 7000 6.70.9 10 10000 2.31.2 2 400 1.8];
% 输入数据[m,n]size(a);
%这行代码的作用是获取矩阵a的维度信息其中m表示a的行数n表示a的列数。其中size函数返回的是一个含有两个元素的向量第一个元素表示矩阵的行数第二个元素表示矩阵的列数。因此在这个代码中m和n就被赋值为了矩阵a的行数和列数。在后续的代码中可以使用这两个变量来控制循环等操作。% 是用于定义函数句柄的操作符。函数句柄既是一种变量可以用于传参和赋值也是可以当做函数名一样使用该步骤类似于C语言中的构造函数。
x2(qujian,lb,ub,x)(1-(qujian(1)-x)./(qujian(1)-lb)).*(xlbxqujian(1))...(xqujian(1)xqujian(2))(1-(x-qujian(2))./(ub-qujian(2))).*...(xqujian(2)xub);
qujian[5,6];lb2;ub12;
a(:,2)x2(qujian,lb,ub,a(:,2));
%该函数可以实现将区间型属性转换为效益型属性的实现下图所示公式注如果 (xqujian(1)xqujian(2)) 成立结果为真值为1如果 x 的值没有出现在上述区间结果为假值为0。 加权处理
for j1:nb(:,j)a(:,j)/norm(a(:,j));%向量规范化
end实现该式
%设权向量为w[0.2,0.3,0.4,0.1]
w[0.2 0.3 0.4 0.1];
cb.*repmat(w,m,1);%求出加权规范阵至此步骤2完成得出加权的向量规范化属性矩阵
正负理想解
cstarmax(c);%求正理想解
cstar(4)min(c(:,4))%属性4为成本型与效益型相反
c0min(c);%求负理想解
c0(4)max(c(:,4))%属性4为成本型与效益型相反
for i1:msstar(i)norm(c(i,:)-cstar);%求到正理想解的距离s0(i)norm(c(i,:)-c0);%求到负理想解的距离
end按顺序依次实现 求到正理想解的距离
求到负理想解的距离
fs0./(sstars0);
[sf,ind]sort(f,descend) %求排序结果
% ascend时,进行升序排序,为descend 时,进行降序排序计算各方案的综合评价指数
得出结果 各方案的从优到劣的次序为4,3,2,1,5
完整代码
clc,clear
% clc清除命令窗口的内容对工作环境中的全部变量无任何影响
% clear清除工作空间的所有变量a[0.1 5 5000 4.70.2 6 6000 5.60.4 7 7000 6.70.9 10 10000 2.31.2 2 400 1.8];
% 输入数据
[m,n]size(a);
x2(qujian,lb,ub,x)(1-(qujian(1)-x)./(qujian(1)-lb)).*(xlbxqujian(1))...(xqujian(1)xqujian(2))(1-(x-qujian(2))./(ub-qujian(2))).*...(xqujian(2)xub);
qujian[5,6];lb2;ub12;
a(:,2)x2(qujian,lb,ub,a(:,2));%对属性2进行变换for j1:nb(:,j)a(:,j)/norm(a(:,j));%向量规范化
end
w[0.2 0.3 0.4 0.1];
cb.*repmat(w,m,1);%求加权矩阵cstarmax(c);%求正理想解
cstar(4)min(c(:,4))%属性4为成本型
c0min(c);%求负理想解
c0(4)max(c(:,4))%属性4为成本型的for i1:msstar(i)norm(c(i,:)-cstar);%求到正理想解的距离s0(i)norm(c(i,:)-c0);%求到负理想解的距离
end
fs0./(sstars0);
[sf,ind]sort(f,descend) %求排序结果
% ascend时,进行升序排序,为descend 时,进行降序排序
负理想解
c0(4)max(c(:,4))%属性4为成本型的for i1:msstar(i)norm(c(i,:)-cstar);%求到正理想解的距离s0(i)norm(c(i,:)-c0);%求到负理想解的距离
end
fs0./(sstars0);
[sf,ind]sort(f,descend) %求排序结果
% ascend时,进行升序排序,为descend 时,进行降序排序