Italia
Fonte/ Codesnippets

Warteschlangen-Statistik per 1 Schlange und n Abfertigungsstationen

 

p.specht

Man steht bekanntlich immer in der langsameren Schlange. Beim Supermarkt billig einkaufen und sich dann wundern, daß die Kassen nur spärlich besetzt sind - naja... Man muß halt das Beste aus solchen Situationen machen, und dabei hilft die sog. Warteschlangen-Statistik, ein eigener Zweig des "Operations Research".

Mit nachfolgende Programm können beispielsweise folgende Fälle behandelt werden:
Bsp. A) "Unendliche Warteschlange": Die Kunden werden an 2 Kassen bedient, welche eine gemeinsame Wartschlange haben. Jeder Geschäftsfall an einer Kasse wird in durchschnittlich 40 Sekunden abgewickelt. Im Mittel stellt sich alle 25 Sekunden ein neuer Kunde an. Wie grande ist die Wahrscheinlichkeit, daß ein Kunde länger als 150 Sekunden in der Schlange steht oder abgefertigt wird?
Ergebnis: 15.867 %

Bsp. B) "Endliche Warteschlange": Ein Autoverleih hat 150 Fahrzeuge, die im Mittel alle 30 Tage in der betriebseigenen Werkstatt gewartet werden müssen. Die Werkstatt hat vier Arbeitsstationen, an denen pro Tag jeweils 2 Autos bewältigt werden (Servicedauer 0.5 Tage/Auto). Ergebnis: Im Mittel stehen 2.89 Autos gerade beim Service, und ein Fahrzeug wartet etwa einen halben Tag (0.44 Tage) auf die Hebebühne.

WindowTitle "Berechnung per 1 Warteschlange und N Abfertigungsstellen"
'Q: Di base-Programme per die angewandte Statistik, Oldenbourg Vlg, S.298 ff
'(D) 2017-11 Demo zur Transkription nach XPROFAN-11.2a by P.Specht, Wien
'OHNE JEDE GEWÄHR! NUR FÜR PRIVATE TESTZWECKE!
WindowStyle 24:CLS
Declare A!,A1!,D$,E&,E$,EO&,Ii!,J&,K$,L!,M&,N&,N1!
Declare P1!,P2!,P3!,Q!,R1!,R2!,S!,S1!,S2!,S0!,T!,T1!,T2!,T3!,T4!
' *** Eingabeteil
font 2:D$=date$(0)
Print "\n   Datum: ";D$
G90:
K$="XProfan-PC"
Print " Kennung: ";K$
font 0:PRINT
PRINT " 1 = Endliche Anzahl von Fällen  [z.B. Autoverleih]"
PRINT " 2 = Unendliche Anzahl von Kunden [z.B. Supermarkt]"
PRINT
G140:
Print " Gewünschte Wahl: ";:INPUT E&
PRINT
case (E&<1) OR (E&>2):goto "G140"
case E&=1:GOTO "G180"
case E&=2:Goto "G200"
G180:
Print " Gesamtzahl der Fälle?: ";:INPUT M&
case M&<=0:goto "G180"
G200:
Print " Anzahl der Abfertigungsstellen?: ";:INPUT N&
case N&<1:goto "G200"
PRINT
PRINT " 1 = Abfertigungsrate + Ankunftsrate (pro Zeiteinheit)"
PRINT " 2 = Bedienungsdauer + Mittlerer Ankunftszeitabstand"
PRINT
G260:
print " Gewünschte Nr.: ";:INPUT EO&
PRINT
case (EO&<1) OR (EO&>2):goto "G260"
case EO&=1:GOTO "G300"
case EO&=2:goto "G340"
G300:
print " Mittlere Abfertigungsrate?: ";:INPUT R1!
print "     Mittlere Ankunftsrate?: ";:INPUT R2!
case (R1!<0) OR (R2!<0):goto "G300"
G330:
GOTO "G370"
G340:
print "              Mittlere Bedienungszeit?: ";:INPUT T1!
print " Mittlerer Abstand der Ankunftszeiten?: ";:INPUT T2!
case (T1!<0) OR (T2!<0):goto "G340"
G370:
'  --------------------------------------------
'  Ausdrucken
cls:PRINT:PRINT:font 2
PRINT " ";D$;" / ";K$
PRINT
case E&=1:GOTO "G430"
case E&=2:goto "G450"
G430:
PRINT " Endliche Warteschlange"
GOTO "G460"
G450:
PRINT " Unendliche Warteschlange"
G460:
PRINT
case E&=1:GOTO "G480"
case E&=2:goto "G490"
G480:
PRINT "         Gesamtzahl der Personen: ";M&
G490:
PRINT "  Anzahl der Abfertigungsstellen: ";N&
PRINT
case EO&=1:GOTO "G520"
case EO&=2:goto "G540"
G520:
PRINT " Variante Abfertigungsrate / Ankunftsrate "
GOTO "G550"
G540:
PRINT " Variante Bedienungszeit / Ankunftszeitabstand "
G550:
PRINT
case EO&=1:GOTO "G570"
case EO&=2:goto "G600"
G570:
PRINT " Mittlere Abfertigungsrate: ";format$("%g",R1!)
PRINT "     Mittlere Ankunftsrate: ";format$("%g",R2!)
GOTO "G620"
G600:
PRINT " Mittlere Bedienungszeit  : ";format$("%g",T1!)
PRINT " Mittlerer Zeitabstand zwischen Ankünften: ";format$("%g",T2!)
G620:
' Rechenteil
Case EO&=1:GOTO "G820"
case EO&=2:goto "G850"
G820:
Ii!=R2!/R1!
T2!=1/R2!
GOTO "G880"
G850:
Ii!=T1!/T2!
R2!=1/T2!
R1!=1/T1!
G880:
case E&=1:GOTO "G890"
case E&=2:goto "G1040"
G890:
Q!=1
S1!=0:S2!=Q!

whileloop m&:j&=&Loop

    Q!=Q!*(M&-J&+1)*Ii!
    case J&>N& : Q!=Q!/N&
    case J&<=N&: Q!=Q!/J&
    S1!=S1!+Q!*J&
    S2!=S2!+Q!

endwhile

A!=S1!/S2!
T!=T2!*A!
A1!=M&*((Ii!+1)*(A!/M&-1)+1)
T3!=T2!*A1!
L!=-(Ii!+1)*(A!/M&-1)
GOTO "G1200"
G1040:
S!=1:S0!=1:S1!=1:N1!=N&
case N&=1:goto "G1120"

whileloop n&-1:j&=&Loop

    N1!=J&*N1!
    S0!=S0!*Ii!/J&
    S!=S!+S0!

endwhile

P1!=1/(S!+Ii!^N&/(N1!*(1-Ii!/N&)))
G1120:
P2!=Ii!^N&*P1!/(N1!*(1-Ii!/N&))
A1!=Ii!*P2!/(N&-Ii!)
A!=A1!+Ii!
T3!=A1!/R2!
T!=A!/R2!
'  -----------------------------------------------,
G1200:
'  *** Ausgabeteil
PRINT:PRINT:PRINT
case E&=1:GOTO "G1270"
case E&=2:goto "G1230"
G1230:
PRINT "   Wahrscheinlichkeiten [ % ]"
PRINT "     Alle Schalter unbesetzt: ";format$("%g",P1!*100)
PRINT "       Alle Schalter besetzt: ";format$("%g",P2!*100)
PRINT
G1270:
PRINT "   Mittlere Anzahl Wartender: ";format$("%g",A1!)
PRINT "      Mittlere Anzahl Kunden: ";format$("%g",A!)
PRINT "          Mittlere Wartezeit: ";format$("%g",T3!)
PRINT "Mittlere Gesamtdurchlaufzeit: ";format$("%g",T!)
PRINT
case E&=1:GOTO "G1460"
case E&=2:goto "G1330"
G1330:
PRINT:PRINT
G1340:
PRINT " Soll die Wahrscheinlichkeit per eine bestimmte Warte-  "
print " dauer von circa x Zeiteinheiten berechnet werden (j/n)?: ";:INPUT E$
PRINT
case E$="j":goto "G1400"
case E$="n":goto "G1480"
GOTO "G1340"
G1400:
print "      Wartezeit länger als x Zeiteinheiten, x=?: ";:INPUT T4!
P3!=P2!*EXP((R2!-N&*R1!)*T4!)
PRINT
PRINT " Wahrscheinlichkeit dieser Mindestwartezeit [%]: ";P3!*100
PRINT
GOTO "G1340"
G1460:
PRINT " Gesamtleistungsfaktor ";L!
PRINT
G1480:
print " Weitere Berechnung durchführen (j/n)?: ";:INPUT E$
PRINT

if E$="j":Cls:font 0:goto "G90":endif

    Case E$="n":goto "G1530"
    GOTO "G1480"
    G1530:
    END
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
25.05.2021  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

1.309 Views

Untitledvor 0 min.
p.specht21.11.2021
R.Schneider20.11.2021
Uwe Lang20.11.2021
Manfred Barei19.11.2021
Di più...

Themeninformationen

Dieses Thema hat 1 subscriber:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie