Gerechte Verteilung < Stochastik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 10:09 Fr 26.09.2008 | Autor: | LL0rd |
Hallo Leute,
ich suche nach einer Möglichkeit, um eine Menge gerecht zu verteilen. Ich möchte das ganze an einem Beispiel verdeutlichen. Angenommen ich bin der Cheff einer Putzfirma. Zusammen sind wir X Leute, ich habe also X-1 Mitarbeiter. Jetzt habe ich n Aufgaben und möchte diese innerhalb der Firma gerecht verteilen. Gerecht heißt: Alle Mitarbeiter bekommen die gleiche, ganzzahlige Anzahl von Aufgaben und der Cheff eine kleinere Menge.
Die Mitarbeiter bekommen die Aufgabe nur ein Mal zugewiesen und legen dann los. Wenn einer fertig ist, dann ist er eben fertig. Er bekommt keine neue Aufgabe mehr.
Meine Idee war für die Aufteilung bisher folgende. Nehmen wir mal an, ich hätte 4 Mitarbeiter und die Aufgabe wäre es in einem Hochhaus mit 13 Stockwerken aufzuräumen. [mm] A_n [/mm] bezeichnet die Anzahl der Aufgaben pro Mitarbeiter. [mm] A_s [/mm] bezeichnet die Anzahl der Aufgaben des Cheffs.
[mm] $A_n [/mm] = [mm] \lfloor [/mm] n / (X-1) [mm] \rfloor [/mm] = [mm] \lfloor [/mm] 13 / 4 [mm] \rfloor [/mm] = 3$
[mm] $A_s [/mm] = n - (X-1) * [mm] A_n [/mm] = 13 - 4*3 = 1$
Das wäre z.B. eine Möglichkeit. Doch ob das wirklich gerecht verteilt ist, weiß ich nicht. Doch wenn ich jetzt n = 12 setze, hat der Cheff dann garnichts mehr zutun. Und genau diesen Umstand möchte ich ausschließen. Kann mir jemand von euch evtl. eine bessere Verteilungsfunktion vorschlagen?
|
|
|
|
Hallo LLOrd,
ich denke das "Problem" liegt in der Restrition, dass alle die gleiche quantitative Arbeit leisten sollen, der Chef aber weniger tun soll. Weiterhin soll jeder eine ganzzahlige Anzahl von Arbeiten verrichten.
Die Lösung: "Alles was die Arbeiter nicht schaffen, macht der Chef" sieht für mich schon recht fair aus, da er dann immer weniger machen würde als alle Mitarbeiter. Im Idealfall (für den Chef) bedeutet das eben, dass alle Arbeiten auf die Mitarbeiteranzahl verteilt werden, und kein Rest über bleibt. Die zu verrichtende Arbeit des Chefs lässt sich in diesem Fall recht einfach über die Modulo-Funktion ermitteln.
13 mod 4 = 1
14 mod 4 = 2
20 mod 4 = 0 usw.
Gruß,
Tommy
|
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 07:07 So 28.09.2008 | Autor: | LL0rd |
Hi,
erstmal vielen Dank für deine Antwort. Ich habe die ganze Sache jetzt noch einmal auf dem Papier durchgespielt. Ich muss zugeben, dass es mit der Restriktion (alle Arbeiter bekommen die gleiche Arbeit) nichts anderes / besseres gibt. Deshalb habe ich mich entschlossen, auf diese Restriktion zu verzichten. Rein gefühlsmäßig würde ich nun so etwas in der Art machen wollen: Der Cheff bekommt die Hälfte der Arbeit eines normalen Arbeiters.
mit
$n=40$
[mm] $A_s [/mm] = [mm] \lfloor [/mm] n / (X-1) * 2 [mm] \rfloor [/mm] = [mm] \lfloor [/mm] 40 / 8 [mm] \rfloor [/mm] = 5$
Nun bleiben noch 35 Aufgaben, die ich untern den anderen irgendwie verteilen muss. Sorry, mir fällt aber momentan keine formale Beschreibung dafür ein. In der Realität würde ich jetzt alle Mitarbeiter im Kreis aufstellen, bei einem Anfangen und im Kreis dann immer weiter gehen, bis ich keine Aufgaben mehr übrig habe. (Programmiertechnisch while-Schleife). Doch wie kann ich so etwas formal ausdrücken?
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 07:20 Di 30.09.2008 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|