Está en la página 1de 12

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Defensa


Universidad Nacional Experimental Politécnica de la Fuerza Armada Nacional
Bolivariana
UNEFANB – Extensión Guacara
Guacara, Edo. Carabobo

Métodos de Optimización Sin


Restricciones

Prof: Belén Torres Integrante: Omer Primera


Asignatura: Optimización No Lineal C.I: 28.456.174
Carrera: Ing. De Sistemas

Guacara, julio 2020.


Método del Gradiente
Un modelo de Programación Lineal (PNL) es aquel donde las variables de decisión se
expresan como funciones no lineales ya sea en la función objetivo y/o restricciones de un
modelo de optimización. Esta característica particular de los modelos no lineales permite
abordar problemas donde existen economías o deseconomías de escala o en general donde
los supuestos asociados a la proporcionalidad no se cumplen.

En este sentido el método del gradiente (conocido también como método de Cauchy o
del descenso más pronunciado) consiste en un algoritmo específico para la resolución de
modelos de PNL sin restricciones, perteneciente a la categoría de algoritmos generales de
descenso, donde la búsqueda de un mínimo está asociado a la resolución secuencial de una
serie de problemas unidimensionales.

Los pasos asociados a la utilización del método del gradiente o descenso más
pronunciado consiste en:

1) Considere un punto inicial x=x 0. Hacer k =0.

2) Escoger una dirección de descenso d k =−∇ f ( x k ).

3) Realizar una búsqueda lineal que seleccione un paso αk tal que


gk ( a k )=f ( x k + ak d k ) < f ( x k )=gk ( 0 ) .

4) Hacer x k+1=x k + ak d k .

5) Hacer un test de conversión. Si converge se detiene el método. En caso contrario,


hacer k =k +1 y volver a 2).

Ejemplo:

Considere el siguiente modelo de programación no lineal sin restricciones. Aplique 2


iteraciones del método del gradiente a partir del punto inicial  x 0=¿ ).

Min f ( X 1 , X 2 )= X 21+ 2 X 22+ 4 X 1−4 X 2

1° Iteración:

1) Punto inicial x 0=(1,1). Hacer k =0.


2) Escoger una dirección de descenso d 0=−∇ f ( x0 ) =−( 2 x 1+4,4 x 2−4 ) =(−6,0)
3) Realizar una búsqueda lineal que seleccione un paso ∝0 tal que:

g0 ( ∝0 )=f ( x 0+ ∝0 d 0 ) < f ( x 0 )=g k ( 0)


g0 ( ∝0 )=f ( ( 1,1 )+ ∝0 (−6,0 ) ) =f ( 1−6 ∝k , 1 )

1
Que al evaluar en la función objetivo original se obtiene ∝0=
2

0+1 0 0 1
4) Hacer x =x +∝0 d =( 1,1 ) + = (−2,1 )
2 (−6,0 )

2° Iteración:

1) Punto inicial x 1=(−2,1). Hacer k =1.


2) Escoger una dirección de descenso d 1=−∇ f ( x 1 )=−( 2 x 1+ 4,4 x 2−4 )=(0,0)

Luego de realizar la segunda iteración se verifica que se cumplen las condiciones


necesarias de primer orden (d 1=(0,0)) . Adicionalmente se puede comprobar que la función
objetivo resulta ser convexa y en consecuencia las condiciones de primer orden resultan ser
suficientes para afirmar que la coordenada ( X 1 , X 2)=(−2,1) es el óptimo o mínimo global
del problema.

Método de Newton

Este método parte de una aproximación inicial x 0 y obtiene una aproximación mejor,  x 1,
dada por la fórmula:

f ( x0 )
x 1=x 0−
f ' ( x0 )

La expresión anterior puede derivarse a partir de un desarrollo en serie de Taylor.


Efectivamente, sea r un cero de f y sea x una aproximación a r tal que r =x+ h. Si f ' ' existe
y es continua, por el teorema de Taylor tenemos:

0=f ( r ) =f ( x+ h )=f ( x ) + hf ( x ) +O ( h2 )

En donde h=r−x. Si x está próximo a r (es decir h es pequeña), es razonable ignorar el


término O(h 2):
0=f ( x ) +hf ( x )

Por lo que obtenemos la siguiente expresión para h:

−f (x )
h=
f ' (x )

A partir de la ecuación y teniendo en cuenta que r =x+ h es fácil derivar la ecuación.

El método de Newton tiene una interpretación geométrica sencilla. De hecho, el método


de Newton consiste en una linealización de la función, es decir, f  se reemplaza por una
recta tal que contiene al punto ( x 0 , f ( x 0)) y cuya pendiente coincide con la derivada de la
función en el punto, f ' ( x 0). La nueva aproximación a la raíz,  x 1, se obtiene de la
intersección de la función linear con el eje X  de ordenadas.

La ecuación de la recta que pasa por el punto ( x 0 , f (x 0 )) y de pendiente  f ' (x 0) es:

y−f ( x 0 )=f ( x 0) ( x− x0 )

De donde, haciendo  y=0 y despejando x obtenemos la ecuación de Newton-Raphson.


El método de Newton es muy rápido y eficiente ya que la convergencia es de tipo
cuadrático (el número de cifras significativas se duplica en cada iteración). Sin embargo, la
convergencia depende en gran medida de la forma que adopta la función en las
proximidades del punto de iteración.

Direcciones Conjugadas

Una de las propiedades más importantes del método de gradiente es su habilidad de


generar direcciones conjugadas de una manera muy económica. La importancia de las
direcciones conjugadas radica en el hecho de que podemos minimizar φ(·) en n pasos por la
sucesiva minimización a lo largo de direcciones individuales en un conjunto conjugado.

El propósito de esta familia de métodos es mejorar la tasa de convergencia del método


de des-censo más rápido, sin incurrir en la sobrecarga computacional del método de
Newton. Los métodos de direcciones conjugadas resuelven problemas en un máximo den
iteraciones.

De un sistema de ecuaciones lineales a un problema de minimización. Ya sabemos que


si A es una matriz simétrica positiva definida, entonces el problema de resolver el sistema
Ax=b es equivalente al problema de minimizar la función:

1
f ( x )= x T Ax−bT x
2

Sobre la minimización sobre una recta. Sea A, b, f los mismos objetos que en el párrafo
anterior. Si y ∈ R n y p ∈ Rn ∖ {0n }, entonces la función g : R → R definida mediante la regla:

g ( a ) ≔f ( y +ap )

Alcanza su valor mínimo en el punto:

p T ( b− Ay )
a=
p T Ap

Sobre la ortogonalidad del residuo nuevo a la dirección anterior. Sean A, b, y, p, f, g


como en el lema anterior, sea α el número definido mediante la fórmula, y sea:

z= y +ap

Entonces:
p ⊥(b−Az)

Primera demostración. Cálculo directo:

pT ( b− Az )= pT ( b− A ( y + ap ) )= pT ( b− Ay )−a pT Ap
pT ( b− Ay ) T
¿ pT ( b−Ay ) − p Ap=0
pT Ap

Segunda demostración. Recordamos que:

g' ( a )= pT ( ∇ f )( y +ap )= pT ( A ( y +ap )−b )

Si a es el punto mínimo de la función g y z= y +ap, entonces g' ( a )=0 y:

pT ( Az−b )=0

Esto es, p ⊥ ( b− Az )

El producto interno asociado a una matriz. Estamos suponiendo que A ∈ M n (R) es una
matriz simétrica positiva definida. Entonces la función de dos argumentos:

⟨ x , y ⟩ A ≔ x T Ay

Es un producto interno en Rn .

Vectores A-conjugados. Sea A ∈ M n (R) una matriz simétrica positiva definida y sean
p , … , p(m ) ∈ Rn. Se dice que la lista de vectores p(0 ) , … , p(0 ) es A-conjugada o A-ortogonal
(0 )

si:

∀ j , k ∈ { 0 , … , m } ( j≠ k ) ⟹ ⟨ p j , pk ⟩ A =0

Método del Gradiente Conjugado

Es un algoritmo para resolver numéricamente los sistemas de ecuaciones lineales cuyas


matrices son simétricas y definidas positivas. Es un método iterativo, así que se puede
aplicar a los sistemas dispersos que son demasiado grandes para ser tratados por métodos
directos como la descomposición de Cholesky. Tales sistemas surgen frecuentemente
cuando se resuelve numéricamente las ecuaciones en derivadas parciales.
El método del gradiente conjugado se puede utilizar también para resolver los problemas
de optimización sin restricciones como la minimización de la energía.

El método del gradiente biconjugado proporciona una generalización para matrices no


simétricas. Varios métodos del gradiente conjugado no lineales buscan los mínimos de
las ecuaciones no lineales.

Supongamos que queremos resolver el siguiente sistema de ecuaciones lineales

Ax=b

Donde la n-por-n matriz A es simétrica, definida psitiva, y real

Denotamos la única solución de este sistema por x ¿.

Decimos que dos vectores u y v no nulos son conjugados (con respecto a A) si

uT Av=0

Ya que A simétrica y definida positiva, el lado izquierdo define un producto interior

⟨ u , v ⟩ A =⟨ A T u , v ⟩ = ⟨ Au , v ⟩= ⟨ u , Av ⟩ =uT Av

Así, dos vectores son conjugados si son ortogonales con respecto a este producto
interior. La conjugación es una relación simétrica: si u es conjugado a v, entonces v es
conjugado a u. Nótese que esta noción de conjugación no se relaciona con la
de conjugación compleja.

Supongamos que { p k } es una secuencia de n direcciones mutuamente conjugadas.


Entonces los pk  forman una base de  Rn , por lo tanto podemos extender la solución x ¿ 
de  Ax=b en esta base:

n
x ¿=∑ ai p i
i=1

Los coeficientes se dan por:

n
b= A x ¿=∑ ai Api
i=1
n
pTk b= pTk A x ¿=∑ ai pTk A pi =¿ ak p Tk A p k ¿
i =1
T
p b k ⟨ p k ,b ⟩ ⟨ pk , b ⟩
a k= = =
p A p k ⟨ pk , p k ⟩ A ¿∨ p k ∨¿2A
T
k

Este resultado es quizás muy transparente si se considera el producto interior definido


anteriormente.

Esto da el siguiente método para resolver la ecuación  Ax=b. Primero encontramos una
secuencia de n direcciones conjugadas y luego computamos los coeficientes a k.

Método de la Métrica Variable

Davidon (1975) ha propuesto una clase de actualizaciones que permiten búsquedas


lineales inexactas. Powell (1977) estableció posteriormente la propiedad de terminación
cuadrática de estos métodos en la ausencia de búsquedas lineales.

Pareciera ser que un método de métrica variable con terminación cuadrática pero sin la
necesidad de búsquedas lineales costosas sería robusto y rápido en funciones generales.
Goldfarb (1977) se cuenta entre los que han explorado esta promisoria línea de
investigación.

En general, el método de Davidon-Fletcher-Powell suele reinicializarse (es decir,


hacemos A=I) después de N actualizaciones. Esto es usualmente una medida muy
conservadora, ya que pueden requerirse muchos más pasos antes de que realmente se
requiera una reinicialización.

La necesidad de reinicializar se incrementa conforme empeora el valor de


condicionamiento de la matriz:

λh
K ( A )= ||
λl

Dónde: K(A) es el número de condicionamiento de la matriz A, λ hy λ l son los


eigenvalores de mayor y menor modulo, respectivamente.

Una matriz con un valor de condicionamiento grande está mal condicionada. Una matriz
con un valor de condicionamiento cercano a 1 está bien condicionada.
Es importante hacer notar que aunque las reinicializaciones proporcionan un cierto
grado de seguridad (o robustez) en los métodos de métrica variable, éstas típicamente hacen
más lento el progreso a la solución, puesto que se desecha una estimación de segundo
orden.

McCormick (1972), Shanno (1978) y Shanno & Phua (1979) han investigado de manera
extensiva la relación entre el gradiente conjugado y los métodos de métrica variable.

Shanno ve a los métodos de gradiente conjugado como métodos de métrica variable “sin
memoria”.

La mayor parte de los investigadores coinciden en la actualidad en afirmar que estas 2


clases de métodos comparten mucho más de lo que originalmente se creía.

Además, resulta claro que las muchas variantes de los métodos de métrica variable
tienen mucho en común en la práctica (Dixon, 1972), lo que hace que se tenga que sopesar
cuidadosamente el costo computacional adicional de los métodos más complejos.

Shanno & Phua (1978) proporcionan numerosos resultados que favorecen el uso del
método de Broyden-Fletcher-Goldfarb-Shanno.

Los métodos de métrica variable han sido utilizados de manera extensiva para el
desarrollo de técnicas de optimización para problemas con restricciones.

También hay una cantidad importante de trabajo en torno a hacer los métodos de métrica
variable más atractivos para problemas grandes.

Los métodos de gradiente conjugado son los que suelen considerarse como los mejores
para problemas de alta dimensionalidad (o sea, aquellos con muchas variables de decisión).

Sin embargo, se han logrado muchos avances en lo que a los métodos de métrica
variable se refiere, sobre todo en aquellos casos en los que la matriz Hessiana es dispersa.

Método de Davidon-Fletcher-Powell

Este es un método cuasi-Newton, para minimizar una función f en Rn. Cnsiste en


generar aproximaciones sucesivas de la inversa del Hessiano de la función f .

Definamos:
gk ≔∇ f ( xk )
H k ≔aproximaciones de lainversa del hessiano en x k
d k ≔−H k g k
q k ≔ g k+1−g k
pk ≔ x k+1−x k

En cada iteración se genera:

x k+1=x k + ak d k

Con a k =arg mína ≥ 0 f ( xk + a d k )

El procedimiento es el siguiente:

Paso 0: Partir con cualquier matriz H 0 definida positiva y algún x 0, con k =0.

Paso 1: Tomar d k =−H k g k.

Paso 2: Calcular a k =arg mína ≥ 0 f ( xk + a d k ) y obtener x k+1 , p k y gk +1.

Paso 3: Tomar q k ≔ g k+1−g k y

p k pTk H k q k q Tk H k
H k +1=H k + − T
pTk q k qk H k q k

k =k +1 y retornar al Paso 1.

Algoritmo de Quasi-Newton

El método de Newton de aproximación cuadrática, conduce a un sistema lineal de


ecuaciones que es preciso resolver en cada iteración, y cuya matriz de coeficientes es el
hessiano de la función objetivo particularizado en el último punto obtenido. Los métodos
Quasi-Newton permiten aproximar el hessiano, o su inversa, directamente, a partir de los
valores previamente obtenidos de la función objetivo y su gradiente.

Sean:

Rk =H ( x́ k )
Sk =H−1 ( x́ k )

Aproximaciones al hessiano y su inversa en la iteración "k", obtenidas de forma que se


verifiquen las ecuaciones de Quasi-Newton:

ý k =R k+1 ŕ k
ŕ k =S k+1 ý k

Siendo:

ý k = ∇
´ t f ( x́ k+1 )− ∇
´ y f ( x́ k )
ŕ k = x́ k+1− x́ k

Sustituyendo estas aproximaciones en la ecuación de Newton se obtiene el algoritmo


Ouasi-Newton que puede escribirse en las formas alternativas:

k k−1 k−1 −1
x =x́ −( R ) ∇´ t f ( x́ k−1)
x k =x́ k−1−S k−1 ∇´ t f ( x́ k−1 )
; k =1 ,¿ ,n ¿
¿

Y para cuya aplicación se parte de una aproximación inicial a la - solución “ x 0” y una


matriz simétrica definida positiva “ S0”. Los diversos métodos Quasi-Newton difieren en la
elección de las sucesivas matrices “S” y “R” que verifiquen las ecuaciones.

La construcción de estas aproximaciones se plantea actualizando en cada iteración el


valor de la aproximación en la iteración precedente, en la forma:

Sk +1=Sk +C k

Donde la matriz “C” se elige adecuadamente como más adelante se expone.


Evidentemente, para que en cada iteración el problema de minimización este bien definido,
la aproximación al hessiano debe ser una matriz simétrica y definida positiva, además de
verificar la ecuación de Quasi-Newton.

Existen fundamentalmente dos grupos de métodos Quasi-Newton, que se diferencian por


las propiedades exigidas a la matriz de actualización “C”, y que denominaremos:

 Métodos de rango uno.


 Métodos de rango dos.
Dentro de cada grupo existen a su vez diversas familias que se diferencian en la forma
de realizar la elección de la matriz citada, y numerosas variantes dentro de cada familia. Por
ello extractaremos únicamente los algoritmos más representativos.

También podría gustarte