You are on page 1of 9

Metodo 5

En la seccin 12.4 se us el valor de la derivada ordinaria mediante el


mtodo de
biseccin para elegir una de slo dos direcciones posibles (aumentar x o
disminuir
x) para pasar de la solucin de prueba actual a la siguiente. La meta era
alcanzar, en
algn momento, un punto en el que la derivada fuera (en esencia) cero.
Ahora se
tienen innumerables direcciones posibles hacia dnde moverse;
corresponden a las
tasas proporcionales posibles a las cuales las respectivas variables
pueden cambiar.
La meta es alcanzar, finalmente, un punto en el que todas las derivadas
parciales
sean en esencia 0. Por lo tanto, la extensin del procedimiento de
bsqueda en
una dimensin requiere emplear los valores de las derivadas parciales
para
seleccionar la direccin especfica en la que conviene moverse. Esta
seleccin
implica el uso del gradiente de la funcin objetivo, como se describir en
seguida.
Como se supone que la funcin objetivo f(x) es diferenciable, posee un
gradiente
denotado por f(x) en cada punto x. En particular, el gradiente en un
punto
especfico x = x es el vector cuyos elementos son las derivadas
parciales
respectivas evaluadas en x = x, por lo cual
f (x ) = ( , , , ) en x = . f
x 1
f
x 2
f
x n

x
El significado del gradiente es que el cambio (infinitesimal) de x, que
maximiza la
tasa a la que f(x) aumenta, es el cambio que es proporcional a f(x).
Para expresar
en forma geomtrica esta idea, la direccin del gradiente, f(x), se
interpreta
como la direccin del segmento de recta dirigido (flecha) que va del
origen (0, 0,

, 0) al punto ( f / , f / , , f / ), donde se evala en xj = xj. En


consecuencia, se puede decir que la tasa a la que aumenta f(x) se
maximiza si los
cambios (infinitesimales) de x se hacen en la direccin del gradiente
f(x). Como el
objetivo es encontrar la solucin factible que maximice f(x), parece
adecuado
intentar moverse lo ms posible en la direccin del gradiente.
x 1x 2x n
Debido a que el problema en cuestin no tiene restricciones, esta
interpretacin del
gradiente sugiere que un procedimiento de bsqueda eficiente debe
moverse en la
direccin del gradiente hasta que (en esencia) alcance una solucin
ptima x*, en la
que f(x*) = 0. Sin embargo, no resultara prctico cambiar x de manera
continua en
la direccin de f(x), puesto que esta serie de cambios requerira una
reevaluacin
continua de f / y el cambio de direccin de la trayectoria. Entonces,
una mejor
forma de hacerlo es continuar el movimiento en una direccin fija a
partir de la
solucin de prueba actual, sin detenerse, hasta que f(x) deje de crecer.
Este punto de
detencin sera la siguiente solucin de prueba, por lo que se debe
volver a calcular
el gradiente para determinar la nueva direccin de movimiento. Con
este enfoque,
cada iteracin incluye cambiar la solucin de prueba actual x de la
siguiente
manera:
xj
Se modifica x = x + t* f(x),
donde t* es el valor positivo de t que maximiza f(x + t f(x)); es decir,
f (x + t f ( )) = f ( + t f ( )). x mx
t0

x x
[Note que f(x + t f(x)) es sencillamente f(x) donde
x = + t , para j = 1,2, , n j x j
( ) f
x j x =x

y estas expresiones para la xj incluyen slo constantes y t, de manera


que f(x) se
convierte en una funcin de una sola variable t.] Las iteraciones de este
procedimiento de bsqueda del gradiente continan hasta que f(x) = 0
dentro de

una pequea tolerancia , o sea, hasta que

x j

para j = 1, 2, , n1

Una analoga puede ayudar a aclarar este procedimiento. Suponga que


una persona
quiere subir a la cumbre de una montaa. Esta persona es miope y no
puede ver la
cumbre para caminar en esa direccin, pero cuando se detiene, puede
ver el piso a
su alrededor y determinar la direccin en la que la pendiente de la
montaa es ms
pronunciada. La persona puede caminar en lnea recta. Mientras camina,
tambin es
capaz de percibir cundo ya no va hacia arriba (pendiente cero en esa
direccin).
Suponiendo que la montaa es cncava, el individuo puede usar el
procedimiento
de bsqueda del gradiente para escalar de manera eficiente hasta la
cima. Este
problema tiene dos variables, donde (x1, x2) representa las coordenadas
(ignorando
la altura) de la localizacin actual. La funcin f(x1, x2) da la altura de la
montaa en
(x1, x2). La persona comienza cada iteracin en el lugar en que se
encuentra
(solucin de prueba actual) y determina la direccin [en el sistema de
coordenadas
(x1, x2) ] en la que la montaa tiene la mayor pendiente (la direccin del
gradiente)
en ese punto. Despus, comienza a caminar en esa direccin fija y
contina
hacindolo mientras sigue subiendo. Luego se detiene en un nuevo
punto de prueba
(solucin) cuando la montaa se nivela en la direccin en que camina;
en este punto
se prepara para realizar otra iteracin en otra direccin. Estas
iteraciones continan,
en una trayectoria en zigzag hacia arriba, hasta que alcanza un punto de
prueba en el
que la pendiente es en esencia cero en todas direcciones. Bajo el
supuesto de que la
montaa [f(x1, x2) ] es cncava, en principio, la persona debe estar en la
cima de la

montaa.
Por lo general, la parte ms difcil del procedimiento de bsqueda del
gradiente es
encontrar t*, el valor de t que maximiza f en la direccin del gradiente,
en cada
iteracin. Como x y f(x) tienen valores fijos para la maximizacin y
como f(x) es
cncava, este problema se debe ver como el de maximizar una funcin
cncava de
una sola variable t. En efecto, se puede resolver con el tipo de
procedimientos de
bsqueda de la optimizacin no restringida de una sola variable
descritos en la
seccin 12.4 donde la cota inferior inicial sobre t debe ser no negativa
por la
restriccin de t 0. De otra manera, si f es una funcin simple, es
posible que se
pueda obtener una solucin analtica al establecer la derivada con
respecto a t igual
a cero para despus resolver.

Resumen del procedimiento


Paso inicial: Elija y cualquier solucin de prueba inicial x. Vaya a la
regla de
detencin.
Iteracin:
1. Exprese f(x + t f(x)) como una funcin de t al establecer
x = + t , para j = 1,2, , n, j x j
( ) f
x j x =x

y despus sustituya estas expresiones en f(x).


2. Utilice el procedimiento de bsqueda en una dimensin (o clculo)
para
encontrar t = t* que maximiza f(x + t f(x)) para t 0.
3. Establezca x = x + t* f(x). Despus, pase a la regla de detencin.
Regla de detencin: evale f(x) en x = x. Verifique si

x j

para toda j = 1,2, , n.

Si es as, el proceso se detiene con la x actual como la aproximacin a


una solucin
ptima x* deseada. De otra manera, se realiza otra iteracin.
Ahora se ilustrar este procedimiento.

Ejemplo.
Considere el siguiente problema de dos variables:
Maximizar f ( x) = 2x + 2 2 . 1x 2 x 2 x 1
2x 2
2

Entonces,
f
x 1

= 2x 2 2 x

f
x 2

= 2x + 2 4 . 1 x 2
Tambin se puede verificar (vea el apndice 2) que f(x) es cncava.
Para comenzar el procedimiento de bsqueda del gradiente , suponga
que se
elige x = (0, 0) como solucin de prueba inicial. Como en este punto las
respectivas derivadas parciales son 0 y 2, el gradiente es
f (0,0) = (0,2).
Con < 2, la regla de detencin indica la realizacin de una iteracin.
Iteracin 1: Con los valores de 0 y 2 para las derivadas parciales
respectivas, la
primera iteracin inicia al establecer
x = 0 + t (0) = 0, 1
x = 0 + t (2) = 2 t , 2
y despus se sustituyen estas expresiones en f(x) para obtener
f (x + t f ( )) x = f (0,2 t )
= 2(0)(2 t ) + 2(2 t ) 0 2 2 (2 t ) 2
= 4 t 8t . 2
como
f (0,2 t * ) = mx f (0,2 t ) = 4 t 8
t0

mx
t0

{t }
2

y
(4 t 8 ) =4 16 t = 0,
dtt 2
se deduce que
t*=,1

as,
Se modifica x = (0,0) + (0,2) = (0, ).

4
1
2

Con esto termina la primera iteracin. El gradiente de esta nueva


solucin de
prueba es
f (0, ) = (1,0). 1

Con < 1, ahora la regla de detencin indica que debe realizarse otra
iteracin.
Iteracin 2: Para comenzar con la segunda iteracin, se usan los valores
de 1 y 0
para las derivadas parciales respectivas y se establece
x = (0, ) +t (1,0) = ( t, ), 1
2
1
2

as,
f (x + t f ( )) x = f (0 + t, +0t) =f ( t, )

2
1
2

= (2t )( ) + 2( ) 2
2
1
2
2
2

t 2( )

=tt+.

21

como
f ( t * , ) = f ( t, ) = t +
2 mx

t0
1
2

mx

t0

21

y
( t + ) = 1 2 t = 0,
dtt 21

entonces
t*=,1
2

por lo que
Se modifica x = (0, ) + (1,0) = ( , ).
2
1
2
1
2
1
2

Con esta igualdad se completa la segunda iteracin. Con un valor de


tpicamente pequeo, el procedimiento ahora continuara por algunas
iteraciones
ms de una manera similar. (Se omitirn los detalles.)

Una manera sencilla de organizar este trabajo es escribir una tabla como
la 12.3,
que resume las dos iteraciones anteriores. En cada iteracin, la segunda
columna
muestra la solucin de prueba actual y la ltima muestra la nueva
solucin de
prueba eventual, que despus se escribe abajo, en la segunda columna,
para la
siguiente iteracin. La cuarta columna proporciona las expresiones para
la xj en
trminos de t, que se deben sustituir en f(x) para dar la quinta columna.

FIGURA 12.14

Ilustracin del procedimiento de bsqueda del gradiente cuando


f (x , ) = 2 + 2 2 . 1 x 2 x 1x 2 x 2 x 1
2x 2
2

TABLA 12.3 Aplicacin del procedimiento de bsqueda


del gradiente al ejemplo

Si se contina de esta manera, las soluciones de prueba subsecuentes


sern (
, ), ( , ), ( , ), ( , ), , como se muestra en la figura 12.14. Dado que
estos puntos convergen a x* = (1, 1), sta es la solucin ptima, como
se puede
verificar por el hecho de que
1
2
3
4
3
4
3

4
3
4
7
8
7
8
7
8

f (1,1) = (0,0).
Sin embargo, como esta sucesin convergente de soluciones de prueba
nunca
alcanza su lmite, en realidad el procedimiento se detendr en algn
punto
(dependiendo de ) un poco antes de (1, 1) como aproximacin final de
x*.
En la figura 12.14 se sugiere que el procedimiento de bsqueda del
gradiente
marca una trayectoria en zigzag hacia la solucin ptima en lugar de
moverse en
lnea recta. Si se toma en cuenta este comportamiento, se puede
realizar algunas
modificaciones que aceleren el movimiento hacia el ptimo.
Si f(x) no fuera una funcin cncava, de todas maneras este
procedimiento
convergira a un mximo local. El nico cambio en la descripcin del
procedimiento para este caso es que t* ahora corresponde al primer
mximo local
de f(x + t f(x)) conforme t aumenta su valor desde 0.
Si se quisiera minimizar la funcin objetivo f(x), un cambio en el
procedimiento
sera moverse, en cada iteracin, en la direccin opuesta al gradiente;
en otras
palabras, la regla para obtener el siguiente punto sera
Modificar x = t * f ( ). x x
571

CAPTULO 12: Programacin no lineal Pgina 41 de


145
Introduccin a la Investigacion de Operaciones, 8th
Edition
El otro nico cambio es que t* ahora sera el valor negativo de la t que
minimiza
f(x t f(x)); esto es,
f (x t * f ( )) = f ( t f ( )). x mn
t0

x x
Tanto en la seccin Worked Examples como en el OR Tutor del CD-ROM
se

incluyen ejemplos adicionales de la aplicacin del procedimiento de


bsqueda del
gradiente. En el IOR Tutorial se incluye una rutina interactiva y una
automtica para
aplicar este algoritmo.

You might also like