DIPLOMA DE INVESTIGACIÓN OPERATIVA Y SISTEMAS
SIMULACIÓN GENERAL

Objetivos:
  1. Comprender la metodología general para la simulación de un sistema.
  2. Comprender las coincidencias y diferencias entre métodos analíticos y de simulación.
  3. Estudiar diferentes clases de modelos de simulación.
  4. Determinar las características deseables en los modelos de simulación.
  5. Adquirir nociones básicas sobre probabilidades.
  6. Aprender a simular el comportamiento de variables exógenas al sistema.
  7. Aplicar la metodología de simulación para obtener decisiones óptimas.
Actividad 1: Los métodos analíticos se utilizan cuando los términos de un problema pueden expresarse mediante una ecuación matemática, y podemos resolverla despejando el valor de una variable que nos da la solución óptima al problema. Pero en muchos casos, especialmente cuando se trata de problemas complejos, no pueden resolverse directamente mediante métodos analíticos, y es necesario buscar la solución a través de sucesivos intentos. En tal caso, suele ser recomendable sustituir la acción sobre el Sistema Real, que podría provocarle alteraciones o incluso efectos catastróficos, por la acción sobre un Modelo de dicho Sistema Real, que es a lo que llamamos simulación.
Ejercicio 1: debatir sobre cuál es el método adecuado (analítico o de simulación) para resolver los siguientes problemas:
    a) Dado un conductor eléctrico de resistencia R, determinar qué voltaje V deberá aplicarse para obtener una corriente eléctrica de intensidad I.
    b) Si una determinada magnitud vale y=x2-6x+5, determinar el valor de la variable x para que el valor de y sea el mínimo.
    c) Si un cuerpo de masa 2 Kg lo colgamos de un muelle con constante de elasticidad de 2 Nw/m y lo separamos 3 metros de su posición de equilibrio sumergiéndolo en un flúido, determinar cuál debería ser la constante de viscosidad del flúido para que el cuerpo se aproxime lo más rápidamente posible a su posición de equilibrio sin oscilar.
    d) Si tenemos una variable y tal que su derivada respecto al tiempo vale 3-2ty, determinar cuál debe ser su valor inicial para que al cabo de 30 segundos valga y=3.

Actividad 2: Para resolver un problema de Simulación, construyendo un Sistema (modelo) que reproduzca las relaciones estructurales y/o de comportamiento de un Sistema dado, a fin de estudiar los valores de sus variables y eventualmente su evolución, seguiremos los siguientes pasos:
    I) Identificar el Sistema o Sistemas reales que queremos estudiar, seleccionando las variables relevantes y el conjunto de valores que consideraremos de cada una, teniendo en cuenta la precisión posible o deseada (Nivel de Resolución).
    II) Construir un Sistema (Modelo) cuyas relaciones estructurales y de comportamiento repliquen las del Sistema o Sistemas reales que queremos estudiar. Para ello utilizaremos los conocimientos teóricos que tengamos sobre dichos Sistemas. Cuando dichos conocimientos sean insuficientes, podemos obtener por observación o experimentación una Actividad de un Sistema real, y comenzar resolviendo el correspondiente problema de Caja Negra. Para la construcción del Modelo buscaremos:
        IIa) identificar relaciones de causa-efecto entre las variables seleccionadas (relación estructural de conexión).
        IIb) asignar una representación funcional a dichas relaciones (relación de comportamiento).
    III) Validar el Modelo, comprobando el ajuste del mismo a los Sistemas Reales en cuestión. Para ello:
        IIIa) programaremos el modelo para una computadora o generaremos instrucciones para un grupo de expertos.
        IIIb) efectuaremos si es necesario una calibración de determinados parámetros o variables auxiliares de entrada con un valor eventualmente constante pero inicialmente desconocido. Dicha calibración puede realizarse por tanteo mediante prueba y error o por regresión (determinando los valores que hacen mínima la desviación cuadrática entre el Modelo y los Sistemas Reales)
        IIIc) realizaremos experimentos sobre el Modelo, comparando su Actividad con la Actividad de los Sistemas Reales que queremos simular e intentando determinar su grado de ajuste.
    IV) Si la validación no es satisfactoria pueden repetirse los pasos anteriores. Si se considera satisfactoria, presentaremos los resultados mediante tablas, gráficos, etc. y utilizaremos el Modelo para la predicción de la actividad futura del Sistema Real o la toma de las decisiones pertinentes relativas a la acción sobre el mismo.
Esquema de la simulación
Ejercicio 2: dividir la clase en 2 grupos; el primer grupo definirá un Sistema sencillo del cuál dará a conocer únicamente su Nivel de Resolución (sus variables relevantes y sus intervalos de valores a considerar); el segundo grupo intentará resolver un problema de Simulación sobre el mismo, para lo cuál podrá realizar preguntas al respecto; dichas preguntas pueden incluir información sobre el tipo de relaciones, o sobre el valor de determinadas variables, eventualmente intentando fijar el valor de otras; el primer grupo podrá escoger qué respuestas dar: si le intentan fijar un valor de una variable dependiente, deberá contestar que ello no es posible; si le preguntan el valor de una variable dependiente sin haber fijado el valor de las variables de las que depende, podrá contestar que falta información o fijar aleatoriamente el valor de éstas. Una vez obtenida la información que  considere suficiente, el segundo grupo construirá un Modelo y lo validará obteniendo una Actividad del mismo y comparándola con la proporcionada por el primer grupo.

Actividad 3: La recolección y procesamiento de datos reales es un componente importante del proceso de simulación. a efectos de:
a) La formulación del problema a resolver.
b) La elaboración de hipótesis y modelos matemáticos.
c) La estimación de parámetros.
d) La validación del modelo.
Para ello es necesario refinar los instrumentos de medida a utilizar o los procedimientos de consulta a expertos a efectos de su recolección, y tras su identificación codificarlos, transcribirlos y almacenarlos en una forma adecuada para su utilización en la simulación.
Ejercicio 3: identificar los procesos indicados en los ejemplos de simulación de las actividades anteriores.

TIPOS DE SIMULACIÓNActividad 4: Atendiendo al tipo de soporte utilizado, a la información de que se dispone sobre las variables exógenas y a la consideración, en su caso, del paso del tiempo, poner ejemplos de simulaciones de distintos tipos. Comenzar clasificando las simulaciones tratadas en las actividades anteriores, y añadir otros ejemplos hasta completar los doce tipos de simulaciones posibles.


Actividad 5: Debatir, en base a los ejemplos anteriores, en qué casos podemos prescindir de la simulación y utilizar métodos analíticos.

Actividad 6: En la elaboración del modelo es necesario establecer compromisos entre la complejidad del mismo (que incluye el número de variables y la precisión de sus valores y de los datos) y el coste computacional (tanto en relación a la memoria como al tiempo utilizados). Para ello debemos tener en cuenta:
    a) El modo como la imprecisión en los datos repercute en el resultado final. Si tenemos una relación funcional y=f(x) con una función derivable, sabemos que Δy=f'(x)·Δx. En caso contrario, podemos realizar simulaciones de prueba variando los datos iniciales para determinar su repercusión.
    b) La ley de la variedad requerida, que condiciona la capacidad de restringir el valor de la variable objetivo al número de posibles condiciones externas y el número de posibles acciones de control.
Ejercicio 4: supongamos que tenemos un modelo con una variable de control u, unas condiciones externas x y una variable objetivo g, cuya relación viene dada por la siguiente tabla:
g(u,x) |  0.20  0.40  0.60  0.80  1.00  1.20  1.40  1.60  1.80  2.00  2.20  2.40  2.60  2.80  3.00  3.20  3.40  3.60  3.80  4.00
-------|------------------------------------------------------------------------------------------------------------------------
 0.20  |  2.00  2.24  2.45  2.65  2.83  3.00  3.16  3.32  3.46  3.61  3.74  3.87  4.00  4.12  4.24  4.36  0.00  1.00  1.41  1.73
 0.40  |  2.65  2.83  3.00  3.16  3.32  3.46  3.61  3.74  3.87  4.00  4.12  4.24  4.36  0.00  1.00  1.41  1.73  2.00  2.24  2.45
 0.60  |  3.16  3.32  3.46  3.61  3.74  3.87  4.00  4.12  4.24  4.36  0.00  1.00  1.41  1.73  2.00  2.24  2.45  2.65  2.83  3.00
 0.80  |  3.61  3.74  3.87  4.00  4.12  4.24  4.36  0.00  1.00  1.41  1.73  2.00  2.24  2.45  2.65  2.83  3.00  3.16  3.32  3.46
 1.00  |  4.00  4.12  4.24  4.36  0.00  1.00  1.41  1.73  2.00  2.24  2.45  2.65  2.83  3.00  3.16  3.32  3.46  3.61  3.74  3.87
 1.20  |  4.36  0.00  1.00  1.41  1.73  2.00  2.24  2.45  2.65  2.83  3.00  3.16  3.32  3.46  3.61  3.74  3.87  4.00  4.12  4.24
 1.40  |  1.41  1.73  2.00  2.24  2.45  2.65  2.83  3.00  3.16  3.32  3.46  3.61  3.74  3.87  4.00  4.12  4.24  4.36  0.00  1.00
 1.60  |  2.24  2.45  2.65  2.83  3.00  3.16  3.32  3.46  3.61  3.74  3.87  4.00  4.12  4.24  4.36  0.00  1.00  1.41  1.73  2.00
 1.80  |  2.83  3.00  3.16  3.32  3.46  3.61  3.74  3.87  4.00  4.12  4.24  4.36  0.00  1.00  1.41  1.73  2.00  2.24  2.45  2.65
 2.00  |  3.32  3.46  3.61  3.74  3.87  4.00  4.12  4.24  4.36  0.00  1.00  1.41  1.73  2.00  2.24  2.45  2.65  2.83  3.00  3.16
 2.20  |  3.74  3.87  4.00  4.12  4.24  4.36  0.00  1.00  1.41  1.73  2.00  2.24  2.45  2.65  2.83  3.00  3.16  3.32  3.46  3.61
 2.40  |  4.12  4.24  4.36  0.00  1.00  1.41  1.73  2.00  2.24  2.45  2.65  2.83  3.00  3.16  3.32  3.46  3.61  3.74  3.87  4.00
 2.60  |  0.00  1.00  1.41  1.73  2.00  2.24  2.45  2.65  2.83  3.00  3.16  3.32  3.46  3.61  3.74  3.87  4.00  4.12  4.24  4.36
 2.80  |  1.73  2.00  2.24  2.45  2.65  2.83  3.00  3.16  3.32  3.46  3.61  3.74  3.87  4.00  4.12  4.24  4.36  0.00  1.00  1.41
 3.00  |  2.45  2.65  2.83  3.00  3.16  3.32  3.46  3.61  3.74  3.87  4.00  4.12  4.24  4.36  0.00  1.00  1.41  1.73  2.00  2.24
 3.20  |  3.00  3.16  3.32  3.46  3.61  3.74  3.87  4.00  4.12  4.24  4.36  0.00  1.00  1.41  1.73  2.00  2.24  2.45  2.65  2.83
 3.40  |  3.46  3.61  3.74  3.87  4.00  4.12  4.24  4.36  0.00  1.00  1.41  1.73  2.00  2.24  2.45  2.65  2.83  3.00  3.16  3.32
 3.60  |  3.87  4.00  4.12  4.24  4.36  0.00  1.00  1.41  1.73  2.00  2.24  2.45  2.65  2.83  3.00  3.16  3.32  3.46  3.61  3.74
 3.80  |  4.24  4.36  0.00  1.00  1.41  1.73  2.00  2.24  2.45  2.65  2.83  3.00  3.16  3.32  3.46  3.61  3.74  3.87  4.00  4.12
 4.00  |  1.00  1.41  1.73  2.00  2.24  2.45  2.65  2.83  3.00  3.16  3.32  3.46  3.61  3.74  3.87  4.00  4.12  4.24  4.36  0.00
Escoger el intervalo deseado para la variable objetivo y determinar con qué precisión deberá fijarse la variable de control.

Actividad 7: Diremos que una variable X es aleatoria a efectos de la simulación a efectuar cuando no podemos conocer previamente su valor en cada momento, pero sí podemos estimar la frecuencia relativa de cada intervalo de valores, es decir la proporción de los casos en que el valor estará dentro de dicho intervalo en una serie de casos suficientemente grande. A dicha frecuencia relativa le llamamos probabilidad del intervalo de valores, p([a,b]). Si la variable varía de forma continua, la probabilidad puede obtenerse mediante la integral en el intervalo de una función de densidad de probabilidades, p([a,b]) = ∫ab p(x) dx. Si la variable varía de forma discreta, podemos trabajar con la probabilidad de cada valor p(x). La probabilidad es siempre un número comprendido entre 0 y 1, y la suma de las probabilidades para todos los valores posibles será igual a la unidad.
Ejercicio 5: dada la siguiente secuencia de valores de una variable, estimar la probabilidad de cada valor: 3, 5, 2, 9, 8, 5, 0, 1, 4, 5, 2, 3, 6, 5, 7, 8, 3, 9, 0, 4, 2, 3, 7, 6, 4, 8, 3, 1, 8, 3, 6, 4, 7, 9, 4, 2, 1, 6 ,8, 0, 4, 2, 7, 4, 1, 7, 5, 3, 9, 3. Estimar la probabilidad del intervalo [3, 5].

Actividad 8: Para simular variables aleatorias discretas se hace uso de Sucesiones de números Pseudo-Aleatorios (SPA), normalmente generadas por ordenador, que simulan una Sucesión de Números Aleatorios (SNA) distribuida uniformemente en el intervalo [0, 1[. A partir de dicha sucesión, si conocemos las probabilidades de los valores de una variable aleatoria discreta X, podemos obtener una Sucesión de valores Pseudo-Aleatorios de X, SPA(X), de la siguiente forma: dividimos el intervalo [0, 1[ en segmentos proporcionales a las probabilidades p(x) de cada valor x de la variable X, , y para cada término de la SPA en [0, 1[ tomamos el valor x de la variable X correspondiente al segmento en el que se encuentre dicho término.
Ejercicio 6: dada la SPA
0.17547  0.70306  0.09966  0.89865  0.29054  0.24135  0.52361  0.26925  0.31562  0.27724 
0.71060  0.00700  0.63418  0.63727  0.58066  0.59211  0.27987  0.30403  0.31556  0.32824 
0.54278  0.43673  0.24023  0.36425  0.86718  0.05275  0.53464  0.18447  0.42344  0.57098 
0.02908  0.16288  0.84588  0.91020  0.08936  0.42525  0.00257  0.49879  0.06079  0.96433
0.57802  0.89755  0.36316  0.10027  0.69323  0.97300  0.60446  0.98164  0.82550  0.41164 
en [0, 1[, y dada una variable aleatoria discreta con probabilidades p(1)=0.2, p(2)=0.3, p(3)=0.1, p(4)=0.4, obtener una SPA de dicha variable.

Actividad 9: Es importante valorar si una SPA se adecúa a la SNA que pretende simular. Para ello podemos comparar las frecuencias observadas, oi, en la SPA con las correspondientes frecuencias esperadas, ei, en la SNA. Dichas frecuencias esperadas se obtienen multiplicando las probabilidades de los distintos valores de la variable en cuestión por el tamaño de la sucesión considerada, ei=n·p(xi). Si todas las frecuencias esperadas son iguales o mayores que 5, podemos utilizar para compararlas la cantidad χ2 = ∑i=1 k (oi-ei)2/ei . El valor calculado podemos compararlo con los valores de la tabla de la distribución χ2 inversa de la fila ν=k-1 (siendo k el número de valores de la variable considerados):
ν/p |  0.01    0.05    0.10    0.20    0.25    0.30    0.40    0.50    0.60    0.70    0.75    0.80    0.90    0.95    0.99
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 1  | 0.000   0.004   0.016   0.064   0.102   0.148   0.275   0.455   0.708   1.074   1.323   1.642   2.706   3.841   6.635
 2  | 0.020   0.103   0.211   0.446   0.575   0.713   1.022   1.386   1.833   2.408   2.773   3.219   4.605   5.991   9.210
 3  | 0.115   0.352   0.584   1.005   1.213   1.424   1.869   2.366   2.946   3.665   4.108   4.642   6.251   7.815  11.345
 4  | 0.297   0.711   1.064   1.649   1.923   2.195   2.753   3.357   4.045   4.878   5.385   5.989   7.779   9.488  13.277
 5  | 0.554   1.145   1.610   2.343   2.675   3.000   3.655   4.351   5.132   6.064   6.626   7.289   9.236  11.070  15.086
 6  | 0.872   1.635   2.204   3.070   3.455   3.828   4.570   5.348   6.211   7.231   7.841   8.558  10.645  12.592  16.812
 7  | 1.239   2.167   2.833   3.822   4.255   4.671   5.493   6.346   7.283   8.383   9.037   9.803  12.017  14.067  18.475
 8  | 1.646   2.733   3.490   4.594   5.071   5.527   6.423   7.344   8.351   9.524  10.219  11.030  13.362  15.507  20.090
 9  | 2.088   3.325   4.168   5.380   5.899   6.393   7.357   8.343   9.414  10.656  11.389  12.242  14.684  16.919  21.666
Si el valor de χ2 calculado es inferior a un valor de la correspondiente fila en una columna con p≤0.5, podemos decir que hay concordancia entre la SPA y la SNA con un nivel de significación de p. Por el contrario, si el valor de χ2 calculado es superior a un valor de la correspondiente fila en una columna con p≥0.5, podemos decir que hay discrepancia entre la SPA y la SNA con un nivel de significación de 1-p, y rechazaremos con ese nivel de significación la SPA como simuladora de la SNA (no obstante, esa situación puede darse con una probabilidad de 1-p con un método correcto de generación de la SPA; por ello, para rechazar la SPA con suficiente fuerza hay que tomar valores de p suficientemente próximos a 1). Dicho método se denomina prueba de las frecuencias o prueba ji-cuadrado (aunque en ocasiones aparece denominada en castellano como chi-cuadrado por una mala transcripción fonética del inglés). Este método puede emplearse tanto para valorar la SPA(X) de una variable aleatoria discreta X como para valorar si la SPA en [0,1[ simula correctamente una SNA distribuida uniformemente en dicho intervalo. Si esto último se cumple, la SPA(X) obtenida a partir de ella también simulará correctamente la SNA de X.
Ejercicio 7:  valorar por la prueba ji-cuadrado la SPA obtenida en el Ejercicio 6.

Actividad 10: Una prueba más refinada para comparar dos distribuciones de probabilidad es la de Kolmogórov-Smirnov. Para llevarla a cabo se toman n valores de una SPA(X), se divide el intervalo [a, b[ en el que se encuentran en n subintervalos iguales, se calculan los valores de su función de distribución de probabilidad acumulada , F(x)= ∑ X=a x p(X) , es decir, la probabilidad de que X≤x, se restan los correspondientes valores FN(x) de la función de distribución de probabilidad acumulada de la SNA con la que se quiere comparar, y se toma la máxima diferencia en valor absoluto, Dn=max|F(x)-FN(x)| para todo x. Se calcula K=√n·Dn y se compara con los valores de la tabla de la distribución de Kolmogórov-Smirnov acumulada inversa,
p  | 0.01  0.02  0.05  0.10  0.20  0.30  0.40  0.50  0.60  0.70  0.80  0.90  0.95  0.98  0.99
-------------------------------------------------------------------------------------------------------------
K  |0.441 0.470 0.520 0.571 0.645 0.707 0.766 0.828 0.895 0.973 1.073 1.224 1.358 1.517 1.628 .
Si el valor de K calculado es inferior a un valor correspondiente a p≤0.5, podemos decir que hay concordancia entre la SPA y la SNA con un nivel de significación de p. Por el contrario, si el valor de K calculado es superior a un valor  correspondiente a p≥0.5, podemos decir que hay discrepancia entre la SPA y la SNA con un nivel de significación de 1-p, y rechazaremos con ese nivel de significación la SPA como simuladora de la SNA.
Ejercicio 8: valorar por la prueba Kolmogórov-Smirnov la SPA obtenida en el Ejercicio 6; obsérvese que, por la laboriosidad de los cálculos a efectuar (que requieren examinar en cuál de los 50 subintervalos cae cada uno de los 50 términos de la SPA), sería muy ventajoso realizarlos por ordenador. De hecho, en el lenguaje de programación "octave" bastaría con introducir en una variable vectorial x los términos de la SPA y ejecutar kolmogorov_smirnov_test(x,"uniform",0,1) para obtener directamente el valor de p.

Actividad 11: La SPA en [0, 1[ del Ejercicio 6 ha sido generada por ordenador utilizando la función rand del lenguaje de programación "octave", pero podemos también obtener directamente una SPA en [0, 1[ utilizando explícitamente un método determinista adecuadamente definido. A tal efecto, podemos utilizar el método de las congruencias, que dados los números enteros positivos x0, a, c y m define xi+1 como el resto de la división de a·xi+c por m, y forma la SPA con los números ri=xi/m ∈ [0, 1[ . Señalemos que una auténtica Sucesión de Números Aleatorios no es periódica, mientras que una SPA generada por el método de las congruencias es necesariamente periódica con un período no superior a m, dado que todo resto xi<m. Ahora bien, ello no genera problemas para la simulación siempre que el período de la SPA sea superior al número de términos de la misma utilizados en la simulación. Por lo tanto, deberemos escoger los valores de a, c y m de forma adecuada para que se cumpla dicha condición, además de la distribución uniforme en el intervalo [0, 1[.
Ejercicio 9: obtener los 50 primeros términos de una SPA generada por el método de las congruencias con a=101, c=1 y m=100000, a partir de cualquier número x0 comprendido entre 0 y 99999 (obsérvese que el cálculo de los restos es equivalente a tomar las 5 últimas cifras). Valorar si dicha SPA es una simulación adecuada de una SNA distribuida uniformemente en [0, 1[, utilizando la prueba ji-cuadrado dividiendo dicho intervalo en 5 partes iguales y comprobando también que los términos de la sucesión no se repitan.

Actividad 12: Para interpretar los resultados obtenidos con N simulaciones con un Modelo con entradas aleatorias, una vez alcanzada una situación estable y suponiendo que las variables de salida toman valores independientes, podemos obtener un intervalo de confianza para cada variable X. Por ejemplo, un intervalo de confianza del 90%, correspondiente a un nivel de significación del 0.10, será un intervalo tal que podamos estimar que en un 90% de los casos el resultado se encontrará dentro de dicho intervalo. Para ello tendremos en cuenta que, suponiendo que la distribución global de los resultados se corresponda con una distribución normal, la cantidad
t=(X_-μ)/σ(X_) ,
donde
    X_ es la media de los resultados obtenidos,  
    σ(X_)=√(∑ i=1 N (Xi-X_)2/(N·(N-1))) es el valor estimado de la desviación típica de las medias, y
   μ sería el valor promedio esperable,
se distribuye de acuerdo con la distribución t de "Student", y podemos utilizar la
TABLA INVERSA DE LA DISTRIBUCION t de Student (calculada con octave):

ν |p 0.60 0.70 0.75 0.80 0.85 0.90 0.95 0.99 0.995
----------------------------------------------------------------------------
1 | 0.325 0.727 1.000 1.376 1.963 3.078 6.314 31.821 63.657
2 | 0.289 0.617 0.816 1.061 1.386 1.886 2.920 6.965 9.925
3 | 0.277 0.584 0.765 0.978 1.250 1.638 2.353 4.541 5.841
4 | 0.271 0.569 0.741 0.941 1.190 1.533 2.132 3.747 4.604
5 | 0.267 0.559 0.727 0.920 1.156 1.476 2.015 3.365 4.032
6 | 0.265 0.553 0.718 0.906 1.134 1.440 1.943 3.143 3.707
7 | 0.263 0.549 0.711 0.896 1.119 1.415 1.895 2.998 3.499
8 | 0.262 0.546 0.706 0.889 1.108 1.397 1.860 2.896 3.355
9 | 0.261 0.543 0.703 0.883 1.100 1.383 1.833 2.821 3.250
10 | 0.260 0.542 0.700 0.879 1.093 1.372 1.812 2.764 3.169
11 | 0.260 0.540 0.697 0.876 1.088 1.363 1.796 2.718 3.106
12 | 0.259 0.539 0.695 0.873 1.083 1.356 1.782 2.681 3.055
13 | 0.259 0.538 0.694 0.870 1.079 1.350 1.771 2.650 3.012
14 | 0.258 0.537 0.692 0.868 1.076 1.345 1.761 2.624 2.977
15 | 0.258 0.536 0.691 0.866 1.074 1.341 1.753 2.602 2.947
16 | 0.258 0.535 0.690 0.865 1.071 1.337 1.746 2.583 2.921
17 | 0.257 0.534 0.689 0.863 1.069 1.333 1.740 2.567 2.898
18 | 0.257 0.534 0.688 0.862 1.067 1.330 1.734 2.552 2.878
19 | 0.257 0.533 0.688 0.861 1.066 1.328 1.729 2.539 2.861
20 | 0.257 0.533 0.687 0.860 1.064 1.325 1.725 2.528 2.845
21 | 0.257 0.532 0.686 0.859 1.063 1.323 1.721 2.518 2.831
22 | 0.256 0.532 0.686 0.858 1.061 1.321 1.717 2.508 2.819
23 | 0.256 0.532 0.685 0.858 1.060 1.319 1.714 2.500 2.807
24 | 0.256 0.531 0.685 0.857 1.059 1.318 1.711 2.492 2.797
25 | 0.256 0.531 0.684 0.856 1.058 1.316 1.708 2.485 2.787
26 | 0.256 0.531 0.684 0.856 1.058 1.315 1.706 2.479 2.779
27 | 0.256 0.531 0.684 0.855 1.057 1.314 1.703 2.473 2.771
28 | 0.256 0.530 0.683 0.855 1.056 1.313 1.701 2.467 2.763
29 | 0.256 0.530 0.683 0.854 1.055 1.311 1.699 2.462 2.756
30 | 0.256 0.530 0.683 0.854 1.055 1.310 1.697 2.457 2.750
31 | 0.256 0.530 0.682 0.853 1.054 1.309 1.696 2.453 2.744
32 | 0.255 0.530 0.682 0.853 1.054 1.309 1.694 2.449 2.738
33 | 0.255 0.530 0.682 0.853 1.053 1.308 1.692 2.445 2.733
34 | 0.255 0.529 0.682 0.852 1.052 1.307 1.691 2.441 2.728
35 | 0.255 0.529 0.682 0.852 1.052 1.306 1.690 2.438 2.724
36 | 0.255 0.529 0.681 0.852 1.052 1.306 1.688 2.434 2.719
37 | 0.255 0.529 0.681 0.851 1.051 1.305 1.687 2.431 2.715
38 | 0.255 0.529 0.681 0.851 1.051 1.304 1.686 2.429 2.712
39 | 0.255 0.529 0.681 0.851 1.050 1.304 1.685 2.426 2.708
40 | 0.255 0.529 0.681 0.851 1.050 1.303 1.684 2.423 2.704
donde el parámetro ν=N-1 recibe el nombre de grados de libertad de la distribución, y p es la probabilidad acumulada (ver figura). Si ν>40 podemos tomar como valor aproximado el de la última fila, que se aproxima al de la distribución normal, correspondiente a ν=∞. Si queremos obtener un intervalo de confianza de α centrado en el valor promedio esperado (ver figura) deberemos tomar p=(α+1)/2. Obtenidos los valores de X_, σ(X_), ν y p, y extrayendo de la tabla el coeficiente crítico tp(ν), el intervalo de confianza vendrá dado por
[ X_-tp(ν)·σ(X_) , X_+tp(ν)·σ(X_) ].
Ejercicio 10: si al realizar 20 simulaciones con un modelo obtenemos los resultados
{15, 17, 20, 18, 20, 20, 24, 22, 20, 19, 22, 22, 19, 20, 19, 21, 19, 22, 24, 21}, obtener un intervalo de confianza del 90%.

Actividad 13: Si la situación no es estable y los valores sucesivos de una variable de salida no son independientes, podemos utilizar el método de la simulación regenerativa si podemos suponer que el proceso es regenerativo, en el sentido de que existe un instante T1    tal que la continuación del proceso más allá del mismo coincide, probabilísticamente, con el proceso desde el instante 1. De ello se deduce que deben existir también T2, T3, etc. con la misma propiedad. En tal caso, obtenemos el valor de la variable X en el instante 1 y dividimos el intervalo de tiempo considerado en "ciclos" que comiencen cada vez que la variable adopte dicho valor. Llamamos Di a la suma de los valores de cada "ciclo" y Ni a su duración. Sea k el número de "ciclos". En tal caso, los valores sucesivos de Di y Ni sí que serán independientes, y el valor promedio esperable de X puede estimarse mediante
m(X) = m(D)/m(N) , con
m(D) = ∑ i=1 k Di /k y
m(N) = ∑ i=1 k Ni /k .
Y pueden obtenerse intervalos de confianza mediante la distribución t de "Student" con ν=k-1 de la forma indicada en la Actividad 12, tomando como valor estimado de la desviación típica de las medias
√((∑ i=1 k (Di-m(D))2 - 2·m(X)·(Di-m(D))(Ni-m(N)) + m(X)2·(Ni-m(N))2) / (k·(k-1)) / m(N) .
Ejercicio 11: si al realizar una simulación se obtienen sucesivamente los valores
{0, 3, 5, 7, 9, 0, 3, 5, 7, 0, 3, 5, 7, 9, 11, 0, 3, 5, 0, 3, 5, 7, 9, 0, 3, 5, 7, 9, 11, 13, 0, 3, 5, 7, 0, 3, 5, 7, 9, 0, 3, 5, 7, 9, 11, 0, 3, 5, 7}, obtener un intervalo de confianza del 99%.



Actividad 14: Aplicación del Método de la transformada inversa con variables aleatorias:
Sea X una variable aleatoria discreta ordenada que toma valores x entre a y b.
Sea p(x) su función de probabilidades, tal que ∑ x=a b p(x) = 1, p(a)=0 y p(x)>0 para todo x>a.
Sea F(x) su función de distribución de probabilidad acumulada, F(x)= ∑ X=a x p(X) , es decir, la probabilidad de que X≤x. Naturalmente, F(a)=0, F(b)=1, y la función F será monótona no decreciente.
Definiremos la función de distribución inversa F-1(r) para 0≤r≤1 de modo que F-1(0)=a y, si r>0, F-1(r)=x si y sólo si, siendo x'<x dos valores consecutivos de la variable X, F(x')<r≤F(x).
Ejercicio 12: Suponiendo que la función de densidad probabilística de la demanda de un producto es

y que en meses sucesivos queremos estimar la demanda máxima previsible con las probabilidades (SPA1)

calcular la demanda máxima previsible para cada mes.
Ejercicio 13: Suponiendo que la función de densidad probabilística del tiempo de entrega del producto y las probabilidades (SPA2) con que queremos estimar el tiempo máximo de entrega para peticiones sucesivas vienen dadas por

calcular el tiempo máximo de entrega previsible para cada petición.

Actividad 15: Para realizar una simulación de la evolución del inventario de un producto comenzaremos introduciendo el valor inicial del mismo. Para cada mes, introduciremos la probabilidad para la demanda máxima previsible (SPA1), a partir de la cual estimaremos dicha demanda, la cual multiplicaremos por un factor estacional. Al restar el resultado del valor del inventario al principio de mes (al cual le habremos previamente sumado en su caso la entrega de un nuevo lote) obtendremos el valor del inventario al final del mes, o bien valdrá cero en caso de que el resultado fuera negativo (caso de "ruptura" o demanda no satisfecha), y en caso de que fuera inferior al valor R0 de "reorden" se ordenaría el pedido de un nuevo lote Q0. De acuerdo con el número de orden del pedido se introducirá la correspondiente probabilidad para el tiempo máximo de entrega (SPA2), a partir de la cual estimaremos dicho tiempo de entrega, a fin de sumar la cantidad Q0 del lote el mes correspondiente. Obsérvese que no se pedirá un lote nuevo si está pendiente la entrega del lote anterior. Para calcular el coste de almacenamiento deberá promediarse en cada mes el valor inicial y final del inventario.
Ejercicio 14: realizar una simulación de la evolución del inventario con los valores de SPA1 y SPA2 de la Actividad 14 y tomando R0=100 y Q0=200:
mes lote entregado inventario inicial mes probabilidad para demanda demanda estimada factor estacional demanda corregida inventario fin mes ruptura nº orden pedido probabilidad para tiempo pedido tiempo de entrega inventario mensual promedio
1 0
150 0'74022 1'2
2 0'65741 1'0
3 0'66083 0'9
4 0'08355 0'8
5 0'55121 0'8
6 0'00911 0'7
7 0'14060 0'8
8 0'14845 0'9
9 0'41839 1'0
10 0'39685 1'2
11 0'74416 1'3
12 0'53152 1'4

Actividad 16: Para calcular el coste del año simulado deberemos sumar:
a) El coste de almacenamiento, Ca, igual a la suma de los inventarios mensuales promedios multiplicados por un factor Fa.
b) El coste de ruptura, Cr, igual a la suma de las cantidades demandadas y no servidas multiplicadas por un factor Fr.
c) El coste de ordenamiento de pedidos, Co, igual al número de pedidos multiplicado por un factor Fo.
Ejercicio 15: calcular el coste del año simulado con Fa=20/12≈1'67, Fr=50, Fo=100.

Actividad 17: Para la validación de un Modelo es necesario compararlo con los Sistemas Reales que pretende simular. Si el Modelo y el Sistema Real comparten el conjunto de variables, podremos centrar la comparación en la relación de comportamiento. Si para una variable dependiente y tenemos definida una medida sobre el conjunto de valores Vy de la variable dependiente y, m:Vy→R+, y una distancia congruente sobre dicho conjunto de valores Vy, d:VyXVy→R+, y tenemos una Actividad del Modelo y otra Actividad del Sistema Real con los mismos valores de las variables de entrada, calcularemos para cada instante del intervalo temporal considerado el error relativo, dividiendo la distancia entre los valores del Modelo y el Sistema Real por el valor del Sistema Real. Y llamaremos grado de acoplamiento relativo ρy de dicha variable y entre el Modelo y el Sistema Real para unas Actividades de los mismos a una medida global (como el promedio o el valor máximo) de los errores relativos para cada instante. A su vez, llamaremos grado de ajuste relativo ρ del comportamiento del Modelo al Sistema Real para dichas Actividades a una medida global de los grados de acoplamiento relativo para todas las variables dependientes. Para considerar validado el Modelo exigiremos que el grado de acoplamiento o de ajuste relativos sea menor que una determinada cota prefijada.
Ejercicio 16: para validar el modelo de la Actividad 16 requeriremos que el grado de acoplamiento relativo de la variable "inventario inicial mes" en el intervalo temporal de febrero a mayo sea menor que el 5%; realizarlo en el caso de que los valores reales de enero a mayo sean 150, 83, 224, 196, 157. Obsérvese que el inventario inicial en enero es una variable de entrada.

Actividad 18: Una vez validado un modelo, puede utilizarse para encontrar los mejores valores de unas "variables de acción" para obtener un resultado óptimo. Para ello podemos utilizar el Algoritmo de Hookes-Jeeaves, que a partir de unos determinados valores de dichas variables (consideradas como componentes de un vector x) busca la mejor "dirección" y "amplitud" de cambio de dichos valores para hacer mínima una determinada variable de salida f:
Algoritmo de Hooke-Jeeaves
Ejercicio 17: aplicar el Algoritmo de Hooke-Jeeaves con el modelo de evolución del inventario del Ejercicio 14 modificando las variables de acción R0=100 y Q0=200: para hacer mínimo el coste anual con el "escenario" de demanda estimada y tiempo máximo de entrega dados por SPA1 y SPA2 de la Actividad 14.

Actividad 19. Llamamos escenario (s) a un conjunto de valores a lo largo del tiempo de las variables no controlables, y estrategia (e) a un conjunto de valores a lo largo del tiempo de las variables de control.
Si podemos estimar la probabilidad de una variable objetivo (y) condicionada al escenario y la estrategia, P(y|s,e), así como la probabilidad de los distintos escenarios, P(s), supuestos independientes de las estrategias, aplicando el Teorema de Bayes obtendremos
P(y|e) = ∑s P(y|s,e)P(s) ,
lo cuál nos permitirà evaluar qué estrategia tiene la máxima probabilidad de satisfacer el objetivo.
Por su parte, si podemos estimar la posibilidad de una variable objetivo (y) condicionada al escenario para cada estrategia, πe(y|s), así como la posibilidad de los distintos escenarios, π(s), supuestos independientes de las estrategias, calcularemos para cada estrategia la posibilidad de cada valor de la variable objetivo,
πe(y) = maxs min (πe(y|s),π(s))
lo cuál nos permitirá evaluar qué estrategia conlleva la máxima posibilidad de cada valor de la variable objetivo.
Ejercicio 18: encontrar la mejor estrategia para el siglo XXI entre (1) mantener el actual consumo energético, (2) reducir
moderadamente el consumo energético y (3) reducir drásticamente el consumo energético, en relación a los siguientes escenarios: (a) fuentes de energía actualmente existentes, (b) descubrimiento de una fuente de energía radicalmente nueva y (c) posibilidad de trasladarse a otro planeta virgen con abundancia de recursos, suponiendo que las probabilidades de los escenarios son P(a)=0'6, P(b)=0'3, P(c)=0'1 y que las probabilidades condicionales de conseguir el objetivo de que la humanidad viva satisfactoriamente vienen dadas por la tabla adjunta.
P(y|s,e)
e
1
2
3
s
a
0
0'3
0'6
b
0'5
0'6
0'6
c
1
0'8
0'6
Ejercicio 19: encontrar la mejor estrategia para el siglo XXI entre las estrategias y en relación a los escenarios descritos en el Ejercicio 35 para los valores de la variable objetivo 0 (extinción de la humanidad), 0'5 (mera supervivencia) y 1 (felicidad), suponiendo que las posibilidades de los escenarios son π(a)=1, π(b)=0'5 y π(c)=0'2 y las posibilidades condicionales de los distintos valores de la variable objetivo vienen dadas por las siguientes tablas:
π(0|s,e)
e
1
2
3
s
a
1
0'5
 0
b
0'5
0
0
c
0
0
0
π(0'5|s,e)
e
1
 2
 3
s
a
0
1
1
b
1
1
1
c
0'5
1
1
π(1|s,e)
e
1
2
3
s
a
0
0
0'6
b
0'4
0'5
0'6
c
1
0'8
0'6
Comparar la evaluación de las estrategias para los distintos valores de la variable objetivo.