Kurierdienst

Neue Frage »

well Auf diesen Beitrag antworten »
Kurierdienst
Guten Tag,

nachfolgende Nuss ist zu hart für mich. Hilfe

Kurierdienst liefert für 6 Hersteller Produkte an verschiedene Kunden.

Pro Tour transportiert der Kurier immer genau x Produkte.

Die Kunden bestellen beim Kurier und sobald x Bestellungen eingegangen sind, führt er eine Tour aus.

Aus Erfahrung weiß der Kurier, dass die Häufigkeitsverteilung der Bestellungen bezogen auf die Hersteller wie folgt aussieht:

Produkte von Hersteller 1: 40%

Produkte von Hersteller 2: 20 %

Produkte von Hersteller 3: 15 %

Produkte von Hersteller 4: 10 %

Produkte von Hersteller 5: 10 %

Produkte von Hersteller 6: 5 %

y ist die durchschnittliche Anzahl von Herstellern, die er pro Tour anfahren muss.

Wie ist y (durchschnittlich anzufahrende Hersteller pro Tour) in Abhängigkeit von x (auszuführende Bestellungen pro Tour):

a) x=4, y=?

b) x=3, y=?

Ich wäre echt froh, wenn mir jemand helfen kann. :-)

Beste Grüße,
Stefan
AD Auf diesen Beitrag antworten »

Klingt ganz schön aufwendig ...

Starten wir mal:

Wenn die zufällige Anzahl der Bestellungen für Hersteller i pro Tour ist, dann unterliegt der Zufallsvektor einer Multinomialverteilung mit den Einzelwahrscheinlichkeiten



Die Anzahl j der auf dieser Tour anzufahrenden Hersteller ist nun gerade die Anzahl der Nicht-Null-Positionen im Ergebnisvektor

Nun muss man für festes j sämtliche derartige Ergebnisvektoren betrachten, die Summe der zugehörigen Wahrscheinlichkeiten sei dann .

Schließlich ist der Erwartungwert

dann die von dir gesuchte Größe.

Mit einem kleinen Computerprogrämmchen sollte das machbar sein - von Hand würde ich das an deiner Stelle lieber nicht berechnen wollen.

Kann durchaus sein, dass das einfacher geht - ich sehe im Moment aber nicht, wie.

EDIT: Es gibt verschiedene solche Ergebnisvektoren, im Fall x=3 sind das , im Fall x=4 sogar .
well Auf diesen Beitrag antworten »

Zitat: "von Hand würde ich das an deiner Stelle lieber nicht berechnen wollen".

Habe ich aber eine ganze Weile getan. :-/

Super starke Leistung von Dir! Danke!

Tatsächlich geht es um 8 und nicht 6 Hersteller. Ich wollte die Sache einfacher machen.
Mann, aber Deine Formel kann auf beliebige Anzahl von Herstellern angepasst werden. Klasse!

verwirrt Ähm, leider weiss ich nicht, wie ich das von Dir angeregte Computerprogrämmchen realisieren soll. Ich hantiere mit Excel. Progrämmchen hab ich da noch nie selbst geschrieben, sondern greife immer auf die gegebenen Funktionen zu.

Kannst Du mir bitte helfen in Excel Deine Formel zu verankern?

:-) Viele Grüße,
Stefan
AD Auf diesen Beitrag antworten »

Hmm, Excel - ich betrachte das mal als "sportliche" Herausforderung!

Also ein Excel-Blatt kann ich dir hier wohl schlecht schicken, aber ich versuchs mal in Text-Form (Copy+Paste) den Fall x=3:

----------------------
Erste Spalte (A):

Nummer
k1
k2
k3
k4
k5
k6
Summe der ki (zur Kontrolle)
j (Anzahl Nicht-Null-Positionen)
0,4
0,2
0,15
0,1
0,1
0,05
p (Multinomial-Einzel-Wkt)
j*p
----------------------
Zweite Spalte (B):

1
0
0
0
0
0
3
=SUMME(B2:B7)
=ZÄHLENWENN(B2:B7;">0")
=POTENZ($A10;B2)/FAKULTÄT(B2)
=POTENZ($A11;B3)/FAKULTÄT(B3)
=POTENZ($A12;B4)/FAKULTÄT(B4)
=POTENZ($A13;B5)/FAKULTÄT(B5)
=POTENZ($A14;B6)/FAKULTÄT(B6)
=POTENZ($A15;B7)/FAKULTÄT(B7)
=B10*B11*B12*B13*B14*B15*FAKULTÄT(B8)
=B9*B16
----------------------
... bis 57.Spalte (BE):

56
3
0
0
0
0
0
=SUMME(BE2:BE7)
=ZÄHLENWENN(BE2:BE7;">0")
=POTENZ($A10;BE2)/FAKULTÄT(BE2)
=POTENZ($A11;BE3)/FAKULTÄT(BE3)
=POTENZ($A12;BE4)/FAKULTÄT(BE4)
=POTENZ($A13;BE5)/FAKULTÄT(BE5)
=POTENZ($A14;BE6)/FAKULTÄT(BE6)
=POTENZ($A15;BE7)/FAKULTÄT(BE7)
=BE10*BE11*BE12*BE13*BE14*BE15*FAKULTÄT(BE8)
=BE9*BE16
----------------------

Die 1.Zeile gibt die Ergebnisvektor-Nummer an (von 1 bis 56).
Der Vektor folgt in den Zeilen 2..7, den konnte ich mit Excel-Mitteln leider nicht automatisch generieren, das musst du schon selbst ausfüllen:
(0,0,0,0,0,3), (0,0,0,0,2,1), ... , (3,0,0,0,0,0).

Die 8.Zeile liefert (zur Kontrolle) nochmal k1+...+k6, muss also x=3 ergeben.

Zeile 9 ist j, die Anzahl der Nicht-Null-Positionen im Vektor.

Zeilen 10 bis 15 sind Teilfaktoren der Multinomial-Einzelwahrscheinlicjkeit,
die dann in Zeile 16 steht.

Zeile 17 ist dann der zugehörige Anteil an der Erwartungswertsumme.

---------------------

Alles was bleibt, ist die 56 Ergebnisvektoren in die Matrix (B2:BE7) einzutragen, die Zeilen 8..17 in alle Spalten zu "kopieren" (die relativen Zeilen- und Spalten-Adressen müsste Excel automatisch anpassen!).
Dein Ergebnis ist dann die Summe der Zeile 17.

Zur Kontrolle kannst du die Zeilensumme 16 der Wahrscheinlichkeiten berechnen, die muss natürlich 1 ergeben.

Bei x=4 sind es schon 126 Spalten.

Sind es gar 8 Hersteller, so brauchst du 120 (x=3) bzw. sogar 210 (x=4) Spalten - na viel Spass!
riwe Auf diesen Beitrag antworten »
RE: Kurierdienst
hallo well & dent,
anbei ein kleines EXCEL - programm, bei dem nur die eingabe der (n - 1) wahrscheinlichkeiten erforderlich ist, den rest - wie generierung der vektoren, berechnungen etc. macht der PC.
der einfachheit und damit ich es posten kann, ist nur der fall n=3 behandelt,
nach dem entpacken beim start von excel die frage:"Makros aktivieren" bejahen, dann den button "vektoren" drücken, und fertig ist der spaß.

wie man das problemlos erweitern kann , kannst du/ ihr für n=6 sehen, wenn ich die e-mail adresse habe, programm hat dann ca. 300 kB.

gruß
werner

p.s.1: ist ein tolles beispiel, habe ich mal diese verteilung kennen gelernt
p.s.2: berechnung der vektoren erfolgt mit metthode russe, aber einfach
AD Auf diesen Beitrag antworten »
RE: Kurierdienst
Zitat:
Original von wernerrin
den rest - wie generierung der vektoren, berechnungen etc. macht der PC.


Ja, in Excel bin ich nicht so firm, ich mach sowas lieber in C oder, was so ähnlich läuft und portabler ist, java script:

EDIT: (Sollte in jedem HTML-Browser funktionieren, wenn JavaScript unterstützt und auch eingeschaltet wird. Eine Erweiterung auf mehr als 8 Hersteller ist durch geringförmige Änderungen im HTML-Code möglich.)
 
 
riwe Auf diesen Beitrag antworten »
RE: Kurierdienst
hier ist halt EXCEL super, weil man mit ca. 10 zeilen code auskommt, da (fast) alle funktionen etc. einer tabellenkalk. schon da sind und auch die (grafische) oberfläche paßt
werner
AD Auf diesen Beitrag antworten »
RE: Kurierdienst
Ich hab mir "transport1.xls" mal angeschaut. Es bestärkt mich in meiner Überzeugung, dass man Excel für sowas lieber nicht nehmen sollte.

Die Erweiterung für größere n ist mit erheblichen Aufwand verbunden, sowohl im Tabellenblatt, als auch im Bereich Visual Basic (n ineinander geschachtelte for-to-Schleifen - sowas wollte ich gerade vermeiden). Genau deshalb war mein "Excel-Versuch" (s.o.) auch so grottenschlecht. Der in JavaScript ist deutlich besser.

Außerdem schließe ich ungern Benutzer anderer Betriebssystem (Linux) aus. Einen HTML-Browser hat schließlich jeder, der dieses Forum aufsucht...
riwe Auf diesen Beitrag antworten »
RE: Kurierdienst
hallo dent, das stimmt so nicht!
drum hab ich ja geschrieben, die vektoren sind russisch gerechnet!
und war halt in 3,4 minuten programmiert
das kann man natürlich genauso rekursiv lösen, und die erweiterung ist einfach,
aber jeder wie er will
(natürlich bin ich auch zu doof für java)
aber.....wie erstellst du in java, C die tabellen?
so wichtig ist es dann auch wieder nicht,
aber dein beitrag multinormalverteilung war super!
gruß
werner
AD Auf diesen Beitrag antworten »
RE: Kurierdienst
Zitat:
Original von wernerrin
aber.....wie erstellst du in java, C die tabellen?


Welche Tabellen ? Gesucht sind keine Tabellen, sondern die mittlere Tourlänge (die Tabellen sind höchstens Mittel zum Zweck).

Falls du die Multinomial-Vektoren meinst - schau den JavaScript-Code an. Ist wahrscheinlich schwer zu lesen, aber für alle n ohne Anpassung verwendbar!

Übrigens: "Russisch" gerechnet kenne ich noch nicht - oder ist das bloß als Witz gemeint? Meine Humor-Sensoren funktionieren heute wohl nicht so richtig...
well Auf diesen Beitrag antworten »
Lieber mal Excel
Vielen Dank! :-)

Ich beschäftige mich erstmal mit der Excel-Lösung, weil ich meinen anderen (Logistik-)Kram auch in Excel mache und nicht weiss wie ich den C-Code in Excel einbinden kann. verwirrt

Ja, Werner, es wäre sehr freundlich mir die Datei für n=6 zuzumailen:

[email protected]

Viele Grüße,
Stefan
AD Auf diesen Beitrag antworten »
RE: Lieber mal Excel
Zitat:
Original von well
Ich beschäftige mich erstmal mit der Excel-Lösung, weil ich meinen anderen (Logistik-)Kram auch in Excel mache und nicht weiss wie ich den C-Code in Excel einbinden kann. verwirrt


"kurier.zip" enthält keinen C-Code, sondern einen HTML-File mit eingebettetem JavaScript.

Der sollte von jedem auch nur halbwegs modernen Internet-Browser darstellbar sein, auf jeder Betriebssystem-Basis. Außerdem ist der Fall n=8 bereits enthalten. Schau es dir ruhig an, es lohnt sich!
well Auf diesen Beitrag antworten »
Prädikat Weltklasse
Hallo Arthur,

absolut klasse Dein "Kurier.zip". smile Auch total Anwenderfreundlich!

Kann man das Java-Skript ansehen (sehe ja "nur" die Anwendungsoberfläche) und auch irgendwie in Exel einbinden?

Viele Grüße,
Stefan
AD Auf diesen Beitrag antworten »
RE: Prädikat Weltklasse
Zitat:
Original von well
Kann man das Java-Skript ansehen (sehe ja "nur" die Anwendungsoberfläche) und auch irgendwie in Exel einbinden?


Ansehen und editieren geht mit (fast) jedem Text- oder HTML-Editor, z.B. Wordpad (gehört zu jeder Windows-Installation).

Bei der Excel-Einbinung muss ich leider passen.
Was nicht heißen muss, das es nicht vielleicht doch geht.
riwe Auf diesen Beitrag antworten »
RE: Prädikat Weltklasse
Zitat:
Original von Arthur Dent
Zitat:
Original von well
Kann man das Java-Skript ansehen (sehe ja "nur" die Anwendungsoberfläche) und auch irgendwie in Exel einbinden?


Ansehen und editieren geht mit (fast) jedem Text- oder HTML-Editor, z.B. Wordpad (gehört zu jeder Windows-Installation).

Bei der Excel-Einbinung muss ich leider passen.
Was nicht heißen muss, das es nicht vielleicht doch geht.


hallo dent,
kannst du mir das auch zukommen lassen
werner

danke habe es schon gefunden
well Auf diesen Beitrag antworten »
Vielen Dank
Hallo Werner,

Deine Mail mit der Datei ist angekommen. Vielen Dank!

Ein paar Fragen habe ich dazu:

Wie hast Du die verschiedenen Kombinationen aufgestellt? (Bei den 4 Bestellungen und 6 Herstellern sind es ja 126 Kombinationen geworden!)

Die Spalte P(k1, ..., k6) gibt an wie hoch die Wahrscheinlichkeit ist, dass die jeweilige Kombination eintritt.

Bedeuteten die nachfolgenden Spalten "fahrten" (bezogen auf 4 Bestellungen), dass pro Tour
1 Hersteller mit der Wahrscheinlichkeit 0,0279,
2 Hersteller mit der Wahrscheinlichkeit 0,1984,
3 Hersteller mit der Wahrscheinlichkeit 0,6111 und
4 Hersteller mit der Wahrscheinlichkeit 0,1626
anzufahren sind?

Wenn ja: Wie kann ich aus diesem Ergebnis ermitteln wieviel Hersteller durchschnittlich pro Tour anzufahren sind?

Viele Grüße,
Stefan
Leopold Auf diesen Beitrag antworten »

Gesucht ist ja der Erwartungswert der Zufallsvariablen



Täusche ich mich so oder ist das nicht einfach



mit
AD Auf diesen Beitrag antworten »

Zitat:
Original von Leopold
Täusche ich mich so oder ist das nicht einfach



Hammer Da fallen mir die Tomaten von den Augen! Gott

Immerhin tröstend, dass das bei anderen Verteilungsgrößen wie etwa der Varianz von H nicht so einfach klappt.
well Auf diesen Beitrag antworten »
Ich bin begeistert!
Tanzen Gott Tanzen

Wahnsinn!

Ich hab die Formel in mein Logistikkonstrukt integriert. Mann, kam die gelegen.

Vielen, vielen Dank!
riwe Auf diesen Beitrag antworten »
RE: Vielen Dank
Zitat:
Original von well
Hallo Werner,

Deine Mail mit der Datei ist angekommen. Vielen Dank!

Ein paar Fragen habe ich dazu:

Wie hast Du die verschiedenen Kombinationen aufgestellt? (Bei den 4 Bestellungen und 6 Herstellern sind es ja 126 Kombinationen geworden!)

Die Spalte P(k1, ..., k6) gibt an wie hoch die Wahrscheinlichkeit ist, dass die jeweilige Kombination eintritt.

Bedeuteten die nachfolgenden Spalten "fahrten" (bezogen auf 4 Bestellungen), dass pro Tour
1 Hersteller mit der Wahrscheinlichkeit 0,0279,
2 Hersteller mit der Wahrscheinlichkeit 0,1984,
3 Hersteller mit der Wahrscheinlichkeit 0,6111 und
4 Hersteller mit der Wahrscheinlichkeit 0,1626
anzufahren sind?

Wenn ja: Wie kann ich aus diesem Ergebnis ermitteln wieviel Hersteller durchschnittlich pro Tour anzufahren sind?

Viele Grüße,
Stefan


nein, das heißt, das sind die p für 1,2,3 ... fahrten
hat sich wohl erübrigt nach dem beitrag von leopold?
grüße
werner

und weil es so schön war ein anhang (in excel)
AD Auf diesen Beitrag antworten »

Auch wenn die Geschichte mit Leopolds Beitrag erledigt ist, will ich doch als Abrundung sowie Strafe für meine eigene Blindheit wenigstens noch ein wenig beleuchten, wann so eine Separation klappt, und wann nicht.

Von einem Multinomial-Vektor ausgehend betrachte man eine abgeleitete Zufallsgröße .
Die Einzelkomponenten sind binomialverteilt, d.h. , aber eben leider abhängig voneinander.

Besitzt H nun aber die spezielle Struktur



so kann man für die Berechnung des Erwartungswerts



die (rechenmäßig weniger aufwändigen) Binomial-Strukturen nutzen.

Liegt eine solche Struktur aber NICHT vor, bleibt meistens kein Ausweg aus



Im vorliegenden Fall klappt diese Separation mit



(und zum Erkennen dieser Struktur war ich zu blind!).

Mit folgt dann natürlich unmittelbar Leopolds Formel.

Als "Trost" bleibt mir, dass well für mein Skript (mit kleinen Anpassungen) vielleicht doch noch Verwendung hat, falls er z.B. mal die Varianz von H braucht - dort klappt diese Separation nämlich nicht.
(EDIT: Aber auch hier gibt es einen Trick, der einem das "volle" Programm erspart...)
well Auf diesen Beitrag antworten »

Zitat:
wernerrin: und weil es so schön war ein anhang (in excel)


Ja, that's it. Danke schön!

Viele Grüße,
Stefan
well Auf diesen Beitrag antworten »

Zitat:
Arthur Dent: Als "Trost" bleibt mir, dass well für mein Skript (mit kleinen Anpassungen) vielleicht doch noch Verwendung hat, falls er z.B. mal die Varianz von H braucht - dort klappt diese Separation nämlich nicht.


Das Skript wird sorgsam aufbewahrt und möglicherweise ergibt sich eine Gelegenheit.

Danke auch für die Herleitung der Leopold-Formel! Macht die Formel für mich verständlicher. Man soll ja verstehen, sonst nützt es weniger :-)
Neue Frage »
Antworten »



Verwandte Themen