Simulation Warteschlage

Im Prinzip gibt's da nicht viel zu erklären! Man muss immer das abarbeiten, was da gesagt wird😀. So wie in jeder Klausur. Pahahaha.



...Naja Spaß beiseite. Wo ist der Haken bei den Warteschlangen? Zunächst mal ist festzustellen, dass man im Hinterkopf bitte haben soll, dass Ankunftsfrequenz = 1/"Taktzeit".
Das bedeutet: Kommen alle 12 Minuten Leute an, ist die Rate lambda eben nicht 12, sondern lambda = 1/12 Minuten bzw. 5 Leute pro Stunde (60/12) (wenn es in der Aufgabe um Stunden geht). Die Transformationsvorschriften (Exponentialverteilung, Poissonverteilung) kannst du dann dem Skript entnehmen.

Selbstverständlich gilt für die Ankunftszeiten:
t1 + deltat = t2, wobei t1 und t2 Ankunftszeitpunkte sind und deltat die Zwischenankunftszeit zwischen t1 und t2.

Bis jetzt kann man das alles stur runterrechnen. Wilde Tipperei, mehr nicht, sobald man die Formel rausgefischt hat.
Jetzt kommt's aber: Man muss man sich in die Lage der Leute in der Warteschlange versetzen, gemäß dem in der Aufgabe beschriebenem Verhalten. Das hat nur ein bisschen was mit Logik zu tun. Angenommen du hast zwei Bedienschalter A und B. Jeder, der ankommt, reiht sich zuerst bei A ein. Ist A besetzt und B frei, dann geht er zu dem 15m weiter entfernten Schalter B. (Dass der Schalter B 15m weiter weg ist, könnte eine Begründung dafür sein, dass die Leute zuerst zu A möchten. Andererseits könnte hinter A auch eine sehr attraktive Dame arbeiten und es kommen nur Männer in den Laden, wie z.B. in einem Baumarkt, die nur dann zu B gehen, wenn B frei ist, damit's schneller geht und die Jungs sonst ärger mit dem Chef kriegen, wenn sie wieder so lange im Baumarkt rumeiern *g*).
Wenn allerdings beide Schalter belegt sind, gehen die Leute auch zu A. Ein Wechsel der Schlange ist NICHT möglich.

Angenommen um 9:30 kommt jemand an und stellt fest, dass beide Schalter belegt sind.
In deiner Tabelle möge stehen:
Bedienende Schalter A: 09:47 Uhr
Bedienende Schalter B: 09:31 Uhr
Wenn derjenige in die Zukunfts sehen könnte, würde er sich bei B anstellen. Da er aber nicht weiss, dass er bei B nur 1 Minute warten muss und A immer präferiert (man denke an die hübsche Dame!) stellt er sich bei A an und muss wie lange warten? Richtig: 47-30 = 17 Minuten. Zu A kann er ja nicht mehr, weil der Warteschlangenwechsel verboten ist.
Der Bedienanfang ist in deiner Tabelle für genau diese Person mit 09:47 zu verzeichnen und irgendwo wirst du sicher auch eine Zelle haben, wo du die 17 Minuten Wartezeit einträgst.

Jetzt kommt um 09:31 jemand an. Just in diesem Moment ist B frei geworden und bei Schalter A steht noch der Typ, der 16 weitere Minuten warten muss. In den Regeln heißt es: Wenn B frei ist und A besetzt, gehe zu B. Gesagt, getan und so geht derjenige zu B. Der Bedienstart ist ebenfalls bei 09:31.
Weiterhin sieht man, dass es für denjenigen völlig unerheblich ist, wie lange der Mensch bei A bedient werden wird. Er geht immer zum freien Schalter, wenn einer frei ist.


Ein häufig gemachter Fehler dürfte sein, dass man die Unwissenheit der ankommenden Personen vernachlässigt und sich der Typ, der bei 09:30 ankommt bei B einreiht.
 
Statistik ist und wird nie mein Fach sein.
Für mich hört sich das alles ganz logisch an, was Du da schreibst. Umsetzen kann ich es leider immer noch nicht.
Ich habe mich mal an die Aufgabe 2 der September-Klausur 09 probiert.
ai soll die Entladezeit sein und die Entladezeit ist exponentialverteilt mit dem Erwartungswert 4 => 4 = 1/lamda <=> lamda = 0,25 und jetzt? Ich weiß nicht wie ich die Entladezeit berechnen soll, geschweige denn, dass ich weiß wofür die Zufallszahlen gut sein sollen bzw. was ich damit machen soll.
Eigentlich habe ich nur die Probleme mit den verschiedenen Verteilungen. Ich weiß weder, wie ich die Entladezeit noch wie ich die Bedienzeit berechnen soll. Alles andere habe ich verstanden.
 
Ach soooooooo!
Ja und ich dachte, dass mit den Verteilungen wäre Dir klar und mit den "Regeln im Aufgabentext" hapert es. Na gut. Du weisst schon, dass man die Skript mitnehmen kann, ja? Das solltest Du auch, damit Du nicht so viele Formeln auswendig können musst!!!

In Kürze:
Es werden Dir in aller Regel gleichverteilte Zufallszahlen auf dem Intervall [0; 1) gegeben.
Mit diesen kann man auf den ersten Blick nicht viel anfangen, da ja meist andere Verteilungen der Zufallsvariablen angegeben sind. Die Entladezeit ist exponential verteilt. Die Verteilungsfunktion steht im Skript auf Seite 10.

Nun bedeutet (z.B.) eine Zufallszahl Z = 0,9, dass die Verteilungsfunktion der Entladezeit den Wert 0,9 (y-Achse = 0,9) annehmen soll. Gesucht ist dann jene Zeit für die das der Fall ist. Und genau die gehört dann in die Tabelle für die Simulation.
Wenn man die Aufgabe zeichnerisch lösen müsste, dann müsste man beim y-Achsen-Wert 0,9 nach rechts auf die Verteilungsfunktion peilen und dann nach unten gehen und den Wert auf der x-Achse ablesen (siehe Seite 37).
Das heißt also, dass du y = 1-e^(-lambda*x) nach x umformen musst:
y = 1-e^(-lambda*x)
y-1 = -e^(-lambda*x)
1-y = e^(-lambda*x)
ln(1-y) = -lambda*x
x = ln(1-y)/-lambda = Entladezeit

Das bleibt dir erspart, denn diese Umformung wurde auf Seite 40 oben durchgeführt (erste Gleichung).

Da fragt sich nun, warum dort ln(y) statt ln(1-y) steht.
Das ist ganz einfach: wenn nämlich y gleichverteilt ist, dann ist 1-y auch gleichverteilt.

Und warum sind deine Zufallszahlen überhaupt gleichverteilt? Ganz einfach: Man will jeden möglichen Wert der Verteilungsfunktion mit gleichem Gewicht zulassen. Und warum nimmt man nicht die Dichtefunktion für die Transformation? Nun: Bei stetigen Verteilungen ist die Wahrscheinlichkeit, dass ein ganz bestimmter Wert der Dichtefunktion auftaucht praktisch 0. Weiterhin ist die Dichtefunktion ja nicht in ihrer Höhe (ihrem y-Wert) normiert, denn vielleicht gibt es ja gar keinen Wert x, an dem die Dcihtefunktion den Wert 0,9 annimmt. Daher: Verteilungsfunktion! Die ist immer auf 1 normiert. Wenn ich ZZ = 0,9 einsetze, dann heißt das: Gib mir die Entladezeit aus die ini 90% aller Fälle nicht größer sein wird als die erhaltene Entladezeit.

Steht alles im Skript... 😉

Achja: Sind die Ankunftszeiten poissonverteilt, sind die Zwischenankunftszeit exponentialverteilt (Seite 42!)
 
Mario!

Vielen Dank für Deine ausführlichen Erläuterungen. Leider komme auch ich mit der Aufgabe trotz Deiner Bemühungen noch nicht ganz klar. Ich nehme mal als x-beliebige Zeile aus der von Shila angesprochenen Aufgabe 2 aus SS 2009 den Auftrag 15. Dort steht als Zufallszahl(ZZ): 0,80. Im Text ist die Erwartungswert 4 notiert, somit wird lambda = 1/Erwartungswert = 0,25. Dann setze ich gem. Deiner Erläuterung ein:

y = -1/lambda ln(x)
y = -1/lambda ln(ZZ)
y = -1/0,25 ln(0,80)
y = -1/0,25 (-0,223143551)
y = 0,892574
Im Lösungsbogen ist jedoch 0,90 erwähnt. Eine versehentlich falsche Rundung hier mag vorkommen, jedoch ist dies durchgehend bei nahezu jedem Auftrag der Fall. Warum? Oder sollen wir dies ignorieren und einfach weiter arbeiten?

Dann noch eine Frage zur Normalverteilung: in der Aufgabe heist es ja, dass beim Erwartungswert 4 z.B. für die Maschiene 1 gleichverteilt im Intervall [8;14] ist. Was setze ich jetzt in die Formeln auf Seite 40 hier wie ein?!? Stehe da wohl grade am Schlauch!
 
Ich glaub, ich habe es jetzt endlich verstanden.

Bei der Normalverteilung, muss ich es also erst in eine Standard-Normalverteilung (0,1) umwandeln und dann die Zufallszahlen einsetzen, oder?
So eine Tabelle, wie damals in Statistik, gibt es hier ja leider nicht.

Vielen
 
Ja, dann gratuliere ich Euch Beiden. Nun nochmal bitte für die ganz doofen, wie mich (bzw. die, die auf Grund der netten Uni-Umstellung nie Statistik hatten): wie wende ich die Formeln an? Also: wie wandle ich das in die Standard-Normalverteilung um um dann die Zufallszahlen einzusetzen? Könnte mir das evtl. nochmal jemand an einem Beispiel, evtl. aus der Klausur, erläutern?!?
 
Ich habe es jetzt nochmal durchgerechnet und genauso wie CretU kommen bei der Normalverteilung andere Ergebnisse raus.
X = u + zo (Seite 12)
Allerdings kommt dort z.B. bei der 3. Zeile, also Z = 0,31 folgendes raus: X = 8 + 0,31 * 14 = 12,34
 
Ich glaub, ich habe es jetzt endlich verstanden.

Bei der Normalverteilung, muss ich es also erst in eine Standard-Normalverteilung (0,1) umwandeln und dann die Zufallszahlen einsetzen, oder?
So eine Tabelle, wie damals in Statistik, gibt es hier ja leider nicht.

Vielen, vielen Dank

Das stimmt nicht.
Im Skript gibt es eine Tabelle mit Quantilen.


Ich weiss aber nicht, was ihr bei dieser Aufgabe mit der Normalverteilung wollt. Die braucht man beim Simulationslauf hier nicht, weil die Zufallszahlen nicht normalverteilt sind. Die Ursprungszufallszahlen sind i.d.R. als gleichverteilt vorgegeben. Diese werden dann entsprechend transformiert und da gibt es auf Seite 40 oben eine schöne Tabelle für Transformationen.
 
Mario!
Vielen dank für den Hinweis auf Seite 40! Die Tabelle kenne ich inzwischen nahezu auswendig. Nur: wie wende ich die hier an?!?? Bitte verzeih das wiederholte nachfragen, aber ohne Statistik ist das Ganze für mich ein pures Fragezeichen. Kannst Du mal ein Beispiel bringen?
Vielen Dank im Voraus!
 
Ich sehe das genauso wie CretU.
Jetzt mal für ganz doofe. Auf seite 40 oben links stehen im Kästchen 3 Formeln.
Die Erste habe ich angewendet, um die Entladezeit zu berechnen, also z.B. bei Zeile 8 y = -1/0,25 ln(0,14)
Wie brechne ich die Bedienzeit, also welche dieser 3 Formeln muss ich nehmen.
Ja, mit der Normalverteilung habe ich mich verlesen. Ich habe gleichverteilt = normalverteilt gelesen
 
Zur Not selber denken. Kann Wunder vollbringen (muss es nicht immer sofort, stelle ich grade bei Gesundhgeitsökonomik fest 😉)

y sei gleichverteilt im Intervall [1000; 2000]
x sei gleichverteilt im Intervall [0; 1]

Wenn x = 0,5 - wie groß ist dann wohl Y? 1500! Was sonst?
Und wenn x = 1 - wie groß ist dann wohl Y? Ganz logisch: 2000.

Wie erhält man dann eine Transformationsvorschrift.
Offenbar y = (yo-yu) * x + yu
mit yu als Intervall-Untergrenze und yo als Intervall-Obergrenze
Die Formel ist intuitiv verständlich:
Ist x nämlich 1 wird der volle Unterschiedsbetrag auf die 1000 draufaddiert, also 1000+1*1000.

Wikipedia gibt ne tolle Graphik aus. Einmal da geguckt, und man hätte es sofort gewusst. Wikipedia darf man durchaus MAL benutzen, man sollte es nur nicht zitieren 😉

https://de.wikipedia.org/wiki/Stetige_Gleichverteilung
 
Ich habe es jetzt endlich vollkommen verstanden.
Es kommt immer darauf an, welche Verteilung gegeben ist. Ist die Entladezeit exponential verteilt, benutzt man diese Formel, ist sie normalverteilt, die letzte.
Auch für die Bedienzeitberechnung muss man auch schauen, welche Verteilung vorliegt und dann die entsprechende Formel anwenden.
Mensch, ich habe echt lange gebraucht, um das zu verstehen. Aber jetzt sollte so eine Aufgabe in der Klausur schon klappen. Das einzige Problem bei mir wird dann wohl nur die Zeit sein, um zu schauen, wann sich welcher Kunde, wo anstellt. Da brauche ich bisher immer noch etwas länger. Da muss ich wohl noch etwas üben
 
Shila!
Geht doch 🙂

Aber ich hab das gleiche "Problem" wie Du. Da ich Flüchtigkeitsfehler mal überhaupt nicht mag, bin ich scheinbar manchmal zu langsam beim Beackern von solchen Aufgaben. Finde es eh etwas merkwürdig, dass da dermaßen viele Zufallszahlen simuliert werden und dann die ganzen Spalten ausgerechnet werden müssen.
Nichts destoweniger kann ich nur raten, in der Klausur

1.) vorher die eingetragenen Beispielwerte gründlich zu überprüfen (hier ruhig 2-3 Minuten Zeit reinstecken, da man dann in der Regel weiß, wie der Lehrstuhl die Aufgabe interpretiert)

2.) die Tabelle mit Bleistift auszufüllen

Ich hatte letztens eine Aufgabe, wo es um eine Einkaufsstrategie ging. Mengen, die an einem Tag nicht verkauft wurden, werden eingelagert und am nächsten Tag angeboten. Dies kostet pro Tag und stück 0,50€. 1 Tag entsprach einer Zeile in der Tabelle.
Angenommen bei Tag 12 bleiben 10 Stück übrig. Das sind 5€ Lagerkosten. Da hat der Lehrstuhl das so interpretiert, dass die 5€ erst in t = 13, also in die 13. Zeile geschrieben werden sollen und nicht in die zwölfte. Das ist aber nun wirklich Interpretationssache. Zunächst macht das auch in der Summe der Lagerkosten keinen Unterschied, es sei denn in der letzten Zeile muss was gelagert werden. Dann tauchen diese Kosten bei der Lehrstuhllösung nicht, aber in der anderen Interpretation sehr wohl auf. Ich denke aber, dass da so viel Kulanz drin sein muss, sofern man sich an eines von den beiden "Abrechnungssystemen" gehalten hat.

Übrigens:
Bei Maschinenreparaturaufgaben, wo häufig zwischen Feuerwehrstrategie und einer alternativen Strategie abgewogen werden muss, sind die Ausfallzeiten oft normalverteilt. Diese können bei der Handhabung der Tabelle wie "Zwischenankunftszeiten" modelliert werden.

Grüße,
Mario
 
1.) vorher die eingetragenen Beispielwerte gründlich zu überprüfen (hier ruhig 2-3 Minuten Zeit reinstecken, da man dann in der Regel weiß, wie der Lehrstuhl die Aufgabe interpretiert)
Ja, das mache ich vorsichtshalber immer, um ganz sicher zu gehen, dass ich auch die richtige Formel anwende

2.) die Tabelle mit Bleistift auszufüllen
Ja, das habe ich mir auch angewöhnt. Vor allem, wenn die "Zahlen" in der Mitte gesucht werden. So kann ich erstmal in RUhe rechnen und schauen, ob ich dann anschließend, wenn die Rechnung des Lehrstuhls weitergeht, überprüfen, ob cih richtig liege.

Mal eine andere Frage: Bekommt man ich der Klausur bei dieser Aufgabe auch Teilpunkte, wenn man sich z.B. in einer Zeihe vertan hat oder ist dann die ganze Aufgabe falsch.
Ich weiß, dass Prof. Rödder dann zwar Punkte abgezogen hat, aber die folgenden "falschen" Berechnungen mit dem Folgefehler wieder als richtig angesehen hat

Mensch, irgendwie bereuhe ich jetzt, dass ich damals die Klausur geschoben hatte. Ich persönlich fand die Aufgaben von Prof. Rödder verständlicher
 
Oben