Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MONTECARLO
SIMULACION DE PROCESOS DISCRETOS
• Conceptos y acepciones
• Flujogramas
• Distribuciones comunes
Este procedimiento se aplica a sistemas de simulación donde existen variables de tipo Estocástica
(probabilidades).
Simulación por Montecarlo
• Una vez identificados dichos inputs o variables aleatorias, se lleva a
cabo un experimento consistente en:
(1) Generar – con ayuda del ordenador - muestras aleatorias (valores
concretos) para dichos inputs.
1. Inicio o fin
Este botón aparece al inicio
y fin de cada diagrama de
INICIO flujo, para indicar el inicio y
fin del proceso.
FIN
SIMBOLOS DE UN FLUJOGRAMA
2. Proceso o actividad
Denota alguna actividad o
proceso, en el triangulo se
ACTIVIDAD escribe lo mencionado.
También se usa para asignar
un valor a alguna variable o
declarar las variables a usar.
SIMBOLOS DE UN FLUJOGRAMA
3. Decisión: Si - entonces
Nos permite evaluar la
propiedad de una variable, y en
función de esta, realizar una
acción determinada.
Generalmente las salidas del
rombo se marcarán con las
opciones SI – NO o V – F.
SIMBOLOS DE UN FLUJOGRAMA
4. Conector de flujo
Se usa para indicar que la salida
de esta parte del diagrama de
flujo servirá como entrada para
otro diagrama de flujo.
Con frecuencia este símbolo se
utiliza cuando no existe suficiente
espacio para dibujar la totalidad
del diagrama de flujo en un papel.
SIMBOLOS DE UN FLUJOGRAMA
5. Entrada de datos
Nos permite recibir valores
por teclado y guardarlos en
variables con los datos
correspondientes a la
actividad a desarrollar por el
simulador.
SIMBOLOS DE UN FLUJOGRAMA
6. Salida de datos
• Nos permite mostrar en
pantalla algún tipo de dato,
o varios. Se usa para
indicar que la salida de una
actividad o resultado por el
programa
SIMBOLOS DE UN FLUJOGRAMA
7. Ciclo WHILE – DO (mientras)
1
𝑥 = − ln 𝑟
λ
𝑥 = −𝜇 ln 𝑟
DISTRIBUCIÓN
NORMAL DISTRIBUCIÓN
EXPONENCIAL
Evento Arribo
1. Para el subproceso, guardamos en la variable
RM el valor de TLL.
2. Cuando las Entidades en el sistema (ES) es
igual a 0 (no hay cola) , se guarda el valor de 1
en ES.
3. Luego llamamos al subproceso TS.
4. En TFS se almacenará el valor de RM mas el
de TS, RM indica el tiempo de llegada y va en
incremento en cada iteración.
5. Cuando ES no es 0, la entidad pasa a formar la
cola y se genera TELL ( tiempo entre llegadas)
llamando al subproceso mencionado, y en TLL
se almacena RM+TELL
Evento fin de servicio
1. Para el subproceso, guardamos en la variable
RM el valor de TFS.
2. Cuando es el caso de fin de servicio, el número
de unidades atendidas incrementa en 1.
3. Cuando no hay cola, las entidades en el
sistema es 0 y el TS (tiempo de servicio) se
almacena un número suficientemente grande
cualquiera.
4. Cuando hay cola, y ocurre el fin de servicio
entonces la cola disminuye en 1 unidad. Se
llama al subproceso TS para luego hallar TFS
(tiempo final de servicio).
5. Se retorna la variable TFS.
Programa
principal para
el promedio de
vehículos
atendidos
Caso: Carga de contenedores
A un puerto marítimo llegan trenes con contenedores que son cargados
en barcos para su posterior transporte internacional. Los trenes llegan
cada 15 horas por término medio exponencial y el número de
contenedores que lleva cada tren es variable. De un estudio anterior se
deduce que el 10% de las veces lleva 5 contenedores; el 20% lleva 8, el
50% 12 y el 20% restante lleva 15 contenedores. Cada contenedor
tarda 1 hora en ser cargado en el barco. El barco no sale del puerto
hasta que está completamente lleno ( en cada barco caben 50
contenedores). Cuando un barco zarpa, otro ocupa inmediatamente su
puesto.
Simular la carga de los primeros 15 trenes para averiguar cuantas horas
son necesarias.
Para la cantidad de contenedores
por tren
Probabilidad
N contenedores Probabilidad Intervalo
acumulada
CONT es el
número de
contenedores
por cada tren
Evento Arribo
de trenes
1. Generamos CONT llamando al subproceso.
2. Para el subproceso, guardamos en la variable
RM el valor de TLL.
3. Cuando las Entidades en el sistema (ES) es
igual a 0 (no hay cola) , se guarda el valor de 1
en ES.
4. Luego llamamos al subproceso TS.
5. En TFS se almacenará el valor de RM mas el
de TS que en este caso es CONT, RM indica el
tiempo de llegada y va en incremento en cada
iteración.
6. Cuando ES no es 0, la entidad pasa a formar la
cola y se genera TELL ( tiempo entre llegadas)
llamando al subproceso mencionado, y en TLL
se almacena RM+TELL
Evento fin de servicio
1. Asignamos el valor de TFS a RM, en la
primera iteración este es 0.
2. Llamamos al subproceso CONT (
contenedores dentro de un tren).
3. Cuando es el evento fin de servicio, quiere
decir que la entidad sale del sistema, por
ello se incrementa en 1 la variable
Tatendidos.
4. Si hay cola; entonces, al ser atendido la
entidad, la cola disminuye en 1.
5. El tiempo de fin de servicio toma el valor
de RM más CONT, ya que cada contenedor
demora 1 h en ser descargado.
6. Si no hay cola, entonces no quedarían
entidades en el sistema, y TFS toma el
valor de CONT.
7. Retorna las variables halladas en este
subproceso.
Programa principal para la
carga de contenedores en
un barco
1. Inicializamos las variables a usar.
2. Ingresamos el número de iteraciones para hacer
la simulación con la menor incertidumbre posible.
3. El condicional para determinar si es un evento de
arribo o fin de servicio, llama a los subprocesos
mencionados, el cual devuelven las variables
involucrados dentro de estos, como por ejemplo
Tatendidos.
4. El ciclo Repetir mientras es para hacer la
simulación del tiempo que demoraría en
descargar 15 trenes. Como solicita el enunciado
del problema.
5. En TD (tiempo de descarga de los 15 trenes) se
almacenará el valor de RM para la descarga de
los mencionados.