ahp topsis 函数中 'impact' 参数背后的逻辑是什么

Whats the logic behind 'impact' argument in ahp topsis function

d <- matrix(rpois(12, 5), nrow = 4)
w <- c(1, 1, 2)
i <- c("+", "-", "+")
topsis(d, w, i)

这是 R 中用于 Ahp topsis 的函数,我对如何在此处为 "impact" 参数分配“+”和“-”符号感到困惑。在这个例子中它是如何完成的

首先,我对 TOPSIS 没有任何经验,但该函数的代码解释了正在发生的事情并且与 TOPSIS 的描述相符。您可以通过键入 topsis 查看代码。

本例中的

矩阵 d 是一个 4x3 矩阵。每行代表一个备选方案(例如,市场上可用的汽车型号),而每列代表判断这些备选方案所依据的标准(例如,您可以使用成本、效率、扭矩和离地间隙来 select一辆车)

+ 和 - 仅显示该特定标准(列)如何影响结果。例如,汽车的成本可能是 -ve,而扭矩可能是 +ve。

该算法使用这些影响信号得出正理想解决方案和负(最差)理想解决方案。

Positive Ideal 解是通过使用+ve 列的最大值和-ve 列的最小值得出的。这是代码中的相关行。

u <- as.integer(impacts == "+") * apply(V, 2, max) + as.integer(impacts == "-") * apply(V, 2, min)

负理想则相反

从那时起,代码继续寻找我们的每个备选方案与这些最佳和最差结果的距离,并对它们进行排名。

好问题。

'c("+", "-", "+")' 表示您需要最大化和最小化哪些条件。

所以 TOPSIS 是由 Hwang 和 Yoon [1] 于 1981 年开发的,是一种用于 MCDC(多准则决策)问题的常用算法。 TOPSIS的前提是'best'解出一组备选方案,是离理想解几何距离最近,离反理想解几何距离最远的那个。

每个备选方案都有不同的标准。标准可以是有益的或无益的。如果它是有益的,你想最大化,但如果它是你想要最小化的成本。

那么,假设您想从一系列备选汽车中 select 'best' 辆汽车。

价格是成本标准...您希望将其降至最低。但是,也许 'speed limit' 是您想最大化的东西。

如前所述,那些'+','-'表示哪些属性是成本,哪些是收益,以便您可以计算理想和反理想的解决方案。

资源:

参考文献:

  • 1 Hwang, C. L., & Yoon, K. (1981)。多属性决策方法。在多属性决策中(第 58-191 页)。斯普林格,柏林,海德堡。