View source: R/ls.sorting.capa.ident.R
ls.sorting.capa.ident | R Documentation |
Sorting alternatives means assigning each alternative to a predefined
ordered class. The aim of the implemented method is to model a given classification (sorting)
of the alternatives by means of a Choquet integral. The result of the function
is an object of class Mobius.capacity
. This function (in
combination with ls.sorting.treatment
) is an implementation of
the TOMASO method; see Meyer and Roubens (2005). The input data are
given under the form of a set of alternatives and associated classes,
each alternative being described according to a set of criteria. These
well-known alternatives are called "prototypes". They represent
alternatives for which the decision maker has an a priori knowledge
and that he/she is able to assign to one of the
ordered classes. If the provided classification of the prototypes cannot be
described by a Choquet integral, an approximative solution, which minimizes
the "gap" between the given classification and the one derived from
the Choquet integral, is proposed. The problem is solved by quadratic
programming. This function should be used in combination with
ls.sorting.treatment
which allows to evaluate the model which
has been built and to assign other alternatives to the ordered classes.
ls.sorting.capa.ident(n, k, C, cl, d, A.Shapley.preorder = NULL,
A.Shapley.interval = NULL, A.interaction.preorder = NULL,
A.interaction.interval = NULL, A.inter.additive.partition = NULL,
sigf = 5, maxiter = 20, epsilon = 1e-6)
n |
Object of class |
k |
Object of class |
C |
Object of class |
cl |
Object of class |
d |
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 |
sigf |
Precision (default: 5 significant figures). Parameter to
be passed to the |
maxiter |
Maximum number of iterations. Parameter to
be passed to the |
epsilon |
Object of class |
The quadratic program is solved using the ipop
function of
the kernlab package.
The function returns a list structured as follows:
solution |
Object of class
|
glob.eval |
The global evaluations satisfying the given classification. |
how |
Information returned by |
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.
P. Meyer, M. Roubens (2005), Choice, Ranking and Sorting in Fuzzy Multiple Criteria Decision Aid, in: J. Figueira, S. Greco, and M. Ehrgott, Eds, Multiple Criteria Decision Analysis: State of the Art Surveys, volume 78 of International Series in Operations Research and Management Science, chapter 12, pages 471-506. Springer Science + Business Media, Inc., New York.
Mobius.capacity-class
,
lin.prog.capa.ident
,
mini.var.capa.ident
,
mini.dist.capa.ident
,
least.squares.capa.ident
,
heuristic.ls.capa.ident
,
ls.sorting.treatment
,
entropy.capa.ident
.
## generate a random problem with 10 prototypes and 4 criteria
n.proto <- 10 ## prototypes
n <- 4 ## criteria
k <- 4
d <- 0.1
## generating random data for the prototypes
C <- matrix(runif(n.proto*n,0,1),n.proto,n)
cl <- numeric(n.proto)
## the corresponding global evaluations
glob.eval <- numeric(n.proto)
a <- capacity(c(0:(2^n-3),(2^n-3),(2^n-3))/(2^n-3))
for (i in 1:n.proto)
glob.eval[i] <- Choquet.integral(a,C[i,])
## and the classes for the prototypes
cl[glob.eval <= 0.33] <- 1
cl[glob.eval > 0.33 & glob.eval <= 0.66] <-2
cl[glob.eval > 0.66] <- 3
cl
## Not run:
# starting the calculations
# search for a capacity which satisfies the constraints
lsc <- ls.sorting.capa.ident(n ,k, C, cl, d)
## output of the quadratic program (ipop, package kernlab)
lsc$how
## the capacity satisfying the constraints
lsc$solution
summary(lsc$solution)
## the global evaluations satisfying the constraints
lsc$glob.eval
## End(Not run)
## let us now add some constraints
## a Shapley preorder constraint matrix
## Sh(1) > Sh(2)
## Sh(3) > Sh(4)
delta.S <-0.01
Asp <- rbind(c(1,2,delta.S), c(3,4,delta.S))
## a Shapley interval constraint matrix
## 0.1 <= Sh(1) <= 0.2
Asi <- rbind(c(1,0.1,0.2))
## an interaction preorder constraint matrix
## such that I(12) > I(34)
delta.I <- 0.01
Aip <- rbind(c(1,2,3,4,delta.I))
## an interaction interval constraint matrix
## i.e. 0.2 <= I(12) <= 0.4
## and 0 < I(34) <= 1
Aii <- rbind(c(1,2,0.2,0.4), c(3,4,delta.I,1))
## an inter-additive partition constraint
## criteria 1,2 and criteria 3,4 are independent
Aiap <- c(1,1,2,2)
## starting the calculations
## search for a capacity which satisfies the constraints
lsc <- ls.sorting.capa.ident(n ,k, C, cl, d,
A.Shapley.preorder = Asp,
A.Shapley.interval = Asi,
A.interaction.preorder = Aip,
A.interaction.interval = Aii,
A.inter.additive.partition = Aiap)
## output of ipop
lsc$how
## the capacity satisfying the constraints
lsc$solution
summary(lsc$solution)
## the global evaluations satisfying the constraints
lsc$glob.eval
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.