SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
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.
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
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
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)
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.
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)
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)
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.
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
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)
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)
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.
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)
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)
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.

Más contenido relacionado

La actualidad más candente

Maximos y minimos funcion de varias variables
Maximos y minimos funcion de varias variablesMaximos y minimos funcion de varias variables
Maximos y minimos funcion de varias variablesRAQUEL CARDENAS GONZALEZ
 
Fuciones exponenciales y logarítmicas
Fuciones exponenciales y logarítmicasFuciones exponenciales y logarítmicas
Fuciones exponenciales y logarítmicasCarmen Batiz
 
La derivada como razon de cambio
La derivada como razon de cambioLa derivada como razon de cambio
La derivada como razon de cambioITCN
 
Ejercicios de limites indeterminados
Ejercicios de limites indeterminadosEjercicios de limites indeterminados
Ejercicios de limites indeterminadostinardo
 
Ejercicios de coinvolución- analisis de señales
Ejercicios de coinvolución- analisis de señalesEjercicios de coinvolución- analisis de señales
Ejercicios de coinvolución- analisis de señalesVeronica Montilla
 
Espacios y subespacios vectoriales en biotecnologia
Espacios y subespacios vectoriales en biotecnologiaEspacios y subespacios vectoriales en biotecnologia
Espacios y subespacios vectoriales en biotecnologiaPabloArgoti2
 
Casos De Factorizacion
Casos De FactorizacionCasos De Factorizacion
Casos De FactorizacionJairo27
 
Funcion arcoseno en matlab
Funcion arcoseno en matlabFuncion arcoseno en matlab
Funcion arcoseno en matlabandersonsebas
 
Biyectiva subyectiva e inyectiva.
 Biyectiva subyectiva e inyectiva.  Biyectiva subyectiva e inyectiva.
Biyectiva subyectiva e inyectiva. Jose banuelos
 
GUIA PARA EXTRAORDINARIO DE INGLÉS 1
GUIA PARA EXTRAORDINARIO DE INGLÉS 1GUIA PARA EXTRAORDINARIO DE INGLÉS 1
GUIA PARA EXTRAORDINARIO DE INGLÉS 1xrudiix
 

La actualidad más candente (20)

Limites laterales
Limites lateralesLimites laterales
Limites laterales
 
Maximos y minimos funcion de varias variables
Maximos y minimos funcion de varias variablesMaximos y minimos funcion de varias variables
Maximos y minimos funcion de varias variables
 
Fuciones exponenciales y logarítmicas
Fuciones exponenciales y logarítmicasFuciones exponenciales y logarítmicas
Fuciones exponenciales y logarítmicas
 
La derivada como razon de cambio
La derivada como razon de cambioLa derivada como razon de cambio
La derivada como razon de cambio
 
Clase 1 antiderivada
Clase 1 antiderivadaClase 1 antiderivada
Clase 1 antiderivada
 
Ejercicios de limites indeterminados
Ejercicios de limites indeterminadosEjercicios de limites indeterminados
Ejercicios de limites indeterminados
 
Ejercicios de coinvolución- analisis de señales
Ejercicios de coinvolución- analisis de señalesEjercicios de coinvolución- analisis de señales
Ejercicios de coinvolución- analisis de señales
 
73402371 el-oscilador-en-puente-de-wien
73402371 el-oscilador-en-puente-de-wien73402371 el-oscilador-en-puente-de-wien
73402371 el-oscilador-en-puente-de-wien
 
Espacios y subespacios vectoriales en biotecnologia
Espacios y subespacios vectoriales en biotecnologiaEspacios y subespacios vectoriales en biotecnologia
Espacios y subespacios vectoriales en biotecnologia
 
Modulacion AM
Modulacion AMModulacion AM
Modulacion AM
 
250 limites muestra_infinito_2012
250 limites muestra_infinito_2012250 limites muestra_infinito_2012
250 limites muestra_infinito_2012
 
Casos De Factorizacion
Casos De FactorizacionCasos De Factorizacion
Casos De Factorizacion
 
Fm 2014 1
Fm 2014 1Fm 2014 1
Fm 2014 1
 
04 derivadas definicion
04 derivadas definicion04 derivadas definicion
04 derivadas definicion
 
Limites
LimitesLimites
Limites
 
Amplificación transistor
Amplificación transistorAmplificación transistor
Amplificación transistor
 
Funcion arcoseno en matlab
Funcion arcoseno en matlabFuncion arcoseno en matlab
Funcion arcoseno en matlab
 
Biyectiva subyectiva e inyectiva.
 Biyectiva subyectiva e inyectiva.  Biyectiva subyectiva e inyectiva.
Biyectiva subyectiva e inyectiva.
 
GUIA PARA EXTRAORDINARIO DE INGLÉS 1
GUIA PARA EXTRAORDINARIO DE INGLÉS 1GUIA PARA EXTRAORDINARIO DE INGLÉS 1
GUIA PARA EXTRAORDINARIO DE INGLÉS 1
 
Práctica 5. amplificador op
Práctica 5. amplificador opPráctica 5. amplificador op
Práctica 5. amplificador op
 

Similar a Barrera

Similar a Barrera (20)

Algoritmos especiales
Algoritmos especialesAlgoritmos especiales
Algoritmos especiales
 
2._metodo_simplex.pdf
2._metodo_simplex.pdf2._metodo_simplex.pdf
2._metodo_simplex.pdf
 
Sesión 04 2015 II
Sesión 04 2015 IISesión 04 2015 II
Sesión 04 2015 II
 
Método algebraico
Método algebraicoMétodo algebraico
Método algebraico
 
Analisis de sensibilidad
Analisis de sensibilidadAnalisis de sensibilidad
Analisis de sensibilidad
 
Limite
LimiteLimite
Limite
 
Clase 4 método simplex.pptx
Clase 4 método simplex.pptxClase 4 método simplex.pptx
Clase 4 método simplex.pptx
 
Programación no lineal
Programación no linealProgramación no lineal
Programación no lineal
 
Método simplex.
Método simplex. Método simplex.
Método simplex.
 
Cal
CalCal
Cal
 
PL - METODO GRAFICO - TIPOS.pdf
PL - METODO GRAFICO - TIPOS.pdfPL - METODO GRAFICO - TIPOS.pdf
PL - METODO GRAFICO - TIPOS.pdf
 
Ecuaciones y sist de ecuaciones no lineales
Ecuaciones y sist de ecuaciones no linealesEcuaciones y sist de ecuaciones no lineales
Ecuaciones y sist de ecuaciones no lineales
 
Programación lineal entera y binaria
Programación lineal entera y binariaProgramación lineal entera y binaria
Programación lineal entera y binaria
 
Limite y Continuidad de Funciones ccesa007
Limite y Continuidad de Funciones  ccesa007Limite y Continuidad de Funciones  ccesa007
Limite y Continuidad de Funciones ccesa007
 
Guia 2 metodo grafico
Guia 2 metodo graficoGuia 2 metodo grafico
Guia 2 metodo grafico
 
Clase 2. limite y continuidad
Clase 2. limite y continuidadClase 2. limite y continuidad
Clase 2. limite y continuidad
 
Presentación de optimizacion
Presentación de optimizacionPresentación de optimizacion
Presentación de optimizacion
 
Presentación de optimizacion
Presentación de optimizacionPresentación de optimizacion
Presentación de optimizacion
 
Simplex
SimplexSimplex
Simplex
 
Marina.mallol optimizacion de sistemas
Marina.mallol optimizacion de sistemasMarina.mallol optimizacion de sistemas
Marina.mallol optimizacion de sistemas
 

Barrera

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.