Modelos y Simulación · Tema 10

Condiciones iniciales

El punto de partida que condiciona la evolución: mismo modelo, distinto inicio, distinta historia.

01 · Punto de partida

Empezar distinto es terminar distinto

Dos tanques idénticos con el mismo caudal evolucionan diferente si uno arranca lleno y otro vacío. Dos simulaciones de la misma cola difieren si una parte vacía y otra con diez clientes. El estado en t = 0 no es un detalle: es la mitad de la historia.

  • ¿En qué estado arranca cada corrida?
  • ¿Ese inicio se midió, se estimó o se inventó?
  • ¿Cuánto dura su influencia: para siempre o se olvida?
  • ¿Comparo escenarios con el mismo inicio?

02 · Definición

El dato que falta para arrancar

t₀

Inicio

El estado en el primer instante: nivel 10, cola vacía, stock 20.

⇉

Sensibilidad

Cuánto cambia la historia si cambia el inicio: poco, mucho o nada.

∅

Olvido

Cuando el sistema borra el pasado: topes, vaciados y equilibrios que igualan historias.

Inicios típicos y de dónde salen.
SistemaCondición inicialOrigen
Tanquenivel 10Medición del sensor
Colavacía a las 9 hApertura del local
Inventariostock 20Conteo de cierre
Servidorsin pedidos pendientesReinicio nocturno

03 · Sensibilidad al inicio

Lo que persiste y lo que se olvida

Memoria larga

La diferencia persiste

En el tanque lineal sin topes, arrancar con 10 de más es terminar con 10 de más: el inicio viaja con la historia.

Olvido

El sistema iguala

Con tope o vaciado, historias distintas convergen: el tanque lleno y el medio terminan igual de llenos.

Por eso comparar escenarios exige mismo inicio: si A arranca lleno y B vacío, la diferencia final puede ser del inicio y no de la política.

Transitorio
Primer tramo donde el inicio domina: arranque, llenado, puesta en régimen.
Estacionario
Régimen donde el inicio ya no se nota: el sistema olvidó de dónde vino.
Warm-up
Descartar el transitorio del análisis para no contaminar métricas.
Sensibilidad
Cuánto mueve la respuesta un cambio en el inicio (Tema 40).

04 · Cómo fijarlas

Medir, estimar o calentar

Medir→Estimar→Calentar→Declarar
  1. 1
    Medir cuando se puede.

    Sensor, conteo o registro: el inicio es un dato más del escenario.

  2. 2
    Estimar con criterio.

    Vacío a la apertura, saldo de cierre: supuestos razonados y escritos.

  3. 3
    Calentar y descartar.

    Correr de más y analizar desde el régimen: el warm-up borra inicios arbitrarios.

  4. 4
    Declarar siempre.

    Toda historia publicada lleva su t = 0: sin inicio no hay réplica posible.

05 · En Python

Mismo modelo, dos inicios

Python en tu navegador. El inicio es el primer argumento: cambiálo y mirá viajar la diferencia.

def historia(n0, balance, pasos=6):
    n = n0
    h = []
    for t in range(pasos):
        n = max(n + balance, 0)
        h.append(n)
    return h


print(historia(10, 1))
print(historia(20, 1))

Calentar: descartar el transitorio

Si el inicio fue arbitrario, se corre de más y se analiza desde el paso k: lo anterior fue calentamiento.

def historia(n0, balance, pasos=12):
    n = n0
    h = []
    for t in range(pasos):
        n = max(n + balance, 0)
        h.append(n)
    return h


completa = historia(0, 3)
print("completa:", completa)
print("régimen (desde t=6):", completa[6:])

06 · Exploración

Laboratorio: ¿se cierra la brecha?

Dos tanques iguales con distinto inicio A y B y el mismo balance. La banda entre curvas es la memoria del inicio: ¿persiste o el tope la borra?

EXPERIMENTO 10

Dos inicios, un modelo

12 pasos · tope 40

Los resultados numéricos aparecen debajo.
Final A17,00
Final B37,00
Brecha inicial → final20,00 → 20,00
LecturaPersiste

La brecha de 20 persiste: sin topes activos, el inicio viaja intacto.

Si alguna curva toca el tope o el piso, las historias se igualan: el sistema olvida de dónde vino.

Preguntas para explorar

  1. Con balance +4 e inicios 5 y 25, ¿la brecha final sigue en 20? ¿Por qué?
  2. Con balance −2, ¿qué historia toca el piso primero? ¿Se cierra la brecha?
  3. ¿Qué experimento harías para saber si tu sistema olvida el inicio?
Ver respuestas sugeridas
  1. No necesariamente: con el tope 40 ambas historias se amesetan y la brecha de 20 se cierra en 40.
  2. La que arranca más baja toca el piso primero; si ambas tocan piso o tope, la brecha se cierra.
  3. Correr dos inicios distintos con igual escenario y mirar si la brecha persiste o se cierra.

07 · Comprensión

Confusiones frecuentes

«El inicio no importa, el modelo manda»

El modelo dice cómo evolucionar; el inicio dice desde dónde. Sin ambos no hay historia: probá cambiar n0 y mirá.

«Cero es el inicio neutro»

Cero es un inicio como otro: un tanque vacío se comporta distinto de uno lleno. Neutro sería el régimen, no el cero.

«Comparo escenarios con inicios distintos»

Entonces comparás inicios, no escenarios. A igual pregunta, igual t = 0.

«El warm-up es tirar datos»

Es quitar el transitorio contaminado por un inicio arbitrario para medir el régimen que sí importa.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: viajar con la brecha

Corré el mismo balance desde 10 y desde 20. ¿Cuánto vale la brecha al inicio y al final?

def historia(n0, balance, pasos=6):
    n = n0
    h = []
    for t in range(pasos):
        n = max(n + balance, 0)
        h.append(n)
    return h


a = historia(10, 1)
b = historia(20, 1)
print(a, b)
print("brecha:", b[-1] - a[-1])
Ver solución razonada

Las historias son [11, 12, 13, 14, 15, 16] y [21, 22, 23, 24, 25, 26]: la brecha de 10 viaja intacta. Memoria larga.

Ejercicio 2: el piso que iguala

Con balance −5 desde 12 y desde 4, ¿se mantiene la brecha de 8?

def historia(n0, balance, pasos=4):
    n = n0
    h = []
    for t in range(pasos):
        n = max(n + balance, 0)
        h.append(n)
    return h


print(historia(12, -5))
print(historia(4, -5))
Ver solución

Dan [7, 2, 0, 0] y [0, 0, 0, 0]: el piso borra la brecha desde el paso 3. El sistema olvida.

Ejercicio 3: diseñar el warm-up

Simulá 12 pasos desde un inicio arbitrario de 0 con balance 3 y quedate con el régimen desde t = 6. ¿Qué informarías?

Ver una posible respuesta
h = [3 * (t + 1) for t in range(12)]
regimen = h[6:]
print("régimen:", regimen)
print("inicio declarado: n0 = 0 (arbitrario, descartado hasta t = 6)")

Se informa el régimen [21, 24, 27, 30, 33, 36] y se declara el warm-up: inicio arbitrario, primeros 6 pasos descartados.

09 · Síntesis

Ideas para recordar

  • La historia depende del inicio: Historia = f(estado(0), entradas, parámetros).
  • Sin topes ni pisos activos, la brecha inicial viaja intacta.
  • Topes y vaciados igualan historias: el sistema olvida.
  • Los escenarios se comparan con el mismo t = 0.
  • El warm-up descarta el transitorio de un inicio arbitrario.

En el próximo tema veremos los límites del entorno: las condiciones de contorno.