1  REM  ****  HP BASIC PROGRAM LIBRARY  *******************************
2  REM
3  REM        M/M/S:   QUEUEING SYSTEM
4  REM
5  REM        36656 REV  A   10/73
6  REM
7  REM  ****  CONTRIBUTED PROGRAM  ************************************
100  PRINT 
110  PRINT "WHAT ARE THE VALUES OF ARRIVAL RATE, AND SERVICE RATE"
120  INPUT L,M
130  PRINT "WHAT IS THE NUMBER OF SERVERS"
140  INPUT S
150  LET R=L/(S*M)
160  PRINT 
170  PRINT 
180  PRINT "THE TRAFFIC INTENSITY =";R
190  IF R >= 1 THEN 770
200  PRINT 
210  PRINT "THE STEADY STATE QUEUE LENGTH DISTRIBUTION FOR N CUSTOMER"
220  PRINT "IN THE SYSTEM IS U(N), AND THE PROBABILITY OF FIND MORE"
230  PRINT "THAN N IN THE QUEUE IS P(N):"
240  PRINT 
250  LET I=1
260  LET K=1
270  LET B=1
280  LET K=K*I
290  LET A=((S*R)^I)/K
300  LET B=B+A
310  LET I=I+1
320  IF I <= S THEN 280
330  LET U0=(B+(((R^(S+1))*(S^S))/K)/(1-R))^(-1)
340  PRINT "     ";"U( 0 ) =";U0
350  PRINT "                                  ";"P( 0 ) =";1-U0
360  LET J=1
370  LET L1=1
380  LET P1=U0
390  LET L1=L1*J
400  LET U1=(((S*R)^J)/L1)*U0
410  LET W=U1
420  LET P1=P1+U1
430  PRINT "     ";"U(";J;") =";U1
440  PRINT "                                  ";"P(";J;") =";1-P1
450  LET J=J+1
460  IF INT(((S*R^J)/L1)*U0*(10^6))=0 THEN 590
470  IF J <= S THEN 390
480  LET P2=P1
490  LET N=J
500  LET U2=(((S^S)*(R^N))/K)*U0
510  LET P2=P2+U2
520  PRINT "     ";"U(";N;") =";U2
530  IF INT((1-P2)*10^6)=0 THEN 560
540  PRINT "                                  ";"P(";N;") =";1-P2
550  GOTO 570
560  PRINT "                                  ";"P(";N;") = 0."
570  LET N=N+1
580  IF INT((((S^S)*(R^N))/K)*U0*(10^6))>0 THEN 500
590  PRINT "     ";"U(";N;") = 0."
600  PRINT "                                  ";"P(";N;") = 0."
610  PRINT 
620  PRINT "THE PROBABILITY THAT ALL SERVERS WILL BE BUSY =";W/(1-R)
630  PRINT 
640  PRINT "THE PROBABILITY THAT AT LEAST ONE CUSTOMER WILL BE WAITING"
650  PRINT "     ";"=";R*W*((1-R)^(-1))
660  PRINT 
670  PRINT "THE EXPECTED QUEUE LENGTH =";(S*R)+(R*W)/((1-R)^2)
680  PRINT 
690  PRINT "THE EXPECTED NUMBER OF CUSTOMERS ACTUALLY WAITING"
700  PRINT "     ";"=";(R*W)/((1-R)^2)
710  PRINT 
720  PRINT "THE EXPECTED WAITING TIME =";W/(S*M*((1-R)^2))
730  PRINT 
740  PRINT "THE EXPECTED NUMBER OF BUSY SERVERS =";L/M
750  PRINT 
760  GOTO 800
770  PRINT 
780  PRINT "THE STEADY STATE DISTRIBUTION DO NOT EXIST"
790  STOP 
800  PRINT 
810  PRINT "NOTE---"
820  PRINT "     ";"THIS PROGRAM FORCES ALL PROBABILITIES LESS THAN"
830  PRINT "     ";"0.000001 TO ZERO."
840  PRINT "     ";"IF HIGHER ACCURACY IS DESIRED, LINE #460, #530, AND"
850  PRINT "     ";"#580 MUST BE REARRANGED."
860  END 
