library(ror)
## Example with 3 alternatives and 3 criteria
performances <- matrix(c(1.0, 1.0, 1.0, 2.0, 1.0, 1.1, 2.0, 0.5, 3.0), ncol=3, byrow=TRUE)
## a3 > a2
preferences <- matrix(c(3, 2), ncol=2, byrow=TRUE)
## Necessary relation
necrel <- utagms(performances, preferences, necessary=TRUE,
strictVF=TRUE, strongPrefs=TRUE)
## Possible relation with strictly increasing value functions
posrel <- utagms(performances, preferences, necessary=FALSE,
strictVF=FALSE, strongPrefs=TRUE)
## Sanity check, the necessary relation should be
## T F F
## T T F
## T T T
stopifnot(necrel == matrix(c(TRUE, FALSE, FALSE, TRUE, TRUE, FALSE, TRUE, TRUE, TRUE), ncol=3, byrow=TRUE))
## Sanity check, the possible relation should be
## T T F
## T T F
## T T T
stopifnot(posrel == matrix(c(TRUE, TRUE, FALSE, TRUE, TRUE, FALSE, TRUE, TRUE, TRUE), ncol=3, byrow=TRUE))
## a3 > a2 and a2 > a3
preferences <- matrix(c(3, 2, 2, 3), ncol=2, byrow=TRUE)
## Error as the model is infeasible
necrel <- utagms(performances, preferences, necessary=TRUE,
strictVF=TRUE, strongPrefs=TRUE)Run the code above in your browser using DataLab