NSset | R Documentation |
NSset
calculates the coordinates of the vertices that make up the NS set.
It also enables the generation of a graphical representation of the no-subsidy set in 1D, 2D, and 3D (available only when there are 2, 3, or 4 agents).
NSset(
c,
draw = FALSE,
dimension = NULL,
representation = "projection",
col = NULL,
agents_names = NULL,
labels = TRUE
)
c |
A numeric cost vector. |
draw |
A logical value indicating whether the plot should be generated. By default, |
dimension |
A character string that specifies the dimension of the graphic. Possible values are |
representation |
A character string indicating which NS set is displayed. Possible values are |
col |
A character string reflecting the color tone of the NS set. By default, the color tone |
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 coordinates of the points and the plot title should be displayed. By default, |
For each c\in C^N
let H(c)=\{x\in\mathbb{R}:x(N)=c_n\}
be the hyperplane of \mathbb{R}^N
given by all the vectors whose coordinates add up to c_n
. A cost allocation for c\in C^N
is a vector
x\in H(c)
such that 0\leq x\leq c
. The component x_i
is the contribution requested from agent i
.
Let X(c)
be the set of cost allocations for c\in C^N
. Given x\in X(c)
, the difference c_i-x_I
is the
benefit of agent i
at x
.
A basic requirement is that at an allocation x\in X(c)
on group N'\subset N
of agents would subsidize the other agents by contributing more than what the group would have to pay on its own. The no-subsidy constraint
for the group N'\subset N
is x(N')\geq \text{max}\{c_j:j\in N'\}
. The set of cost allocations for c\in C^N
that satisfy the no-subsidy
constraints, the no-subsidy set for short, is given by:
NS(c)=\{x\in X(c):x(N')\leq\text{max}\{c_j:j\in N'\}, \;\text{for all}\; N'\subset N\}
= \{x\in \mathbb{R}^N:x\geq 0, \ x(N)=c_n, \ x_1+\dots+x_i\leq c_i,\;\text{for all}\;i\in N\backslash \{n\}\}
Thus, the no-subsidy correspondence NS assigns to each c\in C^N
the set NS(c)
.
Nevertheless, when a problem has group of cloned agents, the structure of its no-subsidy set is simpler than
when all the cost parameters are different. Let t\in N
, \mathcal{A}_t^N
be the set of pairs (\eta,c)\in \mathbb{N}^t\times\mathbb{R}^t
and N_s^{\eta}=N_s^{\eta\ast c}=\{j\in N:(n\ast c)_j=c_s\}
.
Then the no subsidy set for \eta\ast c \in C^N
is:
NS(\eta\ast c)=\{x\in\mathbb{R}:x\geq 0,\ x(N)=c_t,\ x(N_1^{\eta})+\dots+x(N^{\eta}_s)\leq c_s, \;\text{for all}\; s<t\}.
For any cost vector c
, if there are n
agents with different cost parameters, the number of faces is 2n-2
.
However, the number of full-dimensional faces is indeed affected by the presence of clones. Let t\in N
, (\eta,c)\in\mathcal{A}^N_t
, and
\eta\ast c \in C^N
, \text{NS}(\eta\ast c)
has n+t-2
full-dimensional faces if \eta_t=1
and n+t-1
full-dimensional faces otherwise.
On the other hand, the number of different extreme points of the set \text{NS}(\eta\ast c)
is: \eta_t \prod_{i \in T \setminus \{t\}} (\eta_i + 1)
(so, when there are no clones, the \text{NS}(c)
has 2^{n-1}
extreme points).
A numeric matrix containing the vertices that determine the NS set.
Additionally, if draw = TRUE
and the number of agents is 2, 3, or 4, a plot displaying the faces and extreme points of the NS set will be generated.
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].
González-Díaz, J., Mirás Calvo, M. Á., Quinteiro Sandomingo, C., and Sánchez-Rodríguez, E. (2016). Airport games: the core and its center. Mathematical Social Sciences, 82, 105–115.
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.
plotallocations
, NScheck
, NSfaces
, NSstructure
# Projected NS set for 3 agents
c <- c(5, 10, 20) # Cost vector
NSset(c, draw = TRUE)
# Real and projected NS set for 3 agents
c <- c(1, 2, 3) # Cost vector
NSset(c, TRUE, "3D", "both")
# Projected NS set for 4 agents
c <- c(3, 3, 3, 10) # Cost vector
NSset(c, TRUE, "3D", "projection", "aquamarine",
c("Alex", "Estela", "Carmen", "Miguel"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.