Vous êtes sur la page 1sur 21

DepartamentodeIngenieraIndustrialydeSistemas PontificiaUniversidadCatlicadeChile

Optimizacin ICS1113
ProgramacinNoLineal_2 Lineal 2
1 semestre2010 Profesor:PamelalvarezM.

ProgramacinNoLineal
Laestructurageneraldeunmtododedescensoes: Inicializacin,k=0: Seleccionarunpuntodepartidax0

Iteracink:

f ( x k ) = 0 entoncesxk esunpuntoestacionario:finalizar Si
Determinarunadireccindedescensodk paraf enxk. Determinarunpasok >0talquef(xk+1)= f(xk+ k dk )< f(xk). D fi i xk+1= xk+k dk eincrementar Definir i t el lndice di k. k

ICS1113.Prof.:PamelalvarezM.

ProgramacinNoLineal
MtododelGradienteoDescensomspronunciado ContribucindelmatemticofrancsCauchy.

Algoritmo: 1. 2 2. 3. 4 4. 5. 6. Seax0 Rn unpuntoinicial,k =0. Sif(xk)=0 0,STOP,esunpuntoestacionariodef Determinarunadireccindedescenso M Moverse enesadi direccin i . Determinarelnuevopunto. Hacerk = k +1,ira2.
ICS1113.Prof.:PamelalvarezM. 3

ProgramacinNoLineal
MtododelGradienteoDescensomspronunciado Paracompletarnuestroalgoritmotenemosqueresponder: Comoyasealamosdebemosescogeralgunadireccind talque:

f(x0+ d )< f(x0)


Cmoescogerd y demodoquef(x0+ d )sealomspequeo posible?

ICS1113.Prof.:PamelalvarezM.

ProgramacinNoLineal
MtododelGradienteoDescensomspronunciado Direccind paraelmtododelgradiente: Aqucorrespondef(x0)? Direccin de d mximo crecimientod del laf funcin enel lpunto. Recordemosquenuestroproblemaesdeminimizacin. Escogerladireccindemximodecrecimiento,entonces:

d=-f(xk)

ICS1113.Prof.:PamelalvarezM.

ProgramacinNoLineal
MtododelGradienteoDescensomspronunciado Ahoracmodeterminaelpaso. Determinarelmnimorelativodef enesadireccin. Esdecir, d sed debe b encontrarel l queminimicef(xk+1) Problemaunidimensional. Resolver:

min{f(x+ d): >0}

ICS1113.Prof.:PamelalvarezM.

ProgramacinNoLineal
MtododelGradienteoDescensomspronunciado Nuestroalgoritmofinalmentees: 1. 2. 3. 4 4. 5. 6 6. Seax0 Rn unpuntoinicial,k =0. Sif(xk)=0,STOP,esunpuntoestacionariodef Sealadireccindedescensod=-f(xk) Resolvermin{f(x+ d): >0} . Seak susolucin solucin. Seaxk+1=xk+ k dk. H Hacer k = k +1,ir i a 2 2.

ICS1113.Prof.:PamelalvarezM.

ProgramacinNoLineal
MtododelGradienteoDescensomspronunciado Esrealizablecomputacionalmentenuestroalgoritmo? Criteriosdeparada:

f ( x k )
x k +1 x k

f ( x k +1 ) f ( x k )
Mximo nmero de iteraciones.

ICS1113.Prof.:PamelalvarezM.

ProgramacinNoLineal
MtododelGradienteoDescensomspronunciado

x*

x3 x2

x1

x0
ICS1113.Prof.:PamelalvarezM. 9

ProgramacinNoLineal

Ejemplo:

Dado el siguiente problema:

Min
1 1. 2.

f ( x, y ) = x 2 + 2 x + 2 y 2 + 3

Resuelva con el mtodo del gradiente partiendo del punto (0,0). (0 0) Resuelva con el mtodo del gradiente partiendo del punto (1,1). Debe hacer por lo menos 2 iteraciones completas.

ICS1113.Prof.:PamelalvarezM.

10

ProgramacinNoLineal
MtododelGradienteoDescensomspronunciado Cmoeslaconvergenciadelmtodo? Podraserextremadamentelenta,dependerdelafuncin objetivo.
Curvasdenivelmselpticas Curvasdenivelcirculares

ICS1113.Prof.:PamelalvarezM.

11

ProgramacinNoLineal

Convergencia del Mtodo del gradiente:

La convergencia del mtodo del gradiente depende de un parmetro , que se calcula a partir de los valores propios de la matriz hessiana. Mientras el parmetro sea ms cercano a 0, el mtodo converge ms rpido.

n 1 = + n 1

ICS1113.Prof.:PamelalvarezM.

12

ProgramacinNoLineal

Convergencia del Mtodo del gradiente:


Tiene relacin con la excentricidad de las curvas de nivel. nivel Tambin podemos ver que si vamos a minimizar una funcin cuadrtica simple de la forma:

f ( x, y ) = ax 2 + by 2

Con a y b>0 Cmo ser la convergencia para distintos valores de los parmetros? (Tarea)

ICS1113.Prof.:PamelalvarezM.

13

ProgramacinNoLineal
MtododelGradienteoDescensomspronunciado Dijimosquelaconvergenciapodaserextremadamentelenta dependiendodelafuncinobjetivo. Sepuedemejorar? AqutenemoselMtododeNewton

ICS1113.Prof.:PamelalvarezM.

14

ProgramacinNoLineal
MtododeNewton Sepuedeaproximarlafuncinf entornoaxk,atravsdeuna expansindeTaylorde2grado.

q ( x) = f ( x

) + f ' ( x )( x x ) +
k k

f '' ( x

)( x x )
2

k 2

Porquestafuncinesunabuenaaproximacinparaf ?

1.

q ( xk ) = f ( xk )

2. 3.

q ' ( xk ) = f ' ( xk ) q '' ( x k ) = f '' ( x k )


ICS1113.Prof.:PamelalvarezM. 15

ProgramacinNoLineal
MtododeNewton Seminimizalafuncinq.

dq = f ' ( x k ) + f '' ( x k )( x x k ) = 0 dx
Despejandoobtenemos:

x k +1 = x k

f '' ( x k )

f ' ( xk )

ICS1113.Prof.:PamelalvarezM.

16

ProgramacinNoLineal
MtododeNewton Algoritmo: 1. 2. 3. 4 4. 5. 6 6. Seax0 Rn unpuntoinicial,k =0. Sif(xk)=0,STOP,esunpuntoestacionariodef Seadk = [Hf(xk)]-1f(xk) Resolvermin{f(x+ d): >0} . Seak susolucin solucin. Seaxk+1=xk+ k dk. H Hacer k = k +1,ir i a 2 2.

ICS1113.Prof.:PamelalvarezM.

17

ProgramacinNoLineal
MtododeNewton Ejemplo: Min

f ( x, y ) = x 2 + 2 x + 2 y 2 + 3

ICS1113.Prof.:PamelalvarezM.

18

ProgramacinNoLineal
MtododeNewton Estemtodoiterativotpicamenteseaproximasucesivamenteaun ptimolocal. Sinembargo,esposiblequetardeinfinitasiteracionesenlograrlo. Tambinpuedequenoconverja. Criteriosdeparada:

x k +1 x k f ( x k +1 ) f ( x k )

ICS1113.Prof.:PamelalvarezM.

19

ProgramacinNoLineal
MtododeNewton Esimportantesealarqueestemtodobuscapuntosextremos. Hayquerevisarelsignodelasegundaderivadadelafuncinencada punto. Mscomplejo. Introducirmodificacionesalmtodo.

ICS1113.Prof.:PamelalvarezM.

20

ProgramacinNoLineal
MtododeNewton Elclculoreiterativode[Hf(x f( k) )]-1 puederesultarmuycostoso..... IdeabsicadeunmtodoQuasiNewton: Trabajarconunamatrizqueseparezca parezca a[Hf(xk)]-1 Porejemplo,comenzarcon[Hf(xo)]-1 yactualizarlaparcialmenteen cadaiteracin.... Haydiversasformasdehacereso,esuntemaampliamenteabordado ylos osmtodos todosimplementados p e e tadose ene elsoftware so t a emoderno ode oincorporan co po a los os ltimosavancesenestesentido... Lasaproximaciones p hacenp perderalgo g delaconvergencia g cuadrtica, , perolagananciaeneficienciaesenorme.
ICS1113.Prof.:PamelalvarezM. 21

Vous aimerez peut-être aussi