2016-11-22 2 views
2

Ich habe eine große Reihe von Geräten mit jeweils zwei spezifischen Parametern. Innerhalb dieses Sets möchte ich Geräte mit möglichst ähnlichen Geräten erstellen. Dies wird durch eine euklidische Norm erfolgen. Aber ich bin mir nicht sicher, welches Zuordnungsproblem bzw. welche Methode dafür zu meinem Fall passt. Soweit ich darauf eingehe bin ich auf der Suche nach einem maximalen Matching, nicht perfekt oder maximal passend. So sind zwei Aspekte wichtig:Welche Zuweisungsmethode passt zu meinem Fall?

  • Die Menge der erzeugten Paare so hoch wie möglich ist.
  • Die Geräte der Paare selbst überschreiten eine bestimmte Toleranzgrenze nicht (dies ist kein Problem, da dies bereits durch Definition eines Kreises geschehen ist).

Zuerst wollte ich https://www.topcoder.com/community/data-science/data-science-tutorials/assignment-problem-and-hungarian-algorithm/# verwenden! um es zu realisieren, aber ich bin mir nicht sicher, ob das das Problem löst. Ich bin auf dem folgenden fest: Der ungarische Algorithmus basiert auf bipartite Graphen und diese verwenden zwei disjunkte Sätze. Aber ich habe nur einen Satz. Also muss ich Zuweisungen innerhalb dieses einen Satzes erstellen (obwohl der Algorithmus Elementen eines Satzes Elemente eines anderen Satzes zuweist), aber ich bin mir nicht sicher, ob dies machbar ist.

Meine Frage ist: Funktioniert das trotzdem? Oder welche Methode soll ich verwenden?

+0

Bitte bearbeiten Sie Ihre Frage zu zeigen [was Sie bisher versucht haben] (http://whathaveyoutried.com). Sie sollten eine [mcve] des Codes einbeziehen, mit dem Sie Probleme haben, dann können wir versuchen, mit dem spezifischen Problem zu helfen. Sie sollten auch [fragen] lesen. –

Antwort

0

Sie können „Anpassen“ die ungarische Methode, um Ihren Fall auf folgende Weise:

1- Verwenden Sie die gleiche Menge (die Menge der Geräte) für die Zeilen (Ressourcen) und Spalten (Aufgaben).

2- Use „big M“ zu vermeiden, eine Vorrichtung zu sich selbst zuweisen: set Diagonalelemente bis zu einem gewissen großen Wert

3- Bei jedem Eintrag (i, j) der Kostenmatrix eine Kosten zuordnen, die einige widerspiegelt Maß der Unähnlichkeit

4- Run die ungarische Methode

5- wenn schließlich die Zuordnung vorgenommen wird, nehmen nur die Paare, die die Toleranzgrenze überschreiten (in anderen Worten nicht wirklich, die Paare entfernen, wie sie Kosten Sie die große Zahl oder Kosten, die Ihre "Toleranzgrenze überschreiten".

+0

Was bestimmt, ob Sie den ungarischen Algorithmus verwenden können oder ob Sie einen allgemeineren Algorithmus zur Graphenanpassung benötigen? Ist es für die beste Zuordnung möglich, A auf der linken Seite mit B auf der rechten Seite zu vergleichen, aber B auf der linken Seite mit C auf der rechten Seite? Ist es wichtig, ob es funktioniert? – mcdowella

+0

Vielen Dank für Ihre Antwort! Was ist mit "Big M" gemeint? – Ben

+0

@Ben bigM bedeutet eine beliebige "große" Zahl, sagen wir eine große Kosten zu verhindern, dass die Methode eine Paarung auswählen, es sei denn, es gibt keine anderen Möglichkeiten. –

Verwandte Themen