PPT代写-1M
时间:2022-05-07
4/29/22, 10:23 PM HW6.ipynb - Colaboratory
https://colab.research.google.com/drive/1M-qhvd7D6i0pHEWjW1UoegyJBiHIhEa3#printMode=true 1/4
import numpy as np
def simulation(a=0.5, d1=0.8, d2=0.9, endTime=100):
    """
    Single server / Single Queue / Exponential Rates
    inputs:
        - a: mean of the interarrival time 
        - d: mean of the service times
        - end: max simulation time (minutes)
    outputs:
        - numArr: number of Arrivals 
        - AvgTimeS: average time in System
    """
    # state variables 
    N = 0 # number of people in system
    t = 0 # simulation time (in minutes)
    B1 = 0
    B2 = 0
    FEL_time = [t+np.random.exponential(a),endTime]
    FEL_eventType = ['A','E']
    # metric tracking
    numArr = 0 
    TotalTimeS = 0 
    Debug = True
    time_s1 = 0
    time_s1s2 = 0
    time_q = 0
    eventType = ''
    while(eventType != 'E'):
        if len(FEL_time) == 0:
            print('Error: FEL is empty. Ending simulation now')
            break
        
        nextEvent = np.argmin(FEL_time)
        eventTime = FEL_time.pop(nextEvent)
        eventType = FEL_eventType.pop(nextEvent)
        TotalTimeS += (N)*(eventTime-t)
        if N>=3:
          time_q = time_q + (eventTime-t)
        if B1 == 1:
          time_s1 = time_s1 + (eventTime-t)
        if B1 == 1 and B2 == 1:
          time_s1s2 = time_s1s2 + (eventTime-t)
        t = eventTime
        #arrival 
        if eventType == 'A':
N+=1
4/29/22, 10:23 PM HW6.ipynb - Colaboratory
https://colab.research.google.com/drive/1M-qhvd7D6i0pHEWjW1UoegyJBiHIhEa3#printMode=true 2/4
            N+=1 
            numArr+=1
            t_A = np.random.exponential(a)
            FEL_time.append(t+t_A)
            FEL_eventType.append('A')
            if N >= 1 and B1 == 0:
                t_S = np.random.exponential(d1)
                FEL_time.append(t+t_S)
                FEL_eventType.append('D1')
                B1 = 1
            if N > 1 and B1 == 1 and B2 == 0:
                t_S = np.random.exponential(d2)
                FEL_time.append(t+t_S)
                FEL_eventType.append('D2')
                B2 = 1
        #departure
        elif eventType == 'D1':
            N-=1
            B1 = 0
            if N > 1 and B1 == 0:
                t_S = np.random.exponential(d1)
                FEL_time.append(t+t_S)
                FEL_eventType.append('D1')
                B1 = 1
        #departure
        elif eventType == 'D2':
            N-=1
            B2 = 0
            if N > 1 and B2 == 0:
                t_S = np.random.exponential(d2)
                FEL_time.append(t+t_S)
                FEL_eventType.append('D2')
                B2 = 1
        
        if Debug == True:
            print("eventType: ",eventType," time: ","{:.2f}".format(eventTime),
                  " N:",N," numArr: ",numArr," TotalTimeS: ",
                  "{:.2f}".format(TotalTimeS),
                  " FEL: ",printFEL(FEL_time,FEL_eventType))
    return numArr, TotalTimeS / numArr, time_s1, time_s1s2, time_q
def printFEL(FEL_time,FEL_eventType):
    strOutput=""
    for eventIndex in range(len(FEL_time)):
        strOutput += "("
        strOutput += str(FEL_eventType[eventIndex])
        strOutput += ","
        strOutput += "{:.2f}".format(FEL_time[eventIndex])
        strOutput += ") "
    return strOutput
4/29/22, 10:23 PM HW6.ipynb - Colaboratory
https://colab.research.google.com/drive/1M-qhvd7D6i0pHEWjW1UoegyJBiHIhEa3#printMode=true 3/4
numArr, AvgTimeS, time_s1, time_s1s2, time_q= simulation()
print("The number of arrivals is:",numArr)
print("The average time spent in the system is:",AvgTimeS)
print("Proportion of the time the server 1 is busy :",time_s1)
print("Proportion of the time both servers is busy :",time_s1s2)
print("Proportion of the time more than one customer in the queue :",time_q)
eventType: A time: 1.64 N: 1 numArr: 1 TotalTimeS: 0.00 FEL: (E,100.00
eventType: A time: 1.98 N: 2 numArr: 2 TotalTimeS: 0.33 FEL: (E,100.00
eventType: D1 time: 1.98 N: 1 numArr: 2 TotalTimeS: 0.34 FEL: (E,100.00
eventType: A time: 2.97 N: 2 numArr: 3 TotalTimeS: 1.32 FEL: (E,100.00
eventType: A time: 3.47 N: 3 numArr: 4 TotalTimeS: 2.34 FEL: (E,100.00
eventType: D1 time: 3.60 N: 2 numArr: 4 TotalTimeS: 2.71 FEL: (E,100.00
eventType: D1 time: 3.74 N: 1 numArr: 4 TotalTimeS: 3.00 FEL: (E,100.00
eventType: D2 time: 5.19 N: 0 numArr: 4 TotalTimeS: 4.44 FEL: (E,100.00
eventType: A time: 5.36 N: 1 numArr: 5 TotalTimeS: 4.44 FEL: (E,100.00
eventType: A time: 5.40 N: 2 numArr: 6 TotalTimeS: 4.48 FEL: (E,100.00
eventType: A time: 5.40 N: 3 numArr: 7 TotalTimeS: 4.49 FEL: (E,100.00
eventType: A time: 5.54 N: 4 numArr: 8 TotalTimeS: 4.89 FEL: (E,100.00
eventType: D1 time: 5.64 N: 3 numArr: 8 TotalTimeS: 5.29 FEL: (E,100.00
eventType: D2 time: 5.87 N: 2 numArr: 8 TotalTimeS: 5.98 FEL: (E,100.00
eventType: D1 time: 6.07 N: 1 numArr: 8 TotalTimeS: 6.39 FEL: (E,100.00
eventType: A time: 6.14 N: 2 numArr: 9 TotalTimeS: 6.46 FEL: (E,100.00
eventType: A time: 6.16 N: 3 numArr: 10 TotalTimeS: 6.50 FEL: (E,100.00
eventType: A time: 6.29 N: 4 numArr: 11 TotalTimeS: 6.88 FEL: (E,100.00
eventType: A time: 6.93 N: 5 numArr: 12 TotalTimeS: 9.43 FEL: (E,100.00
eventType: D1 time: 7.06 N: 4 numArr: 12 TotalTimeS: 10.10 FEL: (E,100
eventType: A time: 7.25 N: 5 numArr: 13 TotalTimeS: 10.84 FEL: (E,100.0
eventType: D1 time: 7.59 N: 4 numArr: 13 TotalTimeS: 12.56 FEL: (E,100
eventType: A time: 8.15 N: 5 numArr: 14 TotalTimeS: 14.78 FEL: (E,100.0
eventType: D1 time: 8.18 N: 4 numArr: 14 TotalTimeS: 14.95 FEL: (E,100
eventType: D1 time: 8.29 N: 3 numArr: 14 TotalTimeS: 15.39 FEL: (E,100
eventType: D2 time: 8.87 N: 2 numArr: 14 TotalTimeS: 17.14 FEL: (E,100
eventType: A time: 8.88 N: 3 numArr: 15 TotalTimeS: 17.15 FEL: (E,100.0
eventType: A time: 9.06 N: 4 numArr: 16 TotalTimeS: 17.71 FEL: (E,100.0
eventType: D2 time: 9.17 N: 3 numArr: 16 TotalTimeS: 18.12 FEL: (E,100
eventType: A time: 9.18 N: 4 numArr: 17 TotalTimeS: 18.16 FEL: (E,100.0
eventType: D1 time: 9.44 N: 3 numArr: 17 TotalTimeS: 19.21 FEL: (E,100
eventType: A time: 9.45 N: 4 numArr: 18 TotalTimeS: 19.24 FEL: (E,100.0
eventType: D1 time: 9.47 N: 3 numArr: 18 TotalTimeS: 19.31 FEL: (E,100
eventType: A time: 9.60 N: 4 numArr: 19 TotalTimeS: 19.70 FEL: (E,100.0
eventType: D1 time: 9.62 N: 3 numArr: 19 TotalTimeS: 19.78 FEL: (E,100
eventType: D2 time: 9.76 N: 2 numArr: 19 TotalTimeS: 20.21 FEL: (E,100
eventType: D2 time: 9.79 N: 1 numArr: 19 TotalTimeS: 20.26 FEL: (E,100
eventType: A time: 10.07 N: 2 numArr: 20 TotalTimeS: 20.54 FEL: (E,100
eventType: A time: 10.42 N: 3 numArr: 21 TotalTimeS: 21.24 FEL: (E,100
eventType: D1 time: 10.46 N: 2 numArr: 21 TotalTimeS: 21.38 FEL: (E,100
eventType: D2 time: 10.47 N: 1 numArr: 21 TotalTimeS: 21.38 FEL: (E,100
eventType: A time: 10.47 N: 2 numArr: 22 TotalTimeS: 21.39 FEL: (E,100
eventType: D1 time: 10.81 N: 1 numArr: 22 TotalTimeS: 22.07 FEL: (E,100
eventType: D2 time: 11.41 N: 0 numArr: 22 TotalTimeS: 22.66 FEL: (E,100
eventType: A time: 12.12 N: 1 numArr: 23 TotalTimeS: 22.66 FEL: (E,100
eventType: A time: 12.21 N: 2 numArr: 24 TotalTimeS: 22.76 FEL: (E,100
eventType: A time: 12.38 N: 3 numArr: 25 TotalTimeS: 23.09 FEL: (E,100
4/29/22, 10:23 PM HW6.ipynb - Colaboratory
https://colab.research.google.com/drive/1M-qhvd7D6i0pHEWjW1UoegyJBiHIhEa3#printMode=true 4/4
eventType: D1 time: 12.82 N: 2 numArr: 25 TotalTimeS: 24.41 FEL: (E,100
eventType: D1 time: 13.00 N: 1 numArr: 25 TotalTimeS: 24.76 FEL: (E,100
eventType: A time: 13.03 N: 2 numArr: 26 TotalTimeS: 24.80 FEL: (E,100
eventType: A time: 13.14 N: 3 numArr: 27 TotalTimeS: 25.01 FEL: (E,100
eventType: D1 time: 13.40 N: 2 numArr: 27 TotalTimeS: 25.81 FEL: (E,100
eventType: D2 time: 13.70 N: 1 numArr: 27 TotalTimeS: 26.40 FEL: (E,100
eventType: A time: 14.02 N: 2 numArr: 28 TotalTimeS: 26.72 FEL: (E,100
eventType: D2 time: 14.75 N: 1 numArr: 28 TotalTimeS: 28.17 FEL: (E,100
eventType: D1 time: 15.13 N: 0 numArr: 28 TotalTimeS: 28.56 FEL: (E,100
eventType: A time: 15.41 N: 1 numArr: 29 TotalTimeS: 28.56 FEL: (E,100
eventType: D1 time: 16 17 N: 0 numArr: 29 TotalTimeS: 29 31 FEL: (E 100


essay、essay代写