Sie sind auf Seite 1von 61

UNIVERSIDAD SAN PEDRO

CEAIS HUARAZ

ESCUELA PROFESIONAL DE INGENIERÍA


INFORMÁTICA Y DE SISTEMAS

Dr. VEGA HUINCHO FERNANDO

HUARAZ – PERÚ – 2016

Sexta Edición

1 Dr. Fernando Vega Huincho


SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

CAPITULO I

MODELO DE SISTEMAS
1.1. MODELO
Un modelo es una representación de un objeto, idea, o sistema en una forma
diferente a la entidad misma. En nuestro caso el modelo es un conjunto de
relaciones matemáticas o lógicas derivadas de supuestos sobre el
comportamiento del sistema.

Es una “Abstracción de algún sistema real, que tiene la posibilidad de emplearse


para propósitos de predicción y control”.

Es una descripción lógica de cómo un sistema, proceso o componente se


comporta. La simulación incluye el diseño de un “modelo” de un sistema, proceso
o componente, y la realización de experimentos sobre el mismo. El propósito de
los experimentos es determinar cómo el sistema real se desempeña, y
pronosticar el efecto de los cambios sobre el mismo en el tiempo.

Es una construcción intelectual y descriptiva de una entidad en la cual un


observador tiene interés.

Un modelo es un sistema desarrollado para entender la realidad y en supuestos


simples son usados para consecuencia para modificarla.
No es posible capturar modificar la realidad, en cierta dirección, si es que no
dispone de un modelo que la interprete.

Un modelo de un objeto puede ser una réplica exacta de éste (aunque en un


material diferente y a escala diferente), o puede ser una abstracción de las
propiedades dominantes del objeto.

Gráfico de un modelo matemático

Pág. 2
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

1.2. PASOS BASICOS PARA MODELAR UN SISTEMA

Los pasos básicos para modelar un sistema de control son:

 Definir el modelo matemático y programar el sistema de control, determinar su


estructura (entidades, atributos, actividades y fronteras).
 Seleccionar los parámetros y los valores iniciales.
 Ejecutar el modelo (simulación).
 Procesar los resultados (incluye la visualización y la investigación adicional).
 Interactuar con el modelo hasta lograr optimización.
 Con el diseño y análisis de los sistemas de control, su modelaje y simulación,
se busca satisfacer la necesidad de controlar la fabricación de los productos
mediante el mantenimiento de las variables de proceso en los valores más
estables posibles.

1.3. ELEMENTOS O PARTES DE UN MODELO

1.3.1. LOS COMPONENTES: Dependen del Sistema Simulado (Son las


entidades del sistema).
A. VARIABLES: Aparecen en los Modelos para relacionar un componente
con otro y se clasifican en:
a. Exógenas: Son las independientes o de entrada del modelo, que se
suponen predeterminadas y proporcionadas independientemente del
sistema que se modela. Son llamadas de entrada o datos, que a su vez
pueden ser:
b. Controlables: Susceptibles de manipulación por quién maneja el
sistema.
c. No controlables: Son generadas por el medio ambiente que rodea
al sistema modelado.
d. De estado: Describen la situación de un sistema ó de sus
componentes en un punto de tiempo de interés.
e. Endógenas: Son las dependientes o llamadas también variables de
salida, generada por la interacción de las variables exógenas con las
de estado de acuerdo con las características de operación de ellas.

B. PARÁMETRO: Son las variables exógenas que tienen que estimarse


con anterioridad y almacenarse como datos de entrada.

C. RELACIONES FUNCIONALES: Describen la interacción de las


variables y los componentes del modelo, existen dos tipos:
a. Identidades: Toman la forma de definiciones o declaraciones
tautológicas, relativas a los componentes del modelo.
b. Características de operación: Son hipótesis, generalmente una
ecuación matemática, que relaciona a las variables endógenas y de
estado, con sus variables exógenas.
EJEMPLO
Considere el modelo de un fenómeno de espera de un Banco que tiene 3
cajeros y una sola línea de espera.
Los componentes de este modelo son clientes que llegan al banco a
solicitar un servicio. El propósito del Modelo es relacionar el tiempo total

Pág. 3
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

que requiere un cliente para llevar a cabo su operación, con la forma en


que llegan los clientes al sistema.

C1 C2 C3

LINEA DE ESPERA DE UN BANCO

Variables Exógenas:
TAi: Tiempo de Arribo de los clientes i.
TSij: Tiempo de Servicio de la caja j, para atender al cliente i.
Variables de Estado:
TEij: Tiempo de Espera del cliente i, para pasar a la caja j.
TOij: Tiempo de Ocio de la caja j, en espera del cliente i.
Variables Endógenas:
Ti: Tiempo Total que el iésimo cliente está en el sistema.
Parámetros:
E(TAi): Media del tiempo de Arribo.
VAR(TAi): Varianza del tiempo de arribo.
E(TSj):Media del tiempo de Servicio.
VAR(TSj):Varianza del tiempo de servicio.
Características de Operación:
f(TAi): Función de densidad de probabilidad para el tiempo de arribo.
F(TSij): Función de densidad de probabilidad para el tiempo de servicio.
Identidades:
Para los 3 primeros clientes:
TEij = 0
TO11 = TA1, TO22 = TA2, TO33 = TA3
T1 = TS11, T2 = TS22, T3 = TS33.
Si la diferencia D = TSij – TAi, es:

: Existe espera en el sistema.


: Existe ocio en el sistema.
: No existe, ni espera ni ocio.

1.4. CLASIFICACION DE LOS MODELOS

1.4.1. Modelos de Tiempo Continuo y de Tiempo Discreto


Modelo de Tiempo Continuo: Una función, variable, modelo o sistema es
continuo, en contraposición a discreto si éste entre dos puntos cualesquiera
distintos existe una infinidad de puntos.

Pág. 4
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

Modelo de Tiempo Discreto: Cuando el estado del sistema está definido solo
para particulares instantes de tiempo. Una función, variable o sistema es discreto,
en contraposición a continuo, si es divisible un número finito de veces. Así, el
conjunto de los números naturales es un conjunto discreto, así como la energía
de los estados cuánticos.

1.4.2. Modelos de Estado Continuo y de Estado Discreto El modelo es de


estado continuo o discreto dependiendo de si las variables de estado son
continuas o discretas.

1.4.3. Modelos Determinísticos y Probabilísticos Determinístico es aquel en que


se obtiene siempre el mismo resultado bajo las mismas condiciones iniciales o si
los resultados de un modelo pueden predecirse con certeza. Por ejemplo, todos los
fenómenos que siguen las leyes de la física clásica, como puede ser la caída de un
cuerpo. Si con los mismos datos en varias ejecuciones se obtienen resultados
distintos entonces el modelo es probabilístico o estocástico, ejemplo: un simulador
de colas. Lo contrario de un fenómeno determinístico es un fenómeno aleatorio. Se
denomina estocástico a aquel sistema que funciona, sobre todo, por el azar. Las
leyes de causa-efecto no explican cómo actúa el sistema (y de modo reducido el
fenómeno) de manera determinista, sino en función de probabilidades.

Pág. 5
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

1.4.4. Modelos Estáticos y Dinámicos Un modelo en el que el tiempo no es una


variable es estático. Si el sistema cambia con el tiempo el Modelo es dinámico.

2
E = m c → Modelo Estático (materia en energía)

Número de trabajos en cola en un computador. Modelo Dinámico

1.4.5. Modelos Lineales y No-Lineales Si la salida es una función lineal de la


entrada, el modelo es lineal, de lo contrario es no-lineal. Ejemplo:

1.4.6. Modelos Cerrados y Abiertos Si la entrada es externa al modelo e


independiente de él, el modelo es abierto. Si el modelo es cerrado no hay entrada
externa. Puede depender de los objetivos de la simulación, como se enfoque el
problema y los supuestos que se hagan. Por ejemplo: podemos simular el tráfico
en una ciudad como un sistema cerrado si asumimos que el número de vehículos
permanece constante (no hay arribos ni salidas o arribos = salidas), o como un
sistema abierto generando arribos y salidas al exterior.

1.4.7. Modelo Estables e Inestables Si el comportamiento del sistema converge


a un estado estable (independientemente del tiempo) el modelo es estable. Un
modelo cuyo comportamiento cambia constantemente es inestable. Por ejemplo:
en un sistema de taquilla simple tenemos:
Intervalo entre llegadas > tiempo de servicio → modelo estable
Intervalo entre llegadas ≤ tiempo de servicio → modelo inestable.

Pág. 6
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

Ejemplo

Modelos de sistema de computación generalmente son de tiempo continuo, estado


discreto, probabilísticos, dinámicos y no-lineales. Algunos son abiertos y otros
cerrados. También pueden ser estables o inestables.

1.5. CARACTERISTICAS DE UN SISTEMA

Estructura: Está dada por la secuencia de formas en el espacio. Ejemplo: auto,


hombre, país, etc.
Funcionamiento: Está definido por las propiedades del sistema. Para el ejemplo
del auto, sería la velocidad, tipo de combustión, simple o doble tracción, etc.
Comportamiento: Consiste en analizar cuál será la reacción del sistema
cuando recibe un estímulo externo ya sea de carácter natural o no natural.
Ejemplo: falta de gasolina, cambio de combustible, cambio de llantas, aceitar,
cambio de bujías, etc.
Estabilidad de sistemas: Habilidad para permanecer cercano a un punto de
equilibrio o para retornar a él después de un disturbio.
Resistencia: Habilidad para resistir desplazamientos desde su estado inicial,
siguiendo un disturbio (cambio brusco de uno o más variables)
Resiliencia: Habilidad para retornar al estado inicial después de una disturbio
(recuperación)

1.6. COMPONENTES DEL SISTEMA:


Entidad: Es un objeto de interés del Sistema: Unidades de: Entrada, Central de
Procesamiento y de Salida.
Atributo: Es una propiedad de la Entidad: Velocidad y almacenamiento.
Actividad: Es todo proceso que provoque cambios en el sistema: Cálculos
Matemáticos Lógicos y resultados.
Estado del Sistema: Es una descripción de todas las Entidades, Atributos y
Actividades de acuerdo con su existencia en algún punto del tiempo.

1.7. MEDIO AMBIENTE:


Son los alrededores del Sistema que lo afectan. Existen en Simulación dos
términos relacionados con el medio ambiente que son de interés:

Endógeno: Describe las actividades que ocurren dentro del sistema.


Exógeno: Describe las actividades que ocurren en el medio ambiente que
afectan al sistema.

Pág. 7
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

TAREA PARA EL ALUMNO

1. Seleccione un sistema financiero y mencione:


a. Sus elementos
b. Su clasificación
c. Sus variables
2. Dar dos ejemplos de sistemas abiertos
3. Dar dos ejemplos de sistemas de producción que se encuentran en la ciudad de
Huaraz y que sean abiertos.
4. Describa a la universidad San Pedro Huaraz como un modelo de sistema.
5. Mencione dos sistemas de comercialización de su entorno que sean inestables
6. Mencione un sistema de producción de su entorno que sean estables
7. Como que tipo de sistema definiría a Hidrandina
8. Investigue sobre una línea de producción continua e indique en que tipo de
sistemas se encuentra clasificada.
9. Analice si el puente Comercio de Huaraz es un sistema o no. ¿se puede simular su
funcionamiento?

Pág. 8
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

CAPITULO II

SIMULACION DE SISTEMAS

2.1. DEFINICIONES

Según Robert Shannon, la simulación es el diseñar y desarrollar un modelo


computarizado de un sistema o proceso y conducir experimentalmente con este
modelo con el propósito de entender el comportamiento del sistema del mundo real o
evaluar varias estrategias con los cuales puedan operar el sistema.

Para Thomas Taylor, Estos experimentos requieren de operaciones lógicas y


matemáticas necesarias para descubrir el comportamiento y la estructura de sistemas
complejos del mundo real a través de lago período de tiempo.

Para Shubik, la simulación de un sistema o de un organismo es la operación de un


modelo lo cual se va a llamar simulador el cual es una representación del sistema.
Este modelo o simulador estará sujeto a diversas manipulaciones, las cuales serían
imposibles de realizar, demasiado costosas o imprácticas. La operación de un modelo
puede estudiarse y con ello conocer las propiedades concernientes al comportamiento
del sistema o subsistema real - costoso.

Para el autor, la simulación es la aplicación de la ciencia y la técnica en un modelo


abstraído en parte o en su totalidad del sistema real a simular con la finalidad de
analizar sus resultados y predecir cómo se comportará el sistema real simulado.

2.2. IMPORTANCIA DE LA SIMULACION


La simulación es importante porque permite:
 Evaluar cambios en modelos de un sistema existente, frecuentemente es el
mejor camino para reducir el riesgo de las principales decisiones.
 Obtener un conocimiento preciso de la naturaleza del proceso.
 Identificar problemas específicos o áreas problemáticas de un sistema.
 Desarrollar planes o políticas específicas de un proceso.
 Evaluar nuevos conceptos o sistemas antes de su implementación.
 Predecir el comportamiento de un nuevo sistema, sin necesidad de construirlo
físicamente.
 Predecir cambios de un sistema existente sin necesidad de afectar su
operación.
 Evaluar cualquier sistema ante un conjunto de condiciones experimentales

2.3. CUANDO SIMULAR


 Sistema actual no existe o es dificultoso observarlo
 El sistema actual es muy complejo para analizarlo.
 El sistema actual no puede ser interrumpido.
 Es costoso construir el sistema actual.

2.4. OBJETIVOS DE LA SIMULACION


 Visualización: Ver lo que está pasando en el sistema
 Cálculos (Analizar/Optimizar) : Cuantificar lo que está pasando en el sistema

Pág. 9
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

 Comunicación: Mostrar que está pasando en el sistema

2.5. NATURALEZA EXPERIMENTAL DE UN PROGRAMA DE SIMULACION


La simulación como proceso experimental es una técnica que no aísla las relaciones
entre variables particulares, por el contrario acoge un punto de vista global desde el
que se intenta observar cómo cambian conjuntamente todas las variables del modelo
con el tiempo. Las relaciones entre las variables deben obtenerse a partir de tales
observaciones. Esta concepción caracteriza la simulación como una técnica
experimental de resolución de problemas, lo que comporta la necesidad de repetir
múltiples ejecuciones de la simulación para poder entender las relaciones implicadas
por el sistema.

La simulación con computador es por lo tanto una técnica que realiza experimentos en
un computador con un modelo de un sistema dado. El modelo es el vehículo utilizado
para la experimentación en sustitución del sistema real. Los experimentos pueden
llegar a tener un alto grado de sofisticación que requiera la utilización de técnicas
estadísticas de diseño de experimentos. En la mayor parte de los casos los
experimentos de simulación son la manera de obtener respuestas a preguntas del tipo
"¿qué pasaría sí?", preguntas cuyo objetivo suele ser evaluar el impacto de una
posible alternativa que sirva de soporte a un proceso de toma de decisiones sobre un
sistema, proceso que puede representarse esquemáticamente mediante la siguiente
figura.

MODEO DE
Entrada (Políticas, alternativas) Salidas (Respuestas)
SIMULACION

EXPERIMENTACION

La simulación, y los experimentos de simulación, se convierten así en una herramienta


de análisis de sistemas, para entender cómo opera un sistema existente, o cómo
puede operar uno propuesto. La situación ideal, en la cual el investigador realizaría los
experimentos sobre el sistema real es sustituida por una en la que el investigador
construye un modelo del sistema y experimenta sobre él mediante la simulación,
utilizando un ordenador, para investigar el comportamiento del modelo e interpretar los
resultados en términos del comportamiento del sistema objeto del estudio.

2.6. ESTRUCTURA DE UN MODELO DE SIMULACION


 Función matemática modelada
 Entrada de datos: Variables Independientes, Variables Dependientes,
Variables Intervinientes
 Componente aleatorio
 Programación y ejecución
 Resultados o salidas
 Explicación y aplicación de resultados

ALEATORIEDAD + INTERDEPENDENCIA = COMPLEJIDAD

Pág. 10
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

2.8. VENTAJAS DE LOS MODELOS DE SIMULACIÓN


 Es más barato mejorar el sistema vía simulación (Costo Cero)
 El Riesgo de simular cambios, no ocasiona costos ni problemas
 La simulación permite estudiar un sistema con un gran horizonte de tiempo,
en un tiempo comprimido
 Podemos mantener mucho mejor el control sobre condiciones experimentales
 Es posible analizar sistemas de alta complejidad
 Es más sencillo comprender y visualizar los métodos de simulación
 Capacidad un sistema sin necesidad de construirlo o modificarlo.
 Ahorro de tiempo y dinero en la fase de concepción y desarrollo de nuevos
productos.

2.9. DESVENTAJAS DE LOS MODELOS DE SIMULACIÓN


 Los modelos de simulación no dan soluciones óptimas
 La simulación permite estudiar un sistema con un largo horizonte de tiempo, en
un tiempo comprimido
 Un buen modelo de simulación puede resultar bastante costoso; a menudo el
proceso de desarrollar un modelo es largo y complicado.
 Cada modelo de simulación es único. Las soluciones e inferencias no son
usualmente transferibles a otros problemas.
 Siempre quedarán variables por fuera y pueden cambiar completamente los
resultados en la vida real que la simulación no previó. En ingeniería se
"minimizan riesgos, no se evitan”.
 Por ensayo y error se producen diferentes resultados en repetidas corridas en el
computador.

2.10. PROCESO DE DESARROLLO DE UN MODELO DE SIMULACIÓN


Definición del sistema:
 Cada estudio debe comenzar con una descripción del problema o del sistema.
 Debe asegurarse que exista una correcta.
Identificación:
 Identificar el objetivo, las variables de decisión, restricciones, la medida de
efectividad y las variables no controlables y su comportamiento estadístico.
Análisis del Sistema:
 Deben describirse las interacciones lógicas entre las variables de decisión
 Optimice la medida de efectividad en función de las variables no controlables.
 No olvidar las restricciones del sistema.
Formulación del Modelo:
 Consiste en formular un código lógico matemático que defina las interacciones
entre las variables
 Tener en cuenta que se va a llevar a cabo a través del tiempo y que el uso de
listas o cadenas de eventos darán la pauta en el manejo de las variables.
 Existen dos tipos de listas:
o Las llamadas de eventos futuros donde la secuencia depende del tiempo
de ocurrencia del evento, y
o Las de eventos actuales cuya secuenciación depende de la ocurrencia
de otro evento.
Selección del Lenguaje:

Pág. 11
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

 De la selección del lenguaje dependerá el tiempo de desarrollo del modelo de


simulación.
 Puede usarse un lenguaje general como Visual Basic, Java, Visual Basic.Net.
 Excisten programs simuladores: Promodel, Simulator, GPSS, Simulink,
ShowFlow, Starcel, Dynamo, Symscript, Sim, Slam, Powersim, etc.
Codificación del Modelo:
 Consiste en generar las instrucciones o código computaciones necesarias para
lograr que el modelo pueda ser ejecutado en algún tipo de computadora.
 La duración de este proceso está directamente relacionado con la selección del
lenguaje.
Validación del Modelo:
 Determinar la habilidad que del modelo para representar la realidad.
 Se lleva a cabo mediante la comparación estática de resultados del modelo y
los resultados reales.
Experimentación:
 Se determinan las diversas alternativas que pueden ser evaluadas.
 Se seleccionan las variables de entrada y sus diferentes niveles con la finalidad
de optimizar las variables de respuestas del sistema real.
 El uso de técnicas como diseño de experimentos permiten llevar a cabo este
procedimiento en forma estructurada.
Implementación:
 Una vez seleccionada la mejor alternativa, es importante llevarla a la práctica.
 En muchas ocasiones este último paso es él más difícil ya que se tiene que
convencer a la alta dirección y al personal de las ventajas de esta puesta en
marcha.
 Al implantar tener cuidado con las diferencias con respecto a los resultados
simulados, ya que estos últimos se obtienen, a partir de algunas suposiciones.
Monitoreo y Control:
 Los sistemas son dinámicos y con el transcurso del tiempo es necesario
modificar el modelo de simulación.
 La finalidad es llevar a cabo actualizaciones periódicas que permitan que el
modelo siga siendo una representación del sistema

TAREA PARA EL ALUMNO


1. Indique las variables para simular un sistema bancario.
2. Modele un sistema discreto indicando sus elementos
3. Modele un sistema de control de citas médicas de una clínica.
4. Realice una lista de sistemas informáticos más relevantes que se aplican a la
simulación de sistemas.
5. Describa como se simularía su sistema de préstamos de la Caja CrediChavin de
Huaraz.
6. Critique la simulación de Monte Carlo previa investigación.

Pág. 12
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

CAPITULO III

NUMEROS ALEATORIOS
3.1. DEFINICIÓN
Un número es aleatorio cuando no se conoce su generación y tiene característica
uniformes, independientes y corresponden a una cierta distribución de probabilidad.

Si se desea desarrollar un Modelo eficiente de Simulación, se deben de tomar en


cuenta 6 factores importantes
1. Uniformemente distribuidos.
2. Estadísticamente independientes.
3. Reproducibles, que se puedan copiar de un dispositivo a otro (CD, USB, etc.).
4. Con períodos amplios (que no se repitan frecuentemente).
5. Con grandes velocidades de generación.
6. Con un mínimo de capacidad de almacenamiento.

3.2. PROPIEDADES DE NÚMEROS ALEATORIOS


Una secuencia de números aleatorios R1, R2, ..., Rx debe tener dos importantes
propiedades estadísticas: uniformidad e independencia. Cada número aleatorio Ri es
una muestra independiente tomada de una distribución continua uniforme entre cero y
uno. Esto es, la función de densidad de probabilidad es:
0 < X< 1
En otro caso

3.4. GENERACIÓN DE NÚMEROS PSEUDOS ALEATORIOS


La palabra “pseudos” se refiere a que los números generados no son completamente
aleatorios puesto que se conoce el método de generación.

3.4.1. MÉTODO DE CUADRADOS CENTRALES

Fue uno de los primeros métodos para generar números aleatorios, creado por J.
Von Neumann en 1946. Consiste en el siguiente procedimiento:

1. Elegir un número X0 aleatorio de “2n” dígitos, llamado semilla.


2. Elevarlo al cuadrado.
3. El nuevo número aleatorio se elige de la parte media (central), con “2n” dígitos.
4. Repetir indefinidamente la operación
Ejemplo:
X0 = 4122 x20 = 16 | 9908 | 84
X1 = 9908 x21 = 98 | 1684 | 64
X2 = 1684 x22 = 2 | 8358 | 56
X3 = 8358 x23 = 69 | 8561 | 64

Entre las desventajas de este método está que tienen períodos breves (pocos
números aleatorios), no satisfacen completamente las pruebas estadísticas de
aleatoriedad.

Pág. 13
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

IMPLEMENTACION DEL ALGORITMO DEL METODO DE CUADRADO MEDIO


EN VISUAL BASIC.NET

BOTON EJECUTAR
Dim i, n As Integer
Dim x, k, w, y, z, v, t, nlimp As Double
Randomize()
k = Val(TextBox1.Text) REM número de simulaciones
x = Val(TextBox2.Text) REM primer número tomado al azar
de "N cifras
n = Val(TextBox3.Text) REM número de dígitos
nlimp = 0
i = 0
TextBox4.Text = TextBox4.Text & "X [" & i & "] = " & x &
Chr(13) & Chr(10)
For i = 1 To k
y = x * x
z = Int(y / 100)
v = Int(z / 10 ^ (2 * n))
t = v * (10 ^ (2 * n))
w = z - t
TextBox5.Text = TextBox5.Text & "Y [" & i & "] = " &
y & Chr(13) & Chr(10)
If i < nlimp * 10 + 10 Then

Pág. 14
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

TextBox6.Text = TextBox6.Text & "W [" & i & "] = "


& w & Chr(13) & Chr(10)
End If
If i = nlimp * 10 + 10 Then
nlimp = nlimp + 1
TextBox6.Text = TextBox6.Text & "W [" & i & "] =
" & w & Chr(13) & Chr(10)
End If
x = w
TextBox4.Text = TextBox4.Text & "X [" & i & "] = " &
x & Chr(13) & Chr(10)
Next

BOTON NUEVO
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox1.Focus()
End Sub

BOTON SALIR
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button3.Click
End
End Sub
La ejecución da como resultado:

Pág. 15
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

3.4.2. MÉTODOS CONGRUENCIALES


Se basan en el concepto matemático de números congruentes. El numero entero
x es congruente con y modulo m si x – y es divisible por m, es decir, x e y dan el
mismo resto cuando se dividen por m. se denota por x ≡ y. Por ejemplo el número
140016 es congruente con 16 modulo 103, ya que 140016 – 16 =14000. El resto
de dividir tanto 140016 como 16 por 103 es 16.

La expresión matemática que más se usa en la generación de números pseudos


aleatorios, utilizando números congruentes está dada por:

𝑥𝑛+1 = 𝑎𝑥𝑛 + 𝑏(𝑚𝑜𝑑 𝑚)


Donde a, b y m son números enteros convenientemente elegidos y x0 recibe el
nombre de semilla. Dada la semilla x0, la formula anterior permite construir una
sucesión de números enteros, variando cada uno de ellos entre 0 y m-1,
mediante.

𝑥1 = 𝑎𝑥0 + 𝑏(𝑚𝑜𝑑 𝑚)
𝑥2 = 𝑎𝑥1 + 𝑏 = 𝑎2 𝑥0 + (𝑎 + 1)𝑏(𝑚𝑜𝑑 𝑚)

𝑏(𝑎3 + 1)
𝑥3 = (𝑎3 2 3
𝑥0 + 𝑎 + 𝑎 + 1) 𝑏 = 𝑎 𝑥0 + (𝑚𝑜𝑑 𝑚)
(𝑎 − 1)

Pág. 16
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

…………………………………………………………………

…………………………………………………………………

𝑛
𝑏(𝑎𝑛 + 1)
𝑥𝑛 = 𝑎 𝑥0 + (𝑚𝑜𝑑 𝑚)−→ (𝑛 ≤ 𝑚 − 1)
(𝑎 − 1)

En donde los x son enteros entre 0 y m-1, y las constantes a y b son no-
negativas. La selección de a, b, y m afectan el periodo y la autocorrelación en la
secuencia. Entre los resultados de los estudios realizados con estos generadores
tenemos:

1. El modulo m debe ser grande. Dado que los x están entre 0 y m-1, el periodo
nunca puede ser mayor que m.

2. Para que el computo de mod m sea eficiente, m debe ser una potencia de 2,
es decir, 2k. En este caso mod m puede ser obtenido truncando el resultado y
tomando en k bits a la derecha.

Pág. 17
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

EJEMPLO 02
Elaborar un programa en Visual Basic.Net o Visual Basic 6.0 para generar números
pseudos aleatorios por el método congruencial.

BOTON EJECUTAR
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim I, S, R, A, B, M As Integer
Dim X1 As Double
S = Val(TextBox1.Text) REM ingresa numero semilla
A = Val(TextBox2.Text) REM ingresa valor de a numero primo
B = Val(TextBox3.Text) REM ingresa valor de b numero primo <>b
M = Val(TextBox4.Text) REM igreso del modulo
R = Val(TextBox5.Text) REM ingrese veces a generar el n° aleatorio
For I = 1 To R
X1 = (A ^ I * S + B * (A ^ I - 1) / (A - 1)) Mod M
TextBox6.Text = TextBox6.Text & "NA[" & I & "] = " & X1 & Chr(13)
& Chr(10)
Next
End Sub

BOTON NUEVO
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""

Pág. 18
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

TextBox5.Text = ""
TextBox6.Text = ""
TextBox1.Focus()
End Sub

BOTON SALIR
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
End
End Sub

En el ejemplo el numero semilla es 4 a vale 2 y be vale 3, lo que se ha generado


es 500 números pseudoaleatorios en un rango de 0 y 9.

EJERCICIOS: Estos ejercicios deben ser resueltos en el laboratorio, solo se permitirá


su diagrama de flujo como herramienta de programación, caso contrario no será
admitido para su presentación y calificación.

1. En el ejemplo dado por el docente, hacer que el programa reporte solo números
aleatorios en un rango de 0 a 1.
2. En el ejemplo dado por el docente, hacer que el programa reporte la varianza y la
desviación estándar de los números generados.
3. Implementar un programa en Visual Net 2010 o cualquier otro lenguaje por el
Método Congruencial Multiplicativo (investigar usando cualquier medio disponible).

Pág. 19
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

4. Implementar un programa en Visual Basic cualquier otro lenguaje por el Método


Congruencial Mixto (investigarlo).
5. Implementar un programa en Visual Basic cualquier otro lenguaje o cualquier
lenguaje de programación por otro método de generación de números pseudos
aleatorios.
6. Investigue sobre una metodología de generación de números aleatorios diferente a
los tratados en clase y presente su fundamentación matemática de la generación
de los números aleatorios.

MÉTODO DE MONTE CARLO


La simulación de Monte Carlo es un método que emplea números aleatorios
uniformemente distribuidos en el intervalo [0,1] que es utilizado para resolver
problemas donde la evolución con el tiempo no es de importancia. A continuación, se
analizarán dos ejemplos para comparar una solución analítica con una solución
obtenida por simulación.

EJEMPLO 1
Se tiene un sistema financiero de préstamos de recursos financieros en donde el
capital prestado y el número de periodos de préstamos tienen componentes aleatorios,
mientas que la tasa de interés es una variable a afectar mecánicamente ya que está
ligada a la política del sistema financiero. Elaborar un programa para simular los
intereses a ganar por cada tipo de préstamo: hipotecario, techo propio, vehículos y
libre disponibilidad. Los rangos de préstamo en soles por cada tipo se dan en la
siguiente tabla:

TIPO DE PRESTAMO MONTO MINIMO MONTO MAXIMO


Hipotecario 100,000.00 10,000.00
Techo Propio 50,000.00 10,000.00
Vehículos 30,000.00 5,000.00
Libre disponibilidad 10,000.00 5,000.00

De pide calcular las sumatorias por cada tipo de préstamo, promedio, varianza,
desviación estándar, covarianza y hacer sus respectivas interpretaciones.

Pág. 20
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

BOTON SIMULAR
Dim np, i, j, m As Integer
Dim ph(0 To 100), ptp(0 To 100), pv(0 To 100), pld(0 To 100) As
Double
Dim sp(0 To 100) As Double
Dim t As Double
Randomize()

Dim sph, sptp, spv, splp, spld As Double


Randomize()
np = Val(TextBox1.Text)
t = Val(TextBox2.Text)
For i = 0 To np - 1
ph(i) = (Rnd() * (100000 - 10000) + 10000) * (1 + t / 100) ^
((Rnd() * (10 - 0.5) + 0.5))
sph = sph + ph(i)
ptp(i) = (Rnd() * (50000 - 10000) + 10000) * (1 + t / 100) ^
((Rnd() * (10 - 0.5) + 0.5))
sptp = sptp + ptp(i)
pv(i) = (Rnd() * (30000 - 5000) + 5000) * (1 + t / 100) ^ ((Rnd()
* (10 - 0.5) + 0.5))
spv = spv + pv(i)
pld(i) = (Rnd() * (10000 - 5000) + 5000) * (1 + t / 100) ^
((Rnd() * (10 - 0.5) + 0.5))
splp = spld + pld(i)
Next
REM pone sumas a un vector
sp(1) = sph : sp(2) = sptp : sp(3) = spv : sp(4) = splp
For i = 0 To np - 1
tabla.Rows.Add(np)
Next
For i = 0 To np - 1
tabla.Rows(i).Cells(0).Value = i + 1
tabla.Rows(i).Cells(1).Value = Format(ph(i), "#####.00")
tabla.Rows(i).Cells(2).Value = Format(ptp(i), "#####.00")
tabla.Rows(i).Cells(3).Value = Format(pv(i), "#####.00")
tabla.Rows(i).Cells(4).Value = Format(pld(i), "#####.00")
Next

BOTON NUEVO
Private Sub Command2_Click()
Dim k As Integer
k = tabla.Rows.Count
For i = 0 To k
tabla.Rows.Clear()
Next
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.Focus()
End Sub

BOTON SALIR
Private Sub Command3_Click()
Me.Close()
End Sub

PROGRAMAR TAMBIEN EVENTO FORM LOAD PARA CENTRAR EL FORMULARIO


Private Sub Form_Load()
Dim k As Integer
'Sitúa el formulario en el centro de la pantalla

Pág. 21
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2


End Sub

EJEMPLO 01
La demanda de un producto está en función del tiempo en años, dicha demanda tiene
un rango de aleatoriedad en un límite de Ls y Li y presenta una función Y=a+bX.
Elaborar un programa para determinar la ecuación de ajuste y simular el pronóstico de
la demanda para este producto para N años.

Pág. 22
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

BOTON SIMULAR
Dim n, ns, ls, li, i As Integer
Dim y(0 To 100), x(0 To 100) As Double
Dim v, des, r As Double
Dim xy(0 To 100), x2(0 To 100), y2(0 To 100), sumas(0 To 100) As
Double
Randomize()
n = Val(Text1.Text)
ls = Val(Text2.Text)
li = Val(Text3.Text)
ns = Val(Text4.Text)
Dim sx, sy, sxy, sx2, sy2 As Double
sx = 0 : sy = 0 : sxy = 0 : sx2 = 0 : sy2 = 0
REM Dim x, y, x2, y2, xy As Double
For i = 0 To n - 1
x(i) = i + 1 'genera el número de años

Pág. 23
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

y(i) = Rnd() * (ls - li) + li ' puede usted ingresar datos si


desea
xy(i) = x(i) * y(i)
x2(i) = x(i) * x(i)
y2(i) = y(i) * y(i)
sxy = sxy + xy(i)
sx = sx + x(i)
sy = sy + y(i)
sx2 = sx2 + x2(i)
sy2 = sy2 + y2(i)
Next
Dim px, b, a, py, bpx As Double
px = sx / n : py = sy / n
b = (n * sxy - sx * sy) / (n * sx2 - sx ^ 2)
a = py - bpx
Text5.Text = Format(a, "###.00")
Text6.Text = Format(b, "###.00")
Text7.Text = Format(px, "###.00")
Text8.Text = Format(py, "###.00")
Text13.Text = Format(a, "###.00")
If b > 0 Then
Text15.Text = " + "
Else
Text15.Text = " - "
End If

Text14.Text = Format(b, "###.00")


'CALCULO DE LA VARIANZA, DESVIACION ESTANDAR Y COEFICIENTE DE
CORRELACION
Dim sv As Double
For i = 1 To n
sv = sv + (x(i) - px) ^ 2
Next i
v = sv / n
des = v ^ (1 / 2)
r = (n * sxy - sx * sy) / (Math.Sqrt(n * sx2 - sx ^ 2) * Math.Sqrt(n
* sy2 - sy ^ 2))
Text9.Text = Format(v, "###,###.00")
Text10.Text = Format(des, "###,###.00")
Text11.Text = Format(r, "###,###.000")
'PRONOSTICO DE LA DEMANDA
For i = 1 To n
Text12.Text = Text12.Text & " AÑO [ " & n + i & " ] = " &
Format(a + b * (i + n), "###,###.00") & Chr(13) & Chr(10)
Next
For i = 0 To n - 1
DGV1.Rows.Add(n)
Next
For i = 0 To n - 1
DGV1.Rows(i).Cells(0).Value = i + 1
DGV1.Rows(i).Cells(1).Value = Format(x(i), "###.0")
DGV1.Rows(i).Cells(2).Value = Format(y(i), "###.0")
DGV1.Rows(i).Cells(3).Value = Format(xy(i), "###.0")
DGV1.Rows(i).Cells(4).Value = Format(x2(i), "###.0")
DGV1.Rows(i).Cells(5).Value = Format(y2(i), "###.0")
Next

BOTON NUEVO
Dim k As Integer
k = DGV1.Rows.Count
For i = 0 To k

Pág. 24
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

DGV1.Rows.Clear()
Next
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Text9.Text = ""
Text10.Text = ""
Text11.Text = ""
Text12.Text = ""
Text13.Text = ""
Text14.Text = ""
Text15.Text = ""
Text1.Focus()

BOTON SALIR
Private Sub Command3_Click()
Me.Close()
End Sub

Pág. 25
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

EJEMPLO 4
Resolver el mismo problema del ejemplo 2 utilizando el modelo de regresión exponencial

BOTON PRONOSTICAR
Dim n, I, NS As Integer
Dim y(0 To 100), x(0 To 100) As Double
Dim v, des, r As Double
Dim logy(0 To 100), xlogy(0 To 100), x2(0 To 100), logy2(0 To 100),
sumas(0 To 100), prono(0 To 100) As Double
Randomize()
Dim m, sx, sy, sxy, sx2, sy2 As Double
n = Val(Text1.Text)
m = Val(Text2.Text)
sx = 0 : sy = 0 : sxy = 0 : sx2 = 0 : sy2 = 0
Dim Log(0 To 100) As Double
Dim slogy, sxlogy, slogy2 As Double
For I = 1 To n
x(I) = I 'ingrese número de datos
y(I) = Val(InputBox("INGRESE DATOS HISTORICOS"))
sy = sy + y(I)
logy(I) = Log(y(I))
xlogy(I) = x(I) * logy(I)
x2(I) = x(I) * x(I)
logy2(I) = logy(I) * logy(I)
sxlogy = sxlogy + xlogy(I)
sx = sx + x(I)
slogy = slogy + logy(I)
sx2 = sx2 + x2(I)

Pág. 26
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

slogy2 = slogy2 + logy2(I)


Next
Dim px, plogy, bpx, Exp(0 To 100), a, b, py As Double

px = sx / n : plogy = slogy / n
b = (n * sxlogy - sx * slogy) / (n * sx2 - sx ^ 2)
a = plogy - bpx
Text3.Text = Format(Exp(a), "###.000")
Text4.Text = Format(Exp(b), "###.000")
Text5.Text = Format(Exp(px), "###.000")
Text6.Text = Format(py, "###.000")
Text10.Text = Format(a, "###.000")
Text11.Text = Format(b, "###.000")
For I = 0 To n - 1
DGV1.Rows.Add(n)
Next
For I = 0 To n - 1
DGV1.Rows(I).Cells(0).Value = I + 1
DGV1.Rows(I).Cells(1).Value = Format(x(I), "###.0")
DGV1.Rows(I).Cells(2).Value = Format(y(I), "###.0")
DGV1.Rows(I).Cells(3).Value = Format(logy(I), "###.0")
DGV1.Rows(I).Cells(4).Value = Format(xlogy(I), "###.0")
DGV1.Rows(I).Cells(5).Value = Format(x2(I), "###.0")
DGV1.Rows(I).Cells(6).Value = Format(logy2(I), "###.0")
Next
Dim sv As Double
For I = 1 To n
sv = sv + (x(I) - px) ^ 2
Next

v = sv / n
des = v ^ (1 / 2)
r = (n * sxlogy - sx * slogy) / (Math.Sqrt(n * sx2 - sx ^ 2) *
Math.Sqrt(n * slogy2 - slogy ^ 2))
Text7.Text = Format(Exp(v), "###,###.00")
Text8.Text = Format(Exp(des), "###,###.00")
Text9.Text = Format(Exp(r), "###.000")
For I = 0 To n - 1
DGV2.Rows.Add(n)
Next
For I = 0 To n - 1
DGV2.Rows(I).Cells(0).Value = I + 1
DGV2.Rows(I).Cells(1).Value = Format(sumas(I), "###.0")
Next

BOTON NUEVO
Dim k As Integer
k = DGV1.Rows.Count
For i = 0 To k
DGV1.Rows.Clear()
Next
Dim N As Integer
k = DGV2.Rows.Count
For i = 0 To N
DGV2.Rows.Clear()
Next
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""

Pág. 27
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Text9.Text = ""
Text10.Text = ""
Text11.Text = ""
Text1.Focus()

BOTON SALIR
Me.Close()

EJEMPLO 5
Una empresa tiene una demanda aleatoria que oscila entre 200 y 100 unidades por día para
un determinado producto. El costo de hacer un pedido es de k soles, el costo de inventario es
de c soles y el costo de almacenamiento es de h soles por día. También se sabe que el tiempo
de entrega para este producto es de L días. Si pide hacer un programa para que simule NS
simulaciones y de las seleccione el mejor dato, es decir el mejor registro simulado. El
programa debe reportar: Lote económico, costo, ciclo, tiempo efectivo de entrega y punto de
reorden.

Pág. 28
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

BOTON SIMULAR
Dim i, ns, mvy, post As Integer
Dim k, h, l As Double

'dando valor a las variables de las cajas de texto

ns = Val(TextBox1.Text)
k = Val(TextBox2.Text)
h = Val(TextBox3.Text)
l = Val(TextBox4.Text)

Dim d(0 To 100), y(0 To 100), c(0 To 100), t(0 To 100), n(0 To 100),
le(0 To 100) As Double
For i = 0 To ns
d(i) = Rnd() * (200 - 100) + 100 'genera demanda de prodcuto
inventario
y(i) = (2 * k * d(i) / h) ^ 1 / 2 'genera lote economico
c(i) = k / (y(i) / d(i)) + h * (y(i) / 2) 'costo
t(i) = y(i) / d(i) 'coloca valores
n(i) = Int(l / t(i))
le(i) = l - n(i) * t(i) 'tiempo de entrega
Next
mvy = y(i)

For i = 0 To ns - 1
tabla.Rows.Add(ns)
Next
'utilizando un for para aser la simulasiones
For i = 0 To ns - 1
tabla.Rows(i).Cells(0).Value = i
tabla.Rows(i).Cells(1).Value = Format(d(i), "###.00")
tabla.Rows(i).Cells(2).Value = Format(y(i), "###.00")
tabla.Rows(i).Cells(3).Value = Format(c(i), "###.00")
tabla.Rows(i).Cells(4).Value = Format(t(i), "###.00")

Pág. 29
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

tabla.Rows(i).Cells(5).Value = Format(le(i), "###.00")


Next

For i = 1 To ns
If mvy < y(i) Then
mvy = (i)
post = i
End If
Next
TextBox5.Text = Format(mvy, "###.0")
TextBox6.Text = Format(l, "###.0")
TextBox7.Text = Format(t(post), "###.0")
TextBox8.Text = Format(le(post), "###.0")
TextBox9.Text = Format(c(post), "###.0")
TextBox10.Text = Format(le(post) * d(post), "###.0")

BOTON NUEVO
Dim k As Integer
k = tabla.Rows.Count
For i = 0 To k
tabla.Rows.Clear()
Next
TextBox1.Focus()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""

BOTON SALIR
Me.Close()

Pág. 30
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

TAREAS PARA EL ALUMNO


1. Elaborar un programa para simular el proceso electoral a la alcaldía de una
provincia determinada. Considerar como variable aleatoria los votos a obtener los
N candidatos. Modelar el sistema teniendo en cuenta la realidad de un verdadero
proceso electoral o en todo caso una aproximación modelada de dicho sistema.

2. Elaborar un programa para simular el comportamiento de las velocidades de viento


de una ciudad de la siguiente manera: simular S veces el comportamiento y de ella
obtener el mayor dato y asignarle a otro vector en donde se almacenarán los
mejores datos. Este vector debe tener N datos y luego en función de este último
vector reportar los parámetros estadísticos necesarios. Utilizar un rango de
temperaturas en la simulación.

3. Una hacienda de Carhuaz desea un programa de simulación para tomar decisiones


bajo riesgo sabiendo que en la localidad existen variables aleatorias que dañan o
benefician los sembríos. Si la temperatura es menor a 15 grados, se debe
recomendar sembrar maíz, si la temperatura oscila entre 15 y 25 grados se debe
recomendar sembrar flores, en caso contrario se debe recomendar sembrar
alverjas. Se sabe que el sembrío de flores genera más utilidad por hectárea en un
50% que el sembrío de maíz y un 30% más que la alverja. Por cada hectárea de
maíz sembrado se obtiene una utilidad de 5000 soles y alverja de 7000 soles.
Elabore un programa para simular la decisión de sembrar y reportar las utilidades
respectivas.

4. Elaborar un programa para simular los inventarios de la empresa Hidrandina.


Considerar tres productos: postes, cables de media tensión y transformadores.
Elaborar gráfico por cada producto.

5. Desarrollar un programa para simular las ventas de N productos de la empresa


Comercial Trujillo. Reportar egresos, ingresos y utilidades.

6. Elaborar un programa para simular el sistema de producción de barras energéticas


KWEAT. Reportar el plan de producción respecto a materia prima, insumos, mano
de obra, gastos administrativos, etc.

7. Elaborar un programa para simular el cálculo de áreas bajo curvas. Utilizar base de
datos y gráficos.

8. Un empresario huaracino desea un programa de simulación para determinar el


comportamiento de sus egresos, ingresos y utilidades mensuales de sus N combis
con capacidad de M pasajeros cada una. Los datos históricos indican que el factor
de ocupancia varía entre 95% y 90%.

9. Elaborar un programa para simular las llegadas de los clientes al Banco de la


Nación. Utilizar base de datos y gráficos.

10. Elaborar un programa para simular el modelo de Colas o Líneas de Espera de las
siguientes empresas: Banco de Crédito, ScotiaBank, Caja Municipal del Santa,
Banco de la Nación, Interbank, Seguro Social, Universidad San Pedro. (el grupo

Pág. 31
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

debe seleccionar solo una y no deben ser iguales en cada grupo). Recuerde que
debe modelar el sistema teniendo en cuenta una aproximación real del sistema, es
decir tener en cuenta el máximo de variables que intervienen en dicho sistema.

11. Elaborar un programa para simular el comportamiento de las exportaciones de una


empresa de venta de flores.

12. Analice el código fuente de un programa de simulación en cualquier lenguaje de


programación: de inventario, de producción, de juegos, de colas, cualquier otro,
escrito en cualquier lenguaje, que no sea muy extenso y preséntelo en su informe.
(solo presentar uno por grupo).

NOTA: La calidad de la presentación, el uso de base de datos, gráficos y animación


permitirá al alumno o al grupo obtener una mejor calificación.

SUGERENCIA: Los programas pueden ser presentados en un solo archivo, para ello
deberán usar menú, en donde cada opción de menú pueda ejecutar a cada programa.

ADVERTENCIA: Si el alumno presenta código fuente bloqueado para cualquier


ejercicio del laboratorio se considerará como que no ha presentado su laboratorio.

Pág. 32
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

TEORIA DE COLAS
3.6. MODELOS DE COLAS

3.6.1. DEFINICIÓN
Una Cola es una línea de espera y la teoría de colas es una colección de
modelos matemáticos que describen sistemas de líneas de espera particulares o
de sistemas de colas. Los modelos sirven para encontrar un buen compromiso
entre costos del sistema y los tiempos promedio de la línea de espera para un
sistema dado.

Problemas típicos de Teoría de Colas son:

Mecanismo de
Sistema Llegadas Cola
Servicio
Aeropuerto Pasajeros Sala de espera Avión
Dpto. de bomberos Alarmas de incendio Incendios Dpto. De Bomberos.
Compañía telefónica Números marcados Llamadas Conmutador
Panadería Clientes Clientes con números Vendedor
Fábrica Piezas para ensamblar Inventario en proceso Estación de trabajo

3.6.2. ELEMENTOS DE UN MODELO DE COLAS

Los agentes principales en un sistema de colas son el cliente y el servidor. Los


clientes se generan de una fuente. Un cliente llega a las instalaciones y es
atendido por un servidor o servidores, luego es atendido el siguiente cliente y así
sucesivamente. En sistema de colas básico existen los siguientes elementos:

Clientes: Objetos (personas, procesos, o cosas) que esperan ser atendidos por
uno o más servidores del sistema de colas.
Servidor: Objetos (personas, procesos, o cosas) que atienden a los clientes.
Tiempo entre Llegadas (λ): Es el tiempo que transcurre desde que llegó un
cliente hasta que llega el siguiente cliente. La llegada de los clientes es aleatoria,
se necesita especificar distribución de probabilidades para este elemento. Para
un sistema de colas básico se utiliza la distribución exponencial. La distribución
de Poisson también es utilizado para un sistema de colas.
Tiempo de Servicio (µ): Es el tiempo que le toma a un servidor atender a un
cliente. También es tratado como una distribución exponencial.
Tiempo de Espera en el sistema: Es el tiempo que le toma al cliente desde que
entra y sale del sistema.
Tiempo de Espera en la Cola: Tiempo transcurrido desde que el cliente entra al
sistema y se inicia el servicio.
Tamaño de las colas: Esta puede ser finita o infinita
Disciplina de la cola de espera: Representa el orden en que los clientes son
atendidos. Este es un factor importante en los modelos de cola. La disciplina más
común es el FIFO (First In, First Out) o PEPS (Primero en Entrar, Primero en
Salir). Existe otra disciplina denominada LIFO (Last In, First Out) o UEPS (Ultimo
en Entrar, Primero en Salir)
Número de Servidores: Es la cantidad de servidores que posee el sistema para
atender a los clientes. El número de servidores no tiene porqué ser siempre en
paralelo, es decir, puede que un sistema de colas tenga varias fases.

Pág. 33
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

Tasa de Llegadas: Es la cantidad de clientes que llegan a las instalaciones de


servicio por unidad de tiempo.
Tasa de Servicio: Es la capacidad de servicio por unidad de tiempo.
Por ejemplo:
 Un sistema telefónico entre dos ciudades puede manejar 90 llamadas
por minuto.
 Una instalación de reparación puede reparar máquinas a razón una cada
8 horas.

3.6.3. COSTOS ASOCIADOS A UN SISTEMA DE COLAS

a) Costos asociados a la espera de los clientes


Por ejemplo, el valor del tiempo perdido o la gasolina malgastada en los atascos
o los semáforos. Estos costos de espera decrecen conforme aumenta la
capacidad de servicio del sistema.
b) Los costos asociados a la expansión de la capacidad de servicio
Contra la reducción anterior de costos de espera, es también normal que el costo
asociado a incrementar la capacidad de servicio crezca con alguna
proporcionalidad en relación a esta capacidad.

c) Los costos totales del sistema de servicio


La suma de los dos costos anteriores da una función de costos totales del
sistema en función de la capacidad, que tendrá una forma similar a la siguiente:
COSTOS DEL SISTEMA
Costos de Servicio y Costos de Espera

 Debe haber equilibrio entre el costo de proporcionar buen Servicio y el


costo del tiempo de espera del cliente o de la máquina que deben ser
atendidos.
 Las Colas deben ser lo suficientemente cortas con la finalidad de que los
clientes no se irriten e incluso se retiren sin llegar a utilizar el servicio o lo
usen pero no retornen más.
 Debe haber una longitud de cola razonable en espera, que sea
balanceada, para obtener ahorros significativos en el costo del servicio.

Costos de Servicio vs Nivel de Servicio

 Los costos de servicio se incrementan si se mejora el nivel de servicio.


 En supermercados se habilitan cajas adicionales cuando es necesario.
 En bancos y puntos de chequeo de aeropuertos, se contrata personal adicional
para atender en ciertas épocas del día o del año.
 Cuando el servicio mejora, disminuye el costo de tiempo perdido en las líneas de
espera.
 Este costo puede reflejar pérdida de productividad de los operarios que están
esperando que compongan sus equipos o puede ser simplemente un estimado
de los clientes perdidos a causa de mal servicio y colas muy largas.
 En ciertos servicios (Bancos) el costo de la espera puede ser intolerablemente
alto.
3.6.4. CARACTERÍSTICAS DE UNA LINEA DE ESPERA
• Una cola de espera está compuesta de tres elementos:

Pág. 34
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

 Arribos o ingresos al sistema


 Disciplina en la cola
 Servicio

• Estos tres componentes tienen ciertas características que deben ser examinadas
antes de desarrollar el aspecto matemático de los modelos de cola.

a. CARACTERISTICAS DE ARRIBO:
• La fuente de ingreso que genera los arribos o clientes para el servicio tiene tres
características principales:
a. Tamaño de la población que arriba
b. Patrón de llegada a la cola
c. Comportamiento de las llegadas.

Tamaño de la Población:
El tamaño de la población puede ser: infinito (ilimitado) o limitado (finito). La
mayoría de los modelos asume arribo infinito. Población de arribo limitada o finita:
cuando se tienen muy pocos servidores y el servicio es restringido. Ejemplo: los
pacientes en un consultorio médico.

Patrón de arribo al sistema:


 Los clientes arriban a ser atendidos de una manera programada (un
paciente cada 15 minutos) o de una manera aleatoria.
 Se consideran que los arribos son aleatorios cuando éstos son
independientes de otros y su ocurrencia no puede ser precedida
exactamente.
 Frecuentemente en problemas de colas, el número de arribos por unidad de
tiempo pueden ser estimados por medio de la Distribución de Poisson que
es una distribución discreta de probabilidad.

DISTRIBUCION DE POISSON:
 P(x) = Probabilidad de x arribos
 x= número de arribos por unidad de tiempo
 l = ratio promedio de arribo
 e = 2.71828
Comportamiento de los arribos:
La mayoría de los modelos de colas asume que los clientes son pacientes o sea
que esperan en la cola hasta ser servidos y no se pasan entre colas.
Desafortunadamente, la vida es complicada y la gente reniega. Aquellos que se
impacientan por la espera, se retiran de la cola sin completar su transacción.

 La LINEA DE ESPERA es el segundo componente de un sistema de colas. La


longitud de la cola puede ser también LIMITADA o ILIMITADA. Cola LIMITADA
es aquella que por aspectos físicos no puede incrementarse a tamaños infinitos.
Puede ser el caso de una peluquería que tiene pocos barberos y sillas para
atender.
 Colas de longitud infinita. Una cola es ILIMITADA cuando su tamaño no tiene
restricción como es el caso de una caseta de peaje que sirve a los vehículos que
arriban.Una segunda característica de las líneas de espera se refiere a la

Pág. 35
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

DISCIPLINA EN LA COLA mediante la cual los clientes reciben el servicio. La


mayoría de los sistemas usan la regla Primero En Entrar Primero En Salir (First
In First Out) [PEPS (FIFO)]. Se denomina también FIFS (First In First Served).

b. Características del Servicio


El tercer elemento de un sistema de colas es el SERVICIO. En él son importantes
dos propiedades básicas:
 La configuración del sistema de servicio.
 El patrón de tiempos de servicio

i. CONFIGURACIONES BASICAS PARA EL SERVICIO:


Los sistemas para el servicio son clasificados en función del número de
canales (servidores) y el número de fases (número de paradas que deben
hacerse durante el servicio).
 Sistema de cola de un solo canal: tiene un solo servidor. Ejemplos de ello
son los cajeros para automovilistas o los establecimientos de comida rápida.
 Sistema de cola multi-canal: Son principalmente los cajeros de un banco en
los cuales hay una sola cola y varias personas atendiendo a los clientes en
diversas cajas.
 Sistema de una sola fase: es aquel en el cual el cliente recibe el servicio de
una sola estación y luego abandona el sistema. Un restaurante de comida
rápida en el cual la persona que toma la orden también le entrega el alimento
y cobra, es un sistema de una sola fase
 Sistema multifase: cuando se pone la orden en una estación, se paga en una
segunda y se retira lo adquirido en una tercera

Entrada SERVIDOR Salida

Sistema: Una canal y una fase

Entrada Servidor F1 Servidor F2 Salida

Sistema: Un solo canal, multifase

CANAL1

Entradas CANAL2 Salidas

CANAL3

Pág. 36
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

Sistema: Multicanal, una fase

Fase 1 Fase 2
Canal 1 Canal 1

Salidas
Entradas
Fase 1 Fase 2
Canal 2 Canal 2

SISTEMA MULTICANAL MULTIFASE

ii. Distribución del Tiempo de Servicio


Los patrones de servicio son similares a los patrones de llegada. Pueden ser
constantes o aleatorios.
 Si el tiempo de servicio es constante, toma la misma cantidad de tiempo atender
a cada cliente. Es común con servicios dados por medio de máquinas (Lavadora
automática de carros).
 Si el tiempo de servicio es distribuido aleatoriamente – que es el caso más
común se lo representa por la DISTRIBUCION DE PROBABILIDAD
EXPONENCIAL NEGATIVA de la forma e-μx para x>0. Esta es una hipótesis
matemática muy conveniente, cuando los arribos siguen la distribución de
Poisson.

Notación de los Modelos de Colas

Reconociendo la diversidad de los sistemas de colas, Kendall (1953) propuso un


sistema de notación para sistemas de servidores paralelos que ha sido adoptado
universalmente. Una versión resumida de esta convención está basada en el
formato A/B/c/N/K. Estas letras representan las siguientes características del
sistema:
 A = Distribución de tiempo entre arribos o llegadas.
 B = Distribución del tiempo de servicio.
 Los siguientes son símbolos comunes para A y B:
 M = exponencial o Markov (1)
 D = constante o determinística
 Ek = Erlang de orden k
 P H = Tipo fase
 H = Hiperexponencial
 G = Arbitrario o general
 GI = General independiente
 c = número de servidores paralelos
 N = Capacidad del sistema
 K = Tamaño de la población.
 Nota(1): A causa de las suposiciones de distribución exponencial en los
procesos de arribo, estos modelos son llamados MARKOVIANOS

Pág. 37
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

Por ejemplo: M/M/1/∞/∞ significa un solo servidor, capacidad de cola ilimitada y


población infinita de arribos potenciales. Los tiempos entre arribos y los tiempos
de servicio son distribuidos exponencialmente. Cuando N y K son infinitos,
pueden ser descartados de la notación. M/M/1/∞/∞ es reducido a M/M/1.

3.6.5. Variedad de Modelos de Colas

Existe una cantidad enorme de Modelos de Colas que pueden utilizarse. Nos vamos a
concentrar en 4 de los modelos más usados. Modelos más complejos pueden ser
desarrollados mediante el uso de la Simulación y se los encuentra en textos
especializados sobre el tema. Los 4 modelos de colas a estudiar asumen:
 Arribos según la Distribución de Poisson
 Disciplina PEPS (primero en entrar, primero en salir)
 Una sola fase de servicio.
 Modelo A: Un canal, arribos según la distribución de Poisson, tiempo de
servicios exponenciales.
 Modelo B: Multicanal
 Modelo C: Tiempo de Servicio constante
 Modelo D: Población Limitada

Modelo A: Modelo de Colas de un solo canal, con arribos que siguen la distribución
de Poisson y Tiempos de Servicio Exponenciales: (Modelo M/M/1)
Los casos más comunes de problemas de colas incluyen la línea de espera de
canal único o servidor único. En este caso los arribos crean una sola cola a ser
servida por una sola estación.

Modelo A: M/M/1

Asumimos que existen las siguientes condiciones:


1. Los clientes son servidos con una política PEPS y cada arribo espera a ser
servido sin importar la longitud de la línea o cola.
2. Los arribos son independientes de arribos anteriores, pero el promedio de
arribos, no cambia con el tiempo.
3. Los arribos son descritos mediante la distribución de probabilidad de Poisson y
proceden de una población muy grande o infinita.
4. Los tiempos de servicio varían de cliente a cliente y son independientes entre sí,
pero su rata promedio es conocida.
5. Los tiempos de servicio se representan mediante la distribución de probabilidad
exponencial negativa.
6. La rata de servicio es más rápida que la rata de arribo.

Modelo B: Modelo de cola multicanal (M/M/S)


 Dos o más servidores o canales están disponibles para atender a los clientes
que arriban.
 Los clientes forman una sola cola y se los atiende de acuerdo al servidor que
queda libre.
 Asumimos que los arribos siguen la distribución de probabilidad de Poisson y
los tiempos de servicio son distribuidos exponencialmente.

Pág. 38
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

FÓRMULAS PARA COLAS MODELO A: SISTEMA SIMPLE O M/M/1


VARIABLES SIMBOLO/FORMULA
Número promedio de llegadas por periodo λ
Número promedio de objetos servidos por periodo de
tiempo
μ
Número de clientes en el sistema N
Número promedio de clientes en el sistema Ls = λ / ( μ – λ)
Factor de utilización del sistema ρ=λ/μ
Tiempo promedio que un cliente permanece en el sistema
(tiempo de espera + tiempo de servicios)
Ws = 1 / (μ – λ)
Lq = λ2 / (μ (μ – λ))
Número promedio de unidades en la cola
Lq = ρ Ls
Wq = λ / (μ (μ – λ))
Tiempo Promedio que un cliente espera en la cola
Wq = ρ Ws
Pn = (1 – λ / μ)*( λ / μ)n
Probabilidad de que n clientes estén en el sistema
Pn = (1 – ρ) * ρn
Probabilidad de cero clientes estén en el sistema Po = 1 – λ / μ = (1 – ρ)
Probabilidad de que más de k clientes estén en el sistema Pn>k = (λ / μ)k+1

MODELO B: SISTEMA MULTICANAL O M/M/S

VARIABLES SIMBOLO/FORMULA
Número de canales abiertos M
Tasa promedio de arribo λ
M  número de canales abiertos
Tasa promedio de servicio en cada canal μ
  tasadepromedio
Probabilidad que existan cerode arribo
clientes en el sistema Po
  tasa promedio de servicio en cada canal
M  número de canales abiertos
Po  Probabilid ad de que existan CERO personas o unidades en el s
  tasa promedio de arribo
1
Po    tasa promedio de servicio para M  
en cada canal
 n  M 1 1    n  1   
M
M 
  Po  Probabilid
   ad de que  
existan CERO personas o unidades en el s

n !      
M ! 1  M  

 nP 0

 para M  
 n  M 1 1    n 
o
1  M
M

  
     M !  
Ls  número promedio n  0 n !    de personas   oM  

 unidades en el sistema :
M
 de personas o unidades en el sistema
Ls = número promedio
   
  promedio
Ls  número 
LS  Pode personas o unidades en el sistema :
M  1.!.M   M
2

   
  
LS  Po 
M  1.!.M   2

Pág. 39
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

Ejemplo 01

Elaborar un programa que simule un sistema de colas M/M/1/1 dado un rango de


tiempo entre llegadas de los clientes y un rango de tiempo de servicio. Estos rangos
son aleatorios. Se pide calcular: promedio de clientes en el sistema, factor de
utilización del sistema, promedio de cliente en cola, servicio, tempo promedio en el
sistema, tiempo promedio en cola, tiempo en el sistema, tiempo en cola y
probabilidades de que haya N clientes en el sistema, ningún cliente en el sistema y
más de K clientes en el sistema.

BOTON SIMULAR
Dim i, tsll, till, tsa, tia, ns, n, k, pos As Integer
Dim tll(0 To 50), ta(0 To 50), pcs(0 To 50), fu(0 To 50) As Double
Dim tpcs(0 To 50), npuc(0 To 50), tpcc(0 To 50), mvy, pn, po, pk As
Double
Randomize()
tsll = Val(TextBox1.Text)
till = Val(TextBox2.Text)
tsa = Val(TextBox3.Text)
tia = Val(TextBox4.Text)
ns = Val(TextBox5.Text)
n = Val(TextBox11.Text)
k = Val(TextBox12.Text)
For i = 0 To ns - 1

Pág. 40
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

tll(i) = Rnd() * (tsll - till) + till 'generacion aleatoria de


lambda
ta(i) = Rnd() * (tsa - tia) + tia ' generacion aleatoria de mu
pcs(i) = tll(i) / (ta(i) - tll(i)) ' N° promedio clientes en el
sistema
fu(i) = tll(i) / ta(i) ' Factor de utilizacion del sistema
tpcs(i) = tll(i) / (ta(i) - tll(i)) 'Tiempo promedio de cliente
en sistema
npuc(i) = tll(i) ^ 2 / (ta(i) * (ta(i) - tll(i))) ' N° promedio
clientes en cola
tpcc(i) = tll(i) / (ta(i) * (ta(i) - tll(i))) ' Tiempo promedio
cliente esta en cola
Next i

For i = 0 To ns - 1
DGV.Rows.Add()
'COLOCA NUMERO A LAS FILA DE LA REJILLA
DGV.Rows(i).Cells(0).Value = i + 1
'COLOCA VALORES DE TIEMPO DE LLEGADA (LAMDA) EN REJILLA
DGV.Rows(i).Cells(1).Value = Format(tll(i), "###.00")
'COLOCA VALORES DE TIEMPO DE SERVICIO (MU) EN REJILLA
DGV.Rows(i).Cells(2).Value = Format(ta(i), "###.00")
'COLOCA VALORES DE N° PROMEDIO CLIENTES EN SISTEMA EN REJILLA
DGV.Rows(i).Cells(3).Value = Format(pcs(i), "###.00")
'COLOCA VALORES DE FACTOR DE UTILIZACION DEL SISTEMA EN REJILLA
DGV.Rows(i).Cells(4).Value = Format(fu(i), "###.00")
'COLOCA VALORES DE TIEMPO PROMEDIO CLIENTE EN SISTEMA REJILLA
DGV.Rows(i).Cells(5).Value = Format(tpcs(i), "###.0")
'COLOCA VALORES DE NUMERO PROMEDIO DE CLIENTES EN COLA
DGV.Rows(i).Cells(6).Value = Format(npuc(i), "###.0")
'COLOCA VALORES DE TIEMPO PROMEDIO CLIENTE EN COLA
DGV.Rows(i).Cells(7).Value = Format(tpcc(i), "###.0")
Next i

'MEJORES VALORES EN COLA DE ESPERA


mvy = pcs(0) : pos = 0
For i = 0 To ns - 1
If mvy < pcs(i) Then
mvy = pcs(i)
pos = i
End If
Next i
TextBox6.Text = Format(mvy, "###.000")
TextBox7.Text = Format(fu(pos), "#.000")
TextBox8.Text = Format(npuc(pos), "###")
TextBox9.Text = Format(tpcs(pos), "###.00")
TextBox10.Text = Format(tpcc(pos), "###.00")
If CheckBox1.Checked Then
pn = (1 - (tll(pos)) / ta(pos)) * (tll(pos) / ta(pos)) ^ n
TextBox13.Text = Format(pn, "#.000")
End If

If CheckBox2.Checked Then
po = 1 - tll(pos) / ta(pos)
TextBox14.Text = Format(po, "#.000")
End If
If CheckBox3.Checked Then
pk = (tll(pos) / ta(pos)) ^ (k + 1)
TextBox15.Text = Format(pk, "#.000")
End If

Pág. 41
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

End Sub

BOTON NUEVO
Dim k As Integer
k = DGV.Rows.Count
For i = 0 To k
DGV.Rows.Clear()
Next
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
TextBox12.Text = ""
TextBox13.Text = ""
TextBox14.Text = ""
TextBox15.Text = ""
'TextBox1.SetFocus()
'CheckBox1.cheked = False
'CheckBox2.cheked = False
'CheckBox3.cheked = False
BOTON SALIR
End

Pág. 42
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

CAPITULO IV

ASPECTOS ESTADÍSTICOS EN SIMULACION

Un conjunto de valores de entrada para un modelo de simulación es el conjunto de


condiciones iniciales que describe el estado del sistema en el momento en que
comienza la simulación. En muchos casos, estos valores son fijos y se determinan
fácilmente debido a la naturaleza del sistema. Por ejemplo, simular la operación diaria
de un banco, los valores iniciales que describen el inicio de la simulación (esto es, el
inicio del día) son que todavía no hay clientes en el sistema y, en consecuencia, que
todos los pagadores disponibles están ociosos. En contraste, en algunos problemas
las condiciones iniciales no están tan fácilmente disponibles o, de hecho, no se
conocen. En estos casos, los valores iniciales generalmente se escogen de una de las
siguientes formas:

1. Asignando valores sobre la base de su conocimiento de cómo trabaja el sistema


que y de lo que sería más probable esperar en el momento correspondiente al inicio
de la simulación.

2. Asignando cualesquier valores iniciales razonables ejecutando la simulación el


tiempo suficiente como para minimizar la influencia de las condiciones iniciales.

Asignando cualesquier valores iniciales razonables y ejecutando la simulación durante


algún periodo inicial, digamos T. Después descartar todas las estadísticas acumuladas
durante est periodo excepto las condiciones finales. -Use estas condiciones finales
como las condiciones iniciales para efectuar otra simulación Entonces se compila y
registra un segundo conjunto de estadísticas

El análisis estadístico se usa para determinar la longitud adecuada de la ejecución de


la simulación en el paso 2 y el periodo inicial T en el paso 3. Esto análisis están más
allá de nuestro alcance pero pueden encontrarse en cualquier libro sobre simulación
por computadora

La obtención del valor de salida de una sola corrida de simulación es estadísticamente


análoga a extraer una sola muestra de una población. Esto se debe a que la
secuencia de números aleatorios usados en la ejecución de la simulación se basa en
el número aleatorio uniforme inicial elegido y es sólo uno de muchos resultados
posibles.

4.1. CARACTERISTICAS DE UNA DISTRIBUCIÓN DE FRECUENCIAS

4.1.1. MEDIDAS DE POSICION


Son aquellas medidas que nos ayudan a saber dónde están los datos pero
sin indicar como se distribuyen.

Media aritmética
La media aritmética o simplemente media, que denotaremos por 𝑋̅ , es el
número obtenido al dividir la suma de todos los valores de la variable entre el
número total de observaciones, y se define por la siguiente expresión:

Pág. 43
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

Media aritmética para datos no tabulados

∑𝑛𝑖=1 𝑥𝑖
𝑥̅ =
𝑛

Media aritmética para datos tabulados de variable discreta

∑𝑛𝑖=1 𝑓𝑖 𝑥𝑖
𝑥̅ =
𝑛

Media aritmética para datos tabulados por intervalos

∑𝑛𝑖=1 𝑓𝑖 𝑚𝑖
𝑥̅ =
𝑛

Media aritmética ponderada


Es una media aritmética que se emplea en distribuciones de tipo unitario, en
las que se introducen unos coeficientes de ponderación, denominados ω i ,
que son valores positivos, que representan el número de veces que un valor
de la variable es más importante que otro.

∑𝑛𝑖=1 𝑥𝑖 𝑤𝑖
𝑤
̅=
∑𝑛𝑖=1 𝑤𝑖

Media geométrica
Sea una distribución de frecuencias que se simboliza por G. se define como
la raíz N-ésima del producto de los N valores de la distribución.

𝑁
𝐺 = √𝑥1𝑛1 𝑥2𝑛2 𝑥3𝑛3 … . . 𝑥𝑘𝑛𝑘

Media armónica

Es el reciproco de la media aritmética. No es aconsejable en distribuciones


de variables con valores pequeños. Se suele utilizar para promediar variables
tales como productividades, velocidades, tiempos, rendimientos, cambios,
etc.

𝑁
𝐻=
1
∑𝑛𝑖=1 𝑛𝑖
𝑥𝑖

4.1.1. MEDIDAS DE DISPERSION

Varianza
Es una medida que cuantifica el grado de dispersión o de variación de los
valores de una variable con respecto a su media aritmética. Si los valores
tienden a concentrarse alrededor de su media, la varianza será pequeña, de

Pág. 44
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

lo contrario es grande. La variancia de muestra se simboliza por S 2 y de la


población por σ2.

Varianza para datos no tabulados

∑𝑛𝑖=1(𝑥𝑖 − 𝑥̅𝑖 )2
2
𝑆 =
𝑛

Varianza para datos tabulados variable discreta

2
∑𝑘𝑘=1 𝑓𝑖 (𝑥𝑖 − 𝑥̅𝑖 )2
𝑆 =
𝑛

Varianza para datos tabulados por intervalos

2
∑𝑘𝑘=1 𝑓𝑖 (𝑚𝑖 − 𝑥̅𝑖 )2
𝑆 =
𝑛

Desviación estándar

Es una medida de centralización o dispersión para variables de razón (ratio o


cociente) y de intervalo. Se define como la raíz cuadrada de la varianza.
Junto con este valor, la desviación típica es una medida (cuadrática) que
informa de la media de distancias que tienen los datos respecto de su media
aritmética, expresada en las mismas unidades que la variable. Se simboliza
con s minúscula.

Indica cuánto tienden a alejarse los valores concretos del promedio en una
distribución. De hecho, específicamente, la desviación estándar es "el
promedio de la distancia de cada punto respecto del promedio".

𝑠 = √𝑆 2

4.3. CONCEPTOS BASICOS DE LA TEORÍA MUESTRAL

a. Población. Conjunto de individuos que tienen una o más propiedades en común, se


encuentran en un espacio o territorio que les es propio y varían en el transcurso del
tiempo. Esto es muy notorio en las cohortes o promociones estudiantiles, tornando
imprescindible que se feche el periodo de las observaciones sobre la muestra
escogida.
b. Muestra. Es una fracción o subconjunto de cualquier tamaño de la población de la
cual proviene. Las muestras se escogen por diversos procedimientos (sean
apropiados o no) para realizar las observaciones o recogida de datos. El método de
muestreo aplicado y el tamaño de la muestra que se decida, determinan su grado de
representatividad.

Pág. 45
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

c. Muestra representativa. Es una muestra de un tamaño apropiado que ha sido


escogida por procedimientos aleatorios y se considera que las características
observadas “representan” o corresponden a la población de donde ella proviene.
Lamentablemente no es posible tener la certeza de su grado “representativo” sino la
probabilidad razonable de su semejanza, la que puede ser calculada por algún modelo
estadístico.

d. Muestra aleatoria o muestra al azar. Los sujetos de la muestra se eligen mediante


un sorteo con medios mecánicos (sin intervención humana) o usando una “tabla de
números aleatorios”. Para que sea realmente aleatoria dicha muestra, todos los
sujetos de la “población blanco” deben tener la misma probabilidad de ser elegidos.
Siempre que hay intervención humana existe la probabilidad que se produzcan
“errores sistemáticos”. Por ejemplo, hacer un sorteo con papelitos que se sacan de un
sombrero; primero habría que verificar la forma en que se plegó cada papel; en
segundo lugar los números que quedaron al fondo o en las orillas tienen escasa
probabilidades de ser elegidos.

e. Error sistemático. Error de medición o de selección que se produce


reiteradamente en una misma dirección. Sus fuentes principales son equipos
defectuosos o la intervención humana. Población blanco. Corresponde a la población
de donde se extrae una muestra y hacia la cual se generaliza los hallazgos que se
observen en dicha muestra. Sus atributos deben ser claramente definidos para que
“los sujetos” sean correctamente elegidos.

f. Unidad muestral. Corresponde a personas, objetos u otros elementos que se


pueden numerar para ejecutar un sorteo aleatorio. Casi siempre se trata de sujetos o
individuos, pero en algunos casos podrían ser escuelas, cursos o familias; también
pueden ser “unidades territoriales” como manzanas de una ciudad, calles o casas.

g. Mortalidad experimental. Se refiere a los sujetos escogidos para someterse a


observación en una muestra en estudio y no se les ubica, o bien no es posible lograr
que proporcionen la información que se necesita. Si la mortalidad experimental es alta,
la investigación pierde su credibilidad. El plan de muestreo debe considerar este factor

4.5. TIPOS DE MUESTRAS


a. ALEATORIAS O PROBABILISTICAS
 Simple
 Estratificada
 Por conglomerado
 Por Área de Superficie

b. NO PROBABILSITICAS
 Errática
 Por Cuotas
 Intencional
 Bola de Nieve

Pág. 46
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

EJERCICIO PARA EL ALUMNO


1. Realice un análisis crítico sobre el uso de la estadística en la simulación.
2. Investigue un software que utilice la estadística en la simulación.

Pág. 47
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

CAPITULO V

SIMULACIÓN DE SISTEMAS ECONOMICOS

5.1. MODELOS DE SIMULACION PARA LA EMPRESA Y LA INDUSTRIA


Modelos de simulación para la empresa:
En la empresa se pueden simular todos aquellos fenómenos complejos tales como
demanda, estudio de mercado, juegos de estrategia, calidad de productos, etc. en el
mercado se pueden encontrar software orientado a simulación de actividades
empresariales.

En la industria se pueden diseñar modelos de simulación de líneas de producción,


tamaño de planta, diseño de productos, nuevos métodos de mejoras de trabajo,
balance de líneas de producción, etc. existen software de simulación aplicadas a la
industria como el promodel, simulink, GPSS, etc.

5.2. TEORÍA DE JUEGOS


Es una herramienta que ayuda a analizar problemas de optimización interactiva. La
teoría de juegos tiene muchas aplicaciones en las ciencias sociales. La mayoría de las
situaciones estudiadas por la teoría de juegos implican conflictos de intereses,
estrategias y trampas.

Fue ideada por John von Neumann, luego, John Nash, A.W. Tucker y otros hicieron
grandes contribuciones a la teoría de juegos.

5.2.1. JUEGO

Se denomina juego a la situación interactiva especificada por el conjunto de


participantes, los posibles cursos de acción que puede seguir cada participante, y el
conjunto de utilidades.

5.2.2. ESTRATEGIA

Cuando un jugador tiene en cuenta las reacciones de otros jugadores para realizar su
elección, se dice que el jugador tiene una estrategia. Una estrategia es un plan de
acciones completo que se lleva a cabo cuando se juega el juego. Se explicita antes de
que comience el juego, y prescribe cada decisión que los agentes deben tomar
durante el transcurso del juego, dada la información disponible para el agente. La
estrategia puede incluir movimientos aleatorios.

5.2.3. RESULTADO DE LOS JUEGOS

El resultado de un juego es una cierta asignación de utilidades finales. Se denomina


resultado de equilibrio si ningún jugador puede mejorar su utilidad unilateralmente
dado que los otros jugadores se mantienen en sus estrategias. Un equilibrio
estratégico es aquel que se obtiene cuando, dado que cada jugador se mantiene en su
estrategia, ningún jugador puede mejorar su utilidad cambiando de estrategia.

Pág. 48
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

Alternativamente, un perfil de estrategias conforma un equilibrio si las estrategias


conforman la mejor respuesta a las otras.

5.2.4. FORMA NORMAL VERSUS FORMA EXTENSIVA DE LOS JUEGOS

En juegos de forma normal, los jugadores mueven simultáneamente. Si el conjunto de


estrategias es discreto y finito, el juego puede ser representado por una matriz NxM
(ver abajo). Un juego en forma extensiva especifica el orden completo de movimientos
a través de la dirección del juego, generalmente en un árbol de juego.

5.2.5. JUEGOS NXM

Una forma de juegos de dos jugadores, en la cual un jugador tiene N acciones


posibles y el otro tiene M acciones posibles. En un juego así, los pares de utilidades o
pagos pueden ser representados en una matriz y el juego es fácilmente analizable.
Los juegos NxM dan una idea de cómo puede verse la estructura de un juego más
complejo.

5.2.6. MATRIZ DE RESULTADOS DE UN JUEGO

La matriz de resultados de un juego representa el resultado del juego en una matriz.


Supongamos que dos personas, A y B, están jugando un sencillo juego. El juego
consiste en lo siguiente: la persona A tiene la posibilidad de elegir “arriba” o “abajo”,
mientras que B puede elegir “izquierda” o “derecha”. Los resultados del juego se
representan en la matriz de resultados:

IZQUIERDA DERECHA
ARRIBA (50 , 100) (0, 50)
ABAJO (100 , 50) (50, 0)

5.3. SIMULACION DE LA ECONOMIA

En la economía existen muchos temas que pueden ser simulados debido a las
complejidades que presentan. Por ejemplo: demanda de un producto, oferta de un
producto, tamaño de mercado, selección y compra de maquinaria, punto de equilibrio
de un producto, etc.

EJERCICIO PARA EL ALUMNO


1. Elabore un programa para simular la demanda de dos productos.
2. Elabore un programa para simular la selección y compra de N máquinas de entre
M máquinas teniendo en cuenta precio, velocidad de producción, etc.
3. Elabore un programa para simular la teoría de juegos de dos o más empresarios.
4. Elabore un programa para simular el juego de la Tinka
5. Elabore un programa para simular el sistema de préstamos de una entidad
financiera.
6. Elabore un programa para simular el sistema de ahorros de una entidad financiera.
7. Analice e investigue un sistema elaborado aplicado a la producción o economía, y
sustente su ejecución y muestre su código fuente.

Pág. 49
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

CAPITULO VI
LA SIMULACIÓN EN LA PLANIFICACIÓN, PROGRAMACIÓN Y
CONTROL DE PROYECTOS

6.1. FUNDAMENTOS DE LA REPRESENTACIÓN GRÁFICA DE UN PROYECTO

6.1.1. PROYECTO
Es un conjunto de tareas u operaciones elementales bien diferenciables que se
ejecutan según un orden determinado.

Los fundamentos de los sistemas PERT y CPM son las representaciones gráficas del
proyecto mediante diagramas de flechas, o también lo podemos llamar red de flechas.
La red se crea según el orden de realización de las tareas u operaciones, paso a paso,
hasta el final del proyecto. Originalmente estas tareas u operaciones se llaman
actividades. Un trabajo encargado a una persona responsable, bien lo realice
personalmente o bien lo hagan operarios a sus órdenes es lo que podemos definir
como actividades.

Una actividad puede comprender una sola tarea o bien una serie de ellas. Todo
depende de la designación del responsable de los trabajos que se realizan bajo sus
órdenes según la conveniencia de la realización del proyecto. Por tanto habrá tantas
actividades como responsables.

Gráficamente una actividad está compuesta de dos partes: la primera que es la


ejecución del trabajo y está representada con una flecha con orientación de izquierda
a derecha y la segunda se llama suceso que generalmente se dibuja con dos círculos
o dos rectángulos poniéndolos en los dos extremos de la flecha:

i j

El suceso que esta al final de la flecha se llama “suceso inicial” y el suceso que
conecta al comienzo de la flecha se le denomina “suceso final”. El suceso es un
instante de la actividad que sirve como el punto de control, describiendo el momento
de comienzo o terminación de una actividad. La actividad es un símbolo de trabajo en
proceso. Por tanto, todas las actividades requieren tiempo y recursos.

La longitud de la flecha no representa la cantidad de tiempo como en los gráficos de


GANTT. Por ejemplo, en la siguiente figura, la actividad A no es más corta de duración
que la B, aunque la longitud de las flechas lo sea:

A B
1 2 3

Pág. 50
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

La dirección de las flechas no tienen sentido vectorial. Es simplemente una progresión


de tiempo. Como el tiempo no retrocede, la orientación de la flecha es siempre de
izquierda a derecha. Por ejemplo, podemos dibujar una red como sigue:

Tampoco es preciso que la flecha sea una línea recta, sino que pueden dibujarse en
curva:

Esto depende de la facilidad que haya para representar las actividades en una red de
flechas que refleje el orden y secuencias de las relaciones del proyecto. Una actividad
debe estar terminada para que la subsiguiente pueda comenzar. Como todas las
actividades tienen sus sucesos iniciales y finales, el suceso final de la actividad
precedente es el mismo suceso inicial de la subsiguiente:

A B
1 2 3

Sin embargo, hay una excepción en los sucesos iniciales y finales. El primer suceso
inicial del proyecto no tiene una actividad que la preceda y el último suceso final
tampoco tiene una actividad que la subsiga.

6.1.2. ENUMERACIÓN DE LOS SUCESOS

La enumeración de los sucesos es otro es otro sistema para la identificación de la


actividad. Pero para facilitar el cálculo en el computador es conveniente asignar
números naturales a los sucesos iniciales y finales. El siguiente grafico será numerado
como sigue:
3
B D

A C E
1 2 4 5

Así podemos llamar a las actividades de la siguiente manera:

Actividad A = (1,2).

Pág. 51
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

Actividad B = (2,3).
Actividad C = (2,4).
Actividad D = (3,4).
Actividad E = (4,5).

6.2. CÁLCULO DE LA RUTA CRÍTICA (CPM)

El resultado final en el CPM es la construcción en el programa del tiempo para el


proyecto. Para lograr este objetivo de una manera conveniente, hacemos cálculos
especiales que producen la siguiente información:

1. Duración total necesaria para completar el proyecto.


2. Categorización de las actividades del proyecto como críticas y como no críticas.

Se dice que cualquier actividad es crítica cuando no hay “libertad” para determinar los
tiempos de inicio y de terminación. Como tal, para completar el proyecto sin demora,
cada actividad critica se debe iniciar y terminar a tiempo. Una actividad no crítica
produce cierta holgura en la programación, de manera que el tiempo de iniciar la
actividad se puede adelantar o demorar dentro de ciertos límites, sin afectar la fecha
de terminación de todo el proyecto.

Para realizar los cálculos necesarios, definimos un evento como un punto en el tiempo
en el cual se terminan ciertas actividades y se inician otras. En términos de la red, el
evento corresponde a un nodo. Después, introducimos las siguientes definiciones:

j = Parte fecha de ocurrencia del evento j


j = Ultima fecha de ocurrencia del evento j
Dij = Duración de la actividad (i,j)

Las definiciones de las primeras y las últimas ocurrencias del evento j se especifican
con relación con las flechas de inicio y de terminación de todo el proyecto. Los
cálculos de la ruta crítica implican dos pasos: el paso hacia delante determinan los
primeros tiempos de ocurrencia de los eventos y el paso hacia atrás calcula sus
últimas fechas de ocurrencia.

Paso hacia delante (primeras fechas de ocurrencia,). En estos pasos, los cálculos
empiezan en el nodo 1 y avanzan recursivamente hacia el nodo final n.

Paso inicial. Determine 1 = 0 para indicar que el proyecto empieza en la fecha 0.


Paso general j. Dado que los nodos p,q,..., y v están unidos directamente con el nodo
j por las actividades de salida (j,p),(j,q),..., y (j,v) y que las primeras fechas de los
eventos (nodos) p,q,..., y v ya se han calculado, entonces la primera fecha de
ocurrencia del evento j se calcula como:

j = max {p + Dpj, q + Daj,... v + Dvj}

El paso hacia atrás (últimas fechas de ocurrencia, ). Después de la terminación del
paso hacia delante, los cálculos del paso hacia atrás empiezan en el nodo n y
regresan recursivamente al nodo 1.

Pág. 52
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

Paso inicial. Determinar n = n para indicar que la primera y la última ocurrencia del
ultimo acontecimiento del proyecto son las mismas.

Paso general j. Dado que los nodos p,q,..., y v están unidos directamente al nodo j
por las actividades de salida (j,p),(j,q),..., y ya se han calculado, entonces la última
fecha de ocurrencia del evento j se calcula como

j = min {p – Djp, q – Djq,…, v – Djv}

El paso hacia atrás está completo cuando se calcula 1 en el nodo 1.

Basándose en los cálculos anteriores, una actividad (i,j) será critica si satisface tres
condiciones.
1. i = i
2. j = j
3. j - i = j - i = Dij

Las tres condiciones plantean que la primera y la última fecha de ocurrencia de los
eventos finales i y j son iguales y que la duración Dij ocupa exactamente su lapso. Por
tanto, una actividad que satisface las tres condiciones es no crítica. Las actividades
críticas de una red deben construir una ruta ininterrumpida que abarca toda la red de
principio a fin.

15 45

6 18

E - 12
2 7
K - 15
A-6 D - 15

0 B - 10 F - 20 I - 30 60
1 3 5 8
0 60
10 30
G-7
10 30
C - 10
J - 13
4 6
H - 26

21 47
10 36

Paso hacia delante


Nodo 1. Determine 1 = 0.
Nodo 2. 2 = 1 + D12 = 0 +6 = 6
Nodo 3. 3 = 1 + D13 = 0 + 10 = 10
Nodo 4. 4 = 1 + D14 = 0 + 10 = 10
Nodo 5. 5 = max{ 2 + D25, 3+D35, 4 +D45} = max{6+15, 10+20, 10+7}= 30
Nodo 6. 6 = 4 + D46 = 10 + 26 = 36

Pág. 53
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

Nodo 7. 7 = 2 + D27= 6+12 =18


Nodo 8. 8 = max {5 + D58, 6 + D68, 7 + D78}= max{30+30, 36+13, 18+15}= 60

Los cálculos muestran que el proyecto se puede terminar en 60 días.

Paso hacia atrás


Nodo 8. Determine 8 = 8 = 60
Nodo 7. 7 = 8 - D78 = 60 -15 = 45
Nodo 6. 6 = 8 - D68 = 60 -13 = 47
Nodo 5. 5 = 8 - D58 = 60 - 30 = 30
Nodo 4. 4 = min {5 - D45, 6 - D46}= min {30 -7, 47 - 26} = 21
Nodo 3. 3 = 5 - D35 = 30 - 20 = 10
Nodo 2. 2 = min {5 - D25, 7 - D27} = min {30 -15, 45 -12} = 15
Nodo 1. 1 = min {2 - D12, 3 - D13, 4 - D14} = min {15 - 6, 10 -10, 21 - 10} = 0

La ruta crítica es: 1  3  5  8

6.3. HOLGURAS
Es la diferencia ente los valores del rectángulo con el triángulo. Estas representan e
indican que el proyecto tiene esa diferencia de unidades de tiempo para realizar el
proyecto con comodidad.

6.4. DIAGRAMA DE GANTT


Permite visualizar gráficamente la ruta crítica y las actividades que tienen holguras,
cada una de ellas con sus magnitudes.

El diagrama de Gantt para el ejemplo anterior es el siguiente:

EJERCICIOS PARA EL ALUMNO

1. Elaborar un programa de computadora en Visual Basic para simular una red de


proyectos. Considerar como variable aleatoria a los tiempos de las actividades.

Pág. 54
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

2. Investigue sobre el método PERT y elabore un programa para simular una red
de proyectos. Alcance toda la teoría del dicho método y desarrolle un ejemplo.
3. Analice y muestre el código fuente de un software que simula el método PERT
y método CPM.
4. Nombre a cada actividad y determine la ruta crítica de la siguiente red de
proyecto, construya el diagrama de Gantt respectivo.

G-6
B-5 3

D-10 I-3 6 M-11

A-4 O-3
E-7 K-12
1 2 4 8 9

F-8 J-4
C-6 H-5 7 N-8

5 L-5

5. Determine la ruta crítica de la siguiente red de proyecto y construya el diagrama


de Gantt respectivo:

3
G - 15
B-8
E-4
C - 11 I-5
1 4 7
A-6
H-4
K-7
2

F-9 5 L-3
D - 12 J-8

REDES PERT Program Evaluations and Review Technique. (Técnica de revisión


y evaluación de proyectos)

PERT se desarrolló en la década de 1950 y se utilizó en forma amplia en la


administración de proyectos militares de investigación y desarrollo. Su primera
aplicación importante fue en el proyecto de los misiles Polaris para la U.S. Navy.

Pág. 55
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

El PERT fue desarrollado específicamente por el Departamento de la Defensa de los


Estados Unidos de Norteamérica para dar apoyo a la planeación, programación y
control de una gran cantidad de trabajos (actividades) asociados con el proyecto.
PERT también se ha implementado y utilizado en la industria de la construcción,
empresas industriales, instalaciones de activos fijos, el diseño de plantas, la
planeación y la administración de programas de investigación y desarrollo, etc.
El concepto de redes es el mismo que maneja CPM.

LIMPIAR 3
Y PINTAR FICTICIA
BASE
B

A C E
1 2 5 6
SACAR REBOBINAR LA ENSAMBLAR
Y ARMADURA E INSTALAR
D
DESARMAR EL MOTOR
EL MOTOR FICTICIA EN LA BASE
4

Reemplazar
los anillos

Pág. 56
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

[C] [E]
FABR.
ORD. Y REC. PROD.
2 3 4
[A] [ ] [ ] [G]
DISEÑAR ENVASAR
PROD. [ ] PROD. [I]
[J]
PRUEBA
MERCADO ENTREGA
1 8 9 1
[B] [H] [ ] 0
DISEÑAR PRUEBA
ENVASE [F] PROD.
[ ] [D]
FABR.
ORD. Y REC. ENV.
5 6 7
[3]

[CODIGO]
DESCRIPCION

CLAVE:
DURACION
Dij

Estimación de los tiempos de las actividades

 Al aplicar PERT/CPM a proyectos de construcción y mantenimiento, es posible


contar con estimaciones bastante precisas de los tiempos de las actividades ya
que es probable que se disponga de datos históricos y dado que la tecnología
que se utiliza es más o menos estable.
 En los proyectos del tipo investigación y desarrollo, en los que la tecnología
cambia con rapidez y los productos no son comunes, es posible que sea difícil
contar con estimaciones precisas de los tiempos de las actividades.

Con el fin de tener en cuenta la incertidumbre, las personas que desarrollaron PERT
permitieron a los usuarios utilizar tres estimadores para los tiempos de cada una de
las actividades:

1.- El tiempo más probable (tm):

El tiempo que se requiere para terminar la actividad bajo condiciones


normales.

2.- El tiempo pesimista (tp):

El tiempo máximo que se necesitaría para terminar la actividad si se


encontraran demoras considerables en el proyecto.

3.- El tiempo optimista (to):

El tiempo mínimo que se requiere para terminar la actividad si todo


ocurre en forma ideal.

Pág. 57
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

Utilizando estas tres estimaciones, puede calcularse un tiempo esperado para la


duración de una actividad de acuerdo con la siguiente fórmula:

to + 4tm + tp
te =
6

Veamos que ocurre con el tiempo con el caso de una empresa X en el cual se
proporcionan tres estimaciones de los tiempos que se requieren para terminar cada
una de las actividades del proyecto.

TABLA

Código de Tiempo Tiempo mas Tiempo


la actividad optimista(to) probable(tm) pesimista(tp)
A 3.0 5.5 11.0
B 1.0 1.5 5.0
C 1.5 3.0 4.5
D 1.2 3.2 4.0
E 2.0 3.5 8.0
F 1.8 2.8 5.0
G 3.0 6.5 7.0
H 2.0 4.2 5.2
I 0.5 0.8 2.3
J 0.8 2.1 2.8

Antes de continuar debemos respondernos algunas interrogantes

¿Qué se gana al hacer tres estimaciones?


¿Por qué no simplemente estimar los valores esperados y hacer los cálculos de
PERT/CPM con base en éstos?

La respuesta es:
 Se necesita saber qué tan confiables son las estimaciones de los tiempos
esperados.
 Lo cual se puede hacer teniendo las tres estimaciones.
 Si el tiempo requerido para terminar una actividad es muy grande, entonces
tendremos menos confianza en el tiempo esperado que si el intervalo fuera
menor. Por ejemplo: si las tres estimaciones para la actividad “fabricar el
producto” fueran 2, 3 y 4 en vez de 1.8, 2.8 y 5.0 en ambos casos el tiempo
promedio sería 3.0 días; pero en el primer caso tendríamos más confianza en
que estas cifras modificadas fueran más precisas puesto que tiene menor
variabilidad. Un intervalo amplio de las estimaciones representa una mayor
incertidumbre y, por ello, menor confianza en el tiempo esperado que se
calcula.

Pág. 58
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

 A menor confianza, la probabilidad de terminar el proyecto hacia una fecha


dada se reduce.
 La ventaja de tener tres estimaciones de tiempos es que puede calcularse la
dispersión de los tiempos de las actividades y puede utilizarse esta información
para evaluar la incertidumbre de que el proyecto se termine de acuerdo con el
programa.
 Se utiliza la varianza como medida para describir la dispersión o variación de
las estimaciones de los tiempos de las actividades.

La fórmula de la varianza es:

Varianza de los (tp – to) 2


= t
2
Tiempos de actividad =
36
Si la aplicamos al caso de la empresa X se tiene:

Código de la Varianza
actividad  t2
A 1.78
B 0.44
C 0.56
D 0.22
E 1.00
F 0.28
G 0.44
H 0.28
I 0.09
J 0.11

A partir de estos datos, se tiene, que la actividad A tiene un mayor grado de


incertidumbre que la J. (1.78 comprada con 0.11).

Variabilidad en la fecha de terminación del proyecto.

 Al calcular la ruta crítica se utilizaron los tiempos esperados de duración para


los tiempos de las actividades; lo que se obtuvo fue una duración esperada
para el proyecto.
 Como es probable que cada actividad varíe en duración en vez de ser fija. El
tiempo de terminación del proyecto será variable, y en particular si existen
variaciones considerables en las actividades de la ruta crítica.
 Es “probable” que el tiempo de duración del proyecto varíe positivamente como
negativamente.
 La influencia en el tiempo de duración del proyecto no solo es de las
actividades de la ruta crítica, sino que se puede generar otra ruta crítica debido
a la variabilidad de las actividades.
 Puesto que la varianza de una actividad da una medida de la variación en la
incertidumbre, puede utilizarse para calcular la variación total en el tiempo
esperado del término del proyecto.

Pág. 59
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

 Al calcular el tiempo esperado de terminación del proyecto, se toman las


varianzas (t2), de las actividades que forman la ruta crítica. Al igual que con
una calcular la varianza del tiempo de terminación del proyecto (t2)
simplemente se suman las varianzas (t2) de las actividades que forman la ruta
crítica.
 Caso Sharp: recordemos que la ruta crítica era la que incluía las actividades A,
C, E, G, I y J, con un tiempo esperado de terminación de 22 semanas.

La varianza del proyecto es:

2 = tA2 + tC2 + tE2 + tG2 + tI2 + tJ2

2 = 1.78 + 0.56 + 1.00 + 0.44 + 0.09 + 0.11

2 = 3.98 semanas

La desviación estándar es igual a la raíz cuadrada de la varianza; por tanto, la


desviación estándar para la terminación del proyecto es

 = (2)1/2 = (3.98)1/2  2 semanas

En estadística, se sabe que los tiempos de terminación de un proyecto no están


descritos por una distribución beta sino que siguen una distribución aproximadamente
normal o en forma de campana.

(En el desarrollo del PERT se utilizaron una distribución beta para describir las
variaciones en los tiempos de actividades)

Utilizando la distribución normal podemos hacer planteamientos de probabilidades con


respecto a fecha de término del proyecto; dada una fecha específica de terminación,
puede calcularse la probabilidad de que el proyecto se termine en esa fecha o antes.

Ejemplo se desea saber cuál es la probabilidad de que el proyecto termine antes de 6


meses (26 semanas).

Primero.-

Convertir 26 semanas a un valor de Z. (X = 26,  = 22 y  = 2)

X- 26 – 22
Z= Z= =2
 2

Segundo.-

Con el valor Z = 2 y una tabla de distribución normal, se encuentra que la


probabilidad asociada es 0.9772. La probabilidad de que el proyecto se termine

Pág. 60
SIMULACION DE SISTEMAS
UNIVERSIDAD SAN PEDRO Dr. FERNANDO VEGA HUINCHO

en 26 semanas o menos es 0.9772; por tanto, se puede tener bastante


confianza en que el proyecto pueda terminarse hacia esa fecha.

TAREA PARA EL ALUMNO


1. Resolver un problema de la realidad red usando PERT y CPM y comparar los
resultados
2. Analizar un software de red CPM y PERT y explicar su aplicación.

Pág. 61

Das könnte Ihnen auch gefallen