View source: R/multihierarchicalrules.R
multihierarchicalrules | R Documentation |
multihierarchicalrules
calculates the contribution vectors resulting from the allocation of payments among different agents, applying various predefined rules in relation to the agents' hierarchical order.
It also generates a graphical representation of the allocations based on the implemented rules.
multihierarchicalrules(
c,
P,
rules = c("SFC", "SEC", "CEC", "CEB", "CP", "SM", "CC", "SIGMA"),
a = NULL,
draw = TRUE,
col = NULL,
agents_names = NULL,
labels = TRUE
)
c |
A numeric cost vector. |
P |
A list showing the agents involved in the different distribution stages. |
rules |
A character vector specifying the allocation rules. The available rules are:
|
a |
A numeric value in the range [0,1], controlling the parameterization of the rule. It can only be defined when |
draw |
A logical value indicating whether the plot should be generated. By default, |
col |
A vector that indicates the colors used to represent each agent in the graphical representation. By default,
the colors are selected by the function |
agents_names |
A vector defining the name assigned to each agent. By default, the names follow a sequence of natural numbers, starting from 1. |
labels |
A logical value indicating whether the labels and the title of the plot should be displayed. By default, |
Let N=\{1,\dots,n\}
be a finite set of agents and let P=\{P_1,\dots,P_{m+1}\}
be a partition
of N
, with m\leq n-1
. So, the hierarchical structure, P_{>}=\{P_1>P_2>\dots>P_m>P_{m+1}\}
,
implies that agents in P_1
have priority over agents in N\backslash P_1
, agents in P_2
have priority
over agents in N\backslash P_1\cup P_2
, and so on. Let \mathcal{P}(N)
denote the family of all hierarchical structures over N
.
A hierarchical rule is a mapping \mathcal{R}_P:C^N\rightarrow \mathbb{R}^N
that, based on a hierarchical structure P_{>}
,
associates with each problem c\in C^N
a cost allocation vector \mathcal{R}_P(c)
such that 0\leq\mathcal{R}_P(c)\leq c
. In other words, the allocation proceeds by assigning costs
to agents in higher-hierarchy coalitions before those in lower-hierarchy ones, through the successive application of the rule to the no-subsidy faces of coalitions obtained from P_{>}
.
These rules are on the boundary of the no-subsidy set.
In each stage, the agents share the accumulated costs up to that point. However, the remaining costs are allocated in subsequent stages.
A data frame containing the contribution vectors determined by the selected allocation rules. Additionally, if draw = TRUE
,
a mosaic plot displaying the allocations obtained for the different rules.
Bernárdez Ferradás, A., Mirás Calvo, M. Á., Quinteiro Sandomingo, C., and Sánchez-Rodríguez, E. (2025). Airport problems with cloned agents. [Preprint manuscript].
Faigle, U. and Kern, W. (1992). The Shapley value for cooperation games under precedence constraints. International Journal of Game Theory, 21, 249-266.
Fiestras-Janeiro, M. G., Sánchez-Rodríguez, E., and Schuster, M. (2016). A precedence constraint value revisited. TOP, 24, 156-179.
Mirás Calvo, M. Á., Quinteiro Sandomingo, C., and Sánchez-Rodríguez, E. (2020). The boundary of the core of a balanced game: faces games. International Journal of Game Theory, 49(2), 579-599.
NSfaces
, PRIORrule
, basicrule
, comparisonallocations
, plotallocations
# All rules in two stages with graphical representation
c <- c(1, 3, 3, 7, 10) # Cost vector
P <- list(c(1, 2, 3), c(4, 5)) # Agents' hierarchical order
multihierarchicalrules(c, P)
# SEC, CEC and SM rule in three stages without plot
c <- c(5, 10, 20, 20, 30, 50) # Cost vector
P <- list(c(1, 2), c(3, 4), c(5, 6)) # Agents' hierarchical order
multihierarchicalrules(c, P, rules = c("SEC", "CEC", "SM"), draw = FALSE,
agents_names = c("Alex", "Estela", "Carmen", "Miguel", "Gloria", "Brais"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.