Você está na página 1de 15

Mtodo de Barrera Ernesto Jimnez Ruiz

1 de 15
MTODO DE BARRERA


1. Introduccin

Al igual que los mtodos de penalizacin, los mtodos de barrera se usan para
transformar un problema de optimizacin con restricciones en otro sin ellas.
Estos mtodos fijan una barrera que evitar que se salga de la regin factible.

Problema primal

Minimizar f(x)
G(x) 0

Problema de Barrera

Minimizar (x, )=f(x) + B(x)
G(x) < 0

Si alguna restriccin es de la forma
g
i
(x) 0, deberemos transformarla en
g
i
(x) 0 para que todo funcione bien.
Esto simplemente afectar al signo de
la barrera asociada.

Los problemas con restricciones del
tipo g
i
(x) = 0 sern tratados tomando
las restricciones g
i
(x) (0 + ) y
g
i
(x) (0 - )

G(x) = (g
1
(x), g
2
(x), ..., g
n
(x)) es el conjunto de las restricciones del problema,
B(x) es la funcin de barrera y el parmetro de barrera. Las funciones de
barrera se definen de la siguiente manera:
1
( ) [ ( )]
n
i
i
B x g x
= =
= =



Donde (y) es una funcin continua y positiva para y < 0; adems
( ( ) )
0
lim ( )
y
y


= =
.

La siguiente funcin 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 prximos a la
frontera de la regin factible, llegando al infinito sobre la propia barrera. Esto
nos garantizar que no se abandonar la regin factible ya que no se podr
superar la barrera, suponiendo que el punto de partida sea un punto interior.

En la mayora de casos el punto ptimo se encuentra muy cercano a la frontera,
tomando la funcin de barrera valores muy elevados. Aqu es donde aparece la
utilidad del parmetro de barrera (> 0), que tendr la funcin de reducir el
valor de la barrera a medida que nos aproximemos a la frontera.

Mtodo de Barrera Ernesto Jimnez Ruiz
2 de 15
Si analizamos el problema de barrera expuesto en la pgina anterior, no parece
haberse minimizado la complejidad respecto al primal, ya que volvemos a tener
una restriccin, G(x) < 0; pero si partimos de un punto de la regin (cumplimos
la restriccin), podremos ignorarla ya que la barrera no nos permitir abandonar
la regin factible. De esta forma el problema con restricciones queda reducido en
otro sin ellas.

A medida que se vaya haciendo ms pequeo nos iremos acercando ms a la
solucin, es decir, se crear una secuencia de puntos x

(mnimo para ese valor


de ) que converger a la solucin cuando 0. Destaquemos que esto se
producir siempre y cuando la regin 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




Mtodo de Barrera Ernesto Jimnez Ruiz
3 de 15
2. Programacin del algoritmo

El algoritmo consta de tres ficheros:
- descenso_barrera.for programacin del algoritmo del
descenso ms rpido.
- funcion.for donde se programan los diferentes problemas a
resolver.
- barrera.for es el cdigo 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.
- Parmetro de barrera ( >0).
- Escalar para decrementar ( (0, 1)).
- Tolerancia del algoritmo ( >0).
- Nmero mximo de iteraciones. (K inicializada a 1)

c) Pasos:
1. Empezar con X
k
resolviendo el problema de optimizacin
transformado utilizando el algoritmo del descenso ms rpido.
Min f(x) +
k
*B(x); obteniendo el ptimo X
k+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 ms rpido porque los resultados
obtenidos fueron ms eficientes que los obtenidos con el algoritmo de Hooke y
Jeeves.

Problemas computacionales.

- Encontrar punto de partida: Para que el mtodo de un resultado correcto, es
necesario partir de un punto interior. Esto en problemas sencillos no es tarea
difcil; pero en otros problemas con numerosas variables y restricciones
puede resultar bastante complicado, y ser necesario utilizar mtodos que
nos proporcionen un buen punto de partida. En un caso real puede que una
empresa no pida mejorar una solucin que, evidentemente, se encuentra en
regin factible; pero en otros casos puede haber sido necesario aadir alguna
restriccin al problema y la actual solucin haber quedado fuera de la regin.

- La frontera: debido a los elevados valores que alcanza la funcin de barrera
en puntos cercanos a la frontera de la regin factible, es necesario trabajar
con bastante precisin en estos puntos

Mtodo de Barrera Ernesto Jimnez Ruiz
4 de 15
3. Aplicacin del algoritmo

a) Minimizar (x 2)
4
+ (x 2y)
2

Sujeto a x
2
-y 0


Barrera Construida:
2
1
( ) B x
x y

= =



Representacin de la funcin objetivo:


0
1
2
3
0
0.5
1
1.5
2
0
10
20
30
0
1
2
3
Figura 2: Representacin de la funcin 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
ms rpido se ha trabajado con una tolerancia igual a 0.0000000001 y
un alfa inicial igual a 0.0005:

k
k
X
k+1
(
k
) B(x
k+1
) f(x
k+1
)
k
B(x
k+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)
Mtodo de Barrera Ernesto Jimnez Ruiz
5 de 15
En la figura 2 esta representada la secuencia de puntos seguida junto a la
restriccin; en la figura 3 junto a la funcin:

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: Representacin junto a la restriccin.



Figura 4: Representacin junto a la funcin.
Mtodo de Barrera Ernesto Jimnez 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 ms rpido 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)
Funcin f(x
k+1
) 1.9544996 1.953273
Barrera B(x) 406.003658 476.149099

k
B(x
k+1
)
0.008315 0.007095
Tabla 2: Resultados obtenidos

En las figuras 5 y 6 se muestra grficamente la evolucin de los
puntos hasta llegar al mnimo para ambos puntos de partida, junto a la
restriccin.


0
1
2
3
4
5
6
0 1 2 3 4 5 6
'sec2.txt'
x**2

Figura 5: Evolucin seguida hasta el mnimo desde el (2, 5)

Mtodo de Barrera Ernesto Jimnez Ruiz
7 de 15
0
1
2
3
4
5
6
0 1 2 3 4 5 6
'sec3.txt'
x**2

Figura 6: Evolucin seguida hasta el mnimo desde el (1.5, 4.2)


Las figuras 7 y 8 muestran la evolucin de los puntos hasta llegar al
mnimo junto a la funcin objetivo del problema primal.


Figura 7: Evolucin seguida hasta el mnimo desde el (2, 5)



Mtodo de Barrera Ernesto Jimnez Ruiz
8 de 15

Figura 8: Evolucin seguida hasta el mnimo desde el (1.5, 4.2)



Observaciones:

o La eleccin 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
direccin de mximo 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 pequeo, al realizarse ms iteraciones,
puede hacerse tan pequeo que la funcin de barrera se haga
insignificante ( B(x) ) y pasemos a minimizar sin restricciones.
Mtodo de Barrera Ernesto Jimnez Ruiz
9 de 15
b) Minimizar 3x
2
+ 4xy + 5y
2

Sujeto a x 0, y 0, x + y 4


Barrera Construida:
1 1 1
( )
4
B x
x y x y
= + + = + +
+ +


Representacin de la funcin objetivo:

-4
-2
0
2
4
-4
-2
0
2
4
0
100
200
300
-4
-2
0
2
4

Figura 9: Representacin de la funcin 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 ms rpido 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)
Funcin f(x
k+1
) 44.031882 44.028564
Barrera B(x) 44.032407 44.028984

k
B(x
k+1
)
0.0005249 0.0004199
Tabla 3: Resultados obtenidos
Mtodo de Barrera Ernesto Jimnez Ruiz
10 de 15
En las figuras 10 y 11 se muestra grficamente la evolucin de los puntos
hasta llegar al mnimo junto a la restriccin, para ambos puntos de
partida.

0
1
2
3
4
5
0 1 2 3 4 5
'sec2.txt'
4-x

Figura 10: Evolucin seguida hasta el mnimo desde el (4.0, 3.0)



Figura 11: Evolucin seguida hasta el mnimo desde el (5.0, 6.0)
Mtodo de Barrera Ernesto Jimnez Ruiz
11 de 15

Las figuras 12 y 13 muestran la evolucin de los puntos hasta llegar al
mnimo junto a la funcin objetivo del problema primal. Tambin se ha
representado la restriccin en el eje XY


Figura 12: Evolucin seguida hasta el mnimo desde el (4.0, 3.0)



Figura 13: Evolucin seguida hasta el mnimo desde el (0.1, 4.1)
Mtodo de Barrera Ernesto Jimnez Ruiz
12 de 15
c) Una empresa de cermica puede comprar hasta 17.25 Kg
de producto x
3
al precio de 10 . A partir de x
3
se fabrica x
1

y x
2
a 3 y 5 el Kg. Cada Kg de x
1
se vende a (30 x
1
)x
1
y
el de x
2
a (50 2x
2
)x
2
. Se pide maximizar los beneficios.

El problema quedara planteado de la siguiente manera:

Maximizar x
1
(30 x
1
) + x
2
(50 2x
2
) 10x
3
5x
2
3x
1

Sujeto a x
3

x
1
+ x
2
; x
3
17.25; x
1
0; x
2
0; x
3
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 regin factible y se estudi su evolucin
al mximo. 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 ms rpido.


1. Punto (2.5, 2.3, 6.4)


10

0.1

0.001
Iteraciones 8
Punto final (8.480641, 8.742602, 17.2235597)
Funcin f(x
k+1
) 225.368378
Barrera B(x) 225.368153

k
B(x
k+1
)
0.000225


La representacin de la evolucin hacia el mnimo junto con las
restricciones se puede apreciar en la siguiente figura. La superficie verde
representa la restriccin x
3

x
1
+ x
2
, y la superficie roja a la
restriccin x
3
17.25.

Mtodo de Barrera Ernesto Jimnez 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: Evolucin seguida hasta el mnimo 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)
Funcin f(x
k+1
) 225.816876
Barrera B(x) 225.816778

k
B(x
k+1
)
0.000097207

La representacin de la evolucin hacia el mnimo 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: Evolucin seguida hasta el mnimo desde el (5.3, 1.9, 7.5)
Mtodo de Barrera Ernesto Jimnez 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)
Funcin f(x
k+1
) 225.546462
Barrera B(x) 225.546425

k
B(x
k+1
)
0.000097207

La representacin de la evolucin hacia el mnimo 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: Evolucin seguida hasta el mnimo desde el (1.0, 1.0, 2.5)

Mtodo de Barrera Ernesto Jimnez Ruiz
15 de 15
4. Conclusiones

Los mtodos de barrera junto con los de penalizacin son de gran inters terico
y prctico. Al experimentador le ofrecen un mtodo 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 terico le permiten llevar a la prctica, sin una lentitud
de convergencia, aspectos de la teora de optimizacin incluyendo
multiplicadores de Lagrange, condiciones necesarias, etc.

Você também pode gostar