Title: | WISP Multiple Criteria Sorting Method |
---|---|
Description: | Implementation of the Integrated Simple Weighted Sum Product Method (WISP), a multiple criteria sorting method create by Dragisa Stanujkic (2021) <doi:10.1109/TEM.2021.3075783>. |
Authors: | Bernardo Silva [aut, cre] |
Maintainer: | Bernardo Silva <[email protected]> |
License: | GPL (>= 3) |
Version: | 1.0.5 |
Built: | 2025-02-22 04:54:55 UTC |
Source: | https://github.com/dioubernardo/rwisp |
File requirements: - Separated by comma or semicolon - Do not use thousands separator Example file in https://github.com/dioubernardo/rwisp/blob/main/inst/extdata/example.csv
rwispfromcsv(file)
rwispfromcsv(file)
file |
the name of the file |
list with 3 matrix, ui = ranking and the global ui, normalizedData = normalized data, utilities = utility values
result <- rwispfromcsv(system.file("extdata", "example.csv", package = "rwisp"))
result <- rwispfromcsv(system.file("extdata", "example.csv", package = "rwisp"))
Implementation of An Integrated Simple Weighted Sum Product Method - WISP More information about the method at https://doi.org/10.1109/TEM.2021.3075783 More information about the implementation at https://github.com/dioubernardo/rwisp/blob/main/README.md
wispcalc(data, alternatives, optimizations, weights)
wispcalc(data, alternatives, optimizations, weights)
data |
A numeric data matrix, columns are the criteria, rows are the alternatives |
alternatives |
A character vector with the identification of alternatives |
optimizations |
A character vector with definition of minimization or maximization for each criterion, expected 'min' or 'max' only |
weights |
A numeric vector with the criteria weights, the sum of all must be 1 |
list with 3 matrix, ui = ranking and the global ui, normalizedData = normalized data, utilities = utility values
alternatives <- c("A1", "A2", "A3", "A4", "A5") optimizations <- c("max", "min", "max", "max", "min", "max", "min", "max", "min", "max") weights <- c(0.07, 0.07, 0.07, 0.14, 0.2, 0.08, 0.12, 0.125, 0.05, 0.075) data <- matrix(c( c(3, 4, 6, 5, 2), # criterion 1 values c(7, 6, 4, 6, 8), # criterion 2 values c(4, 5, 5, 6, 3), # criterion 3 values c(4, 5, 6, 5, 4), # criterion 4 values c(6, 5, 4, 3, 6), # criterion 5 values c(4, 5, 5, 6, 3), # criterion 6 values c(6, 5, 5, 4, 6), # criterion 7 values c(8, 8, 9, 7, 7), # criterion 8 values c(5, 6, 7, 8, 7), # criterion 9 values c(8, 9, 9, 9, 8) # criterion 10 values ), nrow=5, ncol=10) result <- wispcalc(data, alternatives, optimizations, weights)
alternatives <- c("A1", "A2", "A3", "A4", "A5") optimizations <- c("max", "min", "max", "max", "min", "max", "min", "max", "min", "max") weights <- c(0.07, 0.07, 0.07, 0.14, 0.2, 0.08, 0.12, 0.125, 0.05, 0.075) data <- matrix(c( c(3, 4, 6, 5, 2), # criterion 1 values c(7, 6, 4, 6, 8), # criterion 2 values c(4, 5, 5, 6, 3), # criterion 3 values c(4, 5, 6, 5, 4), # criterion 4 values c(6, 5, 4, 3, 6), # criterion 5 values c(4, 5, 5, 6, 3), # criterion 6 values c(6, 5, 5, 4, 6), # criterion 7 values c(8, 8, 9, 7, 7), # criterion 8 values c(5, 6, 7, 8, 7), # criterion 9 values c(8, 9, 9, 9, 8) # criterion 10 values ), nrow=5, ncol=10) result <- wispcalc(data, alternatives, optimizations, weights)