multibasicrules: Overview of the allocation rules

View source: R/multibasicrules.R

multibasicrulesR Documentation

Overview of the allocation rules

Description

multibasicrules calculates the contribution vectors resulting from the allocation of payments among different agents, applying various predefined rules. It also generates a graphical representation of the allocations based on the implemented rules.

Usage

multibasicrules(
  c,
  rules = c("SFC", "SEC", "CEC", "CEB", "CP", "SM", "CC", "SIGMA", "PRIOR"),
  draw = TRUE,
  col = NULL,
  a = NULL,
  order = NULL,
  agents_names = NULL,
  labels = TRUE
)

Arguments

c

A numeric cost vector.

rules

A character vector specifying the allocation rules. The available rules are: "SFC", "SEC", "CEC", "CP", "CEB", "SM", "CC", "SIGMA" and "PRIOR". By default, all the rules are selected.

draw

A logical value indicating whether or not the plot should be generated. By default, draw = TRUE.

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 rainbow().

a

A numeric value in the range [0,1], controlling the parameterization of the rule. It can only be defined when "SIGMA" is included in rules. By default, a = 0.5.

order

A numeric vector indicating the priority order of agents when making contributions. It can only be defined when "PRIOR" is included in rules. By default, agents follow their original indexing and contribute accordingly.

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, labels = TRUE.

Details

Let X(c) be the set of cost allocations for c \in C^N. A rule is a mapping \mathcal{R}: C^N \rightarrow \mathbb{R}^N that associates with each problem a contribution vector \mathcal{R}_P(c) such that 0\leq\mathcal{R}_P(c)\leq c. In other words, a rule is a mechanism that selects an allocation vector for each airport problem.

The various proposed rules, despite their differences, share a key characteristic: for any given problem, each rule selects an allocation vector that belongs to its no-subsidy set. Although these rules have been individually characterized in different functions, the one in question allows for the calculation of all of them at once.

Value

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.

Note

When "CC" is included in the rules argument, the execution time of the function may significantly increase if the number of agents exceeds 150.

References

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].

Potters, J. and Sudhölter, P. (1999). Airport problems and consistent allocation rules. Mathematical Social Sciences, 38, 83–102.

Thomson, W. (2024). Cost allocation and airport problems. Mathematical Social Sciences, 31(C), 17–31.

See Also

basicrule, comparisonallocations, plotallocations

Examples

# All rules with graphical representation
c <- c(1, 3, 7, 10) # Cost vector
multibasicrules(c)

# SEC, CEC and SIGMA rule without plot
c <- c(5, 10, 20) # Cost vector
multibasicrules(c, rules = c("SEC", "CEC", "SIGMA"), draw = FALSE, a = 0.75,
agents_names = c("Alex", "Estela", "Carmen"))


AirportProblems documentation built on June 8, 2025, 10:49 a.m.