目录
标题1 TOPSIS基础模型
TOPSIS(Technique for Order of Preference by Similarity to Ideal Solution)是一种多属性决策分析方法,用于评估多个候选方案的优劣。它基于两个关键概念:理想解和负理想解。
TOPSIS的基础模型包括以下步骤:
1. 确定决策矩阵:将所有候选方案的属性值组成一个决策矩阵,其中每一行代表一个候选方案,每一列代表一个属性。
2. 归一化决策矩阵:对决策矩阵进行归一化处理,将每个属性的值映射到[0, 1]的范围内。常用的归一化方法有线性归一化和标准化。
3. 确定权重向量:根据决策者的主观判断或者客观数据,确定每个属性的权重。权重向量的和应为1。
4. 确定理想解和负理想解:根据属性的性质,确定理想解和负理想解。对于指标越大越好的属性,理想解为每个属性的最大值,负理想解为每个属性的最小值。对于指标越小越好的属性,理想解为每个属性的最小值,负理想解为每个属性的最大值。
5. 计算正负理想解之间的欧氏距离:对于每个候选方案,计算其与理想解和负理想解之间的欧氏距离。
6. 计算接近程度:根据欧氏距离,计算每个候选方案与理想解的接近程度。接近程度越大,表示候选方案越优。
7. 排序:根据接近程度,对候选方案进行排序,确定最优方案。
TOPSIS方法的优点是简单易懂,适用于多属性决策问题。然而,它也有一些限制,如对权重的确定较为主观,对属性值的归一化方法的选择可能影响结果等。因此,在使用TOPSIS方法时需要注意这些问题。
标题二MATLAB代码及运行结果
代码:
% 输入数据矩阵
X = [3 4 2; 5 2 1; 1 3 4; 2 1 5];
% 权重向量
W = [0.4 0.3 0.3];
% 归一化矩阵
X_norm = X ./ sqrt(sum(X.^2));
% 理想解和负理想解
ideal_solution = max(X_norm);
negative_ideal_solution = min(X_norm);
% 计算距离
D_positive = sqrt(sum((X_norm - ideal_solution).^2, 2));
D_negative = sqrt(sum((X_norm - negative_ideal_solution).^2, 2));
% 计算相对接近度
C = D_negative ./ (D_positive + D_negative);
% 排序并输出结果
[~, rank] = sort(C, 'descend');
disp(rank);
运行结果: