Escolar Documentos
Profissional Documentos
Cultura Documentos
GA18-Algoritmos Geneticos No MATLAB
GA18-Algoritmos Geneticos No MATLAB
Optimization Toolbox
Tpicos
Introduo
Otimizao de funes
Optimization Toolbox
Rotinas / Algoritmos Disponveis
Problemas de minimizao
Sem restries
Com Restries
Exemplos
Descrio do algoritmo
Optimization Toolbox
Otimizao de Funes
Otimizao se refere basicamente a maximizao ou
minimizao de funes
Problema tpico de otimizao:
min f x
x
Subject to:
g x 0
hi x 0 Restries de igualdade
~
Restries de desigualdade
x L k xk xU k Restries de fronteira
Where:
f x
~
x
~
Optimization Toolbox
g x 0
hi x 0
Restries de igualdade
Restries de desigualdades
x L k xk xU k
Optimization Toolbox
Optimization Toolbox
uma coleo de funes que estendem a capacidade de MATLAB.
As rotinas incluem:
Otimizao sem restries
Otimizao com restries lineares e no-lineares.
Optimization Toolbox
Algoritmos de minimizao
Optimization Toolbox
Algoritmos de minimizao
(Cont.)
Optimization Toolbox
Optimization Toolbox
Algoritmos de mnimimos
quadrados
Optimization Toolbox
Optimization Toolbox
Unconstrained Minimization
Considere o problema de encontrar um conjunto de valores [x1 x2]T que
resolva
x x1
~
x2
Passos:
Criar um M-file que retorna o valor da funo(Objective
Function). Chame-a de objfun.m
Ento chamar a rotina de minimizao. Use fminunc,
fminsearch, etc
Optimization Toolbox
x x1
function f = objfun(x)
x2
f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);
Objective function
Optimization Toolbox
Passo 2 a rotina
Ponto Inicial
x0 = [-1,1];
options = optimset(LargeScale,off);
[xmin,feval,exitflag,output]=
fminunc(objfun,x0,options);
Argumentos de Sida
Argumentos de entrada
Optimization Toolbox
Resultados
xmin =
0.5000
-1.0000
feval =
1.3028e-010
exitflag =
Exitflag tells if the algorithm is converged.
If exitflag > 0, then local minimum is found
output =
iterations: 7
funcCount: 40
stepsize: 1
firstorderopt: 8.1998e-004
algorithm: 'medium-scale: Quasi-Newton line search'
2008 Solutions 4U Sdn Bhd. All Rights Reserved
Optimization Toolbox
: A funo objetivo.
x0
Option
: Configura a otmizao
P1,P2,
Optimization Toolbox
feval
exitflag
Output
grad
hessian
Optimization Toolbox
Optimization Toolbox
Optimization Toolbox
Since the default is on, if we would like to turn off, we just type:
Optimization Toolbox
Optimization Toolbox
Optimization Toolbox
Multiplicadores de
Lagrange
[xmin,feval,exitflag,output,lambda,grad,hessian]
=
fmincon(fun,x0,A,B,Aeq,Beq,LB,UB,NONLCON,options,
P1,P2,)
Optimization Toolbox
Exemplo
function f = myfun(x)
min f x x1 x2 x3
x
f=-x(1)*x(2)*x(3);
Sujeito :
2 x12 x2 0
x1 2 x2 2 x3 0
x1 2 x2 2 x3 72
0 x1 , x2 , x3 30
1 2 2
0
A
, B
1 2 2
72
0
30
LB 0 , UB 30
0
30
2008 Solutions 4U Sdn Bhd. All Rights Reserved
Optimization Toolbox
Example (Cont.)
Para
2 x12 x2 0
Optimization Toolbox
Example (Cont.)
UB = [30 30 30]';
1 2 2
0
A
, B
1 2 2
72
0
30
LB 0 , UB 30
0
30
[x,feval]=fmincon(@myfun,x0,A,B,[],[],LB,UB,@nonlcon)
CAREFUL!!!
fmincon(fun,x0,A,B,Aeq,Beq,LB,UB,NONLCON,options,P1,P2,)
2008 Solutions 4U Sdn Bhd. All Rights Reserved
Optimization Toolbox
Exemplo(Cont.)
Warning: Large-scale (trust region) method does not currently solve this type of problem, switching to
medium-scale (line search).
>
Optimization terminated successfully:
Magnitude of directional derivative in search direction less than 2*options.TolFun and maximum constraint
violation is less than options.TolCon
Const. 1
x1 2 x2 2 x3 0
Active Constraints:
2
9
x=
0.00050378663220
0.00000000000000
30.00000000000000
feval =
-4.657237250542452e-035
Const. 3
x1 2 x2 2 x3 72 Const. 2
Const. 5
0 x1 30
Const. 4
0 x2 30
Const. 7
0 x3 30
2 x12 x2 0
Const. 6
Const. 8
Const. 9
Sequence: A,B,Aeq,Beq,LB,UB,C,Ceq
2008 Solutions 4U Sdn Bhd. All Rights Reserved
Optimization Toolbox
Optimization Toolbox
A = [1,1;-1,2;2,1]; b = [2;2;3]; lb =
zeros(2,1);
options = gaoptimset('PlotFcns',@gaplotshowpopulation2);
[x,fval] = ga(@lincontest6,2,A,b,[],[],lb,[],[],options);
Optimization Toolbox
Optimization Toolbox
Fim.
2008 Solutions 4U Sdn Bhd. All Rights Reserved