Problème typique et méthode d'exécution
Étant donné un groupe d'hommes et un groupe de femmes, les hommes ont un ordre de préférence pour les femmes et les femmes ont un ordre de préférence pour les hommes. L'appariement qui n'a pas de paire bloquante lorsqu'une paire est faite par un homme et une femme est appelé appariement stable. Une paire de blocage (m, w) est une paire d'hommes et de femmes non appariés dans un état où «w est préférable à la paire actuelle de m» et «m est préférable à la paire actuelle de w».
[Problème de correspondance stable](https://ja.wikipedia.org/wiki/%E5%AE%89%E5%AE%9A%E7%B5%90%E5%A9%9A%E5%95%8F%E9 % A1% 8C) n'est pas strictement un problème d'optimisation, mais il est inclus dans le problème typique car il s'agit d'un problème important de correspondance. Il peut être résolu efficacement par la solution Gail Shaprey.
usage
Signature: stable_matching(prefm, preff)
Docstring:
Problème de correspondance stable
contribution
prefm, preff:Préférence
production
correspondant à
python
from ortoolpy import stable_matching
print(stable_matching([[2,0,1],[2,1,0],[0,2,1]], [[0,1,2],[2,0,1],[2,1,0]]))
résultat
{2: 2, 0: 0, 1: 1}
python
# pandas.DataFrame
from ortoolpy.optimization import StableMatching
StableMatching('data/stable.csv')
male | female | pref_male | pref_female | |
---|---|---|---|---|
0 | 0 | 0 | 1 | 0 |
4 | 1 | 1 | 1 | 2 |
8 | 2 | 2 | 1 | 0 |
Recommended Posts