Método de Barrera Ernesto Jiménez Ruiz
1 de 15
MÉTODO DE BARRERA
1. Introducción
Al igual que los métodos de penalización,...
Método de Barrera Ernesto Jiménez Ruiz
2 de 15
Si analizamos el problema de barrera expuesto en la página anterior, no par...
Método de Barrera Ernesto Jiménez Ruiz
3 de 15
2. Programación del algoritmo
El algoritmo consta de tres ficheros:
- desce...
Método de Barrera Ernesto Jiménez Ruiz
4 de 15
3. Aplicación del algoritmo
a) Minimizar (x – 2)4
+ (x – 2y)2
Sujeto a x2
-...
Método de Barrera Ernesto Jiménez Ruiz
5 de 15
En la figura 2 esta representada la secuencia de puntos seguida junto a la
...
Método de Barrera Ernesto Jiménez Ruiz
6 de 15
o La tabla 2 muestra los resultados partiendo del punto (2.0, 5.0) y del
pu...
Método de Barrera Ernesto Jiménez Ruiz
7 de 15
0
1
2
3
4
5
6
0 1 2 3 4 5 6
'sec3.txt'
x**2
Figura 6: Evolución seguida has...
Método de Barrera Ernesto Jiménez Ruiz
8 de 15
Figura 8: Evolución seguida hasta el mínimo desde el (1.5, 4.2)
Observacion...
Método de Barrera Ernesto Jiménez Ruiz
9 de 15
b) Minimizar 3x2
+ 4xy + 5y2
Sujeto a x ≥≥ 0, y ≥≥ 0, x + y ≥≥ 4
Barrera Co...
Método de Barrera Ernesto Jiménez Ruiz
10 de 15
En las figuras 10 y 11 se muestra gráficamente la evolución de los puntos
...
Método de Barrera Ernesto Jiménez Ruiz
11 de 15
Las figuras 12 y 13 muestran la evolución de los puntos hasta llegar al
mí...
Método de Barrera Ernesto Jiménez Ruiz
12 de 15
c) Una empresa de cerámica puede comprar hasta 17.25 Kg
de producto x3 al ...
Método de Barrera Ernesto Jiménez Ruiz
13 de 15
'sec.txt'
0
1
2
3
4 5
6
7
8 9 0
1
2
3
4
5
6
7
8
9
0
5
10
15
20
u, v, u+v
u...
Método de Barrera Ernesto Jiménez Ruiz
14 de 15
3. Punto (1.0, 1.0, 2.5)
µµ 200
ββ 0.2
ξξ 0.0001
Iteraciones 13
Punto fina...
Método de Barrera Ernesto Jiménez Ruiz
15 de 15
4. Conclusiones
Los métodos de barrera junto con los de penalización son d...
Próxima SlideShare
Cargando en…5
×

Barrera

208 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
208
En SlideShare
0
De insertados
0
Número de insertados
1
Acciones
Compartido
0
Descargas
1
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Barrera

  1. 1. Método de Barrera Ernesto Jiménez Ruiz 1 de 15 MÉTODO DE BARRERA 1. Introducción Al igual que los métodos de penalización, los métodos de barrera se usan para transformar un problema de optimización con restricciones en otro sin ellas. Estos métodos fijan una “barrera” que evitará que se salga de la región factible. Problema primal Minimizar f(x) G(x) ≤ 0 Problema de Barrera Minimizar θ(x, µ)=f(x) + µB(x) G(x) < 0 Si alguna restricción es de la forma gi(x) ≥ 0, deberemos transformarla en –gi(x) ≤ 0 para que todo funcione bien. Esto simplemente afectará al signo de la barrera asociada. Los problemas con restricciones del tipo gi(x) = 0 serán tratados tomando las restricciones gi(x) ≤ (0 + ξ) y gi(x) ≥ (0 - ξ) G(x) = (g1(x), g2(x), ..., gn(x)) es el conjunto de las restricciones del problema, B(x) es la función de barrera y µ el parámetro de barrera. Las funciones de barrera se definen de la siguiente manera: 1 ( ) [ ( )] n i i B x g xφφ == == ∑∑ Donde φ(y) es una función continua y positiva para y < 0; además (( ))0 lim ( ) y yφφ−− →→ = ∞= ∞ . La siguiente función de barrera es con la que se ha trabajado en el algoritmo: 1 1 ( ) ( ) n i i B x g x== −− == ∑∑ Este tipo de funciones toman valores muy grandes en puntos próximos a la frontera de la región factible, llegando al infinito sobre la propia barrera. Esto nos garantizará que no se abandonará la región factible ya que no se podrá superar la barrera, suponiendo que el punto de partida sea un punto interior. En la mayoría de casos el punto óptimo se encuentra muy cercano a la frontera, tomando la función de barrera valores muy elevados. Aquí es donde aparece la utilidad del parámetro de barrera µ (> 0), que tendrá la función de reducir el valor de la barrera a medida que nos aproximemos a la frontera.
  2. 2. Método de Barrera Ernesto Jiménez Ruiz 2 de 15 Si analizamos el problema de barrera expuesto en la página anterior, no parece haberse minimizado la complejidad respecto al primal, ya que volvemos a tener una restricción, G(x) < 0; pero si partimos de un punto de la región (cumplimos la restricción), podremos ignorarla ya que la barrera no nos permitirá abandonar la región factible. De esta forma el problema con restricciones queda reducido en otro sin ellas. A medida que µ se vaya haciendo más pequeño nos iremos acercando más a la solución, es decir, se creará una secuencia de puntos xµ (mínimo para ese valor de µ) que convergerá a la solución cuando µà0. Destaquemos que esto se producirá siempre y cuando la región factible sea un conjunto robusto, es decir, desde el interior del conjunto se puede acceder a todos los puntos del mismo. En la figura 1 se pueden observar tres tipos de conjuntos. Figura 1: Ejemplos de Conjuntos
  3. 3. Método de Barrera Ernesto Jiménez Ruiz 3 de 15 2. Programación del algoritmo El algoritmo consta de tres ficheros: - descenso_barrera.for à programación del algoritmo del descenso más rápido. - funcion.for à donde se programan los diferentes problemas a resolver. - barrera.for à es el código principal en el que está programado el algoritmo de barrera. Los pasos seguidos en el programa principal son los siguientes: b) Datos de entrada: - Punto inicial. - Parámetro de barrera (µ >0). - Escalar para decrementar µ (β ∈ (0, 1)). - Tolerancia del algoritmo (ξ >0). - Número máximo de iteraciones. (K inicializada a 1) c) Pasos: 1. Empezar con Xk resolviendo el problema de optimización transformado utilizando el algoritmo del descenso más rápido. Min f(x) + µk*B(x); obteniendo el óptimo Xk+1 2. Si µk*B(x) < ξ el algoritmo se ha terminado; si no µk+1=β*µk ; k=k+1 y volvemos 1 He utilizado el algoritmo de descenso más rápido porque los resultados obtenidos fueron más eficientes que los obtenidos con el algoritmo de Hooke y Jeeves. Problemas computacionales. - Encontrar punto de partida: Para que el método de un resultado correcto, es necesario partir de un punto interior. Esto en problemas sencillos no es tarea difícil; pero en otros problemas con numerosas variables y restricciones puede resultar bastante complicado, y será necesario utilizar métodos que nos proporcionen un buen punto de partida. En un caso real puede que una empresa no pida mejorar una solución que, evidentemente, se encuentra en región factible; pero en otros casos puede haber sido necesario añadir alguna restricción al problema y la actual solución haber quedado fuera de la región. - La frontera: debido a los elevados valores que alcanza la función de barrera en puntos cercanos a la frontera de la región factible, es necesario trabajar con bastante precisión en estos puntos
  4. 4. Método de Barrera Ernesto Jiménez Ruiz 4 de 15 3. Aplicación del algoritmo a) Minimizar (x – 2)4 + (x – 2y)2 Sujeto a x2 -y ≤≤ 0 Barrera Construida: 2 1 ( )B x x y −− == −− Representación de la función objetivo: 0 1 2 3 0 0.5 1 1.5 2 0 10 20 30 0 1 2 3 Figura 2: Representación de la función del problema primal Resultados obtenidos: o Partiendo del punto (0.0, 1.0) con µ=10, β=0.1, ξ=0.01, se obtuvieron los resultados de la tabla 1. Para el algoritmo de descenso más rápido se ha trabajado con una tolerancia igual a 0.0000000001 y un alfa inicial igual a 0.0005: k µµk Xk+1 θθ(µµk) B(xk+1) f(xk+1) µµk B(xk+1) 1 10 (0.707941, 1.531497) 18.038981 0.970576 8.333220 9.705760 2 1 (0.828202, 1.109799) 6.180571 2.359156 3.821415 2.359156 3 0.1 (0.898855, 0.963832) 3.170124 6.414731 2.528651 0.641473 4 0.01 (0.929365, 0.916397) 2.319927 18.98375 2.130090 0.189837 5 0.001 (0.940464, 0.901571) 2.062966 58.48441 2.004481 0.0584844 6 0.0001 (0.943922, 0.896420) 1.982969 184.1169 1.964557 0.0184117 7 0.00001 (0.945111, 0.894958) 1.957802 580.5201 1.951997 0.0058052 Tabla 1: Resultados obtenidos para el punto inicial (0, 1)
  5. 5. Método de Barrera Ernesto Jiménez Ruiz 5 de 15 En la figura 2 esta representada la secuencia de puntos seguida junto a la restricción; en la figura 3 junto a la función: 0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5 3 'sec1.txt' x**2 Figura 3: Representación junto a la restricción. Figura 4: Representación junto a la función.
  6. 6. Método de Barrera Ernesto Jiménez Ruiz 6 de 15 o La tabla 2 muestra los resultados partiendo del punto (2.0, 5.0) y del punto (1.5, 4.2). Para el algoritmo de descenso más rápido se tomo como tolerancia 0.0000000001 y un alfa inicial igual a 0.0005: Secuencia 2 Secuencia 3 Punto inicial (2, 5) (1.5, 4.2) µµ 1000 1000 ββ 0.2 0.5 ξξ 0.01 0.01 Iteraciones 12 27 Punto final (0.944864, 0.895232) (0.9449777, 0.895083) Función f(xk+1) 1.9544996 1.953273 Barrera B(x) 406.003658 476.149099 µµk B(xk+1) 0.008315 0.007095 Tabla 2: Resultados obtenidos En las figuras 5 y 6 se muestra gráficamente la evolución de los puntos hasta llegar al mínimo para ambos puntos de partida, junto a la restricción. 0 1 2 3 4 5 6 0 1 2 3 4 5 6 'sec2.txt' x**2 Figura 5: Evolución seguida hasta el mínimo desde el (2, 5)
  7. 7. Método de Barrera Ernesto Jiménez Ruiz 7 de 15 0 1 2 3 4 5 6 0 1 2 3 4 5 6 'sec3.txt' x**2 Figura 6: Evolución seguida hasta el mínimo desde el (1.5, 4.2) Las figuras 7 y 8 muestran la evolución de los puntos hasta llegar al mínimo junto a la función objetivo del problema primal. Figura 7: Evolución seguida hasta el mínimo desde el (2, 5)
  8. 8. Método de Barrera Ernesto Jiménez Ruiz 8 de 15 Figura 8: Evolución seguida hasta el mínimo desde el (1.5, 4.2) Observaciones: o La elección del alfa = 0.0005, no fue al azar; ya que si se coge un alfa inicial muy grande podemos realizar un salto muy grande (en la dirección de máximo descenso) y saltar la barrera en puntos cercanos a la misma. o El ξ es el valor que nos determinará la salida del algoritmo; si se escoge un ξ excesivamente pequeño, al realizarse más iteraciones, µ puede hacerse tan pequeño que la función de barrera se haga insignificante (µ B(x) ↓↓) y pasemos a minimizar sin restricciones.
  9. 9. Método de Barrera Ernesto Jiménez Ruiz 9 de 15 b) Minimizar 3x2 + 4xy + 5y2 Sujeto a x ≥≥ 0, y ≥≥ 0, x + y ≥≥ 4 Barrera Construida: 1 1 1 ( ) 4 B x x y x y = + += + + + −+ − Representación de la función objetivo: -4 -2 0 2 4 -4 -2 0 2 4 0 100 200 300 -4 -2 0 2 4 Figura 9: Representación de la función del problema primal Resultados obtenidos: La tabla 3 muestra los resultados obtenidos partiendo del punto (4,3) y del punto (0.1, 4.1). Para el algoritmo de descenso más rápido se tomo como tolerancia 0.0000000001 y un alfa inicial igual a 0.0005: Secuencia 1 Secuencia 2 Punto inicial (4.0, 3.0) (0.1, 4.1) µµ 100 10 ββ 0.5 0.5 ξξ 0.001 0.0001 Iteraciones 25 22 Punto final (3.000983, 0.999753) (3.0009439, 0.9997144) Función f(xk+1) 44.031882 44.028564 Barrera B(x) 44.032407 44.028984 µµk B(xk+1) 0.0005249 0.0004199 Tabla 3: Resultados obtenidos
  10. 10. Método de Barrera Ernesto Jiménez Ruiz 10 de 15 En las figuras 10 y 11 se muestra gráficamente la evolución de los puntos hasta llegar al mínimo junto a la restricción, para ambos puntos de partida. 0 1 2 3 4 5 0 1 2 3 4 5 'sec2.txt' 4-x Figura 10: Evolución seguida hasta el mínimo desde el (4.0, 3.0) Figura 11: Evolución seguida hasta el mínimo desde el (5.0, 6.0)
  11. 11. Método de Barrera Ernesto Jiménez Ruiz 11 de 15 Las figuras 12 y 13 muestran la evolución de los puntos hasta llegar al mínimo junto a la función objetivo del problema primal. También se ha representado la restricción en el eje XY Figura 12: Evolución seguida hasta el mínimo desde el (4.0, 3.0) Figura 13: Evolución seguida hasta el mínimo desde el (0.1, 4.1)
  12. 12. Método de Barrera Ernesto Jiménez Ruiz 12 de 15 c) Una empresa de cerámica puede comprar hasta 17.25 Kg de producto x3 al precio de 10 €. A partir de x3 se fabrica x1 y x2 a 3 y 5 € el Kg. Cada Kg de x1 se vende a (30 – x1)x1 € y el de x2 a (50 – 2x2)x2. Se pide maximizar los beneficios. El problema quedaría planteado de la siguiente manera: Maximizar x1(30 – x1) + x2(50 – 2x2) – 10x3 – 5x2 – 3x1 Sujeto a x3 ≥ x1 + x2; x3 ≤ 17.25; x1 ≥ 0; x2 ≥ 0; x3 ≥ 0 Barrera construida: 3 1 2 3 3 2 1 1 1 1 1 1 ( ) 17.25 B x x x x x x x x −− = + + + += + + + + − − −− − − Resultados obtenidos: Se escogieron tres puntos de la región factible y se estudió su evolución al máximo. Se tomo, al igual que los ejemplos anteriores, una tolerancia igual a 0.0000000001 y 0.0005 como alfa inicial para el algoritmo del descenso más rápido. 1. Punto (2.5, 2.3, 6.4) µµ 10 ββ 0.1 ξξ 0.001 Iteraciones 8 Punto final (8.480641, 8.742602, 17.2235597) Función f(xk+1) 225.368378 Barrera B(x) 225.368153 µµk B(xk+1) 0.000225 La representación de la evolución hacia el mínimo junto con las restricciones se puede apreciar en la siguiente figura. La superficie verde representa la restricción x3 ≥≥ x1 + x2 , y la superficie roja a la restricción x3 ≤≤ 17.25.
  13. 13. Método de Barrera Ernesto Jiménez Ruiz 13 de 15 'sec.txt' 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 5 10 15 20 u, v, u+v u, v, 17.25 Figura 14: Evolución seguida hasta el mínimo desde el (2.5, 2.3, 6.4) 2. Punto (5.3, 1.9, 7.5) µµ 100 ββ 0.3 ξξ 0.0001 Iteraciones 17 Punto final (8.485993, 8.744184, 17.230176) Función f(xk+1) 225.816876 Barrera B(x) 225.816778 µµk B(xk+1) 0.000097207 La representación de la evolución hacia el mínimo junto con las restricciones se puede apreciar en la siguiente figura. 'sec2.txt' 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 5 10 15 20 u, v, u+v u, v, 17.25 Figura 15: Evolución seguida hasta el mínimo desde el (5.3, 1.9, 7.5)
  14. 14. Método de Barrera Ernesto Jiménez Ruiz 14 de 15 3. Punto (1.0, 1.0, 2.5) µµ 200 ββ 0.2 ξξ 0.0001 Iteraciones 13 Punto final (8.485064, 8.743921, 17.228985) Función f(xk+1) 225.546462 Barrera B(x) 225.546425 µµk B(xk+1) 0.000097207 La representación de la evolución hacia el mínimo junto con las restricciones se puede apreciar en la siguiente figura. 'sec3.txt' 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 5 10 15 20 u, v, u+v u, v, 17.25 Figura 16: Evolución seguida hasta el mínimo desde el (1.0, 1.0, 2.5)
  15. 15. Método de Barrera Ernesto Jiménez Ruiz 15 de 15 4. Conclusiones Los métodos de barrera junto con los de penalización son de gran interés teórico y práctico. Al experimentador le ofrecen un método directo y sencillo para manejar problemas con restricciones que se pueden aplicar sin necesidad de complicados programas y que tienen casi el mismo grado de generalidad que los problemas primales. Al teórico le permiten llevar a la práctica, sin una lentitud de convergencia, aspectos de la teoría de optimización incluyendo multiplicadores de Lagrange, condiciones necesarias, etc.

×