Learn R Programming

RMCriteria (version 0.2.0)

RPrometheeII: RPrometheeII

Description

Proposed by Brans and Vincke (1985), PROMETHEE II method aims to solve sorting problems. The PROMETHEE II method performs a total ordering of the alternatives set by calculating the net outranking flow (HENDRIKS et al., 1992), with the objective of solving the problem that no unambiguous solution can be given due to incomparability.

Usage

RPrometheeII(RPrometheeArguments)

Arguments

RPrometheeArguments

An object with all RPromethee arguments. See RPrometheeConstructor for more information.

Value

  • Phi The resulting net Phi from the alternatives for all criterias.

  • alternatives The alternatives names.

  • criterias The criterias names.

  • datMat The data used corresponding to criterias and alternatives.

Details

The method created by Brans et al. (1985) is based on a set of alternatives \(A = {a1,a2,...,an}\) that will be ordered and a set of criteria \(F = { f1, f2, . . ., fm }\). Two alternatives, \(ai\) and \(a_j\), will be pairwise compared. The intensity of the preference between \(ai\) over \(aj\) \((Pk(dk)\), \(dk = fk (ai) ??? fk (aj))\) is determined. \(Pk\) is considered the preference function for the \(kth\) criterion. The evaluation of the alternative \(ai\), which corresponds to criterion \(fk\), is \(fk(ai)\) (Hsu, Lin, 2014). Six types of preference functions were proposed by Brans et al. (1985). The preference scales values range from 0 (no preference) to 1 (strong preference). While anylising the entering and leaving flows, it can be observed that an alternative is better than the other when it has the higher leaving flow and the lower entering flow. PROMETHEE I method create a partial pre-order that can be acquired by comparing the leaving and entering flow (Brans and Mareschal 2005).

References

See Also

Other RPromethee methods: PrometheeIIIPlot, PrometheeIIPlot, PrometheeIPlot, PrometheeIVPlot, RPrometheeConstructor, RPrometheeIII, RPrometheeIVKernel, RPrometheeIV, RPrometheeI, RPrometheeV, SensitivityAnalysis, UpdateRPrometheeAlternatives, UpdateRPrometheeArguments, WalkingWeightsPlot, plot,RPrometheeI-method

Examples

Run this code
# NOT RUN {
## Create objects for each argument
data <-matrix(c(5.2, -3.5,
                4.3, -1.2,
                6.7, -2.0), byrow = TRUE, ncol = 2, nrow = 3)

parms <- matrix(c(NA, NA), byrow = TRUE, ncol = 1, nrow = 2)
vecWeights <- c(0.3, 0.7)
vecMaximiz <- c(FALSE, TRUE)
prefFunction <- c(0, 0)
normalize <- FALSE
alternatives <- c("Alt 1", "Alt 2", "Alt 3")

## Create RPrometheeArguments object
PromObj <- RPrometheeConstructor(datMat = data, vecWeights = vecWeights,
vecMaximiz = vecMaximiz, prefFunction = prefFunction, parms = parms,
normalize = normalize, alternatives = alternatives)

## Run RPrometheeII
(result <- RPrometheeII(PromObj))

## There are two alternatives two plot a RPrometheeII object:
plot(result)
PrometheeIIPlot(result)

## Updating alternatives name using UpdateRPrometheeAlternatives
newAlternatives <- c("A", "B", "C")
result <- UpdateRPrometheeAlternatives(result, newAlternatives)

## Updating any argument using UpdateRPrometheeArguments
newWeights <- c(0.5, 0.5)
PromObj <- UpdateRPrometheeArguments(PromObj, "vecWeights", newWeights)
(results <- RPrometheeII(PromObj))
# }

Run the code above in your browser using DataLab