Python - Generando data en python - Colas

 
Vista:

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?


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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder