| |
|
|
p.specht
| one standing known always in the slower queue. at that supermarket cheap purchase and itself then wonder, that the cash registers only scanty occupied are - naja... one must hold the best from such situations make, and thereby helps The undertow. Warteschlangen-Statistik, one eigener sprig the "Operations Research".
with follow up Program can in example following Cases treats go: Bsp. A) "Unendliche Warteschlange": The customers go on 2 cash registers bedient, which a joint Wartschlange having. eachone Geschäftsfall at a cash-desk becomes in durchschnittlich 40 sec abgewickelt. in the middle position itself any 25 sec one new customer on. How big is the probability, that one customer longer as 150 sec in the queue standing or abgefertigt becomes? Result: 15.867 %
Bsp. B) "Endliche Warteschlange": One Autoverleih has 150 wheelers, The in the middle any 30 days in the in-house workshop waited go must. The workshop has four Arbeitsstationen, on them per day each 2 Autos bewältigt go (Servicedauer 0.5 days/car). Result: in the middle stand 2.89 Autos straight at service, and a wheeler wait about a half-way day (0.44 days) on The Hebebühne.
Window Title "Berechnung for 1 Warteschlange and n Abfertigungsstellen"
'Q: BASIC-programs for angewandte Statistik, Oldenbourg Vlg, s.298 ff
'(D) 2017-11 demonstration to Transkription to XPROFAN-11.2a by P.woodpecker, Wien
'OHNE EACH GEWÄHR! ONLY FOR PRIVATE TESTZWECKE!
Window Style 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 date: ";D$
G90:
K$="XProfan-PC"
Print " Kennung: ";K$
font 0:PRINT
PRINT " 1 = Endliche amount of Make [z.B. Autoverleih]"
PRINT " 2 = infinity amount of customers [z.B. supermarket]"
PRINT
G140:
Print " desired electoral: ";:INPUT E&
PRINT
case (E&<1) OR (E&>2):goto "G140"
case E&=1:GOTO "G180"
case E&=2:Goto "G200"
G180:
Print " Gesamtzahl the Cases?: ";:INPUT M&
case M&<=0:goto "G180"
G200:
Print " Number of Abfertigungsstellen?: ";:INPUT N&
case N&<1:goto "G200"
PRINT
PRINT " 1 = Abfertigungsrate + Ankunftsrate (per Zeiteinheit)"
PRINT " 2 = Bedienungsdauer + Mittlerer Ankunftszeitabstand"
PRINT
G260:
print " desired 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 stood off the Ankunftszeiten?: ";:INPUT T2!
case (T1!<0) OR (T2!<0):goto "G340"
G370:
' --------------------------------------------
' Print out
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 " infinity Warteschlange"
G460:
PRINT
case E&=1:GOTO "G480"
case E&=2:goto "G490"
G480:
PRINT " Gesamtzahl the Personen: ";M&
G490:
PRINT " Number of 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: ";stature$("%g",R1!)
PRINT " Mittlere Ankunftsrate: ";stature$("%g",R2!)
GOTO "G620"
G600:
PRINT " Mittlere Bedienungszeit : ";stature$("%g",T1!)
PRINT " Mittlerer Zeitabstand between Ankünften: ";stature$("%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 " any switch unbesetzt: ";stature$("%g",P1!*100)
PRINT " any switch occupied: ";stature$("%g",P2!*100)
PRINT
G1270:
PRINT " Mittlere amount Wartender: ";stature$("%g",A1!)
PRINT " Mittlere amount customers: ";stature$("%g",A!)
PRINT " Mittlere Wartezeit: ";stature$("%g",T3!)
PRINT "Mittlere Gesamtdurchlaufzeit: ";stature$("%g",T!)
PRINT
case E&=1:GOTO "G1460"
case E&=2:goto "G1330"
G1330:
PRINT:PRINT
G1340:
PRINT " should The probability for a defined were- "
print " duration of over x Zeiteinheiten accounts go (j/n)?: ";:INPUT E$
PRINT
case E$="j":goto "G1400"
case E$="n":goto "G1480"
GOTO "G1340"
G1400:
print " Wartezeit longer as x Zeiteinheiten, x=?: ";:INPUT T4!
P3!=P2!*EXP((R2!-N&*R1!)*T4!)
PRINT
PRINT " probability this Mindestwartezeit [%]: ";P3!*100
PRINT
GOTO "G1340"
G1460:
PRINT " Gesamtleistungsfaktor ";L!
PRINT
G1480:
print " further Berechnung manage (j/n)?: ";:INPUT E$
PRINT
if E$="j":Cls:font 0:goto "G90":endif
Case E$="n":goto "G1530"
GOTO "G1480"
G1530:
END
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 05/25/21 ▲ |
|
|
|