Entscheidung treffen - Algorithmus

Hallo Allerseits,

folgendes Problem: 20 Leute sollen untereinander 20 Themen zuordnen. Logischerweise gibt es Überschneidungen.

Die Idee zur Lösung ist: Alle sollen die 20 Themen nach ihrer persönlichen Priorität nummerieren (1-20). Am Ende wird ein Algorithmus drüber laufen gelassen der jedem Thema eine Person zuordnet, sodass die Summe der Prioritäten der Themen am Ende möglichst klein ist.

Gibt es dafür eine fertige Lösung? Oder kennt jemand dafür ein Work-around? (zum Beispiel in einem Tabellenverarbeitungsprogramm)

Vielen herzlichen Dank. (Bzw. die betreffenden Leute werden euch dankbar sein, denn sonst endet das noch in Mord und Totschlag :wink: )
Deep

Hallo Deep.Thought

folgendes Problem: 20 Leute sollen untereinander 20 Themen
zuordnen. Logischerweise gibt es Überschneidungen.

Die Idee zur Lösung ist: Alle sollen die 20 Themen nach ihrer
persönlichen Priorität nummerieren (1-20). Am Ende wird ein
Algorithmus drüber laufen gelassen der jedem Thema eine Person
zuordnet, sodass die Summe der Prioritäten der Themen am Ende
möglichst klein ist.

Vielleicht irre ich mich ja (Algorithmen liegen schon etwas zurück), aber wenn du programmieren kannst, sollte das mit dem Backtracking-Algorithmus zu lösen sein ( zumindest evtl., kommt halt auch auf die Verteilung der Prioritäten an).

Gibt es dafür eine fertige Lösung? Oder kennt jemand dafür ein
Work-around? (zum Beispiel in einem
Tabellenverarbeitungsprogramm)

Leider nicht!

Gruß XXD

Gibt es dafür eine fertige Lösung? Oder kennt jemand dafür ein
Work-around? (zum Beispiel in einem
Tabellenverarbeitungsprogramm)

Du hast also 20 Listen mit je 20 Werten. Dann gibt es 20! oder 2,4*1018 mögliche Kombinationen, die Aufgaben zu verteilen. Ich fürchte, dass Tabellenkalkulationen bei der heute üblicherweise auf einem einzelnen Rechner verfügbaren Rechenpower deutlich überfordert sind, in angemessener Zeit zu einer Lösung zu kommen…

Ich würde anders vorgehen: Jeder nennt die Aufgabe, die er am liebsten erledigen würde. Jede Aufgabe, die von nur einer Person gewählt wurde, wird dieser zugeordnet. In allen anderen Fällen entscheidet das Los, wer von den Bewerbern für eine Aufgabe diese zugewiesen bekommt.

Alle Aufgaben, die auf diese Weise ausgewählt wurden, werden aus dem Pott genommen, ebenso die Personen, die eine dieser Aufgaben zugewiesen bekommen haben.

Die restlichen Personen suchen sich aus den verbliebenen Aufgaben wieder die liebste aus, und wieder wird wie oben zugeordnet.

So kommst du in wenigen Schritten relativ flott zum Ziel, und selbst, wenn du so keine max. Zufriedenheit erreichen kannst, so hast du doch max. Gerechtigkeit.

HTH

Heey,

also ich denke nicht, das es für ein solch spezielles Problem ein Programm gibt.
Wenn Du es nur einmal machen musst, dann würde ich dir raten einfach Blatt und Stift zu nehmen und das selbst auszurechnen… Da lohnt sich der Aufwand nicht. Wird das häufiger praktiziert, dann würde ich da ein Programmierer für ranholen… Problem sollte jetzt nicht das größte sein… aber es ist halt Aufwand.
LG Leonie

Danke für die Hinweise erstmal. Ich werde dann mal versuchen ne Lösung zu basteln.