Page 443 - Chapra y Canale. Metodos Numericos para Ingenieros 5edición_Neat
P. 443
15.3 OPTIMIZACIÓN CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 419
Un conjunto completo de parámetros se encuentra llamando a “Help” (Ayuda)
>> Help optimset
EJEMPLO 15.6 Uso de MATLAB para optimización multidimensional
Planteamiento del problema. Con la función fminsearch de MATLAB encuentre el
máximo de
f (x, y) = 2xy + 2x – x – 2y 2
2
Utilice como valores iniciales x = –1 y y = 1. Recuerde que en el capítulo 14 se utilizaron
varios métodos para resolver este problema para x = 2 y y = 1 con f(x, y) = –2.
Solución. Primero debemos crear un archivo M para retener la función:
function f=fxy(x)
f = –(2*x(1)*x(2)+2*x(1)–x(1)^2–2*x(2)^2)
Puesto que nos interesa la maximización, introducimos el negativo de la función. Después
llamamos la función fminsearch con
>> x=fminsearch(‘fxy’,[–1,1])
El resultado es
f =
–2.0000
x =
1.9999 1.0000
Igual que con fminbnd, se pueden agregar argumentos en orden para especificar
parámetros adicionales en el proceso de optimización. Por ejemplo, la función optimset
se utiliza para limitar el número máximo de iteraciones
x=fminsearch(‘fxy’,[–1,1],optimset(‘MaxIter’,2))
obteniéndose como resultado
f =
7.0025
Exiting: Maximum number of iterations has been exceeded
– increase MaxIter option.
Current function value: 7.000000
x =
–1 1
Debido a que hemos fijado límites muy estrictos a las iteraciones, la optimización ter-
mina bien antes de que se alcance el máximo.
6/12/06 13:56:06
Chapra-15.indd 419
Chapra-15.indd 419 6/12/06 13:56:06

