Optimale Prioritätenentscheidung

Hallo,

ich suche eine Lösung zu folgendem Problem.

Ich habe meinte wegen 15 Themen und 15 Studenten die jeweils mit Priorität 1,2,3 ein Thema wählen können.
Wie kann ich jetzt, entweder mit Java oder mit Excel ausrechnen lassen, was das Optimum ist. Oder gibt es dazu sogar schon eine bekannte Lösung.
Es gibt keine Präferenzen oder so. Einfach die beste Lösung für die 15 Studenten.

Danke im Voraus :smile:

LG
Simon

Hallo,

kann jeder Student drei Themen wählen und diese dann den Prioritäten 1,2,3 zuordnen? Ist mir in deiner Formulierung nicht ganz klar geworden.

Zusätzlich müsstest du doch definieren, was unter in diesem Fall als Optimum definierst bzw. was optimiert werden soll.

Grüße

powerblue

Hallo
ich verstehe es so, jeder Student macht sein Prio1 Thema, ausser das geht nicht, dann sein Prio2 Thema. Jedes Thema kann nur von einem Student ausgefuehrt werden, nicht doppelt.
Gruss Helmut

Hallo,

na dann legt nicht jeder Student seine Priorität 1 bis 3 sondern 1 bis 15 fest.

Wenn dem so ist, ist immer noch nicht klar, was das Optimum sein soll.
Mann kann ja mal davon ausgehen, dass das Optimum der Zustand ist, in dem jeder Student das Thema bekommt, das möglichst weit oben auf seiner Prioritätenliste steht.

Es gibt 15! (das soll die Fakultät von 15 sein) Möglichkeiten, die Themen den Studenten zuzuordnen.

Die kann man jetzt in einer Schreife durchlaufen. Innerhalb der Schleife wird dann geprüft, wie gut die aktuelle Möglichkeit ist.

Wie gut die Möglichkeit ist, kann man z. b. bestimmen, in dem man die Positionen der Möglichkeiten bei den Studenten aufsummiert. Ziel ist, diesen Wert zu minimieren.

Beispiel:

Student: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
akt. Zuor.: 08 13 11 06 15 04 02 14 05 09 03 07 10 12 01

Also Student 1 bekommt Thema 8, Student 2 Thema 13 usw.

Jetzt in der Prio-Liste von Studeten 1 nachsehen an welcher Positon sich Thema 8 befindent. Dann bei Student 2 nachsehen, an welcher Stelle sich Thema 13 gefindent. So für jeden Studenten vorgehen und die Postion aller Studenten summieren.

Im nächsten Schleifendurchlauf die nächste Mögliche Zuordnung prüfen. Ist die Summe der Positionen hier geringer als vorher, ist diese Lösung besser. Ist die Summe größer, die vorherige Lösung beibehalten.

Am Ende ist die beste Lösung gefunden.

Grüße

powerblue