01 · Punto de partida
El régimen se hace esperar
Abrís vacío con ρ = 0.8: a los 10 min la media va en 2, a los 50 en 3.5, a los 120 en 4. Ninguna de las tres es “error”: es el transitorio, la subida desde el estado inicial hacia el régimen. Con ρ = 0.5 dura 20 min; con ρ = 0.9, más de 100.
Estudiarlo sirve dos veces: para descartarlo bien (Tema 41) y para diseñar aperturas, picos y cortes, donde el sistema vive en transitorio y el régimen nunca llega.
- ¿Cuánto dura el transitorio y de qué depende?
- ¿Cómo se ve: réplicas, media y teoría juntas?
- ¿Vacío, lleno o heredado: qué cambia el arranque?
- ¿Cuándo el transitorio ES el problema (no el descarte)?
02 · Definición
Inicial, evolución y límite
Estado inicial
Dónde nace: vacío (0), lleno (8) o heredado del turno anterior. Fija el signo del sesgo.
Evolución
Pn(t) y L(t) dependen de t (Chapman-Kolmogorov). Vacío sube, lleno baja hacia L.
Régimen
El límite: Pn, L, Wq del Tema 31–33. Solo existe con ρ < 1.
| ρ | W | Transitorio ≈ | Lectura |
|---|---|---|---|
| 0.50 | 4 | 20–40 | Se estabiliza en un rato |
| 0.80 | 10 | 50–100 | Pide T de cientos |
| 0.90 | 20 | 100–200 | El arranque manda media corrida |
03 · El corazón: réplicas que se abrazan
La media converge, el ruido queda
Una sola corrida sube y baja sin decir cuándo “llegó”. Ocho réplicas grises con su media teal sí: la media sube suave hacia L = 4 (arranque vacío) o baja hacia 4 (arranque lleno). El método de Welch es exactamente ese gráfico.
- 1Fijar N0 y ρ.
Vacío (0), lleno (8) o heredado. ρ alta alarga todo.
- 2Correr R réplicas.
Mismo N0, semillas distintas, horizonte común T.
- 3Promediar por instante.
Media de N(t) entre réplicas en grilla fina: la curva teal del laboratorio.
- 4Leer duración.
Instante donde la media entra en la banda de L y no sale: ese es tu t0 (Tema 41).
- Chapman-Kolmogorov
- Ecuaciones exactas de Pn(t): balance con derivada. Resolubles en casos chicos; en general se simulan.
- Relajación τ
- Tiempo característico ≈ W/(1−ρ) en orden: con ρ→1 diverge. Regla práctica 5–10×W del Tema 41.
- Dependencia inicial
- Vacío sube, lleno baja, heredado continúa. El signo del sesgo delata el arranque.
- Ergodicidad
- La media temporal de una corrida larga iguala a la poblacional: por eso el warmup + T largo funciona.
Transitorio
¿Cuánto tarda?
Pregunta de aperturas, picos y cortes: horizonte corto, estado inicial manda, se estudia con réplicas.
Estacionario
¿A cuánto tiende?
Pregunta de diseño (Tema 43): horizonte largo, Erlang manda, el arranque se descarta.
04 · Ejemplos
Cuatro transitorios con nombre
- 1Apertura del banco.
N0 = 0, ρ = 0.8: la primera hora sube de 0 a 4. Medirla es medir la largada.
- 2Pico del mediodía.
λ salta de 0.2 a 0.45: nuevo transitorio hacia L = 9 que no llega antes de que baje.
- 3Corte que vacía.
Tras la caída, N0 = 0 con backlog afuera: avalancha de reintentos (transitorio con ρ > 1).
- 4Cambio de turno heredado.
N0 = 6 con ρ = 0.5: baja de 6 a 1. Sin warmup sobrestima.
05 · Representación en Python
Réplicas y media por instante
El transitorio se ve promediando historias, no alargando una: R réplicas con grilla común.
Python en tu navegador. El primero corre una réplica con N0; el segundo promedia R en grilla (Welch casero). Cambiá N0.
# Una réplica M/M/1 con N0 inicial: L temprana [0,30] vs tardía [120,150]
import random
def replica_L(lam, mu, T, N0=0, semilla=9):
rng = random.Random(semilla)
inits = [rng.expovariate(mu) for _ in range(N0)]
evs = []
acc = 0.0
for s in inits: # salidas del lote inicial (FIFO encadenado)
acc += s
evs.append((acc, -1))
libre = acc
t = 0.0
while True:
t += rng.expovariate(lam)
if t > T:
break
ini = max(t, libre)
fin = ini + rng.expovariate(mu)
libre = fin
evs.append((t, 1))
evs.append((fin, -1))
evs.sort()
def L_en(a, b):
n = N0
for te, d in evs:
if te <= a:
n += d
prev, area = a, 0.0
for te, d in evs:
if te <= a:
continue
if te > b:
break
area += n * (te - prev)
n += d
prev = te
area += n * (b - prev)
return area / (b - a)
return {"temprana": round(L_en(0, 30), 2), "tardia": round(L_en(120, 150), 2)}
print("N0=0:", replica_L(0.4, 0.5, 150, N0=0))
print("N0=8:", replica_L(0.4, 0.5, 150, N0=8))
# Media entre réplicas en un instante (Welch): a más R, menos ruido
import random
def media_en(t, lam, mu, R=8):
vals = []
for r in range(R):
rng = random.Random(1000+r)
vals.append(rng.expovariate(lam) + rng.expovariate(mu))
return sum(vals)/len(vals)
print(f"media de {8} muestras: {media_en(0, 0.4, 0.5):.2f}")
06 · Exploración
Laboratorio: ocho historias, una media
Ocho réplicas M/M/1 (S = 2, T = 300) nacen en tu N0 y comparten λ. Las grises son historias; la teal es su media por instante; la punteada, L teórica. Con N0 = 0 la media sube; con 8, baja: ambas abrazan L. Con ρ = 0.9 el abrazo tarda.
El abrazo hacia el régimen
8 réplicas · media → L · S=2
Cambiá N₀ para ver el abrazo desde arriba.
Grises = réplicas; teal = media por instante; punteada = L. Temprana delata el arranque, tardía abraza la teoría.
Preguntas para explorar
- Con ρ=0.8, N0=0: ¿temprana vs tardía vs 4?
- Con N0=8: ¿temprana vs tardía? ¿Qué cambió de signo?
- Con ρ=0.9 y N0=0: ¿la media a t=300 ya abrazó? ¿Y una réplica sola?
Ver respuestas sugeridas
- Temprana ~1.7 (sube), tardía ~4.5 (abraza L = 4).
- Temprana ~7.7 (baja), tardía ~4.8 igual: el arranque se olvida, el régimen queda.
- La media llega a ~6.7 vs L = 9 (a medio abrazar); las réplicas sueltas ni se enteran: con ρ alta todo tarda.
07 · Comprensión
Confusiones frecuentes
«Transitorio es error de simulación»
Es física del arranque, no bug: el sistema real también se llena desde vacío. Se descarta o se diseña, no se “corrige”.
«Con una corrida larga veo la convergencia»
Ves ruido + media acumulada, no Pn(t). La convergencia se ve entre réplicas (Welch) o en acumuladas muy largas.
«Dura siempre lo mismo»
Dura ≈ 5–10×W: con ρ = 0.5 son 20, con 0.9 son 200. Fijar t0 = 20 para todo es ceguera.
«En régimen N deja de oscilar»
Sigue oscilando (¡es estocástico!): lo que aplana es la media. Régimen ≠ quietud.
08 · Práctica guiada
Ejercicios con Python
Ejercicio 1: leer el abrazo
Media temprana 2.3, tardía 4.1, L = 4.0, N0=0. ¿Hay transitorio? ¿t0?
# temprana lejos (-42%), tardía encima (+2%): transitorio de ~30-50
print("t0 ≈ 30: la tardía ya abraza")
Ver solución razonada
Sí: la temprana delata arranque vacío; la tardía valida. t0 ≈ 30 (donde la media entra en banda).
Ejercicio 2: signo del arranque
N0=8, temprana 6.5, tardía 4.0. ¿Qué arranque fue? ¿Sesgo sin warmup?
print(f"lleno que baja: sin warmup sobrestima +{(6.5-4.0)/4.0:.0%}") # +62%
Ver solución
Lleno que baja: sin corte sobrestima ~60%. Mismo remedio, signo opuesto al vacío.
Ejercicio 3: regla de duración
M/M/1 con W = 20 (ρ=0.9, S=2). ¿Transitorio y t0 sugerido?
Ver una posible respuesta
W = 20.0
print(f"transitorio {5*W:.0f}-{10*W:.0f}, t0 ≈ {5*W:.0f}+")
100–200, t0 ≈ 100+: con ρ = 0.9 el arranque manda media corrida corta.
09 · Síntesis
Ideas para recordar
- Transitorio = camino de N0 al régimen; dura ≈ 5–10×W.
- Se ve con R réplicas + media por instante (Welch), no con una.
- Vacío sube, lleno baja; el signo delata el arranque.
- Su duración fija t0 (Tema 41); su estudio diseña aperturas y picos.
- En régimen oscila igual: aplana la media, no la historia.
En el próximo tema nos quedamos en el destino: el estado estacionario.