Escolar Documentos
Profissional Documentos
Cultura Documentos
DESARROLLO TECNOLGICO
POSGRADO DE ELECTRNICA
CONTROL INTELIGENTE
TAREA # 6
TEMA:
DERIVATIVE-FREE OPTIMIZATION
CATEDRTICO:
ALUMNO(S):
Prctica 7.2
Al principio del programa tsp.m, tenemos que crear una matriz distancia en la
cual el elemento en la fila i y la columna j en la matriz distancia es igual a la
distancia de viaje entre la ciudad i y la ciudad j. En tsp.m esto se hace por
medio de 2 ciclos for anidados.
for i = 1:NumCity,
for j = 1:NumCity,
distance(i, j) = norm(loc(i, :) - loc(j, :));
end
end
Problema 7.8
Utilice el comando fminsearch para minimizar el valle parablico de
Rosenbrock (tambin conocido como la funcin banana):
>> x1=x(1,1)
x1 =
1.0000
>> x2=x(1,2)
x2 =
1.0000
8.1777e-10
Problema 7.9
Repita el ejercicio 7.8 usando el mtodo de la bsqueda aleatoria. Compare el
tiempo de corrida promedio y el valor de la funcin objetivo despus de 10
corridas con aquellos obtenidos con fminsearch.
Para proceder a obtener la minimizacin de la funcin se procedi a realizar el
programa para bsqueda aleatoria, correr el programa con la funcin y los
datos dados y comparar los resultados con los obtenidos en el problema 7.8.
El programa utilizado para la bsqueda aleatoria fue el siguiente y se da
crdito al autor del programa original Namir Shammas. All rights reserved, el
cual escribi el cdigo y nosotros lo modificamos para nuestro proposito:
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
function y=fx1(X, N)
y=100*(X(2)-X(1)^2)^2+(1-X(1))^2;
end
0.9824
1.1283e-04
Iters =
100000
>> x1=XBest(1,1)
x1 =
0.9909
>> x2=XBest(1,2)
x2 =
0.9824
Al obtener estos resultados y compararlos con los obtenidos en el problema 7.8
podemos observar que los resultados son muy aproximados, ya que los valores
obtenidos se muestran a continuacin:
X1
X2
fminsearch
Bus_aleatoria
1
1
0.9909
0.9824
Con esta tabla nos damos cuenta de lo antes ya mencionado, por ultimo solo
resta agregar que en el mtodo de bsqueda aleatoria, tenemos la ventaja de
aproximar nuestro resultado al valor real tanto como queramos modificando ya
sea el nmero de iteraciones mximas y/o la tolerancia del error.