Typisches Problem und Ausführungsmethode
$ N $ Jobs $ J = \ {1,2, \ Punkte, n \} $ und $ m $ Agenten $ I = \ {1,2, \ Punkte, m \} $ Andererseits die Kosten für die Zuweisung von Arbeit $ j \ in J $ an Agent $ i \ in I $ c_ {ij} $, Ressourcenbedarf $ a_ {ij} (\ ge 0) $ und jedem Agenten Der verfügbare Ressourcenbetrag $ b_i (\ ge 0) $ von $ i \ in I $ wird angegeben. Jeder Job muss immer einem der Agenten zugewiesen werden, und der gesamte Ressourcenbedarf für die jedem Agenten zugewiesenen Jobs darf die verfügbaren Ressourcen dieses Agenten nicht überschreiten. Suchen Sie zu diesem Zeitpunkt die Zuordnung, die die Gesamtkosten minimiert.
usage
Signature: gap(cst, req, cap)
Docstring:
Allgemeines Zuordnungsproblem
Lösen Sie die minimale Kostenverteilung
Eingang
cst:Kostentabelle nach Agent und Job
req:Fordern Sie eine Betragstabelle für jeden Agenten und Job an
cap:Liste der Agentenkapazitäten
Ausgabe
Agentennummernliste für jeden Job
python
from ortoolpy import gap
gap([[2, 2, 2], [1, 1, 1]], [[1, 1, 1], [1, 1, 1]], [2, 1])
Ergebnis
[0, 0, 1]
python
# pandas.DataFrame
from ortoolpy.optimization import Gap
Gap('data/gap.csv', [2,1])
agent | job | cost | req | |
---|---|---|---|---|
0 | 0 | 0 | 2 | 1 |
1 | 0 | 1 | 2 | 1 |
5 | 1 | 2 | 1 | 1 |
Recommended Posts