apply.WISP: Apply WISP (Integrated Simple Weighted Sum Product) method,

View source: R/WISP.R

apply.WISPR Documentation

Apply WISP (Integrated Simple Weighted Sum Product) method,

Description

Performs the WISP method calculations, returning a utility score for each alternative. Columns whose indices appear in beneficial.vector are treated as beneficial (max); all other columns are treated as non-beneficial (min).

Usage

apply.WISP(mat, beneficial.vector, weights, simplified = FALSE)

Arguments

mat

A numeric matrix with alternatives in rows and criteria in columns.

beneficial.vector

An integer vector of column indices that are beneficial ("max") criteria. All columns not in beneficial.vector are assumed to be "min".

weights

A numeric vector of weights, one for each criterion (same length as the number of columns of mat).

simplified

A logical. If FALSE, uses all four partial utilities; if TRUE it uses only n_wsd and n_wpr in the final aggregation.

Value

A numeric vector of length nrow(mat) with the final WISP utility scores.

Examples

mat <- matrix(c(75.5, 95, 770, 187, 179, 239, 237,
420, 91, 1365, 1120, 875, 1190, 200,
74.2, 70, 189, 210, 112, 217, 112,
2.8, 2.68, 7.9, 7.9, 4.43, 8.51, 8.53,
21.4, 22.1, 16.9, 14.4, 9.4, 11.5, 19.9,
0.37, 0.33, 0.04, 0.03, 0.016, 0.31, 0.29,
0.16, 0.16, 0.08, 0.08, 0.09, 0.07, 0.06), nrow=7)

colnames(mat)<-c("Toughness Index",	"Yield Strength",	"Young's Modulus",
"Density",	"Thermal Expansion",	"Thermal Conductivity","Specific Heat")
rownames(mat)<-c("AI 2024-T6", "AI 5052-O","SS 301 FH",
"SS 310-3AH","Ti-6AI-4V","Inconel 718","70Cu-30Zn")

# Suppose the first two columns are beneficial, and the 3rd is non-beneficial
beneficial.vector <- c(1,2, 4)
weights <- c(0.28, 0.14, 0.05, 0.24, 0.19, 0.05, 0.05)

# Get the WISP scores
apply.WISP(mat, beneficial.vector, weights, simplified=FALSE)


RMCDA documentation built on June 8, 2025, 11:14 a.m.