CPP.AHP.Unif {CPP}R Documentation

CPP Additive Weighting with Probabilistic AHP using Uniform distributions

Description

This function computes CPP by additive weighting. Experts' estimatives are based on pair-wise comparisons of criteria and are joined in a list of matrices. The estimatives are used as parameters to probabilistic distributions. The minimum and maximum values of each pair of criteria are used to model Uniform distributions. Randomic values are generated and applied to the AHP method. The matrix that comprises de minimum AHP Consistent Index is used to return the criteria weights.

Usage

CPP.AHP.Unif(n, list, x)

Arguments

n

Random numbers based on Uniform distributions, using the parameters 'min' and 'max' of each pair-wise criteria comparison elicited from the experts.

list

Pair-wise comparison matrices of expert opinions. The function 'list' is embedded in R.

x

Decision matrix of Alternatives (rows) and Criteria (columns). Benefit criteria must be positive and cost criteria must be negative.

Value

Weights returned from the AHP method. PMax are the joint probabilities of each alternative being higher than the others, per criterion. CPP gives the final scores and ranks of alternatives by weighted sum.

References

Sant'Anna, Annibal P. (2015). Probabilistic Composition of Preferences: Theory and Applications, Springer

Saaty, Thomas L. (1980). The analytic hierarchy process: planning, priority setting, resource allocation, McGraw-Hill.

Examples

# Computing weights by the AHP method, with 'n' simulated matrices.
n=5000 # simulation
# Expert pair-wise evaluations
Exp.1 = matrix(c(1,0.2,0.3,5,1,0.2,3,5,1),3,3)
Exp.2 = matrix(c(1,2,8,0.5,1,6,0.12,0.16,1),3,3)
Exp.3 = matrix(c(1,0.5,0.5,2,1,6,2,0.16,1),3,3)
Exp.4 = matrix(c(1,3,4,0.3,1,0.5,0.25,0.3,1),3,3)
Exp.5 = matrix(c(1,4,5,0.25,1,1,0.2,1,1),3,3)
list = list(Exp.1,Exp.2,Exp.3,Exp.4,Exp.5)
# Alternatives' original scores
Alt.1 = c(30,86,-5)
Alt.2 = c(26,77,-12)
Alt.3 = c(22,93,-4)
Alt.4 = c(34,65,-10)
Alt.5 = c(31,80,-8)
Alt.6 = c(29,79,-9)
Alt.7 = c(37,55,-15)
Alt.8 = c(21,69,-11)
x = rbind(Alt.1,Alt.2,Alt.3,Alt.4,Alt.5,Alt.6,Alt.7,Alt.8) # Decision matrix
CPP.AHP.Unif(n,list,x)

[Package CPP version 0.1.0 Index]