Optimale Verteilung von Produkten

T

Typ123

Gast
Hey, ich stehe vor folgendem Problem und weiß nicht so recht wie ich das angehen soll:

Es geht um eine optimale Verteilung von Produkten auf Personen. Dabei geben die Personen vorher ihre Präferenzen ab, à la "Person 1 hat folgenden Präferenz 3; 5; 2; 1; 4" wobei die Zahlen die jeweiligen Produkte darstellen. Alle anderen Personen haben entsprechend Präferenzen. Natürlich können die sich auch überschneiden und dann treten die ersten Probleme auf ;)

Klingt ja eigentlich nicht wirklich schwierig, aber mir fehlt völlig der Ansatz (habe schon an Backtracking gedacht, aber das scheint mir etwas "too much" dafür). Kann man das auf ein allgemeineres Problem zurückführen oder welchen Ansatz würdet ihr wählen?

Danke schon mal für eure Ideen!
 
S

SlaterB

Gast
bisschen mehr Regeln/ Informationen wären schon nötig, gibt es genau so viele Produkte wie Personen, für alle eine vollständige Liste?
bekommt jeder am Ende ein Produkt?
wenn einer seine vierte Wahl bekommt und ein anderer seine zweite, ist das dann gleich optimal zu 2x dritte Wahl oder besser oder schlechter?
 
T

Typ123

Gast
Hi, okay dann hol ich mal noch bisschen weiter aus:

Jein, die Anzahl der Produkte ist eine ganzzahlige Vielzahl der Personen. Also bei z.B. 5 Personen, müssen es 5, 10 oder 15 (usw) Produkte sein, damit die Verteilung aufgeht.
Diese Angaben sollen vom Benutzer vor der eigentlichen Verteilung (zusammen mit den Präferenzen der Personen) eingegeben werden.
Am Ende sollen alle Personen gleich viele Produkte erhalten. Die Gesamtverteilung sollte insofern optimal sein, dass das Kollektiv am besten gestellt ist (klingt voll nach VWL :p).

Das mit dem "optimal" hat mich auch schon vor eine Herausforderung gestellt. Ich denke, dass das Teil der Optimierung des Algorithmus sein wird, eine Bewertung (bzw. Abwertung) der einzelnen Präferenzen vorzunehmen. Ich denke, dass die erste Wahl mehr als doppelt so viel Wert seien sollte als eine zweite Wahl (und alle weiteren Abstufen sollten sich ähnlich verhalten). Um das recht einfach zu ändern, wollte ich die "Bewertungen" als eigenes Attribut realisieren, sodass das man recht schnell anpassen kann.

Hoffe das klärt das ganze etwas auf. Wenn noch Fragen bestehen, gerne noch mal nachhaken ;)
 

Ähnliche Java Themen

Neue Themen


Oben