75.26 – Simulación Preguntas y respuestas De un diálogo con unos

Anuncio
75.26 – Simulación
Preguntas y respuestas
De un diálogo con unos alumnos, respecto a temas de la materia de Simulación, he
condensado lo siguiente:
Pregunta: ¿Qué es simular?
Respuesta: Ensayar en un modelo una alternativa para inferir lo que pasaría en el sistema real
si se aplica dicha alternativa. Simular es predecir el futuro ante hipótesis ciertas. Podremos
escribir multitud de silogismos del tipo:
Si pasa H1 y H2 tendremos como resultado esto
Pregunta: ¿Qué es un sistema?
Respuesta: Es un conjunto de elementos que interactúan entre sí que aislamos del universo
para su estudio.
Pregunta: ¿Qué es un modelo?
Respuesta: Es una fiel representación de un sistema real.
Pregunta: ¿Por qué puede fallar una simulación?
Respuesta: Porque el modelo no es válido (no representa fielmente al sistema real) y porque
las alternativas simuladas no son buenas alternativas y al recomendar la mejor
recomendaremos "la menos mala" de las ensayadas (la cual no dejaría de ser mala).
Pregunta: ¿La simulación que realizamos en al materia se plantea a través de un modelo
matemático?
Respuesta: Sí, ya que el modelo es totalmente abstracto. Se habla de autos, máquinas,
expedientes y nunca se los representa en forma tangible.
Pregunta: Entonces, ¿se utilizan todas las ecuaciones matemáticas que se ven en
Investigación operativa?
Respuesta: No, ya que el modelo matemático es numérico (no es analítico). Se conoce
instante a instante el valor que tiene cada uno de los objetos intervinientes en el sistema pero
no se conoce una relación analítica de las variables intervinientes. Se tiene una recopilación
estadística del comportamiento de cada objeto.
Pregunta: Entonces, ¿todo lo visto en Investigación Operativa sobre teoría de colas no se
puede aplicar?
Respuesta: Se pueden verificar las ecuaciones matemáticas de teoría de colas observando
que los resultados obtenidos concuerdan con los que, analíticamente, la teoría predice que
deben obtenerse.
Pregunta: ¿Se puede demostrar que un modelo es válido?
Respuesta: No, ya que habría que probar todos los casos posibles ensayados tanto en el
sistema real como en el modelo y verificar su concordancia (imposible en la práctica)
Pregunta: ¿Se puede demostrar que un modelo es inválido?
Respuesta: Sí, basta una no concordancia entre los resultados obtenidos en el modelo y los
obtenidos en el sistema real, para demostrar que el modelo es inválido.
Pregunta: ¿Por qué elegimos un lenguaje orientado a la simulación para construir modelos?
Respuesta: Porqué el 90% del trabajo lo realiza el lenguaje. Mi trabajo es descriptivo (describo
lo que quiero simular), luego ordeno al lenguaje que simule.
Pregunta: ¿Qué lenguaje elegimos para simular?
Respuesta: GPSS (GENERAL PURPOSE SYSTEM SIMULATION). Es un lenguaje de
propósito general para simular lo que ocurre en sistemas. Mediante este lenguaje puedo
construir modelos:
Matemáticos: Representación abstracta (no son físicos con una representación tangible).
Dinámicos: Su estado varía con el tiempo (no son estáticos).
Discretos: Los cambios no son graduales, las variaciones se producen de a saltos (no son
continuos).
-1-
75.26 – Simulación
Preguntas y respuestas
Numéricos: Se conoce el estado del sistema instante a instante, el valor de cada variable, pero
no existen ecuaciones matemáticas que relacionan las variables intervinientes (no son
analíticos).
Estocásticos: Existe azar en la ocurrencia de eventos (no son determinísticos, donde bajo las
mismas condiciones la solución es única y repetible)
Pregunta: ¿Cómo comienza una simulación en un modelo construido mediante el lenguaje
GPSS?
Respuesta: Cada bloque GENERATE genera su primer nacimiento futuro, el cual es colocado
en la cadena de eventos futuros (cadena ordenada cronológicamente).
Pregunta: ¿Qué otro bloque pone transacciones en la cadena de eventos futuros?
Respuesta: El bloque ADVANCE simula la realización de una tarea. Al momento de ejecutarse
simula una duración lo cual hace que se genere un evento futuro a ejecutarse en el instante
calculado como la suma del instante actual más esa duración.
Pregunta: ¿Cómo continúa la simulación?
Respuesta: El GPSS se fija en la cadena de eventos futuros qué es lo primero que hay que
hacer. Coloca el reloj para ese instante con lo que el (los) evento(s) futuro(s) se transforma(n)
en corriente(s).
Pregunta: La máquina procesa una instrucción por vez (no admite la simultaneidad). ¿Cómo
se simulan hechos simultáneos?
Respuesta: Se detiene el reloj y se simulan todos los eventos que deben suceder en ese
instante, uno por vez. Cada uno de los eventos corrientes es simulado por el GPSS. Todas las
transacciones que están en la cadena de eventos corrientes se mueven por el modelo todo lo
que pueden (El GPSS toma una transacción por vez, comenzando por la de mayor prioridad, y
la mueve por el modelo todo lo que puede)
Pregunta: ¿Qué significa mover una transacción todo lo que puede?
Respuesta: Significa mover la transacción hasta que, por ejemplo:
• un bloque la rechace (TEST/GATE con condición falsa, sin rótulo alternativo), es puesta en
una RETRY CHAIN de la condición.
• SEIZE/ENTER con Facility/Storage no disponible, es puesta en una DELAY CHAIN de la
Facility/Storage.
• PREEMPT de una facility que no se puede arrebatar, es puesta en una PENDING CHAIN
de la FACILITY.
• ADVANCE con tiempo distinto de cero, es puesta en la cadena de eventos futuros.
• TERMINATE la transacción muere, siendo destruidos todos los objetos que le pertenecen
• ASSEMBLE siendo la primera, la transacción queda en la MATCH CHAIN de la familia a
ensamblar.
• ASSEMBLE no siendo la primera, la transacción muere
El GPSS, una vez que la transacción ha dejado de moverse, toma otra transacción de la
cadena de eventos corrientes y repite el proceso, es decir, la mueve todo lo que puede y así
hasta que no tiene más transacciones que mover de la cadena de eventos corrientes.
En ese momento se fija en la cadena de eventos futuros qué es lo primero que tiene que hacer,
repitiendo lo aquí descrito hasta que una transacción al ejecutar un TERMINATE con operando
A > 0 completa la cantidad pedida por el START..
Pregunta: ¿Qué es un evento?
Respuesta: Una acción que provoca un cambio de estado.
Ing. Horacio Rocca
-2-
Descargar