1
$\begingroup$

I used TOPSIS multicriteria method to select the best number of clusters out of the 34 options. As weights I used 0.5 for each criterion. The coverage criterion is to minimize and the production criterion is to maximize. With these same conditions, I would like to use the PROMETHEE multicriteria method. From what I saw there is a PROMETHEE package in R (https://cran.r-project.org/web/packages/PROMETHEE/index.html), but unfortunately I couldn't do it for my case.

Can you help me?

I left the TOPSIS code to give you an idea of what I want, which is to rank the best alternatives. In this case, the best option is the cluster number equal to 2, as it ranked 1st.

library(topsis)

df1<-structure(list(nclusters = c(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 
28, 29, 30, 31, 32, 33, 34, 35), Coverage = c(0.0363201192049018, 
0.0315198954715543, 0.112661460735583, 0.112661460735583, 0.112661460735583, 
0.0813721071219816, 0.0862146652218061, 0.0697995564757394, 0.0599194966471805, 
0.0507632014547115, 0.052076958349629, 0.052076958349629, 0.052076958349629, 
0.052076958349629, 0.052076958349629, 0.052076958349629, 0.0410332568832433, 
0.0389940601722214, 0.0441742111970355, 0.0441742111970355, 0.0441742111970355, 
0.0438099091238968, 0.0409906284310306, 0.0409906284310306, 0.035480410134286, 
0.035480410134286, 0.035480410134286, 0.035480410134286, 0.035480410134286, 
0.035480410134286, 0.035480410134286, 0.0345381204372174, 0.0287729883480053, 
0.0287729883480053), Production = c(1635156.04305, 474707.64025, 
170773.40775, 64708.312, 64708.312, 64708.312, 949.72635, 949.72635, 
949.72635, 949.72635, 949.72635, 949.72635, 949.72635, 949.72635, 
949.72635, 949.72635, 949.72635, 949.72635, 949.72635, 949.72635, 
949.72635, 949.72635, 949.72635, 949.72635, 949.72635, 949.72635, 
949.72635, 949.72635, 949.72635, 949.72635, 949.72635, 949.72635, 
949.72635, 949.72635)), class = "data.frame", row.names = c(NA,-34L))
 
row.names(df1) <- df1$nclusters
df2 <- df1[c(2:3)]
df2<-data.matrix(df2)
w <- c(0.5,0.5) 
i <- c("-", "+") 
result<-topsis(df2, w, i)
result<-data.frame(nclusters = df1[,1],result[,2:3])

> result
   nclusters      score rank
1          2 0.97709831  1.0
2          3 0.35391229  2.0
3          4 0.09999171 30.0
4          5 0.03763326 33.5
5          6 0.03763326 33.5
6          7 0.09914059 31.0
7          8 0.07676999 32.0
8          9 0.11960647 29.0
9         10 0.14366970 28.0
10        11 0.16484786 21.0
11        12 0.16187453 24.5
12        13 0.16187453 24.5
13        14 0.16187453 24.5
14        15 0.16187453 24.5
15        16 0.16187453 24.5
16        17 0.16187453 24.5
17        18 0.18619947 16.0
18        19 0.19052672 13.0
19        20 0.17943485 19.0
20        21 0.17943485 19.0
21        22 0.17943485 19.0
22        23 0.18022565 17.0
23        24 0.18629045 14.5
24        25 0.18629045 14.5
25        26 0.19786466  9.0
26        27 0.19786466  9.0
27        28 0.19786466  9.0
28        29 0.19786466  9.0
29        30 0.19786466  9.0
30        31 0.19786466  9.0
31        32 0.19786466  9.0
32        33 0.19980731  5.0
33        34 0.21146288  3.5
34        35 0.21146288  3.5
$\endgroup$

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.