Generando data en python - Colas
Publicado por EstudiantePython (1 intervención) el 27/02/2017 10:37:44
Estoy tratando de crear una data de tiempo de espera en una cola.
Laspersonas llegan a cualquier momento, luego si no hay nadie en la cola las atienden en ese mismo momento y si hay alguien en la cola tienen que esperar al que la persona anterior se vaya,
Tengo tres variables
llegada
servicio
cuando se van
El programa que hice no me esta calculando bien el tiempo en que son atendidas las personas. No entiendo que estoy haciendo mal, me pueden ayudar?
Laspersonas llegan a cualquier momento, luego si no hay nadie en la cola las atienden en ese mismo momento y si hay alguien en la cola tienen que esperar al que la persona anterior se vaya,
Tengo tres variables
llegada
servicio
cuando se van
El programa que hice no me esta calculando bien el tiempo en que son atendidas las personas. No entiendo que estoy haciendo mal, me pueden ayudar?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import random
def my_poisson( lam=1, T=10 ):
t = 0
i = 0
more = True
pd = []
while ( more ):
U = random.random()
t = t - ( 1 / lam ) * math.log( U )
if ( t > T ):
more = False
else:
i = i + 1
pd.append(t)
return pd
id=range(1,25)
arrival_time=my_poisson(1,5) #cuando llega assignado random
service_time=[] # Cuando lo atienden
departure_time=[] #Cuando se va de la tienda
print arrival_time
for i,val in enumerate(arrival_time):
if i==0: #Inizializo los datos
print "iteration=%s,arrival=%s,service=%s,dep=%s"% ( i,val,service_time,departure_time)
dummy=val+random.random()
service_time.append(dummy)
departure_time.append(dummy)
print i, val[i], service_time, departure_time
else:
if val < departure_time[i-1]: #Si llega antes q la persona anterior se vaya
print "menos"
service_time.append(departure_time[i-1]+random.random())
departure_time.append(service_time[i]+random.random())
print i, val, service_time[i], departure_time[i]
else: # Si llega luego le asigno valores random al servicio y cuando se va
print "mas"
dummy=val+random.random()
print "llega", val, dummy
service_time.append(dummy)
departure_time.append(dummy+random.random())
print i, val, service_time[i], departure_time[i]
Valora esta pregunta
0