Professional Documents
Culture Documents
Multiplicadores de
Lagrange
Prof: Pedro Pablo Riascos Henao
Aluno: Leonardo Augusto Azevedo Abrantes
O mtodo consiste em introduzir uma varivel
Gradiente
Vetor que aponta sempre para a direo
de maior crescimento de uma funo.
Exemplo Visual
Figura 1:
Encontrarxey
que
maximizemsuje
ito a uma
condio (a
Para
compreender melhor vamos resolver um
exemplo.
Isolando
mximo 25/2.
Nesse exemplo, tivemos dois pares de valores iguais,
mas poderamos ter quatro valores diferentes. O
procedimento, a, seria o mesmo: calculamos f(x, y)
para cada um dos valores e, ento, pegamos o
menor e o maior.
Exemplo prtico
Uma caixa retangular sem tampa deve ser
Resoluo: primeiro
devemos
determinar a funo
objetivo e
a restrio.
FO: Volume f(x,y,z) = xyz ;
Restrio: rea g( x,y,z) = xy + 2xz +2yz 12
Temos:
(yz , xz , xy) = ( y +2z , x + 2z , 2x + 2y)
Isolando :
= = =
Comparando as equaes aos pares:
= ; = ; =
Relacionando as duas primeiras comparaes:
() = () => xy + 2zy = 2zx + 2zy
Podemos notar: xy + 2zy = 2zx + 2zy
conclumos que:
y = 2z , x = 2z
x =y
se trata de uma caixa, apenas os valores reais
Como
Substituindo x = 2 em y = 2z ,
x = 2z
encontramos a resposta do problema.
Resposta: 2 ; y = 2 e z = 1
O volume mximo ento
V = xyz = 4
x = y,
Jacobiano - Matlab
Para
resolver problemas de otimizao usando
multiplicadores de Lagrange no Matlab usaremos o
comando jacobian.
syms x y z la
% declarar variveis
f=x*y*z
%declarar funo objetivo
g=x*y + 2*x*z +2*y*z - 12;
%declarar funo
restrio
L=jacobian(f)-la*jacobian(g)
%fazer jacobiano
S=solve(L(1),L(2), L(3),g)
%resolver sistema
[S.x S.y S.z]
%resposta do sistema, sem
la
values=simple(subs(f,{x,y,z},{S.x,S.y,S.z}))
%Teste dos valores do sistema
na FO
double(values)
%Converte para decimal
syms x y la
f=x*y
g=x^2 + y^2 -25
L=jacobian(f)-la*jacobian(g)
S=solve(L(1),L(2),g)
[S.x S.y]
values=simple(subs(f,{x,y},{S.x,S.y}))
double(values)
Bibliografia
(Rao, SingiresuS.) Engineering Optimization