Modelos y Simulación · Tema 22

Relaciones entre componentes

Acoplamientos, dependencias y retroalimentación: el comportamiento nace entre las cajas, no dentro.

01 · Punto de partida

Las cajas no explican; las flechas sí

Dos tanques iguales se comportan distinto según estén aislados o conectados: el flujo entre ellos crea un sistema nuevo. Las relaciones (qué afecta a qué, con qué fuerza y con qué demora) generan el comportamiento que ningún componente tiene solo.

  • ¿Qué componente mueve a cuál?
  • ¿La influencia es de material, de información o de control?
  • ¿Hay ciclos donde el efecto vuelve a la causa?
  • ¿Qué pasa si corto esa flecha?

02 · Definiciones

Tres formas de conectarse

→

Acoplamiento

Transmisión de material o clientes: el tanque 1 alimenta al 2.

⤇

Dependencia

Condición de información: la bomba depende de la medición del nivel.

⟲

Retroalimentación

Ciclo causa-efecto-causa: el nivel controla su propia salida.

Relaciones típicas y su efecto.
RelaciónEjemploEfecto
Acoplamiento en cascadaTanque 1 → tanque 2El 2 hereda la dinámica del 1 con retardo
Feedback negativoBomba por nivelEstabiliza: frena excesos
Feedback positivoContagio por contactosAmplifica: acelera el crecimiento
Dependencia de políticaCierre por horarioConmuta el régimen completo

03 · Ciclos

Cuando el efecto vuelve

  1. 1
    Detectá el ciclo.

    Seguí las flechas: ¿alguna vuelve al punto de partida?

  2. 2
    Calificá el signo.

    ¿El ciclo frena (negativo) o acelera (positivo) el cambio?

  3. 3
    Buscá el retardo.

    Entre causa y efecto hay demora: ahí nacen las oscilaciones.

Feedback negativo

Busca el equilibrio

Termostato, bomba por nivel, stock con reposición: corrigen el desvío.

Feedback positivo

Escapa del equilibrio

Contagios, pánicos, viralización: el cambio engendra más cambio.

Ciclo
Cadena de influencias que vuelve al origen.
Retardo
Demora entre causa y efecto; fuente de oscilaciones.
Ganancia
Fuerza del acoplamiento: cuánto mueve cada unidad.
Control
Relación diseñada para llevar al objetivo (kp del ejemplo).

04 · Mapa de influencias

Dibujar antes de acoplar

Cajas→Flechas con signo→Ciclos→Código

Cada flecha lleva signo (+ amplifica, − frena) y cada ciclo se nombra. El Tema 23 convertirá estos mapas en diagramas formales.

05 · En Python

Tanques acoplados y control con feedback

Python en tu navegador. El flujo entre tanques es acoplamiento; la bomba que mira el nivel es feedback.

def cascada(n1, n2, entrada, k12, salida2, pasos):
    # Acoplamiento: el flujo 1 -> 2 depende del nivel 1.
    h = []
    for t in range(pasos):
        f12 = k12 * n1
        n1 = n1 + entrada - f12
        n2 = n2 + f12 - salida2
        h.append((round(n1, 2), round(n2, 2)))
    return h


print(cascada(10, 5, 3, 0.2, 2, 4))

Feedback que estabiliza

def con_control(n0, entrada, salida, objetivo, kp, pasos):
    # Feedback negativo: la salida extra corrige el desvío.
    n = n0
    h = []
    for t in range(pasos):
        u = max(0, kp * (n - objetivo))
        n = max(n + entrada - salida - u, 0)
        h.append(round(n, 2))
    return h


print(con_control(10, 3, 2, 12, 0.5, 6))

06 · Exploración

Laboratorio: el acople que arrastra

Dos tanques en cascada: el flujo 1 → 2 es proporcional al nivel 1 (k). Subí el acople y mirá cómo el tanque 2 hereda la dinámica del 1.

EXPERIMENTO 22

Cascada 1 → 2

12 pasos · salida2 = 2

Los resultados numéricos aparecen debajo.
Nivel 1 final14,66
Nivel 2 final17,34
Flujo 1→22,91
LecturaArrastra

Con k = 0,2, el tanque 2 sigue al 1 con retardo.

La curva lima es el tanque 1; la turquesa, el 2. El grosor de la flecha central sugiere el flujo actual.

Preguntas para explorar

  1. Con k = 0, ¿qué hace cada tanque? ¿Sigue habiendo un sistema o hay dos?
  2. Subí k a 0,5. ¿El tanque 2 alcanza al 1?
  3. ¿Dónde hay feedback en este laboratorio y dónde no?
Ver respuestas sugeridas
  1. Cada uno evoluciona solo: sin flecha no hay sistema, hay dos modelos sueltos.
  2. Se acerca con retardo pero no lo alcanza: el flujo necesita diferencia de nivel para existir.
  3. No hay feedback (es cascada abierta); lo habría si el nivel 2 controlara la entrada del 1.

07 · Comprensión

Confusiones frecuentes

«Más componentes es más realismo»

El realismo está en las flechas, no en las cajas: tres componentes bien acoplados superan a diez sueltos.

«Feedback siempre estabiliza»

Solo el negativo. El positivo desestabiliza por diseño: hay que saber cuál se modeló.

«El retardo es detalle menor»

Es el que crea oscilaciones y crisis: causa y efecto separados en el tiempo engañan al control.

«Acoplar es sumar salidas»

Acoplar es conectar dinámicas: el flujo depende del estado, no es un número fijo pegado.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: seguir el flujo

Ejecutá la cascada y explicá por qué el tanque 2 sube aunque nadie lo alimenta directo.

def cascada(n1, n2, entrada, k12, salida2, pasos):
    h = []
    for t in range(pasos):
        f12 = k12 * n1
        n1 = n1 + entrada - f12
        n2 = n2 + f12 - salida2
        h.append((round(n1, 2), round(n2, 2)))
    return h


print(cascada(10, 5, 3, 0.2, 2, 4))
Ver solución razonada

Da [(11.0, 5.0), (11.8, 5.2), (12.44, 5.56), (12.95, 6.05)]: el 2 sube por el flujo f12 que depende del nivel 1. Esa dependencia es la relación.

Ejercicio 2: cerrar el ciclo

¿El control con objetivo 12 estabiliza? Mirá los últimos valores.

def con_control(n0, entrada, salida, objetivo, kp, pasos):
    n = n0
    h = []
    for t in range(pasos):
        u = max(0, kp * (n - objetivo))
        n = max(n + entrada - salida - u, 0)
        h.append(round(n, 2))
    return h


print(con_control(10, 3, 2, 12, 0.5, 6))
Ver solución

Da [11, 12, 13, 13.5, 13.75, 13.88]: frena hacia ~14 en vez de crecer sin cota. Feedback negativo funcionando.

Ejercicio 3: cortar la flecha

Poné k12 = 0 en la cascada. ¿Qué sistema queda? Escribí la conclusión en un comentario.

Ver una posible respuesta
# Con k12 = 0 no hay flujo: quedan dos tanques independientes.
# La relación era el sistema; sin ella solo hay partes.
print("sin flecha no hay sistema")

Cortar la flecha mata la cascada: el comportamiento interesante vivía en la relación, no en las cajas.

09 · Síntesis

Ideas para recordar

  • El comportamiento emerge de las relaciones, no de las cajas.
  • Acoplamiento transmite, dependencia condiciona, feedback cicla.
  • Negativo estabiliza, positivo amplifica; el retardo oscila.
  • Cada flecha lleva signo y cada ciclo se dibuja antes de programarse.
  • En Python: flujos nombrados y leyes de control explícitas.

En el próximo tema dibujaremos en serio: diagramas y representación de modelos.