| |
|
|
p.specht
| on steht bekanntlich toujours dans qui langsameren Schlange. Beim Supermarkt billig einkaufen et sich ensuite wundern, qui qui Kassen seulement spärlich besetzt sommes - bof... il faut arrêt cela Beste aus solchen Situationen faire, et dabei hilft qui sog. Warteschlangen-Statistik, un eigener Zweig des "Operations Research".
avec nachfolgende Programme peut beispielsweise folgende Fälle behandelt volonté: Bsp. A) "Unendliche Warteschlange": qui Kunden volonté à 2 Kassen bedient, quelle une gemeinsame Wartschlange avons. chacun Geschäftsfall à einer caisse wird dans durchschnittlich 40 Sekunden abgewickelt. Im Mittel stellt sich alle 25 Sekunden un neuer Kunde à. comment grand ist qui probabilité, qui un Kunde länger comme 150 Sekunden dans qui Schlange steht ou bien abgefertigt wird? Ergebnis: 15.867 %
Bsp. B) "Endliche Warteschlange": un Autoverleih hat 150 Fahrzeuge, qui im Mittel alle 30 Tage dans qui betriebseigenen Werkstatt gewartet volonté doit. qui Werkstatt hat quatre Arbeitsstationen, à denen pro journée jeweils 2 Autos bewältigt volonté (Servicedauer 0.5 Tage/voiture). Ergebnis: Im Mittel stehen 2.89 Autos justement beim Service, et un véhicule wartet etwa une halben journée (0.44 Tage) sur qui Hebebühne.
Titre de la fenêtre "Berechnung pour 1 Warteschlange et N Abfertigungsstellen"
'Q: BASIC-Programme pour qui angewandte Statistik, Oldenbourg Vlg, S.298 ff
'(D) 2017-11 Demo zur Transkription pour XPROFAN-11.2a by P.Specht, vienne
'OHNE JEDE GEWÄHR! NUR D' PRIVATE TESTZWECKE!
Fenêtre Style 24:CLS
Déclarer A!,A1!,D$,E&,E$,EO&,Ii!,J&,K$,L!,M&,N&,N1!
Déclarer P1!,P2!,P3!,Q!,R1!,R2!,S!,S1!,S2!,S0!,T!,T1!,T2!,T3!,T4!
' *** Eingabeteil
font 2:D$=date$(0)
Imprimer "\n date: ";D$
G90:
K$="XProfan-PC"
Imprimer " Kennung: ";K$
font 0:PRINT
PRINT " 1 = Endliche Anzahl de Fällen [z.B. Autoverleih]"
PRINT " 2 = Unendliche Anzahl de Kunden [z.B. Supermarkt]"
PRINT
G140:
Imprimer " Gewünschte l'élection: ";:INPUT E&
PRINT
cas (E&<1) OU (E&>2):goto "G140"
cas E&=1:GOTO "G180"
cas E&=2:Goto "G200"
G180:
Imprimer " Gesamtzahl qui Fälle?: ";:INPUT M&
cas M&<=0:goto "G180"
G200:
Imprimer " Nombre de Abfertigungsstellen?: ";:INPUT N&
cas N&<1:goto "G200"
PRINT
PRINT " 1 = Abfertigungsrate + Ankunftsrate (pro Zeiteinheit)"
PRINT " 2 = Bedienungsdauer + Mittlerer Ankunftszeitabstand"
PRINT
G260:
imprimer " Gewünschte Nr.: ";:INPUT EO&
PRINT
cas (EO&<1) OU (EO&>2):goto "G260"
cas EO&=1:GOTO "G300"
cas EO&=2:goto "G340"
G300:
imprimer " Mittlere Abfertigungsrate?: ";:INPUT R1!
imprimer " Mittlere Ankunftsrate?: ";:INPUT R2!
cas (R1!<0) OU (R2!<0):goto "G300"
G330:
GOTO "G370"
G340:
imprimer " Mittlere Bedienungszeit?: ";:INPUT T1!
imprimer " Mittlerer la distance qui Ankunftszeiten?: ";:INPUT T2!
cas (T1!<0) OU (T2!<0):goto "G340"
G370:
' --------------------------------------------
' Ausdrucken
cls:PRINT:PRINT:font 2
PRINT " ";D$;" / ";K$
PRINT
cas E&=1:GOTO "G430"
cas E&=2:goto "G450"
G430:
PRINT " Endliche Warteschlange"
GOTO "G460"
G450:
PRINT " Unendliche Warteschlange"
G460:
PRINT
cas E&=1:GOTO "G480"
cas E&=2:goto "G490"
G480:
PRINT " Gesamtzahl qui Personen: ";M&
G490:
PRINT " Nombre de Abfertigungsstellen: ";N&
PRINT
cas EO&=1:GOTO "G520"
cas EO&=2:goto "G540"
G520:
PRINT " variante Abfertigungsrate / Ankunftsrate "
GOTO "G550"
G540:
PRINT " variante Bedienungszeit / Ankunftszeitabstand "
G550:
PRINT
cas EO&=1:GOTO "G570"
cas 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 entre Ankünften: ";format$("%g",T2!)
G620:
' Rechenteil
Cas EO&=1:GOTO "G820"
cas EO&=2:goto "G850"
G820:
Ii!=R2!/R1!
T2!=1/R2!
GOTO "G880"
G850:
Ii!=T1!/T2!
R2!=1/T2!
R1!=1/T1!
G880:
cas E&=1:GOTO "G890"
cas E&=2:goto "G1040"
G890:
Q!=1
S1!=0:S2!=Q!
whileloop m&:j&=&Boucle
Q!=Q!*(M&-J&+1)*Ii!
cas J&>N& : Q!=Q!/N&
cas 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&
cas N&=1:goto "G1120"
whileloop n&-1:j&=&Boucle
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
cas E&=1:GOTO "G1270"
cas E&=2:goto "G1230"
G1230:
PRINT " Wahrscheinlichkeiten [ % ]"
PRINT " Alle commutateur unbesetzt: ";format$("%g",P1!*100)
PRINT " Alle commutateur 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
cas E&=1:GOTO "G1460"
cas E&=2:goto "G1330"
G1330:
PRINT:PRINT
G1340:
PRINT " Soll qui probabilité pour une bestimmte attends- "
imprimer " la durée de sur x Zeiteinheiten berechnet volonté (j/n)?: ";:INPUT E$
PRINT
cas E$="j":goto "G1400"
cas E$="n":goto "G1480"
GOTO "G1340"
G1400:
imprimer " Wartezeit länger comme x Zeiteinheiten, x=?: ";:INPUT T4!
P3!=P2!*EXP((R2!-N&*R1!)*T4!)
PRINT
PRINT " probabilité cette Mindestwartezeit [%]: ";P3!*100
PRINT
GOTO "G1340"
G1460:
PRINT " Gesamtleistungsfaktor ";L!
PRINT
G1480:
imprimer " Weitere Berechnung durchführen (j/n)?: ";:INPUT E$
PRINT
si E$="j":Cls:font 0:goto "G90":endif
Cas E$="n":goto "G1530"
GOTO "G1480"
G1530:
FIN
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 25.05.2021 ▲ |
|
|
|