View source: R/lin.prog.capa.ident.R
lin.prog.capa.ident | R Documentation |
Creates an object of class Mobius.capacity
using the
linear programming approach proposed by Marichal and Roubens (see
reference hereafter). Roughly speaking, this function determines, if it
exists, the capacity compatible with a set of linear constraints that
"separates" the most the provided alternatives. The problem is solved
using the lpSolve package.
lin.prog.capa.ident(n, k, A.Choquet.preorder = NULL,
A.Shapley.preorder = NULL, A.Shapley.interval = NULL,
A.interaction.preorder = NULL, A.interaction.interval = NULL,
A.inter.additive.partition = NULL, epsilon = 1e-6)
n |
Object of class |
k |
Object of class |
A.Choquet.preorder |
Object of class |
A.Shapley.preorder |
Object of class |
A.Shapley.interval |
Object of class |
A.interaction.preorder |
Object of class |
A.interaction.interval |
Object of class |
A.inter.additive.partition |
Object of class |
epsilon |
Object of class |
The linear program is solved using the lp
function of
the lpSolve.
The function returns a list structured as follows:
solution |
Object of class |
value |
Value of the objective function. |
lp.object |
Object of class |
K. Fujimoto and T. Murofushi (2000) Hierarchical decomposition of the Choquet integral, in: Fuzzy Measures and Integrals: Theory and Applications, M. Grabisch, T. Murofushi, and M. Sugeno Eds, Physica Verlag, pages 95-103.
J-L. Marichal and M. Roubens (2000), Determination of weights of interacting criteria from a reference set, European Journal of Operational Research 124, pages 641-650.
Mobius.capacity-class
,
mini.var.capa.ident
,
mini.dist.capa.ident
,
least.squares.capa.ident
,
heuristic.ls.capa.ident
,
ls.sorting.capa.ident
,
entropy.capa.ident
.
## some alternatives
a <- c(18,11,18,11,11)
b <- c(18,18,11,11,11)
c <- c(11,11,18,18,11)
d <- c(18,11,11,11,18)
e <- c(11,11,18,11,18)
## preference threshold relative
## to the preorder of the alternatives
delta.C <- 1
## corresponding Choquet preorder constraint matrix
Acp <- rbind(c(d,a,delta.C),
c(a,e,delta.C),
c(e,b,delta.C),
c(b,c,delta.C)
)
## a Shapley preorder constraint matrix
## Sh(1) - Sh(2) >= -delta.S
## Sh(2) - Sh(1) >= -delta.S
## Sh(3) - Sh(4) >= -delta.S
## Sh(4) - Sh(3) >= -delta.S
## i.e. criteria 1,2 and criteria 3,4
## should have the same global importances
delta.S <- 0.01
Asp <- rbind(c(1,2,-delta.S),
c(2,1,-delta.S),
c(3,4,-delta.S),
c(4,3,-delta.S)
)
## a Shapley interval constraint matrix
## 0.3 <= Sh(1) <= 0.9
Asi <- rbind(c(1,0.3,0.9))
## an interaction preorder constraint matrix
## such that I(12) = I(34)
delta.I <- 0.01
Aip <- rbind(c(1,2,3,4,-delta.I),
c(3,4,1,2,-delta.I))
## an interaction interval constraint matrix
## i.e. -0.20 <= I(12) <= -0.15
Aii <- rbind(c(1,2,-0.2,-0.15))
## Not run:
## a LP 2-additive solution
lin.prog <- lin.prog.capa.ident(5,2,A.Choquet.preorder = Acp)
m <- lin.prog$solution
m
## the resulting global evaluations
rbind(c(a,mean(a),Choquet.integral(m,a)),
c(b,mean(b),Choquet.integral(m,b)),
c(c,mean(c),Choquet.integral(m,c)),
c(d,mean(d),Choquet.integral(m,d)),
c(e,mean(e),Choquet.integral(m,e)))
## the Shapley value
Shapley.value(m)
## a LP 3-additive more constrained solution
lin.prog2 <- lin.prog.capa.ident(5,3,
A.Choquet.preorder = Acp,
A.Shapley.preorder = Asp)
m <- lin.prog2$solution
m
rbind(c(a,mean(a),Choquet.integral(m,a)),
c(b,mean(b),Choquet.integral(m,b)),
c(c,mean(c),Choquet.integral(m,c)),
c(d,mean(d),Choquet.integral(m,d)),
c(e,mean(e),Choquet.integral(m,e)))
Shapley.value(m)
## a LP 5-additive more constrained solution
lin.prog3 <- lin.prog.capa.ident(5,5,
A.Choquet.preorder = Acp,
A.Shapley.preorder = Asp,
A.Shapley.interval = Asi,
A.interaction.preorder = Aip,
A.interaction.interval = Aii)
m <- lin.prog3$solution
m
rbind(c(a,mean(a),Choquet.integral(m,a)),
c(b,mean(b),Choquet.integral(m,b)),
c(c,mean(c),Choquet.integral(m,c)),
c(d,mean(d),Choquet.integral(m,d)),
c(e,mean(e),Choquet.integral(m,e)))
summary(m)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.