Kurierdienst |
20.11.2004, 18:03 | well | Auf diesen Beitrag antworten » | ||||
Kurierdienst nachfolgende Nuss ist zu hart für mich. 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 |
||||||
20.11.2004, 21:24 | 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 . |
||||||
20.11.2004, 23:28 | 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! Ä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 |
||||||
21.11.2004, 12:12 | 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! |
||||||
22.11.2004, 15:48 | 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 |
||||||
22.11.2004, 16:18 | AD | Auf diesen Beitrag antworten » | ||||
RE: Kurierdienst
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.) |
||||||
Anzeige | ||||||
|
||||||
22.11.2004, 17:23 | 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 |
||||||
22.11.2004, 19:29 | 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... |
||||||
22.11.2004, 20:39 | 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 |
||||||
22.11.2004, 21:20 | AD | Auf diesen Beitrag antworten » | ||||
RE: Kurierdienst
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... |
||||||
23.11.2004, 12:41 | 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. Ja, Werner, es wäre sehr freundlich mir die Datei für n=6 zuzumailen: [email protected] Viele Grüße, Stefan |
||||||
23.11.2004, 13:09 | AD | Auf diesen Beitrag antworten » | ||||
RE: Lieber mal Excel
"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! |
||||||
23.11.2004, 14:52 | well | Auf diesen Beitrag antworten » | ||||
Prädikat Weltklasse Hallo Arthur, absolut klasse Dein "Kurier.zip". 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 |
||||||
23.11.2004, 14:57 | AD | Auf diesen Beitrag antworten » | ||||
RE: Prädikat Weltklasse
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. |
||||||
23.11.2004, 16:43 | riwe | Auf diesen Beitrag antworten » | ||||
RE: Prädikat Weltklasse
hallo dent, kannst du mir das auch zukommen lassen werner danke habe es schon gefunden |
||||||
23.11.2004, 18:26 | 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 |
||||||
23.11.2004, 18:32 | Leopold | Auf diesen Beitrag antworten » | ||||
Gesucht ist ja der Erwartungswert der Zufallsvariablen Täusche ich mich so oder ist das nicht einfach mit |
||||||
23.11.2004, 18:53 | AD | Auf diesen Beitrag antworten » | ||||
Da fallen mir die Tomaten von den Augen! Immerhin tröstend, dass das bei anderen Verteilungsgrößen wie etwa der Varianz von H nicht so einfach klappt. |
||||||
23.11.2004, 20:19 | well | Auf diesen Beitrag antworten » | ||||
Ich bin begeistert! Wahnsinn! Ich hab die Formel in mein Logistikkonstrukt integriert. Mann, kam die gelegen. Vielen, vielen Dank! |
||||||
23.11.2004, 23:48 | riwe | Auf diesen Beitrag antworten » | ||||
RE: Vielen Dank
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) |
||||||
24.11.2004, 08:34 | 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...) |
||||||
24.11.2004, 17:06 | well | Auf diesen Beitrag antworten » | ||||
Ja, that's it. Danke schön! Viele Grüße, Stefan |
||||||
24.11.2004, 17:15 | well | Auf diesen Beitrag antworten » | ||||
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 :-) |
|