2
$\begingroup$

I'm using the TOPSIS and VIKOR multicriteria methods to generate rankings according to the decision matrix that I call a database. I would like to know if the normalized decision matrix is already embedded in the TOPSIS and VIKOR function, since the results are generated from the normalized decision matrix. Can anyone tell me something about this? So are my results correct that way or would I need to normalize my database decision matrix first?

library(topsis)
library(MCDM)

database <- structure(c(790.07529753148, 987.560758390604, 1717.41117836404, 
1257.03757052034, 1155.65871783395, 1114.47680404529, 965.589449089402, 
860.041671387026, 774.152044283882, 570.169757216762, 563.787227344011, 
1254.976476, 1216.074832, 315.114268, 295.3384, 295.3384, 229.824, 
229.824, 229.824, 229.310304, 229.310304, 29.856976), .Dim = c(11L, 
2L),.Dimnames = list(NULL, c("C1", "C2")))

> database
             C1         C2
 [1,]  790.0753 1254.97648
 [2,]  987.5608 1216.07483
 [3,] 1717.4112  315.11427
 [4,] 1257.0376  295.33840
 [5,] 1155.6587  295.33840
 [6,] 1114.4768  229.82400
 [7,]  965.5894  229.82400
 [8,]  860.0417  229.82400
 [9,]  774.1520  229.31030
[10,]  570.1698  229.31030
[11,]  563.7872   29.85698

TOPSIS

w <- c(0.5,0.5) 
i <- c("-", "+") 
result1<-topsis(database, w, i)

> result1
   alt.row     score rank
1        1 0.9135330    1
2        2 0.8400032    2
3        3 0.2004466   11
4        4 0.2628604   10
5        5 0.2877750    8
6        6 0.2673059    9
7        7 0.3063391    7
8        8 0.3323752    6
9        9 0.3521251    4
10      10 0.3945119    3
11      11 0.3436264    5

VIKOR

  w <- c(0.5,0.5)
  cb <- c('min','max')
  v <- 0.5
  result2<-VIKOR(database,w,cb,v)

> result2
   Alternatives          S          R         Q Ranking
1             1 0.09807705 0.09807705 0.0000000       1
2             2 0.19954724 0.18367057 0.1710693       2
3             3 0.88357981 0.50000000 1.0000000      11
4             4 0.69211715 0.39165080 0.7433388       8
5             5 0.64817785 0.39165080 0.7153699       7
6             6 0.65706688 0.41838877 0.7542906       9
7             7 0.59253660 0.41838877 0.7132148       6
8             8 0.54679042 0.41838877 0.6840958       5
9             9 0.50977406 0.41859842 0.6607944       4
10           10 0.42136471 0.41859842 0.6045188       3
11           11 0.50000000 0.50000000 0.7558380      10
$\endgroup$

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.