Diferenciação e Optimização Numéricas - LEGI Trabalho Prático nº1 Grupo 4
Introdução Optimização de funções Resolução de um problema real Melhor aproveitamento dos recursos disponíveis Resolução de um problema real Sem restrições Com restrições
Apresentação do problema Empresa FashiUM,SA: -Função da publicidade x é quantidade dispendida em publicidade na TV y é quantidade dispendida em publicidade na rádio -Quanto deve ser dispendido em publicidade na TV e na rádio para maximizar vendas?
Metodologia utilizada (problema sem restrições) Aproximação inicial – gráfico da função Solução analítica - condições de optimalidade Solução numérica - métodos numéricos de optimização não linear Software - Maple, Matlab e CONUM
Aproximação inicial Determinação do ponto óptimo através do gráfico da função, em Matlab
Solução analítica Condições de optimalidade: 1ª ordem – Vector Gradiente 2ª ordem – Matriz Hessiana Determinação do ponto óptimo Ponto máximo – matriz definida negativa
Solução numérica (Resumo dos resultados obtidos no CONUM) Valor inicial (x0,y0) (1900,1900)T (2000,2000)T (2100,2100)T Tipo de método Valor da função f(x,y) Vector Solução (x,y) Número de Iterações Método das Direcções de Descida Máxima Não Convergiu (erro matemático) -100000000 1 Método dos Gradientes Conjugados Método de Newton 2 Métodos do Tipo Quasi-Newton -99999999.999995 (1999.999547, 1999.999547)T 56 (2000.000453, 2000.000453) T Método de Rosenbrock -100000000.000000 (2000.000065, 1999.999961) T Não Convergiu (2000.000008, 1999.999957) T Em todos os métodos da tabela, utilizaram-se 3 valores iniciais (x0,y0) = (1900,1900)T , (x0,y0) = (2000,2000)T, (x0,y0) = (2100,2100)T, a mesma tolerância do critério de paragem (ε=1.0x10-06) e o mesmo número máximo de iterações ( nmax=200).
Solução numérica(Matlab) Input no Matlab: >> [x,fval]=fminsearch('-(40000.*x(1)+60000.*x(2)-5.*x(1).^2-10.*x(2).^2-10.*x(1).*x(2))',[1000 2000]) x = 1.0e+003 * 2.0000 2.0000 fval = -100000000 Resultado de encontro com a solução obtida no CONUM
Implementação do algoritmo(Matlab) Input: [xsol,fx,iter,conv]=metgradientes('funcaograd',2,200,[2000;2000],'vgrad',10^(-8),10^(-8),10^(-6),1) Output: O valor da solução: xsol = 2000 2000 O valor da função: fx = 100000000 Número de iterações: iter = 1 O método convergiu
Resolução do problema com restrições Valor máximo a gastar em publicidade: 3000 Formulação: Input: >> X=fmincon(inline('-40000*x(1)-60000*x(2)+5*x(1)^2+10*x(2)^2+10*x(1)*x(2)'),[0;0],[1 1],3000,[],[],[0 0]) X = 1.0e+003 * 1.0000 2.0000 Valor gasto em TV = 1000(milhares de UM) Valor gasto em rádio = 2000 (milhares de UM)
Conclusão Optimização sem restrições 2000 em TV e 2000 em rádio (milhares de UM) 100 000 000 unidades vendidas Optimização com restrições (despesa máxima 3000) 1000 em TV e 2000 em rádio (milhares de UM) 95 000 000 unidades vendidas
FIM Trabalho realizado por: António Amaral Nº 33118 Romeu Vieira Nº 33132 Tiago Amaral Nº 34164 Tiago Pinho Nº 15654