Sei sulla pagina 1di 45

Una importante compaa petrolera desea

construir una refinera que recibir suministros


desde tres ciudades portuarias. El puerto B esta
300 Km. al este y 400 Km. al norte del puerto A,
mientras que el puerto C esta 400 al este y 100
Km. al sur del puerto B. Determnese la
localizacin de la refinera, de tal manera que la
cantidad total de tubera necesaria para
conectar la Refinera con los puertos se
minimice.


A(0,0)
B(300 , 400)
C(700,300)
R( x , y)
Mn ( ) ( ) ( ) ( )
2 2 2 2 2 2
300 700 400 300 + + + + + y x y x y x
La Optimizacin puede definirse como el
proceso de seleccionar dentro de un conjunto
de alternativas posibles, aquella que mejor
satisfaga el o los objetivos propuestos.
Para la resolucin de un problema de
optimizacin se requieren 2 etapas principales:
La Optimizacin multivariable implica un
estudio de datos de 2 dimensiones o ms.
El caso particular que se estudiar es la
optimizacin en 2 dimensiones, ya que las
caractersticas esenciales de bsqueda
bidimensionales se aprecian mejor
grficamente.

Un punto extremo de una funcin f(X) define
un mximo o un mnimo de ella
Teorema 1:Una condicin necesaria , para
que Xo sea un punto extremo de f(X) es que
= 0
Como la condicin necesaria tambin queda
satisfecha con los puntos de inflexin y de
silla los puntos obtenidos con la solucin
= 0 se llaman puntos estacionarios.



Definicin: Un punto X
*
cuya

= 0 se
llama punto estacionario de f.
Teorema 2: (Condicin necesaria de segundo
orden)
Si x
*
es un mnimo local de f y f tiene
segundas derivadas parciales continuas en
una vecindad de x
*
, entonces y la
Hessiana es positiva definida


Teorema 3: (Condicin necesaria de segundo
orden)
Si x
*
es un mximo local de f y f tiene
segundas derivadas parciales continuas en
una vecindad de x
*
, entonces

= 0 y la
Hessiana es negativa definida

Teorema 4(Condicin suficiente de segundo orden)
Suponer que f tiene segundas derivadas parciales
continuas en una vecindad de x
*
y que la
y la Hessiana es positiva definida, entonces x
*
es un
mnimo local estricto de f.
Teorema 5(Condicin suficiente de segundo orden)
Suponer que f tiene segundas derivadas parciales
continuas en una vecindad de x
*
y que la

= 0
y la Hessiana es negativa definida, entonces x
*
es un
mximo local estricto de f.




Teorema 6:
Cuando f es convexa, cualquier mnimo
local x
*
es un mnimo global de f. Si adems
f es diferenciable, cualquier punto
estacionario x
*
es un mnimo global de f.
Teorema 7:
Cuando f es cncava, cualquier mximo
local x
*
es un mximo global de f. Si
adems f es diferenciable, cualquier punto
estacionario x
*
es un mximo global de f

En este estudio, se tomar como criterio de
clasificacin la evaluacin de la derivada.
Segn ello, se clasifica as:
Mtodos no gradientes (Directos):
1. Bsqueda aleatoria
2. Univariabilidad y bsquedas patrn
Mtodos Gradiente (Indirectos):
1. Gradientes y Matriz de Hessiana
2. Mtodo de pasos ascendentes
3. Mtodo Newton
Estos mtodos varan de procedimientos de
fuerza bruta simple a tcnicas elegantes que
intentan explorar a la funcin.
Se caracterizan esencialmente por no ser
necesario derivar funciones.

El mtodo de bsqueda aleatoria evala en
forma repetida la funcin mediante la
seleccin aleatoria de valores de la variable
independiente.
Enunciado:
Utilizar un generador de nmeros aleatorios
para localizar el mximo de:

En el dominio acotado por x=-2 a 2; y=1 a 3.

Solucin:
1) Graficamos la funcin en el espacio
2 2
( , ) 2 2 f x y y x x xy y =
Cdigo en MatLab
clc,clear
% grfica de funciones
x=-2:0.1:2;
y=1:0.1:3;
[x,y]=meshgrid(x,y);
z=y-x-2*x.^2-2*x.*y-y.^2;
mesh (x,y,z) %3D
grid on
Para x:
El generador de nmeros aleatorios est dado
por:
Los valores de x estarn determinados por
r:
Para y:
El generador de nmeros aleatorios est dado
por:
Los valores de y estarn determinados por r:

( )
a b a
x x x x r = +
| |
2 4 ; 0;1 x r r = + e
( )
a b a
y y y y r = +
| |
1 2 ; 0;1 y r r = + e
Cdigo para generar la superficie en el plano
xy
clc,clear
% grfica de funciones
x=-5:0.1:5;
y=-5:0.1:5;
[x,y]=meshgrid(x,y);
z=y-x-2*x.^2-2*x.*y-y.^2;
contour (x,y,z,50) % 50 lneas de contorno
grid on
Aqu se
encuentra el
mximo
Luego de darse el clculo aleatorio de
valores, se puede verificar, que el mximo
valor para la funcin es f(x, y)=1.25
i x Y F(x, y)
30 -0.9886 1.4282 1.2462
60 -1.0040 1.4724 1.2490
90 -1.0040 1.4724 1.2490
120 -0.9837 1.4936 1.2496
150 -0.9960 1.5079 1.2498
180 -0.9960 1.5079 1.2498
200 -0.9978 1.5039 1.2500
MXIMO
Ventajas:
1) Es aplicable en discontinuidades y
funciones no diferenciables.
2) Siempre encuentra al ptimo global, ms
que el local.
Desventajas:
1) A medida que crece el nmero de variables
independientes, aumenta considerablemente
el esfuerzo de implementacin.
2) No se toma en consideracin el
comportamiento de la funcin para reducir la
velocidad en la optimizacin.
Caractersticas esenciales del Mtodo:
No necesita el clculo de derivadas
Mtodo eficiente que aprovecha la naturaleza
de la funcin para optimizar con mayor
rapidez.

Consiste en trabajar con slo una variable a la
vez, para mejorar la aproximacin, mientras
que las otras permanecen constantes.
Puesto que nicamente cambia una variable,
el problema se reduce a una secuencia de
bsqueda en una dimensin, que se pueden
resolver con una diversidad de mtodos de
optimizacin univariable.

1) Se comienza en el punto 1 y se mueve a lo
largo del plano xy hacia el mximo en el
punto 2.
2) Luego se mueve a lo largo del eje y con x,
constante hacia el punto 3.
3) El proceso se repite generando los puntos
4,5,6.
Se fundamenta en el concepto de
direcciones-patrn: trayectorias que permiten
llegar directamente al mximo.
Se basa en bsquedas en una dimensin en la
misma direccin, pero con diferentes puntos
de partida (direcciones conjugadas).
Los mtodos gradiente usan de forma
explcita informacin de la derivada para
generar algoritmos eficientes que localicen al
ptimo.
Antes de la descripcin de los procedimientos
de manera especfica, recurriremos al estudio
de algunos conceptos y operaciones
matemticas clave.
Derivada Direccional
La derivada direccional da la razn de cambio
de los valores de la funcin f(x, y) con
respecto a la distancia en el plano XY en la
direccin del vector unitario
Si se quiere saber la pendiente de una regin
arbitraria y definimos nuestra posicin como
si estuviramos en el origen del nuevo eje (h-
>0), se tiene:

( , ) u a b =
0 0 0 0
0 0
( , ) ( , )
( , ) cos
u
f x y f x y
D f x y sen
x y
u u
c c
= +
c c
Si se obtiene la pendiente con respecto a una
direccin cualquiera, entonces se tiene:


En su forma vectorial para muchas variables:

f f
f i j
x y
c c
V = +
c c
1
( )
2
....
f
x
f
f x
x
f
xn
c
(
(
c
(
c
(
(
V =
c
(
(
(
c
(
c
La matriz Hessiana est definida como una
matriz de orden n de la siguiente manera:
Para el caso particular de 2 variables se tiene
como matriz Hessiana y a su determinante:

2 2
2
2 2
2
f f
x x y
H
f f
y x y
| |
c c
|
c c c
|
=
|
c c
|
|
c c c
\ .
2
2 2 2
2 2
f f f
H
x y x y
| |
c c c
=
|
c c c c
\ .
Se obtienen los siguientes casos: F(x,y)
1) Mnimo Local
Si y adems
2) Mximo Local
Si y adems
3) Punto de Silla
Si
4) No se tiene informacin
Si
0 H >
2
2
( , )
0
f a b
x
c
>
c
0 H >
2
2
( , )
0
f a b
x
c
<
c
0 H <
0 H =
Valores Propios
Si todos son positivos=>Matriz H es positiva
definida,
Si todos son negativos=>Matriz H es negativa
definida,
Det(H-I)=0 => i (valores propios o eigen
valores
Este mtodo est caracterizado por 2 pasos
fundamentales:
1) determinar la mejor direccin para la
bsqueda
2) establecer el mejor valor a lo largo de esa
direccin de bsqueda.
Enunciado:
Maximizar la siguiente funcin:

Usar como valores iniciales, x=-1,y=1.

Solucin:
2 2
( , ) 2 2 2 f x y xy x x y = +
1) De manera analtica:
*Aplicamos las derivadas parciales:



*Aplicamos 2das derivadas parciales para
determinar y evaluar el ptimo:


2 2 2 0
2 1
2 4 0
f
y x
x
x y
f
x y
y
c

= + =

c
= . =
`
c

= =
c
)
2
2
2
2
2 2
2
4
2
f
x
f
y
f f
x y y x
c
=
c
c
=
c
c c
= =
c c c c
2 2
( , ) 4
2 4
H x y H

| |
= =
|

\ .
Punto P(2,1) es Mximo Local
2) Mtodo de pasos ascendentes
1RA iteracin:
Las derivadas parciales se evalan en P(-1,1):



La funcin se expresa a lo largo del eje como:


Ubicamos el mximo (h=h*):

Encontramos los puntos P(x, y):


2 2 2 6
6 6
2 4 6
f
y x
x
f i j
f
x y
y
c

= + =

c
V =
`
c

= =
c
)
( )
2
0 0
, 1 6 ,1 6 180 72 7
f f
f x h y h f h h h h
x y
| | c c
+ + = + = +
|
c c
\ .
( *) 0 360 * 72 0 * 0.2 g h h h
'
= + = =
1 6 (0.2) 0.2
1 6 (0.2) 0.2
x
y
= + =
= =
Paso1: Ingresar Vector Inicial X0 y tolerancia
Paso2: Hallar vector
1
=
0

0
1
. (
0
)
Paso3: error = (
1
) () ,error=
1

0

Paso4: Si error < tolerancia entonces termina el
proceso y se reporta resultados: X1, error
Caso contrario X
0
=X
1
y regresar al Paso 2

Recordar que el mtodo de Newton
converger a un mnimo local si la Hf es
positiva definida sobre alguna vecindad
alrededor del mnimo y si X1 queda dentro de
esa vecindad.
Recordar que el mtodo de Newton
converger a un mximo local si la Hf es
negativa definida sobre alguna vecindad
alrededor del mximo y si X1 queda dentro
de esa vecindad.

Si no se selecciona correctamente Xo, el
mtodo puede converger a un mnimo local
en lugar de a un mximo o viceversa o puede
no converger en absoluto.
En ambos casos el proceso iterativo se da por
terminado y se inicia nuevamente con una
mejor aproximacin inicial.

Enunciado:
Maximizar la siguiente funcin:

Usar como valores iniciales, x=-1,y=1.

Solucin:
f =

=
2 +2 2
2 4
(1,1) =
6
6

2 2
( , ) 2 2 2 f x y xy x x y = +
2 2
2
2 2
2
f f
x x y
H
f f
y x y
| | c c
|
c c c
|
=
|
c c
|
|
c c c
\ .

1
=
1
1

1 0.5
0.5 0.5

6
6
=
2
1


1
=
1
1

1 0.5
0.5 0.5

6
6
=
2
1


1
=
1
1

3
0
=
2
1

Error=
1

0


1

0
=
3
0

Error= 3
2
+ 0
2
= 3
Si Error>tolerancia se debe seguir iterando, y
X1 se convierte en el Xo
%Busqueda aleatoria
x=700*rand(1,300);
y=400*rand(1,300);
z=sqrt(x.^2+y.^2)+sqrt((x-300).^2+(y-
400).^2)+ ...
sqrt((x-700).^2+(y-300).^2) ;
[a,b]=min(z)
x0=x(b)
y0=y(b)

%Busqueda aleatoria
x=700*rand;
y=400*rand;
z=sqrt(x.^2+y.^2)+sqrt((x-300).^2+(y-400).^2)+ ...
sqrt((x-700).^2+(y-300).^2) ;
zMIN=800000000;
for i=1:100
if zMIN>z
zMIN=z;
x0=x;
y0=y;
end
x=700*rand;
y=400*rand;
z=sqrt(x^2+y^2)+sqrt((x-300)^2+(y-400)^2)+ ...
sqrt((x-700)^2+(y-300)^2) ;
end
x0,y0,zMIN

%METODO DE NEWTON RAPHSON
x0 = 307.2090
y0 = 373.1414
tol=0.001;error=100;
f='sqrt(x^2+y^2)+sqrt((x-300)^2+(y-400)^2)+sqrt((x-
700)^2+(y-300)^2)';
syms x y
z1=diff(f,x);
z2=diff(f,y);
h11=diff(z1,x);
h12=diff(z1,y);
h21=diff(z2,x);
h22=diff(z2,y);
disp(' x y error')
disp('===================================='

while(error>tol)
x=x0;y=y0;
G=[eval(z1);eval(z2)];
H=[eval(h11) eval(h12)
eval(h21) eval(h22)];
X0=[x0;y0];
X1=X0-inv(H)*G;
error=norm(X1-X0);
disp([X1',error])
x0=X1(1);y0=X1(2);
end

Potrebbero piacerti anche