Typisches Problem und Ausführungsmethode
Bei einer Gruppe von Männern und einer Gruppe von Frauen haben Männer eine Präferenzreihenfolge für Frauen und Frauen eine Präferenzreihenfolge für Männer. Matching, das kein blockierendes Paar hat, wenn ein Paar von einem Mann und einer Frau gebildet wird, wird als stabiles Matching bezeichnet. Ein blockierendes Paar (m, w) ist ein Paar ungepaarter Männer und Frauen in einem Zustand, in dem "w dem aktuellen Paar von m vorzuziehen ist" und "m dem aktuellen Paar von w vorzuziehen ist".
[Stabiles Übereinstimmungsproblem](https://ja.wikipedia.org/wiki/%E5%AE%89%E5%AE%9A%E7%B5%90%E5%A9%9A%E5%95%8F%E9 % A1% 8C) ist nicht unbedingt ein Optimierungsproblem, aber es ist im typischen Problem enthalten, da es ein wichtiges Problem hinsichtlich des Abgleichs ist. Es kann effizient mit der Gail Shaprey-Lösung gelöst werden.
usage
Signature: stable_matching(prefm, preff)
Docstring:
Stabiles Matching-Problem
Eingang
prefm, preff:Präferenz
Ausgabe
passend
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]]))
Ergebnis
{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