Método Del Gradiente

26
Método del Gradiente Un modelo de Programación no 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 esta 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: Ejemplo del Método del Gradiente Considere el siguiente modelo de programación no lineal sin restricciones. Aplique 2 iteraciones del método del gradiente a partir del punto inicial X0=(1,1).

description

metodo del gradiente

Transcript of Método Del Gradiente

Método del Gradiente

Un modelo de Programación no 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 esta 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:

Ejemplo del Método del Gradiente

Considere el siguiente modelo de programación no lineal sin restricciones. Aplique 2 iteraciones del método del gradiente a partir del punto inicial X0=(1,1).

Luego de realizar la segunda iteración se verifica que se cumplen las condiciones necesarias de primer orden (d1=(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 (X1,X2)=(-2,1) es el óptimo o mínimo global del problema.

Ejemplo del Método del Gradiente o Método del Descenso más PronunciadoPara la optimización de modelos de Programación No Lineal sin restricciones se

dispone de una categoría de métodos denominados “Algoritmos Generales de

Descenso” entre los cuales se destaca el Método del Gradiente o Método del

Descenso más Pronunciado (conocido adicionalmente como Método de Cauchy) que

reducen el cálculo de un mínimo local a una secuencia de problemas de búsqueda

lineal (o búsqueda unidimensional).

Consideremos el siguiente problema de Programación No Lineal no restringido:

:

Es importante observar lo siguiente: El punto de partida para comenzar las iteraciones

es arbitrario y al ser evaluado en la función objetivo se alcanza un valor de V(8,7)=-

149. Si evaluamos el punto que se alcanza al realizar una iteración del método la

función objetivo obtiene el siguiente valor V(12,5)=-169 que como se puede apreciar

reduce el valor de la función objetivo. En resumen el Método del Gradiente consta de 2

pasos principales:

Primero: El cálculo de una dirección de descenso que esta dado por el negativo del

gradiente de la función objetivo evaluado en el punto de partida o en el de la k-ésima

iteración. En el ejemplo dicha dirección desde la coordenada original (8,7) esta dada en

la dirección del vector d°=(8,-4).

Un ejemplo generalSea la función convexa f(x)=12(x21+ηx22) donde η>0 es una origen (x1,x2)=(0,0).Para aplicar el método del gradiente, empezamos fijando η y definiendo f.eta=10; % definimos etaf = @(x1,x2)(x1.^2+eta*x2.^2)/2; % definimos la función[u,v] = meshgrid(-1:0.02:1,-1:0.02:1); % calculamos variables para dibujar fF=f(u,v);figure,surf(u,v,F) % representación de f como superfície

figure,contourf(u,v,F,20); % representación de f con curvas de nivelcolorbar

 

Implementamos el método del gradiente. Calculamos el gradiente analíticamente y lo definimos.

Gradf = @(x)[x(1); eta*x(2)]; % definimos el gradientetau = 1.8/eta; % definimos el tamaño de pasox=[0.5,0.5]'; % valor inicialX=x; % inicializamos la sucesiónfor k=1:20 % construímos la sucesión x=x-tau*Gradf(x); X=[X x];end

En dos gráficas podemos ver el camino que sigue la sucesión X y cómo f(x(k)) va disminuyendo.figure, hold oncontourf(u,v,F,20) % representación función fplot(X(1,:), X(2,:), 'w.-') % representación sucesión Xtitle('Sucesión X')hold offf_descenso=f(X(1,:),X(2,:)); % cálculo de f para los puntos de Xfigure,plot(f_descenso) % representacióntitle('Valor de la función f en cada iteración')

 

Multiplicadores de Lagrange

Introducción[editar]

Consideremos un caso bidimensional. Supongamos que tenemos la función, f (x, y), y queremos

maximizarla, estando sujeta a la condición:

donde c es una constante. Podemos visualizar las curvas de nivel de f dadas por

para varios valores de dn, y el contorno de g dado por g(x, y) = c. Supongamos que hablamos de la

curva de nivel donde g = c. Entonces, en general, las curvas de nivel de f y g serán distintas, y la

curva g = c por lo general intersectará y cruzará muchos contornos de f. En general, moviéndose a

través de la línea g=c podemos incrementar o disminuir el valor de f. Sólo cuando g=c (el contorno

que estamos siguiendo) toca tangencialmente (no corta) una curva de nivel de f, no se incrementa

o disminuye el valor de f. Esto ocurre en el extremo local restringido y en los puntos de

inflexión restringidos de f.

Un ejemplo familiar puede ser obtenido de los mapas climatológicos, con sus curvas de nivel de

presión y temperatura (isóbaras e isotermas respectivamente): el extremo restringido ocurrirá

donde los mapas superpuestos muestren curvas que se tocan.

Geométricamente traducimos la condición de tangencia diciendo que los gradientes de f y g son

vectores paralelos en el máximo. Introduciendo un nuevo escalar, λ, resolvemos

[f(x, y) - λ (g(x, y) − c)] = 0

para λ ≠ 0.

Una vez determinados los valores de λ, volvemos al número original de variables y así

continuamos encontrando el extremo de la nueva ecuación no restringida.

de forma tradicional. Eso es,   para todo (x, y) satisfaciendo la condición

porque   es igual a cero en la restricción, pero los ceros de  F(x, y) están todos

en  .

El método de los multiplicadores de Lagrange[editar]

Sea f (x) una función definida en un conjunto abierto n-dimensional {x ∈ Rn}. Se

definen s restricciones gk (x) = 0, k=1,..., s, y se observa (si las restricciones son satisfechas) que:

Se procede a buscar un extremo para h

lo que es equivalente a

Demostración

Los multiplicadores desconocidos λk se determinan a partir de las ecuaciones con las restricciones

y conjuntamente se obtiene un extremo para h que al mismo tiempo satisface las restricciones

(i.e. gk=0), lo que implica que f ha sido optimizada

El método de multiplicadores de Lagrange es generalizado por las condiciones de Karush-Kuhn-

Tucker.

Ejemplos

Ejemplo #1

Supongamos que queremos encontrar la distribución probabilística discreta con máxima entropía.

Entonces

Podemos usar los multiplicadores de Lagrange para encontrar el punto de máxima entropía

(dependiendo de las probabilidades). Para todo k desde 1 hasta n, necesitamos

lo que nos da

Derivando estas n ecuaciones, obtenemos

Esto muestra que todo pi es igual (debido a que depende solamente de λ). Usando la restricción

∑k pk = 1, encontramos

Esta (la distribución uniforme discreta) es la distribución con la mayor entropía.

Ejemplo #2

Determinar los puntos en la esfera   que están más cercanos al

punto 

la distancia al punto  :

para hacer más sencilla la operación se maximiza o minimiza el cuadrado de la distancia:

la restricción: 

De acuerdo con el método de los multiplicadores de Lagrange, se resuelven las ecuaciones

"   " y " " y el resultado es:

(1

(2)

(3)

(4)

la manera más sencilla de resolver estas ecuaciones es dejar x, y, z en función de   y luego

sustituimos en la ecuación (4).

de la ecuación (1) obtenemos   se observa que   ≠ 1 por que si   no se puede

realizar la operación.

lo mismo sucede con la ecuación (2) y (3)

sustituyendo en la ecuación (4)

se obtiene que 

y entonces los puntos (x, y, z) son :

 y 

se puede observar que el punto más cercano entonces es 

Ejemplo #3 (restricciones múltiples)

Restricciones:

Aplicar el método: 

Entonces:

Por lo tanto, los puntos críticos son:

Bastará entonces evaluar la función en esos puntos para determinar que:

por lo que en ambos puntos   tiene un máximo si está restringida de esta manera.

Criterio de la segunda derivada para Extremos con Restricción

El caso bidimensional

Como en el caso no restringido en el que usamos la matriz Hessiana y el criterio de Sylvester para

determinar la naturaleza de los puntos críticos, en presencia de multiplicadores de Lagrange existe

un método análogo para descubrir si un punto crítico v0 es máximo, mínimo, o punto silla.

Sea f:U⊂ℝ2→ℝ y g:U⊂ℝ2→ℝ dos curvas suaves de clase C2. Sea v0∈U tal que g(v0)= c y

sea S el conjunto de nivel de g con valor c. Asumimos que  g(v0)≠0 y existe un número real   tal

que  f(v0) =  g(v0). Para la función auxiliar h = f -  g tenemos la matriz hessiana limitada:

 evaluada en v0

1. Si |H|>0 entonces v0 es un máximo local en f limitada a S

2. Si |H|<0 entonces v0 es un mínimo

local en f limitada a S

3. Si |H|=0 entonces el criterio no

concluye nada

El caso n-dimensional

Análogamente al caso bidimensional, consideramos el caso n-dimensional, Sea f:U⊂ℝn→ℝ

y g:U⊂ℝn→ℝ dos curvas suaves de clase C2. Sea v0∈U tal que g(v0)= c y sea S el conjunto de

nivel de g con valor c. Asumimos que  g(v0)≠0 y existe un número real   tal que  f(v0) = 

g(v0). Para la función auxiliar h = f -  g construimos la matriz hessiana limitada:

 evaluada en v0

Examinamos los determinantes de las submatrices en la diagonal de orden mayor o igual a 3:

1. Si todos ellos son menores que 0, tenemos un mínimo local en v0

2. Si el primer subdeterminante de tamaño 3x3 es mayor que cero, el siguiente (el de 4x4) es

menor que cero, y de esa manera los subdeterminantes van alternando su signo, tenemos

un máximo local en v0

3. Si todos los subdeterminantes son distintos de cero, pero no siguen ninguno de los dos

patrones anteriores, tenemos un punto silla en v0

4. Si no se da ninguno de los tres casos anteriores, el criterio no concluye nada

Optimizacion con restricciones de igualdad

1. Formulación del problema

Sea:ƒ: ℜn → ℜ diferenciablegi: ℜn → ℜ i = 1…m diferenciablesb1…bm ∈ ℜ

Un problema de optimización con restricciones de igualdad se formula:

Ejemplo y representación gráfica

  (n=2, m=1)

Nota:

1. Las restricciones de tipo igualdad no establecen fronteras al conjunto de

lassoluciones factibles del programa, sino que reducen las dimensiones

del espacio donde el programa está definido.

2. Los óptimos que obtendremos serán “débiles” en el sentido de que una

pequeña variación en las restricciones hará que dejen de ser óptimos.

Por este motivo los llamaremos óptimos condicionados o

restringidos.

2. Resolución de un problema de optimización con restricciones de

igualdad

Métodos:

i. Resolución gráfica, por curvas de nivel

ii. Eliminación o sustitución de variables

iii. Método de Lagrange

i. Resolución gráfica por curvas de nivel

Siempre que sea posible será muy cómodo dibujar las curvas de nivel.

Se trata de determinar el punto de la restricción por el que pasa la curva de nivel más baja.

ii. Eliminación o sustitución de variables

Ejemplo:

    es equivalente a 

La función objetivo es ahora una función con una variable menos:

Por tanto, 

Entonces,  es mínimo restringido o condicionado.

iii. Método de Lagrange

El método consiste en convertir el problema con restricciones de igualdad en uno de óptimos libres, gracias a la incorporación de las restricciones a la función objetivo. Distinguimos dos casos:

1. Caso de una única restricción

2. Caso de más de una restricción

En ambos casos, se construye una función, llamada función de Lagrange, y se determina qué puntos cumplen la condición necesaria para ser óptimos del problema y, posteriormente, se estudia si son máximos o mínimos analizando el cumplimiento de la condición suficiente.

Ejemplos de aplicación:

Ver ejemplo 1

Ver ejemplo 2

Ver interpretación de los multiplicadores de Lagrange

  tq  

entonces, si denotamos como Hx L  la hessiana de la función de Lagrange

en  respecto de las variables iniciales (no respecto λ) tenemos:

 definida positiva  es mínimo condicionado o restringido

 definida negativa  es máximo condicionado o restringido

en otro caso:

    tal que 

     > 0     es mínimo condicionado

     < 0     es máximo condicionado

Ver ejemplo 1

Ver ejemplo 2

iii.2 Caso de más de una restricción:

La función L se llama función de Lagrange y los  , multiplicadores de Lagrange.

Observamos que se añade un multiplicador  por cada restricción y que cuando se

satisfacen todas se cumple que 

Ejemplo de aplicación 1

Condición necesaria:

(*) = 

(*)Observemos que la condición   equivale a pedir que se satisfaga la restricción.

Resolvemos:

Obtenemos:

Condición suficiente:

definida positiva

Resultado:

es un mínimo condicionado o restringido

Veamos qué sucede exactamente sobre la restricción.

   

Por tanto, como se comprueba en el gráfico, para mantenernos encima de la restricción es

necesario  

Entonces, 

Resultado:

máximo condicionado o restringido

Interpretación de los   multiplicadores de Lagrange

Dado un problema con restricciones de igualdad:

Si se modifica un poco  , cambiará también el punto óptimo y, en consecuencia, el valor óptimo.

Así se entiende que el valor óptimo de un problema es función de cada  . Pues bien, la

derivada de esta función respecto de   es justamente    . De aquí se deduce la siguiente fórmula:

que también se puede escribir como 

NOTA: Todo esto es cierto para  , es decir, cuando se trata de pequeñas

variaciones de   que no afectan al status del problema.