View
260
Download
1
Embed Size (px)
DESCRIPTION
metodo del gradiente
Citation preview
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
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
iii.1 Caso de una única restricción
se sustituye por
siendo la denominada función de Lagrange que tiene
una variable más, , que recibe el nombre de multiplicador de Lagrange.
Observamos que cuando se satisface la restricción se cumple
que
Ver ejemplo 1
Ver ejemplo 2
Condición necesaria (Caso m = 1)
Ver ejemplo 1
Ver ejemplo 2
Condición suficiente
Sea un punto que cumple la condición necesaria; es decir:
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
Ejemplo de aplicación 2
Condición necesaria:
Por lo tanto resolvemos:
Y obtenemos:
x = ½, y=½ λ=½
Condición suficiente: indefinida
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.