técnicas modernas de optimización

Anuncio
Escuela de Estudios Industriales y Empresariales
Ingeniería Industrial
Facultad de Ingenierías FísicoFísico-Mecánicas
CONSTRUIMOS FUTURO
TÉCNICAS MODERNAS
DE OPTIMIZACIÓN
- Simulación Aplicada -
NÚMEROS Y VARIABLES ALEATORIAS
Ing. Edwin Alberto Garavito Hernández
Ingeniería Industrial
lunes, 22 de junio de 2015
CONSTRUIMOS FUTURO
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
1
3
¿QUÉ ES UN NUMERO ALEATORIO?
¿4 es un número aleatorio?
SECUENCIA DE NÚMEROS ALEATORIOS
• Independientes: cada número es obtenido por
casualidad y no tiene ninguna relación con otros
números de la serie
• Distribución específica: cada número tiene una
probabilidad específica de pertenecer a un rango de
valores determinado.
4
Para qué las secuencias de números
aleatorios?
•
Simulación: La reproducción de fenómenos naturales necesita
números aleatorios. En procesos productivos, el comportamiento del
tiempo de servicio o de operación, la tasa de llegadas de clientes a un
sistema, la demanda de un producto.
•
Muestreo: Muchas veces es poco práctico examinar todos los casos
posibles. Un muestreo aleatorio puede revelar un comportamiento
típico.
•
Análisis Numérico: Técnicas numéricas necesitan números aleatorios
•
Programación de computadores: Tests de efectividad de algoritmos
•
Toma de decisiones: Modelos de análisis de escenarios.
•
Estética: Un toque de aleatoriedad puede resultar agradable
•
Juegos: De aquí proviene el propio método
lunes, 22 de junio de 2015
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
2
5
Métodos para generar números aleatorios
Manual
–
–
–
–
Lanzamiento de dados
Destapar Cartas
Extraer bolas de un urna
Girar una rueda
Métodos numéricos
– Algoritmo de Von Newman (1940)
– Producto medio
– Multiplicador constante
– Generadores Congruenciales lineales.
6
Números pseudo-aleatorios
Un número pseudo-aleatorio es un número
generado en un proceso que parece producir
números al azar, pero no lo hace realmente.
Las secuencias de números pseudo-aleatorios no
muestran ningún patrón o regularidad aparente
desde un punto de vista estadístico, a pesar de
haber sido generadas por un algoritmo
completamente determinista, en el que las mismas
condiciones iniciales producen siempre el mismo
resultado.
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
3
7
Que significa “un buen generador?”
•
•
•
•
•
Período Largo
Cumple con algunas pruebas estadísticas
Velocidad / eficiencia
Portabilidad - se puede
implementar fácilmente con diferentes
lenguajes y computadores
Repetibilidad - debe ser capaz
de generar la misma secuencia de nuevo
8
Estructura Básica.
Dada una función de transición, f, el estado en el paso n viene dado por
xn = f ( xn −1), n ≥ 1
La función de salida, g, produce resultados como
u n = g ( xn )
La secuencia de salida
{un , n ≥ 1}
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
4
9
Von Newman
Semilla: X0
X0 *X0= ## #### ##
X1 *X1= ## #### ##
X2 *X2= ## #### ##
……
Ej. Xo=6375 Ro=0.6375
Xo*Xo = 40 6406 25 X1 = 6406, R1 =0.6406
X1*X1 = 41 0368 36 X2 = 0368, R2 =0.0368
X2*X2 = 00 1354 24 X3 = 1354, R3 =0.1354
.
.
.
10
Producto Medio
Semillas: Xo’, Xo
P1= Xo’, Xo= ## #### ##
X1, R1 = 0,X1
Pi= Xi-2 * Xi-1= ## #### ##
i=2,3,4……
Xi,
Ri = 0,Xi
Semillas: Xo’=3721, Xo= 6375
P1=23 7213 75, X1= 7213, R1=0.7213
P2=Xo*X1=45 9828 75, X2= 9828, R2=0.9828
P3=X1*X2=70 8893 64, X3= 8893, R2=0.8893
……..
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
5
11
Multiplicador Constante
K=constante
Xo= semilla
Pi=K*Xi-1 = ## #### ##
Xi,
i=1, 2, 3…..
Ri = 0,Xi
K= 3721
Xo= 6375
P1=K*Xo = 23 7213 75, X1= 7213, R1=0.7213
P2=K*X1 = 26 8395 73, X2= 8395, R2= 0.8395
….
Generador de Fibonacci
•
•
Suma o diferencia de elementos predecesores
El retardo usa dos números de la secuencia previa
xn = (xn− p + xn−r ) m od m
un = xn / m
p , q a r e Generators
th e la g s
Multiple Recursive
• (MRGs) definidos por: x = ( a x
n
1 n −1 + L + ak xn − k ) mod m
u n = xn / m
•
dónde ai ∈ to {0,1,…,m – 1}
m es primo y requiere una adecuada selección de valores ai para que
el máximo periodo sea mk-1
Generadores no lineales.
• Usa función de transición lineal, y una función de salida no lineal
Ejemplo: “explicit inversive generator” xn = an + c
zn = ( an + c )
m−2
mod m
un = zn / m
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
6
13
Generadores Lineales Congruenciales
(Prime modulus multiplicative linear congruential generator PMMLCG)
Lehmer
X i +1 = ( a * X i ) mod m
Ri +1 =
X i +1
m
Xo = semilla
a = multiplicador
m = módulo
Ejercicio: a=5, m=16, Xo= 7, 10, 15
14
Generadores Lineales Congruenciales
(Mixtos) Thomson hacia 1958
X i +1 = (a * X i + c) mod m
Ri +1 =
X i +1
m
Xo = semilla
a = multiplicador
c = incremento
m = módulo
Ejercicio: a=23, c=6, m=18
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
7
15
Observaciones:
Período: Longitud del ciclo
Si el período es m, el GLC es de período
completo (Full period)
La semilla no cambia la secuencia, lo que
cambia es donde inicia.
Ej.:
a=5, c=3, m=16
GLC(s,a,c,m)
a=7, c=5, m=48 semilla 8 GLC(8,7,5,48)
SI a y m no son primos relativos la serie se degenera
ej. GLC(8,6,5,48)
16
lunes, 22 de junio de 2015
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
8
17
TEOREMA
Un GLC es de período completo, si y solamente si cumple
las siguientes condiciones:
– El único entero positivo que divide exactamente a m y c
es 1 (Primos relativos)
– Todos los números primos que dividen a m también
dividen a a-1 (Raíz Primitiva)
– Si 4 divide a m, entonces también divide a a-1
• GLC(##,25,21,47)
• GLC(##, 485, 121, 256)
• GLC(##, 106, 1283, 6075)
Todas estas condiciones se cumplen si m = 2k, a = 4c + 1, y c es impar,
donde c, b, y k son enteros positivos
GLC(#, 2814749, 9482661,16777215)
GENERADORES EN APLICACIONES COMUNES
•
MATLAB:
– Versiones anteriores a 5: GLC con
a = 7 = 16807; c = 0; m = 2 − 1 = 2147483647
– Versions 5 & 6: Fibonacci generator combinado con un un
generador de desplazamiento entero aleatorio con P ~ 21492
5
31
•
•
EXCEL: un = fractional part (9821×un –1 + 0.211327); period
SAS (v6): LCG with period ~ 223
•
•
•
•
SIMMAN: a= 75, c=0, m=231-1
ARENA:a=16807 m = 231 – 1
PROMODEL: Zi= 630.360.016Zi-1 mod (231 -1)
FLEXSIM: (PMMLCG): a=630360016 y m*=2^31 - 1
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
9
19
Recomendaciones para la
selección de las semillas
1. No use cero.
2. Evite valores pares. Si un generador no es de periodo
completo (por ejemplo GCL multiplicativo con modulo
m = 2k ) la semilla debe ser impar. En otros casos no
importa.
3. No subdivida una secuencia. Usar una única secuencia
para todas las variables es un error común.
4. Use secuencias que no se solapan. Cada secuencia
requiere su semilla.
5. Reuse semillas en replicas sucesivas. Usar para la
siguiente réplica como semilla el valor de final de la
secuencia previa
6. No usar semillas aleatorias. No se puede reproducir el
experimento y no garantizan cumplimiento de
condiciones
20
PRUEBAS DE ALEATORIEDAD
Pruebas de corridas (presunción de independencia)
– Tendencias
– Corridas arriba / debajo de la media
– Longitud de la corrida.
Pruebas de frecuencia
– Kolmogorov – Smirnov
– Chi-cuadrado
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
10
21
Hipótesis para uniformidad
Hipótesis para independencia
Nivel de confianza
22
Tendencias
Evento(i)= “ –” si Rnd(i) < Rnd(i-1)
Evento(i)= “ +” si Rnd(i) > Rnd(i-1)
Ej. ---+++--+++++-++++
6 corridas (3 descenso, 3 ascenso)
µA
σ 2A
 (2n − 1) 16n − 29 
A ~ N
;

3
90 

A=Número de corridas
n=Número de datos
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
11
23
E(A)=16.33, Var(A)=4.1222
24
lunes, 22 de junio de 2015
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
12
25
26
Arriba / abajo de la media
Evento(i)= “ –” si Rnd(i) < 0.5
Evento(i)= “ +” si Rnd(i) > 0.5

2n n 2n n ( 2 n n − n) 

B ~ N  0.5 + 1 2 ; 1 2 2 1 2
n
(
n
(
n
−
1
))


B=Número de cambios
n=Número de datos
n1=Número de datos debajo de la media
n2=número de datos arriba de la media
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
13
27
E(B)=12.82, V(B)=5.88, B=16
28
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
14
29
….OTRAS PRUEBAS PARA HIPÓTESIS DE
INDEPENDENCIA
•
•
•
•
Correlación serial
Longitud de rachas
Prueba de brechas
Prueba de Poker
lunes, 22 de junio de 2015
30
Chi-cuadrado
Si x 02 < xα2 , g
No hay evidencia suficiente para rechazar la Ho
P-value > α
xα2 , g − > prueba .chi .inv (α , gl )
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
15
31
Kolmogorov-smirnov
Para ~U(0,1)
Función empírica Sn(x)
Estadísticos:
32
{D+,D-} <D(α,n)
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
16
33
EJERCICIO
Dado un GLC con:
X0 = 5
a = 255
c = 100
m = 1032
Aplicar pruebas de independencia y de frecuencia
34
GENERACION DE VARIABLES
ALEATORIAS
Factores a considerar para selección del algoritmo
•
Exactitud: se han de obtener valores de una variable con
una precisión dada. A veces se tiene suficiente con obtener
una aproximación y otras no.
•
Eficiencia: el algoritmo que implementa el método de
generación tiene asociado un tiempo de ejecución y un
gasto de memoria. Elegiremos un método que sea eficiente
en cuanto al tiempo y a la cantidad de memoria requeridos.
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
17
35
GENERACION DE VARIABLES
ALEATORIAS
Factores a considerar para selección del algoritmo
•
Complejidad: Buscamos métodos que tengan complejidad
mínima, siempre y cuando se garantice cierta exactitud.
•
Robustez: el método tiene que ser eficiente para cualquier
valor que tomen los parámetros de la distribución que siga
la variable aleatoria.
•
Facilidad de implementación.
36
GENERACION DE VARIABLES
ALEATORIAS
• Transformación inversa
• Aceptación-Rechazo,
• Composición
• Convolución
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
18
37
Inverso de la función
38
Transformación inversa
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
19
39
lunes, 22 de junio de 2015
40
~U[0,1]
Transformación inversa
x
Generar u~U[0,1]
x F-1(u)
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
20
41
Distribución Uniforme Continua
42
Transformación inversa
Distribución Uniforme discreta en el intervalo [a,b]
lunes, 22 de junio de 2015
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
21
43
Transformación inversa
Distribución Weibull
44
Transformación inversa
Distribución Exponencial
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
22
45
Transformación inversa
Distribución Triangular
46
Transformación inversa
Distribución Triangular
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
23
47
EJERCICIO…
Se necesita simular el tiempo de servicio de un sistema de
atención a clientes, el cual se rige por una distribución
triangular con mínimo 2 minutos, máximo 10 y moda de 5
minutos.
Usar Transformación inversa, generándolos en EXCEL y
Aplicar pruebas de Frecuencia para verificar su ajuste.
48
EJERCICIO…
Para simular el comportamiento del tiempo de operación de
una máquina, se requiere generar 200 datos que sigan el
siguiente comportamiento en su distribución de probabilidad
TIEMPO
(min)
PROBABILIDAD
4
5
6
20
7
20
9
10
11
30
12
15
Usar Transformación inversa, generándolos en EXCEL y
Aplicar pruebas de Frecuencia para verificar su ajuste.
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
24
49
Aceptación – rechazo
Von Neumann
Consiste en muestrear una variable aleatoria respecto a una
función de distribución apropiada y someter a dicha variable
a un test para determinar si se acepta o no.
Se puede usar si existe otra función de densidad g(x) tal que
c*g(x) supera la función de densidad f(x), es decir, c*g(x) >
f(x) para todos los valores de x. Si esta función existe,
entonces se pueden aplicar los siguientes pasos:
1. Genere ~U(0,1)
2. Genere y con h(y), independiente de U
3. Si f(y) > U*C*h(y), devuelva x=y, y retorne. De lo contrario
repita desde el paso 1.
50
Aceptación - rechazo
~Trian(a=0, b=c=1)
h(x)=2x
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
25
51
Aceptación - rechazo
52
Convolución
Si la V.A. x se puede expresar como una
combinación de k v.a’s
Ej. normal, binomial, poisson, gamma, erlang, …,
•Generar k n.a. ~U (u1, u2, …, uk)
•Generar k v.a. (xi) a partir de U
•Generar X con k
∑x
i =1
i
Para N~(µ
µ,σ
σ)
Ej:
x=
࣌૛
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
26
53
Caracterización
Box-Muller
Z1, Z2, ~N(0,1)
Z1= B*cos(θ)
Z2=B*sen(θ)
B2=Z12+Z22 ~X2(2gl)
~Emedia=2
θ ~ U(0,2π), B y θ son indep.
54
Composición
Este método se puede usar si la FDA F(x) deseada se puede
expresar como una suma ponderada de otras n FDA: F1 (x),
..., Fn (x):
En cualquier caso, los pasos a seguir son:
1. Genere un entero aleatorio I tal que P(I = i ) = pi. Esto
puede ser hecho con el método de transformación
inversa.
2. Genere x con la i-esima densidad fi (x) y retorne.
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
27
55
Composición
Esta densidad es una composición
de dos densidades exponenciales.
La probabilidad de que x sea
positiva es 1/2, y de que sea
negativa también es 1/2. Usando la
técnica de composición podemos
generar variables de Laplace de la
siguiente forma:
1. Genere u1 ~ U(0,1), y u2 ~
U(0,1).
2. Si u1 < 0.5, retorne x = -a ln u2 ,
de lo contrario retorne x = a ln u2.
FIN
lunes, 22 de junio de 2015
CONSTRUIMOS FUTURO
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
28
Escuela de Estudios Industriales y Empresariales
Ingeniería Industrial
Facultad de Ingenierías FísicoFísico-Mecánicas
CONSTRUIMOS FUTURO
Simulación de Sistemas Productivos
Ing. Edwin A. Garavito H.
Ing. Industrial – UIS - 2014
29
Descargar