Learn R Programming

RMCriteria (version 0.2.0)

RPrometheeI: RPrometheeI

Description

Proposed by Brans and Vincke (1985), PROMETHEE I method aims to solve sorting problems. According to PROMETHEE I the better alternative is the one with the higher leaving flow and the lower entering flow. Through this result it is possible to obtain a partial preorder where some alternatives remain incomparable.

Usage

RPrometheeI(RPrometheeArguments)

Arguments

RPrometheeArguments

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

Value

  • PhiPlus The resulting PhiPlus from the alternatives for all criterias.

  • PhiMinus The resulting PhiMinus from the alternatives for all criterias

  • alternatives The alternatives names.

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, RPrometheeII, RPrometheeIVKernel, RPrometheeIV, RPrometheeV, SensitivityAnalysis, UpdateRPrometheeAlternatives, UpdateRPrometheeArguments, WalkingWeightsPlot, plot,RPrometheeI-method

Examples

Run this code
# NOT RUN {
library(RMCriteria)
## 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 RPrometheeI
(result <- RPrometheeI(PromObj))

## There are two alternatives two plot a RPrometheeI object:
plot(result)
PrometheeIPlot(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 <- RPrometheeI(PromObj))

# }

Run the code above in your browser using DataLab