Logo Studenta

Simulación por computador de cadenas de Markov en tiempo discreto y continuo

¡Este material tiene más páginas!

Vista previa del material en texto

TAREA MODELOS ESTOCASTICOS
Simulación por computador de cadenas de Markov en tiempo discreto y continuo
	
	Tabla contenidos
	
	
CAPÍTULO1: INTRODUCCIÓN____________________ página 2 
CAPÍTULO 2: PROBLEMAS_____________ ________ página 3-5
· Diseño de las vigas del puente grúa
· Diseño de la caja reductora
CAPÍTULO 3: PROBLEMAS_____________ ________ página 6-10
CAPÍTULO 4: DESARROLLO ANALÍTICO________ página 11-19
CAPÍTULO 5: SIMULACIÓN COMPUTACIONAL_ _ página 20-26
CAPÍTULO 6: ANÁLISIS RESULTADOS _ ________ página 27-5
 
.
.
.
.
.
.
.
.
.
 
2
	Capítulo
	Introducción
	1
	
En este trabajo el grupo de alumnos se dispondrá a vertir todos los conocimientos que han adquirido en el ramo de modelos estocásticos durante el actual semestre, de manera tal de resolver los problemas dispuestos por el profesor para que el alumnado demuestre lo aprendido. 
Los alumnos, especificamente harán uso de los contenidos primordiales de las interrogaciones 2 y 3 , más concretamente, de la teoría y práctica aprendida en torno a los temas de modelamiento de cadenas de markov tanto en tiempo discreto como en tiempo continuo, siendo ambas teorías los pilares fundamentales del curso de modelación estocástica.
 Además los alumnos deberán de exponer en el trabajo conociminetos de simulación, la cual es materia de final de semestrey que se expuso a medida en que se desarrlollaba el informe, en conjunto con un avanzado entendimiento de herramientas computacionales tales como C o pascal. Para este trabajo en específico, los alumnos decidieron utilizar el lenguaje C, debido a una mayor profundidad de contenidos sabidos de este lenguaje que de cualquier otro capaz de utilizarse para esta tarea.
La disposición de los cuatro integrantes de este grupo hacia el proyecto ha sido buena, ya que se ve con agrado el poder profundizar conocimientos en semanas previas a lo que será el examen y así poder rendir de la mejor manera en lo que es la parte final de este curso.
 
CAPITULO 3
Sin más que acotar, se le invita al lector seguir con atención y agrado las siguientes páginas en las que quedaron expuestas el esfuerzo y conocimientos de los alumnos.
 
2
7
	Capítulo
	Problemas
	2
	
Cadena de Markov en tiempo discreto. 
Empresa ELECTRONICA S.A.
	El problema consiste en que esta empresa productora de medidores electrónicos necesita realizar un inventario de manejo de insumos. La producción diaria está sujeta a la demanda diaria de medidores las cuales se consideran por medio de llegada de órdenes de compra que arriban de acuerdo a un proceso de Poisson con tasa 2 [órdenes/hora] en la que se piden uno (probabilidad 0.8) o dos (probabilidad 0.2) medidores. Ordenes pueden ser recibidas desde las 9: 00 AM a las 4: 00 PM y los medidores son despachados en el mismo día antes de las 6 : 00 PM. 
	A las 8:00 PM se revisa la cantidad de transductores que hay en bodega y comienza la política de reposición que es la siguiente:
Si hay más de 20 no se pide reposición.
Si es mayor que 10 pero menor o igual que 20 se piden 20 transductores.
Si es menor o igual que 10 se piden 50 transductores.
Lo que nos interesa en este caso es poder saber en cada día cuanto marcará el inventario para esto partimos desde un X0 = 35 transductores.
Cadena de Markov en tiempo continuo
Empresa Manufacturera de tarjetas de crédito
La idea es considerar que esta es la única empresa que puede arreglar máquinas de tarjetas de crédito en el mundo por lo que cualquier máquina que falle debe ser enviada hacia acá.
Se toma como base que en el mundo existen solamente 10 máquinas creadoreas de tarjetas de crédito y este número se mantendrá por los próximos 2 años. El tiempo de duracioón de una máquina, es decir, hasta que falle distribuye en forma exponencial con media de 5 días ( = 0.2).
En la empresa hay un sólo mecánico capacitado para arreglar el cual comenzará a arreglar cuando se encuentren 3 máquinas en espera y continuará hasta que no queden máquinas por arreglar. El tiempo que demora en arreglar una máquina distribuye en forma exponencial con media de 20 horas (=1.2).
En el caso en que la cantidad de máquinas por arreglar supere las 5 máquinas la empresa contrata otro técnico, el cual trabajara hasta que se llegue nuevamente a 5 máquinas, el segundo técnico trabaja de la misma manera que el primero.
Metodología de trabajo
Tiempo discreto
Se buscará una relación de recurrencia para la variable de estado, probabilidades de de transición en una etapa, clases de estado, clasificación de estados y periodicidad.
Por medio del algún programa computacional estimar un tiempo esperado hasta que la empresa no logre satisfacer la demanda requerida.
Por medio del algún programa computacional estimar la probabilidad de que en el largo plazo hayan 10 o menos transductores en bodega.
Por medio del algún programa computacional estimar la proporción de días en el largo plazo de que hayan mas de 40 transductores en bodega.
Tiempo continuo
Poder calcular mediante la ayuda de un computador en un horizonte de largo plazo el número medio de máquinas en el taller de reparaciones en instante cualquiera de tiempo, Su tiempo medio de permanencia en el taller de una máquina cualquiera, la fracción del tiempo en que el técnico no está reparando y en el que está reparando.
Por ayuda de un computador calcular las soluciones de las ecuaciones de equilibrio.
Por simulación estocástica las medidas que se piden en el primer punto y comparación de resultados.
El desarrollo de cada una de las simulaciones y estimaciones que se piden en ambos problemas se realizó mediante el programa computacional Visual C++. En el cual se provoca un juego de iteraciones para lograr el largo plazo requerido en los problemas.
	Capítulo
	Marco Teórico
	3
	
Cadena de Markov en tiempo discreto
Empresa ELECTRONICA S.A.
El desarrollo de problemas de tiempo discreto requieren de ciertas condiciones para considerarse como cadenas de markov, y un proceso estocástico (Xn, n=0,1,2,....) se denomina una cadena de markov en tiempo discreto si cumple con las propiedades markovianas y de estacionareidad, las cuales se explicarán en las próximas lineas.
	
	Se sabe que para conocer la distribución de Xn+1 se necesita conocer Xn. Razonando, se ve que Xn depende a su vez de Xn-1. Además, Xn-1 depende de Xn-2, etc. Luego, se concluye que Xn+1 depende no solo de Xn, sino que indirectamente depende también de Xn-1, Xn-2,...,X1,X0. El proceso estocástico (Xn, n=0,1,2,......) está conformado por una familia de variables aleatorias independientes entre sí. Sin embargo, la dependencia entre estas variables aleatorias es tal que, si yo conozco el valor de Xn, los valores de X0, X1, X2, ....Xn-1i son irrelevantes para estudiar el valor de Xn+1. Se observa que esto no quiere decir que Xn+1 sea independiente de X0, X1,..,Xn-1, sino que lo que ocurre es que estas variables influyen en Xn+1 solo a través de Xn. Más exactamente, si se denomina el periodo n+1 como el futuro, el periodo n como el presente, y los periodos 0,1,2,....,n-1 como el pasado, se dirá entonces que “el pasado influye sobre el futuro pero sólo a través del presente”. Esta propiedad es la denominada markoviana, que por definición formal puede quedar expresada como: Sea Xn una v.a. que toma valores enteros: Entonces se dice que el proceso (Xn, n=0,1,2,...)cumple con la propiedad markoviana si:
		
	
	Por otra parte el proceso (Xn, n=0,1,2,...) cumple con la propiedad de estacionareidad si la propiedad Pr( Xn+1=j/Xn=i) depende sólo de i y de j, pero no de n. En este caso, definimos como Pi,j a esta probabilidad, y se denomina probabilidad de transición en una etapa. La propiedad de estacionareidad establece que los mecanismos probabilísticos que definen la evolución del proceso no cambian con el tiempo. Las probabilidades Pi,j pueden agruparse en una matriz P, denominada matriz de probabilidades de transición en una etapa, que tendrátantas filas y columnas como estados tenga el proceso.
	En las cadenas de markov en tiempo discreto se pueden estudiar los procesos en el largo plazo, dentro de lo que se puede analizar es si estos tienen distribución límite o no, lo cual se expresa a travás de fórmula como . En la medida que esto ocurra, podemos concluir que, pasado mucho tiempo, la distribución de probabiliadades del proceso no cambia de una etapa a otra.
 En el largo plazo los estados del proceso se pueden clasificar de diversas maneras, de forma tal que estas clasificaciones formalizan las existencia de las distribuciones límites. Un estado se denominará transiente si F(i,i)<1, o sea , si un estado parte en i, la probabilidad de que regrese al mismo estado es menor que uno. También los estados se denominarán recurrentes si F(i,i)=1, y si su valor esperado de tiempo es menor a infinito (E(T(i,i)<) se denominará recurrente positivo, en caso contrario, se denominará recurrente nulo. En el caso de un estado recurrente nulo, existe la seguridad de que, si el proceso parte en el estado i, volverá a ese estado alguna vez, sin embargo, el tiempo promedio de retorno será infinito.
Existe un ámbito importante en el estudio de los estados en el largo tiempo, y eso es su comunicación, debido a que los determina a estos según clases. Por convención se dice que un estado siempre se comunica consigo mismo, ya que:
(esto es, se comunica através de un camino de largo 0)
Las clases de estados que se comunican son disjuntas entre sí y cubren todo el conjunto de estados, esdecir, generan una partición del conjunto. Si una cadena de markov contiene una sola clase de estados (todos los estados se comunican entre sí), se dirá que es irreducible.
La existencia de una distribución límite depende esencialmente del comportamiento en el largo plazo (n grande) de las probabilidades Pi,j(n). Para analizar estas probabilidades necesitamos el concepto de estado periódico: Un estado es periódico si, partiendo de este estado, sólo es posible volver a él en un número de etapas que sea múltiplo de un cierto número entero mayor que uno. En otras palabras, el estado j es periódico si existe un número entero K, tal que Pi.j(n)>0 sólo para valores de n en el conjunto (K, 2K, 3K, 4K,…). Cabe mencionar que un periodo se puede definir de la siguiente forma: El período d del estado j corresponde al máximo común divisor de los n para los que Pi,j (n)>0. Si d>1, diremos que el estado es periódico con periodo d. SI d=1 se dirá que el estado es aperiódico. Además se puede decir que el estado es aperiódico si no es posible volver a él (en este caso, el estado es aperiódico por la imposibilidad de chequear la condición de periodicidad).
Cadena de Markov en tiempo continuo
Empresa Manufacturera
Esta parte tiene similitudes con las cadenas de markov en tiempo dicreto en que requieren características similares para su validez, pero difieren en que para markov continuo interesa extender el modelo a cadenas para el caso de un sistema en todo instante de tiempo, por ejemplo, sea (X(t), t) un proceso estocástico, en que X(t) representa el estado (discreto) de un sistema; es decir, esta variable aleatoria solo puede tomar valores enteros(eventualmente negativos), se dirá que el proceso es de estado discreto y tiempo continuo. Luego para extender la propiedad markoviana del modelo discreto al continuo se dirá que el proceso (X(t), t) cumple con la propiedad markoviana si:
Es decir, si se considera el instante t como el instante presente, y t+s como un instante futuro cualquiera, y si se conoce toda la trayectoria del proceso en el continuo , entonces la distribución de probabilidades de X(t+s), depende sólo de la última información disponible (esto es, de X(t)).
Se dirá que el proceso cumple con la propiedad de estacionareidad si la probabilidad Pr(X(t+s)=j/X(t)=I) depende sólo de i,j y s, pero no de t. Se observa que esta probabilidad de transición en s unidades de tiempo es equivalente a la probabilidad de transición en m etapas de Pi,j(m) del modelo discreto.
Luego se pude definir una exacta definición sobre cadenas de markov en tiempo continuo: El proceso estocástico (X(t), t) es una cadena de markov en tiempo continuo si cumple con la propiedad markoviana y la propiedad de estacionareidad definidas anteriormente.
Teoría de Simulación
En el desarrollo del modelo computacional en lenguaje C se consideraron ciertos aspectos de simulación para conseguir el objetivo de modelación. Lo anterior hace referencia a la generación de instancias de una variable aleatoria, que se puede explicar de manera generalizada mediante el siguiente desarrollo:
Si se quieren generar instancias de una variable aleatoria X con una distribución de probabilidades F. Se sabe que:
Sea R una v.a. con distribución de probabilidades uniforme en .
Entonces:
 en que 0
y por lo tanto, dado que 0, para todo x, se puede escribir:
Con lo que se establece la siguiente igualdad:
F(x)=
Ahora bien, F() es siempre una función monótona no decreciente y, por lo tanto, el evento es quivalente al evento 
Equivalencia de los dos eventos implica:
De lo anterior se observa que F-1 (R ) es una función de una v.a., y por lo tanto también es aleatoria., luego de las ecuaciones anteriores se puede obtener como implicancia la siguiente ecuación:
y por lo tanto, las variables aleatorias X y F-1( R ) tienen la misma distribución de probabilidades.
El método para generar instancias de X (denominado de la transformada invesa), opera de la siguiente forma:
a) Generar una instancia de R1 de R, en que R~U(0,1)
b) Sea X1=F-1(R1); entonces X1 es una instancia de X.
Se nota que F-1( R ) es una variable aleatoria distinta de X, pero que comparte su distribución de probabilidades. Por lo tanto, generar una instancia de F-1( R ) es equivalnte a generar una instancia de X.
Para generar una secuencia X1, X2,…,Xn de instancias de X, se debe generar una secuencia R1,R2,…,Rn. Para que las instancias (Xi) sean independientes entre sí, se debe asegurar de que las instancias (Ri) también lo sean.
Luego se demuestra que la generación de instancias de una v.a. con cualquier distribución se reduce al problema de generar instancias de una v.a.~U(0,1).
	Capítulo
	Desarrollo Analítico
	4
	
Cadena de Markov en tiempo discreto
Empresa ELECTRONICA S.A.
Para el caso del tiempo discreto la cantidad a pedir de transductores depende directamente de las órdenes recibidas durante las horas de atención y cuantos pedidos hay en cada orden. El tiempo de atención, la hora del inventario, el momento en que se considera el estado siguiente están mayormente explicados en la siguiente línea del tiempo.
Revisa
inventario
8:30
9:00
20:30
20:00
16:00
Reciben
Órdenes
Xn+1
Xn
A continuación se definirán las variables aleatorias a utilizar.
Nn : Número de órdenes recibidas durante el día desde las 9:00 hrs. Hasta las 16:00 hrs.
Xn : Número de transductores contabilizados a las 8:30 hrs.
Yn : Número de transductores a reposición luego del inventario obtenido a las 20:00 hrs.
Se obtendrá la relación de recurrencia dependiendo de intervalos en que se encuentre la variable Xn ya que la relación con Xn+1 no vará en forma lineal, sino en forma escalonada.
Matriz de Probabilidades
Para poder calcular la matriz de probabilidades en forma general, se necesita analizar una serie de casos relevantes para el desarrollo, es decir, existen una serie de estados en que la probabilidad de transición hacia otros estados no es constante.
Los casos relevantes de la matriz de probabilidades fueron tomadas con respecto a la cantidad total de pedidos recibidos durante el día y la respectiva cantidad con que se inicio este.
En una forma recursiva se pudo obtener fórmulas para la transición desde un estado a otro:
· Para ir de un estado al mismo se necesita que no hayan pedidos durante el día o que si los pedidos fueron 20 y quedo al final del día con un número de medidoresmayor que 10 y menor o igual que 20, se le sumarían 20 medidores que son los que se piden a reponer y se llegaría nuevamente al estado inicial del día anterior, esto se da solamente en los estados X(31) al estado X(40) porque para los estados anteriores al restar 20 quedo con menos de 10 llegando así al estado X(50) y para los mayores al restar 20 quedo con la misma cantidad, este es el caso de ir de i a j con i=j.
· Para ir de un estado de menor cantidad a una de mayor cantidad de medidores, la única manera es que al número inicial que se tiene se le resten los números de pedidos quedando al final del día con un número de medidores mayor que 10 y menor o igual que 20, se le sumarían 20 medidores que son los que se piden a reponer, pero esto se daría con estados Xn+1 mayores o iguales de X(31) y menores que X(40), en otro caso no se puede llegar 
· Para ir de un estado de mayor cantidad a menor cantidad de medidores simplemente es necesario que hayan la cantidad de pedidos correspondientes a la resta entre el estado mayor y el menor, por ejemplo del estado X(25) al X(23) basta con hacer 2 pedidos, y existe un caso especial en que se necesite llegar a un estado que se encuentre entre X(31) a X(40) para estos casos basta con pedir lo anterior mas 20 y se vuelve a este estado por ejemplo desde el estado X(45) al estado X(35) puedo llegar pidiendo 10 a 30.
· Existe un caso especial que es el caso del estado X(50) para llegar al estado X(50) basta con tener un número de pedidos igual al número de medidores menos 10, que tengo al inicio del día o mayor que este, por ejemplo si tengo 25 medidores es necesario que tenga un número de pedidos mayor o igual que 15, y para el caso de llegar del estado 50 al 50 necesito que no hayan pedidos o que hayan 40 o más pedidos durante el día. Todo esto se da a causa de que si al final del día tengo 10 o menos números de medidores entonces para comenzar el día siguiente se reponen hasta 50 medidores.
Generalizando en fórmulas para cada caso se tiene:
Para ir del estado Xn a Xn+1
 P ( Xn=i / Xn+1=j )
 	para 31
		 0				para otro caso 
	para 
 			para otro caso
	para 
				para otro caso
caso especial:
1. 
	
Estas son las ecuaciones para lograr sacar cualquier valor de la matriz de probabilidades, pero como se ve a primera vista no hay valores numéricos sino más bien están dadas como probabilidades dependientes de N(t) que se ha definido como el número de pedidos recibidos durante el día. 
La matriz de probabilidades corresponde a una matriz de 3030 por lo que hacer el grafo sería muy tedioso e innecesario, puesto que con la simple matriz se podrá observar que todos los estados están comunicados entre sí ya que aunque existen algunas probabilidades iguales a cero de alguna manera indirecta, es decir pasando por otro estado anteriormente se pude llegar desde cualquier estado a cualquier estado y como desde un estado cualquiera puedo llegar al mismo estado con una probabilidad distinta de cero el sistema es aperiódico, por consiguiente se existe un solo estado presente recurrente positivo aperiódico e irreducible.
Tomando lo anteriormente descrito como cierto se puede concluir que al estar todos los estados comunicados entre sí no importa el estado inicial en que se encuentre, siempre se podrá llegar a cualquiera por lo que se puede considerar que existe una distribución estacionaria.
Como es un estado recurrente positivo irreducible la y además el por lo que:
Por lo que existe una distribución límite dado a largo tiempo distinto de cero.
El valor N(t) está subdividido en dos partes, cuando la orden de pedido es de 1 sólo medidor en que el grupo lo ha definido como en N1(t) y en el caso de que la orden de pedido se requira 2 medidores se ha definido de igual manera como N2(t).
Y estas probabilidades se han dividido a su vez en dos situaciones distintas.
El caso en que el valor n de la expresión P{N(t)=n} sea par.
Para este caso:
	
El caso en que el valor n de la expresión P{N(t)=n} sea impar.
Para este caso:
	
	El proceso de llegada de órdenes transformada a un número total de pedidos N(t) como se dijo anteriormente fue dividido en dos casos N1(t) y N2(t) para los cuales se les han dado una nueva tasa de llegada que se le podría considerar una ponderación de las probabilidades de que llegue cad una.
	La tasa de llegada de un pedido corresponde a la tasa de llegada de N1(t) que es igual a 
				
	Mientras que la tasa de llegada de dos pedidos corresponde a la tasa de llegada de N2(t) que es igual a 
				 
Estas dos tasas de llegada de pedidos también corresponden a una distribución Poisson de sus respectivas tasas, el tiempo que se considera para obtener las probabilidades es de 7 hrs que corresponde al tiempo que se extiende la atención de público desde las 9:00 horas hasta las 14:00 horas, en consecuencia las probabilidades correspondientes a 
	
 
Para que pueda ser explicado de mejor manera el problema que se plantea se hará un breve esquema de lo que sucede al llegar una orden a la empresa, se asume que cada vez que llega un posible comprador este siempre hace una orden de uno o dos pedidos en forma aleatoria, nunca llega y se va sin pedir nada.
En el problema se pidió el cálculo del tiempo esperado hasta que no se logra satisfacer la demanda diaria por primera vez. Este requerimiento se entendió como:
	En que n es el estado en que se encuentra, es decir, si se encuentra en el estado X(25) en que hay 25 transductores, la probabilidad de que no haya podido satisfacer la demanda, es que la demanda haya sido mayor que 25. Mientras que la esperanza del tiempo puede ser calculado como .
En conclusión lo requerido se obtuvo como.
Para el tercer ítem de la pregunta de tiempo discreto se necesita la probabilidad de que en cualquier día en el largo plazo existan 10 o menos transductores la cual fue asumida como la probabilidad de que en el estado Xn+1 se encuentre en el estado 50, por lo tanto:
 = 
y esta corresponde a su vez a 	 por lo que calculado manualmente, daría una serie de sumatorias que son casi imposibles de resolverlas a mano por lo que se ocupa el programa computacional bajo iteraciones para calcular este problema , pero siempre bajo esta teoría.
Cadena de Markov en tiempo continuo.
Empresa Manufacturera de tarjetas de crédito
	tipo de estado
	estados posibles
	prob, de transición 
	prob, de transición 
	tasa de nacimiento
	tasa de muerte
	tasa de salida
	prob. de encontrarse
	 
	 
	a estado anterior
	a estado siguiente
	 
	 
	 
	en el estado
	X (0,0)
	X (1,0)
	0
	1
	
	0
	
	0,026113
	X (1,0)
	X (2,0)
	0
	1
	
	0
	
	0,029014
	X (1,1)
	X (0,0) ; 
X (2,1)
	
	
	
	
	
	0,043521
	X (2,0)
	X (3,1)
	0
	
	
	0
	
	0,032641
	X (2,1)
	X(1,1) ; 
X(3,1) 
	
	
	
	
	
	0,108804
	X (3,1)
	X (2,1) ; X(4,1)
	
	
	
	
	
	0,188594
	X (4,1)
	X (3,1) ; 
X(5,1)
	
	
	
	
	
	0,220026
	X (5,1)
	X (4,1) ; 
X(6,2)
	
	
	
	
	
	0,220026
	X (6,2)
	X(5,1) ; 
X(7,2)
	
	
	
	
	
	0,091677
	X (7,2)
	X (6,2) ; 
X(8,2)
	
	
	
	
	
	0,030559
	X (8,2)
	X (7,2) ; 
X(9,2)
	
	
	
	
	
	0,007639
	X (9,2)
	X (8,2) ; 
X(10,2)
	
	
	
	
	
	0,001273
	X (10,2)
	X (9,2)
	1
	0
	
	
	
	0,000106
1,0
2,0
0,0
1,1
2,1
3,1
9,2
10,2
7,2
6,2
4,1
5,1
8,2

10
6
7
8
2
3
4

8

9





2
2
2
2
2
	
Grafo de tasas de salida y entrada de cada estado
	En el grafo se muestra claramente cuales son las tasa de salida y de entrada a cada estado.
	Cada estado contiene un intervalo (i , j) en el que se representa:
i : Número de máquinas en reparaciones o en espera a reparar (máquinas en el sistema)
j : Cantidad de técnicos reparando.
 Tasa de falla de una máquina cualquiera y necesitereparación. En este problema se da la media igual a 5 días, por lo que la tasa es igual a .
Tasa de reparación de un técnico en acción. En este problema se da la media igual a 20 horas (=0.833 días), por lo que la tasa es igual a =1.2
 Los estados X (1,0); X (2,0) no tienen tasa de muerte puesto que aun el técnico no se ha puesto a trabajar en las reparaciones, él está esperando que hayan tres máquinas en espera de reparación.
1,0
2,0
0,0
1,1
2,1
3,1
9,2
10,2
7,2
6,2
4,1
5,1
8,2

1
 6
 7
1
 2
3
4

 8

1





2
2
2
1
2
Grafo de probabilidades de salida y entrada de cada estado
Ecuaciones de Equilibrio 
Las ecuaciones de equilibrio se reemplazan de la tabla anterior y se ocupa la ecuación general explicada en el márco teórico para su constitución. 
Además hay que agregar que la suma de las probabilidades tiene que ser uno.
Con las ecuaciones anterirores y sabiendo que la suma de las probabilidades es uno. Se resuelven mediante calculadora y los datos se pasan a excel:
	Prob. estar en el estado
	Multiplicador
	Tasa individual
	Tasa media
	Nº MAQ
	Maquinas esperadas
	ESTADO
	0,026113
	10
	0,2
	0,052226
	0
	0
	X (0,0)
	0,029014
	9
	0,2
	0,0522252
	1
	0,029014
	X (1,0)
	0,043521
	9
	0,2
	0,0783378
	1
	0,043521
	X (1,1)
	0,032641
	8
	0,2
	0,0522256
	2
	0,065282
	X (2,0)
	0,108804
	8
	0,2
	0,1740864
	2
	0,217608
	X (2,1)
	0,188594
	7
	0,2
	0,2640316
	3
	0,565782
	X (3,1)
	0,220026
	6
	0,2
	0,2640312
	4
	0,880104
	X (4,1)
	0,220026
	5
	0,2
	0,220026
	5
	1,10013
	X (5,1)
	0,091677
	4
	0,2
	0,0733416
	6
	0,550062
	X (6,2)
	0,030559
	3
	0,2
	0,0183354
	7
	0,213913
	X (7,2)
	0,007639
	2
	0,2
	0,0030556
	8
	0,061112
	X (8,2)
	0,001273
	1
	0,2
	0,0002546
	9
	0,011457
	X (9,2)
	0,000106
	0
	0,2
	0
	10
	0,00106
	X (10,2)
	
	
	Sumas de tasas
	1,252177
	Suma de maq
	3,739045
	
En que las tasas medias fueron calculadas multiplicando las probabilidades de estar en cada estado por su tasa respectiva y luego sumando todas las tasas medias obtenidas, incurriendo así en una tasa media total de y luego obteniendo el valor promedio de máquinas calculado multiplicando las probabilidades de encontrarse en el estado por el número de máquinas en el estado y luego sumando todos estos valores promedios se obtiene un valor promedio total de máquinas Nm=3.739045
Ya obtenidos estos dos datos podemos ocupar la ecuación de Little que está enunciada a continuación:
		
L = Número promedio de máquinas en el sistema.
 = Tasa media de entrada de máquinas al sistema.
W = Tiempo de permanencia de una máquina cualquiera en el sistema.
Obteniendo así: 
Que representa el tiempo esperado de permanencia de una máquina en el taller.
			
	Capítulo
	Simulación Computacional
	5
	
Cadena de Markov en tiempo continuo
Empresa Manufacturera de tarjetas de crédito
Análisis y supuestos del algoritmo para las fracciones de tiempo
Para simular las variables de desempeño pedidas se realizó un programa en lenguaje C++.
La simulación de los tiempos exponenciales se realizó con el método explicado en el marco teórico. Con lo cual resulta que la función necesaria para obtener tiempos entre eventos exponenciales con cierta tasa esta dada por:
 
Es decir queda determinado en C++ mediante una función implementada que ocupa la función uniforme que viene incorporada en las librerías por defecto.
El algoritmo utilizado para buscar las probabilidades de estado se explicará a continuación:
1. Se realiza una modelación en el tiempo, que puede ser de 1 año, 2 años, etc….
2. Esta modelación en el tiempo comienza cuando el sistema está en el estado (0,0). Es decir todas las máquinas están funcionando. Este estado de inicio no tiene influencia en los resultados mayormente ya que se está trabajando a largo plazo y existe una distribución límite y estacionaria. Claro que puede traer pequeñas diferencias porcentuales con respecto a los resultados correctos. 
3. Se inventó en el programa una variable llamada estado la cual determina en todo momento en que estado se encuentra el sistema.
4. Dentro de la iteración se pregunta: ¿El sistema está en el estado (i,j)?
5. Si está en (0,0); (1,0); (2,0) se calcula un tiempo de nacimiento con sus respectiva tasa y se pasa al estado contiguo con probabilidad 1.
6. Si el sistema se encuentra en otro estado (i,j) distinto a los anteriores se calcula un tiempo de nacimiento y un tiempo de muerte (ambos con su tasa, que depende del estado).
7. Si el tiempo de muerte es menor que el tiempo de nacimiento se pasa al estado contiguo menor (ej: (3,1) (2,1))
8. Si el tiempo de nacimiento es menor que el tiempo de muerte se pasa al estado contiguo mayor (ej: (3,1) (4,1))
9. Las transiciones están determinadas en las tablas expuestas en el capitulo 2. (no se incluyen en la explicación del algoritmo)
10. Se guarda en un vector la cantidad de tiempo en que se permanece en cada estado.
11. Este vector se actualiza cada vez que se vuelve a entrar al estado. Con lo cual se contabiliza todo el tiempo de permanencia en el estado en el transcurso de l tiempo de iteración a largo plazo.
12. Al final de la iteración en el tiempo se calculan las probabilidades como: la suma de todos los tiempos de permanencia en cada estado por separado y se dividen por el tiempo total de iteración. 
Es decir se calcula como:
Con esto se encuentran las probabilidades en el largo plazo (dependiendo del tiempo de modelación que se estime necesario)
Fracción de tiempo en inventario
La fracción de tiempo que el técnico permanente pasa dedicado a los inventarios es la suma de:
Que se calcula con las probabilidades obtenidas por el computador y se suman manualmente, o directamente mediante el computador al realizar la suma de los primeros 3 valores del vector tiempo para cada estado. Dividiendo esta suma por el tiempo total de modelación de la siguiente manera (notación del vector en el algoritmo = suma [ ])
Fracción de tiempo del empleado reparando
La fracción de tiempo que el técnico permanente pasa dedicado a reparar se calcula sumando los restantes vectores de tiempo para cada estado:
 también se calcula como:
Análisis y supuestos del algoritmo para promedio de máquinas
El algoritmo realizado para encontrar el número de máquinas promedio en el taller en un instante cualquiera es el siguiente.
1. Se realiza un estudio en un tiempo aleatorio a largo plazo (cualquier instante), es decir se toma un tiempo aleatorio entre 1 y 2 años.
2. Luego de este estudio se verifica el estado final del sistema.
3. Se guarda en un vector el valor que indica la cantidad de máquinas encontradas en el sistema al finalizar el estudio aleatorio.
4. Se realizan iteraciones para repetir este proceso una razonable cantidad de veces para así obtener un resultado aproximado de la variable de desempeño.
5. El promedio de máquinas se calcula de la siguiente manera:
Análisis y supuestos para el algoritmo que resuelve el tiempo medio de espera de una máquina en el sistema
Este algoritmo es bastante más complejo y se hacen algunas suposiciones. 
Se supone que las máquinas entran a una cola y la primera en llegar es la primera en salir (hay un orden de reparación)
Además se conoce que la función exponencial se caracteriza por su propiedad de pérdida de memoria. El siguiente algoritmo se basa en esta propiedad específica. Como sólo se necesita el estado actual para obtener información sobre el pasado se realizan los siguientes pasos.
1. Se obtiene un estudio en forma aleatoria en un tiempo entre 1 y 2 años. Se toma como estado inicial el (0,0).
2. Al finalizar el estudio se toma el valor del estado final y se prosigue con el algoritmo.
3. Con el estado actual se realiza la suposición de que la última máquina acaba de llegar (pérdida de memoria)
4. Se calculael tiempo que transcurre hasta que se logra salir del sistema.
5. Esto se realiza sumando tiempos de llegada y tiempos de salida. Cada vez que ocurre un evento de salida (reparación) se incrementa un contador. Cuando el contador llegue a un valor igual a la cantidad de máquinas del estado final del estudio anterior (1-2años) se finaliza la iteración y se obtiene el tiempo transcurrido hasta que la “última máquina” (con respecto al estado final del estudio) deja el sistema.
6. Este proceso se realiza un gran número de veces
7. Existen casos especiales en las iteraciones. Si luego del estudio el sistema se encuentra en el estado cero (ninguna máquina en reparación) el programa no cuenta estos datos. Ya que falla la suposición de que acaba de llegar una máquina.
8. Si luego del estudio se encuentra el estado actual = (1,1) no se puede suponer que la máquina acaba de llegar. Ya que el estado (1,1) proviene sólo de (2,1) y no de (0,0). Es decir no puede llegar una máquina y quedar en el estado (1,1). Por lo tanto hay que agregarle a este caso un tiempo de espera de reparación, más tiempos de llegada de máquinas al sistema.
9. Finalmente se guardan en un vector todos los tiempos obtenidos. Este vector tendrá el largo de la cantidad de iteraciones que se seleccionó hacer.
10. El resultado se obtiene de la siguiente forma:
Con esto queda demostrado el algoritmo a usar en el segundo problema (Markov continuo) El cual se pasará a lenguaje computacional en C++. 
En el anexo se adjunta el programa en lenguaje C++, con sus respectivos comentarios indicando los pasos del algoritmo utilizado para cada variable de desempeño.
Cadena de Markov en tiempo discreto
Empresa ELECTRONICA S.A.
Análisis y supuestos de algoritmo para media de días hasta que no se satisface la demanda diaria por primera vez.
Para calcular la cantidad de días promedio hasta que no se satisface por primera vez la demanda se realiza el siguiente algoritmo.
1. Se realizan un número razonable de iteraciones generales. Cada iteración contiene los siguientes pasos. Se comienza con X0 = 35 medidores a la venta.
2. Se calcula la cantidad de pedidos de medidores durante un día cualquiera. Esto considerando las probabilidades de realizar 2 pedidos o 1 pedido. Y tomando el tiempo entre llegadas de órdenes como una variable aleatoria exponencial a tasa 2 [ordenes/hora]. El tiempo en que pueden llegar órdenes es de 7 horas.
3. Al final de cada día (luego de las 7 horas de recibir órdenes) se calcula la cantidad de medidores que quedan y se toman las decisiones apropiadas para el día siguiente. (reposición). Además se incrementa el contador de días transcurridos.
4. Cuando el sistema encuentre que la cantidad de pedidos en un día fue mayor que la cantidad de cajas en venta. Es decir Xn – ordenes < 0 (Xn = cantidad de medidores en el día n). El sistema detiene el contador de días y acaba con la primera iteración, guardando en un vector el número de días hasta que no se pudo satisfacer la demanda.
5. Este proceso se realiza la cantidad de veces determinada en el número de iteraciones que se escogió realizar para resolver el problema.
Finalmente se utiliza el vector de días encontrado (el largo del vector será igual al número de iteraciones escogidas). 
De la siguiente forma se encuentra la variable pedida:
 
Análisis y supuestos de algoritmo para la probabilidad de que la existencia de transductores sea menor o igual a 10
Para encontrar esta probabilidad se implementó el siguiente algoritmo:
1. Se escoge una cantidad de iteraciones generales. Cada una de estas iteraciones contiene los pasos que se describen a continuación:
2. Se realiza un estudio escogiendo como cantidad inicial de trasductores igual a 35 en bodega. Este número no tendrá mayores implicancias ya que el estudio durará entre 1 y 2 años (escogido aleatoriamente para cumplir la condición “en un instante cualquiera a largo plazo”). Por lo cual se puede considerar como un estudio a largo plazo que no dependerá de la condición inicial (además es una cadena irreductible con distribución estacionaria). Claro está que los resultados no serán perfectos.
3. Se calcula la cantidad de pedidos de medidores durante un día cualquiera. Esto considerando las probabilidades de realizar 2 pedidos o 1 pedido. Y tomando el tiempo entre llegadas de órdenes como una variable aleatoria exponencial a tasa 2 [ordenes/hora]. El tiempo en que pueden llegar órdenes es de 7 horas. 
4. Al final de cada día (luego de las 7 horas de recibir órdenes) se calcula la cantidad de medidores que quedan y se toman las decisiones apropiadas para el día siguiente. (reposición). Además se incrementa el contador de días transcurridos.
5. Al finalizar la simulación en el tiempo (1 a 2 años) se calcula la cantidad de transductores que quedan (del último día de simulación: instante cualquiera). Y se verifica si esta cantidad es mayor o menor que 10. Si es menor o igual a 10 se incrementa un contador. Si es mayor el programa continúa con la siguiente iteración general sin hacer nada.
6. Al finalizar la cantidad de iteraciones generales seleccionada, el contador estará incrementado en la cantidad de veces que el programa encontró que el número de transductores era menor o igual a 10. Por lo tanto para obtener la probabilidad requerida se resuelve el siguiente cálculo:
 
Análisis y supuestos de algoritmo para la probabilidad de que la existencia de transductores sea mayor a 40 después de la reposición
Para encontrar esta probabilidad se implementó el siguiente algoritmo:
1. Se escoge una cantidad de iteraciones generales. Cada una de estas iteraciones contiene los pasos que se describen a continuación:
2. Se realiza un estudio escogiendo como cantidad inicial de trasductores igual a 35 en bodega. Este número no tendrá mayores implicancias ya que el estudio durará entre 1 y 2 años (escogido aleatoriamente para cumplir la condición “en un instante cualquiera a largo plazo”). Por lo cual se puede considerar como un estudio a largo plazo que no dependerá de la condición inicial (además es una cadena irreductible con distribución estacionaria). Claro está que los resultados no serán perfectos.
3. Se calcula la cantidad de pedidos de medidores durante un día cualquiera. Esto considerando las probabilidades de realizar 2 pedidos o 1 pedido. Y tomando el tiempo entre llegadas de órdenes como una variable aleatoria exponencial a tasa 2 [ordenes/hora]. El tiempo en que pueden llegar órdenes es de 7 horas. 
4. Al final de cada día (luego de las 7 horas de recibir órdenes) se calcula la cantidad de medidores que quedan y se toman las decisiones apropiadas para el día siguiente. (reposición) Además se incrementa el contador de días transcurridos.
5. Al finalizar la simulación en el tiempo (1 a 2 años) se calcula la cantidad de transductores que quedan luego de la reposición (del último día de simulación: instante cualquiera). Y se verifica si esta cantidad es mayor o menor que 40. Si es mayor que 40 se incrementa un contador. Si es menor el programa continúa con la siguiente iteración general sin hacer nada.
6. Al finalizar la cantidad de iteraciones generales seleccionada, el contador estará incrementado en la cantidad de veces que el programa encontró que el número de transductores era mayor que 40. Por lo tanto para obtener la probabilidad requerida se resuelve el siguiente cálculo:
Intuitivamente se puede pensar que la probabilidad de encontrar más de 40 transductores al inicio de un día es un poco mayor que encontrar 10 o menos transductores al final del día. Ya que esta segunda probabilidad está incluida en la primera. (Ya que al haber 10 o menos transductores se reponen hasta llegar a 50 transductores, que es mayor que 40)
Con esto queda demostrado el algoritmo a usar en el primer problema (Markov discreto) El cual se pasará a lenguaje computacional en C++. 
En el anexo se adjunta el programa en lenguaje C++, con sus respectivos comentarios indicando los pasos del algoritmo utilizado para cada variable de desempeño.
51
	CapítuloAnálisis de resultados
	6
	
Cadena de Markov en tiempo discreto
Empresa ELECTRONICA S.A.
Resultados tiempo esperado
En este problema obtener los resultados en forma analítica es un proceso muy largo y complejo.
Por lo tanto sólo se obtuvo resultados por medio del computador.
Los resultados del tiempo esperado, utilizando el algoritmo implementado para ello que utiliza iteraciones, son:
	Iteraciones
	10
	100
	500
	1000
	5000
	10000
	25000
	50000
	Tiempo esperado
No satisfacer dda.
(días) 
	46,2
	45,12
	41,114
	42,595
	42,0954
	42,1765
	42,4583
	42,0023
	
	
	Porcentajes de Error con respecto a 42 días
	
	
	10
	100
	500
	1000
	5000
	10000
	25000
	50000
	9,99%
	7,42%
	-2,11%
	1,41%
	0,22%
	0,41%
	1,09%
	0,00%
Se puede apreciar en la tabla que los valores rondan los 42 días aproximadamente. 
La tabla fue confeccionada utilizando distintas cantidades de iteraciones y por supuesto mientras más iteraciones se realicen más exacto es el resultado. 
Por lo tanto escogeremos como resultado ideal a 42 días (resultado de 50.000 iteraciones)
A continuación se muestran gráficos que muestran de mejor manera los resultados. 
Un gráfico que muestra como se forma la recta de valores entre los días y las iteraciones y un gráfico que muestra el porcentaje de error tomando como resultado correcto los 42 días.
En los gráficos se puede observar claramente que luego de las 500 iteraciones se puede llegar a un resultado razonable de la investigación. Esto hay que tomarlo muy en cuenta a la hora de simular un proceso, ya que mientras más iteraciones se realicen en la vida real (estudios reales) el costo se incrementa. Según estos resultados con 500 iteraciones basta para encontrar una solución acorde al problema.
En cambio si sólo se realizaran 10 o 100 iteraciones se llegaría a un resultado bastante alejado y sobreestimado de alrededor de 46 días (10% error). El cual podría traer consecuencias a la hora de implementar la solución para la empresa.
La empresa encuentra que por primera vez la demanda no se satisface luego de 42 días. Por lo cual para evitar estas pérdidas podría implementar un sistema de resguardo, dejando una cierta cantidad de transductores de reserva cada cierto intervalo de tiempo (menor a 42 días) para evitar las pérdidas de venta por falta de insumos.
Resultados probabilidad de que existan menos de 11 transductores al final del día 
Los resultados de la probabilidad de que existan menos de 11 transductores, utilizando el algoritmo implementado para ello que utiliza iteraciones, son:
	
	
	Porcentajes de Error con respecto a 50000 iteraciones
	
	10
	100
	500
	1000
	5000
	10000
	25000
	50000
	29,56%
	12,28%
	7,96%
	0,62%
	-2,40%
	4,38%
	1,23%
	0,00%
Se puede apreciar en la tabla que los valores rondan la probabilidad de 0.23 aproximadamente. 
La tabla fue confeccionada utilizando distintas cantidades de iteraciones y por supuesto mientras más iteraciones se realicen más exacto es el resultado. 
Por lo tanto escogeremos como resultado ideal a 0.23156 (resultado de 50.000 iteraciones) Que puede pensarse como infinito.
A continuación se muestran gráficos que muestran de mejor manera los resultados. 
Un gráfico que muestra como se forma un recta aproximada por el número de iteraciones. También se muestra un gráfico que describe el porcentaje de error con respecto a las 50000 iteraciones.
	Iteraciones
	10
	100
	500
	1000
	5000
	10000
	25000
	50000
	Probabilidad
Transductores <=10
	0,3
	0,26
	0,25
	0,233
	0,226
	0,2417
	0,2344
	0,23156
En los gráficos se puede apreciar que se llega a un resultado razonablemente exacto luego de las 1000 iteraciones. Ya que con menos iteraciones (10, 100 o 500) los porcentajes de error son considerablemente altos, en un orden desde 10% hasta 30%.
Luego de las 1000 iteraciones el rango de la probabilidad se mantiene más o menos estables con algunos saltos en las 5000 y las 10000 iteraciones, regularizándose en las 25000 y 50000 iteraciones. El orden de la probabilidad esta más o menos en 0.23.
Esto es un indicativo para la empresa, que le lleva a concluir que un quinto de las reposiciones será del tipo de llegar hasta 50 transductores para el siguiente día. Ya que al tener menos de 11 transductores la empresa repone hasta llegar a 50 para comenzar las ventas al siguiente día.
Con esto la empresa sabe cuales serán aproximadamente sus costos de reposición en parte del sistema.
Resultados probabilidad de que existan más de 40 transductores al primcipio del día 
Los resultados de la probabilidad de que existan más de 40 transductores, utilizando el algoritmo implementado para ello que utiliza iteraciones, están dados por las siguientes tablas:
	Iteraciones
	10
	100
	500
	1000
	5000
	10000
	25000
	50000
	Probabilidad
transductores
Mayor que 40
	0,3
	0,26
	0,258
	0,238
	0,2326
	0,2475
	0,24108
	0,23706
	
	
	Porcentajes de Error con respecto a 50000 iteraciones
	
	10
	100
	500
	1000
	5000
	10000
	25000
	50000
	26,55%
	9,68%
	8,83%
	0,40%
	-1,88%
	4,40%
	1,70%
	0,00%
Se puede apreciar en la tabla que los valores rondan la probabilidad de 0.24 aproximadamente. 
La tabla fue confeccionada utilizando distintas cantidades de iteraciones y por supuesto mientras más iteraciones se realicen más exacto es el resultado. 
Por lo tanto escogeremos como resultado ideal a 0.23706 (resultado de 50.000 iteraciones) Que puede pensarse como infinito.
A continuación se muestran gráficos que muestran de mejor manera los resultados. 
Un gráfico que muestra como se forma una recta aproximada por el número de iteraciones. También se muestra un gráfico que describe el porcentaje de error con respecto a las 50000 iteraciones.
En los gráficos se puede apreciar que se llega a un resultado razonablemente exacto luego de las 1000 iteraciones. Ya que con menos iteraciones (10, 100 o 500) los porcentajes de error son considerablemente altos, en un orden desde 10% hasta 30%. Esta sobreestimación se debe a que se eligió un punto de partida fijo y que con el pasar de las iteraciones se hace despreciable su influencia.
Luego de las 1000 iteraciones el rango de la probabilidad se mantiene más o menos estables con algún salto en las 10000 iteraciones. El orden de la probabilidad esta más o menos en 0.24.
Se puede concluir que la suposición hecha en el capitulo 5 es apoyada por estos resultados. Ya que se aprecia que en todo momento la probabilidad de >40 siempre es mayor o en algunos casos igual a la probabilidad < 11, por lo cual se comprueba que los resultados obtenidos por medio de la simulación computacional esta de acuerdo al análisis analítico.
La diferencia de probabilidades es pequeña (aprox. 0.005) Esta diferencia representa los casos en que habrán más de 40 transductores en la mañana y los pedidos fueron tan pocos que al final de ese día quedaron nuevamente más de 40. Queda claro que la probabilidad de que existan menos de 10 pedidos es pequeña (además al principio del día se debía cumplir que existieran más de 40, lo cual demuestra porque la diferencia de probabilidades es tan pequeña)
Esta diferencia de probabilidades se muestra en la siguiente tabla de datos:
	Iteraciones
	10
	100
	500
	1000
	5000
	10000
	25000
	50000
	Transductores <= 10
	0,3
	0,26
	0,25
	0,233
	0,226
	0,2417
	0,2344
	0,23156
	Transductores >40
	0,3
	0,26
	0,258
	0,238
	0,2326
	0,2475
	0,24108
	0,23706
	Diferencia probabilidad
	0
	0
	0,008
	0,005
	0,0066
	0,0058
	0,00668
	0,0055
Aquí se aprecia lo dicho con anterioridad, y además se reafirma que los datos comienzan a ser bastante correctos luego de las 1000 iteraciones, ya que aquí comienza a apreciarse una diferencia de probabilidades del orden de 0.005.
Esta probabilidad se puede expresar analíticamente como:
Con esto se finaliza el análisis de los resultados obtenidos de la simulación estocástica de las variables aleatorias involucradas en el problema.
Cadena de Markov en tiempo continuo
Empresa Manufacturera de tarjetas de crédito
	Estado/Año
	1/2 año
	1 año
	2 años 
	5 años
	10 años20 años
	100 años
	500 años
	1000 años
	10000 años
	X (0,0)
	0,03731
	0,02078
	0,03003
	0,02988
	0,02493
	0,02708
	0,02711
	0,02597
	0,0263
	0,02612
	X (1,0)
	0,01758
	0,02165
	0,03614
	0,03409
	0,03158
	0,03214
	0,02959
	0,02918
	0,0293
	0,02913
	X (1,1)
	0,0582
	0,03931
	0,04415
	0,04226
	0,04534
	0,04325
	0,0444
	0,04418
	0,04374
	0,04363
	X (2,0)
	0,0171
	0,02443
	0,04254
	0,03886
	0,03291
	0,03586
	0,03349
	0,03233
	0,03273
	0,03279
	X (2,1)
	0,13641
	0,09969
	0,1166
	0,10142
	0,1141
	0,10643
	0,11108
	0,10904
	0,10914
	0,10881
	X (3,1)
	0,22378
	0,21314
	0,20445
	0,18405
	0,18745
	0,18414
	0,19068
	0,18881
	0,18888
	0,18852
	X (4,1)
	0,20012
	0,23505
	0,20102
	0,21788
	0,21022
	0,22217
	0,21975
	0,21931
	0,21968
	0,21975
	X (5,1)
	0,20066
	0,21122
	0,20218
	0,21705
	0,22162
	0,21464
	0,21538
	0,22003
	0,22005
	0,22006
	X (6,2)
	0,09557
	0,0917
	0,09234
	0,09225
	0,09318
	0,09384
	0,08976
	0,09127
	0,09132
	0,09159
	X (7,2)
	0,0072
	0,03562
	0,02702
	0,03392
	0,03122
	0,03008
	0,03013
	0,03072
	0,03036
	0,03051
	X (8,2)
	0
	0,00736
	0,00349
	0,00748
	0,005596
	0,00843
	0,00738
	0,00773
	0,00707
	0,00767
	X (9,2)
	0
	0
	0
	0,00043
	0,00128
	0,00172
	0,00116
	0,00132
	0,00125
	0,00127
	X (10,2)
	0
	0
	0
	0,00035
	0,00014
	0,00015
	0,00003
	0,00006
	0,00012
	0,0001
Por medio del algoritmo implementado para la solución de las fracciones de tiempo o probabilidades se encontraron los siguientes resultados de las probabilidades de cada estado. Las probabilidades calculadas vía desarrollo analítico fueron calculadas en el capítulo 4 y está expresadas en una tabla. En este capitulo sólo se mostrarán las diferencias porcentuales de las probabilidades y del las fracciones de tiempo.
En esta tabla se tabulan todas las probabilidades para cada estado en estudios sucesivos de ½ año, 1 año, 2 años, etc…
En esta tabla se muestran los porcentajes de error con respecto a la tabla desarrollada en forma analítica en el capitulo 4 de este informe.
Se aprecia claramente que mientras más años se simule la situación más cerca de los resultados correctos se está.
Pero resulta ilógico realizar una simulación que dure 10000 años. Esto sólo se realizó para comprobar la efectividad del algoritmo implementado.
Ahora se compararan las dos fracciones de tiempo pedidas (su fórmula para el cálculo está explicitada en el capítulo 5)
	Variable Desempeño/Año
	Calculados Analíticamente
	Fracción tiempo inventario
	0,087768
	Fracción tiempo reparando
	0,912225
	Porcentajes de Error (%)
	Estado/Año
	1/2 año
	1 año
	2 años 
	5 años
	10 años
	20 años
	100 años
	500 años
	1000 años
	10000 años
	X (0,0)
	42,88%
	-20,42%
	15,00%
	14,43%
	-4,53%
	3,70%
	3,82%
	-0,55%
	0,72%
	0,03%
	X (1,0)
	-39,41%
	-25,38%
	24,56%
	17,50%
	8,84%
	10,77%
	1,99%
	0,57%
	0,99%
	0,40%
	X (1,1)
	33,73%
	-9,68%
	1,45%
	-2,90%
	4,18%
	-0,62%
	2,02%
	1,51%
	0,50%
	0,25%
	X (2,0)
	-47,61%
	-25,16%
	30,33%
	19,05%
	0,82%
	9,86%
	2,60%
	-0,95%
	0,27%
	0,46%
	X (2,1)
	25,37%
	-8,38%
	7,17%
	-6,79%
	4,87%
	-2,18%
	2,09%
	0,22%
	0,31%
	0,01%
	X (3,1)
	18,66%
	13,02%
	8,41%
	-2,41%
	-0,61%
	-2,36%
	1,11%
	0,11%
	0,15%
	-0,04%
	X (4,1)
	-9,05%
	6,83%
	-8,64%
	-0,98%
	-4,46%
	0,97%
	-0,13%
	-0,33%
	-0,16%
	-0,13%
	X (5,1)
	-8,80%
	-4,00%
	-8,11%
	-1,35%
	0,72%
	-2,45%
	-2,11%
	0,00%
	0,01%
	0,02%
	X (6,2)
	4,25%
	0,03%
	0,72%
	0,63%
	1,64%
	2,36%
	-2,09%
	-0,44%
	-0,39%
	-0,09%
	X (7,2)
	-76,44%
	16,56%
	-11,58%
	11,00%
	2,16%
	-1,57%
	-1,40%
	0,53%
	-0,65%
	-0,16%
	X (8,2)
	-100,00%
	-3,65%
	-54,31%
	-2,08%
	-26,74%
	10,35%
	-3,39%
	1,19%
	-7,45%
	0,41%
	X (9,2)
	-100,00%
	-100,00%
	-100,00%
	-66,22%
	0,55%
	35,11%
	-8,88%
	3,69%
	-1,81%
	-0,24%
	X (10,2)
	-100,00%
	-100,00%
	-100,00%
	230,19%
	32,08%
	41,51%
	-71,70%
	-43,40%
	13,21%
	-5,66%
	Variables de Desempeño Calculadas en la Simulación
	Var.
Desempeño/Año
	1/2 año
	1 año
	2 años 
	5 años
	10 años
	20 años
	100 años
	500 años
	1000 años
	10000 años
	Fracción tpo.inventario
	 0,07199 
	 0,06686 
	 0,10871 
	 0,10283 
	 0,08942 
	 0,09508 
	 0,09019 
	 0,08748 
	 0,08833 
	 0,08804 
	Fracción tpo.reparando
	 0,92194 
	 0,93309 
	 0,89125 
	 0,89709 
	 0,91015 
	 0,90485 
	 0,90975 
	 0,91247 
	 0,91161 
	 0,91191 
En esta tabla se muestran lo valores de las fracciones de tiempo encontradas por la simulación de los distintos lapsos de tiempo.
	Porcentajes de Error(%)
	Var.
Desempeño/Año
	1/2 año
	1 año
	2 años 
	5 años
	10 años
	20 años
	100 años
	500 años
	1000 años
	10000 años
	Fracción tpo.inventario
	-17,98%
	-23,82%
	23,86%
	17,16%
	1,88%
	8,33%
	2,76%
	-0,33%
	0,64%
	0,31%
	Fracción tpo.reparando
	1,06%
	2,29%
	-2,30%
	-1,66%
	-0,23%
	-0,81%
	-0,27%
	0,03%
	-0,07%
	-0,03%
 En esta tabla de datos se muestra las diferencias porcentuales con respecto a los valores encontrados analíticamente.
Después de analizar los datos se obtiene que para realizar una simulación bien aproximada a lo calculado analíticamente se requieren 10 años de simulación. Con este lapso de tiempo los porcentajes de error ya son menores que un 2 %. 
Pero hay que tomar en cuenta que con los resultados obtenidos se aprecia que el técnico permanente pasa más del 90% reparando máquinas. Y las diferencias porcentuales de esta fracción de tiempo son muy bajas en todos los lapsos de simulación (menos de un 3%). Por se puede considerar que un estudio de ½ año sería suficiente. Los errores porcentuales grandes en la otra fracción son causados por que esta fracción de tiempo es muy pequeña (menos de un 10% del tiempo total) entonces la más mínima variación produce un gran error porcentual, que no se ve en la otra fracción.
Se concluye que el técnico destina muy poco tiempo para las faenas de inventario, teniendo que estar gran cantidad de tiempo en faenas de reparación de máquinas. La empresa debe tomar en cuenta estos datos y verificar si no es necesario la contratación de otro empleado para las faenas de inventario o si con el tiempo dedicado por el empleado fijo se satisfacen las necesidades de inventario.
A continuación se muestran los gráficos conjuntos de las tablas anteriores, incluyendo ambas fracciones de tiempo.
 
En el gráfico se aprecia que al aumentar la cantidad de tiempo de simulación, la curva se acerca cada vez más a la recta de valores analítica.
En este gráfico se aprecian las diferencias porcentuales con respecto a los cálculos analíticos. A simple vista se aprecia que las diferencias en la fracción inventario son gigantescas porcentualmente, pero son iguales en cantidad numérica (ya que ambas fracciones son complementos, es decir suman uno).
Resultados tiempo promedio de permanencia en el taller y promedio de máquinas en el taller 
Los resultados obtenidos en la parte analítica con respecto a los valores de la simulación computacional con una cantidad de iteraciones que vartían entre 100 y 10000 se observa claramente que al iniciar las 1000 iteraciones los resultados comienzan a tender a los valores obtenidos bajo cálculos en la parte analítica.
La tabla a continuación muestra los resultados obtenidos por medio de la simulación computacional. Para distintas cantidades de iteraciones. 
	Iteraciones
	100
	500
	1000
	5000
	10000
	Tiempo esperado
	-3,78%
	-1,17%
	0,17%
	-0,29%
	-0,69%
	Promedio maquinas
	-2,92%
	0,29%
	0,91%
	1,48%
	1,45%
 	TERMINEN Fafalta la variable de desempeño del tiempo ,pero solamente la simulación la parte analítica ya se resolvió
Falta tiempo de espera y cantidad de maquinas en el sistema….
TERMINA EL ANÁLISIS (QUE SEA HUENO POR QUE ES PARTE QUE VALE DEL TRABAJO)
EN EL DESARROLLO ANALITICO COLOCA PEQUEÑAS FRASES QUE DEN CONEXIÓN A LO MOSTRADO (NO LLEGAR Y PLANTAR LAS ECUACIONES O GRAFICOS…¿Dónde ESTA COMO SE HACEN LAS ECUACIONES DE ESTADO?
¿Dónde ESTÁ COMO SE CALCULAN LAS VARIABLES DE DESEMPEÑO? EJ: SUIMATOTIA Pn*n… blablabla
Y LAS CONCLUSIONES …¿?¿? TU O CLAUDIO USTEDES SE ARREGLAN…..
Mandaselo AL CHICO PA QUE SE HAGA UN INDICE BONITO..
	Capítulo
	Conclusiones
	7
	
	
Terminado el informe,el grupo está apto para hacer especificaciones que sirvan como un modo de concluir o dejar estipulado ciertos antecedentes con respecto a esta tarea. 
Con respecto al análisis del problema de cadena de markov en tiempo discreto, o sea, en el problema referente a la empresa ELECTRÓNICA S.A. se puede extraer del trabajo y de las respuestas entregadas frente a las preguntas que se contestaron y analizaron, que con respecto a la existencia de transductores y su inventario a las 8:00 pm, se concluye que en largo plazo, la existencia de transductores en bodega a esa hora será menor o igual a 10, con lo cual se puede sellar que al comienzo del otro día de trabajo se encontrarán disponibles generalmente 50 transductores, debido a la reposición para ese caso determinado.
En relación al segundo problema, o sea, el de la empresa manufacturera que pertenecía a modelos de cadenas de markov en tiempo continuo, se concluye luego del análisis realizado para los tiempos que se obtuvieron en el largo plazo sobre la cantidad de máquinas en el taller, que generalmente habrán cerca de 4 de estas (promedio 3,739 en el largo plazo), con lo que por lo general existirá en el sistema una persona trabajando y no existirán las dos que pueden darse para el caso de que si el número de máquinas sea mayor a 5. Además se obtuvo el tiempo promedio de espera para ser reparadas las máquinas en el largo plazo (2.986), lo que comparado con la tasa de salida se observa que es mayor.
Con estas conclusiones generalizadas basadas en el exhaustivo análisis previo, el grupo da por finalizada su tarea en el trabajo computacional, rematando así un extenso estudio de los problemas, con respecto a la manera de abordarlos teóricamente y en la práctica, específicamente con lo referente a los desarrollos computacionales. Además el grupo queda satisfecho con el trabajo realizado, tanto por el resultado del esfuerzo realizado como por la suma de conocimientos con respecto al ramo de modelos estocásticos, gracias a la profundización de contenidos realizados. Sin más que acotar se espera que el lector haya quedado satisfecho con este informe y se le invita a continuar en las siguientes páginas con la lectura del anexo computacional de ambos problemas.
	Capítulo
	Anexo
	8
	
Cadena de Markov en tiempo discreto
PROGRAMA EN C++
# include <iostream.h>
# include <stdlib.h>
# include <math.h>
# include <time.h>
#include <stdio.h>
 
 
void IniciarRand()
{
 time_t tiempo;
 
 time(&tiempo);
 srand(tiempo);
}
double aleatorio(double inicio, double termino)
{
 return((double)rand()/RAND_MAX*(termino-inicio)+inicio);
}
int random(int A, int B)
{
	return ((int)((double)rand()/RAND_MAX*(B-A+1)+A));
}
double expo(double tasa)
{
	return(-log(aleatorio(0,1))/tasa);
}
void main ()
{
IniciarRand();
 
int iteracion = 50000;
int dia[50000];
int X=0, Y=0,
 i=0, k=0;
int dias=0;
int dias_hastaperder=0;
double prob=0;
int ordenes =0;
int perdidas =0;
double tiempo_acumulado;
int contador =0, contador2=0;
while (i<iteracion)
{
	
	X=35;
	k=0;
	dias =0;
	while (!k)
	{ 	tiempo_acumulado=0;
		ordenes=0;
		while (tiempo_acumulado < 7)
		{
			tiempo_acumulado = tiempo_acumulado + expo(2);
			prob=random(1,10);
			if (prob <= 2)
				ordenes = ordenes + 2;
			else
				ordenes = ordenes + 1;
		}
		
		dias++;
		Y = X -ordenes;
		if (X-ordenes<0)
		{
			k=1;
			perdidas = ordenes - X;
			X=50;
		}
		else if (X-ordenes <=10 && X-ordenes >=0)
			X=50;
		else if (X-ordenes <=20 && X-ordenes >10)
			X= X - ordenes + 20;
		else X = X - ordenes;
	}
	dia[i] = dias;
	i++;
}
i=0;
while (i<iteracion)
{
	dias_hastaperder = dias_hastaperder + dia[i];
	i++;
}
cout << "dias_hastaperder" <<dias_hastaperder << endl;
cout << "dias esperados hasta que no se satisface la demanda: " << (double)dias_hastaperder/iteracion << endl;
int diasrandom;
i=0; double l=0;
while (i<iteracion)
{
	X=35;
	dias =0;
	ordenes=0;
	diasrandom = random(365,710);
		while (dias < diasrandom)
		{
			ordenes=0;
			tiempo_acumulado =0;
			while (tiempo_acumulado < 7)
			{			
				
				tiempo_acumulado = tiempo_acumulado + expo(2);
				prob=random(1,10);
				if (prob <= 2)
					ordenes = ordenes + 2;
				else
					ordenes = ordenes + 1;
				
			}
			dias++;
			Y=X-ordenes;
			if (X-ordenes<0)
				X=50;
			else if (X-ordenes <=10 && X-ordenes >=0)
				X=50;
			else if (X-ordenes <=20 && X-ordenes >10)
				X= X - ordenes + 20;
			else 
				X = X - ordenes;
		
		}
		if (X>40)
		{
			contador2++;
		}
		if (Y<=10)
		{
			contador++;
		}
		i++;
}
cout << " Probabilidad de que hayan >40 a las 8:30 :" << (double)contador2/iteracion << endl;
cout << "Probabilidad de que <=10 al final del dia " << (double)contador/iteracion << endl;
}
Cadena de Markov en tiempo continuo
PROGRAMA EN C++
# include <iostream.h>
# include <stdlib.h>
# include <math.h>
# include <time.h>
#include <stdio.h>
 
 
void IniciarRand()
{
 time_t tiempo;
 
 time(&tiempo);
 srand(tiempo);
}
double aleatorio(double inicio, double termino)
{
 return((double)rand()/RAND_MAX*(termino-inicio)+inicio);
}
double expo(double tasa)
{
	return(-log(aleatorio(0,1))/tasa);
}
void main ()
{
IniciarRand();
int estados[10000];
double tiempoespera[10000];
int iteracion =10000;
int iteracion2=iteracion;
double L = 0.2 ,S = 1.2; 
int i=0, j=0, t=0;
int estado2=0;
int estado=0;
double tiempo_llegada;
double tiempo_salida;
double suma[13];
double sumatotal=0;
int year = 365;
double tiempo_espera;
j=0;
while (j<iteracion)
{
	i=0;
	while (i<13)
	{
	suma[i]=0;
	i++;
	}
	sumatotal=0;
	
	while (sumatotal<aleatorio(30,30)*year)
{
	sumatotal=0;
	if (estado==0)
	{ 
		
		tiempo_llegada=expo(10*L);
		suma[0] = suma[0] + tiempo_llegada;
		estado++;
	
	
	}
	else if (estado==1)
	{ 	
		
		tiempo_llegada=expo(9*L);
		suma[1] = suma[1]+ tiempo_llegada;
		estado++;
		
	
	}
	else if (estado==2)
	{ 
		tiempo_llegada=expo(8*L);
		suma[2] = suma[2] + tiempo_llegada;
		estado++;
		
	
	}
	else if (estado==3)
	{ 
	
		tiempo_salida=expo(S);
		tiempo_llegada = expo(7*L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado++;
			suma[3] = suma[3] + tiempo_llegada;
		}
		else
		{
			estado = 21;
			suma[3] = suma[3] + tiempo_salida;
		
		}
	}
	else if (estado==4)
	{ 
		tiempo_salida=expo(S);
		tiempo_llegada = expo(6*L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado++;
			suma[4] = suma[4] + tiempo_llegada;
		}
		else
		{
			estado--;
			suma[4] = suma[4] + tiempo_salida;
		
		}
	}
	else if (estado==5)
	{ 
		tiempo_salida=expo(S);
		tiempo_llegada = expo(5*L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado++;
			suma[5] = suma[5] + tiempo_llegada;
		}
		else
		{
			estado--;
			suma[5] = suma[5] + tiempo_salida;
		
		}
	}
	
	else if (estado==6)
	{ 
		tiempo_salida=expo(2*S);
		tiempo_llegada = expo(4*L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado++;
			suma[6] = suma[6] + tiempo_llegada;
		}
		else
		{
			estado--;
			suma[6] = suma[6] + tiempo_salida;
		
		}
	}
	else if (estado==7)
	{ 
		tiempo_salida=expo(2*S);
		tiempo_llegada = expo(3*L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado++;
			suma[7] = suma[7] + tiempo_llegada;
		}
		else
		{
			estado--;
			suma[7] = suma[7] + tiempo_salida;
		
		}
	}
	else if (estado==8)
	{ 
		tiempo_salida=expo(2*S);
		tiempo_llegada = expo(2*L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado++;
			suma[8] = suma[8] + tiempo_llegada;
		}
		else
		{
			estado--;
			suma[8] = suma[8] + tiempo_salida;
		
		}
	}
	else if (estado==9)
	{ 
		tiempo_salida=expo(2*S);
		tiempo_llegada = expo(L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado++;
			suma[9] = suma[9] + tiempo_llegada;
		}
		else
		{
			estado--;
			suma[9] = suma[9] + tiempo_salida;
		
		}
	}
	else if (estado==10)
	{ 
		tiempo_salida=expo(2*S);
		estado--;
		suma[10] = suma[10] + tiempo_salida;
	}
	else if (estado==11)
	{
		tiempo_salida=expo(S);
		tiempo_llegada=expo(9*L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado=21;
			suma[11] = suma[11] + tiempo_llegada;}
		else
		{
			estado=0;
			suma[11] = suma[11] + tiempo_salida;
		}
	}
	else if (estado==21)
	{
		tiempo_salida =expo(S);
		tiempo_llegada = expo(8*L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado= 3;
			suma[12] = suma[12] + tiempo_llegada;
		}
		else
		{
			estado = 11;
			suma[12] = suma[12] + tiempo_salida;
		}
	}
	i=0;
	while (i<13)
	{ 	sumatotal=sumatotal+suma[i];
		i++;
	}
}
estados[j]=estado;
t=0;
tiempo_espera=0;
estado2=estado;
if (estado==21)
	
	estado2=2;
	
if (estado==11)
	{
		estado2=1;
		tiempo_espera = tiempo_espera + 2*expo(S);
		i=8;
		while (expo(i*L) < expo(S) && i >4)
		{
			tiempo_espera = tiempo_espera + expo(i*L);
			i--;
		}
		while (expo(i*L) < expo (2*S) && i <=4)
		{
			tiempo_espera = tiempo_espera + expo(i*L);
			i--;
		}
	}
	
if (estado==0)
{
	tiempoespera[j]=0;
	iteracion2=iteracion2-1;
	
}
else
{
while (t<estado2)
{
 if (estado==1)
	{ 	
		
		tiempo_llegada=expo(9*L);
		estado++;
		tiempo_espera= tiempo_espera + tiempo_llegada;
		
	}
	else if (estado==2)
	{ 
		tiempo_llegada=expo(8*L);
		estado++;
		tiempo_espera= tiempo_espera + tiempo_llegada;
	}
	else if (estado==3)
	{ 
		tiempo_salida=expo(S);
		tiempo_llegada = expo(7*L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado++;
			tiempo_espera= tiempo_espera + tiempo_llegada;
		}
		else
		{
			estado = 21;
			tiempo_espera= tiempo_espera + tiempo_salida;
			t++;
		}
	}
	else if (estado==4)
	{ 
		tiempo_salida=expo(S);
		tiempo_llegada = expo(6*L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado++;
			tiempo_espera= tiempo_espera + tiempo_llegada;
		}
		else
		{
			estado--;
			tiempo_espera= tiempo_espera + tiempo_salida;
			t++;
		}
	}
	else if (estado==5)
	{ 
		tiempo_salida=expo(S);
		tiempo_llegada = expo(5*L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado++;
			tiempo_espera= tiempo_espera + tiempo_llegada;
		}
		else
		{
			estado--;
			tiempo_espera= tiempo_espera + tiempo_salida;
			t++;
		
		}
	}
	
	else if (estado==6)
	{ 
		tiempo_salida=expo(2*S);
		tiempo_llegada = expo(4*L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado++;
			tiempo_espera= tiempo_espera + tiempo_llegada;
		}
		else
		{
			estado--;
			tiempo_espera= tiempo_espera + tiempo_salida;
			t++;
		
		}
	}
	else if (estado==7)
	{ 
		tiempo_salida=expo(2*S);
		tiempo_llegada = expo(3*L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado++;
			tiempo_espera= tiempo_espera + tiempo_llegada;
		}
		else
		{
			estado--;
			tiempo_espera= tiempo_espera + tiempo_salida;
			t++;
		
		}
	}
	else if (estado==8)
	{ 
		tiempo_salida=expo(2*S);
		tiempo_llegada = expo(2*L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado++;
			tiempo_espera= tiempo_espera + tiempo_llegada;
		}
		else
		{
			estado--;
			tiempo_espera= tiempo_espera + tiempo_salida;
			t++;
		
		}
	}
	else if (estado==9)
	{ 
		tiempo_salida=expo(2*S);
		tiempo_llegada = expo(L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado++;
			tiempo_espera= tiempo_espera + tiempo_llegada;
		}
		else
		{
			estado--;
			tiempo_espera= tiempo_espera + tiempo_salida;
			t++;
		
		}
	}
	else if (estado==10)
	{ 
		tiempo_salida=expo(2*S);
		estado--;
		tiempo_espera= tiempo_espera + tiempo_salida;
		t++;
	}
	else if (estado==11)
	{
		tiempo_salida=expo(S);
		tiempo_llegada=expo(9*L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado=21;
			tiempo_espera= tiempo_espera + tiempo_llegada;
		}
		else
		{
			estado=0;
			tiempo_espera= tiempo_espera + tiempo_salida;
			t++;
		}
	}
	else if (estado==21)
	{
		tiempo_salida =expo(S);
		tiempo_llegada = expo(8*L);
		if (tiempo_salida > tiempo_llegada)
		{
			estado= 3;
			tiempo_espera= tiempo_espera + tiempo_llegada;
		}
		else
		{
			estado = 11;
			tiempo_espera= tiempo_espera + tiempo_salida;
			t++;
		}
	}
}
tiempoespera[j] = tiempo_espera;
}
j++;
}
int l=0;
tiempo_espera=0;
while (l<iteracion)
{
	tiempo_espera= tiempo_espera + tiempoespera[l];
	l++;
}
cout << "Tiempo de espera de una máquina: " << tiempo_espera/iteracion2 << endl;
 
int k=0;
int suma_estado=0;
while (k<iteracion)
{
	if (estados[k]==21)
	{
		estados[k]=2;
	}
	if (estados[k]==11)
	{
		estados[k]=1;
	}
	
	suma_estado= suma_estado + estados[k];
	k++;
}
cout << "Cantidad iteraciones: " << k << endl;
cout << "Promedio de maquinas: " << (double)(suma_estado)/iteracion << endl;
double Prob[13];
i=0;
while (i<13)
{
		
	Prob[i]=suma[i]/sumatotal;
	i++;
}
i=0;
double promedio;
while (i<11)
{
	promedio = promedio + Prob[i]*i;
	i++;
}
promedio=promedio+Prob[11]+Prob[12]*2;
cout << "promedio via ponderacion: " << promedio << endl;
i=0;
while (i<13)
{	
	cout<<" Estado: "<<i <<" tiempo: " <<suma[i]<<" Probabilidad: " <<Prob[i] << endl;
	i++;
}
}
		
		
oleObject41.bin
image42.wmf
6
.
1
2
*
8
.
0
*
8
.
0
1
=
=
=
l
l
oleObject42.bin
image43.wmf
4
.
0
2
*
2
.
0
*
2
.
0
2
=
=
=
l
l
oleObject43.bin
image44.wmf
(
)
!
2
.
11
!
}
)
(
{
2
.
11
1
1
1
n
e
n
t
e
n
t
N
P
n
n
t
´
=
÷
÷
ø
ö
ç
ç
è
æ
´
=
=
-
-
l
l
oleObject44.bin
image45.wmf
(
)
(
)
!
8
.
2
!
}
)
(
{
8
.
2
2
2
2
n
e
n
t
e
n
t
N
P
n
n
t
´
=
´
=
=
-
-
l
l
oleObject45.bin
oleObject46.bin
image46.wmf
n
X
n
t
N
P
n
=
³
/
)
(
{
oleObject47.bin
image47.wmf
}
)
(
{
n
t
N
nP
³
oleObject48.bin
image48.wmf
å
=
³
50
21
}
)
(
{
n
n
t
N
nP
oleObject49.bin
image49.wmf
oleObject50.bin
image50.wmf
å
=
-
³
50
21
}
10
)
(
{
n
n
t
N
P
oleObject51.bin
image51.wmf
å
=
-
<
-
50
21
}
10
)
(
{
1
n
n
t
N
P
oleObject52.bin
image52.wmf
å
å
-
=
=
=
-
10
0
50
21
}
)
(
{
1
n
j
n
j
t
N
P
oleObject53.bin
oleObject54.bin
image53.wmf
5
1
oleObject55.bin
image54.wmf
24
20
oleObject56.bin
image55.wmf
833
.
0
1
oleObject57.bin
image56.wmf
m
l
´
=
´
)
1
,
1
(
)
0
,
0
(
10
)
P
P
a
oleObject58.bin
image57.wmf
l
l
10
9
)
)
0
,
0
(
)
0
,
1
(
´
=
´
P
P
b
oleObject59.bin
image58.wmf
l
l
9
8
)
)
0
,
1
(
)
0
,
2
(
´
=
´
P
P
c
oleObject60.bin
image59.wmf
l
l
m
m
l
8
8
)
7
(
)
)
0
,
2
(
)
1
,
2
(
)
1
,
4
(
)
1
,
3
(
´
+
´
+
´
=
+
´
P
P
P
P
d
oleObject61.bin
image60.wmf
m
l
m
l
´
+
´
=
+
´
)
1
,
3
(
)
1
,
1
(
)
1
,
2
(
9
)
8
(
)
P
P
P
e
oleObject62.bin
image61.wmf
m
l
m
l
´
+
´
=
+
´
)
1
,
5
(
)
1
,
3
(
)
1
,
4
(
7
)
6
(
)
P
P
P
f
oleObject63.bin
image62.wmf
m
l
m
l
2
6
)
5
(
)
)
2
,
6
(
)
1
,
4
(
)
1
,
5
(
´
+
´
=
+
´
P
P
P
g
oleObject64.bin
image63.wmf
m
l
m
l
2
5
)
2
4
(
)
)
2
,
7
(
)
1
,
5
(
)
2
,
6
(
´
+
´
=
+
´
P
P
P
h
oleObject65.bin
image64.wmf
m
l
m
l
2
4
)
2
3
(
)
)
2
,
8
(
)
2
,
6
(
)
2
,
7
(
´
+
´
=
+
´
P
P
P
i
oleObject66.bin
image65.wmf
m
l
m
l
2
3
)
2
2
(
)
)
2
,
9
(
)
2
,
7
(
)
2
,
8
(
´
+
´
=
+
´
P
P
P
j
oleObject67.bin
image66.wmf
m
l
m
l
2
2
)
2
(
)
)
2
,
10
(
)
2
,
8
(
)
2
,
9
(
´
+
´
=
+
´
P
P
P
k
oleObject68.bin
image67.wmf
l
m
´
=
´
)
2
,
9
(
)
2
,
10
(
2
)
P
P
l
oleObject69.bin
image68.wmf
m
m
l
´
=
+
´
)
2
,
2
(
)
1
,
1
(
)
9
(
)
P
P
m
oleObject70.bin
oleObject71.bin
image69.wmf
252177
.
1
=
e
l
oleObject72.bin
image70.wmf
W
L
e
´
=
l
oleObject73.bin
image71.wmf
e
l
oleObject74.bin
image72.wmf
9860355
.
2
252177
.
1
739045
.
3
=
=
W
oleObject75.bin
image73.wmf
(
)
l
)
1
,
0
(
ln
exp
_
u
tiempo
-
=
oleObject76.bin
image74.wmf
iteracion
Tiempo
j
i
Sumatotal
j
i
P
_
)
,
(
)
,
(
=
oleObject77.bin
image75.wmf
)
0
,
2
(
)
0
,
1
(
)
0
,
0
(
P
P
P
+
+
image76.wmf
[
]
[
]
[
]
iteracion
tiempo
suma
suma
suma
_
2
10
+
+
image77.wmf
[
]
)
0
,
0
_(
_
_
0
estado
de
tiempo
suma
=
oleObject78.bin
image78.wmf
[
]
)
0
,
1
_(
_
_
1
estado
de
tiempo
suma
=
oleObject79.bin
image79.wmf
[
]
)
0
,
2
_(
_
_
2
estado
de
tiempo
suma
=
oleObject80.bin
image80.wmf
[
]
å
=
12
3
_
i
iteración
tiempo
i
suma
image81.wmf
[
]
[
]
[
]
iteración
tiempo
suma
suma
suma
_
2
1
0
1
+
+
-
image1.wmf
}
{
{
}
i
n
n
r
n
n
i
n
n
r
X
j
X
P
i
X
i
X
i
X
X
j
X
P
=
+
-
-
=
+
=
=
=
=
=
=
/
...
,
/
1
1
1
1
1
0
0
,
1
oleObject81.bin
image82.wmf
[
]
å
-
=
=
1
0
_
s
iteracione
i
máquinas
promedio
s
iteracione
i
Estado
oleObject82.bin
image83.wmf
[
]
esperado
Tiempo
s
iteracione
i
tiempo
s
iteracione
i
_
1
0
=
å
-
=
oleObject83.bin
image84.wmf
[
]
å
-
=
=
1
0
)
(
s
iteracione
i
i
dias
dias
o
Tiempomedi
oleObject84.bin
image85.wmf
s
iteracione
contador
ad
probabilid
=
£
)
10
(
oleObject85.bin
image86.wmf
s
iteracione
contador
ad
probabilid
=
³
)
40
(
oleObject1.bin
oleObject86.bin
image87.wmf
TIEMPO ESPERADO
38
39
40
41
42
43
44
45
46
47
10
100
500
1000
5000
10000
25000
50000
ITERACIONES
DIAS
image88.wmf
-4,00%
-2,00%
0,00%
2,00%
4,00%
6,00%
8,00%
10,00%
10
100
500
1000
5000
10000
25000
50000
ITERACIONES
GRAFICO PORCENTAJE ERROR
image89.wmf
PROBABILIDAD <11 v/s ITERACIONES
0
0,05
0,1
0,15
0,2
0,25
0,3
0,35
10
100
500
1000
5000
10000
25000
50000
ITERACIONES
PROBABILIDAD
image90.wmf
-5,00%
0,00%
5,00%
10,00%
15,00%
20,00%
25,00%
30,00%
10
100
500
1000
5000
10000
25000
50000
ITERACIONES
PORCENTAJE DE ERROR RESPECTO A 50000 ITERACIONES
image91.wmf
PROBABILIDAD > 40 v/s ITERACIONES
0
0,05
0,1
0,15
0,2
0,25
0,3
0,35
10
100
500
1000
5000
10000
25000
50000
ITERACIONES
image92.wmf
-5,00%
0,00%
5,00%
10,00%
15,00%
20,00%
25,00%
30,00%
10
100
500
1000
5000
10000
25000
50000
ITERACIONES
PORCENTAJE DE ERROR CON RESPECTO A 50000 ITERACIONES
image93.wmf
}
50
{
}
9
)
(
{
9
0
i
Xn
P
i
t
N
P
i
-
=
´
-
=
å
=
image2.wmf
)
(
n
f
lím
n
¥
®
oleObject87.bin
image94.wmf
FRACCIONES DE TIEMPO v/s TIEMPO
-
0,10000
0,20000
0,30000
0,40000
0,50000
0,60000
0,70000
0,80000
0,90000
1,00000
1/2 año
1 año
2 años 
5 años
10 años
20 años
100 años
500 años
1000
años
10000
años
Fraccion tiempo reparando
Fracción tiempo inventario
image95.wmf
1/2 año
1 año
2 años 
5 años
10 años
20 años
100 años
500 años
1000 años
10000 años
C1
-25,00%
-20,00%
-15,00%
-10,00%
-5,00%
0,00%
5,00%
10,00%
15,00%
20,00%
25,00%
ERROR PORCENTUAL
TIEMPO SIMULACIÓN
PORCENTAJES DE ERROR
Serie1
Serie2
oleObject2.bin
image3.wmf
¥
oleObject3.bin
image4.wmf
}
{
1
/
0
0
)
0
(
,
=
=
=
=
i
X
i
X
P
P
r
j
i
oleObject4.bin
image5.wmf
1
³
oleObject5.bin
image6.wmf
0
³
oleObject6.bin
image7.wmf
0
³
oleObject7.bin
image8.wmf
}
}
{
i
t
X
j
s
t
X
P
i
t
X
t
u
u
u
X
j
s
t
X
P
r
r
=
=
+
=
=
£
£
C
=
=
+
)
(
/
)
(
(
)
(
,
0
),
(
)
(
/
)
(
oleObject8.bin
image9.wmf
0
,
³
"
s
t
oleObject9.bin
image10.wmf
[
]
t
,
0
oleObject10.bin
image11.wmf
0
³
oleObject11.bin
image12.wmf
}
{
x
X
P
x
F
r
£
=
)
(
oleObject12.bin
image13.wmf
[
]
1
,
0
oleObject13.bin
image14.wmf
}
}
{
r
r
R
P
r
=
£
oleObject14.bin
image15.wmf
1
£
£
r
oleObject15.bin
image16.wmf
1
)
(
£
£
x
F
oleObject16.bin
image17.wmf
}
{
)
(
)
(
x
F
x
F
R
P
r
=
£
oleObject17.bin
image18.wmf
}
{
}
{
)
(
x
F
R
P
x
X
P
r
r
£
=
£
oleObject18.bin
image19.wmf
}
{
)
(
x
F
R
£
oleObject19.bin
image20.wmf
{
}
.
)
(
1
x
R
F
£
-
oleObject20.bin
image21.wmf
}
{
{
}
x
R
F
P
x
F
R
P
r
r
£
=
£
-
)
(
)
(
1
oleObject21.bin
image22.wmf
}
{
{
}
x
R
F
P
x
X
P
r
r
£
=
£
-
)
(
1
oleObject22.bin
image23.wmf
}
{
)
(
20
)
(
i
j
t
N
P
j
i
-
-
=
®
<
oleObject23.bin
image24.wmf
40
£
£
j
oleObject24.bin
image25.wmf
{
}
}
{
0
2
)
(
0
)
(
=
+
=
®
=
t
N
P
t
N
P
j
i
oleObject25.bin
image26.wmf
40
31
£
£
j
oleObject26.bin
image27.wmf
oleObject27.bin
image28.wmf
}
{
0
)
(
=
t
N
P
oleObject28.bin
image29.wmf
}
}
{
{
j
i
t
N
P
j
i
t
N
P
j
i
-
=
+
+
-
=
®
>
)
(
0
2
)
(
oleObject29.bin
image30.wmf
40
31
£
£
j
oleObject30.bin
image31.wmf
}
{
j
i
t
N
P
-
=
)
(
oleObject31.bin
image32.wmf
}
(
0
1
)
(
50
-
³
®
=
i
t
N
P
j
oleObject32.bin
image33.wmf
}
{
0
4
)
(
50
50
³
®
®
t
N
P
oleObject33.bin
image34.wmf
+
oleObject34.bin
image35.wmf
}
0
)
(
{
=
t
N
P
oleObject35.bin
image36.wmf
´
oleObject36.bin
image37.wmf
¥
<
)]
,
(
[
j
j
T
E
oleObject37.bin
image38.wmf
1
)
,
(
=
j
i
F
oleObject38.bin
image39.wmf
0
)]
,
(
[
1
)]
,
(
[
)
,
(
lim
)
(
¹
=
=
¥
®
j
j
T
E
j
j
T
E
j
i
F
P
n
n
ij
oleObject39.bin
image40.wmf
å
=
=
-
=
=
=
2
0
2
1
}
)
(
{
*
}
2
)
(
{
}
)
(
{
n
j
j
t
N
P
j
n
t
N
P
n
t
N
P
oleObject40.bin
image41.wmf
å
-
=
=
-
=
=
=
2
1
0
2
1
}
)
(
{
*
}
2
)
(
{
}
)
{
{
n
j
j
t
N
P
j
n
t
N
P
n
t
N
P

Continuar navegando

Otros materiales