plp: Partitioning Linear Programme for the stable roommates...

Description Usage Arguments Value Author(s) References Examples

View source: R/plp.R

Description

Finds the stable matching in the stable roommates problem with transferable utility. Uses the Partitioning Linear Programme formulated in Quint (1991).

Usage

1
plp(V = NULL, N = NULL)

Arguments

V

valuation matrix of dimension NxN that gives row-players valuation over column players (or vice versa).

N

integer (divisible by 2) that gives the number of players in the market.

Value

plp returns a list with the following items.

Valuation.matrix

input values of V.

Assignment.matrix

upper triangular matrix of dimension NxN with entries of 1 for equilibrium pairs and 0 otherwise.

Equilibrium.groups

matrix that gives the N/2 equilibrium pairs and equilibrium partners' mutual valuations.

Author(s)

Thilo Klein

References

Quint, T. (1991). Necessary and sufficient conditions for balancedness in partitioning games. Mathematical Social Sciences, 22(1):87–91.

Examples

1
2
3
4
5
6
## Roommate problem with 10 players, transferable utility and random preferences:
plp(N=10)

## Roommate problem with 10 players, transferable utility and given preferences:
V <- matrix(rep(1:10, 10), 10, 10)
plp(V=V)

Example output

$Valuation.matrix
            1          2          3           4           5           6
1  -1.0511839 -0.2748335  1.7862302  0.46639025  0.17982907  1.37798683
2  -0.1407944  1.3560065 -1.1301338  1.26309033  0.54403042  0.86934000
3  -0.8391967 -2.5623605 -1.9935431  0.22183165 -0.18278726  0.51818310
4   0.1440278 -1.1413821 -0.5642685 -0.76359436  0.14679380  0.09327806
5   0.7588983  0.9038625  0.3482461  1.40449860 -0.81402126  0.65564475
6   0.1055536  0.3992842 -1.3420181 -3.00587123  0.08286898  0.24987036
7   1.1101963  1.1845576  0.3580491 -0.20497910  0.72142186  0.89366039
8   2.2027727 -0.1960047  2.3357905  0.07108017 -0.34701814 -0.93633273
9   1.2030322 -0.4446492  0.3281638 -1.38577616 -1.18155472 -0.21918175
10 -0.1053091  0.2450385 -1.7015642 -0.73070131  0.58816362 -1.28963489
              7          8            9          10
1   1.396714653  0.6203378  0.771995369  0.17878748
2   0.325106450  1.2205936  1.211721580 -0.25449787
3   0.969324927 -2.1984178 -0.003559335  0.22836721
4  -0.577056639 -1.0763463  0.068304684  0.07334178
5  -0.004774385  0.2228761  1.443669078 -0.73854751
6   0.270165707  1.0826882  0.005452877 -0.03774491
7  -0.368620505 -0.4135712 -0.129601177 -0.21364931
8   1.353459362 -1.5304765 -0.500572000  0.97717939
9  -1.200715705  3.5964777 -0.807835545  1.13159648
10 -0.839302784 -0.7264529  0.582917492 -0.94209981

$Assignment.matrix
    1  2  3  4  5  6  7  8  9 10
1  NA  0  0  0  0  0  0  1  0  0
2  NA NA  0  0  0  1  0  0  0  0
3  NA NA NA  0  0  0  1  0  0  0
4  NA NA NA NA  1  0  0  0  0  0
5  NA NA NA NA NA  0  0  0  0  0
6  NA NA NA NA NA NA  0  0  0  0
7  NA NA NA NA NA NA NA  0  0  0
8  NA NA NA NA NA NA NA NA  0  0
9  NA NA NA NA NA NA NA NA NA  1
10 NA NA NA NA NA NA NA NA NA NA

$Equilibrium.groups
  player.A player.B mutual.valuation
1        4        5         1.551292
2        2        6         1.268624
3        3        7         1.327374
4        1        8         2.823111
5        9       10         1.714514

$Valuation.matrix
      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
 [1,]    1    1    1    1    1    1    1    1    1     1
 [2,]    2    2    2    2    2    2    2    2    2     2
 [3,]    3    3    3    3    3    3    3    3    3     3
 [4,]    4    4    4    4    4    4    4    4    4     4
 [5,]    5    5    5    5    5    5    5    5    5     5
 [6,]    6    6    6    6    6    6    6    6    6     6
 [7,]    7    7    7    7    7    7    7    7    7     7
 [8,]    8    8    8    8    8    8    8    8    8     8
 [9,]    9    9    9    9    9    9    9    9    9     9
[10,]   10   10   10   10   10   10   10   10   10    10

$Assignment.matrix
      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
 [1,]   NA    0    0    0    0    0    0    0    0     1
 [2,]   NA   NA    0    0    0    0    1    0    0     0
 [3,]   NA   NA   NA    0    0    1    0    0    0     0
 [4,]   NA   NA   NA   NA    1    0    0    0    0     0
 [5,]   NA   NA   NA   NA   NA    0    0    0    0     0
 [6,]   NA   NA   NA   NA   NA   NA    0    0    0     0
 [7,]   NA   NA   NA   NA   NA   NA   NA    0    0     0
 [8,]   NA   NA   NA   NA   NA   NA   NA   NA    1     0
 [9,]   NA   NA   NA   NA   NA   NA   NA   NA   NA     0
[10,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA

$Equilibrium.groups
  player.A player.B mutual.valuation
1        4        5                9
2        3        6                9
3        2        7                9
4        8        9               17
5        1       10               11

matchingMarkets documentation built on May 2, 2019, 4:49 p.m.