Bioinformática Avançada e Biologia de Sistemas Optimização

Tamanho: px
Começar a partir da página:

Download "Bioinformática Avançada e Biologia de Sistemas Optimização"

Transcrição

1 Bioinformática Avançada e Biologia de Sistemas Optimização A. Ismael F. Vaz Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Mestrado em Bioinformática Ano lectivo 2007/2008 A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 1 / 190

2 Conteúdo 1 Introdução 2 MATLAB 3 Optimização 4 Optimização não linear sem restrições 5 Método de Segurança de Newton 6 Método quasi-newton 7 Optimização sem restrições com o MATLAB 8 Optimização não linear com restrições de igualdade 9 Optimização não linear com restrições de desigualdade 10 Optimização com restrições com o MATLAB A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 2 / 190

3 Introdução Conteúdo 1 Introdução 2 MATLAB 3 Optimização 4 Optimização não linear sem restrições 5 Método de Segurança de Newton 6 Método quasi-newton 7 Optimização sem restrições com o MATLAB 8 Optimização não linear com restrições de igualdade 9 Optimização não linear com restrições de desigualdade 10 Optimização com restrições com o MATLAB A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 3 / 190

4 Introdução Apresentação - Docente Aulas teóricas e teórico-práticas A. Ismael F. Vaz - aivaz@dps.uminho.pt Horário de atendimento Marcação por . A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 4 / 190

5 Introdução Apresentação - Disciplina Página da disciplina; Três fichas TPs para resolver ao longo desta parte do módulo (Nota mínima de 8); A classificação final do módulo é: Ficha TP1+Ficha TP2+Ficha TP3 3. A classificação na Unidade Curricular (UC) tem uma fórmula de cálculo própria. É obrigatória a presença em 2/3 das aulas efectivas (1/3 de faltas atenção às justificações/estatutos). A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 5 / 190

6 Introdução Material necessário e de apoio Calculadora científica; Folhas das fichas TPs; Papel e caneta; Livro de Computação Numérica; Sebenta de Optimização Não Linear; Software MATLAB + toolbox de Optimização (+ AMPL + Solver); Fichas TPs e acetatos disponíveis na página; A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 6 / 190

7 Introdução Motivação da disciplina Optimização A optimização é uma área da matemática aplicada com inúmeras aplicações no nosso dia a dia. Exemplo de aplicações Poluição do ar (determinação de políticas óptimas), Robótica (determinação de trajectórias óptimas), Processos de fermentação semi-contínua (etanol, cerveja!!), etc... e astrofísica. Engenharia Está presente em todas as áreas da engenharia (sem excepção)... A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 7 / 190

8 Introdução Controlo óptimo - Um exemplo Problema de optimização do processo semi-contínuo de produção de Etanol. O problema de optimização é: (t 0 = 0 e t f = 61.2 dias) max u(t) J(t f ) x 3 (t f )x 4 (t f ) s.a dx 1 = g 1 x 1 u x 1 dt x 4 dx 2 = 10g 1 x 1 + u 150 x 2 dt x 4 dx 3 = g 2 x 1 u x 3 dt x 4 dx 4 = u dt 0 x 4 (t f ) u(t) 12 t [t 0, t f ] com ( ) ( ) x 2 g 1 = 1 + x 3 / x 2 ( ) ( ) 1 x 2 g 2 = 1 + x 3 / x 2 onde x 1, x 2 e x 3 são as concentrações da massa celular, substrato e produto (g/l), e x 4 é o volume (L). As condições iniciais são: x(t 0 ) = (1, 150, 0, 10) T. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 8 / 190

9 Introdução Abordagem para a resolução Grande exigência em termos numéricos; Grande exigência em termos de programação; Solução da equação diferencial com o CVODE (software em C); Problemas codificados em AMPL (linguagem de modelação); Algoritmo para optimização sem derivadas; A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 9 / 190

10 Introdução Programa detalhado Aula Matéria 1 Grafos (Cláudio Alves) 2 Optimização Combinatória (Cláudio Alves) 3 Ficha de avaliação. Introdução ao MATLAB. Definição de vectores e matrizes. Codificação de funções matemáticas e operadores. Uso de ficheiros M (M-Files). 4 Introdução à optimização não linear (sem restrições). Definições e condições de optimalidade. 5 Método de Newton e quasi-newton. Modelação de casos em MA- TLAB (função fminsearch e fminunc). 6 Ficha de Avaliação. Introdução à optimização não linear com restrições. Tipos de problemas e suas características. Condições de optimalidade. Tratamento de restrições lineares e não lineares. 7 Modelação de casos e uso de MATLAB (função fmincon). 8 Modelação de casos e uso de MATLAB (função fmincon). 9 Revisões. 10 Revisões e Ficha de avaliação. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 10 / 190

11 MATLAB Conteúdo 1 Introdução 2 MATLAB 3 Optimização 4 Optimização não linear sem restrições 5 Método de Segurança de Newton 6 Método quasi-newton 7 Optimização sem restrições com o MATLAB 8 Optimização não linear com restrições de igualdade 9 Optimização não linear com restrições de desigualdade 10 Optimização com restrições com o MATLAB A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 11 / 190

12 MATLAB O que é o MATLAB? MATLAB Começou como sendo um programa iterativo para cálculos com matrizes e transformou-se numa linguagem matemática de alto nível. O seu desenvolvimento permite agora, por exemplo, a resolução de equações diferenciais e o desenho de gráficos a duas e três dimensões. Possuindo o MATLAB uma linguagem de programação poder-se-ia dizer que qualquer algoritmo pode ser implementado em MATLAB. O que aprender? Neste caso apenas iremos introduzir os comandos básicos e a criação de scripts necessários aos capítulos seguintes. O MATLAB possui uma toolbox (entre outras) que fornece um conjunto de algoritmos para optimização. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 12 / 190

13 MATLAB Só existe o MATLAB? Ferramentas similares Outros programas similares são o Mathematica e o Maple Mathematica Mais vocacionado para manipulação simbólica, embora o MATLAB também já incorpore algumas destas funcionalidades. Maple Exemplo Resolver a equação diferencial com condições iniciais d 2 y dx 2 (x) 3y(x) = x, y(0) = 1 dy dx (0) = 2 dsolve( diff(y(x),x,x) - 3*y(x) = x, y(0)=1, D(y)(0)=2, y(x) ); A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 13 / 190

14 MATLAB Ambiente MATLAB A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 14 / 190

15 MATLAB Operações básicas Aritméticas >> 2+3*2-1.5*2^2 ans = 2 ans é uma variável built-in que é criada sempre que um resultado não é atribuído. Variáveis built-in constantes >> pi ans = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 15 / 190

16 MATLAB Operações básicas Funções >> a=2*sin(pi)^2+3*exp(1)+sqrt(2)+cosh(2) a = Ajuda >> help acos ACOS Inverse cosine. ACOS(X) is the arccosine of the elements of X. Complex results are obtained if ABS(x) > 1.0 for some element.... See also cos, acosd. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 16 / 190

17 MATLAB Operações básicas Formatos Precisão O MATLAB usa sempre aritmética com precisão de 15 algarismos significativos, no entanto, por defeito apenas mostra 4. >> format long >> a a = >> format short >> a a = >> format short e >> a a = e+001 A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 17 / 190

18 MATLAB Operações básicas com escalares O ; Os comandos que terminam com o ; não são impressos no ecrã. >> a=log(2)+log10(2)+log2(2); >> a a = >> a=log(2)+log10(2)+log2(2) a = Útil quando se pretende efectuar vários comandos seguidos (scripts) e não se pretende ver determinados resultados. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 18 / 190

19 MATLAB Operações básicas com vectores e matrizes Vectores linha >> a=[1 2 3] a = >> a=[1,2,3] a = O(A) transposto(a) >> a=[1;2;3] a = Vectores coluna >> a=[1;2;3] a = O(A) transposto(a) >> a=[1,2,3] a = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 19 / 190

20 MATLAB Operações básicas com vectores e matrizes Operações com vectores Funções >> a a = >> b=sin(a) b = Operações com vectores >> a+b ans = >> a^2??? Error using ==> mpower Matrix must be square. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 20 / 190

21 MATLAB Operações básicas com vectores e matrizes Operações elemento a elemento >> a.^2 ans = >> (a+b).^2 ans = >> a.*b ans = Operações com vectores >> 2*a+b.^2 ans = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 21 / 190

22 MATLAB Operações básicas com vectores e matrizes Operações elemento a elemento >> a*b??? Error using ==> mtimes Inner matrix dimensions must agree. >> a*b ans = Operações com vectores >> a *b ans = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 22 / 190

23 MATLAB Operações básicas com vectores e matrizes Matriz >> A=[ 1 2 3; 4 5 6] A = Matriz 2 3. O MATLAB é case sensitive, i.e., A é diferente de a. Matriz transposta >> A=[ 1 2 3; 4 5 6] A = Matriz 3 2. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 23 / 190

24 MATLAB Operações básicas com vectores e matrizes Definição >> A+B ans = >> A +B ans = >> (A+B) ans = Soma >> A=[2 3; 3 4; 4 5] A = >> B=[1 2; 2 3; 3 4] B = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 24 / 190

25 MATLAB Operações básicas com vectores e matrizes Produto >> A*B??? Error using ==> mtimes Inner matrix dimensions... >> A*B ans = O número de colunas da primeira matriz tem de ser igual ao número de linhas da segunda matriz. Produto elemento a elemento >> A.*B ans = >> A^2??? Error using ==> mpower Matrix must be square. >> A.^2 ans = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 25 / 190

26 MATLAB Sistemas lineares Um sistema linear pode ser representado na forma de matricial como Ax = b, em que A é uma matriz (dos coeficientes), x é a solução do sistemas e b é um vector (dos termos independentes). Sistema x 1 +2x 2 +3x 3 = 1 4x 1 +5x 2 +6x 3 = 2 7x 1 +8x 2 +9x 3 = 3 i.e. A = x = x 1 x 2 x 3 x 1 x 2 x 3 = e b = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 26 / 190

27 MATLAB Resolução de Sistemas lineares O exemplo anterior >> A=[1 2 3; 4 5 6; 7 8 9]; b=[1 2 3] ; >> x=a\b Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = e-018. x = >> A*x-b ans = 1.0e-015 * A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 27 / 190

28 MATLAB Resolução de Sistemas lineares Curiosidades >> det(a) ans = 0 >> [L,U]=lu(A) L = U = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 28 / 190

29 MATLAB Resolução de Sistemas lineares Não fazer Porquê? >> x=inv(a)*b Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = e-018. x = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 29 / 190

30 MATLAB Acesso a elementos de vectores e matrizes Acesso a vectores >> b=sin(b); >> b(1) ans = >> b(2:3) ans = >> b(:) ans = Acesso a matrizes >> A(2,2) ans = 5 >> A(2,:) ans = >> A(:,1) ans = >> A(1:2,2:3) ans = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 30 / 190

31 MATLAB Matrizes e vectores especiais Zeros e uns >> zeros(2,3) ans = >> ones(2,1) ans = 1 1 >> t=1:1:3 t = >> t=1.1:0.1:1.2 t = Identidade >> eye(3) ans = >> rand(3,2) ans = >> randn(2,2) ans = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 31 / 190

32 MATLAB Modificação de elementos em vectores e matrizes Atribuições >> A=ones(3,3); >> A(1:2,1)=3 A = >> A(3,1:2:3)=4 A = Troca de valores >> A([1 2],1)=2*A([1 2],1) A = >> A([1 3],1)=A([3 1],1) A = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 32 / 190

33 MATLAB find >> v=[ ] v = >> i=find(v>0.12) i = 2 4 >> a=v(i) a = >> i=find(v==0.1) i = 1 >> i=find(v~=0.1) i = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 33 / 190 Operadores lógicos e o find

34 MATLAB Operadores lógicos e o find Operadores lógicos Símbolo Representa Símbolo Representa > Maior que >= Maior ou igual que < Menor que <= Menor ou igual que = Diferente de == Igual a Negação & E Ou A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 34 / 190

35 MATLAB Funções básicas Funções Função max min sum mean stdev Descrição Elemento máximo de um vector Elemento mínimo de um vector Soma de todos os elementos Média aritmética Desvio padrão A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 35 / 190

36 MATLAB Mensagens e display de variáveis Ficheiros >> x = 0:.1:1; y = [x; exp(x)]; >> fid = fopen( exp.txt, w ) fid = 3 >> fprintf(fid, %6.2f %12.8f\n,y); >> fclose(fid); Conteúdo de exp.txt A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 36 / 190

37 MATLAB Mensagens e display de variáveis Terminal >> x=1;y=2; >> fprintf( Duas variáveis: %5.1f %6.2f\n,x,y); Duas variáveis: >> x=[1 2];y=[3 4]; >> fprintf( Dois vectores: %5.1f %6.2f\n,x,y); Dois vectores: Dois vectores: Terminal >> x x = 1 2 >> disp(x) 1 2 Terminal >> x=1.23; >> s=sprintf( Uma string %4.2f,x) s = Uma string 1.23 A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 37 / 190

38 MATLAB Scripts Definição Um script trata-se da execução de uma série de comandos. Os scripts são guardados em ficheiros de extensão.m e por isso designámos por M-Files (ficheiros M). Ficheiro bioinf.m x = 0:.1:1; y = exp(x); fprintf( %4.2f %8.4f\n,x,y); Execução >> bioinf A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 38 / 190

39 MATLAB Desenho de gráficos 2D Plot >> x=0:0.05:4*pi; >> plot(x,sin(x).^2+2*exp(x/(4*pi))); >> xlabel( x ); >> ylabel( sin^2(x)+2e^{x/(4\pi)} ); >> title( O meu primeiro plot ); >> axis([0 4*pi 1 7]); A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 39 / 190

40 MATLAB Desenho de gráficos 2D 7 O meu primeiro plot 6 5 sin 2 (x)+2e x/(4π) x A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 40 / 190

41 MATLAB Desenho de gráficos 2D Sobreposição >> x=0:0.05:4*pi; >> plot(x,sin(x).^2+2*exp(x/(4*pi))); >> hold on; >> plot(x,-sin(x).^2+2*exp(x/(4*pi))); >> hold off; >> x=0:0.05:4*pi; >> y1=sin(x).^2+2*exp(x/(4*pi)); >> y2=-sin(x).^2+2*exp(x/(4*pi)); >> plot(x,y1,x,y2); Dois gráficos quase idênticos (atenção às cores). A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 41 / 190

42 MATLAB Desenho de gráficos 2D A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 42 / 190

43 MATLAB Desenho de gráficos 2D Usando marcas e tipos de linhas >> x=0:0.05:4*pi; >> y=0:1:4*pi; >> plot(x,sin(x).^2+2*exp(x/(4*pi)), --r,1,3, ok,... 3,4, *g,y,-sin(y).^2+2*exp(y/(4*pi)), +k ); A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 43 / 190

44 MATLAB Desenho de gráficos 2D A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 44 / 190

45 MATLAB Desenho de gráficos 3D Plot3 >> t = 0:pi/50:10*pi; >> plot3(sin(t),cos(t),t); >> [x,y]=meshgrid(0:0.1:4*pi,0:0.1:pi); >> plot3(x,y,sin(x).*cos(y)); >> surf(x,y,sin(x).*cos(y)); A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 45 / 190

46 MATLAB Desenho de gráficos 3D A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 46 / 190

47 MATLAB Desenho de gráficos 3D A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 47 / 190

48 MATLAB Desenho de gráficos 3D A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 48 / 190

49 MATLAB Desenho de curvas de nível Contour >> [x,y]=meshgrid(0:0.1:4*pi,0:0.1:pi); >> contour(x,y,sin(x).*cos(y)); >> contour(x,y,sin(x).*cos(y),50); A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 49 / 190

50 MATLAB Desenho de curvas de nível A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 50 / 190

51 MATLAB Funções MATLAB As funções em MATLAB são escritas em ficheiros M. O nome do ficheiro deve corresponder ao nome da função Execução >> simples(2) ans = 4 >> a=simples([1 2]) a = 1 4 >> b=simples([1 2; 2 3]) b = simples.m function f = simples(x) % O quadrado de x %.^ para... f=x.^2; Help >> help simples O quadrado de x A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 51 / 190

52 MATLAB Funções MATLAB O if myfun.m function [a, b] = myfun(x,y) % % Argumentos de entrada: % x - O meu primeiro argumento % y - O meu segundo argumento % % Argumentos de saída: % a - O meu primeiro argumento de saída % b - O meu segundo argumento de saída % Isto já não aparece no Help A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 52 / 190

53 MATLAB Funções MATLAB O if myfun.m Cont. % Verificar os argumentos de entrada [d1,d2]=size(x); if d2 ~= 1 error( Só aceito vectores coluna ); else if nargin < 2 y=ones(d1,1); % Valor por defeito para o y else [d3,d4]=size(y); if d4 ~= 1 error( Só aceito vectores coluna ); end if d3 ~= d1 error( Dimensões de x e y não são iguais ); end end end A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 53 / 190

54 MATLAB Funções MATLAB O if myfun.m Cont. if nargout < 1 error( Pelo menos um argumento de saída ); end a=2*x+y; if nargout > 1 b=3*x+2*y; end A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 54 / 190

55 MATLAB Funções MATLAB O if Execução >> myfun([1 2])??? Error using ==> myfun Só aceito vectores coluna >> myfun([1 2] )??? Error using ==> myfun Pelo menos um argumento de saída >> f=myfun([1 2] ) f = 3 5 >> f=myfun([1 2],[1 2 3])??? Error using ==> myfun Só aceito vectores coluna A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 55 / 190

56 MATLAB Funções MATLAB O if Execução >> f=myfun([1 2],[1 2 3] )??? Error using ==> myfun Dimensões de x e y não são iguais >> [f1,f2]=myfun([1 2],[1 2] ) f1 = 3 6 f2 = 5 10 A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 56 / 190

57 MATLAB Funções MATLAB O for Execução >> for i=1:2 fprintf( %d --> %d\n,i,2*i); end 1 --> > 4 A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 57 / 190

58 MATLAB Funções MATLAB O inline Execução >> g=inline( sin(x) ); >> g(1) ans = >> g=inline( sin(x)*a, x, a ); >> g(1,2) ans = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 58 / 190

59 MATLAB Zeros de funções A função fzero >> g=inline( cos(x) ); >> fzero(g,1.1) ans = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 59 / 190

60 Optimização Conteúdo 1 Introdução 2 MATLAB 3 Optimização 4 Optimização não linear sem restrições 5 Método de Segurança de Newton 6 Método quasi-newton 7 Optimização sem restrições com o MATLAB 8 Optimização não linear com restrições de igualdade 9 Optimização não linear com restrições de desigualdade 10 Optimização com restrições com o MATLAB A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 60 / 190

61 Optimização Classificação Os problemas de optimização podem ser classificados de acordo com: as funções envolvidas (na função objectivo e nas restrições) o tipo de variáveis usadas (inteiras, binárias, discretas, contínuas, etc...) o tipo de restrições consideradas (igualdade, desigualdade, infinitas, complementaridade, etc...) o tipo de solução que se pretende obter (local ou global) diferenciabilidade das funções envolvidas (optimização com ou sem derivadas) A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 61 / 190

62 Optimização Importância da classificação Não existe software que resolva todos os tipos de problemas. O tipo de problema que se pretende resolver condiciona o software (solver) a usar. Um solver para optimização contínua não pode ser usado para resolver problemas com variáveis discretas. Um solver que use derivadas (ou as estime), aplicado a um problema que envolva funções não diferenciáveis, pode convergir (se convergir!!!) para um ponto de descontinuidade da derivada, apresentando-a como solução. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 62 / 190

63 Optimização Tipo de problemas Programação linear min(max) c T x(+d) s.a Ax = b Ex ( )f Programação quadrática min x T Qx + c T x s.a Ax = b Ex f A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 63 / 190

64 Optimização Tipo de problemas Optimização não linear min f(x) s.a c(x) = 0 h(x) 0 Desde que na definição do problema seja usada uma função não linear. f(x), c(x) e h(x) podem ser funções lineares. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 64 / 190

65 Optimização Classificação das variáveis Booleanas ou binárias (0 ou 1) Inteiras (Por exemplo 1,2,3,4,5,6,... ) Discretas (Por exemplo preto, azul, verde, vermelho, etc...) Contínuas (Por exemplo x [0, 2]) A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 65 / 190

66 Optimização Classificação quanto à solução pretendida Óptimo local (determinação de um minimizante local ou relativo) Óptimo global (determinação de uma minimizante global ou absoluto) A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 66 / 190

67 Optimização Classificação quanto à estrutura Programação semi-definida (envolve matrizes semi-definidas) Programação semi-infinita (uma função objectivo sujeita a uma infinidade de restrições) Programação estocástica ou robusta (envolve parâmetros incertos, conhecendo-se um intervalo de variação) Problemas de complementaridade (restrições em que se uma for diferente de zero então a outra é necessariamente zero) Problemas de controlo óptimo (determinar a melhor forma de controlar um determinado sistema - frequentemente modelado com equações diferenciais) etc... A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 67 / 190

68 Optimização Classificação de algoritmos Estocásticos (Procura da solução de forma aleatória, mas controlada) Algoritmos genéticos Colónias de formigas Colónias de partículas etc... Grande parte das vezes sem convergência garantida. Usados para a procura global (quando funcionam!!!). Determinísticos Dados os parâmetros iniciais (aproximação inicial e parâmetros do algoritmo) executa sempre da mesma forma. Grande parte das vezes com convergência garantida para um óptimo local. Híbridos Uma mistura das duas abordagens A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 68 / 190

69 Optimização não linear sem restrições Conteúdo 1 Introdução 2 MATLAB 3 Optimização 4 Optimização não linear sem restrições 5 Método de Segurança de Newton 6 Método quasi-newton 7 Optimização sem restrições com o MATLAB 8 Optimização não linear com restrições de igualdade 9 Optimização não linear com restrições de desigualdade 10 Optimização com restrições com o MATLAB A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 69 / 190

70 Optimização não linear sem restrições Forma geral do problema A formulação matemática de um problema de optimização, na sua forma mais geral, é s.a min f(x) x R n c i (x) = 0, i = 1,..., m c j (x) 0, j = m + 1,..., t onde f(x) é a função objectivo, c i (x) = 0 são as restrições de igualdade e c j (x) são as restrições de desigualdade. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 70 / 190

71 Optimização não linear sem restrições Equivalência entre problemas O problema de optimização (maximização) s.a max g(x) x R n c i (x) = 0, i = 1,..., m c j (x) 0, j = m + 1,..., t é equivalente ao problema de optimização (minimização) s.a min f(x) g(x) x Rn c i (x) = 0, i = 1,..., m c j (x) c j (x) 0, j = m + 1,..., t A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 71 / 190

72 Optimização não linear sem restrições Interpretação geométrica f(x*) f(x), f(x) 0 x* 2 f(x*) x f(x) = (x 0.5) g(x) = f(x) = (x 0.5) 2 2 A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 72 / 190

73 Optimização não linear sem restrições Exemplo Pretende-se determinar o volume máximo de uma lata (cilindro), fechada nas duas extremidades, sabendo que a quantidade de chapa a usar é de 1000 cm 2. Sendo r o raio da tampa e h a altura da lata, uma possível formulação do problema de optimização é max (r,h) R πr2 h 2 s.a 2πr 2 + 2πrh = 1000 que pode ser transformado no problema de minimização min x R 2 πx2 1x 2 s.a 2πx πx 1 x 2 = 1000 A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 73 / 190

74 Optimização não linear sem restrições Optimização sem restrições Apenas iremos considerar problemas de minimização e sem restrições. A sua formulação é pois min x R n f(x). Classificação dos problemas (mais usuais) Problemas unidimensionais (n = 1, ou seja, x R); Problemas multidimensionais (n > 1, ou seja, x = (x 1,..., x n ) T R n ); Problemas de programação linear (f(x) e c(x) são funções lineares, i.e., f(x) = Ax, c(x) = Ax b); Problemas de programação quadrática (f(x) é uma função quadrática, i.e., f(x) = 1 2 xt Gx + d T x, e c(x) são funções lineares); Problemas com limites simples (restrições nas variáveis do tipo a l x l b l, l = 1,..., n); Problemas de programação não linear (pelo menos uma das funções envolvidas, f(x), c(x) é não linear). A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 74 / 190

75 Optimização não linear sem restrições Classificação de mínimos x é minimizante local forte se δ tal que f(x ) < f( x), x V δ (x ); minimizante local fraco se δ tal que f(x ) f( x), x V δ (x ); minimizante global forte se f(x ) < f( x), x R n ; minimizante global fraco se f(x ) f( x), x R n ; Onde V δ (x ) é uma vizinhança de x de raio δ ( x x < δ). A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 75 / 190

76 Optimização não linear sem restrições Mínimo global Mínimo global forte Função ilimitada Mínimo global fraco f(x ) < f( x) x R f(x ) f( x) x R A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 76 / 190

77 Optimização não linear sem restrições Mínimo local δ : f(x ) < f( x), x V δ (x ). δ : f(x ) f( x), x V δ (x ). A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 77 / 190

78 Optimização não linear sem restrições Conceitos Máximo e maximizante; Mínimo e minimizante; Óptimo local ou global; Convergência local e global de algoritmos. Um algoritmo diz-se global se determina um minimizante (maximizante) dada uma qualquer aproximação inicial. Um algoritmo diz-se local se determina um minimizante partindo apenas de uma aproximação inicial suficientemente perto do minimizante. (Não confundir com a determinação de mínimos locais ou globais). A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 78 / 190

79 Optimização não linear sem restrições Condições de optimalidade Condições necessárias para a existência de um mínimo f (x ) = 0; f (x ) 0. Condições suficientes para a existência de um mínimo f (x ) = 0; f (x ) > 0. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 79 / 190

80 Optimização não linear sem restrições Exemplos f(x) = (x 1.5) 2 f(x) = sin(x) f (1.5) = 2 ( ) = 0 f (1.5) = 2 > 0 f ( π 2 ) = cos( π 2 ) = 0 f ( π 2 ) = sin( π 2 ) = 1 < Pelas condições necessária e suficiente A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 80 / 190

81 Optimização não linear sem restrições Exemplos f(x) = x 4 f(x) = x 3 f (0) = 3 (0) 3 = 0 f (0) = 3 (0) 2 = 0 f (0) = 12 (0) 2 = 0 f (0) = 6 (0) = Verifica-se a condição necessária, mas não a condição suficiente A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 81 / 190

82 Optimização não linear sem restrições Alguma notação Gradiente de f(x) : R n R, x = (x 1,..., x n ) T, vector de dimensão n f x 1 f ( f(x) = g(x) = x 2 f... =, f,..., f ) T x 1 x 2 x n f x n Matriz Hessiana, matriz de dimensão n n 2 f(x) = G(x) = 2 f x f x n x f x 1 x n... 2 f x 2 n A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 82 / 190

83 Optimização não linear sem restrições Condições de optimalidade Condições necessárias para a existência de um mínimo g(x ) = 0 (sistema não linear); G(x ) 0 (semi-definida positiva). Condições suficientes para a existência de um mínimo g(x ) = 0 (sistema não linear); G(x ) 0 (definida positiva). A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 83 / 190

84 Optimização não linear sem restrições Exemplo Pretende-se determinar todos os pontos óptimos do seguinte problema de optimização min x R 2x2 1 + x x 1 x 2 f(x) Da condição de necessária e suficiente de primeira ordem temos que g(x) = (2x 1 + 2x 2, 3x x 1 ) T = (0, 0) T, ou seja, { { 2x1 + 2x 2 = 0 3x x 1 = 0 x 1 = x 2 3x 2 2 2x 2 = 0 x 1 = x 2 x 2 = 0 x 2 = 2 3 Os pontos x = (0, 0) T e ˆx = ( 2 3, 2 3 )T são pontos estacionários de f(x). A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 84 / 190

85 Optimização não linear sem restrições Cont. Para verificar as condições de segunda ordem temos que estudar G( x) e G(ˆx). ( 2 2 G(x) = 2 6x 2 ( 2 2 det( 2 ) = 2, det 2 0 ) ( 2 2, G( x) = 2 0 ) ) ( 2 2, G(ˆx) = 2 4 ( 2 2 = 4, det 2 4 ) = 4 e temos que G( x) é indefinida ( x é ponto sela - descanso) e G(ˆx) é definida positiva (ˆx é mínimo local forte). ) A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 85 / 190

86 Optimização não linear sem restrições Representação gráfica/curvas de nível f(x) x x f(x) = x x x 1x 2 A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 86 / 190

87 Optimização não linear sem restrições Motivação para os métodos numéricos Na determinação analítica dos pontos estacionários é necessário resolver um sistema não linear, que é quase sempre de difícil resolução. Exemplo Considere-se a função f(x) = x 1 e x 2 2x 1 x 2. Os pontos estacionários de f(x) obtêm-se através da resolução do sistema não linear { e x 2 2x 2 = 0 x 1 e x 2 2x 1 = 0 A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 87 / 190

88 Método de Segurança de Newton Conteúdo 1 Introdução 2 MATLAB 3 Optimização 4 Optimização não linear sem restrições 5 Método de Segurança de Newton 6 Método quasi-newton 7 Optimização sem restrições com o MATLAB 8 Optimização não linear com restrições de igualdade 9 Optimização não linear com restrições de desigualdade 10 Optimização com restrições com o MATLAB A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 88 / 190

89 Método de Segurança de Newton Forma geral do problema A formulação matemática de um problema de optimização multidimensional, sem restrições é min f(x), x R n com f(x) : R n R (n > 1) duas vezes diferenciável. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 89 / 190

90 Método de Segurança de Newton Notação Gradiente de f(x) : R n R, x = (x 1,..., x n ) T, vector de dimensão n f x 1 f ( f(x) = g(x) = x 2 f... =, f,..., f ) T x 1 x 2 x n f x n Matriz Hessiana, matriz de dimensão n n 2 f(x) = G(x) = 2 f x f x n x f x 1 x n... 2 f x 2 n A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 90 / 190

91 Método de Segurança de Newton Alguns conceitos O vector gradiente aponta no sentido de subida da função. 100 g(x) g(x) f(x) = x 2 1 x 2 2 2x 1 x g(x) = ( 2x 1 2x 2, 2x 2 2x 1 ) T g(1, 1) = ( 4, 4) T A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 91 / 190

92 Método de Segurança de Newton Alguns conceitos - Cont. A matrix Hessiana indica a concavidade (convexa ou côncava) f(x) = x 2 1 x 2 2 2x 1 x ( ) 2 2 G(x) = 2 2 Semi-definida negativa. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 92 / 190

93 Método de Segurança de Newton Método de Newton A função f(x), em x = x + d pode ser aproximada por f(x ) f(x) + g(x) T d dt G(x)d (1) que resulta da expansão em série de Taylor de f(x), com x suficientemente perto de x. A aproximação quadrática (1) pode ser usada para determinar o vector d em que x é um vector fixo. Derivando em ordem a d e igualando a zero obtemos g(x) + G(x)d = 0 G(x)d = g(x) (2) A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 93 / 190

94 Método de Segurança de Newton Cont. Quando a função f(x) é quadrática obtém-se a solução resolvendo o sistema linear (2). No caso em que f(x) não é quadrática, o novo ponto x + d não é mínimo e o processo deve ser repetido iterativamente. As equações iterativas do processo são x (k+1) = x (k) + d (k) G(x (k) )d (k) = g(x (k) ), para k = 1, 2,... Nota: O método de Newton possui terminação quadrática, i.e., se f(x) for uma função quadrática convexa o método de Newton necessita no máximo de n iterações para encontrar a solução exacta. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 94 / 190

95 Método de Segurança de Newton Método de Newton - Falhas de convergência O método de Newton pode falhar nas seguintes condições: A matriz G(x (k) ) é singular e d (k) não é sequer definido. O vector direcção d (k) é quase ortogonal a g(x (k) ) e não é possível progredir ao longo de d (k). O vector direcção d (k) não aponta no sentido descendente de f e não é possível garantir a descida do valor da função. A matriz G(x (k) ) 1 existe e é definida positiva, o vector direcção d (k) é de descida, no entanto o comprimento é tal que f(x (k+1) ) > f(x (k) ), e o novo ponto não é melhor que o anterior. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 95 / 190

96 Método de Segurança de Newton Método de segurança de Newton O método de segurança de Newton resolve as possíveis falhas do método de Newton. A matriz G(x (k) ) é singular e d (k) não é sequer definido. Neste caso toma-se como direcção de procura a direcção de descida máxima (d (k) = g(x (k) )). Como a direcção de descida máxima resolve os restantes problemas (excepto o problema do comprimento da direcção) não e necessário verificar a quase-ortogonalidade e a descida da função objectivo. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 96 / 190

97 Método de Segurança de Newton Cont. O vector direcção d (k) é quase ortogonal a g(x (k) ) e não é possível progredir ao longo de d (k). 6 4 g(1,1) 2 0 g(1,1) Quase ortogonal se g(x (k) ) T d (k) η g(x (k) ) d (k) Se for quase ortogonal então d (k) = g(x (k) ) A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 97 / 190

98 Método de Segurança de Newton Cont. O vector direcção d (k) não aponta no sentido descendente de f e não é possível garantir a descida do valor da função. d (k) é direcção de descida se g(x (k) ) T d (k) η g(x (k) ) d (k). Caso d (k) não seja direcção de descida faz-se d (k) = d (k). A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 98 / 190

99 Método de Segurança de Newton Cont. A matriz G(x (k) ) 1 existe e é definida positiva, o vector direcção d (k) é de descida, no entanto o comprimento é tal que f(x (k+1) ) > f(x (k) ), e o novo ponto não é melhor que o anterior. O método de Newton tem convergência local, i.e., x (k) tem de ser suficientemente próximo de x para que o método funcione. A convergência global obtém-se através da introdução da procura unidimensional (regiões de confiança!!). x (k+1) = x (k) + αd (k) em que o α deve ser calculado para garantir que f(x (k+1) ) < f(x (k) ) Decréscimo simples A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/08 99 / 190

100 Método de Segurança de Newton Procura unidimensional exacta Na procura unidimensional exacta pretende-se determinar (exactamente) qual o valor de α que minimiza a função φ(α) = f(x (k+1) ) com x (k+1) = x (k) + αd (k), usando as condições de optimalidade φ (α) = 0 e φ (α) > 0. No entanto a solução para o problema min α R φ(α) não é de fácil resolução (difícil implementação e cálculos computacionais pesados). A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

101 Método de Segurança de Newton Procura unidimensional Critério de Armijo e divisões sucessivas de α por dois. Pressupondo que a direcção de procura é de descida, gera-se uma sequência de valores, {ω j α}, j = 0, 1, 2,... com α = 1 e ω = 1 2 até se encontrar um elemento que origine uma redução (significativa) no valor de f f(x (k) ) f(x (k) + ω j αd (k) ) µ 1 ω j αg(x (k) ) T d (k). O primeiro elemento encontrado é usado como o comprimento do passo na iteração k (α (k) = ω j α). A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

102 Método de Segurança de Newton Critério de paragem Considera-se as três condições para o critério de paragem x (k+1) x (k) x (k+1) ɛ 1 f (k+1) f (k) f (k+1) ɛ 2 g (k+1) ɛ 3 A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

103 Método de Segurança de Newton Exemplo Considere-se o seguinte problema de optimização min x R 2 x4 1 + x 2 2 3x 1 partindo de x (1) = (0, 1) T e com ɛ = 0.5. Temos que g(x) = (4x 3 1 3, 2x 2 ) T e G(x) = ( 12x ) A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

104 Método de Segurança de Newton 1 a iteração g (1) = g(x (1) ) = ( 3, 2) T G (1) = G(x (1) ) = ( ) Impossível ( ) Como a matriz G(x (1) ) é singular temos que d (1) = g (1) = (3, 2) T. Não é necessário verificar a quase ortogonalidade e passa-se para a procura unidimensional. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

105 Método de Segurança de Newton Procura unidimensional x (1) = (0, 1) T f (1) = 1 g (1)T d (1) = 13 α = 1 x = x (1) + d (1) = (0, 1) T + 1(3, 2) T = (3, 1) T f( x) = = f(x (1) ) f( x) α = 0.5 x = (0, 1) T + 0.5(3, 2) T = (1.5, 0) T f( x) = = f(x (1) ) f( x) Aceita-se α (1) = 0.5 e tem-se x (2) = (1.5, 0) T. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

106 Método de Segurança de Newton Critério de paragem x (2) x (1) x (2) = = Logo passa-se à próxima iteração. As restantes condições seriam (neste caso não é necessário verificar) e f (2) f (1) f (2) = = g (2) = (10.5, 0) T = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

107 Método de Segurança de Newton 2 a iteração x (2) = (1.5, 0) T ( ) g (2) = (10.5, 0) T G (2) 27 0 = ( ) d (2) = ( , 0) T d (2) é quase ortogonal com o gradiente? d (2) = g (2) = 10.5 (g (2) ) T d (2) = (10.5, 0)( , 0) T = = (g (2) ) T d (2) = , logo d (2) não é quase ortogonal com o gradiente (se fosse d (2) = g (2) ). A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

108 Método de Segurança de Newton 2 a iteração - Cont. d (2) é direcção de descida? d (2) = g (2) = 10.5 (g (2) ) T d (2) = (10.5, 0)( , 0) T = = (g (2) ) T d (2) = , logo d (2) é direcção de descida (se não fosse d (2) = d (2) ). Inicia-se a procura unidimensional. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

109 Método quasi-newton Conteúdo 1 Introdução 2 MATLAB 3 Optimização 4 Optimização não linear sem restrições 5 Método de Segurança de Newton 6 Método quasi-newton 7 Optimização sem restrições com o MATLAB 8 Optimização não linear com restrições de igualdade 9 Optimização não linear com restrições de desigualdade 10 Optimização com restrições com o MATLAB A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

110 Método quasi-newton Método Quasi-Newton O método Quasi-Newton usa uma matriz aproximação à matriz Hessiana (ou à sua inversa) da função objectivo. O uso de uma matriz aproximação evita o cálculo da matriz Hessiana (segundas derivadas) que pode ser difícil de obter. A aproximação à inversa da Hessiana, em vez da própria Hessiana, substituí a resolução de um sistema linear em cada iteração, por um produto matriz vector. (G(x)d = g(d) d = G(x) 1 g(x)). A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

111 Método quasi-newton Cont. A matriz aproximação é actualizada em cada iteração usando a informação das derivadas (gradiente) da iteração anterior. A fórmula mais conhecida é devida a Broyden, Fletcher, Goldfarb e Shanno (B.F.G.S.) ( ) ( ) H (k+1) = I s(k) y (k)t s (k)t y (k) H (k) I y(k) s (k)t y (k)t s (k) + s(k) s (k)t s (k)t y (k) em que s (k) = α (k) d (k) = x (k+1) x (k) e y (k) = g (k+1) g (k). Quando s (k)t y (k) > 0 e H (k) é simétrica e definida positiva, a formula de actualização garante que a matriz H (k+1) é simétrica e definida positiva. A fórmula B.F.G.S. satisfaz a propriedade de terminação quadrática. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

112 Método quasi-newton Cont. Na primeira iteração temos que H (1) = I (simétrica e definida positiva). Quando se usa a técnica de recomeço a matriz H (k) = I sempre que (k 1) mod n = 0. Como H (k) é simétrica e definida positiva não é necessário verificar a quase ortogonalidade e se a direcção calculada é de descida para a função objectivo. Os problemas numéricos com a matriz H (k), tais como overflow na actualização de H (k), um deslocamento ao longo da direcção de procura muito longo devido à quase ortogonalidade da direcção com o gradiente, podem ser ultrapassados usando a técnica do recomeço. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

113 Método quasi-newton Exemplo Considere-se o seguinte problema de optimização (x (1) = (0, 1) T e ɛ = 0.5) Temos que g(x) = (4x 3 1 3, 2x 2) T. 1 a iteração min x R 2 x4 1 + x 2 2 3x 1 g (1) = g(x (1) ) = ( 3, 2) T H (1) = I d (1) = Hg (1) = (3, 2) T. Procura unidimensional... (ver exemplo do segurança de Newton) Aceita-se α (1) = 0.5 e vem que x (2) = (1.5, 0) T. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

114 Método quasi-newton Critério de paragem x (2) x (1) x (2) = Logo passa-se à próxima iteração. 2 a iteração x (2) = (1.5, 0) T e g (2) = (10.5, 0) T H (2) = ( I s(1) y (1)T s (1)T y (1) ) H (1) ( = I y(1) s (1)T y (1)T s (1) ) + s(1) s (1)T s (1)T y (1) s (1) = x (2) x (1) = (1.5, 0) T (0, 1) T = (1.5, 1) T y (1) = g (2) g (1) = (10.5, 0) T ( 3, 2) T = (13.5, 2) T A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

115 Método quasi-newton Cont. s (1) y (1)T = I s(1) y (1)T ( 1 0 s (1)T y = (1) 0 1 H (2) = ( ( ) ( (13.5, 2) = s (1)T y (1) = (1.5, 1)(13.5, 2) T = ) ( ) ( ) = ( ) ( ) s (1) s (1)T = (1.5, 1) = ) ( ) ( ) H (1) ( ) H (2) = ) A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

116 Método quasi-newton Cont. ( d (2) = H (2) g (2) = ( ) d (2) = Procura unidimensional... ) ( ) A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

117 Optimização sem restrições com o MATLAB Conteúdo 1 Introdução 2 MATLAB 3 Optimização 4 Optimização não linear sem restrições 5 Método de Segurança de Newton 6 Método quasi-newton 7 Optimização sem restrições com o MATLAB 8 Optimização não linear com restrições de igualdade 9 Optimização não linear com restrições de desigualdade 10 Optimização com restrições com o MATLAB A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

118 Optimização sem restrições com o MATLAB Funções MATLAB O MATLAB fornece um conjunto de funções para optimização linear e não linear das quais se destacam: fzero - Zero de funções unidimensionais (Scalar functions); fminbound - Optimização não linear com limites simples de funções unidimensionais (escalares). fminsearch - Optimização não linear sem restrições e derivadas; fminunc - Optimização não linear sem restrições A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

119 Optimização sem restrições com o MATLAB As opções para os algoritmos Um dos argumentos aceite por determinados algoritmos é o OPTIONS. Esse argumento é uma estrutura com diversos parâmetros que podem ser modificados pelo utilizador para controlar o algoritmo. A estrutura OPTIONS pode ser criada/actualizada através da função OPTIMSET. >> optimset Display: [ off on iter notify final ] MaxFunEvals: [ positive scalar ] MaxIter: [ positive scalar ] TolFun: [ positive scalar ] TolX: [ positive scalar ] GradObj: [ on {off} ] Hessian: [ on {off} ] Jacobian: [ on {off} ] A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

120 Optimização sem restrições com o MATLAB As opções para os algoritmos >> opt=optimset( display, iter ); >> fzero(g,1.1,opt) Search for an interval around 1.1 containing a sign change: Func-count a f(a) b f(b) Procedure initial i search search search Search for a zero in the interval [0.6022, ]: Func-count x f(x) Procedure initial e-017 interpolation Zero found in the interval [ , ] ans = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

121 Optimização sem restrições com o MATLAB Exemplo não linear Considere que um montante x i é afectado ao projecto i, para i = 1,..., n, sendo o retorno esperado desta carteira de projectos dado por f(x 1,..., x n ) = n (α i x i 1 2 β ix 2 i ) + 1 n 1 (x i x i+1 ) (n > 1). 2 i=1 i=1 Para n = 2, α 1 = 1, α 2 = 2, β 1 = β 2 = 1, pretende-se calcular x 1 e x 2 de modo a maximizar o retorno esperado. O problema é modelado como um problema de optimização sem restrições max f(x 1, x 2 ) ( x 1 x2 1 2 ) + ( 2x 2 x2 2 2 ) + x 1x 2 2 A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

122 Optimização sem restrições com o MATLAB A resolução Simples fminsearch >> g=inline( -(x(1)-x(1)^2/2+2*x(2)-x(2)^2/2+x(1)*x(2)/2) ); >> fminsearch(g,[1 1]) ans = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

123 Optimização sem restrições com o MATLAB Sintaxe A função fminsearch usa o algoritmo de Nelder-Mead. A sintaxe completa da função é: [X,FVAL,EXITFLAG,OUTPUT] = FMINSEARCH(FUN,X0,OPTIONS) X - A solução encontrada. FVAL - O valor da função em X. EXITFLAG - 1 se o algoritmo convergiu, 0 se atingiu o número máximo de iterações e -1 em caso de erro. OUTPUT - retorna uma estrutura com o número de iterações em OUTPUT.iterations, o número de cálculos da função objectivo em OUTPUT.funcCount, o nome do algoritmo em OUTPUT.algorithm e a mensagem de saída em OUTPUT.message. FUN - Nome da função a minimizar. X0 - Aproximação inicial. OPTIONS - Estrutura com opções para o algoritmo. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

124 Optimização sem restrições com o MATLAB A resolução Mais elaborada >> g=inline( -(x(1)-x(1)^2/2+2*x(2)-x(2)^2/2+x(1)*x(2)/2) ); >> opt=optimset( display, iter ); >> [x,fval,e,o]=fminsearch(g,[1 1],opt) Iteration Func-count min f(x) Procedure initial simplex expand contract outside contract inside reflect contract inside Optimization terminated: the current x satisfies the termination criteria using OPTIONS.TolX and F(X) satisfies the convergence criteria using OPTIONS.TolFun of A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

125 Optimização sem restrições com o MATLAB A resolução Mais elaborada x = fval = e = 1 o = iterations: 45 funccount: 86 algorithm: Nelder-Mead simplex direct search message: [1x196 char] A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

126 Optimização sem restrições com o MATLAB A resolução com fminunc >> [x,fval,e,o,g,h]=fminunc(g,[1 1],opt) Warning: Gradient must be provided for trust-region method; using line-search method instead. > In fminunc at 241 Gradient s Iteration Func-count f(x) Step-size infinity-nor e-006 Optimization terminated: relative infinity-norm of gradient less than options.tolfun. Computing finite-difference Hessian using user-supplied objective function. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

127 Optimização sem restrições com o MATLAB A solução com fminunc x = o = iterations: 5 funccount: 18 stepsize: 1 firstorderopt: e-006 algorithm: medium-scale: Quasi-Newton line search message: [1x85 char] g = 1.0e-005 * H = A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

128 Optimização sem restrições com o MATLAB A resolução com fminunc usando o gradiente retorno.m function [f,g] = retorno(x) f=-x(1)+x(1)^2/2-2*x(2)+x(2)^2/2-x(1)*x(2)/2; if nargout > 1 % gradiente g(1)=-1+x(1)-x(2)/2; g(2)=-2+x(2)-x(1)/2; end A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

129 Optimização sem restrições com o MATLAB A resolução com fminunc usando o gradiente >> opt=optimset( display, iter, GradObj, on ); >> [x,fval,e,o,g,h]=fminunc( retorno,[1 1],opt) Norm of First-order Iteration f(x) step optimality CG-iterat Optimization terminated: Relative function value changing by less than OPTIONS.TolFun. A. Ismael F. Vaz (UMinho) Optimização Bioinformática 07/ / 190

Bioinformática Avançada e Biologia de Sistemas Optimização

Bioinformática Avançada e Biologia de Sistemas Optimização Bioinformática Avançada e Biologia de Sistemas Optimização A. Ismael F. Vaz Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Mestrado em Bioinformática

Leia mais

Bioinformática Avançada e Biologia de Sistemas Optimização

Bioinformática Avançada e Biologia de Sistemas Optimização Bioinformática Avançada e Biologia de Sistemas Optimização A. Ismael F. Vaz Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Mestrado em Bioinformática

Leia mais

Métodos Numéricos. MEI - Logística e distribuição Programação quadrática sequencial 2004/2005. A. Ismael F. Vaz - Departamento de Produção e Sistemas

Métodos Numéricos. MEI - Logística e distribuição Programação quadrática sequencial 2004/2005. A. Ismael F. Vaz - Departamento de Produção e Sistemas Métodos Numéricos MEI - Logística e distribuição Programação quadrática sequencial 2004/2005 Métodos Numéricos - MEI 1 Motivação Considere-se o seguinte exemplo de um problema de minimização com restrições

Leia mais

Métodos Numéricos. MEI - Logística e distribuição Optimização não linear com restrições de igualdade 2004/2005

Métodos Numéricos. MEI - Logística e distribuição Optimização não linear com restrições de igualdade 2004/2005 Métodos Numéricos MEI - Logística e distribuição Optimização não linear com restrições de igualdade 2004/2005 Métodos Numéricos - MEI 1 Apresentação - Docentes Aulas teóricas: A. Ismael F. Vaz - aivaz@dps.uminho.pt

Leia mais

Métodos Numéricos C. A. Ismael F. Vaz 1. Escola de Engenharia Universidade do Minho Ano lectivo 2007/2008

Métodos Numéricos C. A. Ismael F. Vaz 1. Escola de Engenharia Universidade do Minho Ano lectivo 2007/2008 Métodos Numéricos C A. Ismael F. Vaz 1 1 Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano lectivo 2007/2008 A. Ismael F. Vaz (UMinho) MN C 2007/2008

Leia mais

Departamento de Matemática da Universidade de Coimbra. Licenciatura em Matemática. e B =

Departamento de Matemática da Universidade de Coimbra. Licenciatura em Matemática. e B = Departamento de Matemática da Universidade de Coimbra Optimização Numérica Licenciatura em Matemática Ano lectivo 2006/2007 Folha 1 1. Considere as matrizes A = [ 1 1 1 2 ] e B = [ 1 3 1 2 (a) Verifique

Leia mais

Métodos Numéricos I. A. Ismael F. Vaz. Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho

Métodos Numéricos I. A. Ismael F. Vaz. Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho Métodos Numéricos I A. Ismael F. Vaz Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Engenharia Mecânica Ano lectivo 2007/2008 A. Ismael F. Vaz (UMinho)

Leia mais

Optimização. Carlos Balsa. Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança

Optimização. Carlos Balsa. Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança Optimização Carlos Balsa balsa@ipb.pt Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança Matemática Aplicada - Mestrados Eng. Química e Industrial Carlos Balsa Matemática Aplicada

Leia mais

Bioinformática Avançada e Biologia de Sistemas Optimização

Bioinformática Avançada e Biologia de Sistemas Optimização Bioinformática Avançada e Biologia de Sistemas Optimização A. Ismael F. Vaz Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Mestrado em Bioinformática

Leia mais

Capítulo 5 - Optimização Não-Linear

Capítulo 5 - Optimização Não-Linear Capítulo 5 - Optimização Não-Linear balsa@ipb.pt Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança Mestrados em Engenharia da Construção Métodos de Aproximação em Engenharia

Leia mais

Métodos Numéricos C. A. Ismael F. Vaz 1. Escola de Engenharia Universidade do Minho Ano lectivo 2007/2008

Métodos Numéricos C. A. Ismael F. Vaz 1. Escola de Engenharia Universidade do Minho Ano lectivo 2007/2008 Métodos Numéricos C A. Ismael F. Vaz 1 1 Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Ano lectivo 2007/2008 A. Ismael F. Vaz (UMinho) MN C 2007/2008

Leia mais

MÉTODOS NEWTON E QUASE-NEWTON PARA OTIMIZAÇÃO IRRESTRITA

MÉTODOS NEWTON E QUASE-NEWTON PARA OTIMIZAÇÃO IRRESTRITA MÉTODOS NEWTON E QUASE-NEWTON PARA OTIMIZAÇÃO IRRESTRITA Marlon Luiz Dal Pasquale Junior, UNESPAR/FECILCAM, jr.marlon@hotmail.com Solange Regina dos Santos (OR), UNESPAR/FECILCAM, solaregina@fecilcam.br

Leia mais

Aplicações e métodos para programação semi-infinita e optimização multi-local

Aplicações e métodos para programação semi-infinita e optimização multi-local Aplicações e métodos para programação semi-infinita e optimização multi-local A. Ismael F. Vaz Departamento de Produção e Sistemas Escola de Engenharia, Universidade do Minho aivaz@dps.uminho.pt Edite

Leia mais

Métodos Numéricos I. A. Ismael F. Vaz. Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho

Métodos Numéricos I. A. Ismael F. Vaz. Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho Métodos Numéricos I A. Ismael F. Vaz Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Engenharia Mecânica Ano lectivo 2007/2008 A. Ismael F. Vaz (UMinho)

Leia mais

BCC465 - TÉCNICAS DE MULTI-OBJETIVO. Gladston Juliano Prates Moreira 22 de novembro de 2017

BCC465 - TÉCNICAS DE MULTI-OBJETIVO. Gladston Juliano Prates Moreira   22 de novembro de 2017 BCC465 - TÉCNICAS DE OTIMIZAÇÃO MULTI-OBJETIVO Aula 04 - Otimização Não-linear Gladston Juliano Prates Moreira email: gladston@iceb.ufop.br CSILab, Departamento de Computação Universidade Federal de Ouro

Leia mais

Optimização semi-infinita. Opção V. Licenciatura em Matemática Aplicada

Optimização semi-infinita. Opção V. Licenciatura em Matemática Aplicada Optimização semi-infinita Opção V Licenciatura em Matemática Aplicada EXERCÍCIOS TEÓRICO-PRÁTICOS Ano lectivo de 2006/2007 1 Condições de optimalidade - Optimização não linear finita 1.1 Detere e classifique,

Leia mais

Controle Ótimo - Aula 8 Equação de Hamilton-Jacobi

Controle Ótimo - Aula 8 Equação de Hamilton-Jacobi Controle Ótimo - Aula 8 Equação de Hamilton-Jacobi Adriano A. G. Siqueira e Marco H. Terra Departamento de Engenharia Elétrica Universidade de São Paulo - São Carlos O problema de controle ótimo Considere

Leia mais

UNIVERSIDADE FEDERAL DO ABC. 1 Existência e unicidade de zeros; Métodos da bissecção e falsa posição

UNIVERSIDADE FEDERAL DO ABC. 1 Existência e unicidade de zeros; Métodos da bissecção e falsa posição UNIVERSIDADE FEDERAL DO ABC BC1419 Cálculo Numérico - LISTA 1 - Zeros de Funções (Profs. André Camargo, Feodor Pisnitchenko, Marijana Brtka, Rodrigo Fresneda) 1 Existência e unicidade de zeros; Métodos

Leia mais

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu Programação Não Linear Aula 7: Programação Não-Linear - Funções de Várias variáveis Vector Gradiente; Matriz Hessiana; Conveidade de Funções e de Conjuntos; Condições óptimas de funções irrestritas; Método

Leia mais

Métodos Numéricos. A. Ismael F. Vaz. Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho

Métodos Numéricos. A. Ismael F. Vaz. Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho Métodos Numéricos A. Ismael F. Vaz Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Mestrado Integrado em Engenharia Mecânica Ano lectivo 2007/2008 A.

Leia mais

OPTIMIZAÇÃO NÃO LINEAR

OPTIMIZAÇÃO NÃO LINEAR OPTIMIZAÇÃO NÃO LINEAR Opção IV - LESI Método de penalidade para PSI 2004/2005 Optimização não linear - Opção IV - LESI 1 Formulação - Programação Semi-Infinita (PSI) min f(x) x R n s.t. g i (x, t) 0,

Leia mais

Optimização e Algoritmos (2004/2005)

Optimização e Algoritmos (2004/2005) Optimização e Algoritmos 2004/2005) Instituto Superior Técnico Engenharia Electrotécnica e de Computadores Série de Problemas 4 Minimização sem restrições algoritmos gradiente, Newton, quasi-newton BFGS)

Leia mais

Métodos Numéricos C Apresentação da Disciplina

Métodos Numéricos C Apresentação da Disciplina Métodos Numéricos C Apresentação da Disciplina Isabel Espírito Santo Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho iapinho@dps.uminho.pt http://www.norg.uminho.pt/iapinho/

Leia mais

Iury Steiner de Oliveira Bezerra

Iury Steiner de Oliveira Bezerra Algoritmos genéticos (Matlab) MATLAB Optimization Toolbox Iury Steiner de Oliveira Bezerra Tópicos Introdução Otimização de funções Optimization Toolbox Rotinas / Algoritmos Disponíveis Problemas de minimização

Leia mais

Capítulo 22 Otimização. Introdução ao MATLAB p.1/18

Capítulo 22 Otimização. Introdução ao MATLAB p.1/18 Capítulo 22 Otimização Introdução ao MATLAB p.1/18 Resumo do capítulo Neste capítulo, otimização refere-se ao processo de determinar os pontos onde uma função assume determinado valor, ou assume valores

Leia mais

Parte 1: Exercícios Teóricos

Parte 1: Exercícios Teóricos Cálculo Numérico SME0104 ICMC-USP Lista 5: Zero de Funções Lembrete (informação que vai estar disponível na prova) Método de Newton Método da Secante x k+1 = x k f(x k) f (x k ), x k+1 = x k J 1 F (x k

Leia mais

Matemática Computacional - Exercícios

Matemática Computacional - Exercícios Matemática Computacional - Exercícios 1 o semestre de 2007/2008 - Engenharia Biológica Teoria de erros e Representação de números no computador Nos exercícios deste capítulo os números são representados

Leia mais

Exercícios de MATEMÁTICA COMPUTACIONAL. 1 0 Semestre de 2009/2010 Resolução Numérica de Equações Não-Lineares

Exercícios de MATEMÁTICA COMPUTACIONAL. 1 0 Semestre de 2009/2010 Resolução Numérica de Equações Não-Lineares Exercícios de MATEMÁTICA COMPUTACIONAL Mestrado Integrado em Engenharia Biomédica 1 0 Semestre de 2009/2010 Resolução Numérica de Equações Não-Lineares 1. Considere a equação sin(x) e x = 0. a) Prove que

Leia mais

Exercícios TP/P. 1 Condições de optimalidade - Restrições de igualdade

Exercícios TP/P. 1 Condições de optimalidade - Restrições de igualdade Campus de Gualtar Escola de Engenharia 4710-057 Braga - P Departamento de Produção e Sistemas Exercícios TP/P Mestrado e curso de especialização em Engenharia Industrial - MEI Ramo Logística e Distribuição

Leia mais

Modelagem Computacional. Parte 8 2

Modelagem Computacional. Parte 8 2 Mestrado em Modelagem e Otimização - RC/UFG Modelagem Computacional Parte 8 2 Prof. Thiago Alves de Queiroz 2/2016 2 [Cap. 10 e 11] BURDEN, R. L.; FAIRES, J. D. Numerical Analysis (9th ed). Cengage Learning,

Leia mais

MÉTODOS NUMÉRICOS. ENGENHARIA e GESTÃO INDUSTRIAL

MÉTODOS NUMÉRICOS. ENGENHARIA e GESTÃO INDUSTRIAL UNIVERSIDADE DO MINHO MÉTODOS NUMÉRICOS ENGENHARIA e GESTÃO INDUSTRIAL EXERCÍCIOS PRÁTICOS Ano lectivo de 2005/2006 Métodos Numéricos - L.E.G.I. Exercícios práticos - CONUM Solução de uma equação não linear

Leia mais

Encontre um valor aproximado para 3 25 com precisão de 10 5 utilizando o método da bissecção.

Encontre um valor aproximado para 3 25 com precisão de 10 5 utilizando o método da bissecção. 1 a) Mostre que f (x) = x cos x possui uma raiz no intervalo [0, 1]. b) Prove que essa raiz é única. c) Sem executar o método, preveja o número de iterações que o algoritmo da bissecção utilizaria para

Leia mais

Capítulo 6 - Equações Não-Lineares

Capítulo 6 - Equações Não-Lineares Sistemas de Capítulo 6 - Carlos Balsa balsa@ipb.pt Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança 2 o Ano - Eng. Civil e Electrotécnica Carlos Balsa Métodos Numéricos 1/

Leia mais

Resolução do Exame Tipo

Resolução do Exame Tipo Departamento de Matemática e Engenharias Análise e Computação Numérica Resolução do Exame Tipo 1. O computador IBM 3090 possuía um sistema de vírgula flutuante F F(16, 5, 65, 62) (em precisão simples),

Leia mais

INSTITUTO SUPERIOR TÉCNICO Mestrado Integrado em Engenharia Física Tecnológica Ano Lectivo: 2007/2008 Semestre: 1 o

INSTITUTO SUPERIOR TÉCNICO Mestrado Integrado em Engenharia Física Tecnológica Ano Lectivo: 2007/2008 Semestre: 1 o INSTITUTO SUPERIOR TÉCNICO Mestrado Integrado em Engenharia Física Tecnológica Ano Lectivo: 27/28 Semestre: o MATEMÁTICA COMPUTACIONAL Exercícios [4 Sendo A M n (C) mostre que: (a) n A 2 A n A 2 ; (b)

Leia mais

INVESTIGAÇÃO OPERACIONAL. Programação Linear. Exercícios. Cap. IV Modelo Dual

INVESTIGAÇÃO OPERACIONAL. Programação Linear. Exercícios. Cap. IV Modelo Dual INVESTIGAÇÃO OPERACIONAL Programação Linear Exercícios Cap. IV Modelo Dual António Carlos Morais da Silva Professor de I.O. i Cap. IV - Modelo Dual - Exercícios IV. Modelo Problema Dual 1. Apresente o

Leia mais

Capítulo 4 - Equações Não-Lineares

Capítulo 4 - Equações Não-Lineares Capítulo 4 - Carlos Balsa balsa@ipb.pt Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança 2 o Ano - Eng. Civil, Química e Gestão Industrial Carlos Balsa Métodos Numéricos 1/

Leia mais

Mini curso básico. Gilberto A. S. Segundo Fábio Carmo. Programa de Educação Tutorial

Mini curso básico. Gilberto A. S. Segundo Fábio Carmo. Programa de Educação Tutorial Programa de Educação Tutorial Mini curso básico Universidade Federal do Espírito Santo Departamento de Informática Gilberto A. S. Segundo Fábio Carmo Agenda Apresentação Vetores e matrizes em matlab Comandos

Leia mais

Sabendo que f(x) é um polinômio de grau 2, utilize a formula do trapézio e calcule exatamente

Sabendo que f(x) é um polinômio de grau 2, utilize a formula do trapézio e calcule exatamente MÉTODOS NUMÉRICOS E COMPUTACIONAIS II EXERCICIOS EXTRAIDOS DE PROVAS ANTERIORES EXERCICIOS RESOLVIDOS - INTEGRACAO-NUMERICA - EDO. Considere a seguinte tabela de valores de uma função f x i..5.7..5 f(x

Leia mais

FOLHAS DE PROBLEMAS DE MATEMÁTICA II CURSO DE ERGONOMIA PEDRO FREITAS

FOLHAS DE PROBLEMAS DE MATEMÁTICA II CURSO DE ERGONOMIA PEDRO FREITAS FOLHAS DE PROBLEMAS DE MATEMÁTICA II CURSO DE ERGONOMIA PEDRO FREITAS Maio 12, 2008 2 Contents 1. Complementos de Álgebra Linear 3 1.1. Determinantes 3 1.2. Valores e vectores próprios 5 2. Análise em

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aula 7 Matlab Noções Básicas de MATLAB INTRODUÇÃO Cálculo Numérico 3/55 LAYOUT DO MATLAB Espaço destinado às variáveis veis que

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aula 10 04/2014 Matlab Métodos para zeros reais de funções Algoritmo do Método da Bissecção Seja f (x) contínua em [a, b] e tal

Leia mais

Cálculo Diferencial e Integral 2 Formas Quadráticas

Cálculo Diferencial e Integral 2 Formas Quadráticas Instituto Superior Técnico Departamento de Matemática Secção de Álgebra e Análise Cálculo Diferencial e Integral 2 Formas Quadráticas 1 Formas quadráticas Uma forma quadrática em R n é um polinómio do

Leia mais

EXERCICIOS RESOLVIDOS - INT-POLIN - MMQ - INT-NUMERICA - EDO

EXERCICIOS RESOLVIDOS - INT-POLIN - MMQ - INT-NUMERICA - EDO Cálculo Numérico EXERCICIOS EXTRAIDOS DE PROVAS ANTERIORES o sem/08 EXERCICIOS RESOLVIDOS - INT-POLIN - MMQ - INT-NUMERICA - EDO x. Considere a seguinte tabela de valores de uma função f: i 0 f(x i ).50

Leia mais

Capítulo 1 - Erros e Aritmética Computacional

Capítulo 1 - Erros e Aritmética Computacional Capítulo 1 - Erros e Carlos Balsa balsa@ipb.pt Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança 2 o Ano - Eng. Civil e Electrotécnica Carlos Balsa 1/ 26 Sumário 1 Definição

Leia mais

Lista de Exercícios de Métodos Numéricos

Lista de Exercícios de Métodos Numéricos Lista de Exercícios de Métodos Numéricos 1 de outubro de 010 Para todos os algoritmos abaixo assumir n = 0, 1,, 3... Bisseção: Algoritmo:x n = a+b Se f(a) f(x n ) < 0 então b = x n senão a = x n Parada:

Leia mais

Processamento de Imagens CPS755

Processamento de Imagens CPS755 Processamento de Imagens CPS755 aula 06 - sistemas não lineares Antonio Oliveira Ricardo Marroquim 1 / 38 laboratório de processamento de imagens tópicos RANSAC métodos iterativos (não-lineares) gradientes

Leia mais

Funções para Análise Numérica

Funções para Análise Numérica Análise Numérica LEC - Help 1 Funções para Análise Numérica Métodos Iterativos - Ficheiro bisect.m ( Kharab modificado ) bisect(f,a,b,tol,n) Bisection method for solving the nonlinear equation f(x)=0.

Leia mais

Vetores, Matrizes e Gráficos

Vetores, Matrizes e Gráficos Programação de Computadores I UFOP DECOM 2013 2 Aula prática 3 Vetores, Matrizes e Gráficos Resumo Nesta aula você irá utilizar vetores para resolver diversos tipos de problemas. Para expressar a solução

Leia mais

Otimização aplicada à Engenharia. Profa. Maíra Martins da Silva

Otimização aplicada à Engenharia. Profa. Maíra Martins da Silva Otimização aplicada à Engenharia Profa. Maíra Martins da Silva mairams@sc.usp.br 3373-8650 Objetivo Introduzir conceitos básicos de OTIMIZAÇÃO. Utilizar o MATLAB para explorar esses conceitos básicos.

Leia mais

Cálculo Diferencial e Integral II

Cálculo Diferencial e Integral II Instituto Superior Técnico Departamento de Matemática Secção de Álgebra e Análise Cálculo Diferencial e Integral II Ficha de trabalho 1 (versão de 6/0/009 (Esboço de Conjuntos. Topologia. Limites. Continuidade

Leia mais

Controlo óptimo de processos semi-contínuos com optimização por colónias de partículas

Controlo óptimo de processos semi-contínuos com optimização por colónias de partículas Controlo óptimo de processos semi-contínuos com optimização por colónias de partículas A. Ismael F. Vaz Departamento de Produção e Sistemas Escola de Engenharia, Universidade do Minho aivaz@dps.uminho.pt

Leia mais

Métodos Numéricos. A. Ismael F. Vaz. Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.

Métodos Numéricos. A. Ismael F. Vaz. Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho. Métodos Numéricos A. Ismael F. Vaz Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Mestrado Integrado em Engenharia Mecânica Ano lectivo 2007/2008 A.

Leia mais

Iury Steiner de Oliveira Bezerra

Iury Steiner de Oliveira Bezerra Algoritmos genéticos (Matlab) MATLAB Optimization Toolbox Iury Steiner de Oliveira Bezerra Msc. Iury Steiner Tópicos Introdução Otimização de funções Optimization Toolbox Rotinas / Algoritmos Disponíveis

Leia mais

. Os menores -2,0-1,5-1,0-0,5-5 0,0 0,5 1,0 1,5 2, = x 2y.. Os menores

. Os menores -2,0-1,5-1,0-0,5-5 0,0 0,5 1,0 1,5 2, = x 2y.. Os menores 1. Para cada uma das seguintes funções, verifique se ele é côncava, convexa ou nenhuma das duas, justificando em cada caso. (a) f(x, ) = 1x + (b) f(x) = 1x x (c) f(x, ) = x x 1 (a) = 1 = x = e = = = 1

Leia mais

Matemática Computacional - Exercícios

Matemática Computacional - Exercícios Matemática Computacional - Exercícios 2 o semestre de 2005/2006 - LEE, LEGI e LERCI Programação em Mathematica 1. Calcule no Mathematica e comente os resultados: (a) 7; (b) 7.0; (c) 14406; (d) cos π 6

Leia mais

OPTIMIZAÇÃO DE ESTRUTURAS

OPTIMIZAÇÃO DE ESTRUTURAS OPTIMIZAÇÃO DE ESTRUTURAS Alvaro F. M. Azevedo Email: alvaro@fe.up.pt Faculdade de Engenharia da Universidade do Porto 1 OBJECTIVO Minimizar o custo de uma solução estrutural As restrições são os requisitos

Leia mais

MÉTODOS NUMÉRICOS II ENGENHARIA POLÍMEROS EXERCÍCIOS TEÓRICO-PRÁTICOS

MÉTODOS NUMÉRICOS II ENGENHARIA POLÍMEROS EXERCÍCIOS TEÓRICO-PRÁTICOS MÉTODOS NUMÉRICOS II ENGENHARIA POLÍMEROS EXERCÍCIOS TEÓRICO-PRÁTICOS Ano lectivo de 2003/2004 1 1 Celina Pinto Leão, DPS (2004) Métodos Numéricos II - Eng a Polimeros Exercícios - Optimização não linear

Leia mais

Método dos gradientes (ou método de máxima descida)

Método dos gradientes (ou método de máxima descida) Método dos gradientes (ou método de máxima descida) Marina Andretta ICMC-USP 14 de setembro de 2010 Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 14 de setembro de 2010 1 / 16 Método dos gradientes

Leia mais

Exercícios de ANÁLISE E SIMULAÇÃO NUMÉRICA

Exercícios de ANÁLISE E SIMULAÇÃO NUMÉRICA Exercícios de ANÁLISE E SIMULAÇÃO NUMÉRICA Licenciaturas em Engenharia do Ambiente e Química 2 o Semestre de 2005/2006 Capítulo II Resolução Numérica de Equações Não-Lineares 1. Considere a equação sin(x)

Leia mais

exercícios de análise numérica II

exercícios de análise numérica II exercícios de análise numérica II lic. matemática aplicada e computação (4/5) aulas práticas - capítulo Exercício. Mostre que a soma dos polinómios base de Lagrange é a função constante. Exercício. Usando

Leia mais

Método de Newton truncado

Método de Newton truncado Método de Newton truncado Marina Andretta ICMC-USP 8 de outubro de 2018 Baseado no livro Numerical Optimization, de J. Nocedal e S. J. Wright. Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear

Leia mais

Bioinformática Avançada e Biologia de Sistemas Optimização

Bioinformática Avançada e Biologia de Sistemas Optimização Bioinformática Avançada e Biologia de Sistemas Optimização Mestrado em Bioinformática EXERCÍCIOS TEÓRICO-PRÁTICOS Ano lectivo de 2007/2008 Mestrado em Bioinformática - Optimização - A. Ismael F. Vaz -

Leia mais

Análise Matemática II - 1 o Semestre 2001/ o Exame - 25 de Janeiro de h

Análise Matemática II - 1 o Semestre 2001/ o Exame - 25 de Janeiro de h Instituto Superior Técnico Departamento de Matemática Secção de Álgebra e Análise Análise Matemática II - 1 o Semestre 2001/2002 2 o Exame - 25 de Janeiro de 2001-9 h Todos os cursos excepto Eng. Civil,

Leia mais

Introdução à Otimização de Processos. Prof. Marcos L Corazza Departamento de Engenharia Química Universidade Federal do Paraná

Introdução à Otimização de Processos. Prof. Marcos L Corazza Departamento de Engenharia Química Universidade Federal do Paraná Introdução à Otimização de Processos Prof. Marcos L Corazza Departamento de Engenharia Química Universidade Federal do Paraná Otimização Não-Linear Algumas definições e conceitos preliminares: 1. Derivadas

Leia mais

ISCTE/FCUL - Mestrado Matemática Financeira. Aula de Janeiro de 2009 Ano lectivo: 2008/2009. Diana Aldea Mendes

ISCTE/FCUL - Mestrado Matemática Financeira. Aula de Janeiro de 2009 Ano lectivo: 2008/2009. Diana Aldea Mendes ISCTE/FCUL - Mestrado Matemática Financeira Aula 4 15 de Janeiro de 2009 Ano lectivo: 2008/2009 Diana Aldea Mendes Departamento de Métodos Quantitativos, IBS - ISCTE Business School Gab. 207 AA, diana.mendes@iscte.pt,

Leia mais

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu Programação Não Linear com Restrições Aula 30: Programação Não-Linear - Funções de Várias Variáveis com Restrições (Prática) Ponto Regular; Multiplicadores de Lagrange e Condições Necessárias; Condições

Leia mais

Matemática Computacional. Exercícios. Teoria dos erros

Matemática Computacional. Exercícios. Teoria dos erros Matemática Computacional Exercícios 1 o Semestre 2014/15 Teoria dos erros Nos exercícios deste capítulo os números são representados em base decimal. 1. Represente x em ponto flutuante com 4 dígitos e

Leia mais

Determinação de Trajectória Óptima em Processos de Fermentação Semi-contínua

Determinação de Trajectória Óptima em Processos de Fermentação Semi-contínua Determinação de Trajectória Óptima em Processos de Fermentação Semi-contínua Alzira M. Teixeira da Mota Departamento de Matemática Instituto Superior de Engenharia do Porto, Instituto Politécnico do Porto

Leia mais

Pretende-se calcular uma aproximação para a menor raiz positiva da equação

Pretende-se calcular uma aproximação para a menor raiz positiva da equação 1 Prete-se calcular uma aproimação para a menor raiz positiva da equação, pelos métodos de Newton-Raphson e ponto fio. a) Localize um intervalo que contenha a menor raiz positiva da equação dada Determinar

Leia mais

Lista de Exercícios 1

Lista de Exercícios 1 Lista de Exercícios 1 MAT 01169 - Cálculo Numérico 2 de Agosto de 2015 As respostas de alguns exercícios estão no final da lista. Exercício 1. Converta para binário os números abaixo: (a) (102) 10 = (b)

Leia mais

Exercícios de ANÁLISE E SIMULAÇÃO NUMÉRICA

Exercícios de ANÁLISE E SIMULAÇÃO NUMÉRICA Exercícios de ANÁLISE E SIMULAÇÃO NUMÉRICA Licenciaturas em Engenharia do Ambiente e Química 2 o Semestre de 2005/2006 Capítulo IV Aproximação de Funções 1 Interpolação Polinomial 1. Na tabela seguinte

Leia mais

Métodos Numéricos - Notas de Aula

Métodos Numéricos - Notas de Aula Métodos Numéricos - Notas de Aula Prof a Olga Regina Bellon Junho 2007 Zeros de equações transcendentes e Tipos de Métodos polinomiais São dois os tipos de métodos para se achar a(s) raízes de uma equação:

Leia mais

Exame de Matemática II - Curso de Arquitectura

Exame de Matemática II - Curso de Arquitectura Exame de Matemática II - Curso de ruitectura o semestre de 8 7 de Junho de 8 esponsável Henriue Oliveira a Parte. Considere a seguinte função f! de nida por f(x ; x ; x ) (x cos (x ) ; x sin (x ) ; x ).

Leia mais

Aula 7. Noções Básicas de Octave

Aula 7. Noções Básicas de Octave CÁLCULO NUMÉRICO Aula 7 Noções Básicas de Octave COMANDOS BÁSICOS Cálculo Numérico 3/55 Símbolo >> Ao abrir o Octave, o símbolo >> aparece na Janela de Comandos. Ele indica que o programa está pronto para

Leia mais

6.Elaboração de algoritmos...13

6.Elaboração de algoritmos...13 Índice de conteúdos Capítulo 1. Computação Científica...1 1.Definição...1 2.Modelo genérico...2 3.Modelo matemático...2 4.Tipos de modelos matemáticos...3 5.Modelação matemática...5 5.1.Definição (formulação)

Leia mais

Lista 1 - Cálculo Numérico - Zeros de funções

Lista 1 - Cálculo Numérico - Zeros de funções Lista 1 - Cálculo Numérico - Zeros de funções 1.) De acordo com o teorema de Bolzano, se uma função contínua f(x) assume valores de sinais opostos nos pontos extremos do intervalo [a, b], isto é se f(a)

Leia mais

SME0300 Cálculo Numérico Aula 4

SME0300 Cálculo Numérico Aula 4 SME0300 Cálculo Numérico Aula 4 Maria Luísa Bambozzi de Oliveira marialuisa @ icmc. usp. br Sala: 3-241 Página: tidia-ae.usp.br 13 de agosto de 2015 Aula Passada Operações Aritméticas: Arredondamento a

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aula 10 04/2014 Scilab Métodos para zeros reais de funções Algoritmo do Método da Bissecção Seja f (x) contínua em [a, b] e tal

Leia mais

)XQGDPHQWRVGHSURJUDPDomRPDWHPiWLFD

)XQGDPHQWRVGHSURJUDPDomRPDWHPiWLFD )XQGDPHQWRVGHSURJUDPDomRPDWHPiWLFD,QWURGXomR A grande maioria dos problemas de engenharia pode ser solucionado de diferentes formas, uma vez que um número muito grande de soluções atende aos critérios

Leia mais

Notas de Aula de Cálculo Numérico

Notas de Aula de Cálculo Numérico IM-Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação Notas de Aula de Cálculo Numérico Lista de Exercícios Prof. a Angela Gonçalves 3 1. Erros 1) Converta os seguintes números

Leia mais

Forecasting e ti O i Otim Oti ização de ã d Carteiras com Matlab AULA 3

Forecasting e ti O i Otim Oti ização de ã d Carteiras com Matlab AULA 3 Forecasting e Otimização i de Carteiras com Matlab AULA 3 Guia de Estudo para Aula 03 Modelos Discretos Exercícios - Formulação de um modelo - Programação de modelos com for - A simulação de um modelo

Leia mais

MESTRADO EM MACROECONOMIA e FINANÇAS Disciplina de Computação. Aula 06. Prof. Dr. Marco Antonio Leonel Caetano

MESTRADO EM MACROECONOMIA e FINANÇAS Disciplina de Computação. Aula 06. Prof. Dr. Marco Antonio Leonel Caetano MESTRADO EM MACROECONOMIA e FINANÇAS Disciplina de Computação Aula 06 Prof. Dr. Marco Antonio Leonel Caetano 1 Guia de Estudo para Aula 06 Aplicação de AutoValores - Usando autovalor para encontrar pontos

Leia mais

Capítulo 04. Erros de arredondamento e Truncamento (Parcial)

Capítulo 04. Erros de arredondamento e Truncamento (Parcial) Capítulo 04 Erros de arredondamento e Truncamento (Parcial) Objetivos do capítulo Entender a diferença entre acurácia e precisão. Aprender como quantificar o erro. Aprender a usar estimativas de erros

Leia mais

Matemática Computacional Ficha 1: Capítulo /19

Matemática Computacional Ficha 1: Capítulo /19 Matemática Computacional Ficha 1: Capítulo 1 2018/19 I. Notação e revisão da matéria e x = x x (erro de x em relação a x) e x : erro absoluto de x δ x : erro relativo de x em relação a x, onde, para x

Leia mais

MÉTODOS NUMÉRICOS. ENGENHARIA ELECTRÓNICA INDUSTRIAL e de COMPUTADORES

MÉTODOS NUMÉRICOS. ENGENHARIA ELECTRÓNICA INDUSTRIAL e de COMPUTADORES UNIVERSIDADE DO MINHO MÉTODOS NUMÉRICOS ENGENHARIA ELECTRÓNICA INDUSTRIAL e de COMPUTADORES EXERCÍCIOS PRÁTICOS- 1 a parte Ano lectivo de 2004/2005 Exercícios práticos - CONUM Solução de uma equação não

Leia mais

Frequência / Exame de 1. a Época

Frequência / Exame de 1. a Época ISCTE - Instituto Universitário de Lisboa Licenciaturas: Gestão, Finanças e Contabilidade, Gestão e Engenharia Industrial, Marketing e Economia Frequência / Exame de 1. a Época OPTIMIZAÇÃO / MATEMÁTICA

Leia mais

x n+1 = 1 2 x n (2 valores) Considere a equação recursiva no modelo de Fisher, Wright e Haldane

x n+1 = 1 2 x n (2 valores) Considere a equação recursiva no modelo de Fisher, Wright e Haldane .9.8.7.6.5.4.3.2.1 1 22/11/211 1 o teste A41N1 - Análise Matemática - BIOQ Nome... N o... 1. (2 valores) Calcule a soma da série 9 1 + 9 1 + 9 1 +... 9 1 + 9 1 + 9 1 + = 9 1 1 + 1 1 + 1 1 + 1 «1 +... =

Leia mais

UNIVERSIDADE FEDERAL DE PERNAMBUCO Lista de Exercícios / Cálculo Numérico 1ª Unidade

UNIVERSIDADE FEDERAL DE PERNAMBUCO Lista de Exercícios / Cálculo Numérico 1ª Unidade 1) Analise as alternativas abaixo e marque V para verdadeiro e F para falso. No segundo caso, explique como as tornaria verdadeiras: ( ) O método das secantes é utilizado para solucionar um problema de

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aula 7 Matlab Noções Básicas de MATLAB INTRODUÇÃO Cálculo Numérico 3/55 Current Folder Window Local onde as operações podem ser

Leia mais

Capítulo 1 - Erros e Aritmética Computacional

Capítulo 1 - Erros e Aritmética Computacional Capítulo 1 - Erros e Carlos Balsa balsa@ipb.pt Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança 2 o Ano - Eng. Civil e Electrotécnica Carlos Balsa Métodos Numéricos 1/ 21 Sumário

Leia mais

Cálculo Numérico. Resumo e Exercícios P1

Cálculo Numérico. Resumo e Exercícios P1 Cálculo Numérico Resumo e Exercícios P1 Fórmulas e Resumo Teórico Parte 1 Aritmética de ponto flutuante Operar com o número de algarismos significativos exigido. Arredondar após cada conta. Método de escalonamento

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aula 7 Matlab Noções Básicas de MATLAB INTRODUÇÃO Cálculo Numérico 3/55 Current Folder Window Local onde as operações podem ser

Leia mais

2.12 Sistemas de equações não-lineares

2.12 Sistemas de equações não-lineares .1 Sistemas de equações não-lineares Problema.9 Usando o método de Horner, construa o algoritmo correspondente ao método de Newton para a determinação de zeros de funções polinomiais: p(x) = a nx n + a

Leia mais

EXAMES DE ANÁLISE MATEMÁTICA III

EXAMES DE ANÁLISE MATEMÁTICA III EXAMES DE ANÁLISE MATEMÁTICA III Jaime E. Villate Faculdade de Engenharia Universidade do Porto 22 de Fevereiro de 1999 Resumo Estes são alguns dos exames e testes da disciplina de Análise Matemática III,

Leia mais

Resoluções do pteste(matlab).pdf

Resoluções do pteste(matlab).pdf Resoluções do pteste(matlab).pdf 1. Resolução do pteste1 pelo fminsearch do MATLAB function [f] = pteste1(x) f=max((x(1)+x(2)),abs(x(1)*x(2))); >> x0=[1;1]; >> [x,fval,exitflag,output]=fminsearch('pteste1',x0)

Leia mais

Aproximação de uma função pelo polinómio de Taylor.

Aproximação de uma função pelo polinómio de Taylor. Aproximação de uma função pelo polinómio de Taylor. Funções relacionadas do Matlab: 1. Polinómios estas funções encontram-se no Interpolation and Polynomials toolbox função POLYVAL: avalia um polinómio

Leia mais

Equações não lineares

Equações não lineares DMPA IME UFRGS Cálculo Numérico Índice Raizes de polinômios 1 Raizes de polinômios 2 raizes de polinômios As equações não lineares constituídas por polinômios de grau n N com coeficientes complexos a n,a

Leia mais

Equações não lineares Universidade de Coimbra Professor João Soares 2008/2009

Equações não lineares Universidade de Coimbra Professor João Soares 2008/2009 Matemática Computacional Equações não lineares Universidade de Coimbra 13 pages Professor João Soares 2008/2009 1. Localize graficamente (à mão ou em matlab) as soluções das seguintes equações e demonstre,

Leia mais