clonesrule {AirportProblems} | R Documentation |
Allocation rule with cloned agents
Description
clonesrule
calculates the contribution vector resulting from the payment allocation among the different agents using one of the versions for clones of the various predefined rules.
Usage
clonesrule(cw, eta, rule, group_contribution = TRUE, a = NULL, order = NULL)
Arguments
cw |
A numeric cost vector, with the same length as |
eta |
A numeric vector representing the size of each group of cloned agents. All its elements must be positive integers. |
rule |
A character string specifying the rule to apply. The rules that can be selected are:
|
group_contribution |
A logical value.
By default, if |
a |
A numeric value in the range [0,1], controlling the parameterization of the rule. It can only be defined when |
order |
A numeric vector indicating the priority order of agents when making contributions. It can only be defined when |
Details
Let \mathcal{R}
be a rule, t\in N
, and (\eta,c)\in\mathcal{A}^N_t
. For each i\in T=\{1,\dots,t\}
,
the sum of the contributions requested by \mathcal{R}
from the group of clones N^{\eta}_i
is
\mathcal{R}(\eta\ast c, N_i^{\eta})=\sum\limits_{j\in N^\eta_i}\mathcal{R}_j(n\ast c)
.
The computation of the cost allocation selected by a rule for a given problem can be substantially simplified where there are cloned agents. Through this function, a direct method is proposed to obtain either the aggregate contribution or the individual contribution of each group of cloned agents, based on the associated reduced problem and the number of clones in each group.
The version for clones of the SFC, SEC, CEC and CP rules is equal to their respective weighted version, so the formulation of these rules will be the same for the weighted version. Only the CEB rule has a weighted version and a clone version that are different.
If a rule \mathcal{R}
satisfies equal treatment of equals (cloned agents pay equal amounts), then
\mathcal{R}(\eta\ast c,N_i^\eta)=\eta_i\mathcal{R}_s(n\ast c)
for any s\in N_i^\eta
. All the rules listed, with the
exception of the PRIOR rule, satisfy equal treatment of equals. Therefore, the contribution demanded by these rules from a group of clones
is divided equally among them.
Finally, we define a k
-replica of an airport problem as the problem in which every agent is replaced by k
clones of itself.
If k
increases, the number of groups of cloned agents does not change, but the number of agents is large. Thus, we say that a rule satisfies
replication invariance if for each c\in C^N
, each i \in N
, and each k\in \mathbb{N}
, we have \mathcal{R}(k\ast c,N_i^k)=\mathcal{R}_i(c)
;
i.e., if in any k
-replica of a problem each group of cloned agents contributes an amount independent of k
.
The SFC, SEC, CEC, CP, and PRIOR rules verify this property, while the others do not.
Value
A numeric contribution vector. By default, if group_contribution = TRUE
, each element represents the payment made by each group of cloned agents.
However, if group_contribution = FALSE
, each element reflects the individual payment made by a representative agent from each group.
Note
When rule = "CC"
, the execution time of the function may significantly increase if the number of individual 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].
Littlechild, S. C. and Thompson, G. F. (1977). Aircraft landing fees: a game theory approach. The Bell Journal of Economics, 8, 186-204.
See Also
clonesgroups
, clonesproblem
, multiclonesrules
, basicrule
, weightedrule
Examples
# Clones SEC rule
cw <- c(1, 3, 7, 10) # Different costs
eta <- c(3, 4, 1, 2) # Size of each groups of clones
clonesrule(cw, eta, "SEC")
# CEC rule satisfies replication invariance
cw <- c(1, 5, 12) # Different costs
eta <- rep(8, 3) # Size of each groups of clones
all.equal(clonesrule(cw, eta, "CEC"), CECrule(cw))