Finds all stable matchings (if one exists) in the stable roommates problem with incomplete lists using the Prosser (2014) constraint encoding based on either given or randomly generated preferences.

1 |

`prefs` |
valuation matrix of dimension |

`nAgents` |
integer that gives the number of players in the market. |

`seed` |
integer setting the state for random number generation. |

`p.min` |
integer, when specified produces incomplete preference lists with the length of each player's list randomly sampled from the range [p.min, nrow(prefs)]. |

`sri`

returns a list with the following items.

`prefs` |
agents' preference list. |

`matching` |
edgelist of matched pairs, inculding the number of the match ( |

Thilo Klein

Gusfield, D.M. and R.W. Irving (1989). The Stable Marriage Problem: Structure and Algorithms, MIT Press.

Prosser, P. (2014). Stable Roommates and Constraint Programming. *Lecture Notes in Computer Science, CPAIOR 2014 Edition*.
Springer International Publishing, 8451: 15–28.

1 2 3 4 5 6 7 8 9 10 11 12 | ```
## Roommate problem with 10 players, given preferences:
prefs <- matrix(rep(1:10, 10), 10, 10)
sri(prefs=prefs)
## Roommate problem with 10 players, random preferences:
sri(nAgents=10, seed=1)
## Roommate problem with no equilibrium matching:
sri(nAgents=10, seed=2)
## Roommate problem with 3 equilibria:
sri(nAgents=10, seed=3)
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.