Documente Academic
Documente Profesional
Documente Cultură
SANTIAGO ANTUNEZ
DE MAYOLO
FACULTAD DE CIENCIAS
ESCUELA ACADEMICO PROFESIONAL DE MATEMATICA
RESUMEN DE LA EXPOSICION
M
etodos b
asicos de descenso
CURSO: Programaci
on no lineal
ESTUDIANTES:
1. BORJA APENA,
Marcelino
2. LOPEZ
MAGUINA,
David
PROFESOR: PACHECO CASTILLO, Alexander
HUARAZ - PERU
2015
Indice
1. B
usqueda de Fibonacci
2. B
usqueda lineal mediante ajuste de curvas
14
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
M
etodos b
asicos de descenso
1.
B
usqueda de Fibonacci
Permite resolver el problema de b
usqueda lineal, este metodo determina el mnimo va-
lor de una funcion f sobre un intervalo cerrado [a0 , b0 ].Esta funcion puede estar definida
en un dominio mas amplio, pero el metodo requiere que dicho intervalo de b
usqueda sea
definido.
Se asume que f es unimodal, el mnimo es determinado(al menos aproximadamente) mediante la evaluacion en un cierto n
umero de puntos. Se pretende definir una estrategia de
b
usqueda que seleccione la observacion siguiente basada en los valores funcionales de las
observaciones anteriores.
Esto se define seg
un el siguiente problema:
Encontrar como seleccionar sucesivamente n observaciones, sin contar con un conocimiento explcito de la funcion, de forma tal que podamos encontrar la mas peque
na region
de incertidumbre posible en donde se encuentre el dominio,esta region de incertidumbre
es determinada en cualquier caso por las observaciones(sus valores funcionales) y la suposicion de que f es unimodal.
La b
usqueda de Fibonacci se basa en la secuencia de los n
umeros de Fibonacci que se
definen por las ecuaciones F0 = F1 = 1; Fn = Fn1 + Fn2 , n = 2, 3, . . ..
Supongamos que se nos da una funcion f (x) que es unimodal en el intervalo [a0 , b0 ].
de los puntos interiores c0 y d0 se utilizo el siguiente subintervalo y solo habra una nueva
evaluacion de la funcion.
Si f (c0 ) 6 f (d0 ), entonces el mnimo debe ocurrir en el subintervalo [a0 , d0 ], y reemplazamos a1 = a0 y b1 = b0 y continuar la b
usqueda en el nuevo subintervalo [a1 , b1 ] = [a0 , b0 ].
Si f (c0 ) > f (d0 ) entonces el mnimo debe ocurrir en el subintervalo [c0 , b0 ] y reemplazamos
a1 = c0 y b1 = b0 y continuar la b
usqueda en el nuevo subintervalo [a1 , b1 ] = [c0 , b0 ] .
b0 a 0
10
=
= 10000 = n = 21 = F21 = 10946, F20 = 6765
0,0001
Primera iteracion:
[a0 , b0 ] = [0, 1]
c0 = a0 + (1
F20
)(b0 a0 ) = 0 + (1 0,618034)(1) = 0,381966
F21
F20
)(b0 a0 ) = 0 + (0,618034)(1) = 0,618034
F21
f (c0 ) = f (0,381966) = 0,226847
d0 = a0 + (
Segunda interacion:
[a1 , b1 ] = [a0 , d0 ] = [0; 0,618034]
3
c1 = a1 + (1
F19
)(b1 a1 ) = 0 + (1 0,618034)(0,618034) = 0,236068
F20
F19
)(b1 a1 ) = 0 + (0,618034)(0,618034) = 0,381966
F20
f (c1 ) = f (0,236068) = 0,178153
d1 = a1 + (
f (d1 ) = f (0,381966) = 0,226847 = f (c1 ) > f (d1 ) = minf (x) esta en [c1 , b1 ].
Tercera interacion:
[a2 , b2 ] = [c1 , b1 ] = [0,236068; 0,618034]
F18
)(b2 a2 ) = 0,236068 + (1 0,618034)(0,381966) = 0,381966
c2 = a2 + (1
F19
F18
d2 = a2 + (
)(b2 a2 ) = 0,236068 + (0,618034)(0,381966) = 0,472136
F19
f (c2 ) = f (0,381966) = 0,2268475
f (d2 ) = f (0,472136) = 0,2318772 = f (c2 ) > f (d2 ) = minf (x) esta en [c2 , b2 ].
Cuarta interacion:
4
..
.
Decimo noveno interaccion:
Tenemos la aproximacion:
c = 0,45021012
f (c) = f (0,45021012) = 0,232465574
2.
B
usqueda lineal mediante ajuste de curvas
2.1.
M
etodo de newton
Metodo para funciones dos veces diferenciables, de una sola variable en donde lo que
se quiere es encontrar:
minf (x)
con f (x) y f (x) conocidas.
(3)
(4)
La funcion q(x) construida, es una buena aproximacion de segundo grado para f (x)
ya que:
q(xk ) = f (xk )
q (xk ) = f (xk )
q (xk ) = f (xk )
Si:
f (xk ) > 0 q(x) es convexa.
f (xk ) < 0 q(x) es concava.
Resolvemos minq(x), en vez de minf (x), entonces se puede calcular y estimar xk+1 del
punto mnimo de f (x) hallando el punto en el que se anula la derivada de q(x).[condicion
del primer orden]
De (4), al derivar se tiene:
q (x) = f (xk ) + f (xk )(x xk )
xk+1 = xk
2.1.1.
f (xk )
f (xk )
(5)
Algoritmo del m
etodo de newton
xk+1 = xk
f (xk )
f (xk )
x=
42
= 3,5
12
Ahora:
para k = 0 x1 = x0
para k = 1 x2 = x1
para k = 2 x3 = x2
..
.
g(x) = 0
donde al aplicarla a la minimizacion, se hace g(x) = f (x), luego al reemplazar en (5)
adapta la forma
xk+1 = xk
g(xk )
g (xk )
(6)
g(x) = Pn (x) + En
Teorema 2.1 (Teorema de taylor). Sea g continua en [a, b] y con derivadas hasta de
orden n continuas tambien en este intervalo cerrado; supongase que g (n+1) (x) existe en
< a, b >, entonces para x y xk < a, b > se tiene:
g(x) = g(xk ) + g (xk )(x xk ) +
donde En =
g (xk )(x xk )2
g n (xk )(x xk )n
+ ... +
+ En
2!
n!
(7)
Observaci
on 2.3. Al construir el polinomio de taylor de primer grado al rededor de xk
es de segundo grado,
1
g(x) = g(xk ) + g (x)(x xk ) + g ()(x xk )2 , < x, xk >
2
despejando el termino error,
1
g ()(x xk )2 = g(x) g(xk ) g (x)(x + xk )
2
Si x = x obtenemos:
1
g ()(x xk )2 = g(x ) g(xk ) g (x)(x xk )
2
(8)
Proposici
on 2.1. sea g(x) una funcion con segunda derivada continua, y g(x ) que setisface g(x ) = 0, g (x ) = 0. Entonces, si x0 est
a suficientemente cerca de x , la sucesion
{xk }
etodo de newton (6), converge a x con un orden de converx=0 , generada por el m
gencia de al menos dos.
Demostracion. Para los puntos en una region proxima a x
k1 : |g ()| < k1
k2 : |g ()| > k2
Entonces como, g(x ) = 0, se puede escribir
g(xk ) g(x )
g (xk )
g (xk )(xk x ) g(xk ) + g( x )
=
g (xk )
[
]
g(x ) g(xk ) g (xk )(x xk )
=
g (xk )
xk+1 x = xk x
(9)
10
[1
]
g ()(x xk )2
=
g (xk )
1 g ()(x xk )2
=
2
g (xk )
1 g ()
(x xk )2
=
2 g (xk )
2
|xk+1 x |
y asi se concluye que, comenzando suficientemente cerca de la solucion, el metodo convergera a x con un orden de convegencia de al menos dos.
2.2.
Ajuste cuadr
atico
Si comenzamos con tres puntos, por ejemplo x1 , x2 , x3 en orden creciente, y no necesariamente igualmente espaciados, pero contenidos dentro de la zona de b
usqueda < a, b >,
podemos aproximarlos a un polinomio de grado 2, f (x) = a + bx + cx2 de tal manera que
dicho polinomio pasa exactamente por esos tres puntos y debe presentar un mnimo en:
11
x =
b
2c
(10)
Observaci
on 2.4. La ecuacion (10) se obtiene completando el cuadrado a,f (x) = a +
bx + cx2 asi:
f (x) = a + bx + cx2
= cx2 + bx + a
[
]
b
a
2
= c x + x+
c
c
[(
]
)2
b
4ac b2 c
= c x+
2c
4c2
(
)2
b
4ac b2 c
= c x
+
2c
4c
c
De este anterior se consigue el vertice de la par
abola ( b
, 4acb
), la cual es la primera
2c
4c
2
componente el optimo(mnimo) x =
b
2c
f (x ) = a + bx + cx2
3
3
3
(11)
(12)
Donde:
f (x1 ) = f1 , f (x2 ) = f2 y f (x3 ) = f3
16
x
Soluci
on
Tomando los puntos iniciales x1 = 1, x2 = 2,5 y x3 = 5, el metodo converge en cuatro
iteraciones, el valor optimo obtenido es x = 1,60.
2.3.
Ajuste c
ubico
13
(13)
Donde:
)f (xk )
u1 = f (xk1 ) + f (xk ) 3 f (xxk1
k1 xk
3.
M
etodo de descenso de mayor pendiente
Tambien se conoce como metodo del gradiente. Este metodo se pretende encontrar el
3.1.
Caso general
La direccion de b
usqueda utilizada en este metodo es el negativo de la pendiente en
cualquier punto particular xk Rn .
Sk = f (xk )
(14)
Desde esta direccion ofrece el descenso maximo en valores de la funcion, se le llama metodo
de maxima pendiente. En cada iteracion, se calcula la derivada en el punto actual y una
b
usqueda unidireccional se realiza en la negativa a esta direccion derivado para encontrar
el punto mnimo a lo largo de esa direccion. El punto mnimo se convierte en el punto
actual y la b
usqueda contin
ua desde este punto. El procedimiento contin
ua hasta que
se encuentre un punto que tiene una peque
na pendiente suficiente vectorial. Los pasos
seguidos en el presente metodo se menciona a continuacion secuencialmente:
1. Comience con un punto inicial arbitraria xk Rn .
14
2. Encuentre la direccion de b
usqueda Sk comoSk = f (xk )
3. Determinar la duracion optima paso k en la direccion Sk y establecer xk+1 =
xk + k Sk = xk k f (xk )
4. Pruebe el nuevo punto xk+1 , de optimalidad. Si xk+1 es el optimo, detener el proceso,
alternativamente ir al paso 5.
5. Ajuste el nuevo n
umero de la iteracion k = k + 1 y ir al paso 2.
0
Ejemplo 3.1. Minimize f (x) = 2x21 + x22 + 2x1 x2 + x1 x2 a partir del punto x1 =
0
Soluci
on
Primera interacon:
El gradiente
de f viene dado por
f
1
+
4x
+
2x
1
2
1
f = x
f =
1 + 2x1 + 2x2
x2
1
f (x1 ) =
1
Por lo tanto,
1
S1 = f (x1 ) =
1
A continuacion , tenemos que encontrar la longitud
optima
paso 1 para encontrar
1
) = 21 21 con respecto
x2 . Para ello debemos minimizar f (x1 +1 S1 ) = f (
1
df
= 0 en 1 = 1 obtendramos
a 1 . Desde
d1
1
1
0
x2 = x1 + 1 S1 = + 1 =
1
1
0
0
1
Desde f (x2 ) = = , el x2 no es optimo y, por tanto se requiere mas
0
1
iteraciones.
15
Segunda interaccion:
1
S2 = f (x2 ) =
1
Para reducir al mnimo,
debemos
primero evaluar,
1 + 2
) = 522 22 1. A continuacion establecemos
f (x2 + 2 S2 ) = f (
1 + 2
df
1
= 0 y obtenemos 2 = , y entonces
d2
5
1
0,8
1 1
x3 = x2 + 2 S2 = + =
5
1
1
1,2
puesto quelos componentes
del gradiente en x3 ,
0,2
0
= se procede a la siguiente iteracion.
f (x3 ) =
0,2
0
Tercera interaccion:
0,2
S3 = f (x3 ) =
0,2
desde,
0,8 3
) = 0,0423 0,083 1,2 establecemos , df = 0
f (x3 + 3 S3 ) = f (
d3
1,2 + 0,23
que conduce a 3 =
1.Porlo tanto
0,8
0,2
1
+ 1
=
x4 = x3 + 3 S3 =
1,2
0,2
1,4
el gradiente
en x4esta dada por
0,2
f (x4 ) =
0,2
0
Desde f (x4 ) = , x4 no es el optimo y, por lo tanto debemos pasar a la
0
siguiente iteracion.
..
.
1
Este proceso se contin
ua hasta que el punto optimo en, x = es encontrado.
1,5
0
1
es decir, en x = el f (x ) = . Por lo tanto en x la funcion f alcanza su
0
1,5
16
mnimo.
3.2.
Caso cuadr
atico
(15)
(
)
(
) 4 2
1
x
1
1 x1 x2
f (x) = 2x21 + x22 + 2x1 x2 + x1 x2 =
x1 x2
2
1
x2
2 2
4 2
1
x1
= x = ; b = ;A =
2 2
1
x2
17
lineal
Ax =
b.
x
1
4x + 2x2
1
4 2
1 = = 1
=
x2
1
2x1 + 2x2
1
2 2
x1
1
resolviendo se obtiene = en la cual la funcion f alcanza su mnimo.
x2
1, 5
18
Referencias
[1] Luenberger, D., (1989) Programaci
on lineal y no lineal, Mexico, Ed. Addison-Wesley
Iberoamericana.
[2] nptel.ac.in/courses/112101/dowloads/module-5-lecture-final
[3] http://agamenon.tsc.uah.es/Asignaturas/master/optimizacion/Programacion-nolineal.pdf
[4] http://intrawww.ing.puc.cl/siding/public/ingcursos/cursos-pub/descarga.phtml?idcurso-ic=375yid-archivo=12407
19