277
Introdu¸ c˜ao`aOptimiza¸ c˜aoDinˆamica Delfim F. M. Torres http://www.mat.ua.pt/delfim Novembro de 2005

Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

Introducao a Optimizacao Dinamica

Delfim F. M. Torres

http://www.mat.ua.pt/delfim

Novembro de 2005

Page 2: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o
Page 3: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

“If you don’t do the best with what you have

happened to have got, you will never do the best

with what you should have had.”

—Rutherford Aris

Page 4: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o
Page 5: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

Conteudo

1 Optimizacao em espacos de dimensao finita 1

1.1 Funcoes escalares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Funcoes vectoriais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.3 Restricoes de igualdade e o metodo dos multiplicadores de Lagrange . . . . . 8

1.4 Restricoes de desigualdade e o Teorema de Karush-Kuhn-Tucker . . . . . . . 15

1.5 Programacao Dinamica em tempo discreto . . . . . . . . . . . . . . . . . . . . 18

1.5.1 Problema de percurso . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.5.2 Problema de investimento . . . . . . . . . . . . . . . . . . . . . . . . . 25

2 Calculo das Variacoes 35

2.1 Formulacao de alguns problemas variacionais . . . . . . . . . . . . . . . . . . 35

2.2 Problema fundamental e as equacoes necessarias de Euler-Lagrange . . . . . . 37

2.3 O metodo de Ritz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

2.4 Extensoes do problema fundamental . . . . . . . . . . . . . . . . . . . . . . . 49

2.4.1 Caso vectorial: n variaveis dependentes, n ≥ 1 . . . . . . . . . . . . . 49

2.4.2 Problemas com derivadas de ordem superior . . . . . . . . . . . . . . . 52

2.5 Problemas isoperimetricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

2.6 Condicoes necessarias de ordem superior . . . . . . . . . . . . . . . . . . . . . 61

2.7 Condicao suficiente de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

3 Controlo Optimo 69

3.1 Formulacao do problema e sua relacao com o Calculo das Variacoes . . . . . . 69

3.2 Abordagem Hamiltoniana e a condicao necessaria de Hestenes . . . . . . . . . 74

3.3 Condicao suficiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

i

Page 6: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

ii CONTEUDO

3.4 Programacao Dinamica em tempo contınuo . . . . . . . . . . . . . . . . . . . 83

3.5 Princıpio do Maximo de Pontryagin . . . . . . . . . . . . . . . . . . . . . . . 86

3.6 Problema de Newton da Resistencia mınima . . . . . . . . . . . . . . . . . . . 92

3.7 Outros formatos para o problema de Controlo Optimo . . . . . . . . . . . . . 100

3.7.1 O problema de Bolza do controlo optimo . . . . . . . . . . . . . . . . 100

3.7.2 Problemas isoperimetricos do Controlo Optimo e optimizacao parametrica103

3.7.3 O problema de tempo mınimo . . . . . . . . . . . . . . . . . . . . . . . 105

3.8 Leis de Conservacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

3.8.1 Metodo de Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

3.8.2 Metodo de Noether . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

3.8.3 Exemplos: leis de conservacao em Controlo Optimo . . . . . . . . . . 112

3.8.4 Exemplos: leis de conservacao no Calculo das Variacoes . . . . . . . . 125

4 Um problema da Economia 135

4.1 O problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

4.2 Determinacao da extremal via Calculo das Variacoes . . . . . . . . . . . . . . 137

4.3 Determinacao da extremal via Controlo Optimo . . . . . . . . . . . . . . . . . 138

4.4 Determinacao da extremal via Programacao Dinamica . . . . . . . . . . . . . 141

4.5 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

Apendices 145

A Exemplo da componente teorica dos exames 145

B Exemplo da componente pratica dos exames 147

C Matematica elementar em Maple 155

D Computacao Algebrica em Maple: Programacao Dinamica 251

D.1 Problema de percurso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

D.2 Problema de investimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

E Computacao Algebrica em Maple: Calculo das Variacoes 255

Page 7: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

CONTEUDO iii

F Computacao Algebrica em Maple: Controlo Optimo 257

Bibliografia 261

Indice Remissivo 265

Page 8: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o
Page 9: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

Capıtulo 1

Optimizacao em espacos de

dimensao finita

Existem pelo menos tres razoes para se resolverem problemas de optimizacao. A primeira e

pragmatica: e natural o Homem procurar a melhor maneira de utilizar os seus recursos, sendo

por isso frequentes os problemas de optimizacao na Economia, na Engenharia e na Gestao

de Processos. A segunda razao vem das propriedades do mundo que habitamos: muitas das

leis da natureza sao explicadas por princıpios de extremalidade. Finalmente, a terceira razao

e a curiosidade humana e o desejo de compreender. Todas estas razoes encontram-se bem

patentes na Historia da Matematica e do Homem.

Neste curso estamos essencialmente interessados na minimizacao (ou maximizacao) de

funcionais. A nocao de funcional (funcao cujos argumentos residem num espaco de dimensao

infinita) generaliza a de funcao (argumentos num espaco de dimensao finita). Comecamos,

por isso, por tratar o caso mais simples referente a minimizacao de funcoes. Como veremos, os

resultados obtidos em espacos Euclidianos serao uteis na abordagem posterior aos problemas

de minimizacao de funcionais, que constitui o amago do nosso estudo.

Assumiremos sempre, ao longo destas notas, a continuidade e diferenciabilidade necessarias

para que as formulacoes dos problemas, resultados e argumentos usados, facam sentido.

Comecamos com o caso de funcoes de uma unica variavel real.

1.1 Funcoes escalares

Definicao 1. A funcao f(x) tem um mınimo local em x0 se existir uma vizinhanca (x0 −d, x0 + d) na qual f(x) ≥ f(x0). Dizemos que x0 e ponto de mınimo global de f(x) em [a, b]

se f(x) ≥ f(x0) para todo o x ∈ [a, b].

1

Page 10: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

2 Optimizacao em espacos de dimensao finita

Teorema 2 (Condicao Necessaria – caso escalar; Teorema de Fermat). Se uma funcao con-

tinuamente diferenciavel f(x) tem mınimo local em x0, entao

f ′(x0) = 0 . (1.1)

Como comentario historico, salientamos que Fermat nao conhecia o conceito de derivada.

No entanto, numa sua carta de 1638 (na altura as revistas cientıficas, tal como as conhecemos

hoje, nao existiam e a correspondencia cientıfica era feita por intermedio de cartas) Fermat

explicou a ideia da “parte linear principal de uma funcao”, escrevendo que ela devia ser zero.

O conceito de derivada foi introduzido mais tarde por Newton e Leibniz.

O Teorema 2 e uma condicao necessaria, mas nao suficiente. Por exemplo, x = 0 nao e

minimizante nem maximizante (nao e ponto de mınimo nem de maximo) da funcao f(x) = x3,

mas f ′(0) = 0.

Exemplo 3 (Aplicacao do Teorema de Fermat ao problema de Euclides). Euclides, nos seus

“Elementos” (seculo IV a.C.), da-nos a solucao para um problema geometrico interessante.

Este e um exemplo de um problema de optimizacao que nao foi motivado por nenhuma

aplicacao e que nao explica nenhum fenomeno da natureza. Euclides foi apenas movido

pela sua imaginacao e curiosidade. O problema de Euclides pode ser formulado da seguinte

maneira:

Inscrever o paralelogramo ADEF de area maxima num triangulo dado ABC.

Seja a = AC; x = AF = DE; H a altura do triangulo ABC dado; e h a altura de DBE. Com

estas notacoes, tem-se xa = h

H . A area do paralelogramo e dada por x(H−h) = Ha x(a−x). O

problema reduz-se entao a encontrar o maximo da funcao f(x) = x(a−x), 0 < x < a. Existe

um unico ponto crıtico: f ′(x) = 0 ⇔ x = a2 . Resulta claro que x e maximizante:

f(x+ x) =(a

2+ x)(a

2− x)

=a2

4− x2 = f(x) − x2 .

Concluımos que F e o ponto medio do segmento AC.

O mınimo global em [a, b] pode ser atingido num ponto de mınimo local. Esta nao e,

contudo, a unica possibilidade: existem dois pontos, a e b, onde (1.1) pode nao ser satisfeita,

mas onde o mınimo global pode ocorrer.

Algoritmo 4 (encontrar o minimizante global de uma funcao real de valor real).

• Input: funcao continuamente diferenciavel f(x); intervalo [a, b].

• Output: ponto(s) de mınimo global.

Page 11: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

1.1 Funcoes escalares 3

1. Encontrar todos os pontos crıticos, i.e., determinar todos os xk para os quais f ′(xk) = 0.

2. Calcular f(a), f(b) e f(xk), para todos os xk encontrados no ponto anterior. Escolher

o(s) ponto(s) que conduzem ao menor valor da funcao.

O Teorema de Fermat e uma condicao necessaria de primeira ordem. As seguintes

condicoes para extremos de funcoes de uma variavel decorrem do Teorema de Taylor.

Teorema 5 (Condicao necessaria de ordem n). Se uma funcao f(·) tem mınimo (maximo)

no ponto x e e n vezes diferenciavel neste ponto com f ′(x) = · · · = f (n−1)(x) = 0, n ≥ 2,

entao f (n)(x) = 0 se n e ımpar; e f (n)(x) ≥ 0 (respectivamente f (n)(x) ≤ 0) se n e par.

Demonstracao. Seja x ponto de mınimo local com f ′(x) = · · · = f (n−1)(x) = 0. O desenvolvi-

mento em serie de Taylor de f(·) numa vizinhanca Vε (x) = x : |x− x| < ε de x permite-nos

entao escrever:

0 ≤ f(x) − f(x) =n∑

k=1

fk(x)

k!(x− x)k + rn(x, x)

=fn(x)

n!(x− x)n + rn(x, x) ,

(1.2)

com

limx→x

rn(x, x)

(x− x)n= 0 . (1.3)

Temos de mostrar duas coisas: (1) que se n e ımpar entao fn(x) = 0; (2) que se n e par entao

fn(x) ≥ 0.

Situacao (1). (n ımpar) Denotemos (x− x)n por y: y1n = x− x⇔ x = x+y

1n , y

1n ∈]−ε, ε[.

A funcao Ψ(y) = f(x+ y1n

︸ ︷︷ ︸

x

) = f(x) + fn(x)n! y + Rn (y, x), com limy→0

Rn(y,x)y = 0, tem

mınimo local para y = 0:

f(x) ≤ f(x) ⇔ Ψ(0) ≤ Ψ(y) .

Como Ψ(·) e uma funcao diferenciavel no ponto y = 0, Ψ′(0) = fn(x)n! , obtemos da

condicao necessaria de primeira ordem (Ψ′(0) = 0) a conclusao desejada: fn(x)n! = 0 ⇒

fn(x) = 0.

Situacao (2). (n par) Dividindo ambos os lados da desigualdade (1.2) por (x− x)n, x ∈Vε (x), x 6= x, obtemos ((x− x)n > 0 pois estamos a supor n par):

0 ≤ f(x) − f(x)

(x− x)n=f (n)(x)

n!+rn(x, x)

(x− x)n.

Concluımos, de (1.3) e da continuidade da funcao f (n)(·), que f (n)(x) ≥ 0.

Page 12: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

4 Optimizacao em espacos de dimensao finita

Teorema 6 (Condicao suficiente de ordem n). Seja n um inteiro maior ou igual que dois,

f(·) uma funcao com derivadas contınuas num aberto I ate a ordem n, e seja x um ponto

interior a I tal que f ′(x) = 0. Suponhamos ainda que f (n)(x) e a primeira das sucessivas

derivadas de f(·) que nao se anula em x. Entao:

1. Se n e ımpar, f(·) nao tem maximo nem mınimo local em x;

2. Se n e par:

(i) Se f (n)(x) > 0, entao f(·) tem um mınimo local em x;

(ii) Se f (n)(x) < 0, entao f(·) tem um maximo local em x.

Demonstracao. Estamos a assumir que a funcao f : I −→ R, com I aberto, se anula no ponto

x = x ate a derivada de ordem n− 1, inclusive, para n ≥ 2.

Como as derivadas da funcao f(·) sao contınuas em I ate a ordem n, entao f(·) admite

desenvolvimento em serie de Taylor, isto e, ∀x ∈ I,∃c estritamente entre x e x tal que:

f(x) = f (x) +f (n)(c)

n!(x− x)n

Devido a f (n) ser contınua e nao nula em x, ∃ε > 0 tal que f (n)(x) tem o sinal de f (n)(x),

para qualquer x ∈ Iε(x) ⊂ I; assim f (n)(x) tem o mesmo sinal de f (n)(c).

• Consideremos n par.

Primeiro caso. Suponhamos f (n)(x) > 0. Pelo que foi referido anteriormente, e

porque n e par, resulta que f (n)(c)n! (x− x)n > 0. Conclui-se que f(x) − f (x) ≥ 0,

verificando-se a igualdade apenas para x = x. Isto significa que f(·) tem mınimo

local em x.

Segundo caso. Suponhamos, agora, que f (n) (x) < 0. Pelos motivos referidos anteri-

ormente, resulta que f (n)(c)n! (x− x)n < 0. Entao, f(x) − f (x) ≤ 0, verificando-se

a igualdade, tal como no 1o caso, apenas para x = x. Logo f(·) tem maximo local

em x.

• Consideremos agora n ımpar.

Como n e ımpar, a quantidade (x− x)n tem diferentes sinais consoante seja x < x ou

x > x. Tendo em conta que ε e suficientemente pequeno, por continuidade, a derivada

de ordem n conserva em todo o ponto do intervalo Iε (x) o mesmo sinal que no ponto x.

Resulta daı que f(x)− f (x) assume sinais diferentes conforme x esteja a esquerda ou a

direita de x. Por exemplo, se f (n) (x) > 0, entao f(x) < f (x) se x < x e f(x) > f (x)

Page 13: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

1.1 Funcoes escalares 5

se x > x (de modo semelhante para f (n) (x) < 0). Por este motivo, a funcao f(·) nao

tem, neste caso, extremo em x = x.

Vamos agora considerar um exemplo que ilustra bem a utilidade do Teorema 6 na iden-

tificacao dos pontos de extremo: existem tres pontos crıticos, dois dos quais correspondem a

extremantes locais (um deles e minimizante, o outro maximizante), enquanto o terceiro nao

e nem ponto de mınimo nem ponto de maximo (ponto sela).

Exemplo 7. Consideremos a funcao f(x) = 17x

7 − 12x

6 + 25x

5. Existem tres candidatos

a mınimo ou maximo (pontos crıticos) dados pela condicao necessaria de primeira ordem

f ′(x) = 0 (Teorema 2):

f ′(x) = x6 − 3x5 + 2x4

f ′(x) = 0 ⇔ x = 0 ∨ x = 1 ∨ x = 2 .

Calculando as derivadas de ordem superior, ao longo de cada ponto crıtico e ate elas nao se

anularem, podemos, por intermedio do Teorema 6, estudar a natureza dos pontos crıticos:

f ′′(x) = 6x5 − 15x4 + 8x3

f ′′(1) = −1 < 0 ⇒ 1 e ponto de maximo local da funcao f(·)f ′′(2) = 16 > 0 ⇒ 2 e ponto de mınimo local da funcao f(·)

f ′′′(x) = 30x4 − 60x3 + 24x2

f (4)(x) = 120x3 − 180x2 + 48x

f (5)(x) = 360x2 − 360x+ 48

f ′′(0) = f ′′′(0) = f (4)(0) = 0 ∧ f (5)(0) = 48 ⇒ 0 nao e ponto de extremo da funcao f(·) .

Segue a analise do problema, feita no Sistema de Computacao Algebrica Maple:

> restart;

> f:=1/7*x^7-3/6*x^6+2/5*x^5;

f := 1/7x7 − 1/2x6 + 2/5x5

> f1:=diff(f,x);

f1 := x6 − 3x5 + 2x4

> sol:=solve(f1=0,x);

sol := 0, 0, 0, 0, 2, 1

> f2:=diff(f1,x);

f2 := 6x5 − 15x4 + 8x3

> subs(x=1,f2);

Page 14: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

6 Optimizacao em espacos de dimensao finita

−1

> # Concluımos que para o ponto x=1 temos um maximo local

> subs(x=2,f2);

16

> # Concluımos que para o ponto x=2 temos um mınimo local

> subs(x=0,f2);

0

> f3:=diff(f2,x);

f3 := 30x4 − 60x3 + 24x2

> subs(x=0,f3);

0

> f4:=diff(f3,x);

f4 := 120x3 − 180x2 + 48x

> subs(x=0,f4);

0

> f5:=diff(f4,x);

f5 := 360x2 − 360x+ 48

> subs(x=0,f5);

48

> # Concluımos que para o ponto x=0 n~ao temos maximo nem mınimo local

> plot(f,x=-0.7..2.1);

x

21,510

-0,2

0,5

-0,4

-0,6

-0,8

0-0,5

Page 15: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

1.2 Funcoes vectoriais 7

1.2 Funcoes vectoriais

Consideremos agora funcoes de n variaveis, n ≥ 1. Escrevemos na mesma f(x), mas agora

x ∈ Rn: f(x) = f (x1, . . . , xn).

Definicao 8. Dizemos que f(x) tem um ponto de mınimo global em x⋆ se a desigualdade

f(x⋆) ≤ f(x⋆ + h) (1.4)

for verificada para todo o h = (h1, . . . , hn) ∈ Rn. Dizemos que x⋆ e minimizante local ou

ponto de mınimo local se existir ρ > 0 tal que (1.4) e satisfeita sempre que

‖h‖ =√

h21 + · · · + h2

n < ρ .

A seguinte condicao necessaria de optimalidade e uma generalizacao do Teorema 2 ao caso

vectorial.

Teorema 9 (Condicao Necessaria – caso vectorial). Se uma funcao continuamente difer-

enciavel f(x), x ∈ Rn, tem mınimo local em x⋆, entao

∂f

∂xi

∣∣∣∣x=x⋆

= 0 i = 1, . . . , n . (1.5)

Demonstracao. Se x⋆ e um ponto de mınimo local da funcao f(x), entao f(x1, x⋆2, . . . , x

⋆n)

e funcao de uma variavel, x1, funcao esta que tem um mınimo local em x⋆1. Resulta, pelo

Teorema 2, que∂f(x1,x⋆

2,...,x⋆n)

∂x1

∣∣∣x1=x⋆

1

= 0. De modo semelhante, concluımos que as restantes

derivadas parciais de f sao zero em x⋆.

O problema de encontrar o minimizante global de uma funcao real de varias variaveis

num domınio fechado Ω e mais difıcil do que o correspondente problema para funcoes de uma

variavel:

(i) o conjunto de pontos que satisfazem (1.5) pode ter cardinalidade infinita para uma funcao

de varias variaveis (para n > 1);

(ii) a fronteira ∂Ω nao e mais um conjunto finito (como a, b) e o problema de encontrar o

mınimo em ∂Ω nao e simples porque a estrutura de tal conjunto pode ser complicada.

O algoritmo para encontrar o(s) ponto(s) de mınimo global de uma funcao f(x), x ∈ Rn,

depende quer da estrutura da funcao quer da estrutura do domınio.

Para simplificar o problema, evitando as dificuldades ligadas a fronteira, podemos consid-

erar o problema de mınimo num domınio aberto. Fazemos precisamente isso no Calculo das

Variacoes: o espaco onde procuraremos minimizantes sera um aberto.

Page 16: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

8 Optimizacao em espacos de dimensao finita

1.3 Restricoes de igualdade e o metodo dos multiplicadores

de Lagrange

Consideramos agora o problema de minimizar uma funcao f(x), x ∈ Rn, sujeita a re-

stricoes

gi(x) = 0 , i = 1, . . . ,m , x ∈ Rn , m < n . (1.6)

Se estivermos sob as condicoes do Teorema da Funcao Implıcita, entao e possıvel exprimir as

equacoes (1.6) na forma

xk = ψk (x1, . . . , xn−m) , k = n−m+ 1, . . . , n (1.7)

e, deste modo, reduzir o problema de minimizacao com restricoes a um problema sem re-

stricoes: substituindo (1.7) em f(x) obtemos um problema de minimizacao sem restricoes com

n −m incognitas: f (x1, . . . , xn−m, ψn−m+1 (x1, . . . , xn−m) , . . . , ψn (x1, . . . , xn−m)) −→ min.

No entanto, nem sempre e possıvel aplicar o Teorema da Funcao Implıcita (ver exemplos a

seguir) e, mesmo quando tal e possıvel, convem salientar que o Teorema da Funcao Implıcita

apenas assegura a existencia de solucoes (1.7), nao nos dando um meio para as obter. Na

pratica, encontrar as expressoes explıcitas (1.7) pode nao ser possıvel: no caso geral as re-

stricoes (1.6) sao nao-lineares e o metodo acima nao e passıvel de ser aplicado. Outro problema

e que mesmo quando e possıvel obter as expressoes (1.7), o facto de g(x) ser suave para todos

os valores de x nao assegura a suavidade das funcoes ψk. Por exemplo, considere-se a seguinte

funcao (n = 2, m = 1): g(x1, x2) = x21 + x2

2 − 1. Neste caso a funcao g(·, ·) e de classe C∞,

mas g(x1, x2) = 0 ⇔ x2 = ±√

1 − x21 e ψ2(x1) nao e suave para x1 = ±1: ψ′

2(x1) = ∓ x1√1−x2

1

.

Podemos, no entanto, resolver o problema com restricoes atraves de uma tecnica muito ele-

gante e util, conhecida como metodo dos multiplicadores de Lagrange, que evita os problemas

indicados. Este metodo baseia-se na introducao da chamada funcao de Lagrange, atraves da

qual as m restricoes g(x) sao juntas a funcao f(x) atraves de multiplicadores λj , j = 1, . . . ,m.

Os xi, i = 1, . . . , n, e os λj , j = 1, . . . ,m, sao depois tratados como variaveis independentes,

sem restricoes. As condicoes necessarias resultantes formam um sistema de n+m equacoes,

nas n+m incognitas xi e λj .

Proposicao 10. Sejam f : Rn → R e g : Rn → Rm, n > m, duas funcoes continuamente

diferenciaveis. Se x⋆ for minimizante local do problema

f(x) −→ min ,

g(x) = 0 ,

Page 17: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

1.3 Restricoes de igualdade e o metodo dos multiplicadores de Lagrange 9

e

rank [∇g(x),∇f(x)]T =

[∂g

∂x,∂f

∂x

]T

=

[∂g1∂x

, . . . ,∂gm∂x

,∂f

∂x

]T

=

∂g1∂x1

· · · ∂g1∂xn

.... . .

...∂gm

∂x1· · · ∂gm

∂xn∂f∂x1

· · · ∂f∂xn

≤ rank∇g(x) ,

(1.8)

entao existem constantes λj, j = 1, . . . ,m, tais que funcao de Lagrange L,

L (x1, . . . , xn, λ1, . . . , λm) = f(x) +m∑

j=1

λjgj(x)

= f(x) + λ · g(x) ,

satisfaz(∂L∂x ,

∂L∂λ

)= 0, i.e. ∇ (f(x⋆) + λ · g(x⋆)) = 0 e g(x⋆) = 0:

∂f(x⋆)

∂xi+

m∑

j=1

λj∂gj(x

⋆)

∂xi= 0 , i = 1, . . . , n , (1.9)

gj(x⋆) = 0 , j = 1, . . . ,m . (1.10)

Observacao 11. Usamos o termo Ingles rank para a caracterıstica de uma matriz, por ser essa

tambem a designacao do respectivo comando Maple (cf. a seccao de matrizes do Apendice C).

Demonstracao. A demonstracao e simples: a condicao (1.8) significa que ∇f e linearmente de-

pendente do conjunto de vectores ∇gk, k = 1, . . . ,m, ou seja, existem constantes λ1, . . . , λm

tais que ∇f = −∑mk=1 λk∇gk.

Exemplo 12 (n = 3, m = 2). Sejam f(x) = f(x1, x2, x3) =x232 − x1x2, g1(x) = x2

1 + x2 − 1 e

g2(x) = x1+x3−1. O exercıcio consiste entao em determinar os pontos crıticos (os candidatos

a mınimo ou maximo) do problema

x23

2− x1x2 −→ extr ,

x21 + x2 − 1 = 0 ,

x1 + x3 − 1 = 0 ,

onde extr significa minimizar ou maximizar. Comecamos por notar que a hipotese (1.8) e

satisfeita para todo o x ∈ R2:

∇g(x) = [∇g1(x),∇g2(x)]T =

2x1 1

1 0

Page 18: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

10 Optimizacao em espacos de dimensao finita

que tem caracterıstica 2 independentemente do valor x1. A condicao necessaria dada pela

Proposicao 10 da-nos um sistema de 5 equacoes a 5 incognitas x1, x2, x3, λ1 e λ2:

−x2 + 2λ1x1 + λ2 = 0 ,

−x1 + λ1 = 0 ,

x3 + λ2 = 0 ,

x21 + x2 − 1 = 0 ,

x1 + x3 − 1 = 0 .

Este sistema e facilmente resolvido em Maple:

> f := (x[3]^2)/2 - x[1]*x[2]:

> g[1] := x[1]^2 + x[2] - 1:

> g[2] := x[1] + x[3] - 1:

> L := f + lambda[1]*g[1]+lambda[2]*g[2]:

> sistema := seq(diff(L,x[i])=0,i=1..3),seq(diff(L,lambda[j])=0,j=1..2);

−x2 + 2λ1x1 + λ2 = 0,−x1 + λ1 = 0, x3 + λ2 = 0, x1

2 + x2 − 1 = 0, x1 + x3 − 1 = 0

> pc := solve(sistema);

λ2 = −2, λ1 = −1, x2 = 0, x1 = −1, x3 = 2 , λ2 = −1/3, λ1 = 2/3, x2 = 5/9, x1 = 2/3, x3 = 1/3

Temos entao dois pontos crıticos:

x⋆1 = (x1, x2, x3, λ1, λ2) = (−1, 0, 2,−1,−2) ,

x⋆2 = (x1, x2, x3, λ1, λ2) =

(2

3,5

9,1

3,2

3,−1

3

)

.

A condicao (1.8) nao e conveniente em termos praticos, salvo no caso em que n = 2 e

m = 1:f(x, y) −→ min ,

g(x, y) = 0 ,(1.11)

onde f, g : R2 → R sao funcoes suaves (f , g ∈ C1). A restricao g(x, y) = 0 define implicita-

mente uma curva γ ⊂ R2. Se impusermos a condicao ∇g(x, y) 6= 0, a curva γ e suave: esta

bem definido o vector tangente a curva em cada ponto. A curva γ pode ser representada

parametricamente por uma funcao vectorial suave r(t) = (x(t), y(t)), t ∈ I ⊆ R, tal que

r′(t) 6= 0 ∀ t ∈ I. A condicao necessaria para f ter um mınimo local em γ da-nos:

d

dtf (x(t), y(t)) = 0 ⇔ ∂f

∂xx(t) +

∂f

∂yy(t) = 0 . (1.12)

Page 19: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

1.3 Restricoes de igualdade e o metodo dos multiplicadores de Lagrange 11

Por outro lado, uma vez que g (x(t), y(t)) = 0 para todo o (x(t), y(t)) ∈ γ, temos tambem:

d

dtg (x(t), y(t)) = 0 ⇔ ∂g

∂xx(t) +

∂g

∂yy(t) = 0 , ∀ t ∈ I . (1.13)

A condicao ∇g(x, y) 6= 0 implica que em todo o ponto da curva γ pelo menos uma das

derivadas ∂g∂x ou ∂g

∂y e nao nula. Admitamos, sem perda de generalidade, que ∂g∂y 6= 0. Entao

a equacao (1.13) implica que

y(t) = −gxx(t)gy

, (1.14)

onde gx = ∂g∂x e gy = ∂g

∂y , e, consequentemente, (1.12) pode ser escrita como

x(t)

gy(fxgy − fygx) = 0 . (1.15)

Uma vez que r′(t) = (x(t), y(t)) 6= 0, x(t) e y(t) nao podem ser ambos nulos e, por (1.14),

x(t) 6= 0 (x(t) = 0 ⇒ y(t) = 0). A equacao (1.15) implica entao que

∂f

∂x

∂g

∂y− ∂f

∂y

∂g

∂x= 0 ⇔ ∇f ×∇g = 0 , (1.16)

onde × denota o produto externo. Relembramos que dados dois vectores v e w de R2

|v × w| = |v||w| sin(φ) ,

onde φ representa o angulo entre v e w. A equacao (1.16) diz-nos entao que ∇f e paralelo a

∇g (i.e., φ = 0 ⇒ sin(φ) = 0): existe uma constante −λ tal que

∇f = −λ∇g ⇔ ∇ (f + λg) = 0 .

A constante λ e o multiplicador de Lagrange. Acabamos de demonstrar o seguinte resultado.

Proposicao 13. Sejam f : R2 → R e g : R2 → R duas funcoes continuamente diferenciaveis.

Se (x⋆, y⋆) for minimizante local do problema

f(x, y) −→ min ,

g(x, y) = 0 ,

e ∇g(x⋆, y⋆) 6= 0, entao existe um numero real λ tal que

∇L(x, y, λ) = 0 ,

onde a funcao de Lagrange L e definida por L(x, y, λ) = f(x, y) + λg(x, y).

Observacao 14. A condicao (1.8) e a analoga da condicao ∇g(x, y) 6= 0 da Proposicao 13. De

facto, se ∇g(x, y) = 0 entao (1.8) so e satisfeita quando ∇f(x, y) = 0, ou seja, quando (x, y) e

simultaneamente ponto crıtico de f e g. Neste caso diz-se que (x, y) e minimizante anormal.

Page 20: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

12 Optimizacao em espacos de dimensao finita

O metodo dos multiplicadores de Lagrange, tal como formulado pela Proposicao 13, falha

se a condicao ∇g 6= 0 nao for satisfeita. Por outras palavras, a Proposicao 13 falha quando

o minimizante x⋆ e ponto crıtico de g (quando ∇g(x⋆) = 0). O metodo dos multiplicadores

de Lagrange pode, contudo, ser adaptado para cobrir estes casos. Vamos mostrar como,

considerando n = 2 e m = 1. O resultado generico sai como Corolario do Teorema de

Karush-Kuhn-Tucker que demonstramos em §1.4.

Quando (x, y) e minimizante local de (1.11) e ∇g(x, y) 6= 0, entao existe um λ tal que

∇ (f(x, y) + λg(x, y)) = 0. Dizemos que (x, y) e um minimizante normal . Se, em contraste,

(x, y) e minimizante local de (1.11) com ∇g(x, y) = 0, entao a existencia do multiplicador de

Lagrange λ nao e assegurada. Dizemos que (x, y) e um minimizante anormal .

Exemplo 15 (minimizante anormal). Consideremos o seguinte problema:

x2 − y2 −→ min ,

x2 + y2 = 0 .

A restricao x2 +y2 = 0 e apenas satisfeita por um ponto de R2, pelo que o problema e trivial:

quer se considere o problema de minimizacao quer o de maximizacao, a solucao e sempre

dada por (x, y) = (0, 0) (unico ponto admissıvel). Estamos perante um caso de minimizante

anormal: ∇g(x, y) = [2x, 2y]T que se anula para (x, y) = (0, 0).

Exemplo 16 (minimizante anormal). Consideremos o problema que se obtem trocando os

papeis de f e g no Exemplo 15:

x2 + y2 −→ min ,

x2 − y2 = 0 .

Como x2 + y2 ≥ 0 para todo o (x, y) ∈ R2, e obvio que (0, 0) e minimizante global. Tambem

aqui (0, 0) e minimizante anormal: ∇g(x, y) = [2x,−2y]T que se anula em (0, 0).

O fenomeno ilustrado pelos Exemplos 15 e 16 ocorre sempre que o minimizante (x, y) e

simultaneamente ponto crıtico de f(x, y) e g(x, y): sempre que ∇f(x, y) = 0 e ∇g(x, y) = 0.

Para minimizantes anormais temos g(x, y) = 0 e ∇g(x, y) = 0, pelo que o Teorema da

Funcao Implıcita nao pode ser invocado: nao ha garantia que a equacao g(x, y) = 0 pode ser

resolvida unicamente para x em termos de y ou para y em termos de x. Geometricamente, isto

significa que o conjunto de solucoes de g(x, y) = 0 nao define necessariamente uma curva suave

numa vizinhanca de (x, y). Podemos, no entanto, adaptar a Proposicao 13 (e a Proposicao 10)

para incluir o caso anormal, introduzindo um multiplicador adicional λ0. Suponhamos que

a funcao f tem um extremante local em (x, y) quando sujeita a restricao g = 0. Facamos

L = λ0f +λg. Se ∇g(x, y) 6= 0 entao o problema e normal, pelo que podemos escolher λ0 = 1

e usar a Proposicao 13: ∃ λ : ∇L = ∇ (f + λg) = 0. Suponhamos agora que o problema e

Page 21: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

1.3 Restricoes de igualdade e o metodo dos multiplicadores de Lagrange 13

anormal, i.e., g(x, y) = 0 ∧ ∇g(x, y) = 0. Entao a condicao ∇L(x, y) = 0 ⇔ λ0∇f + λ∇g =

λ0∇f , pelo que ela e ainda verdadeira se escolhermos λ0 = 0. Em qualquer dos cenarios

(normal ou anormal) podemos sempre encontrar numeros λ0 e λ tais que ∇L = 0.

Teorema 17 (metodo dos multiplicadores de Lagrange). Sejam f : Rn → R e g : Rn → Rm,

n > m, duas funcoes continuamente diferenciaveis. Se x⋆ for minimizante local do problema

f(x) −→ min ,

g(x) = 0 ,

entao existem constantes λ0 e λ = (λ1, . . . , λm), nao todas nulas, tais que

∇ (λ0 + λ · g(x)) = 0 .

Observacao 18. O facto de os multiplicadores nao poderem ser todos nulos, (λ0, λ) 6= 0, e

crucial: sem esta condicao o Teorema 17 era uma trivialidade e nao terıamos uma condicao

necessaria util.

Em termos praticos, e conveniente estudar os casos normais e anormais separadamente:

fazemos λ0 = 1 e determinamos os pontos crıticos normais; fazemos depois λ0 = 0 e determi-

namos os pontos crıticos anormais.

Exemplo 19 (minimizante anormal). Consideramos o seguinte problema:

x2 + y2 −→ min , (y − 1)3 − x2 = 0 .

Comecamos por estudar o caso normal fazendo λ0 = 1: L = x2 + y2 + λ((y − 1)3 − x2

). A

condicao necessaria de optimalidade conduz-nos ao seguinte sistema de tres equacoes a tres

incognitas:

2x− 2λx = 0 ,

2y + 3λ (y − 1)2 = 0 ,

(y − 1)3 − x2 = 0 .

O sistema e impossıvel. Da primeira equacao ∂L∂x = 0 resulta que x (1 − λ) = 0 ⇔ x =

0 ∨ λ = 1. Se x = 0 entao vem da terceira equacao que y = 1; mas y = 1 nao satisfaz

a segunda equacao. Se λ = 1 a segunda equacao toma a forma 2y + 3 (y − 1)2 = 0, que

e uma equacao impossıvel em R. Concluımos que nao existem minimizantes normais. O

minimizante, a existir, sera anormal. Estudemos entao o caso anormal (λ0 = 0 e λ 6= 0):

L = λ((y − 1)3 − x2

). Obtemos o sistema de tres equacoes a tres incognitas

−2λx = 0 ,

3λ (y − 1)2 = 0 ,

(y − 1)3 − x2 = 0 .

(1.17)

Page 22: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

14 Optimizacao em espacos de dimensao finita

A primeira equacao implica x = 0; a segunda y = 1; valores este que verificam a restricao

g(x, y) = 0 (satisfazem a terceira equacao do sistema). Temos entao que para λ 6= 0 o

sistema (1.17) admite uma unica solucao: o ponto (x, y) = (0, 1). E possıvel mostrar que

o ponto crıtico anormal (x, y) = (0, 1) e de facto minimizante do problema. A restricao

g(x, y) = (y − 1)3 − x2 = 0 nao define uma curva suave:

> with(plots):

> implicitplot((y-1)^3-x^2=0, x=-0.5..0.5, y=0..10, scaling=constrained);

1.1

1.2

1.3

1.4

1.5

1.6

y

–0.4 –0.2 0 0.2 0.4

x

Graficamente e muito facil de ver que (x, y) = (0, 1) e o ponto da curva definida pela equacao

(y − 1)3 − x2 = 0 que da menor valor a funcao f(x, y) = x2 + y2.

Exercıcio 1. Usando o metodo dos multiplicadores de Lagrange (Teorema 17), determine

os candidatos a extremante (candidatos a minimizante ou maximizante) para cada um dos

seguintes problemas:

(a) f(x1, x2, x3) = x31 + x3

2 + x33 −→ extr, sobre a esfera x2

1 + x22 + x2

3 = 4 (n = 3, m = 1).

(b) f −→ extr, com f a mesma funcao que na alınea (a), mas agora nao sob todos os pontos

da esfera x21 + x2

2 + x23 = 4: apenas sobre aqueles pontos da esfera que pertencem

simultaneamente ao plano x1 + x2 + x3 = 1 (n = 3, m = 2).

Exercıcio 2. Minimizar a funcao f(x1, x2) = x21 + x2

2 quando sujeita a restricao x41 + x4

2 = 1.

Exercıcio 3. Determine os pontos crıticos de f(x1, x2) onde

f(x1, x2) = (1 + a− bx1 − bx2)2 + (b+ x1 + ax2 − bx1x2)

2 ,

a e b constantes.

Page 23: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

1.4 Restricoes de desigualdade e o Teorema de Karush-Kuhn-Tucker 15

1.4 Restricoes de desigualdade e o Teorema de Karush-Kuhn-

Tucker

Consideramos agora o seguinte problema de Programacao Matematica em Rn:

f(x) −→ min ,

gi(x) = 0 , i = 1, . . . ,m ,

hj(x) ≤ 0 , j = 1, . . . , k ,

(1.18)

onde f : Rn → R, gi : Rn → R, i = 1, . . . ,m, e hj : Rn → R, j = 1, . . . , k, sao continuamente

diferenciaveis. Dizemos que o ponto x ∈ Rn e minimizante local do problema (1.18) se existir

ε > 0 tal que para todo o x que verifique as condicoes

|x− x| < ε ,

gi(x) = 0 , i = 1, . . . ,m ,

hj(x) ≤ 0 , j = 1, . . . , k ,

se tem f(x) ≤ f(x).

Sejam λ0 ∈ R, λ = (λ1, . . . , λm) ∈ Rm, µ = (µ1, . . . , µk) ∈ Rk. A funcao de Lagrange para

o problema (1.18) e definida por:

L (x, λ0, λ, µ) = λ0f(x) + λ · g(x) + µ · h(x) .

Teorema 20 (Teorema de Karush-Kuhn-Tucker). Se x e um minimizante local de (1.18),

entao existem constantes reais λ0 ≥ 0, λi, i = 1, . . . ,m e µj ≥ 0, j = 1, . . . , k, tais que:

1. ∇xL (x, λ0, λ, µ) = 0;

2. µjhj = 0, j = 1, . . . , k (condicoes complementares);

3.√

λ20 +

∑mi=1 λ

2i +

∑kj=1 µ

2j = 1 (os multiplicadores nao podem ser todos nulos).

Demonstracao. Seja γ < f(x) e F (x, γ) = Φ(x, γ) + |x− x|2, com

Φ(x, γ) =

√√√√(f(x) − γ)2+ +

m∑

i=1

gi(x)2 +k∑

j=1

(hj(x))2+ ,

onde usamos a notacao a+ = maxa, 0. E facil de ver que Φ(x, γ) ≥ 0 para todo o x ∈ Rn.

O Teorema de Weierstrass implica que F (x, γ) tem mınimo global num ponto xγ . Temos:

|xγ − x|2 ≤ Φ(xγ , γ) + |xγ − x|2 = F (xγ , γ) ≤ F (x, γ) = f(x) − γ . (1.19)

Page 24: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

16 Optimizacao em espacos de dimensao finita

Se Φ(xγ , γ) = 0, entao xγ verifica todas as restricoes do problema (1.18) e f(xγ) ≤ γ < f(x).

Como x e um minimizante local de (1.18), da desigualdade (1.19) obtemos Φ(xγ , γ) > 0

sempre que γ esta suficientemente proximo de f(x). Uma vez que Φ(xγ , γ) > 0, a funcao F

e diferenciavel em ordem a x no ponto xγ e segue-se do Teorema 9 que

∇xF (xγ , γ) = 0 . (1.20)

Fazendo

λγ0 =(f(xγ) − γ)+

Φ(xγ , γ), λγi =

gi(xγ)

Φ(xγ , γ), i = 1, . . . ,m , µγj =

(hj(xγ))+Φ(xγ , γ)

, j = 1, . . . , k ,

podemos reescrever (1.20) na seguinte forma equivalente:

λγ0∇f(xγ) +m∑

i=1

λγi∇gi(xγ) +k∑

j=1

µγj∇hj(xγ) + 2 (xγ − x) = 0 . (1.21)

Resulta claro que

λγ0 ≥ 0 , µγj ≥ 0 , j = 1, . . . , k ,

√√√√(λγ0)2 +

m∑

i=1

(λγi )2 +

k∑

j=1

(µγj )2 = 1 . (1.22)

As conclusoes pretendidas sao obtidas passando ao limite quando γ → f(x). Sem perda de

generalidade, λγ0 → λ0, λγi → λi, µ

γj → µj . Da desigualdade (1.19) temos xγ → x. Se

hj(x) < 0, entao hj(xγ) < 0, isto e, µγj = 0 para γ proximo de f(x). Passando ao limite em

(1.21) e (1.22) chegamos ao resultado pretendido.

Exemplo 21. Consideremos o seguinte problema:

x21 + x2

2 + x23 −→ min ,

x1 + x2 + x3 = 3 ,

2x1 − x2 + x3 ≤ 5 .

A funcao de Lagrange e entao dada por:

L (x1, x2, x3, λ0, λ, µ) = λ0

(x2

1 + x22 + x2

3

)+ λ (x1 + x2 + x3 − 3) + µ (2x1 − x2 + x3 − 5) .

O Teorema 20 (Teorema de Karush-Kuhn-Tucker) da-nos as condicoes necessarias: o gradiente

da funcao de Lagrange e nulo,

2λ0x1 + λ+ 2µ = 0 ,

2λ0x2 + λ− µ = 0 ,

2λ0x3 + λ+ µ = 0 ;

Page 25: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

1.4 Restricoes de desigualdade e o Teorema de Karush-Kuhn-Tucker 17

a condicao complementar µ (2x1 − x2 + x3 − 5) = 0; nao negatividade do multiplicador corre-

spondente a desigualdade, µ ≥ 0; e a nao trivialidade dos multiplicadores (os multiplicadores

nao podem ser todos nulos), λ20 + λ2 + µ2 6= 0. O problema nao admite caso anormal: λ0 = 0

implica λ = µ = 0. Logo podemos escolher λ0 = 12 . Se µ = 0, entao temos x1 = x2 = x3 = −λ.

Da condicao x1 + x2 + x3 = 3 encontramos x1 = x2 = x3 = 1. Consideremos agora o caso

em que µ > 0. Entao 2x1 − x2 + x3 − 5 = 0. Substituindo x1 = −λ − 2µ, x2 = −λ + µ e

x3 = −λ− µ no sistema

2x1 − x2 + x3 = 5 ,

x1 + x2 + x3 = 3 ,

obtemos

−2λ− 6µ = 5 ,

−3λ− 2µ = 3 ,

de onde tiramos que µ = − 914 < 0, o que e uma contradicao. Desde modo, o unico ponto

crıtico e (x1, x2, x3) = (1, 1, 1), com f(1, 1, 1) = 3.

O Maple tem um package de Optimizacao que permite a resolucao de problemas nao lin-

eares de Programacao Matematica em Rn, como o nosso problema (1.18), atraves do comando

NLPSolve. Para o nosso exemplo fazemos:

> with(Optimization):

> f := x1^2+x2^2+x3^2:

> g := x1+x2+x3-3=0:

> h := 2*x1-x2+x3 <= 5:

> NLPSolve(f, g, h);

[3., [x1 = 1., x2 = 1., x3 = 1.]]

Exercıcio 4. Determinar os pontos crıticos para o seguinte problema:

f(x1, x2, x3) = x3 +1

2

(

x21 + x2

2 +x2

3

10

)

−→ extr ,

x1 + x2 + x3 = r ,

xi ≥ 0 , i = 1, 2, 3 .

Exercıcio 5. Maximizar a funcao f(x1, x2, x3) = x1x2x3 quando sujeita as restricoes 2x1 +

2x2 + 4x3 ≤ a e xi ≥ 0, i = 1, 2, 3.

Exercıcio 6. Maximizar a funcao f(x1, x2) = 6x1 − 2x21 + 2x1x2 − 2x2

2 quando sujeita as

restricoes x1 + 2x2 ≤ 2, 1 + x1 − x22 ≥ 0, x1 ≥ 0 e x2 ≥ 0.

Exercıcio 7. Encontrar os pontos de mınimo e maximo de f(x1, x2, x3) = x31 + x3

2 + x33 na

regiao determinada pelas restricoes x21 + x2

2 + x23 ≤ 4, x1 + x2 + x3 ≤ 1.

Page 26: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

18 Optimizacao em espacos de dimensao finita

1.5 Programacao Dinamica em tempo discreto

A Programacao Dinamica foi desenvolvida por Richard Bellman em meados dos anos

cinquenta (seculo XX). A palavra Programacao refere-se ao facto dos problemas a resolver

exigirem planeamento, tomada de decisoes, ponderacao; Dinamica pelo facto de tais decisoes

serem tomadas em varias etapas, tipicamente variando com o tempo. Vamos dedicar a nossa

atencao a dois problemas tıpicos da Programacao Dinamica em tempo discreto: o problema

de percurso (“Stagecoach Problem”) e o problema de investimento.

De um modo muito simples, a ideia central consiste em dividir o problema em sub-

problemas. Comeca-se por um desses sub-problemas e, sequencialmente, logo apos se chegar

a sua solucao optima (a melhor solucao para esse problema), passa-se entao ao sub-problema

seguinte, encontrando-se tambem a sua solucao optima e assim sucessivamente. No final

determina-se a solucao optima de um sub-problema que, com a informacao dos sub-problemas

anteriormente resolvidos, nos conduz a solucao optima do nosso problema inicial.

Cada sub-problema corresponde, na linguagem da Programacao Dinamica, a uma etapa.

No final de cada etapa e tomada uma decisao. Em tempo discreto, que tratamos nesta

seccao, as tomadas de decisao (os controlos) sao feitos periodicamente, em cada etapa. No

caso contınuo (Seccao 3.4) as decisoes (os controlos) sao efectuadas ao longo do tempo (os

controlos sao funcoes). Dentro de cada etapa havera um ou mais estados (no caso contınuo

– ver Capıtulo 3 – as variaveis de estado sao funcoes). Existe um estado para cada possıvel

situacao em cada etapa. Uma decisao (controlo) tem como funcao alterar o estado corrente,

para um novo estado que dara inıcio a proxima etapa. Pretendemos tomar a melhor decisao

(descobrir os controlos optimos). A escolha da melhor decisao para a resolucao de um prob-

lema de programacao dinamica baseia-se no chamado Princıpio de Optimalidade ou Princıpio

de Bellman: “o controlo optimo tem a propriedade que, independentemente do estado inicial

e das decisoes ja tomadas, as restantes decisoes constituem a estrategia optima em relacao

ao estado resultante das decisoes anteriormente tomadas” [36, p. 5]. Neste curso ilustramos

o Princıpio de Bellman quer em tempo discreto, por intermedio do problema de percurso,

do problema de investimento, e do problema de controlo optimo discreto, quer em tempo

contınuo (Seccoes 3.4 e 4.4).

1.5.1 Problema de percurso

O problema de percurso e o exemplo por excelencia da Programacao Dinamica. O objectivo

e encontrar o percurso optimo desde um ponto de origem ate um ponto de destino, perante

uma variedade de diferentes percursos possıveis. Este problema e um dos mais utilizados

quando se pretende ilustrar a tecnica da Programacao Dinamica. Para maior facilidade de

compreensao, consideramos uma situacao concreta muito simples. A generalizacao do metodo

Page 27: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

1.5 Programacao Dinamica em tempo discreto 19

da Programacao Dinamica para uma situacao generica e considerada no Apendice D, onde

implementamos, em Maple, o metodo da Programacao Dinamica para um problema arbitrario

de percurso.

Problema 22. Suponhamos que uma pessoa tem que se deslocar da cidade 1 (que designare-

mos por ponto 1) para a cidade 6 (que designaremos por ponto 6), tendo como unico meio de

transporte uma diligencia alugada. Apesar de ter os pontos de partida e chegada definidos, a

pessoa pode escolher as cidades intermedias por onde vai passar, de acordo com a figura 1.1.

Ao percurso entre cada duas cidades esta associado um custo de seguro de vida (obrigatorio

Figura 1.1: Um problema de percurso

com o aluguer da diligencia), expresso numa determinada unidade monetaria (u.m.), igual-

mente representado no esquema 1.1. Verifica-se que quanto mais baixo for o custo do seguro

de vida mais segura e a viagem. Qual sera entao o caminho mais seguro a tomar e qual a

quantia do respectivo seguro de vida?

Antes de principiarmos com a resolucao do Problema 22 chamamos a atencao para uma

condicionante imposta neste problema: nunca se pode passar de um ponto a outro a que

esteja associado um numero menor (o que implica que os pontos estao ordenados).

Como vamos resolver este problema atraves da Programacao Dinamica, comecamos por

dividi-lo em sub-problemas atraves da divisao em etapas (isto e, associando a cada sub-

problema uma etapa). Em Programacao Dinamica e usual a resolucao dos sub-problemas por

retrocesso. Consideramos uma divisao em quatro etapas, conforme representado na figura 1.2.

Seja:

• i – a variavel de etapa, que varia entre 1 e 4;

• E(i) – o conjunto dos pontos existentes na etapa i (i ∈ 4, 3, 2, 1);

• c(i, j, k) – o custo do seguro de vida quando na etapa i, (i ∈ 4, 3, 2, 1) se passa do

ponto j (j ∈ E(i)) para o ponto k (k ∈ E(i+ 1));

• s(i, j) – o elemento do conjunto dos pontos (da etapa i + 1), para onde se deve ir

quando na etapa i (i ∈ 3, 2, 1) se esta no ponto j (j ∈ E(i)), de modo a que o custo

da trajectoria seja mınimo;

Page 28: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

20 Optimizacao em espacos de dimensao finita

Figura 1.2: Etapas para o problema de percurso da Fig. 1.1

ETAPA ESTADO PONTOS E(i) c(i, j, k), com k ∈ E(i− 1)

i j (em u.m.)

4 1 6 E(4) = 6 c(4, 6, 6) = 0

1 4 c(3, 4, 6) = 3

3 2 5 E(3) = 4, 5 c(3, 5, 6) = 4

1 c(2, 2, 4) = 7

2 2 c(2, 2, 5) = 7

2 3 E(2) = 2, 3 c(2, 3, 4) = 8

4 3 c(2, 3, 5) = 5

1 c(1, 1, 2) = 2

1 2 1 E(1) = 1 c(1, 1, 3) = 4

Tabela 1.1: Esquematizacao dos dados do Problema 22

• f(i, j, k) – o custo mınimo do seguro de vida quando a pessoa na etapa i (i ∈ 4, 3, 2, 1)esta no ponto j (j ∈ E(i)) e se pretende deslocar para um ponto k.

Com as notacoes introduzidas, os dados do Problema 22 podem ser esquematizados como na

Tabela 1.1.

Primeiro sub-problema (etapa 4)

Comecamos entao por resolver o sub-problema 1 (etapa 4). Dentro da etapa 4 temos

apenas um estado a considerar: a pessoa encontra-se no ponto 6 (chegou ao seu destino).

Neste caso particular, uma vez que a pessoa se encontra no ponto de chegada, nao ha decisoes

a tomar: o ponto de partida e o ponto de destino (ponto 6) e definimos a funcao de custo por

f(4, 6, 6) = c(4, 6, 6) = 0 . (1.23)

Page 29: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

1.5 Programacao Dinamica em tempo discreto 21

Segundo sub-problema (etapa 3)

Comecemos por formular o sub-problema: supondo que a pessoa se encontra num dos

pontos da etapa 3 (ponto 4 ou 5) e que quer percorrer o caminho associado a um custo

mınimo de seguro de vida para chegar ao ponto destino 6 (unico ponto da etapa 4), qual o

percurso a seguir em cada caso e qual o custo mınimo de seguro de vida associado a esse

percurso? Vamos entao resolver este sub-problema. Temos E(3) = 4, 5, isto e, na etapa

3 a pessoa pode encontrar-se num de dois pontos: no ponto 4 ou no ponto 5. Se a pessoa

se encontra no ponto 4 existe um unico percurso possıvel para chegar ao ponto 6, ao qual

esta associado um custo de 3 u.m. (c(3, 4, 6) = 3). Este percurso corresponde entao ao custo

mınimo quando se parte com a diligencia no ponto 4 e se pretende chegar ao ponto 6. Logo:

f(3, 4, 6) = c(3, 4, 6) = 3 u.m. e s(3, 4) = 6. Se a pessoa se encontra no ponto 5, de modo

semelhante, existe um unico percurso para chegar ao ponto 6, percurso este que tem associado

o custo c(3, 5, 6) = 4 u.m. O custo mınimo sera: f(3, 5, 6) = c(3, 5, 6) = 4 u.m. e o ponto

para onde se devera ir e s(3, 5) = 6. Resumindo, quando a pessoa se encontra na etapa 3 o

custo mınimo e dado pela funcao

f(3, i, 6) = c(3, i, 6) , com i ∈ E(3) (1.24)

e o proximo destino e

s(3, i) = 6,∀i ∈ E(3) . (1.25)

Na etapa 3, independentemente do ponto onde estivermos, temos apenas um caminho para

chegar ao ponto 6. Caso estejamos no ponto 4, o destino seguinte e o ponto 6 com um custo

mınimo de 3 u.m.; se estivermos no ponto 5, teremos que pagar 4 u.m. para chegar ao destino.

Terceiro sub-problema (etapa 2)

O problema e agora: quando a pessoa se encontra na etapa 2, podendo estar no ponto

2 ou 3, qual o percurso optimo correspondente ao custo mınimo que devera seguir, e qual o

valor do custo mınimo? Como E(2) = 2, 3, na etapa 2 a pessoa pode estar num de dois

pontos (ponto 2 ou ponto 3). Em ambos os casos podemos seguir dois percursos diferentes

de modo a chegar ao ponto 6: o percurso que passa pelo ponto 4 ou o que passa pelo ponto

5. Em qualquer dos casos, nesta etapa n = 2 o custo da viagem obtem-se atraves da soma

do custo do percurso entre o ponto actual i (i ∈ E(2)) e o proximo ponto j (j ∈ E(3)), com

o custo mınimo de viagem da etapa n+ 1 quando iniciada no ja referido j:

c(2, i, j) + f(3, j, 6) , para i ∈ E(2) e j ∈ E(3) .

Como queremos o custo mınimo, entao

f(2, i, 6) = minj∈E(3)

c(2, i, j) + f(3, j, 6) , i ∈ E(2) (1.26)

Page 30: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

22 Optimizacao em espacos de dimensao finita

e o ponto para onde devemos ir quando estamos no ponto i, i ∈ E(2), sera dado por

s(2, i) = k , se c(2, i, k) + f(3, k, 6) = f(2, i, 6) . (1.27)

Obviamente, k ∈ E(3). Para i = 2, atendendo a que E(2) = 4, 5, obtemos de (1.26) que

f(2, 2, 6) = minj∈4,5

c(2, 2, j) + f(3, j, 6)

= min c(2, 2, 4) + f(3, 4, 6), c(2, 2, 5) + f(3, 5, 6)= min 7 + 3, 7 + 4= min 10, 11 = 10 u.m.

Como 4 ∈ 4, 5 = E(3) e

c(2, 2, 4) + f(3, 4, 6) = 10 = f(2, 2, 6) ,

obtemos que o k da expressao (1.27) para i = 2 e 4:

s(2, 2) = 4 .

Se ponto 3 e o que corresponde a localizacao da pessoa (i = 3), E(3) = 4, 5, e da

expressao (1.26) vem

f(2, 3, 6) = minj∈4,5

c(2, 3, j) + f(3, j, 6)

= min c(2, 3, 4) + f(3, 4, 6), c(2, 3, 5) + f(3, 5, 6)= min 8 + 3, 5 + 4= min 11, 9 = 9 u.m.

Obtemos entao k = 5 da expressao (1.27): 5 ∈ 4, 5 = E(3),

c(2, 3, 5) + f(3, 5, 6) = 9 = f(2, 3, 6) ,

isto e, s(2, 3) = 5. Estamos em condicoes de dar resposta ao sub-problema considerado: se,

nesta segunda etapa, a pessoa estiver no ponto 2, entao ela deve optar pelo percurso que

passa pelo ponto 4 (s(2, 2) = 4) com destino ao ponto 6, pois este percurso esta associado

ao caminho de custo mınimo, com valor f(2, 2, 6) = 10 u.m. Se, pelo contrario, ela estiver

na cidade 3, para obter o custo mınimo de f(2, 3, 6) = 9 u.m. ela deve optar por passar pelo

ponto 5 (s(2, 3) = 5).

Ultimo sub-problema (etapa 1) e solucao do Problema 22

Qual o percurso que uma pessoa localizada num ponto de E(1), com destino ao ponto 6,

deve escolher, de modo a que o custo do seguro de vida associado a essa rota seja mınimo?

Qual o custo mınimo do seguro de vida?

Page 31: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

1.5 Programacao Dinamica em tempo discreto 23

ETAPA PONTO CUSTO MINIMO

i j f(i, j, 6) (em u.m.) s(i, j)

4 6 f(4, 6, 6) = 0

4 f(3, 4, 6) = 3 s(3, 4) = 6

3 5 f(3, 5, 6) = 4 s(3, 5) = 6

2 f(2, 2, 6) = 10 s(2, 2) = 4

2 3 f(2, 3, 6) = 9 s(2, 3) = 5

1 1 f(1, 1, 6) = 12 s(1, 1) = 2

Tabela 1.2: Resultados obtidos nas 4 etapas; solucao do Problema 22

Se a pessoa se encontra na etapa 1, tem obrigatoriamente que estar no ponto 1, pois este

e o unico ponto desta etapa: E(1) = 1. Encontrar a resposta ao sub-problema e encontrar

o valor das funcoes f(1, 1, 6) e s(1, 1):

f(1, 1, 6) = minj∈E(2)

c(1, 1, j) + f(2, j, 6)

= minj∈2,3

c(1, 1, j) + f(2, j, 6)

= min c(1, 1, 2) + f(2, 2, 6), c(1, 1, 3) + f(2, 3, 6)= min 2 + 10, 4 + 9= min 12, 13 = 12 u.m. ;

para k = 2,

c(1, 1, 2) + f(2, 2, 6) = 12 = f(1, 1, 6) ,

isto e, s(1, 1) = 2. Para mais facilmente compreendermos a resposta ao sub-problema, sinte-

tizamos na Tabela 1.2 os dados obtidos nas 4 etapas.

Atraves da analise da Tabela 1.2 concluımos que uma pessoa que esteja no ponto 1 e queira

ir ate ao ponto 6, pagando o mınimo possıvel de seguro de vida deve, a partir do ponto 1,

escolher o seguinte percurso: 2 (s(1, 1) = 2), 4 (s(2, 2) = 4) e, por fim, o ponto 6 (s(3, 4) = 6);

pagando o mınimo de 12 unidades monetarias.

Deste modo, dividindo o problema inicial em sub-problemas mais simples, acabamos por

chegar a um ultimo sub-problema de resolucao tambem mais simples (pois e resolvido em

funcao dos anteriores), que corresponde ao nosso problema inicial. A resposta ao Problema 22

e, entao, a resposta ao sub-problema da etapa 1.

Convem salientar que, se tivessemos resolvido o exercıcio por enumeracao exaustiva,

terıamos construıdo um total de quatro caminhos completos (1 → 2 → 4 → 6; 1 → 2 → 5 → 6;

1 → 3 → 4 → 6; 1 → 3 → 5 → 6), calculado o custo de cada um e so depois escolhido, de entre

todos, o de custo mınimo. Atraves da tecnica da Programacao Dinamica, so construımos dois

Page 32: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

24 Optimizacao em espacos de dimensao finita

caminhos completos (1 → 2 → 4 → 6; 1 → 3 → 5 → 6) e obtivemos logo o de custo mınimo.

Embora a diferenca nao pareca significativa, num exemplo com um numero total de pontos

tao reduzido, ela torna-se importantıssima quando o numero de pontos aumenta.

Se definirmos na etapa 4 a funcao custo mınimo como sendo nula, entao, para as restantes

etapas, podemos defini-la recursivamente. De acordo com as expressoes (1.23)–(1.27), pode-

mos definir a funcao recursiva de retrocesso, que se identifica com a melhor polıtica de decisao

(controlo optimo) como:

f(4, 6, 6) = 0 ,

f(i, j, 6) = mink∈E(i+1)

c(i, j, k) + f(i+ 1, k, 6), i ∈ 3, 2, 1, j ∈ E(i) .

Esta funcao e trivialmente generalizada para um problema arbitrario, com n etapas, onde se

pretende ir de um ponto inicial pi para um ponto final pf com “custo” optimo (mınimo ou

maximo):

f(n, pf , pf ) = 0 ,

f(i, j, pf ) = extrk∈E(i+1)c(i, j, k) + f(i+ 1, k, pf ), i ∈ n− 1, . . . , 1, j ∈ E(i) ,

onde extr significa min ou max, consoante se pretenda minimizar ou maximizar.

No Apendice D damos definicoes em Maple para a resolucao de um qualquer problema

de percurso. Por exemplo, para resolvermos o Problema 22 com o nosso programa Maple

comecamos por definir o problema:

> custos := [[1,2,2],[1,3,4],[2,4,7],[2,5,7],[3,4,8],[3,5,5],[4,6,3],[5,6,4]]:

> etapas := [[1],[2,3],[4,5],[6]]:

> problema := [custos, min, etapas]: # segundo argumento = min ou max

O custo mınimo e entao obtido por intermedio da funcao custoOptimo

> custoOptimo(problema);

12

enquanto o respectivo caminho e dado pela funcao solucaoOptima

> solucaoOptima(problema);

[1, 2, 4, 6]

Page 33: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

1.5 Programacao Dinamica em tempo discreto 25

INVESTIMENTO meio 1 meio 2 meio 3 meio 4

m.u.m. JORNAL REVISTA TV RADIO

0 0 0 0 0

1 1.20 2.00 1.30 1.15

2 2.70 2.80 2.90 2.50

3 4.20 4.65 4.95 4.20

4 6.00 6.60 7.00 6.00

5 7.65 8.75 8.50 8.10

6 9.30 10.80 12.30 10.50

7 11.06 12.95 15.05 12.60

8 12.80 15.20 18.00 15.20

9 14.40 17.10 20.70 23.00

10 16.00 19.00 24.00 23.50

Tabela 1.3: Lucros obtidos pelo investimento nos diferentes meios publicitarios

1.5.2 Problema de investimento

O problema de investimento e um problema de distribuicao. Este tipo de problemas

envolvem a distribuicao de recursos por actividades de modo a optimizar uma qualquer me-

dida de efectividade. Existem varios tipos de problemas de distribuicao, de acordo com a

interpretacao que dermos aos recursos que vamos distribuir, as actividades consideradas e a

medida de efectividade que queremos optimizar. No caso particular do exemplo que vamos

estudar, consideramos que o recurso disponıvel e dinheiro (que sera dado em milhares de

unidades monetarias – m.u.m.); as actividades consideradas serao programas de investimento

especıficos; e a medida de efectividade a optimizar corresponde a maximizacao do lucro total,

daı ser designado por problema de investimento.

Problema 23. Acabou de chegar ao mercado um novo produto e o fabricante esta ansioso

por determinar a quantidade que deve investir nos diversos meios publicitarios, de modo a

maximizar o seu lucro. Ha quatro tipos de meios publicitarios sob consideracao do fabricante:

jornal, revista, televisao e radio. A Tabela 1.3 mostra o lucro esperado quando se investe

em cada meio publicitario. E ainda de salientar que, por exemplo, um novo investimento de

10000 unidades monetarias num jornal, vai aumentar o lucro de 10000 para 16000, ou seja,

proporciona um retorno de 60% no investimento. Pretende-se saber:

1. Se estiverem disponıveis 10000 u.m. para publicidade, quanto devera ser investido em

cada meio publicitario de modo a maximizarmos o lucro total?

2. Se estiverem disponıveis somente 5000 u.m., como e que estes devem ser distribuıdos de

Page 34: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

26 Optimizacao em espacos de dimensao finita

modo a maximizarmos o lucro?

Vamos resolver o Problema 23 pelo metodo da Programacao Dinamica. Para isso par-

ticionamos o problema em 4 etapas, associando a cada uma delas um sub-problema. Na

primeira etapa consideramos que so existe um meio publicitario, por exemplo, o jornal, e cal-

culamos quanto devera ser investido nesse meio, quando possuımos um investimento inicial

de 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ou 10 m.u.m. Na segunda etapa alargaremos o numero de meios

publicitarios para dois, o jornal e a revista, e calculamos quanto se devera investir em ambos

os meios quando se tem para aplicar as mesmas quantias referidas anteriormente. Seguindo

este raciocınio, na etapa 3 teremos tres meios publicitarios (jornal, revista e tv) e na etapa 4

teremos os quatro meios publicitarios (jornal, revista, tv e radio) e um sub-problema identico

ao problema inicial. Consideremos a seguinte notacao:

• i – variavel de etapa (varia entre 1 e 4);

• m – designa o meio publicitario que estamos a utilizar (m varia entre 1 e 4, correspon-

dendo o meio publicitario 1 ao jornal; o meio publicitario 2 a revista; o meio publicitario

3 a tv; e o meio publicitario 4 ao radio);

• x – variavel que designa a quantidade de dinheiro a investir, em milhares de unidades

monetarias, m.u.m. (varia entre 0 e 10 m.u.m.);

• p(m,x) – lucro que se obtem ao se investirem x m.u.m. no meio publicitario m, com

m ∈ 1, 2, 3, 4 e x ∈ 0, 1, · · · , 10;

• l(i, x) – lucro maximo em m.u.m. na etapa i, quando se investem x m.u.m. nos meios

publicitarios existentes nessa etapa, onde i ∈ 1, 2, 3, 4 e x ∈ 0, 1, · · · , 10;

• q(m,x) – quantidade optima (em m.u.m.) a investir no meio publicitario m, m ∈1, 2, 3, 4, quando temos disponıveis para investimento nos meios publicitarios j, j ∈a ∈ N : a ≤ m, x m.u.m. (x ∈ 0, 1, · · · , 10).

Notamos que as funcoes p(m,x), com m ∈ 1, 2, 3, 4, sao todas estritamente crescentes.

Como queremos obter o lucro maximo, quanto maior for a quantidade investida maior sera

tambem o lucro obtido. Convem, entao, investirmos todo o capital disponıvel. Estamos a

supor que quando investimos em mais do que um meio publicitario, o lucro que obtemos ao

investir x no meio publicitario i e independente do lucro que obtemos ao investir y no meio

publicitario j, i, j ∈ 1, 2, 3, 4, com i 6= j e x, y ∈ 0, 1, · · · , 10 tal que 0 ≤ x+ y ≤ 10.

Primeiro sub-problema (etapa 1)

O sub-problema consiste em considerar que o fabricante dispoe apenas de um meio pub-

licitario disponıvel (o jornal, que consideramos o meio publicitario 1), e que possui entre 0 a

Page 35: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

1.5 Programacao Dinamica em tempo discreto 27

10 m.u.m. iniciais para aplicar totalmente no meio existente, ou seja, pode investir 0, 1, 2, 3,

4, 5, 6, 7, 8, 9 ou 10 m.u.m. Para cada quantidade inicial de m.u.m., que quantidade deve o

fabricante investir no meio publicitario 1, de modo a que o seu lucro seja maximo?

Consultando a Tabela 1.3, definimos a funcao p(1, x), que nos da o lucro proveniente de

investirmos x m.u.m., x ∈ 0, 1, · · · , 10, no meio publicitario 1, do seguinte modo: p(1, 0) =

0, p(1, 1) = 1.20, p(1, 2) = 2.70, p(1, 3) = 4.20, p(1, 4) = 6.00, p(1, 5) = 7.65, p(1, 6) = 9.30,

p(1, 7) = 11.06, p(1, 8) = 12.80, p(1, 9) = 14.40 e p(1, 10) = 16.00. Verificamos que esta funcao

e crescente e sempre superior ao capital investido. Logo, de modo a obtermos o maior lucro

possıvel, devemos investir toda a quantidade que temos disponıvel para tal. Vamos considerar

11 estados de acordo com a quantia inicial que temos para investir (de 0 a 10). A funcao que

nos devolve o lucro maximo, que se obtem ao investirmos x m.u.m. (x ∈ 0, 1, · · · , 10) no

meio publicitario 1, e dada por:

l(1, x) = maxy=0,··· ,x

p(1, y) , ∀x ∈ 0, 1, · · · , 10 .

A funcao que nos da a quantidade ideal a investir nos meios publicitarios existentes na etapa

1 (isto e, no meio publicitario 1), quando temos x m.u.m. para tal, e definida por q(1, x) = y,

com p(1, y) = l(1, x), y ∈ 0, · · · , x. A Tabela 1.4 sintetiza os resultados desta etapa 1. Ela

diz-nos que se o fabricante tiver uma quantia inteira x, entre 0 a 10 m.u.m., para investir

exclusivamente no meio publicitario 1, entao o melhor a fazer e investir a totalidade da

quantia: deve investir q(1, x) = x m.u.m. para obter um lucro maximo de l(1, x) m.u.m.

Segundo sub-problema (etapa 2)

A questao que agora se coloca e a seguinte. Se o fabricante tiver uma quantia inteira para

investir nos meios publicitarios 1 e 2, entre 0 e 10 m.u.m., que quantia deve investir em cada

um deles, de modo a obter o maior lucro possıvel?

A funcao p(2, x) devolve o lucro obtido quando se aplicam x m.u.m. no meio pub-

licitario 2. E definida de acordo com os dados da Tabela 1.3 referentes a este meio, ou

seja: p(2, 0) = 0, p(2, 1) = 2.00, p(2, 2) = 2.80, p(2, 3) = 4.65, p(2, 4) = 6.60, p(2, 5) = 8.75,

p(2, 6) = 10.80, p(2, 7) = 12.95, p(2, 8) = 15.20, p(2, 9) = 17.10 e p(2, 10) = 19.00. Tal como

ja foi referido, uma vez que as funcoes p(1, x) e p(2, x) sao estritamente crescentes para todo o

x ∈ 0, 1, · · · , 10, de modo a que o lucro seja maximo temos que investir, entre os dois meios

publicitarios, todo o capital disponıvel para esse fim. Tambem sabemos que podemos ter

uma quantia entre 0 e 10 para investir nestes dois meios publicitarios e que, para cada valor

a investir, poderemos ter uma (no caso em que temos somente 0 m.u.m.) ou mais hipoteses

de distribuicao. Pretendemos determinar para qual destas hipoteses o lucro e maximo, para

cada um dos 11 casos de investimento. Para cada quantia a investir, x, l(2, x) e o maior

lucro associado as diferentes distribuicoes que se podem fazer com x m.u.m. entre os meios

Page 36: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

28 Optimizacao em espacos de dimensao finita

x l(1, x) q(1, x)

ESTADO (m.u.m) (m.u.m) (m.u.m)

l(1, 0) = maxy=0p(1, y)1 0 = maxp(1, 0) = 0 q(1, 0) = 0

l(1, 1) = maxy=0,1p(1, y)2 1 = maxp(1, 0), p(1, 1) q(1, 1) = 1

= max0, 1.20 = 1.20

l(1, 2) = maxy=0,1,2p(1, y)3 2 = maxp(1, 0), p(1, 1), p(1, 2) q(1, 2) = 2

= max0, 1.20, 2.70 = 2.70

l(1, 3) = maxy=0,··· ,3p(1, y)4 3 = 4.20 q(1, 3) = 3

l(1, 4) = maxy=0,··· ,4p(1, y)5 4 = 6.00 q(1, 4) = 4

l(1, 5) = maxy=0,··· ,5p(1, y)6 5 = 7.65 q(1, 5) = 5

l(1, 6) = maxy=0,··· ,6p(1, y)7 6 = 9.30 q(1, 6) = 6

l(1, 7) = maxy=0,··· ,7p(1, y)8 7 = 11.06 q(1, 7) = 7

l(1, 8) = maxy=0,··· ,8p(1, y)9 8 = 12.80 q(1, 8) = 8

l(1, 9) = maxy=0,··· ,9p(1, y)10 9 = 14.40 q(1, 9) = 9

l(1, 10) = maxy=0,··· ,10p(1, y)11 10 = 16.00 q(1, 10) = 10

Tabela 1.4: Resultados da etapa 1

Page 37: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

1.5 Programacao Dinamica em tempo discreto 29

publicitarios 1 e 2. Como calcular esse lucro? Para um capital inicial de x, se a distribuicao

optima corresponder a investir y m.u.m. no meio publicitario 1 e z m.u.m. no meio pub-

licitario 2, y, z ∈ 0, 1, · · · , 10 e x = y + z, entao o lucro do investimento e dado pela soma

do lucro que se obtem ao investirmos y m.u.m. no meio publicitario 1 e z m.u.m. no meio

publicitario 2. A distribuicao optima x = y + z (a que conduz ao lucro maximo) e obtida

comparando todas as possıveis distribuicoes dos x m.u.m. pelos dois meios publicitarios. Uma

vez que ja sabemos o resultado optimo da etapa 1, l(1, x), e ja que temos a funcao de lucro

associada ao meio publicitario 2, p(2, x), entao o lucro maximo e obtido atraves da funcao:

l(2, x) = maxy=0,··· ,x

p(2, y) + l(1, x− y) , 0 ≤ x ≤ 10 .

A quantidade ideal a investir nos dois meios publicitarios sera:

q(2, x) = y , com p(2, y) + l(1, x− y) = l(2, x) ,

y ∈ 0, 1, · · · , x, e

q(1, x− y) = x− y .

Os resultados podem ser consultados na Tabela 1.5. A resposta ao sub-problema e entao: se

tivermos um valor x entre 0 a 10 m.u.m. para investir nos meios publicitarios 1 (jornal) e 2

(revista), entao devemos investir q(2, x) = y m.u.m. no meio publicitario 2 e q(1, x−y) = x−ym.u.m. no meio publicitario 1. O lucro maximo e dado por

l(2, x) = maxy=0,··· ,x

p(2, y) + l(1, x− y) ,

de acordo com a Tabela 1.5.

Terceiro sub-problema (etapa 3)

Se existirem 3 meios publicitarios (meio publicitario 1 o jornal, meio publicitario 2 a

revista, meio publicitario 3 a tv), como devera o fabricante distribuir entre eles uma quan-

tia compreendida entre 0 a 10 m.u.m. de modo a que o lucro retirado desse investimento

seja maximo? Este sub-problema resolve-se de modo semelhante ao sub-problema anterior

(etapa 2). Consideramos a funcao p(3, x) que devolve o lucro obtido quando se investem

x m.u.m. (x = 0, . . . , 10) no meio publicitario 3. De acordo com a Tabela 1.3 vem que

p(3, 0) = 0, p(3, 1) = 1.30, p(3, 2) = 2.90, p(3, 3) = 4.95, p(3, 4) = 7.00, p(3, 5) = 8.50,

p(3, 6) = 12.30, p(3, 7) = 15.05, p(3, 8) = 18.00, p(3, 9) = 20.70 e p(3, 10) = 24.00. O lucro

maximo que se pode obter ao investir uma quantidade x ∈ 0, · · · 10 m.u.m. na etapa 3 e

dado pela funcao

l(3, x) = maxy=0,··· ,x

p(3, y) + l(2, x− y)

Page 38: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

30 Optimizacao em espacos de dimensao finita

x l(2, x) q(2, x) q(1, x− y)

ESTADO (m.u.m) (m.u.m) (m.u.m) (m.u.m)

l(2, 0) = maxy=0p(2, y) + l(1, 0 − y)1 0 maxp(2, 0) + l(1, 0) q(2, 0) = 0 q(1, 0) = 0

= max0 + 0 = 0

l(2, 1) = maxy=0,1p(2, y) + l(1, 1 − y) q(1, 1 − 1)

2 1 = maxp(2, 0) + l(1, 1), p(2, 1) + l(1, 0) q(2, 1) = 1 = q(1, 0)

=max1.20,2.00=2.00 = 0

l(2, 2) = maxy=0,1,2p(2, y) + l(2, 1 − y) q(1, 2 − 1)

3 2 = max2.70, 3.20, 2.80 q(2, 2) = 1 q(1, 1)

= 3.20 = 1

l(2, 3) = maxy=0,··· ,3p(2, y) + l(1, 1 − y) q(1, 3 − 1)

4 3 = max4.20, 4.70, 4.00, 4.65 q(2, 3) = 1 q(1, 2)

= 4.70 = 2

l(2, 4) = maxy=0,··· ,4p(2, y) + l(1, 1 − y) q(1, 4 − 4)

5 4 = max6.00, 6.20, 5.50, 5.75, 6.60 q(2, 4) = 4 q(1, 0)

= 6.60 = 0

l(2, 5) = maxy=0,··· ,5p(2, y) + l(1, 1 − y) q(1, 5 − 5)

6 5 = max7.65, 8.00, 7.00, 7.35, 7.80, 8.75 q(2, 5) = 5 q(1, 0)

= 8.75 = 0

l(2, 6) = maxy=0,··· ,6p(2, y) + l(1, 1 − y) q(1, 6 − 6)

7 6 = max9.30, 9.65, 8.80, 8.85, 9.30, 9.95, 10.80 q(2, 6) = 6 q(1, 0)

= 10.80 = 0

l(2, 7) = maxy=0,··· ,7p(2, y) + l(1, 1 − y) q(1, 7 − 7)

8 7 = max11.06, 11.30, 10.45, 10.65, 10.80, 11.45, q(2, 7) = 7 q(1, 0)

12.00, 12.95 = 12.95 = 0

l(2, 8) = maxy=0,··· ,8p(2, y) + l(1, 1 − y) q(1, 8 − 8)

9 8 = max12.80, 13.06, 12.10, 12.30, 12.60, 12.95, q(2, 8) = 8 q(1, 0)

13.50, 14.15, 15.20 = 15.20 = 0

l(2, 9) = maxy=0,··· ,9p(2, y) + l(1, 1 − y) q(1, 9 − 9)

10 9 = max14.40, 14.80, 13.86, 13.95, 14.25, 14.75, q(2, 9) = 9 q(1, 0)

15.00, 15.65, 16.40, 17.10 = 17.10 = 0

l(2, 10) = maxy=0,··· ,10p(2, y) + l(1, 1 − y) q(1, 10 − 10)

11 10 = max16.00, 16.40, 15.60, 15.71, 15.90, 16.40 q(2, 10) = 10 q(1, 0)

16.80, 17.15, 17.90, 18.30, 19.00 = 19.00 = 0

Tabela 1.5: Resultados da etapa 2

Page 39: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

1.5 Programacao Dinamica em tempo discreto 31

e as quantidades optimas, em m.u.m., para se investir nos diferentes meios publicitarios sao

obtidas atraves das formulas:

q(3, x) = y , com p(3, y) + l(2, x− y) = l(3, x) , y ∈ 0, · · · , x ,q(2, x− y) = z , com p(2, z) + l(1, x− y − z) = l(2, x− y) , z ∈ 0, · · · , x− y ,q(1, x− y − z) = x− y − z .

Estes valores, para os 11 estados da etapa 3, estao representados na Tabela 1.6. De acordo

com ela, quando o fabricante tem um valor entre 0 e 10 m.u.m. para investir entre os meios

publicitarios 1 (jornal), 2 (revista) e 3 (tv), entao deve investir uma totalidade de 10 m.u.m.

distribuıdos do seguinte modo: no meio publicitario 3 deve investir q(3, x) m.u.m., no meio

publicitario 2 q(2, x−y) m.u.m. e no meio publicitario 1 q(1, x−y−z) m.u.m., obtendo entao

o lucro maximo de l(3, x) = maxy=0,··· ,xp(3, y) + l(2, x− y).

Ultimo sub-problema (etapa 4) e solucao do Problema 23

Nesta etapa ha quatro tipos de meios publicitarios (1 o jornal, 2 a revista, 3 a tv e 4 o

radio). Disponıvel um capital inteiro entre 0 e 10 m.u.m., quanto se deve investir em cada

um deles de modo a obtermos o maior lucro possıvel? Tendo em atencao a Tabela 1.3, a

funcao p(4, x), que nos da o lucro obtido quando se investem x m.u.m. (x = 0, . . . , 10) no

meio publicitario 4, fica definida por: p(4, 0) = 0, p(4, 1) = 1.15, p(4, 2) = 2.50, p(4, 3) = 4.20,

p(4, 4) = 6.00, p(4, 5) = 8.10, p(4, 6) = 10.50, p(4, 7) = 12.60, p(4, 8) = 15.20, p(4, 9) = 23.00

e p(4, 10) = 23.50. A funcao

l(4, x) = maxy=0,··· ,x

p(4, y) + l(3, x− y) ,

da-nos o lucro maximo que se pode obter ao investir x m.u.m., x = 0, . . . , 10, nos diferentes

meios publicitarios considerados. As quantidades optimas de investimento, em m.u.m., sao

obtidas do seguinte modo:

q(4, x) = y , com p(4, y) + l(3, x− y) = l(4, x) , y ∈ 0, · · · , x ,q(3, x− y) = w , com p(3, w) + l(2, x− y − w) = l(3, x− y) , w ∈ 0, · · · , x− y ,q(2, x− y − w) = z , com p(2, z) + l(1, x− y − w − z) = l(2, x− y − w) , z ∈ 0, · · · , x− y − w ,q(1, x− y − w − z) = x− y − w − z .

Tal como fizemos para as etapas anteriores, esquematizamos numa tabela (Tabela 1.7) o que

acontece em cada um dos 11 possıveis estados. Quando existem quatro meios publicitarios

e uma quantia para investimento entre 0 e 10 m.u.m., o lucro maximo e obtido da seguinte

maneira: investindo q(4, x) m.u.m. no meio publicitario 4; q(3, x − y) m.u.m. no meio

publicitario 3; q(2, x − y − w) m.u.m. no meio publicitario 2; e q(1, x − y − w − z) m.u.m.

Page 40: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

32 Optimizacao em espacos de dimensao finita

x l(3, x) q(3, x) q(2,x-y) q(1,x-y-z)

ESTADO (m.u.m) (m.u.m) (m.u.m) (m.u.m) (m.u.m)

l(3, 0) = maxy=0p(3, y) + l(2, 0 − y)1 0 = maxp(3, 0) + l(2, 0) q(3, 0) = q(2, 0) q(1, 0)

= max0 + 0 = max0 = 0 = 0 = 0 = 0

l(3, 1) = maxy=0,1p(3, y) + l(2, 1 − y)= maxp(3, 0) + l(2, 1 − 0), p(3, 1)+

2 1 +l(2, 1 − 1) = maxp(3, 0) + l(2, 1), p(3, 1)+ q(3, 1) = q(2, 1) =q(1,0)

+l(2, 0) = max0 + 2.00, 1.30 + 0 = 0 = 1 = 0

= max2.00, 1.30 = 2.00

l(3, 2) = maxy=0,1,2p(3, y) + l(2, 2 − y)= maxp(3, 0) + l(2, 2 − 0), p(3, 1)+

+l(2, 2 − 1), p(3, 2) + l(2, 2 − 2)3 2 = maxp(3, 0) + l(2, 2), p(3, 1) + l(2, 1), q(3, 2) = q(2, 1) = q(1, 0)

p(3, 2) + l(2, 0) = 1 = 1 = 0

= max3.20, 3.30, 2.90= 3.30

l(3, 3) = maxy=0,··· ,3p(3, y) + l(2, 3 − y)4 3 = max4.70, 4.50, 4.90, 4.95 q(3, 3) = q(2, 0) q(1,0)

= 4.95 = 3 = 0 = 0

l(3, 4) = maxy=0,··· ,4p(3, y) + l(2, 4 − y)5 4 = max6.60, 6.00, 6.10, 6.95, 7.00 q(3, 4) = q(2, 0) q(1,0)

= 7.00 = 4 = 0 = 0

l(3, 5) = maxy=0,··· ,5p(3, y) + l(2, 5 − y)6 5 = max8.75, 7.90, 7.60, 8.15, 9.00, 8.50 q(3, 5) = q(2, 1) q(1,0)

= 9.00 = 4 = 1 = 0

l(3, 6) = maxy=0,··· ,6p(3, y) + l(2, 6 − y)7 6 = max10.80, 10.05, 9.50, 9.65, q(3, 6) = q(2, 0) q(1, 0)

10.20, 10.50, 12.30 = 12.30 = 6 = 0 = 0

l(3, 7) = maxy=0,··· ,7p(3, y) + l(2, 7 − y)8 7 = max12.95, 12.10, 11.65, 11.55, q(3, 7) = q(2, 0) q(1, 0)

11.70, 11.70, 14.30, 15.05 = 15.05 = 7 = 0 = 0

l(3, 8) = maxy=0,··· ,8p(3, y) + l(2, 8 − y)9 8 = max15.20, 14.25, 13.70, 13.70, 13.60, q(3, 8) = q(2, 0) q(1, 0)

13.20, 15.50, 17.05, 18.00 = 18.00 = 8 = 0 = 0

l(3, 9) = maxy=0,··· ,9p(3, y) + l(2, 9 − y)10 9 = max17.10, 16.50, 15.85, 15.75, 15.75, q(3, 9) = q(2, 0) q(1,0)

15.10, 17.00, 18.25, 20.00, 20.70 = 20.70 = 9 = 0 = 0

l(3, 10) = maxy=0,··· ,10p(3, y)++l(2, 10 − y) = max19.00, 18.40, 18.10, q(3, 10) = q(2, 0) q(1, 0)

11 10 17.90, 17.80, 17.25, 18.90, 19.75, 21.20, = 10 = 0 = 0

22.70, 24.00 = 24.00

Tabela 1.6: Resultados da etapa 3

Page 41: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

1.5 Programacao Dinamica em tempo discreto 33

x l(4, x) q(4, x) q(3, x − y) q(2, x − y − w) q(1, x − y − w − z)

ESTADO (m.u.m) (m.u.m) (m.u.m) (m.u.m) (m.u.m) (m.u.m)

l(4, 0) = maxy=0p(4, y) + l(3, 0 − y)

1 0 = maxp(4, 0) + l(3, 0) q(4, 0) q(3, 0) 0 0

= max0 + 0 = max0 = 0 = 0 = 0

l(4, 1) = maxy=0,1p(4, y) + l(3, 1 − y) q(3, 1 − 0)

2 1 = maxp(4, 0) + l(3, 1), p(4, 1) + l(3, 0) q(4, 1) = q(3, 1) 1 0

= max2.00, 1.15 = 2.00 = 0 = 0

l(4, 2) = maxy=0,1,2p(4, y) + l(3, 2 − y)

3 2 = max3.30, 3.15, 2.50 q(4, 2) q(3, 2) 1 0

= 3.30 = 0 = 1

l(4, 3) = maxy=0,··· ,3p(4, y) + l(3, 3 − y)

4 3 = max4.95, 4.45, 4.50, 4.20 q(4, 3) q(3, 3) 0 0

= 4.95 = 0 = 3

l(4, 4) = maxy=0,··· ,4p(4, y) + l(3, 4 − y)

5 4 = max7.00, 6.10, 5.80, 6.20, 6.00 q(4, 4) q(3, 4) 0 0

= 7.00 = 0 = 4

l(4, 5) = maxy=0,··· ,5p(4, y) + l(3, 5 − y)

6 5 = max9.00, 8.15, 7.45, 7.50, 8.00, 8.10 q(4, 5) q(3, 5) 1 0

= 9.00 = 0 = 4

l(4, 6) = maxy=0,··· ,6p(4, y) + l(3, 6 − y)

7 6 = max12.30, 10.15, 9.50, 9.15, q(4, 6) q(3, 6) 0 0

9.30, 10.10, 10.50 = 12.30 = 0 = 6

l(4, 7) = maxy=0,··· ,7p(4, y) + l(3, 7 − y)

8 7 = max15.05, 13.45, 11.50, 11.20, q(4, 7) q(3, 7) 0 0

10.95, 11.40, 12.50, 12.60 = 15.05 = 0 = 7

l(4, 8) = maxy=0,··· ,8p(4, y) + l(3, 8 − y)

9 8 = max18.00, 16.20, 14.80, 13.20, 13.00, q(4, 8) q(3, 8) 0 0

13.05, 13.80, 14.60, 15.20 = 18.00 = 0 = 8

l(4, 9) = maxy=0,··· ,9p(4, y) + l(3, 9 − y)

10 9 = max20.70, 19.15, 17.55, 16.50, 15.00, q(4, 9) q(3, 0) 0 0

15.10, 15.45, 15.90, 17.20, 23.00 = 23.00 = 9 = 0

l(4, 10) = maxy=0,··· ,10p(4, y) + l(3, 10 − y)

= max24.00, 21.85, 20.50, 19.25, 18.30, q(4, 10) q(3, 1) 1 0

11 10 17.10, 17.50, 17.55, 18.50, 25.00, 23.50 = 9 = 0

= 25.00

Tabela 1.7: Resultados da etapa 4

Page 42: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

34 Optimizacao em espacos de dimensao finita

no meio publicitario 1. O lucro maximo e de l(4, x) = maxy=0,··· ,xp(4, y) + l(3, x − y),x = 0, · · · , 10.

Estamos agora aptos para responder as duas questoes colocadas pelo Problema 23. Se

estiverem disponıveis 10 m.u.m. para investir nos quatro meios publicitarios, de acordo com

a Tabela 1.7 o fabricante deve investir 0 m.u.m. no jornal (meio publicitario 1); 1 m.u.m.

na revista (meio publicitario 2); 0 m.u.m. na tv (meio publicitario 3); e 9 m.u.m. na radio

(meio publicitario 4). O lucro e de l(4, 10) = 25.00 m.u.m. Caso o fabricante so disponha de

5 m.u.m. para investir nos mesmos meios publicitarios, deve investir 0 m.u.m. no jornal; 1

m.u.m. na revista; 4 m.u.m. na tv; e 0 m.u.m. na radio. O lucro e entao de l(4, 5) = 9.00

m.u.m.

De um modo geral, quando temos x m.u.m. para investir, x ∈ 0, · · · , 10, a funcao de

lucro maximo e dada por

l(1, x) = p(1, x)

l(i, x) = maxy=0,··· ,xp(i, y) + l(i− 1, x− y) , para i ∈ 2, 3, 4e a quantidade optima a investir no meio publicitario i, i ∈ 1, 2, 3, 4, por

q(1, x) = x ,

q(i, x) = y , com p(i, y) + l(i− 1, x− y) = l(i, x) , y ∈ 0, · · · , x .

No Apendice D definimos em Maple as funcoes lucroMaximo e investimentoOptimo que

permitem a resolucao de um qualquer problema de investimento. Para o Problema 23 fazemos:

> meio1 := [[0,1,0.00],[1,1,1.20],[2,1,2.70],[3,1,4.20],[4,1,6.00],

> [5,1,7.65],[6,1,9.30],[7,1,11.06],[8,1,12.80],[9,1,14.40],[10,1,16.00]]:

> meio2 := [[0,2,0.00],[1,2,2.00],[2,2,2.80],[3,2,4.65],[4,2,6.60],

> [5,2,8.75],[6,2,10.80],[7,2,12.95],[8,2,15.20],[9,2,17.10],[10,2,19.00]]:

> meio3 := [[0,3,0.00],[1,3,1.30],[2,3,2.90],[3,3,4.95],[4,3,7.00],

> [5,3,8.50],[6,3,12.30],[7,3,15.05],[8,3,18.00],[9,3,20.70],[10,3,24.00]]:

> meio4 := [[0,4,0.00],[1,4,1.15],[2,4,2.50],[3,4,4.20],[4,4,6.00],[5,4,8.10],

> [6,4,10.50],[7,4,12.60],[8,4,15.20],[9,4,23.00],[10,4,23.50]]:

> problema := [meio1,meio2,meio3,meio4]:

> lucroMaximo(problema,5);9.00

> investimentoOptimo(problema,5);[0, 1, 4, 0]

> lucroMaximo(problema,10);25.00

> investimentoOptimo(problema,10);[0, 1, 0, 9]

Page 43: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

Capıtulo 2

Calculo das Variacoes

No Calculo das Variacoes minimizamos funcionais do tipo integral. As funcoes integrandas

dependem de funcoes desconhecidas e suas derivadas. Este tipo de problemas surgem natu-

ralmente em Mecanica, Geometria, Electrodinamica, Geologia, Biologia, Hidrodinamica, etc.

Comecamos com a formulacao de varios problemas classicos.

2.1 Formulacao de alguns problemas variacionais

Os exemplos que se seguem sao casos particulares do problema estudado em §2.2.

Exemplo 24 (distancia mınima entre dois pontos). Qual e a distancia mais curta entre dois

pontos do plano Euclideano? Sem perda de generalidade, colocamos um dos pontos na origem

(0, 0), o outro em (a, 0). Consideremos o conjunto de todas as funcoes y(x), 0 ≤ x ≤ a,

continuamente diferenciaveis e satisfazendo as condicoes y(0) = 0 = y(a). O objectivo e

descobrir a funcao y(·) que tem o grafico de comprimento mınimo:

J =

∫ a

0ds =

∫ a

0

1 + y′(x)2dx −→ min ,

y(0) = 0 , y(a) = 0 .

Exemplo 25 (grafico com superfıcie de revolucao mınima). Rodemos a porcao da curva y(x)

de (a, c) a (b, d) em torno do eixo dos y. Que funcao y(·) conduz a superfıcie com area

mınima? O objectivo e agora o de minimizar a area de superfıcie:

J =

∫ b

a2πxds = 2π

∫ b

ax√

1 + y′(x)2dx −→ min ,

y(a) = c , y(b) = d .

Segue-se o problema que deu origem ao Calculo das Variacoes. O nome braquistocrona

35

Page 44: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

36 Calculo das Variacoes

vem do grego “braquis” (mınimo) e “tocrona” (tempo). Trata-se pois de um problema de

tempo mınimo (minimizar tempo).

Exemplo 26 (problema de braquistocrona). A questao foi proposta por John Bernoulli em

1696, atraves da publicacao de um artigo intitulado “Um problema ao qual os matematicos

sao chamados”. O problema foi colocado por palavras como se segue:

Dados dois pontos A e B num plano vertical, determinar o caminho para que

um corpo, sob a forca unica do seu proprio peso e na ausencia de atrito, desca de

A a B em tempo mınimo.

A energia cinetica 12mv

2 do corpo de massa m que se encontra a deslizar e, em cada instante,

igual a energia potencial perdida desde a posicao inicial. Usando um sistema de coordenadas

apropriado podemos considerar, sem perda de generalidade, A = (0, 0), B = (b, d) com b > 0

e d > 0, pelo que temos, em cada momento,

mv2

2= mgy .

Concluımos que

v =√

2gy .

O tempo total T necessario para o corpo deslizar ate a posicao final (b, d) e dado por

T =

∫ds

v=

∫ b

0

1 + y′(x)2√

2gy(x)dx .

O problema e entao formulado matematicamente como se segue:

T [y(·)] =

∫ b

0

1 + y′(x)2√

2gy(x)dx −→ min ,

y(0) = 0 , y(b) = d .

Seguem-se dois exemplos do Calculo das variacoes que pertencem a famılia dos chamados

problemas isoperimetricos (ver seccao 2.5).

Exemplo 27 (catenaria). Se suspendermos um fio de comprimento γ entre dois pontos (−a, b)e (a, b), a > 0, b > 0, γ > 2a, que forma tomara o fio? Cada comprimento infinitesimal ds

do fio contribui com ρgyds de energia potencial para a energia potencial total J do fio,

J = ρg

∫ a

−ayds = ρg

∫ a

−ay√

1 + y′2dx ,

onde y = y(x) e a forma do fio suspenso, ρ a densidade do fio por unidade de comprimento

e g a gravidade. O fio em repouso tera a forma y(x), −a ≤ x ≤ a, que minimiza a energia

Page 45: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

2.2 Problema fundamental e as equacoes necessarias de Euler-Lagrange 37

potencial J , sem esquecer a restricao que a funcao y(·) deve ter o comprimento dado γ:

J [y(·)] = ρg

∫ a

−ay(x)

1 + y′2(x)dx −→ min ,

∫ a

−a

1 + y′2(x)dx = γ ,

y(−a) = b , y(a) = b .

Exemplo 28 (problema de Dido). A historia e-nos contada pelo poeta Romano Virgılio, em

814 a.C. Depois do marido ter sido morto, Dido fugiu para a Africa Mediterranica. Aı ela

comprou, de um rei ingenuo, todo o terreno que pudesse ser incluıdo pela pele de um boi.

Depois de cortar a pele em tiras bem finas e amarrar as pontas umas as outras, ela encerrou

uma parcela de terreno que veio a tornar-se a cidade-estado de Cartago. O “problema de Dido”

pode ser colocado como se segue. Concedida uma porcao da costa de Africa como fronteira,

qual a maior area que pode ser incluıda pelo perımetro dado que permanece? Considerando-se

a costa como um segmento de recta [a, b] e o interior da area como sendo circunscrito pelo

grafico da funcao y(·), y(x) ≥ 0 e y(a) = 0 = y(b), obtemos o seguinte problema: maximizar

a area

J =

∫ b

ay(x)dx

sujeita a restricao do perımetro∫ b

a

1 + y′(x)2dx = γ .

Os problemas isoperimetricos, exemplo dos quais e problema de Dido, sao estudados em

§2.5. Comecamos com o estudo do problema basico do Calculo das Variacoes.

2.2 Problema fundamental e as equacoes necessarias de Euler-

Lagrange

A funcional fundamental do Calculo das Variacoes tem a forma

F [y(·)] =

∫ b

af(x, y(x), y′(x))dx . (2.1)

Neste momento nao especificamos a classe de funcoes admissıveis, assumindo simplesmente

que as funcoes admitem derivadas contınuas, tantas vezes quantas as necessarias; nem especi-

ficaremos o que entendemos por vizinhanca de uma funcao, para a qual determinada funcao

e minimizante local. O problema sera definido com rigor posteriormente.

Vejamos se o problema de minimizacao da funcional (2.1) esta bem colocado, i.e., se (pelo

menos em casos particulares simples) existe solucao unica. O caso particular

C[y(·)] =

∫ b

a

1 + (y′(x))2dx

Page 46: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

38 Calculo das Variacoes

da funcional (2.1) da-nos o comprimento da curva do plano y = y(x) de (a, y(a)) a (b, y(b))

(Exemplo 24). Como sabemos, o minimizante e a recta: y(x) = kx + d. Sem condicoes de

fronteira, i.e., sem especificarmos y(a) e y(b), k e d sao constantes arbitrarias e a solucao

nao e unica. Claramente, nao podemos impor mais do que duas restricoes a y(·), porque

y(x) = kx + d tem apenas duas constantes arbitrarias. Normalmente, sao especificadas

condicoes de fronteira y(a) = α, y(b) = β, mas o problema sem condicoes de fronteira (ou

com apenas uma delas) tambem faz sentido. Para os problemas da Fısica-Matematica (pelo

menos sob certas condicoes), a solucao existe e e unica. Neste curso assumimos sempre que

os problemas admitem solucao.

Vamos considerar, por agora, o problema de minimizar a funcional (2.1) sem restricoes adi-

cionais e tentar resolve-lo pelas tecnicas elementares da Programacao Matematica nao-linear

que vimos em §1. Para isso vamos discretizar a funcional numa funcao de varias variaveis.

Este foi, essencialmente, o metodo originalmente usado por Euler para a obtencao da chamada

condicao necessaria de Euler-Lagrange (condicao de optimalidade essa primeiramente obtida

por Euler e, mais tarde, novamente demonstrada por Lagrange, de modo mais rigoroso, por

recurso “as variacoes” – vide §2.4).

Teorema 29 (condicao necessaria de Euler-Lagrange e condicoes de transversalidade). Se

y(·) : [a, b] → R for solucao do problema de minimizar (2.1):

F [y(·)] =

∫ b

af(x, y(x), y′(x))dx −→ min ;

entao y(·) satisfaz a equacao de Euler-Lagrange

d

dx

∂f

∂y′(x, y(x), y′(x)

)=∂f

∂y

(x, y(x), y′(x)

)(2.2)

e as condicoes de transversalidade

∂f

∂y′(x, y(x), y′(x)

)∣∣∣∣x=a

= 0 ,∂f

∂y′(x, y(x), y′(x)

)∣∣∣∣x=b

= 0 . (2.3)

Demonstracao. (seguindo Euler) Comecamos por subdividir o intervalo [a, b] em n particoes,

cada uma de comprimento h = (b−a)/n. Sejam xi = a+ ih, yi = y(xi), i = 0, . . . , n. Entao,

y0 = y(a) e yn = y(b). Aproximando (2.1) pela soma de Riemann obtemos:

∫ b

af(x, y(x), y′(x))dx ≈ h

n−1∑

k=0

f(xk, yk, y′(xk))

≈ hn−1∑

k=0

f

(

xk, yk,yk+1 − yk

h

)

=: Φ(y0, . . . , yn) .

(2.4)

Uma vez que Φ(y0, . . . , yn) e uma funcao (e nao uma funcional) de n + 1 variaveis indepen-

dentes, temos a seguinte condicao necessaria (Teorema 9):

∂Φ(y0, . . . , yn)

∂yi= 0 , i = 0, . . . , n . (2.5)

Page 47: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

2.2 Problema fundamental e as equacoes necessarias de Euler-Lagrange 39

Usamos a notacao usual para as derivadas parciais:

fx =∂f

∂x, fy =

∂f

∂y, fy′ =

∂f

∂y′.

A derivada total dfdt e dada por:

d

dtf(x, y(x), y′(x)

)= fx

(x, y(x), y′(x)

)+ fy

(x, y(x), y′(x)

)y′(x) + fy′

(x, y(x), y′(x)

)y′′(x) .

Analisando (2.4) vemos que a variavel yi aparece na soma apenas uma vez, quando i = 0 ou

i = n, duas vezes nos outros casos. Usando a regra da cadeia, a condicao (2.5) toma a forma:

∂Φ

∂y0= 0 ⇔ d

dy0

h f

(

x0, y0,y1 − y0

h

)

= 0 ⇔ fy

(

x0, y0,y1 − y0

h

)

− fy′(x0, y0,

y1−y0h

)

h= 0

⇔ h fy

(

x0, y0,y1 − y0

h

)

= fy′

(

x0, y0,y1 − y0

h

)

;

(2.6)

∂Φ

∂yn= 0 ⇔ d

dyn

h f

(

xn−1, yn−1,yn − yn−1

h

)

= 0 ⇔fy′(

xn−1, yn−1,yn−yn−1

h

)

h= 0

⇔ fy′

(

xn−1, yn−1,yn − yn−1

h

)

= 0 ;

(2.7)

∂Φ

∂yi= 0 (i = 1, . . . , n− 1) ⇔ h

d

dyi

f

(

xi−1, yi−1,yi − yi−1

h

)

+ f

(

xi, yi,yi+1 − yi

h

)

= 0

⇔ 1

hfy′

(

xi−1, yi−1,yi − yi−1

h

)

+ fy

(

xi, yi,yi+1 − yi

h

)

− 1

hfy′

(

xi, yi,yi+1 − yi

h

)

= 0

⇔fy′(

xi, yi,yi+1−yi

h

)

− fy′(

xi−1, yi−1,yi−yi−1

h

)

h= fy

(

xi, yi,yi+1 − yi

h

)

.

(2.8)

Tomando o limite h → 0 obtemos de (2.6) e (2.7) as condicoes de transversalidade (2.3); de

(2.8) a equacao de Euler-Lagrange (2.2).

Desenvolvendo a derivada total da equacao de Euler-Lagrange fy − ddxfy′ = 0 obtemos

uma equacao diferencial ordinaria de segunda ordem:

fy − fxy′ − fyy′y′ − fy′y′y

′′ = 0 . (2.9)

Isto significa que nao faz sentido, de um modo geral, impor mais do que duas condicoes

de fronteira a solucao do problema de minimizar a funcional fundamental do Calculo das

Variacoes (2.1). Como dissemos, normalmente sao especificados valores para y(a) e y(b):

y(a) = α , y(b) = β . (2.10)

Se repetirmos o processo aplicado na demonstracao do Teorema 29 ao problema com condicoes

de fronteira (2.10), obtemos de novo a equacao de Euler-Lagrange (2.2), enquanto as condicoes

de transversalidade sao substituıdas por (2.10).

Page 48: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

40 Calculo das Variacoes

Exercıcio 8. Mostrar, por intermedio do processo de discretizacao e posterior passagem ao

limite, metodo este usado na demonstracao do Teorema 29, que se considerarmos o problema

de minimizar (2.1) com condicoes y(a) = 0, y′(a) = 0 (condicoes estas tıpicas para um

problema de Cauchy envolvendo uma equacao diferencial ordinaria de segunda ordem), entao

surge uma restricao adicional a equacao de Euler-Lagrange (2.2): fy′∣∣x=b

= 0. Notar que

resolver (2.2) com tres condicoes de fronteira (y(a) = 0, y′(a) = 0, e fy′∣∣x=b

= 0) e, de um

modo geral, inconsistente.

Definicao 30. As solucoes das equacoes de Euler-Lagrange (2.2) chamamos extremais.

Exemplo 31. O problema consiste em encontrar a extremal de Euler-Lagrange y(·) associada

a funcional

F [y(·)] =

∫ 1

0

(y2 + y′2 − 2y

)dx

quando sujeita as condicoes de fronteira

y(0) = 1 , y(1) = 0 . (2.11)

Neste caso f(x, y, y′) = y2 + (y′)2 − 2y e obtemos: fy = 2y − 2, fy′ = 2y′. A equacao de

Euler-Lagrange toma a forma:

d

dx

(2y′)

= 2y − 2 ⇔ y′′ − y + 1 = 0 . (2.12)

E muito facil resolver a equacao diferencial ordinaria de coeficientes constantes (2.12) que,

sujeita as condicoes (2.11), nos conduz a extremal

y(x) = 1 − ex − e−x

e − e−1. (2.13)

Outra possibilidade e recorrer a um Sistema de Computacao Algebrica, como seja o Maple:

> eqEL := diff(y(x),x,x)-y(x)+1=0:

> dsolve(eqEL,y(0)=1,y(1)=0,y(x));y (x) = − e−x

e−1−e1 + ex

e−1−e1 + 1

Convem realcar que a funcao y(·) encontrada no Exemplo 31 e apenas uma extremal: um

candidato a minimizante. Apenas uma analise suplementar pode determinar se as extremais

sao, ou nao, solucoes do problema.

Exercıcio 9. Mostre que a extremal de Euler-Lagrange y(·) determinada no Exemplo 31 e

minimizante para o problema aı considerado. Sugestao: qualquer funcao admissıvel y(·)pode ser escrita na forma y(x) = y(x) + ϕ(x), x ∈ [0, 1], com ϕ(0) = ϕ(1) = 0. Calcule

F [(y + ϕ)(·)] − F [y(·)] e mostre que

F [(y + ϕ)(·)] − F [y(·)] =

∫ 1

0

(ϕ2 + (ϕ′)2

)dx ≥ 0 .

Page 49: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

2.2 Problema fundamental e as equacoes necessarias de Euler-Lagrange 41

Certas formas particulares do Lagrangeano f(·, ·, ·) (a funcao integranda f e normalmente

apelidada de Lagrangeano) conduzem a uma simplificacao da equacao de Euler-Lagrange

(2.2). Por exemplo:

(i) Se f nao depende explicitamente de y, entao fy′ = constante (em Mecanica este facto

corresponde a conservacao da quantidade de movimento).

(ii) Se f depender apenas de y′ e fy′y′ 6= 0, entao (cf. (2.9)) y(x) = c1x+ c2.

Exercıcio 10. Mostre que quando o problema e autonomo, i.e., quando f nao depende

explicitamente da variavel independente x, entao

f − fy′y′ = constante . (2.14)

(Em Mecanica, (2.14) corresponde a conservacao de energia. Como veremos mais tarde, a

igualdade (2.14) corresponde a preservacao do valor do Hamiltoniano ao longo das extremais.)

Para a resolucao de um problema do Calculo das Variacoes, nomeadamente em aplicacoes

(e.g. Fısica), comeca-se por determinar as extremais (as solucoes das equacoes de Euler-

Lagrange). Vamos usar o Sistema de Computacao Algebrica Maple para definir a funcao EL

que, dado o Lagrangeano f , devolve a respectiva equacao diferencial de Euler-Lagrange.

> restart;

> arg := x,y(x),diff(y(x),x):

> EL := f -> diff(D[3](f)(arg),x)-D[2](f)(arg) = 0:

Determinemos as extremais para os exemplos formulados em §2.1.

Exemplo 32 (distancia mınima entre dois pontos – cf. Exemplo 24). Definimos o La-

grangeano f em Maple por

> f := (x,y,v) -> sqrt(1+v^2):

A equacao de Euler-Lagrange pode ser obtida por intermedio da nossa funcao EL

> EL(f);

d2

dx2 y(x)√

1 + ( ddx y(x))2− ( ddx y(x))2 ( d

2

dx2 y(x))

(1 + ( ddx y(x))2)(3/2)= 0

A extremal do problema da distancia mınima entre dois pontos e, como esperado, o

segmento de recta ligando os pontos.

> dsolve(EL(f));

y(x) = C1 x+ C2

Page 50: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

42 Calculo das Variacoes

Exemplo 33 (grafico com superfıcie de revolucao mınima – cf. Exemplo 25). As extremais

sao determinadas de modo semelhante ao que vimos no exemplo anterior.

> f := (x,y,v) -> x*sqrt(1+v^2):

> EL(f);

ddx y(x)

1 + ( ddx y(x))2+

x ( d2

dx2 y(x))√

1 + ( ddx y(x))2− x ( ddx y(x))2 ( d

2

dx2 y(x))

(1 + ( ddx y(x))2)(3/2)= 0

> dsolve(EL(f));

y(x) =ln( C1 x+

−1 + C1 2 x2)

C1+ C2 , y(x) = − ln( C1 x+

−1 + C1 2 x2)

C1+ C2

As constantes C1 e C2 sao determinadas por intermedio das condicoes de fronteira

y(a) = c e y(b) = d.

Exemplo 34 (problema de braquistocrona – cf. Exemplo 26). Definimos o Lagrangeano

em Maple por

> f := (x,y,v) -> sqrt(1+v^2)/sqrt(2*g*y):

Neste caso a equacao de Euler-Lagrange ja possui uma certa complexidade.

> EL(f);

1

2

( d2

dx2 y(x))√

2√%1√

g y(x)− 1

2

( ddx y(x))2

√2 ( d

2

dx2 y(x))

%1(3/2)√

g y(x)− 1

4

( ddx y(x))2√

2 g√%1 (g y(x))(3/2)

+1

4

√%1

√2 g

(g y(x))(3/2)= 0

%1 := 1 + ( ddx y(x))2

> simplify(EL(f));

1

4

√2 (2 ( d2

dx2 y(x)) y(x) + ( ddx y(x))2 + 1)

(1 + ( ddx y(x))2)(3/2) y(x)√

g y(x)= 0

O Maple apenas consegue apresentar a solucao implicitamente.

> dsolve(EL(f));

−√

%1 +1

2C1 arctan

y(x) − C1

2√%1

− x− C2 = 0,

√%1 − 1

2C1 arctan

y(x) − C1

2√%1

− x− C2 = 0

%1 := −y(x)2 + y(x) C1

Tambem nao e capaz de determinar a solucao na forma parametrica.

> dsolve(EL(f),y(x),parametric);

Page 51: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

2.3 O metodo de Ritz 43

−√

%1 +1

2C1 arctan

y(x) − C1

2√%1

− x− C2 = 0,

√%1 − 1

2C1 arctan

y(x) − C1

2√%1

− x− C2 = 0

%1 := −y(x)2 + y(x) C1

As extremais para o problema de braquistocrona podem ser, no entanto, determinadas

na forma parametrica se notarmos que o problema e autonomo e que, por conseguinte, e

valido o primeiro integral (2.14).

> ELautonomo := f -> f(arg) - D[3](f)(arg) * diff(y(x),x) = K:

> ELautonomo(f);

1

2

1 + ( ddx y(x))2√

2√

g y(x)− 1

2

( ddx y(x))2√

2√

1 + ( ddx y(x))2√

g y(x)= K

> extr := dsolve(ELautonomo(f),y(x),parametric);

extr := [y( T ) =1

2 g K2 (1 + T 2),

x( T ) =1

2

− T − arctan( T ) − arctan( T ) T 2 + 2 C1 g K2 + 2 C1 g K2 T 2

g K2 (1 + T 2)]

As expressoes matematicas de x e y sao dadas em termos do parametro T . A constante

C1 e a segunda constante de integracao. A extremal pode ser calculada numericamente

dados valores concretos para a condicao de fronteira y(b) = d.

De um modo geral, a equacao diferencial de Euler-Lagrange e uma equacao nao-linear, de

segunda ordem, de difıcil resolucao analıtica. Por isso, na pratica, as extremais sao muitas

vezes encontradas, de maneira aproximada, por metodos numericos. Vamos considerar um

desses metodos aproximativos na proxima seccao.

2.3 O metodo de Ritz

Vamos agora considerar uma abordagem aproximativa ao problema fundamental do Calculo

das Variacoes:

F [y(·)] =

∫ b

af(x, y, y′)dx −→ min , (2.15)

y(·) ∈ Y :=y(·) ∈ C1 ([a, b]; R) : y(a) = ya , y(b) = yb

. (2.16)

Page 52: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

44 Calculo das Variacoes

Quando usamos o metodo de discretizacao de Euler para demonstrar as condicoes necessarias

de optimalidade do Teorema 29, obtivemos a equacao intermediaria (2.8) que nos permite

escrever um algoritmo variacional de diferencas finitas para a resolucao da equacao de Euler-

Lagrange (2.2):

fy −d

dxfy′ = 0 , y(a) = ya , y(b) = yb .

Um tal algoritmo pertence a classe de metodos numericos baseados na ideia de aproximar

as derivadas de y(x) por uma diferenca finita; e a funcional integral por uma soma finita.

Diferentes metodos desta classe diferem apenas na maneira como as funcoes e integrais sao

discretizados.

Aqui estamos interessados num outro tipo de metodos para a minimizacao das funcionais

do Calculo das Variacoes: o metodo de Ritz . O metodo de Ritz pode ser usado para obter

boas aproximacoes das solucoes de problemas complexos, problemas esses que sao difıceis, ou

mesmo impossıveis, de resolver analiticamente. A ideia e a de reduzir o problema de minimizar

(2.15) no espaco (2.16) das funcoes continuamente diferenciaveis que satisfazem y(a) = ya e

y(b) = yb, ao problema de minimizar a mesma funcional (2.15) num subespaco das funcoes

(2.16), de dimensao finita, que podem aproximar a solucao. Na pratica, o bom funcionamento

do metodo vai depender duma boa escolha desse subespaco. Procuramos entao a solucao do

problema (2.15)-(2.16) na forma

yn(x) = ϕ0(x) +n∑

k=1

ckϕk(x) , (2.17)

onde ϕ0(x) satisfaz as condicoes de fronteira y(a) = ya, y(b) = yb. Uma escolha comum e a

funcao linear

ϕ0(x) = αx+ β , com α =yb − yab− a

, β =bya − aybb− a

. (2.18)

As restantes funcoes ϕk, k = 1, . . . , n, chamadas funcoes base, satisfazem condicoes de homo-

geneidade:

ϕk(a) = ϕk(b) = 0 , k = 1, . . . , n . (2.19)

Os ck, k = 1, . . . , n, sao constantes. Resulta claro que (2.18) e (2.19) fazem com que as funcoes

yn(x) (2.17) satisfacam as condicoes de fronteira y(a) = ya e y(b) = yb do problema. A funcao

yn(·) que minimiza (2.15) no conjunto de todas as funcoes da forma (2.17), e chamada de

n-esima aproximacao da solucao pelo metodo de Ritz .

Para fundamentar teoricamente o metodo de Ritz, exige-se que o sistema ϕk(·)∞k=1 seja

completo. Isso significa que dada uma funcao arbitraria g(·) ∈ C10 ([a, b]; R) (ver definicao

ja a seguir) e ε > 0 arbitrariamente pequeno, e sempre possıvel encontrar uma soma finita∑n

k=1 ckϕk(x) tal que∥∥∥∥∥g(x) −

n∑

k=1

ckϕk(x)

∥∥∥∥∥< ε .

Page 53: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

2.3 O metodo de Ritz 45

Estamos a usar a norma usual no conjunto das funcoes continuamente diferenciaveis em [a, b]:

‖ϕ(x)‖ = maxx∈[a,b]

|ϕ(x)| + maxx∈[a,b]

|ϕ′(x)| . (2.20)

O conjunto das funcoes reais continuamente diferenciaveis em [a, b], munido da norma (2.20),

e denotado por C1 ([a, b]; R). O subespaco das funcoes ϕ(·) satisfazendo ϕ(a) = ϕ(b) = 0

e denotado por C10 ([a, b]; R). O espaco C1 ([a, b]; R) tem muitas propriedades importantes

estudadas em Analise Funcional. Na verdade, a justificacao rigorosa do metodo de Ritz exige

as ferramentas da Analise Funcional. Aqui apenas usamos a notacao conveniente.

As funcoes base ϕk(·) mais usadas sao os polinomios trigonometricos ou as funcoes do tipo

(x−a)(x−b)Pk(x), com Pk(x) polinomios. Reparar que os factores (x−a) e (x−b) asseguram

(2.19). O Teorema de Weierstrass do Calculo afirma que qualquer funcao contınua f(x) em

[a, b] pode ser aproximada uniformemente por um polinomio, com a precisao desejada. Por

outras palavras, dado ε > 0, podemos sempre encontrar um polinomio Pn(x) de ordem n tal

que

maxx∈[a,b]

|f(x) − Pn(x)| < ε .

Tambem e verdade que, com qualquer precisao desejada, podemos usar um polinomio para

aproximar uniformemente a funcao f(x) conjuntamente com a sua derivada contınua. Dado

ε > 0, comecamos por aproximar a derivada f ′(x) por um polinomio Qn(x):

maxx∈[a,b]

|f ′(x) −Qn(x)| <ε

b− a.

O polinomio Pn(x) = f(a) +∫ xa Qn(t)dt, x ∈ [a, b], aproxima f(x):

|f(x) − Pn(x)| =

∣∣∣∣f(a) +

∫ x

af ′(t)dt− f(a) −

∫ x

aQn(t)dt

∣∣∣∣=

∣∣∣∣

∫ x

a

(f ′(t) −Qn(t)

)dt

∣∣∣∣

≤∫ x

a|f ′(t) −Qn(t)|dt < ε .

De maneira semelhante, podemos mostrar que uma funcao n-vezes continuamente difer-

enciavel em [a, b] pode ser aproximada, com qualquer grau de precisao, conjuntamente com

todas as suas n derivadas, por um polinomio. Deste modo, o conjunto de monomiosxk

constitui um sistema completo de funcoes em Cn ([a, b]; R), para qualquer n ∈ N. Como e

bem conhecido, da teoria de Fourier, um segundo sistema completo de funcoes e sin(kπx).O metodo de Ritz considera entao o problema de minimizar a funcional

∫ b

af(x, yn(x), y

′n(x))dx ,

com yn(x) dado por (2.17): yn(x) = ϕ0(x) +∑n

k=1 ckϕk(x). As incognitas sao os ck. Deste

modo a funcional (2.15) reduziu-se a uma funcao

Φ(c1, . . . , cn) =

∫ b

af(x, yn(x), y

′n(x)

)dx ,

Page 54: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

46 Calculo das Variacoes

de n variaveis reais. Considerando a condicao necessaria de optimalidade dada pelo Teorema 9,

∂Φ

∂ck(c1, . . . , cn) = 0 , k = 1, . . . , n ,

e atendendo a que (usamos a notacao c0 = 1)

∂Φ

∂ck=

∂ck

∫ b

af

(

x,n∑

i=0

ciϕi(x),n∑

i=0

ciϕ′i(x)

)

dx

=

∫ b

afy

(

x,n∑

i=0

ciϕi(x),n∑

i=0

ciϕ′i(x)

)

ϕk(x)dx

+

∫ b

afy′

(

x,

n∑

i=0

ciϕi(x),

n∑

i=0

ciϕ′i(x)

)

ϕ′k(x)dx ,

obtemos o chamado sistema de equacoes de Ritz da n-esima aproximacao:

∫ b

afy

(

x,n∑

i=0

ciϕi(x),n∑

i=0

ciϕ′i(x)

)

ϕk(x)dx+

∫ b

afy′

(

x,n∑

i=0

ciϕi(x),n∑

i=0

ciϕ′i(x)

)

ϕ′k(x)dx = 0 ,

(2.21)

k = 1, . . . , n. Temos um sistema de n equacoes a n incognitas. Este sistema pode ser resolvido

com a ajuda do Sistema de Computacao Algebrica Maple.

Exemplo 35. Consideremos o seguinte problema:

Ψ[y(·)] =

∫ 1

0

[y′(x)2 + (1 + 0.1 sin(x)) y2(x) − 2xy(x)

]dx −→ min

y(0) = 0 , y(1) = 10 .

Pretendemos encontrar as aproximacoes de Ritz, n = 1, . . . , 5, usando ϕ0(x) = 10x e as

seguintes funcoes base:

(a) ϕk(x) = (1 − x)xk, k ≥ 1;

(b) ϕk(x) = sin(kπx), k ≥ 1.

Notamos que ϕ0(x) = 10x foi escolhida de modo a satisfazer as condicoes de fronteira dadas

(ϕ0(x) e funcao admissıvel). Para encontrarmos as proximas aproximacoes da solucao do

problema, temos de encontrar os coeficientes ck resolvendo o sistema de equacoes

∂ckΨ

[

ϕ0(·) +n∑

i=1

ciϕi(·)]

= 0 , i = 1, . . . , n .

Seguem os calculos em Maple:

> restart:

Page 55: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

2.3 O metodo de Ritz 47

> psi := y -> int(D(y)(x)^2+(1+0.1*sin(x))*y(x)^2-2*x*y(x),x=0..1):

> phia := k -> unapply(10*x + add(c[i]*(1-x)*x^i,i=1..k),x):

> phia(0)(x);

10x

> phia(1)(x);

10x+ c1 (1 − x)x

> phia(2)(x);

10x+ c1 (1 − x)x+ c2 (1 − x)x2

> phib := k -> unapply(10*x + add(c[i]*sin(i*Pi*x),i=1..k),x):

> phib(0)(x);

10x

> phib(1)(x);

10x+ c1 sin (π x)

> phib(2)(x);

10x+ c1 sin (π x) + c2 sin (2π x)

> psi(phia(0));

128.8991094

> psi(phia(1));

1.592291401 c1 + 128.8991094 + 0.3682364120 c12

> psi(phib(1));

5.458384430 c12 + 6.079631057 c1 + 128.8991094

(a)

> solve(diff(psi(phia(1)),c[1])=0,c[1]);

−2.162050451

> subs(c[1]=%,phia(1)(x)); # primeira aproximac~ao

10x+ (10x− 2.162050451 (1 − x)x) (1 − x)x

> solve(diff(psi(phia(2)),c[1])=0,diff(psi(phia(2)),c[2])=0,c[1],c[2]);c2 = −1.603129512, c1 = − 1.360037144

> subs(%,phia(2)(x)); # segunda aproximac~ao

10x− 1.360037144 (1 − x)x− 1.603129512 (1 − x)x2

n-esima aproximacao

> y := proc(phi,n)

> local s, r:

> s := solve(seq(diff(psi(phi(n)),c[i])=0,i=1..n),seq(c[i],i=1..n)):

Page 56: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

48 Calculo das Variacoes

> r := subs(s,phi(n)(x)):

> return(r);

> end proc:

> y(phia,3);

10x− 1.409701121 (1 − x)x− 1.356509220 (1 − x)x2 − 0.2466033016 (1 − x)x3

> y(phia,4);

10x− 1.404136871 (1 − x)x− 1.406432707 (1 − x)x2 − 0.1302232908 (1 − x)x3

− 0.07758510225 (1 − x)x4

> y(phia,5);

10x− 1.404328437 (1 − x)x− 1.403753451 (1 − x)x2 − 0.1409381935 (1 − x)x3

− 0.06151020461 (1 − x)x4 − 0.008040009302 (1 − x)x5

> y(phib,1);

10x− 0.5569075552 sin (π x)

> y(phib,2);

10x− 0.5567967900 sin (π x) + 0.07745178781 sin (2π x)

> y(phib,3);

10x− 0.5567987173 sin (π x) + 0.07744221735 sin (2π x) − 0.02316765306 sin (3π x)

> y(phib,4);

10x− 0.5567976990 sin (π x) + 0.07744247760 sin (2π x)

− 0.02316578298 sin (3π x) + 0.009858917958 sin (4π x)

> y(phib,5);

10x− 0.5567977749 sin (π x) + 0.07744229869 sin (2π x)

− 0.02316584617 sin (3π x) + 0.009858372198 sin (4π x)

− 0.005051634010 sin (5π x)

Exercıcio 11. Considere o problema fundamental do Calculo das Variacoes com condicao

de fronteira y(a) + y(b) = 1. Encontre a condicao de transversalidade suplementar que as

extremais de Euler-Lagrange devem satisfazer.

Exercıcio 12. Aplique o metodo de Ritz com funcoes base da forma ϕn(x) = x2(1 − x)2xk

ao seguinte problema do Calculo das Variacoes:

∫ 1

0

y′′2 + [1 + 0.1 sinx] (y′)2 + (1 + 0.1 cos(2x)) y2 − 2 sin(2x)y

dx −→ min

y(0) = y′(0) = y′(1) = 0 , y(1) = 1 .

Page 57: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

2.4 Extensoes do problema fundamental 49

Exercıcio 13. Determine o sistema de equacoes de Ritz da n-esima aproximacao, analogo a

(2.21), para funcionais da forma

F2[y(·)] =

∫ b

af(x, y, y′, y′′)dx .

Exercıcio 14. Determine as extremais para os seguintes problemas do Calculo das Variacoes:

(a)∫ 10 y

′2dx −→ extr, y(0) = 1, y(1) = 0.

(b)∫ 10

(y − y′2

)dx −→ extr, y(0) = 0, y(1) = 0.

2.4 Extensoes do problema fundamental

Comecamos por considerar o caso em que as funcoes admissıveis y(·) sao funcoes vectoriais:

y(x) = (y1(x), . . . , yn(x)).

2.4.1 Caso vectorial: n variaveis dependentes, n ≥ 1

Escrevemos o Lagrangeano como anteriormente, f(x, y(x), y′(x)), mas agora com o sig-

nificado f(x, y1(x), . . . , yn(x), y′1(x), . . . , y

′n(x)). Temos entao o problema:

F [y(·)] =

∫ b

af(x, y(x), y′(x))dx −→ min

y(a) = ya , y(b) = yb , y(·) ∈ C2 ([a, b]; Rn) .

Os valores de fronteira ya = (ya1 , . . . , yan), yb = (yb1 , . . . , ybn), sao dados. Usamos a norma

‖y(·)‖Ck([a,b];Rn) =n∑

i=1

‖yi(·)‖Ck([a,b];R) ,

com ‖f(·)‖Ck([a,b];R) = maxx∈[a,b] |f(x)| +∑k

α=1 maxx∈[a,b]

∣∣f (α)(x)

∣∣ (comparar com (2.20)),

para a definicao de vizinhanca, como necessario na definicao de minimizante local.

Teorema 36 (Condicao necessaria de optimalidade para o problema (2.4.1) – equacoes de Eu-

ler-Lagrange). Se y(·) e minimizante local do problema (2.4.1), entao y(·) satisfaz as equacoes

de Euler-Lagrange:

∂f

∂y

(x, y(x), y′(x)

)− d

dx

∂f

∂y′(x, y(x), y′(x)

)= 0 . (2.22)

Observacao 37. A equacao diferencial vectorial (2.22) pode ser escrita na forma

fy1− ddxfy′1 = 0 ,...

fyn− ddxfy′n = 0 .

Page 58: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

50 Calculo das Variacoes

Demonstracao. (seguindo Lagrange) Considere-se uma funcao admissıvel, na vizinhanca de

y(·), arbitraria. Tal funcao pode ser escrita na forma y(·) + εϕ(·), com ϕ(a) = ϕ(b) = 0. Por

definicao de minimizante, a funcao

Φ(ε) = F [y(·) + εϕ(·)] =

∫ b

af(x, y(x) + εϕ(x), y′(x) + εϕ′(x)

)dx , (2.23)

tem mınimo para ε = 0, para qualquer ϕ(·). Tomemos ϕ(·) com a forma particular ϕ(x) =

(0, . . . , ϕi(x), . . . , 0), onde a unica componente nao nula se encontra na i-esima posicao, ϕi(·)arbitraria (i ∈ 1, . . . , n). Entao (2.21) fica:

Φ(ε) =

∫ b

af(x, y1(x), . . . , yi(x) + εϕi(x), . . . , yn(x), y

′1(x), . . . , y

′i(x) + εϕ′

i(x), . . . , y′n(x)

)dx .

A condicao necessaria dada pelo Teorema de Fermat (Teorema 2) diz-nos que Φ′(ε)|ε=0 = 0,

ou seja,∫ b

a

[

fyi

(x, y(x), y′(x)

)ϕi(x) + fy′i

(x, y(x), y′(x)

)ϕ′i(x)

]

dx = 0 . (2.24)

Integrando por partes o segundo termo, e tendo em conta que ϕi(a) = ϕi(b) = 0, obtemos

∫ b

afy′iϕ

′idx = fy′iϕi

]b

a−∫ b

a

d

dxfy′iϕidx =

∫ b

a− d

dxfy′iϕidx ,

pelo que,

∫ b

a

[

fyi

(x, y(x), y′(x)

)− d

dxfy′i

(x, y(x), y′(x)

)]

ϕi(x)dx = 0 , i = 1, . . . , n . (2.25)

Recorremos agora a um lema auxiliar.

Lema 38 (Lema Fundamental do Calculo das Variacoes). Se g(·) for contınua em [a, b] e

∫ b

ag(x)ϕ(x)dx = 0

para todas as funcoes ϕ(·) ∈ C2([a, b]; R) com ϕ(a) = ϕ(b) = 0, entao g(x) = 0.

Demonstracao. Suponhamos o contrario: que existe um x0 ∈ (a, b) tal que g(x0) 6= 0. Sem

perda de generalidade, assumamos g(x0) > 0. Como g(·) e, por hipotese, contınua, entao

existe uma vizinhanca (x0 − ε, x0 + ε) ⊂ (a, b) (ε > 0), na qual g(x) > 0. Basta definir uma

funcao ϕ0(·) ∈ C2 nao-negativa tal que ϕ0(x0) > 0 e ϕ0(x) = 0 em R− (x0 − ε, x0 + ε). Uma

funcao com estas propriedades e, por exemplo, a seguinte:

ϕ0(x) =

(x− x0 + ε)3(x0 + ε− x)3 se x ∈ (x0 − ε, x0 + ε) ,

0 caso contrario .

A funcao ϕ0(·) satisfaz, de maneira obvia, todas as propriedades requeridas, com possıvel

excepcao da continuidade das derivadas em x = x0 − ε e x = x0 + ε. Vamos usar o Maple

Page 59: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

2.4 Extensoes do problema fundamental 51

para verificar a continuidade da funcao e suas derivadas e fazer um esboco do grafico de ϕ0(x)

para o caso ilustrativo de x0 = 1 e ε = 0.1.

> # exemplo com x0 = 1, epsilon = 0.1

> varphi0 := x -> piecewise(x>0.9 and x < 1.1,(x-0.9)^3 * (1.1-x)^3,0):

> # a func~ao e contınua

> iscont(varphi0(x),x=-infinity..infinity);

true

> # a primeira derivada e contınua

> iscont(D(varphi0)(x),x=-infinity..infinity);

true

> # a segunda derivada e contınua

> iscont(D(D(varphi0))(x),x=-infinity..infinity);

true

> plot(varphi0(x),x=0.8..1.2);

1E-6

8E-7

6E-7

4E-7

2E-7

0

x

1,21,110,90,8

Tem-se que g(x)ϕ0(x) ≥ 0 ∀ x ∈ [a, b]; g(x)ϕ0(x) > 0 para x ∈ (x0 − ε, x0 + ε). Logo,∫ ba g(x)ϕ0(x)dx > 0, uma contradicao.

A conclusao pretendida segue, de modo imediato, aplicando o Lema Fundamental do

Calculo das Variacoes a (2.25).

De modo semelhante ao caso escalar (n = 1), se nao forem especificadas as 2n condicoes

de fronteira y(a) = ya, y(b) = yb, obtemos como condicoes necessarias, alem das equacoes de

Page 60: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

52 Calculo das Variacoes

Euler-Lagrange (2.22), n pares de condicoes de transversalidade (cf. (2.3)):

fy′i

∣∣∣x=a

= 0 , (2.26)

fy′i

∣∣∣x=b

= 0 , (2.27)

i = 1, . . . , n. (Se for fixado y(a) = ya e y(b) estiver livre, aparece a condicao adicional (2.27);

se for fixado y(b) = yb e y(a) estiver livre, aparece a condicao adicional (2.26)).

Exercıcio 15. Determine as extremais de Euler-Lagrange para os seguintes problemas do

Calculo das Variacoes: (usamos extr para significar extremar – minimizar ou maximizar)

(a)

J1[x(·), y(·)] =

∫ 1

0

(x(t) + y(t) + x(t)2 + y(t)2

)dt −→ extr

x(0) = y(0) = 1 , x(1) = y(1) = 2 .

(b)

J2[x(·), y(·)] =

∫ π2

0

(2x(t)y(t) + x(t)2 + y(t)2

)dt −→ min

x(0) = y(0) = 0 , x(π

2

)

= y(π

2

)

= 1 .

(c)

J3[x(·), y(·)] =

∫ 1

0

(x(t)2 + y(t)2 + 2x(t)

)dt −→ extr

x(0) = 1 , y(0) = 0 , x(1) =3

2, y(1) = 1 .

2.4.2 Problemas com derivadas de ordem superior

Consideramos agora o problema do Calculo das Variacoes com derivadas de ordem supe-

rior:

Fm[y(·)] =

∫ b

af(x, y(x), y′(x), . . . , y(m)(x))dx −→ extr ,

y(i)(a) = yia , y(i)(b) = yib , i = 0, . . . ,m− 1 , (2.28)

y(·) ∈ C2m ([a, b]; Rn) ,

onde convencionamos y(0)(x) = y(x) e supomos o Lagrangeano (a funcao integranda) suficien-

temente suave para os nossos propositos: f ∈ Cm+1 em relacao a todos os seus argumentos.

Para facilidade de apresentacao, consideremos o caso escalar (n = 1).

Page 61: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

2.4 Extensoes do problema fundamental 53

Teorema 39 (Condicao necessaria: equacoes de Euler-Lagrange de ordem superior). Se y(·)e minimizante local para o problema (2.28), entao y(·) satisfaz a equacao de Euler-Lagrange

de ordem superior (equacao diferencial ordinaria de ordem 2m, as vezes tambem chamada de

equacao de Euler-Poisson):

fy(x, y(x), y′(x), . . . , y(m)(x)) +

m∑

k=1

(−1)kdk

dxkfy(k)(x, y(x), y′(x), . . . , y(m)(x)) = 0 . (2.29)

Demonstracao. (seguindo Lagrange) Primeiro e preciso perceber o que significa dizer que y(·)e minimizante local de Fm[y(·)]. Consideremos o conjunto de funcoes y(x) + ϕ(x), x ∈ [a, b],

onde ϕ(·) e arbitraria e pertence a C2m ([a, b]; R). Para estas funcoes serem admissıveis, elas

tem de satisfazer as condicoes de fronteira, ou seja,

ϕ(i)(a) = 0 , ϕ(i)(b) = 0 , i = 0, . . . ,m− 1 .

Por outras palavras, ϕ(·) ∈ C2m0 ([a, b]; R) (notacao com o significado apontado). Uma funcao

y(·) admissıvel diz-se minimizante local de Fm[·] se Fm[y(·)] ≤ Fm[(y + ϕ)(·)] para todo o

ϕ(·) ∈ C2m0 tal que ‖ϕ(·)‖C2m < δ para algum δ > 0.

De modo semelhante ao que ja fizemos anteriormente, introduzimos o parametro ε > 0 e

consideramos os valores da funcional Fm[·] ao longo das funcoes (y+ εϕ)(·) na vizinhanca do

minimizante y(·). Para ϕ(·) fixo,

Fm[(y + εϕ)(·)] =

∫ b

af(

x, y(x) + εϕ(x), y′(x) + εϕ′(x), . . . , y(m)(x) + εϕ(m)(x))

dx =: Φ(ε)

e funcao de ε e atinge mınimo local para ε = 0, pelo que Φ′(ε)|ε=0 = 0:

∫ b

a

(

fy(x, y(x), y′(x), . . . , y(m)(x))ϕ(x) +

m∑

k=1

fy(k)(x, y(x), y′(x), . . . , y(m)(x))ϕ(k)(x)

)

dx = 0 .

(2.30)

Agora fazemos integracao por partes (multipla), em cada termo contendo derivadas de ϕ(·),de tal modo a que no fim a funcao integranda apenas contenha ϕ(·) e possamos aplicar o

Lema Fundamental do Calculo das Variacoes:

∫ b

afy′ϕ

′dx = fy′ϕ]b

a−∫ b

a

d

dxfy′ϕdx = −

∫ b

a

d

dxfy′ϕdx ;

∫ b

afy′′ϕ

′′dx = fy′′ϕ′]ba−∫ b

a

d

dxfy′′ϕ

′dx = −∫ b

a

d

dxfy′′ϕ

′dx

= − d

dxfy′′ϕ

]b

a

+

∫ b

a

d2

dx2fy′′ϕdx =

∫ b

a

d2

dx2fy′′ϕdx ;

em geral,∫ b

afy(k)ϕ(k)dx = (−1)k

dk

dxkfy(k)ϕdx , k = 1, . . . ,m .

Page 62: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

54 Calculo das Variacoes

A condicao (2.30) pode entao ser escrita na forma

∫ b

a

(

fy +m∑

k=1

(−1)kdk

dxkfy(k)

)

ϕdx = 0 ,

de onde resulta, pelo Lema Fundamental do Calculo das Variacoes (Lema 38), a condicao

necessaria de optimalidade (2.29).

Exercıcio 16. Determine as extremais de Euler-Lagrange para os seguintes problemas do

Calculo das Variacoes:

(a)

F a2 [y(·)] =

∫ 1

0

(1 + y′′(x)2

)dx −→ extr ,

y(0) = 0 , y(1) = 1 ,

y′(0) = 1 , y′(1) = 1 .

(b)

F b2 [y(·)] =

∫ X

0

(xy(x)2 + y(x)y′(x) + y′′(x)2

)dx −→ extr ,

y(0) = A , y(X) = B ,

y′(0) = α , y′(X) = β .

(c)

F c2 [y(·)] =

∫ 1

0

(y2 + 2y′2 + y′′2

)dx −→ extr ,

y(0) = 0 , y(1) = 0 ,

y′(0) = 1 , y′(1) = − sinh(1) .

2.5 Problemas isoperimetricos

Literalmente, a palavra isoperimetrico significa “mesmo perımetro”. O primeiro problema

deste tipo parece ter sido resolvido, na pratica, pela princesa Fenıcia Dido (Exemplo 28). O

problema de Dido pertence a seguinte classe de problemas: encontrar o minimizante (ou

maximizante) da funcional

F [y(·)] =

∫ b

af(x, y(x), y′(x))dx −→ min (2.31)

Page 63: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

2.5 Problemas isoperimetricos 55

onde as funcoes admissıveis y(·) ∈ C2 devem satisfazer nao so as condicoes de fronteira

y(a) = ya , y(b) = yb , (2.32)

como tambem a restricao isoperimetrica

G[y(·)] =

∫ b

ag(x, y(x), y′(x))dx = ξ , (2.33)

com ξ um dado numero. Este e o problema do Calculo das Variacoes analogo ao problema

de Programacao Matematica nao-linear

f(x) −→ min ,

g(x) = ξ ,

que e resolvido por recurso ao metodo dos multiplicadores de Lagrange (vide §1.3): exis-

tem constantes λ0 e λ, nao ambas nulas, tal que o minimizante x do problema e ponto de

estacionaridade da funcao de Lagrange L = λ0f(x) + λg(x) (i.e., λ0f′(x) + λg′(x) = 0).

Um metodo “semelhante” existe no Calculo das Variacoes para o problema isoperimetrico.

Comecamos por tratar o caso normal (λ0 = 1).

Teorema 40. Seja y(·) ∈ C2 um minimizante local para o problema isoperimetrico (2.31)-

(2.33), que nao e extremal da funcional G[·] (2.33). Entao existe um numero real λ tal que

y(·) e extremal de Euler-Lagrange do problema fundamental do Calculo das Variacoes

J [y(·)] = F [y(·)] + λG[y(·)] =

∫ b

a

[f(x, y(x), y′(x)

)+ λg

(x, y(x), y′(x)

)]dx −→ min ,

y(a) = ya , y(b) = yb .

Demonstracao. A restricao (2.33) complica a nocao de vizinhanca: em geral nao e verdade

que a soma de um pequeno incremento ao minimizante e admissıvel, i.e., a condicao (2.33) e,

em geral, violada para as variacoes do minimizante, no sentido anterior (nao podemos aplicar

a tecnica de demonstracao usada em §2.4.2). Para evitar este problema, introduzimos outra

funcao e parametro: consideramos funcoes na vizinhanca do minimizante y(·) da forma

y(·) = y(·) + ε1ϕ1(·) + ε2ϕ2(·) , (2.34)

onde ε1 e ε2 sao parametros pequenos e ϕ1(·) , ϕ2(·) ∈ C20 ([a, b]; R). A introducao do termo

adicional ε2ϕ2(·) pode ser visto como um “termo de correccao”: a funcao ϕ1(·) pode ser

escolhida arbitrariamente, mas o termo ε2ϕ2(·) tem de ser seleccionado de tal modo que

(2.34) satisfaca a condicao isoperimetrica (2.33). Mesmo com a introducao do termo extra

ε2ϕ2(·), nao e de imediato obvio que e sempre possıvel escolher um ϕ1(·) e depois encontrar

Page 64: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

56 Calculo das Variacoes

um termo apropriado ϕ2(·) para satisfazer a admissibilidade. Consideremos, por exemplo, a

restricao

G[y(·)] =

∫ 1

0

1 + y′(x)2dx =√

2 ,

com condicoes de fronteira y(0) = 0, y(0) = 1. Existe apenas uma unica funcao suave que

satisfaz as condicoes: a funcao y(x) = x. Por conseguinte, nao existem variacoes admissıveis

da forma (2.34) (a nao ser y(x) = y(x)). Esta situacao surge porque y(x) = x e extremal do

problema∫ 1

0

1 + y′(x)2dx −→ min ,

y(0) = 0 , y(0) = 1 .

(A funcional acima da-nos o comprimento de uma curva e y(x) = x e, de facto, nao so

extremal como minimizante.) Notar que y(x) = x vai ser tambem extremal para o problema

isoperimetrico (ha apenas uma funcao admissıvel). Extremais como estas, que nao podem

ser variadas por causa das restricoes, sao chamadas de extremais rıgidas. Se y(·) for uma

extremal nao-rıgida para o problema isoperimetrico, entao existem funcoes admissıveis da

forma (2.34) para ϕ1(·) ∈ C20 ([a, b]) arbitraria. Olhando para a quantidade

F [y(·)+ε1ϕ1(·)+ε2ϕ2(·)] =

∫ b

af(x, y(x) + ε1ϕ1(x) + ε2ϕ2(x), y

′(x) + ε1ϕ′1(x) + ε2ϕ

′2(x)

)dx

como funcao dos parametros ε1 e ε2, se y(·) for minimizante do problema isoperimetrico entao

(0, 0) e solucao do problema

Φ(ε1, ε2) =

∫ b

af(x, y(x) + ε1ϕ1(x) + ε2ϕ2(x), y

′(x) + ε1ϕ′1(x) + ε2ϕ

′2(x)

)dx −→ min ,

h(ε1, ε2) − ξ = 0 ,

com h(ε1, ε2) =∫ ba g (x, y(x) + ε1ϕ1(x) + ε2ϕ2(x), y

′(x) + ε1ϕ′1(x) + ε2ϕ

′2(x)) dx. E valida a

condicao necessaria dada pelo metodo dos multiplicadores de Lagrange: existe uma constante

λ tal que

∇ [Φ(ε1, ε2) + λh(ε1, ε2)]|(ε1,ε2)=(0,0) = 0 ,

ou seja,

∫ b

a

fy(x, y(x), y′(x)

)ϕi(x) + fy′

(x, y(x), y′(x)

)ϕ′i(x)

+ λ(gy(x, y(x), y′(x)

)ϕi(x) + gy′

(x, y(x), y′(x)

)ϕ′i(x)

)

dx = 0 , (2.35)

i = 1, 2. Integrando por partes,∫ b

afy′(x, y, y

′)ϕ′idx = fy′ϕi

]b

a−∫ b

a

d

dxfy′ϕidx = −

∫ b

a

d

dxfy′ϕidx , i = 1 , 2 ;

λ

∫ b

agy′(x, y, y

′)ϕ′idx = −λ

∫ b

a

d

dxgy′ϕidx , i = 1 , 2 ;

Page 65: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

2.5 Problemas isoperimetricos 57

pelo que obtemos a condicao necessaria (2.35) na forma

∫ b

a

[(

fy −d

dxfy′

)

+ λ

(

gy −d

dxgy′

)]

ϕi(x)dx = 0 , i = 1, 2 . (2.36)

A funcao ϕ1(·) e arbitraria e o Lema Fundamental do Calculo das Variacoes (Lema 38) implica

que

fy −d

dxfy′ + λ

(

gy −d

dxgy′

)

= 0 ⇔ (f + λg)y −d

dx(f + λg)y′ = 0 ,

ou, se quisermos, a equacao de Euler-Lagrange

Ly −d

dxLy′ = 0 (2.37)

com L(x, y, y′) = f(x, y, y′) + λg(x, y, y′).

A luz do Teorema 40, o problema isoperimetrico (2.31)-(2.33) reduz-se a um problema

sem restricoes com Lagrangeano L(x, y, y′) = f(x, y, y′) + λg(x, y, y′). Em geral, a solucao da

equacao de Euler-Lagrange (2.37) tem duas constantes de integracao mais a constante λ. As

condicoes de fronteira y(a) = ya, y(b) = yb (2.32) e a restricao isoperimetrica (2.33) dao tres

condicoes para a determinacao destas constantes.

O cuidado a ter na resolucao de um problema isoperimetrico e a possibilidade de existirem

extremais rıgidas. E preciso verificar que a solucao da equacao de Euler-Lagrange (2.37) nao

e solucao da equacao de Euler-Lagrange gy − ddxgy′ = 0 (nao e uma extremal de G[·]).

Definicao 41. Seja y(·) um minimizante local do problema isoperimetrico (2.31)-(2.33). Se

y(·) nao e uma extremal da funcional G[·] (2.33), entao o minimizante e dito de normal ; caso

contrario (se y(·) for extremal de G[·]) o minimizante diz-se de anormal (cf. Observacao 14 e

linhas seguintes).

Teorema 42. Seja y(·) ∈ C2 um minimizante local para o problema isoperimetrico (2.31)-

(2.33). Entao existem dois numeros reais λ0 e λ, nao ambos nulos, tal que y(·) e extremal de

Euler-Lagrange do problema fundamental do Calculo das Variacoes∫ b

aL(x, y(x), y′(x)

)dx −→ extr , (2.38)

y(a) = ya , y(b) = yb ,

com L(x, y, y′) = λ0f(x, y, y′) + λg(x, y, y′), i.e.,

d

dx

∂L∂y′

(x, y(x), y′(x)

)− ∂L∂y

(x, y(x), y′(x)

)= 0 .

Demonstracao. Se y(·) for minimizante normal escolhemos λ0 = 1 e o Teorema 42 coincide

com o Teorema 40. Para minimizantes anormais, a condicao (2.36) reduz-se a

∫ b

a

(

fy −d

dxfy′

)

ϕi(x)dx = 0 .

Page 66: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

58 Calculo das Variacoes

O Lema Fundamental do Calculo das Variacoes da-nos a condicao fy− ddxfy′ = 0 cujas solucoes,

com duas constantes arbitrarias, nao satisfazem, em geral, as tres condicoes de admissibilidade

(2.32), (2.33) (o Teorema 40 nao fornece condicoes necessarias para minimizantes anormais:

λ0 = 1). O Teorema 2.38, ao introduzir um multiplicador adicional λ0 associado a f , permite

obter a seguinte condicao analoga a (2.36):

∫ b

a

[

λ0

(

fy −d

dxfy′

)

+ λ

(

gy −d

dxgy′

)]

ϕi(x)dx = 0 , i = 1, 2 . (2.39)

A condicao e trivialmente satisfeita no caso anormal (gy − ddxgy′ = 0) fazendo λ0 = 0.

Como exemplo vamos determinar as extremais para o problema isoperimetrico de Dido.

Exemplo 43 (problema de Dido – cf. Exemplo 28). Consideramos o problema isoperimetrico

(2.31)–(2.33) com f = y, g =√

1 + y′2, a = 0, b = 1, ya = yb = 0, ξ = π2 :

J [y(·)] =

∫ 1

0y(x)dx −→ max ,

∫ 1

0

1 + y′(x)2dx =π

2,

y(0) = 0 , y(1) = 0 .

Comecamos com algumas definicoes em Maple de ındole geral: determinacao da equacao de

Euler-Lagrange por intermedio do procedimento EL; determinacao das extremais atraves

da funcao extEL.

> restart;

> EL := proc(L)

> local Ly, Lv, dxLv:

> Ly := subs(y=y(x),v=diff(y(x),x),diff(L,y)):> Lv := subs(y=y(x),v=v(x),diff(L,v)):> dxLv := subs(v(x)=diff(y(x),x),diff(Lv,x)):> return(simplify(Ly-dxLv=0));

> end proc:

> extEL := (L,CI,CF) -> dsolve(EL(L),CI,CF,y(x)):

Provamos que o problema isoperimetrico nao admite extremais rıgidas.

> f := y:

> g := sqrt(1+v^2):

> L := f+lambda*g:

> extremais := extEL(L,y(0)=0,y(1)=0);

Page 67: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

2.5 Problemas isoperimetricos 59

extremais := y(x) = −√

−x2 + x− 1

4+ λ2 +

√−1 + 4λ2

2,

y(x) =

−x2 + x− 1

4+ λ2 −

√−1 + 4λ2

2> ELg := EL(g);

ELg := −d2

dx2 y(x)

(1 + ( ddx y(x))2)(3/2)= 0

> simplify(subs(extremais[1],ELg));

− 1

√−4x2 + 4x− 1 + 4λ2

λ2

−4x2 + 4x− 1 + 4λ2

= 0

> simplify(subs(extremais[2],ELg));

1

√−4x2 + 4x− 1 + 4λ2

λ2

−4x2 + 4x− 1 + 4λ2

= 0

Acabamos de mostrar que a solucao da equacao de Euler-Lagrange (2.37) nao e solucao

da equacao de Euler-Lagrange gy− ddxgy′ = 0, pelo que nao existem extremais rıgidas. Para

a determinacao das extremais falta determinar o λ de modo a que a restricao isoperimetrica

seja satisfeita.

> solve(-1+4*lambda^2 = 0);

1

2,−1

2> assume(lambda >= 1/2);

> r1 := simplify(int(subs(v=diff(rhs(extremais[1]),x),g),x=0..1));

r1 := 2 arcsin(1

2λ˜)λ˜

> r2 := simplify(int(subs(v=diff(rhs(extremais[2]),x),g),x=0..1));

r2 := 2 arcsin(1

2λ˜)λ˜

> fsolve(r1=Pi/2,lambda);

−0.5000000000

> assume(lambda <= -1/2);

> r1 := simplify(int(subs(v=diff(rhs(extremais[1]),x),g),x=0..1));

r1 := 2 arcsin(1

2λ˜)λ˜

> r2 := simplify(int(subs(v=diff(rhs(extremais[2]),x),g),x=0..1));

r2 := 2 arcsin(1

2λ˜)λ˜

> fsolve(r1=Pi/2,lambda);

−0.5000000000

Page 68: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

60 Calculo das Variacoes

> lambda := ’lambda’;

λ := λ

> sol := subs(lambda=-1/2,[extremais]);

sol := [y(x) = −√−x2 + x, y(x) =

√−x2 + x]

A extremal e um dos semicırculos de raio 12 e centro

(12 , 0):

y2 = −x2 + x⇔(

x− 1

2

)2

+ y2 =1

4.

Exercıcio 17. Determine todas as extremais C2 (candidatos a minimizante ou maximizante)

para os seguintes problemas isoperimetricos:

(a)

∫ 1

0

(x2 + y′(x)2

)dx −→ extr ,

∫ 1

0y(x)2dx = 2 ,

y(0) = 0 , y(1) = 0 .

(b)

∫ 1

0y′(x)2dx −→ extr ,

∫ 1

0

(y(x) − y′(x)2

)dx =

1

12,

y(0) = 0 , y(1) =1

4.

(c)

∫ 1

0y′2dx −→ extr ,

∫ 1

0ydx = ξ ,

y(0) = 0 , y(1) = 2 .

A abordagem ao problema isoperimetrico aqui discutida, pode ser facilmente generalizada:

para problemas isoperimetricos envolvendo derivadas de ordem superior; para problemas com

varias restricoes isoperimetricas; para problemas com varias variaveis dependentes (y(·) ∈C2 ([a, b]; Rn)); e suas combinacoes.

Page 69: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

2.6 Condicoes necessarias de ordem superior 61

2.6 Condicoes necessarias de ordem superior

As extremais de Euler-Lagrange sao as mesmas, independentemente do problema ser de

minimizacao ou maximizacao. A distincao entre as extremais candidatas a minimizantes e as

extremais candidatas a maximizantes e normalmente feita por recurso as condicoes necessarias

de ordem superior.

Consideremos o problema fundamental do Calculo das Variacoes:

F [y(·)] =

∫ b

af(x, y(x), y′(x))dx −→ extr ,

y(a) = ya , y(b) = yb , (2.40)

y(·) ∈ C2 ([a, b]; R) ,

onde assumimos o Lagrangeano f(·, ·, ·) suficientemente suave, em relacao a todos os seus

argumentos, de modo que os calculos desta seccao facam sentido. Seja y(·) uma solucao do

problema (2.40). A equacao de Euler-Lagrange foi obtida em §2.4 considerando variacoes de

y(·), y(·) + εϕ(·), com ϕ(a) = ϕ(b) = 0, e usando a condicao necessaria Φ′(ε)|ε=0, onde

Φ(ε) = F [y(·) + εϕ(·)] =

∫ b

af(x, y + εϕ, y′ + εϕ′)dx , ϕ(·) ∈ C2

0 ([a, b]; R) . (2.41)

Analisemos agora as derivadas de ordem superior de Φ(·) em ε = 0. Efectuando o calculo das

primeiras quatro derivadas

dn

dεnf(x, y(x) + εϕ(x), y′(x) + εϕ′(x)

)∣∣∣∣ε=0

(2.42)

obtemos:

n = 1 :∂f

∂yϕ(x) +

∂f

∂y′ϕ′(x) ;

n = 2 :∂2f

∂y2ϕ2(x) + 2

∂2f

∂y∂y′ϕ(x)ϕ′(x) +

∂2f

∂y′2ϕ2(x) ;

n = 3 :∂3f

∂y3ϕ3(x) + 3

∂3f

∂y2∂y′ϕ2(x)ϕ′(x) + 3

∂3f

∂y∂y′2ϕ(x)ϕ2(x) +

∂3f

∂y′3(ϕ′)3(x) ;

n = 4 :

∂4f

∂y4ϕ4(x) + 4

∂4f

∂y3∂y′ϕ3(x)ϕ′(x) + 6

∂4f

∂y2∂y′2ϕ2(x)ϕ2(x) + 4

∂4f

∂y∂y′3ϕ(x)(ϕ′)3(x)

+∂4f

∂y′4(ϕ′)4(x) .

Constatamos, para n = 1, 2, 3, 4, que os coeficientes de cada parcela em (2.42) coincidem com

os valores na n-esima linha do triangulo de Pascal (contamos as linhas a partir de zero):

Page 70: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

62 Calculo das Variacoes

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

. . . . . .

. . . . . . .

. . . . . . . .

E entao natural conjecturar a igualdade (2.43).

Teorema 44. A n-esima derivada Φ(n)(0) = dn

dεnF [y(·) + εϕ(·)]∣∣ε=0

e dada por:

dnΦ(ε)

dεn

∣∣∣∣ε=0

=

∫ b

a

(n∑

k=0

(n

k

)∂nf(x, y(x), y′(x))

∂yn−k∂y′kϕn−k(x)(ϕ′)k(x)

)

dx . (2.43)

Demonstracao. Vamos fazer a demonstracao por inducao sobre n. Para n = 1 (caso base)

(2.43) toma a forma

Φ′(0) =

∫ b

a

(1∑

k=0

(1

k

)∂f

∂y1−k∂y′kϕ1−k(x)(ϕ′)k(x)

)

dx =

∫ b

a

(∂f

∂yϕ(x) +

∂f

∂y′ϕ′(x)

)

dx ,

o que esta de acordo com (2.24). A partir da hipotese de inducao

djΦ(ε)

dεj

∣∣∣∣ε=0

=

∫ b

a

(j∑

k=0

(j

k

)∂jf

∂yj−k∂y′kϕj−k(x)(ϕ′)k(x)

)

dx , ∀j ≤ n ,

temos de demonstrar que

dn+1Φ(ε)

dεn+1

∣∣∣∣ε=0

=

∫ b

a

(n+1∑

k=0

(n+ 1

k

)∂n+1f

∂yn+1−k∂y′kϕn+1−k(x)(ϕ′)k(x)

)

dx . (2.44)

Atendendo a que

dn+1Φ(ε)

dεn+1

∣∣∣∣ε=0

=dn+1

dεn+1F [y(·) + εϕ(·)]

∣∣∣∣ε=0

=d

(dn

dεnF [y(·) + εϕ(·)]

)∣∣∣∣ε=0

,

pela hipotese de inducao temos

dn+1Φ(ε)

dεn+1

∣∣∣∣ε=0

=d

(∫ b

a

n∑

k=0

(n

k

)∂nf (x, y(x) + εϕ(x), y′(x) + εϕ′(x))

∂yn−k∂y′kϕn−k(x)(ϕ′)k(x) dx

)∣∣∣∣∣ε=0

,

ou seja,

dn+1Φ(ε)

dεn+1

∣∣∣∣ε=0

=

∫ b

a

[ n∑

k=0

(n

k

)∂n+1f

∂yn−k+1∂y′kϕn−k+1(x)(ϕ′)k(x)

+n∑

k=0

(n

k

)∂n+1f

∂yn−k∂y′k+1ϕn−k(x)(ϕ′)k+1(x)

]

dx .

Page 71: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

2.6 Condicoes necessarias de ordem superior 63

Fazendo a mudanca de variavel k = r + 1 no primeiro somatorio e substituindo k por r no

segundo obtemos

dn+1Φ(ε)

dεn+1

∣∣∣∣ε=0

=

∫ b

a

[ n−1∑

r=−1

(n

r + 1

)∂n+1f

∂yn−r∂y′r+1ϕn−r(x)(ϕ′)r+1(x)

+n∑

r=0

(n

r

)∂n+1f

∂yn−r∂y′r+1ϕn−r(x)(ϕ′)r+1(x)

]

dx

=

∫ b

a

n−1∑

r=0

[(n

r + 1

)

+

(n

r

)]∂n+1f

∂yn−r∂y′r+1ϕn−r(x)(ϕ′)r+1(x)

+∂n+1f

∂yn+1ϕn+1(x) +

∂n+1f

∂y′n+1(ϕ′)n+1(x)

dx . (2.45)

Tendo em conta que(nr

)+(nr+1

)=(n+1r+1

)(esta e a propriedade que esta por detras da

construcao do triangulo de Pascal: a soma do r-esimo e (r + 1)-esimo elementos da linha n

do triangulo de Pascal, da o valor do (r + 1)-esimo elemento da linha n + 1 do triangulo de

Pascal); que ∂n+1f∂yn+1ϕ

n+1(x) corresponde a parcela da soma para r = −1; e que ∂n+1f∂y′n+1 (ϕ′)n+1(x)

corresponde a parcela da soma para r = n; podemos reescrever (2.45) na forma

dn+1Φ(ε)

dεn+1

∣∣∣∣ε=0

=

∫ b

a

n∑

r=−1

(n+ 1

r + 1

)∂n+1f

∂yn−r∂y′r+1ϕn−r(x)(ϕ′)r+1(x) dx .

Voltando a variavel inicial k = r + 1, obtemos a igualdade (2.44) (a nossa tese):

dn+1Φ(ε)

dεn+1

∣∣∣∣ε=0

=

∫ b

a

n+1∑

k=0

(n+ 1

k

)∂n+1f

∂yn+1−k∂y′kϕn+1−k(x)(ϕ′)k(x) dx .

Pelo Teorema 5, obtemos do Teorema 44 o seguinte Corolario.

Corolario 45 (Condicao necessaria formal de ordem par). Se y(·) e minimizante (maxi-

mizante) do problema fundamental do calculo das variacoes (2.40) e diΦ(ε)dεi

∣∣∣ε=0

= 0, i =

1, . . . , 2n−1, n ∈ N, Φ(ε) dado por (2.41), entao Φ(2n)(0) ≥ 0 (respectivamente Φ(2n)(0) ≤ 0).

A condicao dada pelo Corolario 45 e tudo menos pratica. O objectivo desta seccao e

encontrar condicoes necessarias de ordem superior de natureza algorıtmica, util, eliminando

qualquer referencia as funcoes arbitrarias de variacao ϕ(·) que aparecem na definicao (2.41)

de Φ(ε). O seguinte Teorema elimina as referencias a ϕ(·) nas derivadas pares Φ(2n)(0).

Teorema 46 (Condicao necessaria de ordem par). Se y(·) e minimizante (maximizante) do

problema fundamental do calculo das variacoes (2.40) e diΦ(ε)dεi

∣∣∣ε=0

= 0, i = 1, . . . , 2n − 1,

n ∈ N, Φ(ε) dado por (2.41), entao y(·) satisfaz a condicao

∂2nf

∂y′2n(x, y(x), y′(x)

)≥ 0 , ∀x ∈ [a, b] (2.46)

Page 72: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

64 Calculo das Variacoes

(respectivamente ∂2nf∂y′2n (x, y(x), y′(x)) ≤ 0).

Demonstracao. Seja y(·) um minimizante do problema fundamental do calculo das variacoes

(2.40). Pelo Teorema 44 podemos escrever a seguinte expressao:

Φ(2n)(0) =d2nΦ(ε)

dε2n

∣∣∣∣ε=0

=

∫ b

a

2n∑

k=0

(2n

k

)∂2nf(x, y(x), y′(x))

∂y2n−k∂y′kϕ2n−k(x)(ϕ′)k(x)dx

=

∫ b

a

[2n−1∑

k=0

(2n

k

)∂2nf(x, y(x), y′(x))

∂y2n−k∂y′kϕ2n−k(x)(ϕ′)k(x) +

∂2nf(x, y(x), y′(x))∂y′2n

(ϕ′)2n(x)

]

dx .

(2.47)

Seja Qk(x) = ∂2nf(x,y(x),y′(x))∂y2n−k∂y′k

, k = 0, . . . , 2n − 1, x ∈ [a, b]. Como estamos a assumir que as

funcoes Qk(·) sao contınuas em [a, b], temos que |Qk(x)| < M , ∀x ∈ [a, b], ∀k = 0, . . . , 2n −1, para uma certa constante M > 0. Introduzimos tambem a seguinte notacao: P (x) =∂2nf(x,y(x),y′(x))

∂y′2n . P (x) tem aqui um papel predominante: existem funcoes ϕ(·) para as quais

|ϕ(x)| e pequeno para todo o x ∈ [a, b], mas a derivada |ϕ′(x)| nao; pelo contrario, se |ϕ′(x)|e pequena para todo o x ∈ [a, b], entao, uma vez que ϕ(·) ∈ C2

0 , |ϕ(x)| e tambem pequeno

para todo o x ∈ [a, b].

Suponhamos que existe um c ∈ [a, b] tal que P (c) < 0. A demonstracao e feita por reducao

ao absurdo: vamos mostrar que esse facto implica a existencia de uma funcao ϕ(·) para a

qual d2nΦ(ε)dε2n

∣∣∣ε=0

< 0, o que contradiz o Corolario 45. Uma vez que P (·) e contınua em [a, b],

existe um γ > 0 tal que P (x) < P (c)/2,∀x ∈]c − γ, c + γ[. Consideremos a seguinte funcao

ϕ(·), definida em [a, b]:

ϕ(x) =

sin4(π(x−c)γ

)

se x ∈ [c− γ, c+ γ]

0 se x 6∈ [c− γ, c+ γ]. (2.48)

Usamos o Maple para desenhar o grafico de ϕ(·) (desenhamos o grafico de ϕ(x), x ∈ [0, 2],

para c = 1 e γ = 0.5).

> varphi := (x,c,gamma) ->piecewise(x >= c-gamma and x <= c+gamma,

> sin((Pi*(x-c))/gamma)^4,0):

> plot(varphi(x,1,0.5),x=0..2);

Page 73: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

2.6 Condicoes necessarias de ordem superior 65

1

0,8

0,6

0,4

0,2

0

x

21,510,50

A funcao (2.48) e diferenciavel com continuidade:

ϕ′(x) =

4πγ sin3

(π(x−c)γ

)

cos(π(x−c)γ

)

se x ∈ [c− γ, c+ γ]

0 se x 6∈ [c− γ, c+ γ].

Para este ϕ(·), usando as notacoes introduzidas, vem de (2.47) que

d2nΦ(ε)

dε2n

∣∣∣∣ε=0

=2n−1∑

k=0

∫ c+γ

c−γ

(2n

k

)

Qk(x)ϕ2n−k(x)(ϕ′)k(x) +

∫ c+γ

c−γP (x)(ϕ′)2n(x)dx

≤2n−1∑

k=0

∫ c+γ

c−γ

(2n

k

)

|Qk(x)|∣∣∣ϕ2n−k(x)

∣∣∣

∣∣∣(ϕ′)k(x)

∣∣∣+

∫ c+γ

c−γP (x)(ϕ′)2n(x)dx .

Tendo em conta que | sin(x)| ≤ 1, | cos(x)| ≤ 1, para todo o x; que a amplitude do intervalo de

integracao e de 2γ; P (x) < P (c)/2; e |Qk(x)| < M ; podemos facilmente majorar d2nΦ(ε)dε2n

∣∣∣ε=0

como se segue:

d2nΦ(ε)

dε2n

∣∣∣∣ε=0

<2n−1∑

k=0

(2n

k

)

M

(4π

γ

)k

+ 2γP (c)

2

(4π

γ

)2n

= 2γM

2n−1∑

k=0

(2n

k

)(4π

γ

)k

+ P (c)γ

(4π

γ

)2n

= 2γM

[(

1 +4π

γ

)2n

−(

γ

)2n]

+ P (c)γ

(4π

γ

)2n

.

Multiplicando ambos os lados da desigualdade por γ2n−2 > 0 obtemos:

γ2n−2 d2nΦ(ε)

dε2n

∣∣∣∣ε=0

< 2M(γ + 4π)2n − (4π)2n

γ+P (c)(4π)2n

γ. (2.49)

Page 74: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

66 Calculo das Variacoes

Atendendo que

limγ→0

P (c)(4π)2n

γ= −∞ ,

limγ→0

(γ + 4π)2n − (4π)2n

γ= 2n(4π)2n−1 ,

concluımos que para γ suficientemente pequeno o segundo membro da desigualdade (2.49)

tem sinal negativo, ou seja, d2nΦ(ε)dε2n

∣∣∣ε=0

< 0. Este facto contradiz o Corolario 45. O absurdo

resulta de termos suposto a existencia de um c ∈ [a, b] tal que P (c) = ∂2nL(c,x(c),x(c))∂y′2n < 0.

Tendo em mente que a equacao de Euler-Lagrange e obtida usando a condicao de primeira

ordem Φ′(ε)|ε=0 = 0, podemos, no caso em que n = 2, eliminar facilmente a referencia as

variacoes arbitrarias ϕ(·) na condicao necessaria dada pelo Teorema 46. Obtemos entao a

condicao necessaria classica de Legendre.

Corolario 47 (Condicao necessaria de 2a ordem – condicao de Legendre). Se y(·) e um

minimizante local (respectivamente maximizante local) do problema fundamental do Calculo

das Variacoes (2.40), entao

fy′y′(x, y(x), y′(x)

)≥ 0 (2.50)

(respectivamente fy′y′ ≤ 0) para todo o x ∈ [a, b].

Vamos agora mostrar, com um exemplo, a utilidade pratica da condicao de Legendre

(2.50).

Exemplo 48. Consideremos o problema fundamental do Calculo das Variacoes (2.40) com

f(x, y, y′) = x√

1 + y′2, a = −1 e b = 1:

F [y(·)] =

∫ 1

−1x√

1 + y′2(x) dx −→ min ,

y(−1) = α , y(1) = β .

Os candidatos a minimizante sao obtidos por resolucao da equacao diferencial de Euler-

Lagrange (2.2). Tendo em conta que ∂f(x,y,y′)∂y = 0 e ∂f(x,y,y′)

∂y′ = xy′√1+y′2

, entao (2.2) toma a

forma:

d

dx

(

xy′(t)√

1 + y′2(x)

)

= 0 ⇔ xy′(x)√

1 + y′2(x)= c⇔ xy′(x) = c

1 + y′2(x) .

Resolvendo esta equacao diferencial, e usando as condicoes de fronteira, obtem-se os can-

didatos pretendidos (as extremais). Se usarmos a condicao de Legendre (2.50) nao precisamos,

no entanto, de determinar as extremais: elas nao podem ser extremantes (nao podem ser nem

minimizante nem maximizante). Com efeito

∂2f(x, y, y′)∂y′2

=x

(1 + y′2)3

Page 75: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

2.7 Condicao suficiente de Jacobi 67

e, por conseguinte, ∂2f∂y′2

≥ 0 para x ∈ [0, 1] e ∂2f∂y′2

≤ 0 para x ∈ [−1, 0]. O Corolario 47

permite-nos concluir que o problema considerado nao tem solucao.

A condicao de Legendre (2.50) e fruto da condicao necessaria para mınimo Φ′′(0) ≥ 0.

Pelo Teorema 6 sabemos que uma condicao suficiente e dada por Φ′′(0) > 0. Legendre

acreditava que a conclusao fy′y′ (x, y(x), y′(x)) > 0, para todo o x ∈ [a, b], era suficiente

para garantir a minimalidade de y(·). Chegou mesmo a construir uma “demonstracao” de

tal facto (demonstracao essa errada). Contudo, mesmo os erros dos grandes vultos sao uteis

– tendo como base tal “demonstracao” de Legendre, uma condicao suficiente foi mais tarde

desenvolvida por Jacobi.

2.7 Condicao suficiente de Jacobi

O obtencao das extremais constitui apenas um passo na resolucao concreta de um prob-

lema do Calculo das Variacoes. Conhecidas as extremais, um passo natural consiste em

recorrer a condicoes suficientes com o intuito de descobrir se a extremal em maos e, de facto,

solucao do problema.

Lema 49. Se y(·) e minimizante (maximizante) do problema fundamental do Calculo das

Variacoes (2.40), entao

I[ϕ(·)] =

∫ b

a

[(

fyy(x, y(x), y′(x)) − d

dxfyy′(x, y(x), y

′(x))

)

ϕ2(x)

+ fy′y′(x, y(x), y′(x))(ϕ′)2(x)

]

dx ≥ 0 (2.51)

(respectivamente I[ϕ(·)] ≤ 0) para todo o ϕ(·) ∈ C20 ([a, b]; R).

Demonstracao. O Teorema 44 permite-nos escrever:

d2

dε2Φ(ε)

∣∣∣∣ε=0

=

∫ b

a

(fyy(x, y, y

′)ϕ2 + 2fyy′(x, y, y′)ϕϕ′ + fy′y′(x, y, y

′)(ϕ′)2)dx . (2.52)

Integrando por partes o segundo termo na funcao integranda obtemos:

∫ b

a2fyy′(x, y, y

′)ϕϕ′dx = fyy′(x, y, y′)ϕ2

]b

a−∫ b

a

d

dxfyy′ϕ

2dx = −∫ b

a

d

dxfyy′ϕ

2dx . (2.53)

Substituindo (2.53) em (2.52) obtemos

Φ′′(0) =

∫ b

a

[(

fyy −d

dxfyy′

)

ϕ2 + fy′y′(ϕ′)2(x)

]

dx

e a conclusao segue da condicao necessaria dada pelo Teorema 5.

Page 76: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

68 Calculo das Variacoes

Com a notacao

P (x) = fy′y′(x, y(x), y′(x)) , Q(x) = fyy(x, y(x), y

′(x)) − d

dxfyy′(x, y(x), y

′(x)) ,

podemos escrever a funcional I[ϕ(·)] (2.51) da seguinte maneira:

I[ϕ(·)] =

∫ b

a

[P (x)ϕ′(x)2 +Q(x)ϕ(x)2

]dx , (2.54)

ϕ(a) = 0 , ϕ(b) = 0 ,

ϕ(·) ∈ C2 ([a, b]; R) .

A ideia de Jacobi foi estudar a funcional I[·] usando as proprias ferramentas do Calculo das

Variacoes. A equacao de Euler-Lagrange de (2.54) conduz-nos a chamada equacao de Jacobi :

d

dx

(2P (x)ϕ′(x)

)= 2Q(x)ϕ(x) ⇔ P (x)ϕ′′(x) + P ′(x)ϕ′(x) −Q(x)ϕ(x) = 0 . (2.55)

A equacao de Jacobi (2.55) tem a solucao trivial ϕ(x) ≡ 0.

Definicao 50. Se existir uma solucao nao-trivial ϕ(·) (i.e., ϕ(·) diferente da funcao nula)

para a equacao de Jacobi (2.55) que satisfaz ϕ(a) = ϕ(k) = 0, a < k < b, entao k diz-se um

ponto conjugado.

Jacobi demonstrou a seguinte condicao suficiente.

Teorema 51 (Condicao suficiente de Jacobi). Se

(i) y(·) satisfaz a equacao de Euler-Lagrange (2.2);

(ii) fy′y′ (x, y(x), y′(x)) > 0 ∀x ∈ [a, b] (condicao de Legendre fortalecida);

(iii) [a, b] nao contem pontos conjugados;

entao y(·) e minimizante do problema fundamental do Calculo das Variacoes (2.40).

Exercıcio 18. Determine o minimizante para o seguinte problema do Calculo das Variacoes:

J [y(·)] =

∫ b

ay′(x)2dx −→ min ,

y(a) = α , y(b) = β .

Exercıcio 19. Considere o seguinte problema:

∫ 1

0

(y′2 − c2y2 − 2y

)dx −→ min ,

y(0) = 0 , y(1) = 1 ,

onde c > 0. Para que valores de c a extremal de Euler-Lagrange e minimizante?

Page 77: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

Capıtulo 3

Controlo Optimo

A Teoria do Controlo Optimo e uma area relativamente recente da Matematica: nasceu em

meados dos anos cinquenta do seculo XX. E uma teoria importante que permite dar resposta

a muitos problemas que surgem nas mais diversas areas da Ciencia, como sejam a Engenharia

e as Ciencias do Espaco. Aqui apenas estudamos as ideias principais que permitem atacar tais

problemas. Em particular, damos enfase ao Princıpio do Maximo de Pontryagin, ilustrando

a sua importancia atraves de varios exemplos. Como veremos, o Controlo Optimo e uma

generalizacao do Calculo das Variacoes, permitindo-nos uma nova perspectiva aos problemas

ja estudados.

3.1 Formulacao do problema e sua relacao com o Calculo das

Variacoes

O estado de um certo sistema, em cada instante do tempo, e descrito por um numero de

parametros,

x = (x1, . . . , xn) ,

chamados variaveis de estado, cuja dinamica e descrita por um sistema de equacoes diferen-

ciais

x(t) =dx(t)

dt= ϕ (t, x(t), u(t)) , (3.1)

onde

u = (u1, . . . , um)

representam os controlos exercidos sobre o sistema, com a finalidade de controla-lo em de-

terminada direccao-objectivo. Tipicamente, os controlos satisfazem certas restricoes, que

poderao ser de varios tipos dependendo da natureza do problema. Neste curso consideramos

restricoes do tipo

u(t) ∈ U ⊆ Rm , ∀ t ∈ [a, T ] , (3.2)

69

Page 78: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

70 Controlo Optimo

U prescrito a priori. Os pares estado-controlo (x(·), u(·)) admissıveis, por vezes chamados de

processos, satisfazem o sistema de controlo (3.1) (tambem chamado de equacao de estado); a

restricao aos valores do controlo (3.2); e, possivelmente, condicoes de fronteira

x(a) = xa , x(T ) = xT

(T pode estar fixo ou nao; xa e/ou xT podem ser dados ou livres). O problema principal

consiste em determinar o processo (x(·), u(·)) que minimiza (ou maximiza) uma funcional-

objectivo

I[x(·), u(·)] =

∫ T

aL (t, x(t), u(t)) dt ,

L : [a, b]×Rn×Rm −→ R dada, i.e., encontrar o par admissıvel (x(·), u(·)) tal que I[x(·), u(·)] ≤I[x(·), u(·)], qualquer que seja o processo (x(·), u(·)). Vejamos alguns exemplos.

Exemplo 52. Considere-se um mıssil em movimento ascendente. Denotemos por x0(t) a sua

posicao ao longo do tempo; por x1(t) a sua velocidade. A segunda lei de Newton, forca igual

a massa vezes a aceleracao, permite-nos escrever:

u(t) −Mg = Mx0(t) ,

ou, de forma equivalente,

x0(t) = x1(t) ,

x1(t) = u(t)M − g .

Podemos considerar o problema de conduzir o mıssil de uma posicao inicial (no inıcio na

Terra: altura igual a zero, ou seja, x0(0) = 0; e velocidade nula: x1(0) = 0) ate uma altitude

H e velocidade V finais, pre-estabelecidas, em tempo mınimo (T livre):∫ T

01 dt −→ min (⇔ T −→ min) ,

x0(t) = x1(t) ,

x1(t) = u(t)M − g .

x0(0) = 0 , x1(0) = 0 ,

x0(T ) = H , x1(0) = V .

Notamos que do ponto de vista Fısico (nao existem forcas de propulsao de valor infinito!) faz

todo o sentido impor um limite (uma restricao) ao controlo: |u(t)| ≤ w, w dado.

Exemplo 53. Consideremos o problema de parar um pendulo. Representando por x0 a

posicao e por x1 a velocidade (x0(0) = x0, x0(T ) = 0, x1(0) = v0, x1(T ) = 0), a dinamica

do pendulo e igualmente descrita pela segunda lei de Newton: u(t)− kx0(t) = mx0(t), com k

uma constante positiva. De maneira equivalente,

x0(t) = x1(t) , x1(t) =u(t)

m− k

mx0(t) .

Page 79: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.1 Formulacao do problema e sua relacao com o Calculo das Variacoes 71

Podemos, por exemplo, considerar o problema de parar o pendulo em tempo mınimo,

∫ T

01 dt −→ min ,

ou o problema de para-lo com o mınimo gasto de energia:

∫ T

0u(t)2 dt −→ min .

Mais uma vez, do ponto de vista Fısico, e necessario impor um certo limite ao valor do controlo

(forca): |u(t)| ≤ w.

Exemplo 54. Um modelo matematico simplificado do sistema de controlo “automovel” e

descrito pelo sistema de equacoes diferenciais

x(t) = cos (θ(t) + u2(t))u1(t) ,

y(t) = sin (θ(t) + u2(t))u1(t) ,

θ(t) = sin (θ(t))u1(t) ,

onde temos dois controlos, acelerador/travao (ou, se quisemos, a forca do motor) u1(·);volante/angulo, u2(t). Tambem aqui, por razoes de ordem mecanica e fısica, existem cer-

tas restricoes aos valores dos controlos. Temos tres variaveis de estado: posicao x, y do carro

no plano e angulo θ. Sao possıveis varios problemas de Controlo Optimo. Por exemplo: ir

de um lugar a outro em tempo mınimo(∫ T

0 1 dt −→ min)

; ir de um lugar a outro gastando

o mınimo de combustıvel:∫ T0

(u1(t)

2 + u2(t)2)dt −→ min.

Exemplo 55 (Problema de Newton da Resistencia mınima). O maior trabalho cientıfico de

Newton, “Os Princıpios Matematicos da Filosofia Natural”, foi publicado em 1687. Neste

livro aparece um problema de optimizacao de natureza tecnica:

Determinar o corpo de rotacao, com uma dada largura T e alturaH, que menor

resistencia oferece quando em movimento, na direccao do seu eixo de simetria, num

fluido viscoso rarefeito.

Newton indicou a solucao para o seu problema, sem explicar como a obteve, e acrescentou

que o problema e pragmatico: nas suas palavras, “a solucao pode ser usada na construcao

de navios”. Na verdade, as hipoteses de Newton de meio raro fazem a solucao do problema

util, nao na construcao de navios, em movimento na agua, mas na construcao de veıculos

espaciais de alta altitude, onde o meio e rarefeito, como sejam satelites artificiais ou mısseis.

A solucao do problema de Newton encontra tambem aplicacao na construcao das balas das

pistolas (a velocidade do projectil e muito elevada e a interaccao com o ar pode ser em grande

parte desprezada). Dados dois pontos (0, 0) e (T,H) encontrar a funcao que os une e que,

Page 80: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

72 Controlo Optimo

por rotacao, gera o corpo de revolucao oferecendo a menor resistencia ao movimento num

meio raro. Matematicamente, o problema proposto por Newton consiste num problema de

Controlo Optimo:

R[u(·)] =

∫ T

0

t

1 + u(t)2dt −→ min

x(t) = u(t) , u(t) ≥ 0 ,

x(0) = 0 , x(T ) = H ,

T e H dados, T > 0, H > 0. Sem a restricao u(t) ≥ 0, o problema de Newton e um caso

particular do problema fundamental do Calculo das Variacoes. A restricao u(t) ≥ 0, alem de

fisicamente importante, e tambem matematicamente necessaria: sem ela o problema nao tem

solucao. O Problema de Newton da Resistencia mınima e considerado o primeiro problema

de Controlo Optimo. Sera estudado em detalhe na Seccao 3.6.

Comecamos por notar que o problema de Controlo Optimo inclui, como casos particulares,

todos os problemas do Calculo das Variacoes estudados. No que se segue, consideramos

x(t) ∈ Rn. O problema fundamental do Calculo das Variacoes (vectorial),

∫ b

af(t, x(t), x(t))dt −→ min ,

x(a) = xa , x(b) = xb ,

e equivalente ao problema de Controlo Optimo

I[x(·), u(·)] =

∫ b

af(t, x(t), u(t))dt −→ min ,

x(t) = u(t) ,

x(a) = xa , x(b) = xb ,

com m = n, U = Rn (nos problemas do Calculo das Variacoes nao existem restricoes aos

valores dos controlos).

O problema do Calculo das Variacoes com derivadas de ordem superior,

∫ b

aL(t, x(t), x(t), . . . , x(r)(t))dt −→ min ,

x(a) = x0a , x(b) = x0

b , (3.3)

...

x(r−1)(a) = xr−1a , x(r−1)(b) = xr−1

b ,

Page 81: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.1 Formulacao do problema e sua relacao com o Calculo das Variacoes 73

e tambem um caso particular do problema de Controlo Optimo. Introduzindo a notacao

x0(t) = x(t), · · · , xr−1(t) = x(r−1)(t), u(t) = x(r)(t), X =(x0, . . . , xr−1

), obtemos (U = Rn):

I [X(·), u(·)] =

∫ b

aL (t,X(t), u(t)) dt −→ min ,

x0(t) = x1(t)

x1(t) = x2(t)...

x(r−2)(t) = xr−1(t)

x(r−1)(t) = u(t)

⇔ X(t) = AX(t) +Bu(t) , (3.4)

X(a) = α , X(b) = β ,

com

A =

0 1 0 0 · · · 0

0 0 1 0 · · · 0

0 0 0 1 · · · 0...

......

.... . . 0

0 0 0 0 · · · 1

0 0 0 0 · · · 0

, B =

0...

0

1

, α =

x0a...

xr−1a

, β =

x0b...

xr−1b

.

Por ultimo, o problema isoperimetrico

∫ b

aL (t, x(t), x(t)) dt −→ min ,

∫ b

aKi (t, x(t), x(t)) dt = ai , i = 1, . . . , r ,

x(a) = xa , x(b) = xb ,

e igualmente um problema particular do problema de Controlo Optimo com U = Rn. Para

vermos isso, introduzimos r novas funcoes:

xn+1(t) =

∫ t

aK1 (τ, x(τ), x(τ)) dτ ,

...

xn+r(t) =

∫ t

aKr (τ, x(τ), x(τ)) dτ .

Temos entao

xn+i(t) = Ki (t, x(t), x(t)) , xn+i(a) = 0 , xn+i(b) = ai , i = 1, . . . , r

Page 82: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

74 Controlo Optimo

e o problema isoperimetrico pode ser escrito na forma equivalente

∫ b

aL (t, x1(t), . . . , xn(t), u1(t), . . . , un(t)) dt −→ min ,

xi(t) = ui(t) ,

xn+j(t) = Kj (t, x1(t), . . . , xn(t), u1(t), . . . , un(t)) ,

xi(a) = xai, xi(b) = xbi ,

xn+j(a) = 0 , xn+j(b) = aj ,

i = 1, . . . , n, j = 1, . . . , r.

Vemos entao que o Controlo Optimo e uma generalizacao do Calculo das Variacoes. As

grandes novidades sao:

• A possibilidade de haver restricoes aos valores dos controlos: u(t) ∈ U . Quando U e um

conjunto com fronteira, a teoria classica do Calculo das Variacoes deixa de ser valida.

• A possibilidade de trabalhar com classes de funcoes mais abrangentes. Por exemplo,

se U = [0, 1], e usual os controlos optimos serem descontınuos (chamados controlos

bang-bang) tomando o valor 0 ou 1. Existem mesmo situacoes em que o numero de

comutacoes do controlo optimo (o numero de pontos de descontinuidade de u(·)) e

infinito num intervalo de tempo finito (o chamado fenomeno de chattering).

Vamos dar enfase no nosso estudo as condicoes necessarias de optimalidade. Foram elas que

estiveram, tal como aconteceu no Calculo das Variacoes, na origem da Teoria Matematica

do Controlo Optimo, que nasceu com a demonstracao do famoso Princıpio do Maximo de

Pontryagin: condicao necessaria de primeira ordem para o problema de Controlo Optimo.

Vamos comecar (§3.2) com o caso mais simples em que o conjunto U coincide com todo

o espaco Euclidiano Rm (nao existem restricoes aos valores dos controlos). Para ja vamos

mostrar que a formulacao do problema de Controlo Optimo adoptada neste curso e generica:

problemas de Controlo Optimo de aspecto diferente podem ser convertidos para um problema

equivalente na forma adoptada.

3.2 Abordagem Hamiltoniana e a condicao necessaria de Hestenes

Na verdade, o Controlo Optimo sem restricoes aos valores dos controlos (U = Rm) corre-

sponde ao Calculo das Variacoes. No entanto, o Controlo Optimo usa uma outra perspectiva

ao assunto: a perspectiva Hamiltoniana, em contraste com a abordagem Lagrangeana que

Page 83: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.2 Abordagem Hamiltoniana e a condicao necessaria de Hestenes 75

usamos em §2. Consideramos entao o problema:

I [x(·), u(·)] =

∫ T

aL (t, x(t), u(t)) dt −→ min ,

x(t) = ϕ(t, x(t), u(t)) ,

(3.5)

com condicoes de fronteira apropriadas. Por simplicidade, consideramos

x(·) ∈ C2 ([a, T ]; Rn) , u(·) ∈ C1 ([a, T ]; Rm)

(estas sao as classes de funcoes tıpicas do Calculo das Variacoes elementar – em Controlo

Optimo consideram-se, normalmente, classes mais abrangentes). Tendo em conta a nossa

experiencia com o problema isoperimetrico, a tecnica dos multiplicadores de Lagrange e a

reducao do problema isoperimetrico a forma (3.5), e plausıvel considerar a funcional

J [x(·), u(·), ψ(·)] =

∫ T

a[ψ0L(t, x(t), u(t)) + ψ(t) · (ϕ(t, x(t), u(t)) − x(t))] dt −→ min (3.6)

(ψ0 = 1 caso normal; ψ0 = 0 caso anormal) e esperar que as solucoes optimas para o problema

de controlo optimo inicial possam ser encontradas resolvendo as equacoes de Euler-Lagrange

para J [·, ·, ·]. Uma vez que o Princıpio do Maximo de Pontryagin e uma afirmacao mais geral,

que sera abordada em §3.5, nao vamos insistir aqui, nesta fase, na demonstracao deste facto.

Se introduzirmos a funcao de Hamilton (o Hamiltoniano) H:

H(t, x, u, ψ0, ψ) = ψ0L(t, x, u) + ψ · ϕ(t, x, u) , (3.7)

(3.6) e equivalente a

J [x(·), u(·), ψ(·)] =

∫ T

a[H(t, x(t), u(t), ψ0, ψ(t)) − ψ(t) · x(t)] dt −→ min .

As equacoes de Euler-Lagrange dao-nos:

ddt

[∂∂x (H − ψ · x)

]= ∂

∂x (H − ψ · x)ddt

[∂∂u (H − ψ · x)

]= ∂

∂u (H − ψ · x)ddt

[∂∂ψ

(H − ψ · x)]

= ∂∂ψ (H − ψ · x)

−ψ = ∂H∂x

0 = ∂H∂u

0 = ∂H∂ψ − x .

Temos entao o seguinte resultado:

Teorema 56 (Condicao necessaria de 1a ordem de Hestenes para o problema de Con-

trolo Optimo sem restricoes aos valores dos controlos – princıpio do maximo fraco). Se

(x(·), u(·)) for minimizante do problema (3.5), entao existe um par nao nulo (ψ0, ψ(·)), com

ψ0 uma constante nao negativa (ψ0 ≥ 0) e ψ(·) uma funcao vectorial diferenciavel, tal que

(x(·), u(·), ψ0, ψ(·)) satisfaz:

Page 84: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

76 Controlo Optimo

(i) o sistema Hamiltoniano

x(t) = ∂H∂ψ (t, x(t), u(t), ψ0, ψ(t)) ,

ψ(t) = −∂H∂x (t, x(t), u(t), ψ0, ψ(t)) ;

(ii) a condicao de estacionaridade

∂H

∂u(t, x(t), u(t), ψ0, ψ(t)) = 0 ;

onde o Hamiltoniano H e definido por (3.7). Estas condicoes devem ser completadas com as

condicoes de fronteira do problema. Se nao forem fixas condicoes de fronteira, ou for apenas

especificada uma delas, em a ou T , surgem condicoes necessarias adicionais – as chamadas

condicoes de transversalidade: se x(a) for livre entao ψ(a) = 0; se x(T ) for livre entao

ψ(T ) = 0.

O Teorema 56 tem a sua genese nos trabalhos de Graves de 1933, tendo sido obtido

primeiramente por Hestenes em 1950. Trata-se de uma caso particular do Princıpio do

Maximo de Pontryagin (cf. §3.5). Aos quaternos (x(·), u(·), ψ0, ψ(·)) que satisfazem o Teo-

rema 56 chamamos extremais. A primeira equacao do sistema Hamiltoniano, x = ∂H∂ψ , nao e

mais do que o sistema de controlo x = ϕ(t, x, u). A segunda equacao do sistema Hamiltoniano,

ψ = −∂H∂x , e chamada de sistema adjunto.

Proposicao 57. Ao longo das extremais (x(·), u(·), ψ0, ψ(·)) do problema de controlo optimo

sem restricoes nos valores dos controlos verifica-se a seguinte propriedade:

dH

dt(t, x(t), u(t), ψ0, ψ(t)) =

∂H

∂t(t, x(t), u(t), ψ0, ψ(t)) .

Demonstracao. A derivada total do Hamiltoniano e dada por

dH

dt=∂H

∂t+∂H

∂x· x+

∂H

∂u· u+

∂H

∂ψ· ψ .

Usando o sistema Hamiltoniano e a condicao de estacionaridade, obtemos a igualdade pre-

tendida: dHdt = ∂H

∂t + ∂H∂x · ∂H∂ψ − ∂H

∂ψ · ∂H∂x = ∂H∂t .

Para o problema fundamental do Calculo das Variacoes H(t, x, u, ψ0, ψ) = ψ0L(t, x, u) +

ψ · u e obtemos, da Proposicao 57 e Teorema 56 os seguintes corolarios.

Corolario 58. Se x(·) for solucao do problema fundamental do Calculo das Variacoes entao:

(a) x(·) e uma extremal normal (podemos fazer ψ0 = 1, i.e., nao existem extremais anormais

para o problema fundamental do Calculo das Variacoes);

(b) x(·) satisfaz a equacao de Euler-Lagrange ddt∂L∂u = ∂L

∂x (cf. (2.2));

Page 85: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.2 Abordagem Hamiltoniana e a condicao necessaria de Hestenes 77

(c) se x(a) for livre, entao ∂L∂u (a, x(a), u(a)) = 0; se x(b) for livre, entao ∂L

∂u (b, x(b), u(b)) = 0

(cf. (2.3)).

Demonstracao. Para provarmos (a) basta escrever a condicao de estacionaridade:

∂H

∂u= 0 ⇔ ψ0

∂L

∂u+ ψ = 0 ⇔ ψ = −ψ0

∂L

∂u.

Se ψ0 = 0 isso implica que ψ = 0. Ora isso nao e possıvel pelo Teorema 56 (o par (ψ0, ψ) nao

e nulo). Concluımos entao que ψ0 6= 0 (so ocorre caso normal) e que

ψ(t) = −∂L∂u

(t, x(t), u(t)) . (3.8)

Derivando a igualdade (3.8) em relacao a t obtemos ψ = − ddt∂L∂u ; enquanto o sistema adjunto

afirma que ψ = −∂H∂x , ou seja, ψ = −∂L

∂x . Comparando as duas expressoes obtemos a equacao

de Euler-Lagrange: ddt∂L∂u = ∂L

∂x . Dado (3.8), as condicoes de transversalidade ψ(a) = 0,

ψ(b) = 0 (que aparecem quando nao sao especificadas, respectivamente, as condicoes de

fronteira x(a) e x(b)) tomam a forma em (c).

Corolario 59. Uma condicao necessaria para x(·) ser solucao do problema fundamental do

Calculo das Variacoes (x(t) = u(t)) e dada pela condicao classica de DuBois-Reymond:

∂L

∂t(t, x(t), x(t)) =

d

dt

L (t, x(t), x(t)) − ∂L

∂u(t, x(t), x(t)) · x(t)

.

Demonstracao. Atendendo a que pelo Corolario 58 nao existem extremais anormais (ψ0 = 1),

a condicao necessaria classica de DuBois-Reymond e consequencia imediata da igualdadedHdt = ∂H

∂t da Proposicao 57 e de (3.8).

Para o problema do Calculo das Variacoes com derivadas de ordem superior (3.4),

∫ b

aL(t, x0, x1, . . . , xr−1, u)dt −→ min ,

x0 = x1

x1 = x2

...

xr−2 = xr−1

xr−1 = u

xi(a) = αi , xi(b) = βi , i = 1, . . . , r − 1 (αi ∈ Rn) ,

o Hamiltoniano e dado por

H(t, x0, . . . , xr−1, u, ψ0, ψ

0, . . . , ψr−1)

= ψ0L(t, x0, . . . , xr−1, u

)+

r−2∑

i=0

ψi · xi+1 + ψr−1 · u

Page 86: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

78 Controlo Optimo

e obtemos do Teorema 56 a equacao de Euler-Lagrange de ordem superior (2.29) (equacao de

Euler-Poisson).

Corolario 60. Se x(·) for solucao do problema do Calculo das Variacoes com derivadas de

ordem superior (3.3), entao:

(a) x(·) e uma extremal normal (nao ocorre o caso anormal para o problema do Calculo das

Variacoes com derivadas de ordem superior);

(b) x(·) satisfaz a equacao de Euler-Lagrange de ordem superior:

r−1∑

i=0

(−1)idi

dti∂L

∂xi

+ (−1)rdr

dtr∂L

∂u= 0 .

Demonstracao. Da condicao de estacionaridade ∂H∂u = 0 obtemos ψr−1 = −ψ0

∂L∂u ; o sistema

adjunto toma a forma (i = 1, . . . , r − 1)

ψ0 = − ∂H∂x0

ψi = − ∂H∂xi

ψ0 = −ψ0∂L∂x0

ψi = −ψ0∂L∂xi − ψi−1 .

(3.9)

As condicoes

ψr−1 = −ψ0∂L

∂u,

ψi−1 = −ψi − ψ0∂L

∂xi, i = r − 1, . . . , 1 ,

dao-nos

ψr−1 = − ψ0∂L

∂u,

ψr−2 = + ψ0d

dt

∂L

∂u− ψ0

∂L

∂xr−1,

ψr−3 = − ψ0d2

dt2∂L

∂u+ ψ0

d

dt

∂L

∂xr−1− ψ0

∂L

∂xr−2,

...

ou, de um modo geral,

ψr−j = (−1)jψ0dj−1

dtj−1

∂L

∂u+ ψ0

j−1∑

k=1

(−1)j+kdj−1−k

dtj−1−k∂L

∂xr−k, j = 1, . . . , r . (3.10)

Se ψ0 = 0, a expressao (3.10) implica que todos os ψr−j , j = 1, . . . , r, sao nulos. Como pelo

Teorema 56 os multiplicadores nao podem ser todos nulos em simultaneo, concluımos que

nunca ocorre o caso anormal para o problema do Calculo das Variacoes com derivadas de

Page 87: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.2 Abordagem Hamiltoniana e a condicao necessaria de Hestenes 79

ordem superior (ψ0 = 1). A equacao de Euler-Lagrange de ordem superior e obtida usando

(3.9), ψ0 = − ∂L∂x0 ; derivando (3.10) para j = r,

ψ0 = (−1)rdr

dtr∂L

∂u+

r−1∑

k=1

(−1)r+kdr−k

dtr−k∂L

∂xr−k;

e comparando as expressoes (fazer a mudanca de variavel i = r − k):

(−1)rdr

dtr∂L

∂u+

r−1∑

i=1

[

(−1)idi

dti∂L

∂xi

]

= − ∂L

∂x0.

Exercıcio 20. Demonstre a condicao necessaria de DuBois-Reymond de ordem superior:

∂L

∂t

(

t, x(t), x(t), . . . , x(r)(t))

=d

dt

L(

t, x(t), x(t), . . . , x(r)(t))

−r∑

j=1

r−j∑

i=0

(

(−1)idi

dti∂L

∂xi+j

)

· x(j)(t)

.

Para isso particularize a igualdade dHdt = ∂H

∂t , dada pela Proposicao 57, para o problema

do Calculo das Variacoes com derivadas de ordem superior e use as igualdades obtidas na

demonstracao do Corolario 60.

O Teorema 56 fornece um algoritmo para determinar as extremais dos problemas de

Controlo Optimo sem restricoes aos valores dos controlos.

Algoritmo 61 (Obtencao das extremais para o problema (3.5)).

1. Escrever o Hamiltoniano associado ao problema.

2. Usar a condicao de estacionaridade e tentar obter os controlos u(·) em funcao das

variaveis de estado x(·) e multiplicadores ψ(·).

3. Substituir as expressoes dos controlos, encontradas no passo anterior, no sistema Hamil-

toniano e resolver o sistema de equacoes diferenciais ordinarias obtido com as condicoes

de fronteira do problema (ou respectivas condicoes de transversalidade), encontrando as

trajectorias extremais x(·) e respectivos multiplicadores ψ(·).

4. Substituir x(·) e ψ(·) nas expressoes encontradas no segundo passo, obtendo os controlos

extremais u(·).

Geralmente e preciso estudar o caso normal (ψ0 = 1) e anormal (ψ0 = 0) em separado.

Vejamos um exemplo de aplicacao do algoritmo acima delineado (aplicacao do Teorema 56).

Page 88: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

80 Controlo Optimo

Exemplo 62. Consideremos o problema de parar um pendulo no instante T = 1 com o

mınimo gasto de energia e sem restricoes ao valor do controlo: u(t) ∈ R ∀t ∈ [0, 1] (cf.

Exemplo 53 com massa unitaria m = 1 e constante k = π):

∫ 1

0u(t)2dt −→ min , (3.11)

x1(t) = x2(t) ,

x2(t) = −π2x1(t) + u(t) ,

x1(0) =π

4, x1(1) = 0 ,

x2(0) = 1 , x2(1) = 0 .

O Hamiltoniano e definido por H(t, x1, x2, ψ0, ψ1, ψ2, u) = ψ0u2 +ψ1x2 +ψ2

(−π2x1 + u

).

Usando o Sistema de Computacao Algebrica Maple fazemos:

> restart;

> # Passo 1: definic~ao do Hamiltoniano

> H := (x1,x2,psi0,psi1,psi2,u) -> psi0*u^2+psi1*x2+psi2*(-Pi^2*x1+u);

H := (x1 , x2 , ψ0 , ψ1 , ψ2 , u) 7→ ψ0 u2 + ψ1 x2 + ψ2

(−π2x1 + u

)

Da condicao de estacionaridade ∂H∂u = 0 tiramos que 2ψ0u+ψ2 = 0; da equacao ψ2 = − ∂H

∂x2

do sistema adjunto vem ψ2 = −ψ1, pelo que concluımos nao existirem extremais anormais:

ψ0 = 0 ⇒ ψ2 = 0 ⇒ ψ1 = 0 e, pelo Teorema 56, isso nao e possıvel (os multiplicadores

nao podem ser todos nulos).

> # Estudo do caso anormal: psi0 = 0

> # Passo 2

> D[6](H)(x1(t),x2(t),0,psi1(t),psi2(t),u(t)) = 0; # condic~ao de estacionaridade

ψ2 (t) = 0

> # E facil de ver que psi0 n~ao pode ser zero (n~ao ocorre caso anormal)

> # Ja vimos que psi0 = 0 implica psi2(t) = 0.

> # Vamos agora ver que pelo sistema adjunto tambem temos psi1(t) = 0

> # eq1A e eq2A formam o sistema adjunto para o caso anormal

> eq1A := diff(psi1(t),t) = - D[1](H)(x1(t),x2(t),0,psi1(t),0,u(t));

eq1A := ddtψ1 (t) = 0

> eq2A := diff(0,t) = - D[2](H)(x1(t),x2(t),0,psi1(t),0,u(t));

eq2A := 0 = −ψ1 (t)

> # Terıamos ent~ao todos os multiplicadores simultaneamente nulos

> # Concluımos que n~ao ocorre caso anormal: podemos fixar psi0=1

Page 89: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.2 Abordagem Hamiltoniana e a condicao necessaria de Hestenes 81

Fixamos entao ψ0 = 1 (caso normal) e, da condicao de estacionaridade, concluımos que

u = −ψ2

2 . Substituindo a expressao do u no sistema Hamiltoniano e usando as condicoes

de fronteira, obtemos as trajectorias extremais e respectivos multiplicadores.

> # Passo 2 (caso normal: a partir de agora fixamos sempre psi0 = 1)

> u := t -> solve(D[6](H)(x1(t),x2(t),1,psi1(t),psi2(t),u) = 0,u):

> u(t); # express~ao do controlo obtida pela condic~ao de estacionaridade

−12 ψ2 (t)

> # Passo 3 (eq1, eq2, eq3 e eq4 formam o sistema Hamiltoniano)

> eq1 := diff(psi1(t),t) = - D[1](H)(x1(t),x2(t),1,psi1(t),psi2(t),u(t));

eq1 := ddtψ1 (t) = ψ2 (t)π2

> eq2 := diff(psi2(t),t) = - D[2](H)(x1(t),x2(t),1,psi1(t),psi2(t),u(t));

eq2 := ddtψ2 (t) = −ψ1 (t)

> eq3 := diff(x1(t),t) = D[4](H)(x1(t),x2(t),1,psi1(t),psi2(t),u(t));

eq3 := ddtx1 (t) = x2 (t)

> eq4 := diff(x2(t),t) = D[5](H)(x1(t),x2(t),1,psi1(t),psi2(t),u(t));

eq4 := ddtx2 (t) = −π2x1 (t) − 1

2 ψ2 (t)

> sol := dsolve(eq1,eq2,eq3,eq4,x1(0)=Pi/4,x2(0)=1,x1(1)=0,x2(1)=0):

> assign(sol);

> # extremais (trajectorias e multiplicadores extremais)

> simplify(x1(t));

−14

−4 sin(π t)−π sin(π t)−cos(π t)π2+4 sin(π t)t+cos(π t)π2tπ

> simplify(x2(t));

14

4π cos(π t)−4 sin(π t)−π3 sin(π t)−4 cos(π t)π t+π3 sin(π t)tπ

> simplify(psi1(t));

π(4 sin (π t) + cos (π t)π2

)

> simplify(psi2(t));

4 cos (π t) − sin (π t)π2

Atendendo a que ψ2(t) = 4 cos (πt) − sin (πt)π2 obtemos facilmente o controlo extremal

u = −ψ2

2 :

> # Passo 4: controlo extremal

> u(t);

−2 cos (π t) + 1/2 sin (π t)π2

Neste caso a extremal encontrada e mesmo solucao do problema (cf. Teorema 63). O

mınimo global da funcional (3.11) e 18π

4 + 2.

Page 90: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

82 Controlo Optimo

> # Valor da funcional ao longo da extremal

> int(u(t)^2,t=0..1);

18 π

4 + 2

Exercıcio 21. Determine as extremais do seguinte problema de Controlo Optimo:

∫ 1

0

(x2 − xu+ u2

)dt −→ min , x = x+ u , x(0) = x0 , x(1) = x1 .

3.3 Condicao suficiente

Na seccao anterior, §3.2, abordamos a questao das condicoes necessarias de optimalidade

para o problema (3.5). Sob condicoes apropriadas de convexidade do Lagrangeano L(·, ·, ·) e

linearidade do sistema de controlo (ϕ(t, x, u) = Ax+Bu) e possıvel estabelecer uma condicao

suficiente de optimalidade.

Teorema 63. Considere-se o problema de Controlo Optimo com sistema linear de controlo,

I [x(·), u(·)] =

∫ T

aL (t, x(t), u(t)) dt −→ min ,

x(t) = ϕ(t, x(t), u(t)) = Ax(t) +Bu(t) ,

(x(a) = xa) , (x(T ) = xT ) ,

onde colocamos as condicoes de fronteira entre parentesis para indicar que elas podem estar

ou nao presentes. Se L(t, x, u) for convexa em x e u, para todo o t ∈ [a, T ] fixo, entao as

extremais normais obtidas pelo Teorema 56 (princıpio do maximo fraco) sao solucao optima

do problema (minimizante global).

Demonstracao. Sejam (x(·), u(·)) um par que satisfaz as condicoes necessarias de optimalidade

dadas pelo Teorema 56 com ψ0 = 1 (caso normal) e (x(·), u(·)) um par admissıvel qualquer.

Vamos medir a diferenca I [x(·), u(·)] − I [x(·), u(·)] e concluir que ela nao pode ser negativa,

I [x(·), u(·)] − I [x(·), u(·)] ≥ 0 ⇔ I [x(·), u(·)] ≤ I [x(·), u(·)] ,

como pretendemos provar. O Hamiltoniano e dado por H = L(t, x, u) + ψ · (Ax + Bu). Por

definicao de convexidade podemos escrever:

I [x(·), u(·)] − I [x(·), u(·)] =

∫ T

a[L(t, x, u) − L(t, x, u)] dt

≥∫ T

a

[∂L

∂x(t, x, u) (x− x) +

∂L

∂u(t, x, u) (u− u)

]

dt . (3.12)

Page 91: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.4 Programacao Dinamica em tempo contınuo 83

Da condicao de estacionaridade ∂H∂u = 0 sabemos que existe um ψ(·) tal que

∂L

∂u(t, x, u) + ψ(t)B = 0 ⇔ ∂L

∂u(t, x, u) = −ψ(t)B ;

enquanto do sistema adjunto, ψ = −∂H∂x ,

ψ(t) = −∂L∂x

(t, x, u) − ψ(t)A⇔ ∂L

∂x(t, x, u) = −ψ(t) − ψ(t)A ;

pelo que vem de (3.12) que

I [x(·), u(·)] − I [x(·), u(·)] ≥∫ T

a

[(

−ψ(t) − ψ(t)A)

(x(t) − x(t)) − ψ(t)B (u(t) − u(t))]

dt .

Fazendo primitivacao por partes, e usando as condicoes de fronteira ou as condicoes de

transversalidade, sabemos que

∫ T

aψ(t) (x(t) − x(t)) dt = (x(t) − x(t))ψ(t)|Ta −

∫ T

a

(x(t) − ˙x(t)

)ψ(t)dt

= −∫ T

a[Ax(t) +Bu(t) −Ax(t) −Bu(t)]ψ(t)dt ,

de onde vem a desigualdade pretendida:

I [x(·), u(·)] − I [x(·), u(·)]

≥∫ T

aψ(t) [Ax(t) +Bu(t) −Ax(t) −Bu(t) −A (x(t) − x(t)) −B (u(t) − u(t))] dt ≥ 0 .

Exercıcio 22. Determinar o controlo optimo e respectivas trajectorias minimizantes para os

seguintes problemas de Controlo Optimo:

(a)∫ 1

0u(t)2dt −→ min , x(t) = u(t) + ax(t) , a ∈ R , x(0) = 1 .

(b)∫ 1

0u(t)2dt −→ min ,

x1(t) = x2(t) ,

x2(t) = u(t) ,x1(0) = 1 , x1(1) = 0 , x2(0) = 1 .

3.4 Programacao Dinamica em tempo contınuo

Sob hipoteses realısticas, os controlos admissıveis estao normalmente sujeitos a limites no

seu valor. Tipicamente, esses limites sao formulados exigindo que u(t) ∈ U , ∀t ∈ [a, T ], onde

Page 92: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

84 Controlo Optimo

U e um subconjunto apropriado de Rm. Estamos entao interessados em resolver o seguinte

problema:∫ T

aL (t, x(t), u(t)) dt −→ min ,

x(t) = ϕ (t, x(t), u(t)) , u(t) ∈ U ,

x(a) = xa , x(T ) = xT .

(3.13)

Como tem vindo a ser habito ao longo deste curso, estamos especialmente interessados em

condicoes necessarias de optimalidade, condicoes essas que as solucoes do problema satis-

fazem. Vamos obter o Princıpio do Maximo de Pontryagin, a condicao necessaria de primeira

ordem para problemas genericos do Controlo Optimo, seguindo a abordagem da Programacao

Dinamica. Esta abordagem e baseada no chamado Princıpio de Bellman. O Princıpio de

Bellman, aplicado ao caso contınuo que aqui estudamos, proporciona tambem outra perspec-

tiva aos problemas do Calculo das Variacoes: a enfase e colocada, nao nas solucoes optimas,

como e habitual nas abordagens variacionais, mas sim nos valores optimos da funcional.

Definicao 64. Seja x ∈ Rn. Definimos a funcao valor S : [a, T ] × Rn → R por

S(t, x) = min(x(·),u(·))

∫ T

tL (τ, x(τ), u(τ)) dτ :

x(τ) = ϕ (τ, x(τ), u(τ)) , u(τ) ∈ U , x(t) = x , x(T ) = xT

.

A Programacao Dinamica e baseada na seguinte propriedade fundamental:

Princıpio de Bellman. Para todo o t′ > t e valida a seguinte igualdade:

S(t, x) = min(z(·),v(·))

[∫ t′

tL (τ, z(τ), v(τ)) dτ : z′(τ) = ϕ (τ, z(τ), v(τ)) , v(τ) ∈ U ,

z(t) = x , z(t′) = x+ y(t′ − t)

]

+ S(t′, x+ y(t′ − t)

). (3.14)

A propriedade (3.14) pode ser escrita na seguinte forma:

0 = min(z(·),v(·))

[

1

t′ − t

∫ t′

tL (τ, z(τ), v(τ)) dτ : z′(τ) = ϕ (τ, z(τ), v(τ)) , v(τ) ∈ U ,

z(t) = x , z(t′) = x+ y(t′ − t)

]

+S (t′, x+ y(t′ − t)) − S(t, x)

t′ − t.

Tomando o limite quando t′ → t concluımos que (reparar que z(t′)−z(t)t′−t = y)

0 = minv∈U

[L(t, x, v) : y = ϕ(t, x, v)] +∂S

∂t(t, x) +

∂S

∂x(t, x) · y ,

Page 93: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.4 Programacao Dinamica em tempo contınuo 85

ou seja,

∂S

∂t(t, x) = −min

v∈U

[

L(t, x, v) +∂S

∂x(t, x) · ϕ(t, x, v)

]

. (3.15)

Vamos derivar, formalmente, as equacoes de Hamilton-Jacobi do Controlo Optimo. Supon-

hamos que para todo o t ∈ [a, T ] e todo o x ∈ Rn existe um processo optimal (x(·), u(·)) solucao

do problema de Controlo Optimo

C[t, x(·), u(·)] =

∫ T

tL (τ, x(τ), u(τ)) dτ −→ min ,

x(τ) = ϕ (τ, x(τ), u(τ)) , u(τ) ∈ U ,

x(t) = x , x(T ) = xT .

Temos entao que x(t) = x e

S(t, x) = S (t, x(t)) = C[t, x(·), u(·)] =

∫ T

tL (τ, x(τ), u(τ)) dτ .

Derivando em ordem a t obtemos

∂S

∂t(t, x(t)) +

∂S

∂x(t, x(t))ϕ (t, x(t), u(t)) = −L (t, x(t), u(t)) , (3.16)

ou seja,

∂S

∂t(t, x(t)) = −

L (t, x(t), u(t)) +∂S

∂x(t, x(t))ϕ (t, x(t), u(t))

.

Comparando com (3.15), e tendo em mente que x(t) = x, concluımos que

L (t, x(t), u(t)) +∂S

∂x(t, x(t)) · ϕ (t, x(t), u(t))

= minv∈U

[

L (t, x(t), v) +∂S

∂x(t, x(t)) · ϕ (t, x(t), v)

]

. (3.17)

Se fizermos

ψ(t) = ψ0∂S

∂x(t, x(t)) , (3.18)

ψ0 constante, obtemos

ψ(t) =d

dt

ψ0∂S

∂x(t, x(t))

= ψ0∂2S

∂t∂x(t, x(t)) + ψ0

∂2S

∂x2(t, x(t)) · ϕ (t, x(t), u(t))

= ψ0∂

∂x

(∂S

∂t(t, x(t)) +

∂S

∂x(t, x(t)) · ϕ(t, x(t), u(t))

)

− ψ0∂S

∂x(t, x(t))

∂x(ϕ(t, x(t), u(t)))

(3.16)= −ψ0

∂L

∂x(t, x(t), u(t)) − ψ(t) · ∂ϕ

∂x(t, x(t), u(t)) .

(3.19)

Page 94: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

86 Controlo Optimo

Introduzindo o Hamiltoniano (3.7), H(t, x, u, ψ0, ψ) = ψ0L(t, x, u) + ψ · ϕ(t, x, u), podemos

escrever (3.17) e (3.19) respectivamente na forma

H (t, x(t), u(t), ψ0, ψ(t)) = minv∈U

[H (t, x(t), v, ψ0, ψ(t))] , (3.20)

ψ(t) = −∂H∂x

(t, x(t), u(t), ψ0, ψ(t)) . (3.21)

As condicoes (3.20) e (3.21) constituem o amago do Princıpio do Maximo de Pontryagin.

Usando (3.20) e (3.18) em (3.16), conjuntamente com a definicao do HamiltonianoH, obtemos

a equacao de Hamilton-Jacobi-Bellman do Controlo Optimo:

ψ0∂S

∂t(t, x(t)) + min

v∈UH

(

t, x(t), v, ψ0, ψ0∂S

∂x(t, x(t))

)

= 0 . (3.22)

Notamos que a condicao (3.22) (assim como (3.20)) e facilmente escrita na forma de maximo:

fazendo p0 = −ψ0, a equacao de Hamilton-Jacobi-Bellman (3.22) e equivalente a

−p0∂S

∂t(t, x(t)) + max

v∈UH

(

t, x(t), v, p0, p0∂S

∂x(t, x(t))

)

= 0 .

3.5 Princıpio do Maximo de Pontryagin

As condicoes necessarias (3.20) e (3.21) formam o celebre Princıpio do Maximo de Pon-

tryagin, que e a condicao necessaria por excelencia do Controlo Optimo.

Teorema 65 (Princıpio do Maximo de Pontryagin – aqui com a condicao de maximo na

forma de mınimo). Se (x(·), u(·)) e solucao optima do problema de Controlo Optimo (3.13),

entao existe uma funcao vectorial ψ(·) e uma constante ψ0 ≥ 0, com o par (ψ0, ψ(·)) nao

nulo, tal que as seguintes condicoes sao satisfeitas:

(i) o sistema Hamiltoniano

x(t) = ∂H∂ψ (t, x(t), u(t), ψ0, ψ(t)) (sistema de controlo) ,

ψ(t) = −∂H∂x (t, x(t), u(t), ψ0, ψ(t)) (sistema adjunto) ;

(3.23)

(ii) a condicao de mınimo

H (t, x(t), u(t), ψ0, ψ(t)) = minv∈U

H (t, x(t), v, ψ0, ψ(t)) ;

onde o Hamiltoniano H e definido por H(t, x, u, ψ0, ψ) = ψ0L(t, x, u) + ψ · ϕ(t, x, u).

Definicao 66. A um quaterno (x(·), u(·), ψ0, ψ(·)) que satisfaz o Princıpio do Maximo de

Pontryagin chamamos extremal de Pontryagin.

Page 95: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.5 Princıpio do Maximo de Pontryagin 87

Observacao 67. A condicao de mınimo do Teorema 65 e um problema de Programacao

Matematica nao-linear . Se U for um conjunto aberto ela implica a condicao de estacionari-

dade ∂H∂u = 0 do Teorema 56.

Antes de aplicarmos o Princıpio do Maximo de Pontryagin a problemas concretos do

Controlo Optimo, vamos obter, como corolario, mais uma condicao classica de optimalidade

do Calculo das Variacoes.

Corolario 68 (condicao necessaria de Weierstrass). Se x(·) e solucao do problema funda-

mental do Calculo das Variacoes,

J [x(·)] =

∫ b

aL(t, x(t), x(t))dt −→ min ,

x(a) = A , x(b) = B ,

entao x(·) satisfaz a seguinte desigualdade:

L(t, x(t), v) − L(t, x(t), x(t)) − ∂L

∂u(t, x(t), x(t)) · (v − x(t)) ≥ 0 , ∀ v ∈ Rn .

Demonstracao. Ja demonstramos (Corolario 58) que para o problema fundamental do Calculo

das Variacoes nao existem extremais anormais (ψ0 = 1) e o Hamiltoniano toma a forma

H(t, x, u, ψ) = L(t, x, u) + ψ · u, com ψ(t) = −∂L∂u (t, x(t), u(t)), u(t) = x(t) – cf. (3.8). A

condicao necessaria de Weierstrass e uma consequencia imediata da condicao de mınimo do

Princıpio do Maximo de Pontryagin (Teorema 65):

H (t, x(t), u(t), ψ(t)) = minv∈Rn

H (t, x(t), v, ψ(t))

⇔ L(t, x(t), x(t)) − ∂L

∂u(t, x(t), x(t)) · x(t) ≤ L(t, x(t), v) − ∂L

∂u(t, x(t), x(t)) · v ∀ v ∈ Rn

⇔ L(t, x(t), v) − L(t, x(t), x(t)) − ∂L

∂u(t, x(t), x(t)) · (v − x(t)) ≥ 0 , ∀ v ∈ Rn .

Exemplo 69 (aplicacao do Princıpio do Maximo de Pontryagin). Consideramos um objecto

movel de massa unitaria, de deslocacao unidimensional, cuja posicao x(t) podemos controlar

por meio de um acelerador u(t). A aceleracao maxima possıvel e b e a maxima forca de

travagem e −a, i.e., −a ≤ u(t) ≤ b. De acordo com a nossa notacao, U = [−a, b]. Comecando

em repouso (x(0) = 0) e terminando em repouso (x(T ) = 0), queremos viajar da origem

(x(0) = 0) ate α (x(T ) = α) em tempo mınimo (T → min). Qual a estrategia optima? A

funcional custo a minimizar e ∫ T

01dt ,

sob as restricoes x(t) = u(t) (segunda lei de Newton), u(t) ∈ U , x(0) = x(0) = 0, x(T ) = α,

x(T ) = 0. Se escrevermos a equacao diferencial de segunda ordem x(t) = u(t) num sistema de

Page 96: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

88 Controlo Optimo

primeira ordem, da maneira usual, por meio das funcoes x1(t) = x(t), x2(t) = x(t), obtemos

o seguinte problema de Controlo Optimo:

∫ T

01dt −→ min (T −→ min) ,

x1 = x2 ,

x2 = u ,u ∈ [−a, b] ,

x1(0) = x2(0) = 0 , x1(T ) = α , x2(T ) = 0 .

O Hamiltoniano e entao dado por

H(x2, u, ψ0, ψ1, ψ2) = ψ0 + ψ1x2 + ψ2u .

A condicao de mınimo diz-nos que

ψ0 + ψ1(t)x2(t) + ψ2(t)u(t) = minv∈[−a,b]

ψ0 + ψ1(t)x2(t) + ψ2(t)v ,

ou seja,

ψ2(t)u(t) = minv∈[−a,b]

ψ2(t)v . (3.24)

Por outro lado o sistema adjunto toma a forma

ψ1 = − ∂H∂x1

ψ2 = − ∂H∂x2

ψ1 = 0

ψ2 = −ψ1

ψ1 = −dψ2 = dt+ c

(c e d constantes). Substituindo a expressao de ψ2 (ψ2 = dt+c) na condicao de mınimo (3.24)

temos:

(dt+ c)u(t) = min−a≤v≤b

(dt+ c) v .

Uma vez que a expressao (dt+ c) v e linear em v, o mınimo e atingido num dos pontos da

fronteira do intervalo [−a, b]. Em qual dos pontos, −a ou b, tudo depende do sinal de (dt+ c).

Por conseguinte concluımos, de imediato, que o controlo extremal deve ter a forma

u(t) =

−a se dt+ c > 0 ,

b se dt+ c < 0 ,

qualquer valor se dt+ c = 0 .

Do ponto de vista Fısico faz todo o sentido comecar, em t = 0, com u(t) = b (se queremos

chegar a α em tempo mınimo comecamos por acelerar o maximo possıvel) e, uma vez que

dt + c, sendo linear em t, so pode passar em zero no maximo uma vez, concluımos que so

pode haver uma mudanca de sinal de (dt+ c) (tem de haver necessariamente uma mudanca

Page 97: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.5 Princıpio do Maximo de Pontryagin 89

de sinal uma vez que, para estarmos em repouso no final, temos, num certo instante de tempo

0 < τ < T , comecar a travar). Consequentemente, o controlo extremal tera a forma

u(t) =

b se 0 ≤ t ≤ τ ,

−a se τ ≤ t ≤ T .

Falta determinar o instante τ que, obviamente, ira depender de a, b e α. Para t ∈ [0, τ ] temos

u = b e precisamos resolver o sistema

x1 = x2 ,

x2 = b ,x1(0) = x2(0) = 0 .

A solucao e dada por

x2(t) = bt ,

x1(t) = b2 t

2 ,t ∈ [0, τ ] .

Em t = τ (τ a ser determinado) ocorre uma mudanca da dinamica (provocada pela mudanca

no controlo) e temos de resolver:

x1 = x2 ,

x2 = −a ,x1(τ) =

bτ2

2, x2(τ) = bτ .

Resulta

x2(t) = bτ − a(t− τ) ,

x1(t) = bτ(t− τ

2

)− a

2 (t− τ)2 ,t ∈ [τ, T ] .

Temos duas incognitas, τ e T , que sao agora determinadas por intermedio das restantes

condicoes de fronteira: x1(T ) = α, x2(T ) = 0. Calculos directos mostram que

τ =

2aα

b(a+ b), T =

2(a+ b)α

ab. (3.25)

Em Maple as igualdades (3.25) sao facilmente obtidas:

> restart;

> x1 := t -> b*tau*(t-tau/2)-(a/2)*(t-tau)^2:

> x2 := t -> b*tau-a*(t-tau):

> T1 := solve(x2(T)=0,T);

T1 := τ (b+a)a

> T2 := solve(x1(T)=alpha,T);

T2 := aτ+bτ+√aτ2b+b2τ2−2 aαa , aτ+bτ−

√aτ2b+b2τ2−2 aαa

> stau := solve(T1 = T2[1],tau);

Page 98: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

90 Controlo Optimo

stau :=√

2√b(b+a)aα

b(b+a) , −√

2√b(b+a)aα

b(b+a)

> solve(T1 = T2[2],tau);√

2√b(b+a)aα

b(b+a) , −√

2√b(b+a)aα

b(b+a)

> tau := stau[1];

τ :=√

2√b(b+a)aα

b(b+a)

> T := T1;

T :=√

2√b(b+a)aα

ab

Exemplo 70 (aplicacao do Princıpio do Maximo de Pontryagin). Vamos agora determinar

as extremais de Pontryagin para um problema de tempo mınimo em que temos duas variaveis

de estado e dois controlos:

T −→ min ,

x1 = −x2 + u1 ,

x2 = x1 + u2 ,(3.26)

(u1(t), u2(t)) ∈ U =(u1, u2) ∈ R2 : u2

1 + u22 ≤ 1

, t ∈ [0, T ] ,

x1(0) = a , x2(0) = b , x1(T ) = 0 , x2(T ) = 0 .

O Hamiltoniano e dado por

H(t, x1, x2, u1, u2, ψ0, ψ1, ψ2) = ψ0 + ψ1 (−x2 + u1) + ψ2 (x1 + u2) .

A condicao de mınimo toma a forma

ψ1u1 + ψ2u2 = min(v1,v2)

ψ1v1 + ψ2v2 : v2

1 + v22 ≤ 1

. (3.27)

A condicao (3.27) nao e mais do que um problema de Programacao Matematica nao-linear.

Exercıcio 23. Usando a condicao de optimalidade de Karush-Kuhn-Tucker (Teorema 20),

mostre que a solucao optima de (3.27) e dada por

u1 = − ψ1√

ψ21 + ψ2

2

, u2 = − ψ2√

ψ21 + ψ2

2

. (3.28)

Determinamos ψ1(·) e ψ2(·) usando o sistema adjunto,

ψ1 = − ∂H∂x1

,

ψ2 = − ∂H∂x2

,⇔

ψ1 = −ψ2 ,

ψ2 = ψ1 ;

substituindo as expressoes encontradas para ψ1 e ψ2 em (3.28) obtem-se os controlos ex-

tremais; por fim, substituindo os controlos extremais no sistema de controlo (3.26), a

Page 99: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.5 Princıpio do Maximo de Pontryagin 91

resolucao do sistema de equacoes diferenciais resultante conduz-nos as trajectorias ex-

tremais. Todos os calculos sao facilmente feitos com a ajuda do Sistema de Computacao

Algebrica Maple.

> restart;

> psis := dsolve(D(psi1)(t)=-psi2(t),D(psi2)(t)=psi1(t));psis := ψ2(t) = C1 sin(t) + C2 cos(t), ψ1(t) = C1 cos(t) − C2 sin(t)

> assign(psis);

> psi1 := unapply(psi1(t),t);

ψ1 := t→ C1 cos(t) − C2 sin(t)

> psi2 := unapply(psi2(t),t);

ψ2 := t→ C1 sin(t) + C2 cos(t)

> u1 := (p1,p2) -> -p1/(sqrt(p1^2 + p2^2)):

> u2 := (p1,p2) -> -p2/(sqrt(p1^2 + p2^2)):

> # controlos extremais (as constantes C1 e C2 sao determinadas usando

> as condic~oes de fronteira)

> uu1 := unapply(simplify(u1(psi1(t),psi2(t))),t);

uu1 := t→ − C1 cos(t) − C2 sin(t)√

C2 2 + C1 2

> uu2 := unapply(simplify(u2(psi1(t),psi2(t))),t);

uu2 := t→ − C1 sin(t) + C2 cos(t)√

C2 2 + C1 2

> eq1 := D(x1)(t)=-x2(t)+uu1(t);

eq1 := D(x1 )(t) = −x2(t) − C1 cos(t) − C2 sin(t)√

C2 2 + C1 2

> eq2 := D(x2)(t)=x1(t)+uu2(t);

eq2 := D(x2 )(t) = x1(t) − C1 sin(t) + C2 cos(t)√

C2 2 + C1 2

> # trajectorias extremais (constantes determinadas usando as condic~oes

> de fronteira)

> dsolve(eq1,eq2);

x2(t) = (− t C2√

C2 2 + C1 2− C1√

C2 2 + C1 2+ C3 ) cos(t) + ( C4 − t C1

C2 2 + C1 2) sin(t),

x1(t) = −(−cos(t) C4√

C2 2 + C1 2 + sin(t) C3√

C2 2 + C1 2 − sin(t) C2 t

+ cos(t) C1 t− C1 sin(t))/√

C2 2 + C1 2> assign(%);

> x1 := unapply(x1(t),t);

Page 100: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

92 Controlo Optimo

x1 := t→ −(−cos(t) C4√

C2 2 + C1 2 + sin(t) C3√

C2 2 + C1 2 − sin(t) C2 t

+ cos(t) C1 t− C1 sin(t))/√

C2 2 + C1 2

> x2 := unapply(x2(t),t);

x2 := t→(− t C2√

C2 2 + C1 2− C1√

C2 2 + C1 2+ C3 ) cos(t) + ( C4 − t C1

C2 2 + C1 2) sin(t)

3.6 Problema de Newton da Resistencia mınima

No Exemplo 55 foi formulado o problema de Newton da resistencia mınima. Trata-se do

seguinte problema da teoria do controlo optimo:

R [u(·)] =

∫ r

0L (x, u(x)) dx→ min

y(x) = u(x) , u(x) ≥ 0 ,

y(0) = 0 , y(r) = H , H > 0 ,

L (x, u(x)) =x

1 + u2(x).

(3.29)

Observamos que u(·) toma valores num intervalo com fronteira: u(x) ≥ 0 ,∀x ∈ [0, r], pelo que

(3.29) e um problema verdadeiramente do controlo optimo. Ao longo desta seccao mostramos

que a solucao para o problema de Newton da resistencia mınima e obtida directamente da

aplicacao do princıpio do maximo de Pontryagin. Esta coincide com a solucao dada por

Newton no seu Principia Mathematica.

Comecemos por concretizar o Princıpio do Maximo de Pontryagin (Teorema 65) para o

problema de Newton da resistencia mınima (3.29). Aqui definimos ψ0 ≤ 0 pelo que a condicao

de mınimo e escrita na forma de maximo (condicao de maximo).

Teorema 71 (Princıpio do Maximo de Pontryagin para o problema de Newton). Se (y(·), u(·))e um minimizante de (3.29), entao existe um par nao nulo (ψ0, ψ(·)), onde ψ0 ≤ 0 e uma

constante e ψ(·) ∈ PC1 ([0, r]; R), tal que as seguintes condicoes sao satisfeitas para quase

todos x em [0, r]:

(i) o sistema Hamiltoniano

y(x) = ∂H∂ψ (x, u(x), ψ0, ψ(x)) (equacao de controlo)

ψ(x) = −∂H∂y (x, u(x), ψ0, ψ(x)) (sistema adjunto)

(ii) a condicao de maximo

H(x, u(x), ψ0, ψ(x)) = maxu≥0

H(x, u, ψ0, ψ(x)) , (3.30)

Page 101: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.6 Problema de Newton da Resistencia mınima 93

onde o Hamiltoniano H e definido por

H(x, u(x), ψ0, ψ(x)) = ψ0L(x, u(x)) + ψ(x)u(x) = ψ0x

1 + u2(x)+ ψ(x)u(x) .

O sistema adjunto afirma que ψ(x) = −∂H∂y (x, u(x), ψ0, ψ(x)) = 0, isto e, ψ(x) = c, com c

uma constante real.

Da condicao de maximo segue-se que ψ0 6= 0 (nao existem extremais anormais).

Proposicao 72. Todas as extremais de Pontryagin (y(·), u(·), ψ0, ψ(·)) para o problema de

Newton da resistencia mınima (3.29), sao extremais normais (ψ0 = −1) com ψ(·) uma con-

stante negativa (ψ(x) ≡ −λ , λ > 0,∀x ∈ [0, r]).

Demonstracao. O Hamiltoniano H para o problema de Newton

H (x, u(x), ψ0, ψ(x)) = ψ0x

1 + u2(x)+ ψ(x)u(x) ,

nao depende de y(·), donde pelo sistema adjunto concluımos que

ψ(x) = −∂H∂y

(x, u(x), ψ0, ψ(x)) = 0 ,

ou seja, ψ(x) ≡ c, com c uma constante, x ∈ [0, r].

Se c e igual a zero, entao ψ0 < 0 (porque nao e permitido que ψ0 e ψ(·) sejam ambas

nulas) e a condicao do maximo (3.30) simplifica-se para

ψ0L (x, u(x)) = maxu≥0

ψ0x

1 + u2

donde concluımos que o maximo nao e atingido (u→ +∞). Logo c 6= 0.

Analogamente, para c > 0, o maximo

maxu≥0

ψ0L(x, u) + cu = maxu≥0

ψ0x

1 + u2+ cu

nao existe e concluımos que c < 0. Podemos fixar ψ(x) ≡ −λ, onde λ ∈ R+.

Resta-nos provar que ψ0 e diferente de zero. De facto, se ψ0 = 0, a condicao de maximo

toma a forma

−λu(x) = maxu≥0

−λu , λ ∈ R+ ,

e segue-se u(x) ≡ 0 e y(x) ≡ w, com w uma constante, pois u(x) = y(x). Isto nao e

possıvel uma vez que y(0) = 0 e y(r) = H com H > 0. Logo, ψ0 6= 0 e concluımos que nao

existem extremais de Pontryagin anormais para o problema de Newton da resistencia mınima.

Podemos entao fixar, sem perda de generalidade, ψ0 = −1.

Page 102: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

94 Controlo Optimo

O Hamiltoniano toma a forma H (x, u(x)) = − x1+u2(x)

− λu(x), com λ > 0.

Para u > 0, segue-se da condicao de maximo, H(x, u(x)) = maxu>0

− x1+u2 − λu que

∂H∂u (x, u(x)) = 0, e temos

∂H∂u

(x, u(x)) = 0 ⇔ 2xu(x)

(1 + u2(x))2− λ = 0 ⇔ xu(x)

(1 + u2(x))2=λ

2, (3.31)

ou seja,

xu(x)

(1 + u2(x))2= q , com q uma constante estritamente positiva . (3.32)

A lei de conservacao (3.32) (cf. §3.8) e conhecida como equacao diferencial de Newton.

O metodo standard para resolver um problema de controlo optimo comeca por garan-

tir a existencia de uma solucao para o problema, assegurando-se depois a aplicabilidade do

princıpio do maximo de Pontryagin. Por fim, identificam-se as extremais de Pontryagin (os

candidatos). Futuras eliminacoes, quando necessarias, identificam o minimizante ou mini-

mizantes do problema.

Nao e facil provar a existencia de solucao para o problema de Newton da resistencia

mınima com argumentos classicos. Vamos usar uma abordagem diferente. Vamos mostrar

que para o problema de Newton da resistencia mınima (3.29) as extremais de Pontryagin sao

minimizantes absolutos. Isto significa que, para resolver o problema de Newton, e suficiente

identificar as extremais de Pontryagin. Deste modo, reduzimos o procedimento de resolucao

do problema de Newton ao calculo das extremais de Pontryagin.

Lema 73 (As extremais de Pontryagin para o problema de Newton sao minimizantes do

problema). Se o controlo u(·) e um controlo extremal para o problema de Newton da resistencia

mınima (3.29), entao u(·) e um controlo minimizante absoluto (minimizante global).

Demonstracao. Por definicao de extremal de Pontryagin, o controlo u(·) verifica a condicao

de maximo (3.30) do Teorema 71. Como L(x, u) = x1+u2 ≥ 0 podemos escrever, da condicao

de maximo, que

−L (x, u(x)) − λu(x) ≥ −L (x, u(x)) − λu(x) , q.t.p. x ∈ [0, r] (3.33)

qualquer que seja o u(·) ∈ PC ([0, r],R+).

Tendo em conta que todos os processos admissıveis (y(·), u(·)) do problema (3.29) satis-

fazem∫ r

0u(x)dx =

∫ r

0y(x)dx = y(r) − y(0) = H ,

Page 103: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.6 Problema de Newton da Resistencia mınima 95

basta integrar (3.33) para obter a conclusao desejada, isto e,

∫ r

0(−L (x, u(x)) − λu(x)) dx ≥

∫ r

0(−L (x, u(x)) − λu(x)) dx

⇔ −∫ r

0(L (x, u(x)) + λu(x)) dx ≥ −

∫ r

0(L (x, u(x)) + λu(x)) dx

⇔∫ r

0L (x, u(x)) dx+ λ

∫ r

0u(x)dx ≤

∫ r

0L (x, u(x)) dx+ λ

∫ r

0u(x)dx

⇔∫ r

0L (x, u(x)) dx+ λH ≤

∫ r

0L (x, u(x)) dx+ λH

⇔∫ r

0L (x, u(x)) dx ≤

∫ r

0L (x, u(x)) dx .

Da conclusao obtida,

R [u(·)] =

∫ r

0L (x, u(x)) dx ≤

∫ r

0L (x, u(x)) dx = R [u(·)] ,

podemos concluir que u(·) e um controlo minimizante absoluto para o problema de Newton

da resistencia mınima.

Observacao 74. A solucao optima pretendida para o problema de Newton (3.29) e exactamente

a extremal de Pontryagin. Isto significa, essencialmente, que reduzimos um problema de

Optimizacao Dinamica (um problema de minimizacao num espaco de funcoes, de dimensao

infinita) a um problema de optimizacao estatica (de dimensao finita) dado pela condicao de

maximo.

Estamos em condicoes de determinar a solucao y(·) para o problema de Newton da re-

sistencia mınima (3.29) e obter as expressoes indicadas por Newton no seu Principia Mathe-

matica.

Teorema 75 (Solucao do problema de Newton da resistencia mınima). A solucao y(·) para

o problema de Newton da resistencia mınima (3.29) e dada por y(x) = 0 para 0 ≤ x ≤ ξ e,

quando ξ ≤ x ≤ r, e dada na forma parametrica por

x(u) = λ2

(1u + 2u+ u3

),

y(u) = λ2

(− lnu+ u2 + 3

4u4)− 7λ

8 ,

(3.34)

onde a constante λ e determinada a partir da condicao de fronteira y(r) = H e ξ = 2λ.

Demonstracao. Seja y(·) a solucao do problema de Newton da resistencia mınima (3.29). A

solucao, y(·), e dada por duas condicoes distintas: primeiramente e um segmento de recta

com inıcio na origem do referencial e fim no ponto ξ do semi-eixo positivo dos xx; apos o

ponto ξ, a solucao de Newton segue a chamada curva de Newton.

Page 104: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

96 Controlo Optimo

Vejamos, em pormenor, cada uma das partes da solucao para o problema de Newton.

Como ja observamos, para o problema de Newton (3.29) os controlos variam num intervalo

que nao e aberto, donde se torna necessario analisar separadamente os casos em que u = 0 e

u > 0.

Quando u = 0 a solucao e dada por y(x) = 0: se u(x) = 0, entao, como u(x) = y(x), temos

que y(x) = 0, donde y(x) = c, com c uma constante real; da condicao de fronteira y(0) = 0

concluımos que c = 0. O minimizante absoluto (cf. Lema 73) comeca com o segmento de recta

y(x) = 0, com x ∈ [0, ξ] e 0 < ξ < r (a partir de um certo ponto ξ, u > 0 pois y(r) = H > 0).

Por outro lado, quando u > 0, podemos definir parametricamente a solucao do problema

de Newton a partir da equacao diferencial de Newton (3.31) (a qual deriva da condicao de

maximo do princıpio do maximo de Pontryagin).

A partir da equacao (3.31) podemos escrever x em funcao do parametro u, isto e,

xu

(1 + u2)2=λ

2⇔ 2ux = λ

(1 + u2

)2 ⇔ x =λ

2

(1

u+ 2u+ u3

)

.

Desta forma, definimos x(·) parametricamente por

x(u) =λ

2

(1

u+ 2u+ u3

)

.

Para acharmos a forma parametrica de y(·), recordemos a regra da cadeia

d

duy(x(u)) =

dy

dx

dx

du= u

dx

du,

uma vez que dydx = u. Vem entao que y(u) =

∫udxdudu. Como

dx

du(u) =

λ

2

(

− 1

u2+ 2 + 3u2

)

,

logo,

y(u) =

∫λ

2u

(

− 1

u2+ 2 + 3u2

)

du =λ

2

(

− lnu+ u2 +3

4u4

)

+m, (3.35)

onde m e uma constante. Para podermos determinar a constante m da equacao anterior, e

necessario determinar o ponto ξ. Neste ponto, os dois ramos de y(·) coincidem (pela con-

tinuidade de y(·)).Seja u(x) o controlo minimizante do problema de Newton. Entao,

H(ξ, 0) = H (ξ, u(ξ)) . (3.36)

Pela definicao de Hamiltoniano para o problema de Newton da resistencia mınima, temos

H(ξ, 0) = − ξ

1 + 02− λ× 0 = −ξ e H(ξ, u(ξ)) = − ξ

1 + (u(ξ))2− λu(ξ) .

Page 105: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.6 Problema de Newton da Resistencia mınima 97

Logo, a partir de (3.36), temos

H(ξ, 0) = H (ξ, u(ξ)) ⇔ ξ =ξ

1 + (u(ξ))2+ λu(ξ) . (3.37)

Por outro lado, u(ξ) tem que satisfazer a equacao diferencial de Newton (3.31), donde

ξu(ξ)(

1 + (u(ξ))2)2 =

λ

2. (3.38)

Resolvendo a equacao (3.37) em ordem a constante λ,

ξ =ξ

1 + (u(ξ))2+ λu(ξ) ⇔ − ξ

1 + (u(ξ))2+ ξ = λu(ξ) ⇔

−ξ + ξ(

1 + (u(ξ))2)

1 + (u(ξ))2= λu(ξ)

⇔ ξ (u(ξ))2

1 + (u(ξ))2= λu(ξ) ⇔ ξu(ξ)

1 + (u(ξ))2= λ ,

concluımos que a constante λ e dada pela condicao

λ =ξu(ξ)

1 + (u(ξ))2. (3.39)

Substituindo (3.39) em (3.38) obtemos

ξu(ξ)(

1 + (u(ξ))2)2 =

ξu(ξ)

2(

1 + (u(ξ))2) ⇔ u2(ξ) = 1 .

Como u(x) ≥ 0, entao u2(ξ) = 1 ⇒ u(ξ) = 1.

Tal como Newton afirmou no seu Principia, “a tangente ao grafico no ponto ξ e igual a

1”: u(ξ) = 1 ⇔ y(ξ) = 1.

Substituindo u(ξ) = 1 na equacao (3.38) temos ξ(1+12)2

= λ2 , ou seja, ξ = 2λ.

Estamos em condicoes de determinar a constante m da equacao (3.35). Tal e possıvel se

tivermos em conta que no ponto ξ, u(ξ) = 1 e y (u(ξ)) = 0. Entao,

y (u(ξ)) = 0 ⇔ y(1) = 0 ⇔ λ

2

(

− ln 1 + 1 +3

4

)

+m = 0 ⇔ 7λ

8= −m,

ou seja, m = −7λ8 .

Assim, podemos concluir que para o caso em que u > 0, a solucao para o problema de

Newton da resistencia mınima e dada na forma parametrica pelas equacoes (3.34), tal como

pretendıamos mostrar.

A curva obtida a partir do Teorema 75 da-se o nome de curva de Newton.

Page 106: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

98 Controlo Optimo

E importante salientar a razao pela qual a solucao para o problema de Newton e inicial-

mente dada por y(x) = 0 para x ∈ [0, ξ], 0 < ξ = 2λ < r, e para x ∈ [ξ, r] por (3.34). De facto,

se a solucao de Newton fosse dada pelas equacoes (3.34) para todo o x ∈ [0, r] a condicao de

fronteira y(0) = 0 nao seria verificada.

Vejamos agora como obter, para um raio e uma altura previamente fixos, a representacao

grafica da solucao do problema de Newton da resistencia mınima.

A primeira parte da solucao e dada por y(x) = 0 para todo o x ∈ [0, ξ], em que ξ = 2λ, e

a sua representacao grafica e trivialmente obtida.

Em relacao a segunda parte, x ∈ [ξ, r], para representar a solucao de Newton dada no

Teorema 75 e necessario encontrar o valor da constante λ, o respectivo ponto ξ, e o inter-

valo de variacao do parametro u para o raio e altura previamente dados. Na pratica, ao

determinarmos o valor da constante λ o ponto ξ fica automaticamente determinado, pois

ξ = 2λ.

O intervalo de variacao do parametro u e determinado resolvendo as inequacoes:

ξ ≤ x(u) ≤ r ⇔ ξ ≤ λ

2

(1

u+ 2u+ u3

)

≤ r ,

isto e, como ξ = 2λ,

2λ ≤ λ

2

(1

u+ 2u+ u3

)

≤ r .

Da inequacao 2λ ≤ λ2

(1u + 2u+ u3

), obtemos que o valor mınimo tomado pelo parametro

u e 1, independentemente do valor do raio e da altura do solido, o que, mais uma vez, vai de

encontro ao afirmado por Newton no seu Principia. O valor maximo tomado pelo parametro

u pode ser encontrado em simultaneo com a determinacao da constante λ resolvendo o sistema

x(u) = r

y(u) = H

r = λ2

(1u + 2u+ u3

)

H = λ2

(− lnu+ u2 + 3

4u4)− 7λ

8

uma vez que a constante λ e determinada recorrendo a condicao de fronteira y(r) = H.

O sistema anterior e facilmente resolvido no Maple.

> restart;

> with(plots):

> solN := proc(r,H)

> local ax, eq1, eq2, lambdaeuM, x, y, p1, p2, lambda,uM:

> eq1 := (r,u) -> r = (lambda/2)*((1/u)+2*u+u^3);

> eq2 := (H,u) -> H = (lambda/2)*(-ln(u)+u^2+(3/4)*u^4) - (7/8)*lambda;

> lambdaeuM := (r,H) -> fsolve(eq1(r,uM),eq2(H,uM),lambda,uM):

Page 107: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.6 Problema de Newton da Resistencia mınima 99

> ax := lambdaeuM(r,H);

> assign(ax);

> x := (u,lambda) -> (lambda/2)*((1/u)+2*u+u^3);

> y := (u,lambda) -> (lambda/2)*(-ln(u)+u^2+(3/4)*u^4)-(7*lambda)/(8);

> p1 := plot([u,0,u=0..2*lambda]):

> p2 := plot([x(u,lambda),y(u,lambda),u=1..uM]):

> return(display(p1,p2));> end proc:

> h05 := solN(1,0.5):

> h1 := solN(1,1):

> h2 := solN(1,2):

> h5 := solN(1,5):

> display(h05,h1,h2,h5);

0

1

2

3

4

5

0.2 0.4 0.6 0.8 1

Na figura acima podemos observar os graficos da solucao para o problema de Newton, obtidos

com o Maple (ver comando display acima), considerando o raio fixo r = 1 e a altura H = 0.5,

H = 1, H = 2 e H = 5.

Observacao 76. Obter a solucao y(x) do problema de Newton na forma nao parametrica e

uma tarefa difıcil. A formula explıcita para a funcao inversa x(y) da solucao do problema de

Newton foi obtida em [4].

A solucao do problema de Newton da resistencia mınima encontra aplicacoes na construcao

de balas para determinados tipos de armas de fogo e nas Ciencias do Espaco: construcao de

mısseis de alta altitude, satelites artificiais, etc.

Page 108: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

100 Controlo Optimo

3.7 Outros formatos para o problema de Controlo Optimo

Nesta seccao coligimos varias formulacoes equivalentes do problema matematico do con-

trolo optimo.

3.7.1 O problema de Bolza do controlo optimo

O problema de Bolza do controlo optimo consiste na minimizacao (ou maximizacao) de

funcionais da forma

I [x(·), u(·)] = L (α, x(α), β, x(β)) +

∫ β

αL (t, x(t), u(t)) dt , (3.40)

onde se requer que o par (x(·), u(·)) satisfaca o sistema de equacoes diferenciais ordinarias

x(t) =dx(t)

dt= ϕ (t, x(t), u(t)) , (3.41)

o chamado sistema de controlo, e as condicoes de fronteira

(α, x(α), β, x(β)) ∈ F . (3.42)

A variavel real t, t ∈ R, e a variavel independente, chamada tempo; x(t) = (x1(t), . . . , xn(t)) ∈Rn, n ≥ 1, t ∈ [α, β], a trajectoria de estado; u(t) = (u1(t), . . . , ur(t)) ∈ U ⊆ Rr, r ≥ 1,

t ∈ [α, β], o controlo. Os dados do problema incluem a funcao L : R × Rn × R × Rn → R;

o Lagrangeano L : R × Rn × Rr → R; a dinamica ϕ : R × Rn × Rr → Rn; os conjuntos F ,

U ; e as classes de funcoes a que pertencem x(·) e u(·). Os instantes de tempo α e β, α < β,

podem, ou nao, estar fixos. Este e o chamado problema de Bolza do Controlo Optimo.

Dizemos que o par (x(·), u(·)) e admissıvel para o problema (3.40)–(3.42) se o par (x(·), u(·))e solucao do sistema (3.41) em q.t.p. t ∈ [α, β] e x(·) satisfaz as condicoes de fronteira (3.42).

Seja A o conjunto de todos os pares admissıveis. O problema de Controlo Optimo con-

siste entao em determinar, se possıvel, um par (x(·), u(·)) ∈ A que satisfaca a desigualdade

I [x(·), u(·)] ≤ I [x(·), u(·)] para todo o (x(·), u(·)) ∈ A . O problema e formulado como um de

minimizacao; o problema de maximizar I [x(·), u(·)] e equivalente ao problema de minimizar

−I [x(·), u(·)].Uma solucao (x(·), u(·)) do problema de controlo optimo e designada por minimizante. A

trajectoria x(·) e chamada de trajectoria minimizante e u(·) de controlo minimizante.

Certos casos especiais do problema de Bolza do Controlo Optimo sao na verdade equiva-

lentes ao problema de Bolza, no sentido que o problema de Bolza pode ser transformado num

desses casos especiais. Dois casos especiais do problema de Bolza sao obtidos fazendo:

• L ≡ 0 — problema de Mayer do controlo optimo;

Page 109: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.7 Outros formatos para o problema de Controlo Optimo 101

• L ≡ 0 — problema de Lagrange do controlo optimo (o problema que temos vindo a

considerar ate aqui).

Vamos mostrar que as formulacoes de Mayer e de Lagrange sao tao gerais como a de Bolza,

mostrando como o problema de Bolza pode ser escrito nestas formas.

Formulamos o problema de Bolza como um de Mayer usando um espaco de estados de

dimensao superior. Seja (x(·), u(·)) um par admissıvel para o problema de Bolza (3.40)–(3.42)

e introduzamos a notacao z(t) = (x0(t), x(t)) = (x0(t), x1(t), . . . , xn(t)) ∈ Rn+1, t ∈ [α, β],

onde x0(·) e uma funcao tal que

x0(t) = L (t, x(t), u(t)) , x0(α) = 0 ,

para quase todos os t em [α, β]:

x0(t) =

∫ t

αL (τ, x(τ), u(τ)) dτ .

Temos entao que (z(·), u(·)) e um par admissıvel para o seguinte problema de Mayer:

L (α, x(α), β, x(β)) + x0(β) −→ min ,

x0(t) = L (t, x(t), u(t)) ,

x(t) = ϕ (t, x(t), u(t)) ,(3.43)

(x0(α), x0(β), α, x(α), β, x(β)) ∈ 0 × R × F .

Inversamente, a todo o par admissıvel (z(·), u(·)) para o problema de Mayer (3.43) corresponde

um par admissıvel (x(·), u(·)) para o problema de Bolza (3.40)–(3.42), onde x(·) consiste nas

ultimas n componentes de z(·). Em qualquer uma das situacoes, os valores das funcionais dos

dois problemas coincidem.

Mostramos agora como o problema de Bolza pode ser formulado como um de Lagrange.

Seja (x(·), u(·)) um par admissıvel para o problema (3.40)–(3.42) e seja z(t) = (x0(t), x(t))

com

x0(t) ≡L (α, x(α), β, x(β))

β − α.

Entao (z(·), u(·)) e um par admissıvel para o problema de Lagrange

∫ β

α(L (t, x(t), u(t)) + x0(t)) dt −→ min ,

x0(t) = 0 ,

x(t) = ϕ (t, x(t), u(t)) ,(3.44)

(x0(α), x0(β), α, x(α), β, x(β)) ∈ X0 × X0 × F ,

Page 110: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

102 Controlo Optimo

onde X0 =

L (α, xα, β, xβ)

β − α: (α, xα, β, xβ) ∈ F

. Resulta claro que o valor das funcionais

para os problemas (3.40)–(3.42) e (3.44) coincidem. O inverso e tambem verdade: a cada

par (z(·), u(·)) admissıvel para o problema (3.44) corresponde o par (x(·), u(·)), onde x(·)e formado pelas ultimas n componentes de z(·), admissıvel para o problema (3.40)–(3.42) e

com os respectivos valores das funcionais a coincidirem. Desde modo, o problema de Lagrange

(3.44) e equivalente ao problema de Bolza (3.40)–(3.42) considerado no inıcio da seccao.

Como dissemos, no problema (3.40)–(3.42) o instante inicial α e o instante terminal β

podem nao estar fixos. Vamos agora mostrar que o problema (3.40)–(3.42) pode ser escrito

como um problema de tempo inicial e terminal fixos. O ardil para a reducao do problema

com tempo inicial e terminal variaveis num com tempo inicial e terminal fixos e a mudanca

de tempo

t = α+(τ − a) (β − α)

b− a, a ≤ τ ≤ b , (3.45)

a < b fixos, e a introducao de duas novas variaveis de estado escalares: t(τ) e x0(τ), τ ∈ [a, b].

Introduzindo a notacao z(τ) = x (t(τ)) e v(τ) = u (t(τ)), formulamos o problema

L (t(a), z(a), t(b), z(b)) +

∫ b

aL (t(τ), z(τ), v(τ))x0(τ)dτ −→ min ,

t′(τ) =dt(τ)

dτ= x0(τ) ,

x′0(τ) =dx0(τ)

dτ= 0 ,

z′(τ) =dz(τ)

dτ= ϕ (t(τ), z(τ), v(τ))x0(τ) ,

(3.46)

(t(a), z(a), t(b), z(b)) ∈ F , x0(a) = x0(b) =t(b) − t(a)

b− a

(usamos o ponto para denotar diferenciacao em relacao a t; a linha ′ para denotar a derivada

em relacao a τ). Notar que no problema (3.46) o tempo inicial a e o tempo terminal b

estao fixos; as trajectorias de estado sao (t(τ), x0(τ), z(τ)), τ ∈ [a, b], e tomam valores em

R2+n; o controlo e v(τ), τ ∈ [a, b], e toma valores em U ⊆ Rr. Uma vez que o α e o β

do problema (3.40)–(3.42) satisfazem a igualdade β − α > 0, segue-se que a trajectoria de

estado x0(τ) do problema (3.46) e uma constante positiva, de valor β−αb−a , para a ≤ τ ≤ b.

Se (x(·), u(·)) e um par admissıvel para o problema (3.40)–(3.42), verifica-se imediatamente

que (t(·), x0(·), z(·), v(·)) e admissıvel para o problema (3.46) com t(τ) = α + (τ−a)(β−α)b−a ,

x0(τ) = t(b)−t(a)b−a = β−α

b−a , z(τ) = x(t(τ)) e v(τ) = u(t(τ)), τ ∈ [a, b], e com os respectivos

valores das funcionais a coincidirem. Reciprocamente, se (t(·), x0(·), z(·), v(·)) e admissıvel

para o problema (3.46) de tempos de fronteira fixos, entao (x(·), u(·)) e um par admissıvel

para o problema (3.40)–(3.42) se fizermos x(t) = z (τ(t)) e u(t) = v (τ(t)), α ≤ t ≤ β e

τ(t) = a+ (t−α)(b−a)β−α , resultando valores para as respectivas funcionais iguais.

Page 111: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.7 Outros formatos para o problema de Controlo Optimo 103

Um caso especial das condicoes de fronteira (3.42) ocorre se as condicoes iniciais e finais

forem separadas. Neste caso um conjunto Fα de pontos (α, x(α)) e um conjunto Fβ de

pontos (β, x(β)), ambos em R1+n, sao dados:

(α, x(α)) ∈ Fα , (β, x(β)) ∈ Fβ . (3.47)

Vamos mostrar que x(·) satisfaz as condicoes de fronteira (3.47). Mais uma vez, a tecnica

consiste no uso de um espaco de estados de dimensao superior. Com os mesmos dados do

problema (3.40)–(3.42), consideremos o problema

L (α, x(α), β, x(β)) +

∫ β

αL (t, x(t), u(t)) dt −→ min ,

x(t) = ϕ (t, x(t), u(t)) ,

y(t) = 0 , y = (y0, y1, . . . , yn) ∈ R1+n ,(3.48)

(α, x(α), y(α)) ∈ Fα := F ,

(β, x(β), y(β)) ∈ Fβ :=

(t, x, y) ∈ R2×(n+1) : y0 = t , yi = xi (i = 1, . . . , n)

.

Da maneira como o problema (3.48) e construıdo, resulta que (x(·), u(·)) e admissıvel para o

problema (3.40)–(3.42) se, e somente se, (x(·), y(·), u(·)) com y(t) ≡ (β, x(β)) for admissıvel

para o problema (3.48). Tendo em conta que as funcionais dos dois problemas sao iguais,

podemos afirmar que os problemas (3.40)–(3.42) e (3.48) sao equivalentes.

Os problemas do controlo optimo dizem-se autonomos quando as funcoes L e ϕ sao invari-

antes no tempo. E sempre possıvel reduzir um problema de controlo optimo a um autonomo,

introduzindo uma variavel de estado xn+1, a equacao diferencial adicional xn+1(t) = 1 e a

condicao de fronteira xn+1(β) = β, de modo a que se tenha xn+1(t) = t. Os problemas podem

mesmo ser reduzidos, como vimos, ao caso autonomo num intervalo fixo, digamos [0, 1] (cf.

problema (3.46)).

3.7.2 Problemas isoperimetricos do Controlo Optimo e optimizacao parametrica

Em alguns problemas do Controlo Optimo, para alem das restricoes ja consideradas,

surgem restricoes da forma

∫ β

αhi (t, x(t), u(t)) dt ≤ ci , i = 1, . . . , p ,

∫ β

αhj (t, x(t), u(t)) dt = cj , j = p+ 1, . . . , q ,

(3.49)

onde a funcao h = (h1, . . . , hq) : R × Rn × Rr → Rq e as constantes ci, i = 1, . . . , q, sao

dadas. As restricoes da forma (3.49) sao chamadas, tal como no calculo das variacoes

(cf. §2.5), de restricoes isoperimetricas. Um problema de controlo optimo com restricoes

Page 112: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

104 Controlo Optimo

isoperimetricas (3.49) pode ser reduzido a um problema sem restricoes isoperimetricas, in-

troduzindo q variaveis de estado adicionais: y(t) = (y1(t), . . . , yq(t)) ∈ Rq, t ∈ [α, β]. Seja

(x(·), u(·)) um par admissıvel para o problema (3.40)–(3.42) satisfazendo as restricoes (3.49).

Entao, (x(·), y(·), u(·)), com

y(t) =

∫ t

αh (τ, x(τ), u(τ)) dτ , t ∈ [α, β] ,

e admissıvel para o problema

L (α, x(α), β, x(β)) +

∫ β

αL (t, x(t), u(t)) dt −→ min ,

x(t) = ϕ (t, x(t), u(t)) ,

y(t) = h (t, x(t), u(t)) ,(3.50)

(α, x(α), β, x(β)) ∈ F ,

y(α) = 0 , yi(β) ≤ ci , yj(β) = cj ,

i = 1, . . . , p, j = p+1, . . . , q. Reciprocamente, se (x(·), y(·), u(·)) e admissıvel para (3.50) entao

(x(·), u(·)) e admissıvel para o problema (3.40)–(3.42) e satisfaz as restricoes isoperimetricas

(3.49). Deste modo escrevemos um problema com restricoes (3.49) num problema equivalente

da forma (3.40)–(3.42), sem restricoes isoperimetricas.

No problema (3.40)–(3.42) o Lagrangeano L e a dinamica ϕ sao funcoes dadas, fixas. Em

algumas aplicacoes, estas funcoes dependem de um vector de parametros π = (π1, . . . , πk) ∈ Π,

a nossa disposicao, onde Π ⊆ Rk e um conjunto dado. Temos entao o chamado problema de

controlo optimo parametrico:

I [x(·), π, u(·)] = L (α, x(α), β, x(β)) +

∫ β

αL (t, x(t), π, u(t)) dt −→ min ,

x(t) = ϕ (t, x(t), π, u(t)) , (3.51)

(α, x(α), β, x(β)) ∈ F .

Para uma dada escolha do controlo u(·), a trajectoria de estado correspondente x(·), assim

como o valor da funcional, dependem agora da escolha dos valores dos parametros π. O

problema de controlo optimo parametrico consiste entao na escolha de π em Π, para o qual

existe um par admissıvel (x(·), u(·)) tal que I [x(·), π, u(·)] ≤ I [x(·), π, u(·)] para todo o π ∈ Π

e correspondentes pares admissıveis (x(·), u(·)). O problema (3.51) pode ser reformulado num

problema equivalente da forma (3.40)–(3.42), introduzindo k novas trajectorias de estado,

y(t) = (y1(t), . . . , yk(t)), t ∈ [α, β]. Usando a notacao z(·) = (x(·), y(·)) o problema (3.51) e

Page 113: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.7 Outros formatos para o problema de Controlo Optimo 105

reescrito como se segue:

I [z(·), u(·)] = L (α, x(α), β, x(β)) +

∫ β

αL (t, z(t), u(t)) dt −→ min ,

z(t) =

x(t) = ϕ (t, z(t), u(t)) ,

y(t) = 0 ,(3.52)

(α, x(α), y(α), β, x(β), y(β)) ∈ (tα, xα, yα, tβ, xβ, yβ) : (tα, xα, tβ , xβ) ∈ F ∧ yα ∈ Π .

Sem perda de generalidade, podemos considerar o problema de controlo optimo na forma

de Lagrange com instantes inicial a e terminal b, a, b ∈ R, a < b, fixos. Dados a e b, um

conjunto arbitrario U ⊆ Rr, L(·, ·, ·) : [a, b] × Rn × Ω → R e ϕ(·, ·, ·) : [a, b] × Rn × Ω → Rn,

o problema consiste entao em minimizar uma funcional custo, da forma integral, entre todas

as solucoes de uma dada equacao diferencial vectorial:

I [x(·), u(·)] =

∫ b

aL (t, x(t), u(t)) dt −→ min ,

x(t) = ϕ (t, x(t), u(t)) , u(t) ∈ U . (3.53)

3.7.3 O problema de tempo mınimo

O problema de tempo mınimo e um caso particular do problema de controlo optimo muito

importante. Pode ser formulado como se segue:

T −→ min ,

x (t) = F (x (t) , u (t)) , t ∈ [a, T ] . (3.54)

Supomos F (·, ·), ∂Fi

∂xj(·, ·), i, j = 1, . . . , n, funcoes contınuas em Rn+r. O controlo u (·),

definido em [a, T ], toma os seus valores em U ⊂ Rr.

Admitindo que o Lagrangeano L do problema de controlo optimo (3.53) e limitado in-

feriormente, e uma vez que adicionar uma constante a L no problema (3.53) nao altera os

minimizantes, podemos assumir, sem perda de generalidade, que L e estritamente positivo.

De facto, se L (t, x, u) > ζ, minimizar

∫ b

aL (t, x (t) , u (t)) dt ,

sob as condicoes em (3.53), e equivalente a

∫ b

a(L (t, x (t) , u (t)) − ζ) dt→ min ,

uma vez que a diferenca das funcoes integrandas e uma constante. Basta entao considerar

a situacao especial em que L (t, x, u) > 0. Qualquer problema (3.53) com L > 0 pode ser

Page 114: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

106 Controlo Optimo

reduzido, usando uma ideia introduzida por R. V. Gamkrelidze nos anos 50 do seculo XX,

a um problema de tempo mınimo autonomo. O artifıcio consiste em introduzir uma nova

variavel tempo τ , relacionada com t pela relacao

τ(t) =

∫ t

aL (θ, x(θ), u(θ)) dθ , t ∈ [a, b] .

Comodτ(t)

dt= L (t, x(t), u(t)) > 0 , (3.55)

temos que τ(·) e uma funcao em t contınua e estritamente monotona, para qualquer par

(x(t), u(t)) satisfazendo x (t) = ϕ (t, x (t) , u (t)). Obviamente, τ (b) = T coincide com o valor

da funcional do problema original (3.53). De (3.55) segue-se que τ(·) admite funcao inversa

t(·), definida em [0, T ], tal que

dt(τ)

dτ=

1

L (t(τ), x (t(τ)) , u(t(τ))).

Notar que a funcao inversa t (·) e, tambem, contınua e monotona. Tem-se:

dx (t(τ))

dτ=

dx (t(τ))

dt

dt(τ)

dτ=ϕ (t(τ), x (t(τ)) , u (t(τ)))

L (t(τ), x (t(τ)) , u(t(τ))). (3.56)

Considerando τ como a variavel independente, t(τ) e z(τ) = x (t(τ)) como componentes das

trajectorias de estado e v(τ) = u (t(τ)) como o controlo, podemos transformar o problema

(3.53) no seguinte problema de tempo mınimo:

T −→ min

t′(τ) =1

L (t(τ), z(τ), v(τ))

z′(τ) =ϕ (t(τ), z(τ), v(τ))

L (t(τ), z(τ), v(τ))

(3.57)

v : R → U ,

t(0) = a , t(T ) = b .

3.8 Leis de Conservacao

Uma quantidade preservada ao longo de todas as extremais do problema e designada por

primeiro integral . Um primeiro integral define uma lei de conservacao. As leis de conservacao

sao muito importantes no Calculo das Variacoes, Controlo Optimo e suas aplicacoes, existindo

toda uma teoria em seu redor.

Definicao 77. Dizemos que uma funcao C(t, x, u, ψ0, ψ) e um primeiro integral do problema

de Controlo Optimo (3.13) se C(t, x(t), u(t), ψ0, ψ(t)) for constante em t ∈ [a, T ] ao longo

Page 115: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.8 Leis de Conservacao 107

de todas as extremais de Pontryagin (x(·), u(·), ψ0, ψ(·)) do problema (normais e anormais).

A equacao C(t, x(t), u(t), ψ0, ψ(t)) = c, c constante, chamamos lei de conservacao. Se nos

restringirmos as extremais normais, falamos entao em primeiros integrais normais e leis de

conservacao normais.

Exemplo 78. Para problemas autonomos, i.e., quando o Lagrangeano L e o vector velocidade

ϕ nao dependem explicitamente da variavel independente t, entao o Hamiltoniano H e um

primeiro integral (cf. Proposicao 57). A lei de conservacao H = constante corresponde, para

o problema fundamental do Calculo das Variacoes, a igualdade (2.14).

Teorema 79. Consideremos o caso normal (ψ0 = 1). Seja S = S (t, x, α1, . . . , αk) uma

solucao da equacao de Hamilton-Jacobi-Bellman (3.22),

∂S

∂t+ min

v∈UH

(

t, x(t), v,∂S

∂x

)

= 0 , (3.58)

dependendo de k parametros reais α1, . . . , αk. Entao cada derivada ∂S∂αi

, i = 1, . . . , k, constitui

um primeiro integral normal: sao validas as k leis de conservacao normais

∂S

∂αi= constante , i = 1, . . . , k .

Demonstracao. Queremos provar que ddt

(∂S∂αi

)

= 0, i = 1, . . . , k, ao longo de cada extremal

normal (x(·), u(·), 1, ψ(·)). Temos:

d

dt

(∂S

∂αi

)

=∂2S

∂t∂αi+

∂2S

∂x∂αi· ˙x(t) =

∂2S

∂t∂αi+

∂2S

∂x∂αi· ∂H∂ψ

. (3.59)

Pela condicao de mınimo, (3.58) e equivalente a

∂S

∂t+H

(

t, x(t), u(t),∂S

∂x

)

= 0

e, diferenciando em ordem a αi, obtemos

∂2S

∂t∂αi+∂H

∂ψ· ∂2S

∂x∂αi= 0 . (3.60)

De (3.59) e (3.60) resulta a conclusao desejada: ddt

(∂S∂αi

)

= 0.

3.8.1 Metodo de Poisson

O metodo de Poisson permite determinar novas leis de conservacao a partir de duas leis

de conservacao conhecidas.

Definicao 80. Sejam A(t, x, ψ) e B(t, x, ψ) duas funcoes de [a, T ] × Rn × Rn em R. O

parentesis de Poisson de A e B, denotado por A,B, e definido por:

A,B =∂A

∂x· ∂B∂ψ

− ∂B

∂x· ∂A∂ψ

.

Page 116: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

108 Controlo Optimo

Resultada de imediato da Definicao 80 que

A,B + B,A = 0 . (3.61)

A igualdade (3.61) pode ser generalizada para tres funcoes.

Proposicao 81 (identidade de Jacobi). Dadas tres funcoes reais A(·, ·, ·), B(·, ·, ·) e C(·, ·, ·),duas vezes diferenciaveis com continuidade em (t, x, ψ) ∈ [a, T ] × Rn × Rn, verifica-se a

seguinte igualdade (identidade de Jacobi):

A,B, C + C,A, B + B,C, A = 0 . (3.62)

Exercıcio 24. Demonstre a identidade de Jacobi (3.62).

Se conhecermos duas leis de conservacao para um problema de Controlo Optimo, entao o

parentesis de Poisson dos dois primeiros integrais conhecidos resulta:

(i) ou num terceiro (novo) primeiro integral;

(ii) ou num primeiro integral equivalente a um dos primeiros integrais conhecidos;

(iii) ou numa constante numerica (lei de conservacao trivial).

Proposicao 82. Seja C(t, x, ψ) uma funcao continuamente diferenciavel em [a, T ]×Rn×Rn.

Ao longo das extremais, a derivada total de C(t, x(t), ψ(t)) pode ser escrita na seguinte forma:

dC

dt=∂C

∂t+ C,H . (3.63)

Demonstracao. A derivada total de C e dada por

dC

dt=∂C

∂t+∂C

∂x· x(t) +

∂C

∂ψ· ψ(t) .

Ao longo das extremais e valido o sistema Hamiltoniano (3.23) e concluımos com a igualdade

pretendida:

dC

dt=∂C

∂t+∂C

∂x· ∂H∂ψ

− ∂C

∂ψ· ∂H∂x

=∂C

∂t+ C,H .

Corolario 83. A funcao C(t, x, ψ) e um primeiro integral se, e somente se,

∂C

∂t+∂C

∂x· ∂H∂ψ

− ∂C

∂ψ· ∂H∂x

= 0 (3.64)

e satisfeita ao longo das extremais de Pontryagin do problema de controlo optimo.

Page 117: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.8 Leis de Conservacao 109

Observacao 84. Para C = H obtemos de (3.63) a igualdade dHdt = ∂H

∂t (cf. Proposicao 57).

Teorema 85 (Poisson). Se A e B forem dois primeiros integrais, entao o parentesis de

Poisson A,B define igualmente uma lei de conservacao: A,B = constante.

Demonstracao. Se C(t, x, ψ) e um primeiro integral isso significa (cf. Definicao 77) que dCdt = 0

ao longo das extremais. Pela Proposicao 82 temos entao que ∂C∂t + C,H = 0. Como por

hipotese A e B sao primeiros integrais podemos escrever que

A,H = −∂A∂t ,

B,H = −∂B∂t ,

H,A = ∂A∂t ,

H,B = ∂B∂t .

(3.65)

Por outro lado, substituindo A e B na identidade de Jacobi (3.62), com C = H, obtemos

A,B, H + H,A, B + B,H, A = 0 . (3.66)

Usando (3.65), a expressao (3.66) toma a forma

A,B, H +

∂A

∂t,B

−∂B

∂t,A

= 0

⇔ A,B, H +∂2A

∂t∂x

∂B

∂ψ− ∂B

∂x

∂2A

∂t∂ψ− ∂2B

∂t∂x

∂A

∂ψ+∂A

∂x

∂2B

∂t∂ψ= 0 . (3.67)

O Teorema esta demonstrado ao notarmos que (3.67) e equivalente a dA,Bdt = 0:

dA,Bdt

(3.63)=

∂tA,B + A,B, H =

∂t

(∂A

∂x· ∂B∂ψ

− ∂B

∂x· ∂A∂ψ

)

+ A,B, H

=∂2A

∂t∂x· ∂B∂ψ

+∂A

∂x· ∂

2B

∂t∂ψ− ∂2B

∂t∂x· ∂A∂ψ

− ∂B

∂x· ∂

2A

∂t∂ψ+ A,B, H .

3.8.2 Metodo de Noether

Varias leis de conservacao, primeiros integrais das equacoes diferenciais de Euler-Lagrange,

sao bem conhecidas da fısica onde desempenham um papel primordial. Sao exemplos tıpicos

de leis de conservacao a lei das areas de Kepler, a lei de inercia formulada por Galileu, a

conservacao da massa ou a conservacao de carga electrica.

A lei de conservacao mais famosa e o integral de energia, descoberto por Leonhard Euler

em 1744 e intuıda mesmo antes de Galileu (a conservacao de energia, ou seja, a impossibil-

idade de criar energia, aparece expressa, por exemplo, no postulado da impossibilidade do

perpetuum mobile de Leonardo da Vinci): quando o Lagrangeano L corresponde a um sistema

conservativo de pontos materiais, entao verifica-se que

−L+∂L

∂x· x ≡ constante (3.68)

Page 118: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

110 Controlo Optimo

ao longo das solucoes das equacoes de Euler-Lagrange (cf. (2.14)). A conservacao de energia

encontra-se associada a homogeneidade do tempo (vide [6, p. 255]) e em 1876 Erdmann

publicou uma generalizacao deste facto: no caso autonomo, i.e. quando o Lagrangeano L

e invariante no tempo t, a relacao (3.68) e uma condicao necessaria de optimalidade, de

primeira ordem, para o correspondente problema fundamental do calculo das variacoes. A lei

de conservacao (3.68) e agora conhecida como a segunda condicao de Erdmann e e um caso

particular da condicao de DuBois-Reymond (Corolario 59).

O estudo sistematico de problemas invariantes do calculo das variacoes, foi iniciado em

1918 por Emmy Amalie Noether, a distinta matematica alema, que influenciada pelos tra-

balhos de Klein e Lie sobre as propriedades de transformacao de equacoes diferenciais, pub-

licou um resultado fundamental, agora um resultado classico, conhecido como Teorema de

Noether , afirmando que as leis de conservacao no calculo das variacoes sao a manifestacao de

um princıpio universal:

“A invariancia de um sistema com respeito a uma famılia de transformacoes

uni-parametrica, implica a existencia de uma lei de conservacao para esse sistema”.

As quantidades conservadas ao longo das extremais sao calculadas em termos do Lagrangeano

e duma famılia de transformacoes apropriada. O notavel teorema de Emmy Noether, ao rela-

cionar as propriedades de invariancia de uma funcional integral∫ ba L(t, x(t), x(t)) dt do calculo

das variacoes, com os integrais das correspondentes equacoes diferenciais de Euler-Lagrange

ou Hamiltonianas revela-se de importancia primacial e de implicacoes profundas em varias

areas da fısica moderna, tais como na mecanica classica e quantica, nas teorias gravitacionais,

electricas e electromagneticas, na optica geometrica, na teoria geral da relatividade, etc.,

englobando todos os teoremas sobre primeiros integrais sabidos na fısica. Por exemplo, a

conservacao da quantidade de movimento e momento angular da mecanica, correspondem,

respectivamente, a invariancia translacional e rotacional da accao, enquanto a invariancia no

tempo conduz a conservacao de energia (a lei de conservacao (3.68)). Outra aplicacao impor-

tante do Teorema de Noether surge no estudo do problema dos n corpos (n-body problem).

A importancia do Teorema de Noether nao se limita, no entanto, a matematica e a fısica. Ele

e tambem um resultado muito importante em areas como a engenharia, sistemas, controlo

e suas aplicacoes e em economia (em Economia, tal como na Fısica, as leis de conservacao

tem normalmente interpretacoes directas – por exemplo a lei do rendimento/riqueza). A

aplicacao habitual das leis de conservacao e a de baixar a ordem das equacoes diferenciais.

Nesta direccao, as leis de conservacao podem tambem simplificar o processo de resolucao dos

problemas de Controlo Optimo. Elas sao, contudo, uma ferramenta util por muitas outras

razoes. Diversas aplicacoes importantes das leis de conservacao, tanto na Fısica como na

Matematica, podem ser encontradas na literatura.

A formulacao classica do Teorema de Noether e dada no Calculo das Variacoes. Aqui

Page 119: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.8 Leis de Conservacao 111

damos uma formulacao mais moderna e geral do Teorema de Noether, no contexto do Controlo

Optimo.

Consideremos um grupo uni-parametrico de transformacoes C1 da forma

hs(t, x, u, ψ0, ψ)

= (ht(t, x, u, ψ0, ψ, s), hx(t, x, u, ψ0, ψ, s), hu(t, x, u, ψ0, ψ, s), hψ(t, x, u, ψ0, ψ, s)) , (3.69)

onde s denota o parametro das transformacoes. Assumimos que para o valor do parametro

s = 0 corresponde a identidade:

h0(t, x, u, ψ0, ψ)

= (ht(t, x, u, ψ0, ψ, 0), hx(t, x, u, ψ0, ψ, 0), hu(t, x, u, ψ0, ψ, 0), hψ(t, x, u, ψ0, ψ, 0))

= (t, x, u, ψ0, ψ) .

(3.70)

Associado ao grupo de transformacoes (3.69) consideramos os geradores infinitesimais

T (t, x, u, ψ0, ψ) =d

dsht(t, x, u, ψ0, ψ, s)

∣∣∣∣s=0

, X(t, x, u, ψ0, ψ) =d

dshx(t, x, u, ψ0, ψ, s)

∣∣∣∣s=0

,

(3.71)

U(t, x, u, ψ0, ψ) =d

dshu(t, x, u, ψ0, ψ, s)

∣∣∣∣s=0

, Ψ(t, x, u, ψ0, ψ) =d

dshψ(t, x, u, ψ0, ψ, s)

∣∣∣∣s=0

.

Definicao 86 (Definicao de invariancia e simetria). O problema de Controlo Optimo (3.53)

diz-se invariante sob o grupo uni-parametrico de transformacoes C1 (3.69) se, e somente se,

d

ds

[

H (hs (t, x(t), u(t), ψ0, ψ(t)))

−hψ (t, x(t), u(t), ψ0, ψ(t), s) ·dhx(t,x(t),u(t),ψ0,ψ(t),s)

dtdht(t,x(t),u(t),ψ0,ψ(t),s)

dt

]dht (t, x(t), u(t), ψ0, ψ(t), s)

dt

∣∣∣∣∣s=0

= 0 ,

(3.72)

com H o Hamiltoniano: H(t, x, u, ψ0, ψ) = ψ0L(t, x, u) + ψ · ϕ(t, x, u). Dizemos entao que as

transformacoes (3.69) constituem uma simetria para o problema de Controlo Optimo.

Lema 87. A condicao (todas as funcoes sao calculadas em (t, x(t), u(t), ψ0, ψ(t)))

∂H

∂tT +

∂H

∂x· X +

∂H

∂u· U +

∂H

∂ψ· Ψ − Ψ · x(t) − ψ(t) · d

dtX + H

d

dtT = 0 , (3.73)

e necessaria e suficiente para o problema de Controlo Optimo (3.53) ser invariante sob o

grupo uni-parametrico de transformacoes (3.69).

Demonstracao. A partir da definicao de invariancia (Definicao 86) e tendo em mente a igual-

dade (3.70) e a definicao dos geradores infinitesimais (3.71), basta diferenciar (3.72) em relacao

ao parametro do grupo s e fazer s = 0.

Page 120: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

112 Controlo Optimo

Teorema 88 (Teorema de Noether). Se o problema de Controlo Optimo e invariante sob

(3.69), no sentido da Definicao 86, entao

ψ(t) ·X (t, x(t), u(t), ψ(t)) −H (t, x(t), u(t), ψ0, ψ(t))T (t, x(t), u(t), ψ(t)) = c (3.74)

(c uma constante; t ∈ [a, b]; T e X os geradores infinitesimais dados de acordo com (3.71);

H o Hamiltoniano H(t, x, u, ψ0, ψ) = ψ0L(t, x, u) + ψ · ϕ(t, x, u)) e uma lei de conservacao.

Demonstracao. Ao longo das extremais de Pontryagin (x(·), u(·), ψ0, ψ(·)) o sistema Hamil-

toniano, a condicao de estacionaridade e a propriedade dada pela Proposicao 57 permitem

escrever (3.73) na forma

dH

dtT − ψ(t) ·X − ψ(t) · dX

dt+H

dT

dt= 0 ⇔ d

dt(ψ(t) ·X −HT ) = 0 .

O Teorema de Noether permite obter uma lei de conservacao conhecido um grupo uni-

parametrico de transformacoes hs. Na pratica, dado um problema de Controlo Optimo,

Como obter tais transformacoes? Este e o hoc opus hic labor est. Usando a condicao (3.73)

podemos estabelecer um algoritmo para a determinacao dos geradores infinitesimais. Tal

algoritmo envolve a resolucao de um sistema de equacoes diferenciais as derivadas parciais. A

resolucao deste sistema torna-se possıvel por se tratar de um sistema linear relativamente as

funcoes incognitas. Definimos em Maple um procedimento designado por SimetriaCO que tem

por entradas a expressao do Lagrangeano e as expressoes das equacoes diferencias ordinarias

que descrevem o sistema de controlo; como saıda os respectivos geradores infinitesimais. Se

o problema de controlo optimo nao admitir simetrias, obtemos de SimetriaCO geradores

nulos. As leis de conservacao que procuramos sao obtidas substituindo na equacao (3.74)

os geradores infinitesimais T e X. Definimos tambem em Maple o procedimento NoetherCO

que tem por entradas o Lagrangeano, o sistema de controlo e os geradores infinitesimais;

como saıda as correspondentes leis de conservacao dadas pelo Teorema 88. As definicoes em

Maple de SimetriaCO e NoetherCO podem ser encontradas no Apendice F. Nas duas seccoes

seguintes ilustramos, por intermedio de varios exemplos, o metodo de Noether e as nossas

definicoes em Maple na obtencao de Leis de Conservacao em Controlo Optimo.

3.8.3 Exemplos: leis de conservacao em Controlo Optimo

Concluımos, do Corolario 83, que uma condicao necessaria e suficiente para a funcao

C = Hψx (3.75)

Page 121: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.8 Leis de Conservacao 113

ser primeiro integral e a de que ψx∂H∂t + ψH ∂H∂ψ −Hx∂H∂x = 0. Um problema muito simples

com o primeiro integral (3.75) e portanto

∫ b

aL (u(t)) dt −→ min , (3.76)

x(t) = ϕ (u(t))x(t) .

A lei de conservacao Hψx = const pode ser interpretada a luz da invariancia do problema

(existencia de uma simetria) e do Teorema de Noether.

Exercıcio 25. Mostre que o problema (3.76) e invariante sob o grupo uni-parametrico de

transformacoes hsx(x) = esx e hsu = u (cf. Definicao 86). Obtenha do Teorema 88 que

ψ(t)x(t) ≡ constante , (3.77)

t ∈ [a, b], ao longo de uma qualquer extremal de Pontryagin do problema (3.76).

Analisemos o Exercıcio 25 com a ajuda do Maple. Temos um problema muito simples,

envolvendo apenas uma variavel de estado (n = 1) e uma variavel de controlo (m = 1). Com

as definicoes Maple

> l:=L(u); Phi:=phi(u)*x;

l := L (u)

Φ := ϕ (u)x

o comando SimetriaCO determina os geradores infinitesimais das transformacoes de invariancia

do problema do controlo optimo em consideracao:

> SimetriaCO(l,Phi,t,x,u);

U = 0,X = C1x,Ψ = −ψC1, T = C2

A lei de conservacao correspondente a estes geradores e facilmente obtida por intermedio do

nosso comando Maple NoetherCO (o sinal de percentagem % e um operador usado em Maple

para referenciar o resultado do comando anterior):

> NoetherCO(l,Phi,t,x,u, %);

C1x(t)ψ(t) − (ψ0L (u(t)) + ψ(t)ϕ (u(t))x(t))C2 = const

A lei de conservacao depende de dois parametros que advem das constantes de integracao.

Com as substituicoes

Page 122: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

114 Controlo Optimo

> subs(C[1]=1,C[2]=0, %);

x(t)ψ(t) = const

obtemos a lei de conservacao (3.77).

Exercıcio 26 (problema de controlo optimo com 3 variaveis de estado e 2 controlos). Con-

sidere-se o seguinte problema de controlo optimo:

∫ b

a(u1(t))

2 + (u2(t))2 dt −→ min ,

x1(t) = u1(t) cosx3(t) ,

x2(t) = u1(t) sinx3(t) ,

x3(t) = u2(t) .

(3.78)

O sistema de controlo (3.78) serve de modelo a cinematica de um carro (cf. [31, p. 32], [38,

§4]). Mostre que o problema e invariante sob o grupo uni-parametrico de transformacoes

hs =(hsx1

, hsx2, hsx3

)definido como se segue (repare-se que para s = 0 temos h0

x1(x1, x2) = x1,

h0x2

(x1, x2) = x2 e h0x3

(x3) = x3):

hsx1(x1, x2) = x1 cos s− x2 sin s ,

hsx2(x1, x2) = x1 sin s+ x2 cos s ,

hsx3(x3) = x3 + s ,

(use hsu1= u1 e hsu2

= u2 na Definicao 86). Conclua, pelo Teorema de Noether, que se

(x1(t), x2(t), x3(t), u1(t), u2(t), ψ0, ψ1(t), ψ2(t), ψ3(t)) , t ∈ [a, b] ,

for uma extremal de Pontryagin do problema, entao

−ψ1(t)x2(t) + ψ2(t)x1(t) + ψ3(t) ≡ constante . (3.79)

Usemos o Maple para analisar o problema dado no Exercıcio 26. A lei de conservacao

geral, da qual (3.79) e um caso particular, tanto para este problema, como para os que se

sucedem, e obtida pelo processo seguido na analise do Exercıcio 25.

> L:=u[1]^2+u[2]^2; phi:=[u[1]*cos(x[3]),u[1]*sin(x[3]),u[2]];

L := u12 + u2

2

ϕ := [u1 cos (x3) , u1 sin (x3) , u2]

> SimetriaCO(L, phi, t, [x[1],x[2],x[3]], [u[1],u[2]]);

Page 123: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.8 Leis de Conservacao 115

Ψ3 = 0, U1 = 0, U2 = 0, T = C2,Ψ1 = −C1ψ2,X3 = C1,Ψ2 = C1ψ1,X1 = −C1x2 + C3,X2 = C1x1 + C4

> NoetherCO(L, phi, t, [x[1],x[2],x[3]], [u[1],u[2]], %);

(−C1x2(t) + C3)ψ1(t) + (C1x1(t) + C4)ψ2(t) + C1ψ3(t)

−(

ψ0

(

(u1(t))2

+ (u2(t))2)

+ u1(t) cos (x3(t))ψ1(t) + u1(t) sin (x3(t))ψ2(t) + u2(t)ψ3(t))

C2 = const

Escolhendo valores apropriados para as constantes de integracao

> subs(C[1]=1,C[2]=0,C[3]=0,C[4]=0, %);

−x2(t)ψ1(t) + x1(t)ψ2(t) + ψ3(t) = const

obtemos a lei de conservacao (3.79).

Exercıcio 27 (n = r = 1). Para o problema de controlo optimo

I [x(·), u(·)] =

∫ b

aetx(t)u(t) dt −→ min ,

x(t) = tx(t)u(t)2 ,

mostre que

ψ0tetx(t)u(t) + ψ(t)x(t)

((tu(t))2 + 1

)(3.80)

e constante ao longo de qualquer extremal de Pontryagin (x(·), u(·), ψ0, ψ(·)). Para isso use

hst (t) = e−st, hsx (x(ts)) = esx(t), hsu(ts) = esu(t) na Definicao 86 e conclua, do Teorema 88,

que ψx+Ht e um primeiro integral (perceba que ψx+Ht e equivalente a (3.80)).

Notamos que a lei de conservacao ψ0tetx(t)u(t) +ψ(t)x(t)

((tu(t))2 + 1

)≡ constante pode

ser olhada, tal como a segunda condicao de Erdmann do calculo das variacoes, como uma

condicao necessaria de optimalidade. O Exercıcio 27 e facilmente analisado com a ajuda do

Maple:

> L:=exp(t*x)*u; phi:=t*x*u^2;

L := etxu

ϕ := txu2

> SimetriaCO(L, phi, t, x, u);

X = C1x,U = C1u,Ψ = −ψC1, T = −tC1

Page 124: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

116 Controlo Optimo

> NoetherCO(L, phi, t, x, u, %);

C1x(t)ψ(t) +(

ψ0etx(t)u(t) + ψ(t)tx(t) (u(t))

2)

tC1 = const

Escolhendo C1 = 1

> expand(subs(C[1]=1, %));

x(t)ψ(t) + tψ0etx(t)u(t) + ψ(t)t2x(t) (u(t))

2= const

obtemos o primeiro integral (3.80).

O proximo exemplo e um problema importante no contexto da geometria sub-Riemanniana.

Notamos que apesar do problema ser autonomo, a transformacao da variavel tempo e necessaria

para a obtencao dos primeiros integrais.

Exercıcio 28 (problema de Martinet da geometria sub-Riemanniana). Considere o problema

∫ b

a(u1(t))

2 + (u2(t))2 dt −→ min

x1(t) = u1(t) ,

x2(t) =u2(t)

1 + αx1(t),

x3(t) = (x2(t))2 u1(t) .

α ∈ R ,

Neste caso temos n = 3, r = 2. O Hamiltoniano e dado por

H(x1, x2, u1, u2, ψ0, ψ1, ψ2, ψ3) = ψ0

(u2

1 + u22

)+ ψ1u1 +

ψ2u2

1 + αx1+ ψ3x

22u1 ,

e ψ3 e H sao primeiros integrais triviais (H nao depende de x3 e t e a conclusao provem

directamente da equacao ψ3 = − ∂H∂x3

do sistema adjunto e da Proposicao 57). Quando α =

0, isto e para o problema de Martinet da geometria sub-Riemanniana no caso plano (flat)

(vide [2, 7]), ψ1 e igualmente um primeiro integral trivial do problema. Por intermedio

do Teorema de Noether, com transformacao da variavel tempo, e possıvel obter primeiros

integrais interessantes. Considere duas situacoes: α = 0 (caso plano) e α 6= 0 (caso nao

plano).

Problema flat. Para α = 0, mostre que os pressupostos do Teorema de Noether (Teo-

rema 88) sao satisfeitos com hst = e2st, hsx1= esx1, h

sx2

= esx2, e hsx3= e3sx3. Para

mostrar que o problema e invariante sob estas transformacoes, no sentido da Definicao 86,

use hsu1= e−su1 e hsu2

= e−su2. Conclua, pelo Teorema 88, que

ψ1x1(t) + ψ2(t)x2(t) + 3ψ3x3(t) − 2Ht ≡ constante , (3.81)

Page 125: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.8 Leis de Conservacao 117

t ∈ [a, b], ao longo das extremais de Pontryagin

(x1(·), x2(·), x3(·), u1(·), u2(·), ψ0, ψ1, ψ2(·), ψ3)

do problema flat .

Problema nao flat. Para α 6= 0, mostre que o problema e invariante, no sentido da

Definicao 86, sob hst = e2st, hsx1= es(αx1+1)−1

α , hsx2= x2, e hsx3

= esx3, novamente com

hsu1= e−su1 e hsu2

= e−su2. Conclua do Teorema 88 que

ψ1(t)

(

x1(t) +1

α

)

+ ψ3x3(t) − 2Ht = const (3.82)

e uma lei de conservacao.

O problema de Martinet da geometria sub-Riemanniana pode ser estudado, como proposto

no Exercıcio 28, por recurso ao Sistema de Computacao Algebrica Maple e as definicoes dadas

no Apendice F.

Problema flat

> L:=u[1]^2+u[2]^2; phi:=[u[1],u[2],x[2]^2*u[1]];

L := u12 + u2

2

ϕ := [u1, u2, x22u1]

> SimetriaCO(L, phi, t, [x[1],x[2],x[3]], [u[1],u[2]]);

U2 = −1/3C1u2, U1 = −1/3u1C1,X2 = 1/3C1x2,Ψ1 = −1/3C1ψ1,Ψ2 = −1/3C1ψ2,

Ψ3 = −C1ψ3, T = 2/3C1t+ C2,X3 = C1x3 + C3,X1 = 1/3C1x1 + C4

> NoetherCO(L, phi, t, [x[1],x[2],x[3]], [u[1],u[2]], %);

(1/3C1x1(t) + C4)ψ1(t) + 1/3C1x2(t)ψ2(t) + (C1x3(t) + C3)ψ3(t)

−(

ψ0

(

(u1(t))2

+ (u2(t))2)

+ ψ1(t)u1(t) + ψ2(t)u2(t) + ψ3(t) (x2(t))2u1(t)

)

(2/3C1t+ C2) = const

Com as substituicoes

> subs(C[1]=3,C[2]=0,C[3]=0,C[4]=0, %);

x1(t)ψ1(t) + x2(t)ψ2(t) + 3x3(t)ψ3(t) − 2(ψ0

(

(u1(t))2

+ (u2(t))2)

+ ψ1(t)u1(t) + ψ2(t)u2(t)

+ ψ3(t) (x2(t))2u1(t)

)t = const

Page 126: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

118 Controlo Optimo

obtemos a lei de conservacao (3.81) para o caso flat.

Problema nao flat

> L:=u[1]^2+u[2]^2; phi:=[u[1],u[2]/(1+alpha*x[1]),x[2]^2*u[1]];

L := u12 + u2

2

ϕ :=

[

u1,u2

1 + αx1, x2

2u1

]

> SimetriaCO(L, phi, t, [x[1],x[2],x[3]], [u[1],u[2]]);

X2 = 0,Ψ2 = 0, T = 2C7t+ C11,Ψ1 = −C7ψ1,

X1 =(−C2 − C8 − C1 − C5 − C9 − C6 − C4 − C3)α+ C7

α

+C7x1 + C8 + C3 + C2 + C1 + C9 + C6 + C4 + C5,

U1 = −C7u1,Ψ3 = −C7ψ3, U2 = −C7u2,X3 = C7x3 + C10Com uma pequena simplificacao e possıvel eliminar as constantes redundantes presentes na

expressao.

> simplify(%);

X2 = 0,Ψ2 = 0, T = 2C7t+ C11,Ψ1 = −C7ψ1, U1 = −C7u1,Ψ3 = −C7ψ3, U2 = −C7u2,

X3 = C7x3 + C10,X1 = C7(α−1 + x1)

> NoetherCO(L, phi, t, [x[1],x[2],x[3]], [u[1],u[2]], %);

C7(α−1 + x1(t))ψ1(t) + (C7x3(t) + C10)ψ3(t)

−(

ψ0

(

(u1(t))2

+ (u2(t))2)

+ u1(t)ψ1(t) +u2(t)ψ2(t)

1 + αx1(t)+ (x2(t))

2u1(t)ψ3(t)

)

(2C7t+ C11) = const

Com as substituicoes

> subs(C[7]=1,C[10]=0,C[11]=0, %);

(α−1 + x1(t)

)ψ1(t) + x3(t)ψ3(t)

− 2

(

ψ0

(

(u1(t))2

+ (u2(t))2)

+ u1(t)ψ1(t) +u2(t)ψ2(t)

1 + αx1(t)+ (x2(t))

2u1(t)ψ3(t)

)

t = const

obtemos a lei de conservacao (3.82) para o caso nao flat.

Page 127: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.8 Leis de Conservacao 119

Exercıcio 29. (n = 4, r = 2) Considere o problema

∫ b

a

(

(u1(t))2 + (u2(t))

2)

dt −→ min ,

x1(t) = x3(t)

x2(t) = x4(t)

x3(t) = −x1(t)(

(x1(t))2 + (x2(t))

2)

+ u1(t)

x4(t) = −x2(t)(

(x1(t))2 + (x2(t))

2)

+ u2(t) .

O Hamiltoniano e dado por

H (x1, x2, x3, x4, u1, u2, ψ0, ψ1, ψ2, ψ3, ψ4) = ψ0

(u2

1 + u22

)+ ψ1x3

+ ψ2x4 − ψ3x1

(x2

1 + x22

)+ ψ3u1 − ψ4x2

(x2

1 + x22

)+ ψ4u2 .

Prove que

C = −ψ1x2 + ψ2x1 − ψ3x4 + ψ4x3 (3.83)

e um primeiro integral do problema:

(i) mostrando que

∂C

∂t+

4∑

i=1

∂C

∂xi

∂H

∂ψi−

4∑

i=1

∂C

∂ψi

∂H

∂xi= ψ4u1 − ψ3u2 ; (3.84)

que da condicao de estacionaridade ∂H∂u1

= 0 e ∂H∂u2

= 0 tem-se 2ψ0u1 + ψ3 = 0 e

2ψ0u2 + ψ4 = 0; e usando estas ultimas duas identidades em (3.84) para concluir do

Corolario 83 que (3.83) e um primeiro integral;

(ii) usando o Lema 87 para encontrar um grupo uni-parametrico de transformacoes sem

alteracao da variavel tempo (hst = t, hsx1= x1 − x2s, h

sx2

= x2 + x1s, hsx3

= x3 − x4s,

hsx4= x4 + x3s, h

su1

= u1 − u2s, hsu2

= u2 + u1s) sob o qual o problema e invariante e

aplicando o Teorema de Noether (Teorema 88).

Em Maple:

> L:=u[1]^2+u[2]^2;

L := u12 + u2

2

> phi:=[x[3],x[4],-x[1]*(x[1]^2+x[2]^2)+u[1],-x[2]*(x[1]^2+x[2]^2)+u[2]];

ϕ :=[x3, x4,−x1

(x1

2 + x22)

+ u1,−x2

(x1

2 + x22)

+ u2

]

Page 128: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

120 Controlo Optimo

> SimetriaCO(L, phi, t, [x[1],x[2],x[3],x[4]], [u[1],u[2]]);

Ψ1 = C1ψ2,X3 = C1x4,X4 = −C1x3, U2 = C2u1 + 1/2(C2 + C1)ψ3

ψ0,X1 = C1x2,X2 = −C1x1,

Ψ2 = −C1ψ1, U1 = −C2u2 − 1/2(C2 + C1)ψ4

ψ0,Ψ4 = −C1ψ3,Ψ3 = C1ψ4, T = C3

> NoetherCO(L, phi, t, [x[1],x[2],x[3],x[4]], [u[1],u[2]], %);

C1x2(t)ψ1(t) − C1x1(t)ψ2(t) + C1x4(t)ψ3(t) − C1x3(t)ψ4(t) −(ψ0

(

(u1(t))2

+ (u2(t))2)

+ x3(t)ψ1(t) + x4(t)ψ2(t) +(

−x1(t)(

(x1(t))2

+ (x2(t))2)

+ u1(t))

ψ3(t)

+(

−x2(t)(

(x1(t))2

+ (x2(t))2)

+ u2(t))

ψ4(t))C3 = const

Com as substituicoes

> subs(C[1]=-1,C[3]=0, %);

−x2(t)ψ1(t) + x1 (t)ψ2(t) − x4 (t)ψ3 (t) + x3(t)ψ4(t) = const

chegamos a lei de conservacao definida pelo primeiro integral (3.83).

O Exercıcio 30 ilustra bem a efectividade do Lema 87 na descoberta de um grupo de

transformacoes hs que deixem o problema invariante: e relativamente facil determinar hs para

a qual a condicao (3.73) e satisfeita, enquanto a verificacao de (3.72), mesmo a posteriori, e

tarefa muito mais trabalhosa.

Exercıcio 30 (n = 4, r = 2). Considere agora o problema

x1 = u1(1 + x2)

x2 = u1x3

x3 = u2

x4 = u1x23

com L = u21 + u2

2. Use o Lema 87 para obter a condicao necessaria e suficiente para a trans-

formacao uni-parametrica hs =(hst , h

sx1, hsx2

, hsx3, hsx4

)deixar o problema invariante. Mostre

que a condicao e satisfeita com

∂hsu1

∂s

∣∣∣∣s=0

= −u1 ,∂hsu2

∂s

∣∣∣∣s=0

= −u2 ,d

dt

∂hst∂s

∣∣∣∣s=0

= 2 ,

∂hsx1

∂s

∣∣∣∣s=0

= 3x1 ,∂hsx2

∂s

∣∣∣∣s=0

= 2 (1 + x2) ,∂hsx3

∂s

∣∣∣∣s=0

= x3 ,∂hsx4

∂s

∣∣∣∣s=0

= 3x4 .

Page 129: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.8 Leis de Conservacao 121

Mostre depois, usando directamente a definicao de invariancia (Definicao 86) que as trans-

formacoes hst = t(1 + 2s), hsu1= u1(1 − s), hsu2

= u2(1 − s), hsx1= x1(1 + 3s), hsx2

=

x2 + 2s(1 + x2), hsx3

= x3(1 + s), hsx4= x4(1 + 3s), que possuem os geradores acima indi-

cados, constituem uma simetria para o problema. Por fim, aplique o Teorema de Noether

(Teorema 88) e obtenha o seguinte primeiro integral:

3ψ1(t)x1(t) + 2ψ2(t)(1 + x2(t)) + ψ3(t)x3(t) + 3ψ4(t)x4(t) − 2tH , (3.85)

onde

H = ψ0

((u1(t))

2 + (u2(t))2)

+ ψ1(t)u1(t) (1 + x2(t))

+ ψ2(t)u1(t)x3(t) + ψ3(t)u2(t) + ψ4(t)u1(t) (x3(t))2 .

Com as nossas definicoes em Maple, as simetrias do problema do Exercıcio 30 e respectivas

leis de conservacao sao facilmente obtidas.

> L:=u[1]^2+u[2]^2; phi:=[u[1]*(1+x[2]),u[1]*x[3],u[2],u[1]*x[3]^2];

L := u12 + u2

2

ϕ := [u1 (1 + x2) , u1x3, u2, u1x32]

> SimetriaCO(L, phi, t, [x[1],x[2],x[3],x[4]], [u[1],u[2]]);

X2 = 2/3C1 + 2/3C1x2,X3 = 1/3C1x3, U2 = −1/3C1u2, U1 = −1/3u1C1,Ψ1 = −C1ψ1,

Ψ4 = −C1ψ4,Ψ3 = −1/3C1ψ3,Ψ2 = −2/3C1ψ2, T = 2/3C1t+ C2,X4 = C1x4 + C3,

X1 = C1x1 + C4

> NoetherCO(L, phi, t, [x[1],x[2],x[3],x[4]], [u[1],u[2]], %);

(C1x1(t) + C4)ψ1(t) + (2/3C1 + 2/3C1x2(t))ψ2(t) + 1/3C1x3(t)ψ3(t) + (C1x4(t) + C3)ψ4(t)

−(ψ0

(

(u1(t))2

+ (u2(t))2)

+ ψ1(t)u1(t) (1 + x2(t)) + ψ2(t)u1(t)x3(t)

+ ψ3(t)u2(t) + ψ4(t)u1(t) (x3(t))2)

(2/3C1t+ C2) = const

Com as substituicoes

> subs(C[1]=3,C[2]=0,C[3]=0,C[4]=0, %);

3x1(t)ψ1(t) + (2 + 2x2(t))ψ2(t) + x3(t)ψ3(t) + 3x4(t)ψ4(t) − 2(ψ0

(

(u1(t))2

+ (u2(t))2)

+ ψ1(t)u1(t) (1 + x2(t)) + ψ2(t)u1(t)x3(t) + ψ3(t)u2(t) + ψ4(t)u1(t) (x3(t))2)t = const

temos a lei de conservacao definida pelo primeiro integral (3.85).

Page 130: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

122 Controlo Optimo

Observacao 89. Todas as leis de conservacao que obtivemos nos exercıcios anteriores sao

nao-evidentes e inesperadas a priori. No entanto, uma vez obtidas, elas podem ser verifi-

cadas, por diferenciacao, usando o correspondente sistema adjunto ψ = −∂H∂x e a condicao

de estacionaridade ∂H∂u = 0. Vamos ilustrar esta questao para o problema do Exercıcio 30.

Do sistema adjunto obtemos que ψ1 e ψ4 sao constantes, enquanto ψ2(t) e ψ3(t) satisfazem

ψ2(t) = −ψ1u1(t), ψ3(t) = −ψ2(t)u1(t) − 2ψ4u1(t)x3(t). Tendo em mente que o problema e

autonomo, e que por conseguinte o Hamiltoniano H e constante ao longo das extremais (cf.

Exemplo 78), a diferenciacao de (3.85) permite-nos escrever que

3ψ1u1(t) (1 + x2(t)) − 2ψ1u1(t) (1 + x2(t)) + 2ψ2(t)u1(t)x3(t) − ψ2(t)u1(t)x3(t)

− 2ψ4u1(t) (x3(t))2 + ψ3(t)u2(t) + 3ψ4u1(t) (x3(t))

2 − 2H = 0 ,

isto e,

ψ1 (1 + x2(t))u1(t) + ψ2(t)x3(t)u1(t) + ψ3(t)u2(t) + ψ4 (x3(t))2 u1(t) = 2H . (3.86)

Da definicao do Hamiltoniano, a igualdade (3.86) e equivalente aH = −ψ0

((u1(t))

2 + (u2(t))2),

uma relacao sustentada pela condicao de estacionaridade:

2ψ0u1(t) + ψ1 (1 + x2(t)) + ψ2(t)x3(t) + ψ4 (x3(t))2 = 0

2ψ0u2(t) + ψ3(t) = 0

ψ1 (1 + x2(t))u1(t) + ψ2(t)x3(t)u1(t) + ψ4 (x3(t))2 u1(t) = −2ψ0 (u1(t))

2

ψ3(t)u2(t) = −2ψ0 (u2(t))2 .

Vamos agora considerar problemas do controlo optimo como o do Exercıcio 29: problemas

em que o sistema de controlo e afim no controlo, ϕ(x, u) = f(x) + g(x) · u, com rumo (drift)

f(x) nao nulo.

Exercıcio 31 (n = 2, r = 1). Considere-se o problema (3.53) com L = u2, ϕ1 = 1 + y2 e

ϕ2 = u :∫ b

a(u(t))2 dt −→ min ,

x(t) = 1 + (y(t))2 ,

y(t) = u(t) .

Usando o Lema 87 obtenha as condicoes que as transformacoes uni-parametricas hs =(hst , h

sx, h

sy

)

devem satisfazer para o problema ser invariante. Mostre que essas condicoes sao satisfeitas

com hst = t(1 − 2s), hsu = u(1 + s), hsx = x + 2s(t − 2x), e hsy = y(1 − s). Pelo Teorema de

Noether obtenha a lei de conservacao

2ψx (t− 2x(t)) − ψy(t)y(t) + 2Ht ≡ constante , (3.87)

onde H = ψ0 (u(t))2 + ψx

[

1 + (y(t))2]

+ ψy(t)u(t).

Page 131: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.8 Leis de Conservacao 123

Podemos obter a lei de conservacao (3.87) com a ajuda do Maple:

> L:=u^2; phi:=[1+y^2,u];

L := u2

ϕ := [1 + y2, u]

> SimetriaCO(L, phi, t, [x,y], u);

Ψ2 = −1/4C1ψ2,X2 = 1/4C1y, U = −1/4C1u, T = 1/2C1t+ C2,X1 = −1/2C1t+ C1x+ C3,

Ψ1 = −C1ψ1

> NoetherCO(L, phi, t, [x,y], u, %);

(−1/2C1t+ C1x(t) + C3)ψ1(t) + 1/4C1y(t)ψ2(t) −(ψ0 (u(t))

2+ ψ1(t)

(

1 + (y(t))2)

+ ψ2(t)u(t))(1/2C1t+ C2) = const

> subs(C[1]=-4,C[2]=0,C[3]=0,%);

(2 t− 4x(t))ψ1(t) − y(t)ψ2(t) + 2(

ψ0 (u(t))2

+ ψ1(t)(

1 + (y(t))2)

+ ψ2(t)u(t))

t = const

Nos proximos dois exemplos, estabelecemos leis de conservacao para o problema de tempo

mınimo.

Exercıcio 32 (n = 4, r = 1). Considere-se o problema de tempo mınimo (∫ T0 1dt → min)

com sistema de controlo

x1(t) = 1 + x2(t) ,

x2(t) = x3(t) ,

x3(t) = u(t) ,

x4(t) = (x3(t))2 − (x2(t))

2 .

Neste caso o Lagrangeano e dado por L = 1. Mostre que o problema e invariante, no sentido

da Definicao 86, sob hsx1= (x1 − t)s+ x1, h

sx2

= x2(s+ 1), hsx3= x3(s+ 1), hsx4

= x4(2s+ 1),

hsu = u(s+ 1). Obtenha do Teorema 88 a lei de conservacao

ψ1(t) (x1(t) − t) + ψ2(t)x2(t) + ψ3(t)x3(t) + 2ψ4(t)x4(t) ≡ constante . (3.88)

Page 132: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

124 Controlo Optimo

Podemos tambem resolver o Exercıcio 32 com o Sistema de Computacao Algebrica Maple

e as definicoes do Apendice F.

> L:=1; phi:=[1+x[2],x[3],u,x[3]^2-x[2]^2];

L := 1

ϕ := [1 + x2, x3, u, x32 − x2

2]

> SimetriaCO(L, phi, t, [x[1],x[2],x[3],x[4]], u);

Ψ4 = −C2ψ4,Ψ1 = −1/2C2ψ1 − C1ψ4,Ψ2 = −1/2C2ψ2,Ψ3 = −1/2C2ψ3,

X2 = −1/2C1 + 1/2C2x2,X3 = 1/2C2x3,X4 = −C1t+ C1x1 + C2x4 + C3,

X1 = (−1/2C2 − 1/2C1) t+ 1/2C2x1 + C4, T = C5, U = 1/2uC2

> NoetherCO(L, phi, t, [x[1],x[2],x[3],x[4]], u, %);

((−1/2C2 − 1/2C1) t+ 1/2C2x1(t) + C4)ψ1(t) + (−1/2C1 + 1/2C2x2(t))ψ2(t) + 1/2C2x3(t)ψ3(t)

+ (−C1t+ C1x1(t) + C2x4(t) + C3)ψ4(t)

−(

ψ0 + (1 + x2(t))ψ1(t) + x3(t)ψ2(t) + ψ3(t)u(t) +(

(x3(t))2 − (x2(t))

2)

ψ4(t))

C5 = const

Escolhendo as constantes apropriadas

> subs(C[1]=0,C[2]=2,C[3]=0,C[4]=0,C[5]=0,%);

(−t+ x1(t))ψ1(t) + x2(t)ψ2(t) + x3(t)ψ3(t) + 2x4(t)ψ4(t) = const

obtemos a lei de conservacao (3.88).

Exercıcio 33 (n = 3, r = 1). Considere o problema de tempo mınimo (L = 1) com sistema

de controlo

x = 1 + y2 − z2 ,

y = z ,

z = u .

Prove que o problema e invariante com hst = t, hsx = 2(x− t)s+x, hsy = y(s+1), hsz = z(s+1)

e hsu = u(s+ 1). Obtenha o respectivo primeiro integral:

2ψx(x− t) + ψyy + ψzz . (3.89)

Page 133: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.8 Leis de Conservacao 125

Obtenhamos (3.89) por intermedio do Maple:

> L:=1; phi:=[1+y^2-z^2,z,u];

L := 1

ϕ := [1 + y2 − z2, z, u]

> SimetriaCO(L, phi, t, [x,y,z], u);

T = C2,Ψ1 = −C1ψ1, U = 1/2C1u,Ψ3 = − 1/2C1ψ3,Ψ2 = −1/2C1ψ2,X3 = 1/2C1z,

X1 = −C1t+ C1x+ C3,X2 = 1/2C1y

> NoetherCO(L, phi, t, [x,y,z], u, %);

(−C1t+ C1x(t) + C3)ψ1(t) + 1/2C1y(t)ψ2(t) + 1/2C1z(t)ψ3(t)

−(

ψ0 + ψ1(t)(

1 + (y(t))2 − (z(t))

2)

+ ψ2(t)z(t) + ψ3(t)u(t))

C2 = const

As substituicoes

> subs(C[1]=2,C[2]=0,C[3]=0, %);

(−2 t+ 2x(t))ψ1(t) + y(t)ψ2(t) + z(t)ψ3(t) = const

convertem a lei de conservacao na prevista no Exercıcio 33.

3.8.4 Exemplos: leis de conservacao no Calculo das Variacoes

Como vimos em §3.1, os problemas do calculo das variacoes sao casos particulares do

problema de controlo optimo. Por este motivo, as nossas definicoes em Maple dos comandos

SimetriaCO e NoetherCO podem ser usadas para a obtencao de leis de conservacao (primeiros

integrais das equacoes de Euler-Lagrange) no Calculo das Variacoes ou na Mecanica.

Exemplo 90. ([42, pp. 210 e 214]) Comecamos com um exemplo muito simples em que o

Lagrangeano depende apenas de uma variavel dependente (n = 1) e nao existem derivadas

de ordem superior a primeira (m = 1): L(t, x, x) = tx2.

Com a definicao Maple

> L:=t*u^2; u:=v; phi:=u;

Page 134: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

126 Controlo Optimo

L := tv2

u := v

ϕ := v

o nosso procedimento SimetriaCO determina os geradores infinitesimais das simetrias do

problema do calculo das variacoes em consideracao:

> SimetriaCO(L,phi,t,x,u);

U = −vC1, T = tC1,Ψ = 0,X = C2A lei de conservacao correspondente a estes geradores e facilmente obtida por intermedio do

Teorema de Noether e do nosso procedimento NoetherCO:

> NoetherCO(L,phi,t,x,u,%);

C2ψ(t) −(

ψ0t (v(t))2

+ ψ(t)v(t))

tC1 = const

> LC:=subs(v(t)=diff(x(t),t),%);

LC := C2ψ(t) −(

ψ0t

(d

dtx(t)

)2

+ ψ(t)d

dtx(t)

)

tC1 = const .

E, neste caso, muito facil verificar a validade da lei de conservacao obtida. Por definicao, basta

mostrar que a igualdade e verificada ao longo das extremais. A equacao de Euler-Lagrange e a

equacao diferencial de 2a ordem (no Apendice E definimos o comando Maple EulerLagrange)

> EulerLagrange(L,t,x,v);

−2d

dtx (t) − 2 t

d2

dt2x (t) = 0

e as extremais de Euler-Lagrange sao as suas solucoes:

> dsolve(%);

x(t) = C1 + C2 ln(t)Outra forma de obter a trajectoria extremal x(·) consiste em determinar o par (x(·), ψ(·))que satisfaz o sistema adjunto e a condicao de estacionaridade, de acordo com o princıpio

do maximo Pontryagin. Para que a condicao de maximo se verifique, e necessario que a

derivada do Hamiltoniano, relativamente a variavel de controlo, seja nula. Assim, definido o

Hamiltoniano (fazemos ψ0 = 1 pois como vimos – cf. Corolario 58 – nao existem extremais

anormais para os problemas do calculo das variacoes)

Page 135: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.8 Leis de Conservacao 127

> H:=L+psi(t)*phi;

H := tv2 + ψ(t)v

e igualando a zero a sua derivada, obtemos, usando o sistema adjunto, que

> diff(H,u)=0, diff(psi(t),t)=-diff(H,x);

d

dtψ(t) = 0, 2 tv + ψ(t) = 0

Podemos entao obter as extremais de Pontryagin resolvendo o sistema de equacoes diferenciais

> sist:=subs(v=diff(x(t),t),%);

sist :=

d

dtψ(t) = 0, 2 t

d

dtx(t) + ψ(t) = 0

> extr:=dsolve(%);

extr := x(t) = C1 , ψ(t) = 0 , ψ(t) = 0, x(t) = x(t) , ψ(t) = C2 , x(t) = −1/2 C2 ln(t) + C1

Embora nos deparemos com tres possıveis extremais do problema, podemos ignorar a primeira

solucao do sistema, por ser um caso particular da terceira solucao apresentada, e a segunda,

por nao ser solucao do sistema de equacoes diferenciais, como se comprova com o comando

que se segue

> map(odetest,[extr],sist);

[

0 ,

0, 2 td

dtx (t)

, 0]

Assim, considerando apenas a terceira solucao, obtemos, para a variavel de estado x(t), a

extremal de Euler-Lagrange. Substituindo agora na lei de conservacao a extremal encontrada,

obtemos, como esperado, uma proposicao verdadeira

> expand(subs(extr[3],LC));

C2 C2 + 1/4C1 C2 2 = const

Se substituirmos apenas ψ0 e ψ(t) na lei de conservacao LC

> expand(subs(psi[0]=1,psi(t)=_C2,LC));

Page 136: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

128 Controlo Optimo

C2 C2 − t2C1

(d

dtx(t)

)2

− tC1 C2d

dtx(t) = const

e simplificarmos as constantes,

> subs(C[2]*_C2=0,C[1]=-1,%);

t2(d

dtx (t)

)2

+ t C2d

dtx (t) = const

obtemos entao lei de conservacao descrita em [42, pp. 210 e 214].

Exemplo 91. (Problema de Kepler – [42, p. 217]) Analisamos agora as simetrias e leis de

conservacao do problema de Kepler [42, p. 217]. Neste caso o Lagrangeano tem duas variaveis

dependentes (n = 2) e nao envolve derivadas de ordem superior (m = 1):

L(t,q, q) =m

2

(q21 + q22

)+

K√

q21 + q22.

Vamos determinar a formula geral das leis de conservacao. Neste caso nao e possıvel validar a

lei de conservacao por aplicacao directa da definicao, como fizemos para o exemplo anterior,

pois o Maple nao e capaz de resolver o respectivo sistema de equacoes de Euler-Lagrange

> L:= m/2*(v[1]^2+v[2]^2)+K/sqrt(q[1]^2+q[2]^2); x:=[q[1],q[2]]; u:=[v[1],v[2]];

phi:=[v[1],v[2]];

L := 1/2m(v1

2 + v22)

+K

q12 + q22

x := [q1, q2]

u := [v1, v2]

ϕ := [v1, v2]

> EulerLagrange(L,t,x,u);

−m d2

dt2q1 (t) − Kq1 (t)

(

q1 (t)2

+ q2 (t)2)3/2

= 0, −m d2

dt2q2 (t) − Kq2 (t)

(

q1 (t)2

+ q2 (t)2)3/2

= 0

> SimetriaCO(L, phi, t, x, u);

T = C3, U1 = −C2v2 +(C1 − C2)ψ2

ψ0m,Ψ2 = C1ψ1,Ψ1 = −C1ψ2,X1 = −C1q2,

U2 = C2v1 −(C1 − C2)ψ1

ψ0m,X2 = C1q1

Page 137: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.8 Leis de Conservacao 129

> LC:=NoetherCO(L, phi, t, x, u, %);

LC := −C1q2(t)ψ1(t) + C1q1(t)ψ2(t) −(

ψ0

1/2m(

(v1(t))2

+ (v2(t))2)

+K

(q1(t))2

+ (q2(t))2

+ ψ1(t)v1(t) + ψ2(t)v2(t)

)

C3 = const

Usando as equacoes que derivam da condicao de maximo determinamos os multiplicadores de

Pontryagin (ψ1(t), ψ2(t)).

> H:=L+Vector[row]([psi[1](t), psi[2](t)]).Vector(phi);

H :=

(

1/2m(v1

2 + v22)

+K

q12 + q22

)

+ v1ψ1(t) + v2ψ2(t)

> solve(diff(H,v[1])=0,diff(H,v[2])=0,psi[1](t), psi[2](t));

ψ1(t) = −mv1, ψ2(t) = −mv2

Substituindo agora, em LC, ψ1(t) e ψ2(t) pelos valores encontrados, e v1(t) e v2(t) respectiva-

mente por x1(t) e x2(t)

> expand(subs(%,v[1](t)=v[1],v[2](t)=v[2],v[1]=diff(q[1](t),t),v[2]=diff(q[2](t),t),LC));

C1q2(t)md

dtq1(t) − C1q1(t)m

d

dtq2(t) + 1/2C3m

(d

dtq1(t)

)2

+ 1/2C3m

(d

dtq2(t)

)2

− C3K√

(q1(t))2

+ (q2(t))2

= const

obtemos a lei de conservacao do problema de Kepler.

Exemplo 92. Vejamos o caso de um Lagrangeano com duas variaveis dependentes (n = 2)

e com derivadas de ordem superior (m = 2):

L(t,x, x, x) = x21 + x2

2

De acordo com as substituicoes sugeridas na seccao 3.1, fazemos

> L:=v[1]^2+a[2]^2; xx:=[x[1],x[2],v[1],v[2]]; u:=[a[1],a[2]]; phi:=[v[1],v[2],a[1],a[2]];

Page 138: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

130 Controlo Optimo

L := v12 + a2

2

xx := [x1, x2, v1, v2]

u := [a1, a2]

ϕ := [v1, v2, a1, a2]

> SimetriaCO(L, phi, t, xx, u);

X3 = −C3v1,X4 = C1 + C3v2, U2 = −C3a2 + C2ψ3, U1 = −3C3a1 − 2ψ0C2a2 − C2ψ4,

Ψ4 = −C3ψ4,Ψ3 = C3ψ3,Ψ1 = −C3ψ1,Ψ2 = −3C3ψ2, T = 2C3t+ C4,

X1 = C3x1 + C5,X2 = tC1 + 3C3x2 + C6

Na lei de conservacao LC que resulta do procedimento NoetherCO, retomamos os valores de

v1(t), v2(t), a1(t) e a2(t), respectivamente: x1(t), x2(t), x1(t) e x2(t).

> NoetherCO(L, phi, t, xx, u, %):

> LC:=subs(v[1](t)=diff(x[1](t),t), v[2](t)=diff(x[2](t),t), a[1](t)=diff(x[1](t),t$2),

a[2](t)=diff(x[2](t),t$2),%);

LC := (C3x1(t) + C5)ψ1(t) + (tC1 + 3C3x2(t) + C6)ψ2(t) − C3

(d

dtx1(t)

)

ψ3(t) +

(

C1 + C3d

dtx2(t)

)

ψ4(t) −(

ψ0

((d

dtx1(t)

)2

+

(d2

dt2x2(t)

)2)

+ ψ1(t)d

dtx1(t)

+ ψ2(t)d

dtx2(t) + ψ3(t)

d2

dt2x1(t) + ψ4(t)

d2

dt2x2(t)

)

(2C3t+ C4) = const

Tal como no Exemplo 90, tambem aqui e possıvel verificar a validade da lei de conservacao,

directamente da definicao, determinando a extremal de Pontryagin e substituindo-a na lei de

conservacao:

> H:=L+vpsi.Vector(phi);

H :=(v1

2 + a22)

+ v1ψ1(t) + v2ψ2(t) + a1ψ3(t) + a2ψ4(t)

> diff(H,u[1])=0, diff(H,u[2])=0, diff(vpsi[1],t)=-diff(H,xx[1]), diff(vpsi[2],t)=

-diff(H,xx[2]), diff(vpsi[3],t)=-diff(H,xx[3]), diff(vpsi[4],t)=-diff(H,xx[4]):

> subs(v[1]=diff(x[1](t),t), a[2]=diff(x[2](t),t$2), %);

d

dtψ3(t) = −2

d

dtx1(t) − ψ1(t),

d

dtψ2(t) = 0,

d

dtψ4(t) = −ψ2(t), ψ3(t) = 0,

d

dtψ1(t) = 0,

2d2

dt2x2(t) + ψ4(t) = 0

Page 139: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.8 Leis de Conservacao 131

Resolvendo o sistema de equacoes que deriva da condicao de maximo e do sistema adjunto

> dsolve(%);

x1(t) = −1/2 C6 t+ C4 , ψ2(t) = C5 , x2(t) = C1 t+ C2 + 1/12 C5 t3 − 1/4 C3 t2, ψ3(t) = 0,

ψ1(t) = C6 , ψ4(t) = − C5 t+ C3

obtem-se a extremal que, substituıda em LC,

> expand(subs(%,LC));

C6 C3 C4 + C6 C5 + 3 C5 C3 C2 + C5 C6 + C1 C3 + C3 C1 C3 + 1/4 C6 2C4 + 1/4 C3 2C4

− C5 C1 C4 = const

conduz a uma proposicao verdadeira. Se, finalmente, substituirmos apenas os multiplicadores

de Pontryagin,

> subs(psi[1](t)=_C6, psi[3](t)=0, psi[4](t)=-_C5*t+_C3, psi[2](t)=_C5, LC);

(C3x1(t) + C5) C6 + (C1t+ 3C3x2(t) + C6) C5 +

(

C1 + C3d

dtx2(t)

)

(− C5 t+ C3 )

−(

ψ0

((d

dtx1(t)

)2

+

(d2

dt2x2(t)

)2)

+ C6d

dtx1(t) + C5

d

dtx2(t)

+ (− C5 t+ C3 )d2

dt2x2(t)

)

(2C3t+ C4) = const

obtemos a lei de conservacao na notacao do Calculo das Variacoes.

Exemplo 93. (Emden-Fowler – [42, p. 220]) Consideremos o problema variacional definido

pelo Lagrangeano

> L:= t^2/2*(v^2-(1/3)*x^6);

L :=t2(

v2 − x6

3

)

2

A respectiva equacao diferencial de Euler-Lagrange e conhecida na astrofısica como a equacao

de Emden-Fowler [42, p. 220]:

> EL := EulerLagrange(L,t,x,v);

Page 140: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

132 Controlo Optimo

EL :=

−2 td

dtx (t) − t2

d2

dt2x (t) − t2 (x (t))

5= 0

Encontramos os geradores infinitesimais, que conduzem a uma simetria variacional para a

funcional de Emden-Fowler, por intermedio da nossa funcao SimetriaCO:

> SimetriaCO(L, v, t, x, v);

Ψ = −ψC1, U = 3C1v, T = −2 tC1,X = C1x

Aplicando o Teorema de Noether (Teorema 88), estabelecemos a seguinte lei de conservacao:

> LC:=NoetherCO(L,v,t,x,v,%);

LC := C1x(t)ψ(t) + 2(

1/2ψ0t2(

(v(t))2 − 1/3 (x(t))

6)

+ ψ(t)v(t))

tC1 = const

Da condicao de estacionaridade determinamos o valor de ψ(t)

> H:=L+psi(t)*v;

H := 1/2 t2(v2 − 1/3x6

)+ ψ(t)v

> solve(diff(H,v)=0,psi(t));

ψ(t) = −t2v

e podemos obter a lei de conservacao na notacao do Calculo das Variacoes:

> subs(%,v(t)=diff(x(t),t),v=diff(x(t),t),LC): expand(%);

−C1x(t)ψ0t2 d

dtx(t) − t3C1ψ0

(d

dtx(t)

)2

− 1/3 t3C1ψ0 (x(t))6

= const

Atribuindo o valor apropriado a variavel de integracao

> subs(C[1]=-3/psi[0],%);

3x(t)t2d

dtx(t) + 3 t3

(d

dtx(t)

)2

+ t3 (x(t))6

= const

obtemos a lei de conservacao de Emden-Fowler.

Exemplo 94. (Thomas-Fermi – [42, p. 220]) Mostramos agora um exemplo de um problema

do calculo das variacoes que nao possui nenhuma simetria variacional. Seja

Page 141: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

3.8 Leis de Conservacao 133

> L:=1/2 * v^2 + 2/5 * (x^(5/2))/(sqrt(t));

L :=v2

2+

2x5

2

5√t

A equacao de Euler-Lagrange associada a este Lagrangeano corresponde a equacao diferencial

de Thomas-Fermi [42, p. 220]:

> EL := EulerLagrange(L,t,x,v);

EL :=

− d2

dt2x (t) +

(x (t))3

2

√t

= 0

A nossa funcao SimetriaCO devolve, neste caso, geradores nulos. Isto significa que este

problema nao admite simetrias.

> SimetriaCO(L, v, t, x, v);

U = 0, T = 0,Ψ = 0,X = 0

Se usarmos a funcao NoetherCO obtemos neste caso um truısmo: 0 = const.

Exemplo 95. (Oscilador Harmonico com Amortecimento – [20, pp. 432–434]) Consideremos

um oscilador harmonico com forca de restituicao −kx, submerso num lıquido de tal modo que o

movimento da massam e amortecido por uma forca proporcional a sua velocidade. Recorrendo

a segunda lei de Newton obtem-se, como equacao de movimento, a equacao diferencial de

Euler-Lagrange associada ao seguinte Lagrangeano [20, pp. 432–434]:

> L:=1/2 * (m*v^2-k*x^2)*exp((a/m)*t);

L :=1

2

(mv2 − kx2

)e

atm

Para determinar um primeiro integral da equacao de Euler-Lagrange, encontramos os ger-

adores infinitesimais sob os quais a funcional integral J [x(·)] =∫Ldt e invariante:

> SimetriaCO(L,v,t,x,v);

Ψ = −ψC1, U = C1v, T =(−C4 − C2 − C3) a− 2mC1

a+ C3 + C2 + C4,X = C1x

> simplify(%);

Ψ = −ψC1, U = C1v, T = −2mC1

a,X = C1x

Pelo Teorema de Noether (Teorema 88) obtemos o primeiro integral

Page 142: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

134 Controlo Optimo

> LC:=NoetherCO(L,v,t,x,v,%);

LC := C1x(t)ψ(t) + 2(

1/2ψ0

(

m (v(t))2 − k (x(t))

2)

eatm + ψ(t)v(t)

)

mC1a−1 = const

O valor de ψ(t) pode, mais uma vez, ser obtido por recurso a condicao de maximo.

> H:=psi[0]*L+psi(t)*v;

H := 1/2ψ0

(mv2 − kx2

)e

atm + ψ(t)v

> solve(diff(H,v)=0,psi(t));

ψ(t) = −ψ0mveatm

> simplify(subs(%,v(t)=diff(x(t),t),v=diff(x(t),t),LC));

−C1ψ0meatm

(

x(t)

(d

dtx(t)

)

a+m

(d

dtx(t)

)2

+ k (x(t))2

)

a−1 = const

Dando, por fim, um valor apropriado a constante de integracao

> subs(C[1]=a/(2*m*psi[0]),%);

−1/2 eatm

(

x(t)

(d

dtx(t)

)

a+m

(d

dtx(t)

)2

+ k (x(t))2

)

= const

obtemos a lei de conservacao para o Oscilador Harmonico com Amortecimento.

Page 143: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

Capıtulo 4

Um problema da Economia

Para terminar o curso escolhemos um problema da Economia, retirado de [19], e ilustramos

como ele pode ser abordado usando cada um dos tres paradigmas da Optimizacao Dinamica:

Calculo das Variacoes, Controlo Optimo e Programacao Dinamica.

O Calculo das Variacoes (Capıtulo 2) deve muito ao matematico do seculo XVIII Eu-

ler, mas muito do seu desenvolvimento foi feito nos seculos posteriores. O Calculo das

Variacoes continua hoje uma area de investigacao muito activa. A teoria do Controlo Optimo

(Capıtulo 3), desenvolvida por Pontryagin e seus colaboradores em finais dos anos cinquenta

do seculo XX, pode ser vista como uma generalizacao do Calculo das Variacoes: nao ape-

nas o seu campo de aplicacao foi alargado, mas tambem os problemas sao olhados de uma

perspectiva diferente. A Programacao Dinamica foi desenvolvida por Bellman, tambem nos

finais dos anos cinquenta do seculo XX. Foi pensada primeiramente para lidar com proble-

mas de optimizacao em tempo discreto (seccao 1.5), mas o famoso princıpio da optimalidade

de Bellman tambem se aplica, como vimos em §3.4, a problemas de tempo contınuo. Nesta

abordagem a equacao de Hamilton-Jacobi-Bellman assume o papel central.

O exemplo escolhido mostra bem a ligacao da teoria do Controlo Optimo ao Calculo das

Variacoes e a Programacao Dinamica, realcando o facto das diferentes abordagens conduzirem

ao mesmo resultado. As abordagens do Calculo das Variacoes e Controlo Optimo permitem

fazer facilmente todos os calculos exclusivamente com papel e lapis. Assim o fazemos. Em

simultaneo, mostramos tambem como os resultados podem ser obtidos atraves do uso do

Sistema de Computacao Algebrica Maple. A abordagem da Programacao Dinamica conduz-

nos a resolucao de uma equacao diferencial as derivadas parciais muito difıcil, o que nos leva

a considerar uma versao mais simples do problema.

Em §3.1 vimos como todo o problema do Calculo das Variacoes pode ser facilmente escrito

como um problema de Controlo Optimo. Sob certas condicoes, e tambem possıvel rescrever

um problema de Controlo Optimo como um problema do Calculo das Variacoes. Vejamos

135

Page 144: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

136 Um problema da Economia

como. No Capıtulo 3 estudamos o problema de encontrar um par de funcoes (x(·), u(·)) que

minimiza ou maximiza uma funcional integral

∫ T

aL (t, x(t), u(t)) dt (4.1)

sob as condicoes

x(t) = ϕ (t, x(t), u(t)) , (4.2)

x(a) = xa , x(T ) = xT , (4.3)

com u(t) a tomar valores num dado conjunto U . Se assumirmos que U e um conjunto aberto

e que a equacao (4.2) pode ser invertida de modo a ser possıvel obter uma igualdade do tipo

u(t) = φ (t, x(t), x(t)) , (4.4)

podemos substituir (4.4) em L(t, x, u) obtendo

L (t, x(t), u(t)) = L (t, x(t), φ (t, x(t), x(t))) . (4.5)

O segundo membro de (4.5) e uma funcao de t, x(t) e x(t). Denotemos esta funcao por

f (t, x(t), x(t)). O problema de Controlo Optimo (4.1)-(4.3) pode entao ser escrito como um

problema do Calculo das Variacoes: encontrar a funcao x(·) (e por conseguinte x(·)) que

minimiza ou maximiza∫ T

af (t, x(t), x(t)) dt

quando sujeita as condicoes de fronteira

x(a) = xa , x(T ) = xT .

Assumimos que f(·, ·, ·) possui derivadas parciais contınuas de segunda ordem. Nos proble-

mas de Controlo Optimo e usual assumir que as funcoes x(·) sao meramente seccionalmente

diferenciaveis: x(·) ∈ PC1([a, T ]). No Calculo das Variacoes classico e comum restringir-se

mais a classe das funcoes admissıveis, exigindo-se normalmente que as funcoes x(·) possuam

derivadas contınuas de segunda ordem para todo o t ∈ [a, T ]: x(·) ∈ C2([a, T ]). E esta ultima

suposicao a considerada aqui.

4.1 O problema

O problema consiste em encontrar u : [0, T ] → R+ que maximiza

V [u(·)] =

∫ T

0e−δt ln (u(t)) dt (4.6)

Page 145: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

4.2 Determinacao da extremal via Calculo das Variacoes 137

sujeita a

x(t) = rx(t) − u(t) , (4.7)

x(0) = x0 , x(T ) = xT , (4.8)

com δ > 0, r, x0 e xT dados. O controlo toma valores num aberto: u(t) > 0 para todo o

t ∈ [0, T ]. O significado economico do problema e explicado em [19, Cap. 5].

4.2 Determinacao da extremal via Calculo das Variacoes

Antes de mais, temos de escrever o problema (4.6)-(4.8) no formato do Calculo das

Variacoes. E muito facil, de (4.7), tirar o controlo em funcao da variavel de estado e sua

derivada:

u(t) = rx(t) − x(t) . (4.9)

Usando o metodo descrito na introducao a este capıtulo, obtemos o seguinte problema equiv-

alente:

J [x(·)] =

∫ T

0e−δt ln (rx(t) − x(t)) dt −→ max , (4.10)

x(0) = x0 , x(T ) = xT , δ > 0 . (4.11)

Aplicando a equacao de Euler-Lagrange (2.2) a (4.10) obtemos

e−δtr (rx− x)−1 =d

dt

(

−e−δt (rx− x)−1)

= δe−δt (rx− x)−1 + e−δt (rx− x)−2 (rx− x) ,

que conduz a equacao diferencial linear de segunda ordem

r = δ + (rx− x)−1 (rx− x) ⇔ (r − δ)(rx− x) = rx− x

⇔ x− rx+ r2x− rx− rδx+ δx = 0

⇔ x− (2r − δ) x+ r (r − δ)x = 0 .

(4.12)

O polinomio caracterıstico e λ2 − (2r − δ)λ+ r(r − δ) = 0, que tem raızes λ = r − δ e λ = r:

λ =(2r − δ) ±

(2r − δ)2 − 4r(r − δ)

2=

(2r − δ) ±√

4r2 − 4rδ + δ2 − 4r2 + 4rδ

2

⇔ λ =2r − δ ± δ

2.

Em Maple determinamos as raızes fazendo:

> solve(lambda^2 - (2*r - delta) * lambda + r*(r - delta) = 0,lambda);

Page 146: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

138 Um problema da Economia

r , r − δ

Por conseguinte, a solucao geral da equacao diferencial ordinaria (4.12) e dada por

x(t) = αert + βe(r−δ)t ,

com α e β constantes, a determinar por intermedio das condicoes de fronteira (4.11):

x0 = α+ β ,

xT = αerT + βe(r−δ)T .(4.13)

Resolvendo (4.13) em ordem a α e β obtemos:

α =xT e−rT − x0e

−δT

1 − e−δT, β =

x0 − xT e−rT

1 − e−δT.

A extremal de Euler-Lagrange e entao:

x(t) =xT e−rT − x0e

−δT

1 − e−δTert +

x0 − xT e−rT

1 − e−δTe(r−δ)t . (4.14)

O correspondente controlo extremal u(t) e facilmente obtido usando a expressao (4.9). Pode-

mos obter facilmente (4.14) por intermedio do Maple: basta resolver a equacao diferencial

(4.12) com as condicoes de fronteira (4.11):

> eqEL := diff(x(t),t,t)-(2*r-delta)*diff(x(t),t)+r*(r-delta)*x(t) = 0:

> dsolve(eqEL,x(0)=x[0],x(T)=x[T],x(t));

x (t) = −(x0e

(r−δ)T − xT)ert

erT − e(r−δ)T+

(−xT + erTx0

)e(r−δ)t

erT − e(r−δ)T

Ainda outra maneira, seria usar a funcao Maple EulerLagrange definida no Apendice E:

> L := exp(-delta*t)*ln(r*x-v):

> dsolve(EulerLagrange(L,t,x,v),x(0)=x[0],x(T)=x[T],x(t));

x (t) = −(−x0e

(−δ+r)T + xT)ert

−erT + e(−δ+r)T+

(xT − erTx0

)e(−δ+r)t

−erT + e(−δ+r)T

4.3 Determinacao da extremal via Controlo Optimo

O Hamiltoniano (3.7) associado ao problema (4.6)-(4.8) e dado por

H(t, x, u, ψ0, ψ) = ψ0e−δt ln(u) + ψ (rx− u) .

Se quisermos usar o Maple, podemos usar a funcao PMP definida por nos no Apendice F:

Page 147: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

4.3 Determinacao da extremal via Controlo Optimo 139

> restart;

> L := exp(-delta*t)*ln(u):

> phi := r*x-u:

> PMP(L,phi,t,x,u,evalH);

ψ0e−δ t ln (u) + (rx− u)ψ

A condicao de maximo do Princıpio do Maximo de Pontryagin implica a condicao de esta-

cionaridade ∂H∂u = 0:

ψ0e−δt

u(t)− ψ(t) = 0 . (4.15)

Usando o nossa funcao PMP fazemos:

> PMP(L,phi,t,x,u,evalH);

> R := PMP(L,phi,t,x,u,evalSyst):

Em conformidade com o descrito no Apendice F, R e uma lista com 3 elementos: o primeiro

elemento e o sistema de controlo, o segundo elemento o sistema adjunto e o terceiro a condicao

de estacionaridade. A igualdade (4.15) e entao obtida fazendo

> R[3];

ψ0e

−δ t

u− ψ = 0

Para visualizarmos a variavel independente t usamos o parametro opcional showt:

> PMP(L,phi,t,x,u,evalSyst,showt)[3];

ψ0e

−δ t

u (t)− ψ (t) = 0

Concluımos de imediato que nao existem extremais anormais: se ψ0 fosse zero entao a igual-

dade (4.15) implicaria que ψ ≡ 0, o que nao e uma possibilidade admitida pelo Princıpio do

Maximo de Pontryagin – os multiplicadores nao podem ser todos simultaneamente nulos. Em

termos da nossa funcao PMP, significa que podemos (e devemos) usar o parametro noabn (“no

abnormal”). Logo,

ψ(t) =e−δt

u(t). (4.16)

O sistema adjunto toma a forma

ψ(t) = −rψ(t) (4.17)

Page 148: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

140 Um problema da Economia

cuja solucao e

ψ(t) = ψ(0)e−rt . (4.18)

Em Maple podemos fazer

> sa := PMP(L,phi,t,x,u,evalSyst,showt,noabn)[2];

− d

dtψ (t) = rψ (t)

> dsolve(sa);

ψ (t) = C1 e−rt

Substituindo (4.18) em (4.16) obtemos o controlo extremal:

u(t) =e−δt

ψ(0)e−rt⇔ u(t) =

1

ψ(0)e(r−δ)t . (4.19)

A trajectoria extremal e obtida substituindo (4.19) em (4.7):

x(t) − rx(t) = − (ψ(0))−1 e(r−δ)t . (4.20)

A equacao homogenea, x(t) − rx(t) = 0, tem solucao xh(t) = Aert. Uma solucao particular

de (4.20) e

xp(t) =e(r−δ)t

δψ(0),

pelo que a solucao geral da equacao diferencial ordinaria (4.20) e dada por x(t) = xh(t)+xp(t):

x(t) =e(r−δ)t

δψ(0)+Aert . (4.21)

As constantes A e ψ(0) sao determinadas usando as condicoes de fronteira (4.8):

x0 = 1δψ(0) +A ,

xT = e(r−δ)T

δψ(0) +AerT .

Resolvendo estas duas equacoes obtemos

1

δψ(0)=x0 − xT e−rT

1 − e−δT, A =

xT e−rT − x0e−δT

1 − e−δT,

e concluımos que a trajectoria extremal de Pontryagin (4.21) coincide com a extremal de

Euler-Lagrange (4.14). As extremais de Pontryagin encontradas sao facilmente determinadas

com a ajuda da nossa funcao PMP (Apendice F):

> PMP(L,phi,t,x,u,showt,noabn,explicit);

ψ (t) = C2 e−rt, u (t) = − 1

C2 e−rteδ t, x (t) =

(

− e−t(δ+r)

δ C2 e−rt+ C1

)

ert

Page 149: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

4.4 Determinacao da extremal via Programacao Dinamica 141

4.4 Determinacao da extremal via Programacao Dinamica

Para um problema∫ T

0L (t, x(t), u(t)) dt −→ max ,

x(t) = ϕ (t, x(t), u(t)) , u(t) ∈ U ,

x(0) = x0 , x(T ) = xT

que nao admita extremais anormais (ψ0 = 1), como e o caso do problema estudado neste

capıtulo, a equacao de Hamilton-Jacobi-Bellman toma a forma

∂S

∂t(t, x) + max

u∈UH

(

t, x, u,∂S

∂x(t, x)

)

= 0 , (4.22)

com H(t, x, u, ψ) = L(t, x, u) + ψϕ(t, x, u) o Hamiltoniano. A equacao (4.22) e uma equacao

as derivadas parciais, uma vez que envolve as derivadas parciais de S(t, x) em ordem a t e a x.

De um modo geral (o que acontece alias para o problema concreto (4.6)-(4.8) que estudamos)

este tipo de equacao e difıcil de resolver, mesmo quando L(·, ·, ·) e ϕ(·, ·, ·) sao funcoes simples.

Para o problema (4.6)-(4.8) fazemos:

> restart;

> L := (t,x,u) -> exp(-delta*t)*ln(u):

> phi := (t,x,u) -> r*x-u:

> H := (t,x,u,psi) -> L(t,x,u) + psi*phi(t,x,u):

> HJB := diff(S(t,x),t)+H(t,x,u,diff(S(t,x),x));

∂tS (t, x) + e−δ t ln (u) +

(∂

∂xS (t, x)

)

(rx− u)

A condicao necessaria de primeira ordem da-nos u em funcao de t e x

> u := solve(diff(HJB,u)=0,u);

u :=e−δ t

∂∂xS (t, x)

e a equacao de Hamilton-Jacobi-Bellman a resolver toma a forma

> simplify(HJB=0);

∂tS (t, x) + e−δ t ln

(

e−δ t

∂∂xS (t, x)

)

+ rx∂

∂xS (t, x) − e−δ t = 0

O Maple nao e capaz de resolver tal equacao diferencial (nao devolve nada):

Page 150: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

142 Um problema da Economia

> pdsolve(%);

Para ilustrar o uso da Programacao Dinamica em tempo contınuo precisamos de considerar

um problema mais simples. Vamos considerar o problema que se obtem de (4.6)-(4.8) fazendo

δ = r = 0:

V [u(·)] =

∫ T

0ln (u(t)) dt −→ max ,

x(t) = −u(t) , (4.23)

x(0) = x0 , x(T ) = xT .

A equacao de Hamilton-Jacobi-Bellman diz-nos que temos de maximizar em u, para todo o

u > 0, a expressao

> restart;

> L := (t,x,u) -> ln(u):

> phi := (t,x,u) -> -u:

> H := (t,x,u,psi) -> L(t,x,u) + psi*phi(t,x,u):

> HJB := diff(S(t,x),t)+H(t,x,u,diff(S(t,x),x));

∂tS (t, x) + ln (u) −

(∂

∂xS (t, x)

)

u

A condicao necessaria de primeira ordem da-nos

> u := solve(diff(HJB,u)=0,u);

u :=

(∂

∂xS (t, x)

)−1

e o metodo resume-se a resolver a equacao as derivadas parciais

> eq := simplify(HJB=0);

∂tS (t, x) + ln

((∂

∂xS (t, x)

)−1)

− 1 = 0

Resolvendo a equacao diferencial anterior obtemos S(t, x) e, deste modo, u =(∂S∂x

)−1:

> s := pdsolve(eq,build);

S (t, x) = −t ln(

c2−1)

+ t+ C1 + c2x+ C2

Page 151: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

4.5 Conclusao 143

> S(t,x) := rhs(s):

> u;

1

c2

Temos entao que o controlo extremal e uma constante. Substituindo a expressao de u no

sistema de controlo, obtemos uma equacao diferencial ordinaria cuja solucao nos conduz a

trajectoria extremal:

> edo := diff(x(t),t) = phi(t,x(t),u):

> ext := dsolve(edo);

x (t) = − t

c2+ C1

As constantes c2 e C1 sao determinadas pelas condicoes de fronteira:

> x := unapply(rhs(ext),t):

> const := solve(x(0)=x[0],x(T)=x[T],_c[2],_C1);

C1 = x0, c2 = − T

−x0 + xT

Concluımos entao que a trajectoria extremal para o problema (4.23) e

> subs(const,x(t));

(−x0 + xT ) t

T+ x0

e o controlo extremal dado por

> subs(const,u);

−−x0 + xTT

4.5 Conclusao

O Calculo das Variacoes, a Programacao Dinamica e o Controlo Optimo – os tres paradig-

mas da Optimizacao Dinamica – proporcionam tres abordagens diferentes ao problema, mas

Page 152: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

144 Um problema da Economia

equivalentes. A abordagem da Programacao Dinamica torna-se a mais complicada, no sen-

tido que envolve a resolucao da equacao de Hamilton-Jacobi-Bellman, que e uma equacao as

derivadas parciais. A resolucao de equacoes as derivadas parciais sai fora do ambito deste

curso e recorremos, para isso, ao Sistema de Computacao Algebrica Maple.

Note-se que apenas encontramos a extremal, isto e, o candidato a maximizante. Nao

demonstramos que a extremal encontrada e de facto solucao do problema. Nas aplicacoes,

isto e normalmente suficiente: a extremal tem um tal significado (economico, neste caso) que

se torna evidente estarmos realmente perante a solucao – veja-se [19, Cap. 5].

Page 153: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

Apendice A

Exemplo da componente teorica dos

exames

A componente teorica dos exames tem a duracao de 2 horas.

1. Reescreva o problema do Calculo das Variacoes com derivadas de ordem superior (com

derivadas ate a ordem r, r ≥ 1) no formato do Controlo Optimo. Use depois o Princıpio

do Maximo de Pontryagin para o caso particular r = 1 (problema fundamental do

Calculo das Variacoes) e obtenha a condicao necessaria de Euler-Lagrange.

2. Considere o problema de Controlo Optimo sem restricoes nos valores do controlo. Us-

ando o Princıpio do Maximo de Pontryagin (em particular o sistema Hamiltoniano e

a condicao de estacionaridade) demonstre que ao longo das extremais de Pontryagin a

derivada total do Hamiltoniano em relacao a variavel independente t e igual a derivada

parcial do Hamiltoniano em relacao a t. Obtenha depois a condicao necessaria classica

de DuBois-Reymond, aplicando a propriedade que acabou de demonstrar ao problema

fundamental do Calculo das Variacoes.

3. Considere o problema fundamental do Calculo das Variacoes. Mostre que quando o

Lagrangeano f(x, y, y′) nao depende explicitamente da variavel independente x (caso

autonomo), entao f − ∂f∂y′ y

′ define uma lei de conservacao.

4. Determine as extremais para os seguintes problemas do Calculo das Variacoes:

(a)∫ 10

(1 + y′′(x)2

)dx −→ extr, y(0) = 0, y(1) = 1, y′(0) = 1, y′(1) = 1.

(b)∫ 10 y

′(x)2dx −→ extr,∫ 10

(y(x) − y′(x)2

)dx = 1

12 , y(0) = 0, y(1) = 14 .

145

Page 154: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

146 Exemplo da componente teorica dos exames

5. Considere o seguinte problema do Calculo das Variacoes:

F [y(·)] =

∫ 1

−1x√

1 + y′(x)2dx −→ extr ,

y(−1) = α , y(1) = β .

Mostre, usando a condicao necessaria de segunda ordem de Legendre, que este problema

nao admite nem mınimo nem maximo.

Page 155: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

Apendice B

Exemplo da componente pratica

dos exames

A componente pratica dos exames tem a duracao de 1 hora e e realizada com o auxılio do

computador, com recurso ao Sistema de Computacao Algebrica Maple.

1. Usando o metodo dos multiplicadores de Lagrange determine o(s) candidato(s) a extre-

mante (candidato(s) a minimizante ou maximizante) para o seguinte problema:

4 lnx1 + 2x2 + 8x3 −→ extr ,

8 − x1 − x2 − 2x3 = 0 ,

1 − 1

2x1 − x3 = 0 .

2. Considere o seguinte problema do Calculo das Variacoes:

I[x(·)] =

∫ 3π2

0

(x2(t) − x2(t)

)dt −→ min ,

x(·) ∈ C2

([

0,3π

2

]

; R

)

,

x(0) = 0 , x

(3π

2

)

= 0 .

(a) Determine a extremal de Euler-Lagrange x(·).

(b) Compare o valor de I[x(·)] com o valor de I[x(·)], onde x(t) = sin(

2t3

). Repare

que x(·) e admissıvel: x(·) ∈ C∞ ([0, 3π2 ]; R

), x(0) = 0, x

(3π2

)= 0. O que pode

concluir? Explique.

147

Page 156: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

148 Exemplo da componente pratica dos exames

3. Considere o seguinte problema de Controlo Optimo:

∫ π2

0u2(t)dt −→ min ,

x1(t) = x2(t) ,

x2(t) = −x1(t) + u(t) ,

x1(0) = 0 , x2(0) = 0 , x1

2

)

= 1 , x2

2

)

=2

π.

(a) Determine as extremais de Pontryagin.

(b) Reescreva o problema como um problema do Calculo das Variacoes. Determine as

extremais de Euler-Lagrange.

(c) Escreva a equacao de Hamilton-Jacobi-Bellman e, usando o conhecimento da alınea

(a), determine a sua solucao. Obtenha depois o controlo extremal em malha

fechada (closed loop) e mostre que ele e equivalente ao controlo extremal em malha

aberta (open loop) que obteve na alınea (a).

Solucoes

1. Existe um ponto crıtico (normal): (x1, x2, x3) =(1, 6, 1

2

).

2.

(a) Extremal de Euler-Lagrange: x(t) ≡ 0.

(b) O problema nao tem solucao.

3.

(a) x1 (t) = 2 sin(t)tπ ; x2 (t) = 2 sin(t)

π + 2 cos(t)tπ ; u(t) = 4 cos(t)

π ; ψ2(t) = 2u(t); ψ1(t) =

−ψ2(t).

(b) Extremal de Euler-Lagrange: x (t) = 2 sin(t)tπ .

(c) Equacao de Hamilton-Jacobi-Bellman:

1

4

(∂S

∂x2(t, x1 , x2 )

)2

+∂S

∂x1(t, x1 , x2 ) x2

+∂S

∂x2(t, x1 , x2 )

(

−x1 − 1

2

∂S

∂x2(t, x1 , x2 )

)

+∂S

∂t(t, x1 , x2 ) = 0 .

Page 157: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

149

Solucao da equacao de Hamilton-Jacobi-Bellman:

S(t, x1, x2) = −4[

8 t+2 (x1 (t))2 π2t+2 (x2 (t))2 π2t+2π2t− 4 cos (t) x2 (t)π2t

− 4 tx1 (t) sin (t)π2 − 8 tx2 (t)π sin (t) + 8 tx1 (t)π cos (t) + 8 sin (t) cos (t)

− π3 (x1 (t))2 + 8π (cos (t))2 − 4π − π3 − 2 (x1 (t))2 sin (t) cos (t)π2 − π3 (x2 (t))2

− 8 cos (t) x2 (t)π + 2 cos (t) x2 (t)π3 + 4 sin (t) x2 (t)π2 + 2 x1 (t) sin (t)π3

+ 2 (x2 (t))2 sin (t) cos (t)π2 − 2π2 cos (t) sin (t)

− 4π2x1 (t) (cos (t))2 x2 (t)]

/[(

−4 (cos (t))2 + π2 − 4π t+ 4 t2)

π2]

.

Controlo extremal em malha fechada

u(t) = −4[

−2 tx2 (t)π + 2 tπ cos (t) + 4 t sin (t) + π2x2 (t) + 4 cos (t)− π2 cos (t)

− 2 sin (t)π − 2 x2 (t) sin (t) cos (t)π

+ 2π x1 (t) (cos (t))2]

/[

π(

−4 (cos (t))2 + π2 − 4π t+ 4 t2)]

.

Possıvel resolucao> restart:

> # Problema 1

> f := 4*ln(x1)+2*x2+8*x3:

> g1 := 8-x1-x2-2*x3:

> g2 := 1-(1/2)*x1-x3:

> L := lambda0*f+lambda1*g1+lambda2*g2:

> eqs := diff(L,x1)=0,diff(L,x2)=0,diff(L,x3)=0,g1=0,g2=0:> pc := solve(eqs);

pc := x3 = 1 − x1

2, x2 = 6, λ0 = 0, λ1 = 0, λ2 = 0, x1 = x1,

λ1 = 2λ0, x2 = 6, λ2 = 4λ0, x1 = 1, x3 =1

2, λ0 = λ0

> # a primeira soluc~ao n~ao interessa, pois

> # todos os multiplicadores s~ao nulos

> # a segunda soluc~ao implica que n~ao existe caso anormal:

> # lambda0 = 0 => lambda1 = 0 e lambda2 = 0.

> # Logo podemos fazer lambda0 = 1

> v := subs(lambda0=1,pc[2]);

v := 1 = 1, x2 = 6, x1 = 1, x3 =1

2, λ1 = 2, λ2 = 4

Page 158: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

150 Exemplo da componente pratica dos exames

> # ponto crıtico: (x1,x2,x3) = (1,6,1/2)

> #-----------------------------------------

> # Problema 2

> L := (t,x,v) -> v^2-x^2:> EL := L -> diff(D[3](L)(t,x(t),diff(x(t),t)),t) -

> D[2](L)(t,x(t),diff(x(t),t)) = 0:

> #---------------

> # 2(a)

> eqEL := EL(L);

eqEL := 2 ( d2

dt2x(t)) + 2 x(t) = 0

> dsolve(eqEL,x(0)=0,x((3*Pi)/2)=0); # extremal de Euler-Lagrange

x(t) = 0

> #---------------

> # 2(b)

> integral := (x,L) -> int(L(t,x,diff(x,t)),t=0..3*Pi/2):

> integral(0,L); # valor da funcional ao longo da extremal de E-L

0

> integral(sin(2*t/3),L);

−5π

12> # a extremal n~ao pode ser minimizante!

> # O problema n~ao tem soluc~ao...

> #-----------------------------------------

> # Problema 3

> restart;

> L := u^2:

> phi := [x2,-x1+u]:

> H := psi0*L+psi1*phi[1]+psi2*phi[2];

H := ψ0u2 + ψ1 x2 + ψ2 (−x1 + u)

> #---------------

> # 3(a)

> S := x1=x1(t),x2=x2(t),u=u(t),psi1=psi1(t),psi2=psi2(t):> ce := subs(S,diff(H,u)=0);

ce := 2ψ0 u(t) + ψ2(t) = 0

> sa1 := diff(psi1(t),t) = - subs(S,diff(H,x1));

Page 159: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

151

sa1 := ddt ψ1(t) = ψ2(t)

> sa2 := diff(psi2(t),t) = - subs(S,diff(H,x2));

sa2 := ddt ψ2(t) = −ψ1(t)

> # n~ao existe caso anormal: psi0=0 => psi2=0 => psi1=0

> u(t) := solve(subs(psi0=-1,ce),u(t));

u(t) :=1

2ψ2(t)

> psis := dsolve(sa1,sa2);psis := ψ1(t) = C1 sin(t) + C2 cos(t), ψ2(t) = C1 cos(t) − C2 sin(t)

> sc := diff(x1(t),t)=subs(S,phi)[1],diff(x2(t),t)=subs(S,phi)[2];

sc := ddt x1(t) = x2(t), d

dt x2(t) = −x1(t) +1

2ψ2(t)

> assign(psis);

> sc;

ddt x1(t) = x2(t), d

dt x2(t) = −x1(t) +1

2C1 cos(t) − 1

2C2 sin(t)

> xs := dsolve(sc,x1(0)=0,x2(0)=0,x1(Pi/2)=1,x2(Pi/2)=2/Pi);

xs :=

x2(t) =2 sin(t)

π+

2 cos(t) t

π, x1(t) =

2 sin(t) t

π

> assign(xs);

> u(t) := diff(x2(t),t)+x1(t);

u(t) :=4 cos(t)

π> #---------------

> # 3(b)

> # do sistema de controlo tiramos

> # u(t) = diff(x2(t),t)+x1(t) e x2(t) = diff(x1(t),t)

> # logo u(t) = diff(x1(t),t,t)+x1(t)

> # obtemos ent~ao o problema do CV escalar

> # com derivadas de segunda ordem

> # L = (x(t) + diff(x(t),t,t))^2

> LCV := (t,x,v,a) -> (x+a)^2:

> arg := (t,x(t),diff(x(t),t),diff(x(t),t,t));

arg := t, x(t), ddt x(t), d2

dt2x(t)

> eqEP := L ->

> diff(D[4](L)(arg),t,t)-diff(D[3](L)(arg),t)+D[2](L)(arg)=0:

> eqEP := eqEP(LCV);

eqEP := 4 ( d2

dt2x(t)) + 2 ( d

4

dt4x(t)) + 2 x(t) = 0

Page 160: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

152 Exemplo da componente pratica dos exames

> dsolve(eqEP,x(0)=0,x(Pi/2)=1,D(x)(0)=0,D(x)(Pi/2)=2/Pi);

x(t) =2 sin(t) t

π> # Como esperado, x e igual ao x1 encontrado na alınea (a)

> #---------------

> # 3(c)

> restart;

> L := u^2:

> phi := [x2,-x1+u]:

> HJB :=

> L+D[2](S)(t,x1,x2)*phi[1]+D[3](S)(t,x1,x2)*phi[2]+D[1](S)(t,x1,x2):

> u := solve(diff(HJB,u)=0,u);

u := −1

2D3(S)(t, x1 , x2 )

> # Sabendo S sabemos o controlo extremal u

> # obtem-se S resolvendo a seguinte PDE

> eq := HJB=0;

eq :=1

4D3(S)(t, x1 , x2 )2 + D2(S)(t, x1 , x2 ) x2 + D3(S)(t, x1 , x2 ) (−x1 − 1

2D3(S)(t, x1 , x2 ))

+ D1(S)(t, x1 , x2 ) = 0

> # como a resoluc~ao da PDE e difıcil,

> # determinamos S a partir da definic~ao,

> # usando o PMP (alınea (a)), e verificando que tal

> # S satisfaz a equac~ao de Hamilton-Jacobi-Bellman acima

> sc := diff(x1(tau),tau) = x2(tau), diff(x2(tau),tau) =

> -x1(tau)+1/2*_C1*cos(tau)-1/2*_C2*sin(tau);

sc := ddτ x1(τ) = x2(τ), d

dτ x2(τ) = −x1(τ) +1

2C1 cos(τ) − 1

2C2 sin(τ)

> xs := dsolve(sc,x1(t)=x1t,x2(t)=x2t,x1(Pi/2)=1,x2(Pi/2)=2/Pi):> assign(xs);

> u := diff(x2(tau),tau)+x1(tau):

> S := simplify(int(u^2,tau=t..Pi/2)):

> S := unapply(S,t,x1t,x2t):

> S(t,x1(t),x2(t));

Page 161: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

153

−4(8 t+ 2π2 t+ 2π2 x1(t)2 t+ 2π2 x2(t)2 t− 8 t x2(t)π sin(t) + 8 t x1(t)π cos(t)

− 4 cos(t) x2(t)π2 t− 4 t x1(t) sin(t)π2 + 8π cos(t)2 − π3 − π3 x2(t)2 − π3 x1(t)2

+ 2π2 sin(t) x2(t)2 cos(t) − 4π + 2 cos(t) x2(t)π3 − 8 cos(t) x2(t)π

+ 4 sin(t) x2(t)π2 − 2π2 x1(t)2 sin(t) cos(t) + 8 sin(t) cos(t) + 2 x1(t) sin(t)π3

− 4π2 x1(t) cos(t)2 x2(t) − 2π2 cos(t) sin(t))/

((−4 cos(t)2 + π2 − 4π t+ 4 t2)π2)

> # verificamos agora que o S encontrado satisfaz a equac~ao de HJB

> simplify(eq);

0 = 0

> # Vamos agora mostrar que o controlo extremal

> # u = -(1/2)*D[3](S) obtido pela PD

> # coincide com o controlo extremal obtido

> # anteriormente pelo PMP e pelo CV

> u := simplify(-(1/2)*D[3](S)(t,x1(t),x2(t)));

u := −4(−2π x2(t) t+ 4 t sin(t) + 2 t π cos(t) + π2 x2(t) − 2π sin(t) x2(t) cos(t) − cos(t)π2

+ 4 cos(t) − 2 sin(t)π + 2π x1(t) cos(t)2)/

(π (−4 cos(t)2 + π2 − 4π t+ 4 t2))

> # Reparar que existe uma grande diferenca

> # entre a PD e o metodo do CO:

> # em PD o controlo e dado em func~ao

> # das variaveis de estado ("closed loop"; controlo em malha fechada);

> # em oposic~ao ao CO ("open loop"; controlo em malha aberta).

> # Substituindo o x1(t) e o x2(t) encontrado pelo CO e CV

> # obtemos a mesma express~ao para o controlo extremal u

> xs := x2(t) = 2*sin(t)/Pi+2*cos(t)/Pi*t, x1(t) =

> 2*sin(t)/Pi*t;

xs :=

x2(t) =2 sin(t)

π+

2 cos(t) t

π, x1(t) =

2 sin(t) t

π

> simplify(subs(xs,u));

4 cos(t)

π

Page 162: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o
Page 163: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

Apendice C

Matematica elementar em Maple

O curso proposto faz uso do Sistema de Computacao Algebrica Maple olhando-o como

uma ferramenta ao servico do ensino e da aprendizagem da Matematica. Damos aqui uma

introducao elementar ao Maple, remetendo o leitor interessado num estudo mais aprofundado

deste Sistema de Computacao Algebrica para [1, 10, 30, 40].

Breve apresentacao do Maple

O Maple faz parte de uma famılia de ambientes computacionais apelidados de Sistemas de

Computacao Algebrica. Trata-se de uma ferramenta matematica muito poderosa, que permite

realizar uma mirıade de calculos simbolicos.

Depois de se iniciar uma sessao Maple, o sistema oferece-nos uma “linha de comandos”,

muito ao jeito do velhinho DOS (Disk Operating System):

>

O Maple encontra-se entao a espera de ordens. Vejamos, nesta seccao introdutoria, algumas

potencialidades do Maple.

Facamos n tomar o valor de 70! (setenta factorial), isto e, o numero que resulta do produto

dos primeiros 70 inteiros positivos (70! = 1 · 2 · 3 · · · 69 · 70):

> n := 70!;

n := 1197857166996989179607278372168909873645893814254

6425857555362864628009582789845319680000000000000000

155

Page 164: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

156 Matematica elementar em Maple

Decomponhamos agora 70! em factores primos (atencao, o Maple e sensıvel as minusculas-

maiusculas):

> ifactor(n);

(2)67(3)32(5)16(7)11(11)6(13)5(17)4(19)3(23)3(29)2(31)2(37)

(41)(43)(47)(53)(59)(61)(67)

Na contra-capa das “Notices of the American Mathematical Society”, Vol. 50, Nr. 1, de

Janeiro de 2003, ao fazer-se publicidade a certo livro, aparece a seguinte questao: Quantos

dıgitos tem 100! ? A resposta e facilmente obtida por intermedio do Maple:

> length(100!);

158

Vejamos quais os primeiros 200 dıgitos de π:

> evalf(Pi,200);

3.1415926535897932384626433832795028841971693993751058209749445923078164062

862089986280348253421170679821480865132823066470938446095505822317253594081

284811174502841027019385211055596446229489549303820

Podemos achar a expansao de expressoes como (a+√b)15:

> expand((a + sqrt(b))^15);

a15 + 15√ba14 + 105 ba13 + 455 b3/2a12 + 1365 b2a11 + 3003 b5/2a10 + 5005 b3a9

+6435 b7/2a8 + 6435 b4a7 + 5005 b9/2a6 + 3003 b5a5 + 1365 b11/2a4 + 455 b6a3

+105 b13/2a2 + 15 b7a+ b15/2

calcular o valor de somatorios

> s := Sum(i^3 * 7^i,i=1...k);

Page 165: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

157

s :=

k∑

i=1

i37i

> value(s);

7

97k+1 (k + 1) − 91

2167k+1 − 7

127k+1 (k + 1)2 + 1/6 (k + 1)3 7k+1 +

91

216

Muitas outras operacoes sao possıveis. Vamos dar apenas mais alguns exemplos ilustra-

tivos. Podemos determinar o limite

limx→∞

3x− 1

x arctan(x) + ln(x)

> limit((3*x-1)/(x*arctan(x)+ln(x)),x=infinity);

61

π

a derivada de cos(x3 ln(1 − x5)

)

> diff(cos(x^3*ln(1-x^5)),x);

− sin(x3 ln(1 − x5))

(

3x2 ln(1 − x5) − 5x7

1 − x5

)

a primitiva

> p := Int(x^3 * sqrt(x^4 - a^4),x);

p :=

x3√

x4 − a4dx

> value(p);

1

6

(x4 − a4

)3/2

Podemos igualmente resolver o sistema de equacoes lineares

5x− 3y = 2z + 1

−x+ 4y = 7z

3x+ 5y = z

Page 166: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

158 Matematica elementar em Maple

> equacoes := 5*x-3*y=2*z+1,-x+4*y=7*z,3*x+5*y=z:

Todos os comandos em Maple terminam com ; (ponto e vırgula) ou com : (dois pontos).

Usamos a terminacao “:” quando nao estamos interessados em ver o resultado do comando.

> solve(equacoes,x,y,z);

x =31

255, y = − 22

255, z = − 1

15

Por ultimo esbocamos o grafico da funcao sin(x3) ln(1 + x2), x ∈ [−2, 2]

> plot(sin(x^3)*ln(1+x^2),x=-2...2);

–1.5

–1

–0.5

0

0.5

1

1.5

–2 –1 1 2x

Expressoes Aritmeticas

A aritmetica em Z e trivial com o Maple.

> 5+3;

8

> 5

> +

> 3

> ;

Page 167: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

159

8

Sao possıveis varias operacoes em simultaneo:

> 1+10+100+1000;

1111

O que acontece se ocorrer um erro sintactico? Por exemplo a expressao 5 + +3 nao e valida:

> 5++3;

Error, ‘+‘ unexpected

O Maple escreve uma mensagem de erro e posiciona o cursor imediatamente atras do primeiro

caracter incorrecto (neste caso o cursor fica posicionado entre os dois sinais de mais). O Maple

diagnostica um erro de cada vez. Por este motivo, eliminar todos os erros sintacticos de uma

expressao pode requerer varias fases.

Os caracteres + - * / denotam as quatro operacoes aritmeticas basicas: adicao, sub-

traccao, multiplicacao e divisao, respectivamente.

Uma expressao pode conter um numero arbitrario de operadores, o que pode criar um

problema de representacao. Por exemplo o significado das expressoes Maple

> 8+4+2:

> 8*4*2:

e claro. Mas o que significa a seguinte expressao Maple?

> 8/4/2:

Traduzindo literalmente para a notacao matematica, obtemos um objecto bizarro:

84

2

A ambiguidade surge porque a divisao, ao contrario da adicao e multiplicacao, e tal como a

subtraccao, nao e associativa: (a/b)/c e, em geral, diferente de a/(b/c).

> (8/4)/2;

1

Page 168: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

160 Matematica elementar em Maple

> 8/(4/2);

4

O Maple realiza sempre a divisao da esquerda para a direita:

> 8/4/2;

1

O Maple e muito tolerante a parenteses redundantes:

> (((((8/((((4)))))))))/(((2)));

1

Apenas parenteses curvos sao permitidos. Os parenteses rectos e as chavetas tem, como

veremos mais tarde, um significado especial em Maple e, por isso, nao podem ser usados para

colocar expressoes entre parentesis.

As vezes o Maple insiste que os parenteses sejam usados, mesmo se a ambiguidade esteja,

em princıpio, resolvida. Por exemplo, nao podemos escrever 3× (−2) sem parentesis, embora

a expressao tenha apenas uma interpretacao que conduz ao valor −6:

> 3*-2;

Error, ‘-‘ unexpected

O operador exponenciacao e representado pelo caracter ^ . Por exemplo 2^14 significa

214. A exponenciacao nao e associativa mas, de modo diferente ao que acontece com a divisao

e subtraccao, o Maple exige que se usem parenteses numa sequencia de exponenciais:

> 2^2^3;

Error, ’ ’ unexpected

> 2^(2^3);

256

Page 169: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

161

> (2^2)^3;

64

O Maple nao e uma calculadora normal. Isso torna-se claro quando calculamos algo como

> 2^1279-1;

e recebemos como resposta um numero com 386 dıgitos. Como o resultado nao cabe em

apenas uma linha, o Maple usa o caracter \ para indicar a continuacao na linha seguinte.

> 100

> 00 + 1;

Error, unexpected number

Obtemos um mensagem de erro pois 100 00+1 nao e uma expressao valida. Usando o caracter

de continuacao de linha obtemos:

> 100\

> 00 + 1;

10001

A expressao 2^1279-1 acima contem dois operadores distintos: exponenciacao e subtraccao.

Qual das duas possibilidades e considerada pelo Maple: 21279−1 ou 21279−1 = 21278? O Maple

da prioridade a exponenciacao:

> 3-2^5;

−29

> (3-2)^5;

1

No caso de existir mais do que um operador, a ordem de calculo da expressao e:

(1) exponenciacao

(2) multiplicacao, divisao

Page 170: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

162 Matematica elementar em Maple

(3) adicao, subtraccao, negacao (mudanca de sinal)

Se aparecer mais do que um operador com a mesma prioridade, o calculo e realizado da

esquerda para a direita para as operacoes dos grupos (2) e (3). Sequencias do operador

exponenciacao nao sao, como ja mencionamos, validas: devem ser usados parenteses. Uma

sub-expressao entre parenteses e sempre realizada em primeiro lugar e, se existir mais do que

uma, com prioridade da esquerda para a direita.

Exemplo 96. Uma expressao Maple correspondente a expressao matematica

23×4−5 + 6

7 × 8(C.1)

e obtida usando, pelo menos, tres parenteses (verifique que nao e possıvel obter (C.1) com

menos do que tres parenteses):

> (2^(3*4-5)+6)/(7*8);

67

28

Variaveis e Comentarios

O caracter % e chamado de variavel ditto e pode ser usado em qualquer expressao

para representar o valor do resultado do ultimo comando (tem, por isso, um significado

completamente distinto da percentagem das maquinas de calcular!):

> 51^2+80^2-1;

9000

> %/1000;

9

Reparar que no ultimo comando nao e necessario parenteses: e o valor que e substituıdo

e nao a expressao. O Maple suporta as seguintes variaveis ditto: % (valor do resultado do

ultimo comando); %% (valor do resultado do penultimo comando); %%% (valor do resultado do

antepenultimo comando). Quatro ou mais sinais de percentagem nao tem significado.

Exemplo 97. O valor da expressao (123 + 13) − (103 + 93) pode ser calculado com recurso

a variaveis ditto da seguinte maneira (repare que nao e usado qualquer parenteses):

Page 171: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

163

> 12^3+1^3:

> 10^3+9^3:

> %%-%;

0

Exemplo 98. O valor da expressao aninhada

((((1 + 1) × 2 + 1) × 3 + 1) × 4 + 1) × 5

pode ser calculado da seguinte maneira:

> 1: (%+1)*2: (%+1)*3: (%+1)*4: (%+1)*5;

325

O exemplo anterior mostra que sao possıveis varios comandos numa mesma linha de

entrada. E tambem possıvel um unico comando apresentar varios valores a saıda. O proximo

exemplo mostra dois comandos na mesma linha de entrada: o primeiro comando nao apresenta

saıda (termina com dois pontos) e o segundo apresenta dois valores de saıda (notar o uso da

vırgula)

> 1+1: %/2, %;

1, 2

Comparar o exemplo anterior com o seguinte:

> 1+1: %/2; %%;

1

2

Os comentarios sao inseridos atraves do caracter #

> 1+1; # isto deve dar dois

2

Podem ser inseridos comentarios na saıda usando aspas:

> "um mais um sao dois", 1+1; # isto e’ um comentario

Page 172: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

164 Matematica elementar em Maple

”um mais um sao dois”, 2

O Maple oferece grande liberdade na escolha de nomes para as variaveis. Os nomes das

variaveis devem comecar por uma letra e podem depois ser seguidos por letras, dıgitos, hıfens,

etc. O Maple e sensıvel a minusculas-maiusculas, pelo que Aa aA aa AA sao nomes de variaveis

diferentes.

Vejamos alguns exemplos:

> primeiro_quadrado := 15140424455100^2:

> SegundoQuadrado := 158070671986249^2:

> 109 * primeiro_quadrado - SegundoQuadrado;

−1

Nao podem ser usadas variaveis cujo nome coincide com uma palavra reservada do Maple ou

com funcoes pre-definidas (e.g., and from sin cos tan):

> and := 3;

Error, reserved word ‘and‘ unexpected

Vejamos a diferenca entre pi e Pi:

> pi := 3; # a variavel cujo nome e’ o caracter grego pi, toma o valor 3

π := 3

> Pi := 3;

Error, attempting to assign to ‘Pi‘ which is protected

> evalf(Pi,5);

3.1416

> evalf(pi,5);

Page 173: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

165

π

Uma variavel volta ao seu estado indeterminado atraves do uso de plicas:

> a := 3:

> 2-a^a;

−25

> a := ’a’: # Retorna a ao seu estado indeterminado

> 2-a^a;

2 − aa

> y := 3:

> y + ’y’;

3 + y

Atencao ao uso de definicoes recursivas. O comando que se segue faz todo o sentido

> y := 2: y:= y + 1;

y := 3

mas o proximo nao! (perceba porque)

> perigosa:= perigosa + 1;

Error, recursive assignment

Substituicoes

A funcao do Maple subs permite substituir sub-expressoes numa expressao:

> s := x+y+x^2+y^2+x*y;

s := x+ y + x2 + y2 + xy

Page 174: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

166 Matematica elementar em Maple

> subs(x=100,y=99,s);

29900

> s;

x+ y + x2 + y2 + xy

> subs(x=1,s) - subs(y=z^2,s);

2 + 2 y + y2 − x− z2 − x2 − z4 − xz2

> x:=100:y:=99:s;

29900

> x:=’x’: y:=’y’: s;

x+ y + x2 + y2 + xy

Existem dois tipos de substituicoes: as substituicoes sequenciais (em que a ordem importa)

> subs(a=b,b=c,a+b+c);

3c

> subs(b=c,a=b,a+b+c);

b+ 2c

e as substituicoes multiplas (que se obtem por recurso as chavetas) em que a ordem e irrele-

vante. Vejamos a diferenca:

> subs(a=b,b=c,c=a,a^3+b^2+c); # substituicao simultanea

a3 + a2 + a

> subs(a=b,b=c,c=a,a^3+b^2+c); # substituicao multipla

b3 + c2 + a

Page 175: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

167

Exemplo 99. O valor de

4

(1

a2− a

)(1

b4+ b2

)

− 9a1

(b−1)2− b+ 1

para a = 2 e b = −1 pode ser calculado da seguinte maneira:

> 1/a^2-a:

> 4*%*subs(a=-b^2,%)-9*a/subs(a=b-1,%):

> subs(a=2,b=-1,%);

−22

Expressoes Relacionais

Problema 100. Qual dos dois e maior: 21000 ou 3600?

Uma maneira obvia de resolver o problema e:

> 2^1000 - 3^600;

1071508607186265447020721164266013135159412775893191176596847289092195254433

9378013021020630393279855155792260144674660521283480997012761366896884455647

4896643683504041891476004774607370328258849808361835448896312841168479736329

34417856017249719920313704260788202771289845415370457786694613325762937375

Como o resultado e um numero positivo, concluımos que 21000 > 3600. A desvantagem

desta resolucao e que calculamos um numero com 302 dıgitos quando na verdade apenas

precisavamos de saber o seu sinal! O Maple oferece a possibilidade de obter respostas directas

a questoes deste tipo, atraves da funcao evalb (“evaluate to boolean”):

> evalb(2^1000 > 3^600);

true

A expressao 2^1000 > 3^600 e um exemplo de uma expressao relacional : uma expressao que

liga dados numericos e logicos. De uma maneira geral, uma expressao relacional consiste de

duas expressoes aritmeticas que sao comparadas por meio de um operador relacional. Existem

tres possibilidades:

Page 176: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

168 Matematica elementar em Maple

1. A relacao e satisfeita: o Maple retorna true;

2. A relacao nao e satisfeita: o Maple retorna false;

3. O Maple tem dificuldade em decidir e retorna FAIL.

Os operadores relacionais do Maple mais usados sao:

= <>

< >

<= >=

Para calcular o valor de uma expressao relacional e necessario usar a funcao evalb

> evalb(-3 < -2), evalb(-3 = -2);

true, false

Deste modo temos a possibilidade de lidar com equacoes ou inequacoes e manipula-las alge-

bricamente

> 1 + 1 = z; x < -3*y^2;

2 = z

x < −3 y2

> %% + %;

2 + x < z − 3 y2

Para calcular distancias usamos a funcao valor absoluto que e implementada em Maple

por abs

> abs(-12), abs(53*9100^2 - 66249^2);

12, 1

Exemplo 101. Seja n = 100100. Qual dos numeros n1 = 10199 ou n2 = 99101 esta mais

proximo de n?

Page 177: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

169

> n := 100^100: n1 := 101^99: n2 := 99^101:

> evalb(abs(n-n1)<abs(n-n2));

true

Concluımos entao que n1 esta mais proximo de n do que n2.

Divisibilidade

Dados dois inteiros d e n dizemos que d divide n (ou que d e divisor de n; ou que n e

multiplo de d) se existir um inteiro q tal que n = dq. A q chamamos quociente da divisao de

n por d. Quando d divide n escrevemos

d|nPodemos entao escrever, por exemplo, que 3|21. Um inteiro e par se e divisıvel por 2; ımpar

se nao.

Se d|n entao −d|n. Por esta razao e usual considerar apenas os divisores positivos. Um

divisor proprio d de n e um divisor diferente de 1 e diferente de n.

Exemplo 102. O 0 tem infinitos divisores; 1 tem 1 divisor; 12 tem 6 divisores (1,2,3,4,6,12)

– quatro dos quais sao proprios; 11 tem dois divisores (nenhum divisor proprio).

A divisibilidade tem uma interpretacao geometrica simples: se d|n entao podemos orga-

nizar n pontos no plano de forma a formar um array rectangular com d linhas. Se mudarmos

linhas e colunas (se rodarmos o array de 90o) obtemos um novo array com q = nd linhas.

Desta interpretacao geometrica concluımos que os divisores vem aos pares: d|n⇒(nd

)|n.

Uma vez que a cada divisor d de n corresponde o divisor gemeo nd , podemos concluir que

o numero de divisores de um inteiro e par? A resposta e nao. Isto pelo simples facto que d end podem coincidir. Isto acontece quando n e um quadrado.

Teorema 103. Um inteiro e um quadrado se, e somente se, tem um numero ımpar de

divisores.

O emparelhamento dos divisores tem uma implicacao importante. Suponhamos que d|ncom d2 ≤ n ⇔ d ≤ √

n. Entao nd2

≥ 1 e concluımos que(nd

)2 ≥ n ⇔ nd ≥ √

n. Isto significa

que para encontrarmos todos os divisores de n apenas precisamos de testar a divisibilidade

dos inteiros d para os quais 1 ≤ d ≤ √n.

Exemplo 104. Para encontrar todos os divisores de 30 testamos a divisibilidade para d =

1, 2, 3, 4, 5. Os divisores sao (1, 30), (2, 15), (3, 10) e (5, 6). Para encontrar os divisores de 36

testamos a divisibilidade para d = 1, 2, 3, 4, 5, 6. Os divisores de 36 sao (1, 36), (2, 18), (3, 12),

(4, 9) e 6 (numero ımpar de divisores porque 36 = 62).

Page 178: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

170 Matematica elementar em Maple

Quociente e Resto

Para todo o d ∈ N e n ∈ N0 existe um unico q e um unico r tais que

n = dq + r 0 ≤ r < d

O q e chamado de quociente e r de resto.

Um divisor comum a dois inteiros e um inteiro que divide ambos. Por exemplo, como 3|12

e 3|21 entao 3 e divisor comum a 12 e 21. Tem especial interesse o maximo divisor comum

entre dois inteiros x e y, denotado usualmente por gcd(x, d) (“greatest common divisor”), que

e o maior numero entre os divisores comuns de x e y. Por definicao, gcd(x, y) = gcd(|x|, |y|);gcd(x, 0) = |x|; gcd(0, 0) = 0. Existe uma relacao ıntima entre o conceito de divisibilidade e

o conceito de gcd.

Teorema 105. Se 0 < a ≤ b, entao a|b⇔ gcd(a, b) = a.

A definicao de maximo divisor comum e extendida a mais do que dois inteiros da maneira

obvia. Dizemos que os inteiros x1, . . . , xn sao primos entre si quando o gcd(x1, · · · , xn) = 1.

Muito importante tambem, e o conceito de mınimo multiplo comum entre x e y, denotado

usualmente por lcm(x, y) (“least common multiple”): o menor inteiro positivo divisıvel por

x e y.

Funcoes do Maple associadas a divisibilidade

Note que nesta seccao todas as funcoes Maple comecam com i (o prefixo significa “inte-

ger”).

O maximo divisor comum e mınimo multiplo comum estao implementados em Maple pelas

funcoes igcd(x1,...,xn) e ilcm(x1,...,xn):

> igcd(-15,21), igcd(1,-7), igcd(0,7);

3, 1, 7

Os numeros 14 e 15 sao primos entre si:

> igcd(14,15);

1

Repare que 10, 15 e 18 sao primos entre si embora nenhum par formado entre eles seja primo

entre si:

Page 179: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

171

> igcd(10,15,18), igcd(10,15), igcd(10,18), igcd(15,18);

1, 5, 2, 3

Pelo Teorema 105 podemos usar o igcd para testar a divisibilidade.

Exemplo 106. 2191 − 1 e divisıvel por 383? Uma maneira de responder a questao e atraves

do seguinte comando Maple:

> evalb(igcd(383,2^191-1) = 383);

true

O mınimo multiplo comum entre 12 e 21 e 84

> ilcm(12,21);

84

O mınimo multiplo comum entre x (x inteiro arbitrario) e zero e zero:

> ilcm(x,0);

0

O quociente e resto da divisao inteira sao obtidos, respectivamente, pelas funcoes iquo e

irem. (O Maple tambem disponibiliza as funcoes quo e rem, mas elas operam com polinomios

e nao com inteiros.) As funcoes do Maple tambem aceitam argumentos negativos. A definicao

e:

n = dq + r 0 ≤ |r| ≤ |d| , nr ≥ 0

O resto e negativo sempre que n e negativo; o quociente e negativo se n e d tem sinais opostos:

> iquo(23,7), iquo(23,-7), iquo(-23,7), iquo(-23,-7);

3,−3,−3, 3

> irem(23,7), irem(23,-7), irem(-23,7), irem(-23,-7);

Page 180: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

172 Matematica elementar em Maple

2, 2,−2,−2

Podemos tambem usar a funcao irem para resolver o Exercıcio 106:

> evalb(irem(2^191-1,383) = 0);

true

Racionais

O conjunto Z nao e fechado sob a divisao: dados a, b ∈ Z, b 6= 0, em geral nao e verdade

que ab ∈ Z. Somos assim levados a introducao do corpo Q dos numeros racionais:

Q =

x =b

a: a, b ∈ Z e a 6= 0

A definicao de numero racional cria um problema de representacao: existem infinitos pares

de inteiros (a, b) que representam o mesmo racional. Por exemplo,

x =−2

3=

2

−3=

−4

6=

4

−6=

−6

9=

6

−9= · · ·

Para resolver este problema de representacao, o Maple usa a chamada forma reduzida: dizemos

que ba esta na forma reduzida quando a e positivo e a e b sao primos entre si. Por exemplo a

forma reduzida do racional 4−6 e −2

3 :

> 4/(-6);

−2

3

As funcoes numer e denom permitem-nos aceder respectivamente ao numerador e denom-

inador de um racional:

> 22/8: numer(%),denom(%);

11, 4

Todo o inteiro e racional.

> denom(3);

Page 181: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

173

1

Os racionais constituem um novo tipo de objecto em Maple – um novo tipo de dados.

> whattype(2), whattype(2/3);

integer, fraction

Exemplo 107. Pretendemos responder a seguinte questao: 1111|111111111111? Comecamos

por definir os numeros inteiros em jogo:

> n := 111111111111: d := 1111:

Vejamos tres maneiras de resolver o problema:

> evalb(irem(n,d)=0); # maneira 1

true

> evalb(whattype(n/d)=integer); # maneira 2

true

> evalb(denom(n/d)=1); # maneira 3

true

Dado x = ba ∈ Q podemos encontrar q e r tal que

b = qa+ r

Dividindo por a obtemos:b

a= q +

r

a

A q chamamos parte inteira de x e a ra parte fraccionaria de x. A parte fraccionaria de x e

denotada por x. Por exemplo,

23

7= 3 +

2

7⇒

23

7

=2

7

A funcao Maple frac devolve-nos a parte fraccionaria de um racional:

Page 182: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

174 Matematica elementar em Maple

> frac(23/7);

2

7

Exemplo 108. Por definicao, a funcao frac(x) pre-definida e equivalente ao comando Maple

irem(numer(x),denom(x))/denom(x);

Exemplo 109. Seja r1 = 2134 , r2 = 55

89 , r3 = 3455 . Pretende-se mostrar que r2 esta entre r1 e

r3. Isso e conseguido por intermedio dos seguintes comandos Maple:

> r1 := 21/34: r2 := 55/89: r3 := 34/55:

> evalb(abs(r1-r3) = abs(r1-r2) + abs(r2-r3));

true

A distancia mınima entre dois inteiros e um. Em particular, 1 e o inteiro positivo mais

pequeno. Nao existe distancia mınima entre dois racionais e, como consequencia, nao existe

“o racional positivo mais pequeno”.

Problema 110. Determinar um racional a uma distancia de x = ab (racional dado) inferior

a ε.

Vejamos uma maneira de abordar o Problema 110. Para qualquer m > 0, x = ab = am

bm

e os racionais am+1bm e am−1

bm estao a uma distancia 1bm de x. Escolhendo m suficientemente

grande, podemos fazer esta distancia tao pequena quanto queiramos.

Exemplo 111. Pretendemos encontrar um racional a uma distancia de x = 96145 inferior a

10−4. Para isso encontramos o menor m para o qual bm > 104.

> a := 96: b:= 145: m := iquo(10^4,b)+1:

> (a*m+1)/(b*m);

1325

2001

Primos

Um inteiro positivo n > 1 diz-se primo se ele tem precisamente 2 divisores: 1 e n (ou

seja, se nao tiver divisores proprios). Um numero nao primo diz-se composto. O Teorema

Page 183: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

175

Fundamental da Aritmetica diz que qualquer inteiro n maior que 1 pode ser expresso como

um produto

n = pe11 × pe22 × · · · × pek

k (C.2)

onde os pi’s sao numeros primos distintos e os ei’s sao inteiros positivos. Mais, afirma que

esta factorizacao e unica a menos da ordem dos factores. Por exemplo, 12 = 22 × 3. Por

conveniencia, nao consideramos 1 como numero primo (de outro modo, 12 = 1 × 22 × 3 era

uma decomposicao em primos diferente!). O numero de divisores de n e dado por

σ(n) = (e1 + 1) × (e2 + 1) × · · · × (ek + 1)

Por exemplo, 84 = 22 × 31 × 71 (p1 = 2, p2 = 3, p3 = 7, e1 = 2, e2 = 1, e3 = 1). Concluımos

entao que 84 tem 12 divisores: σ(84) = 3 × 2 × 2 = 12.

Exemplo 112. Pretende-se encontrar a estrutura de todos os inteiros n com 10 divisores.

De modo a que (e1 + 1) × (e2 + 1) × · · · × (ek + 1) = 10 = 2 × 5 temos duas possibilidades:

ou k = 1 ∧ e1 = 9 ⇒ n = p91; ou k = 2 ∧ e1 = 1 ∧ e2 = 4 ⇒ n = p1 × p4

2.

Em Maple a factorizacao (C.2) e obtida atraves da funcao ifactor:

> ifactor(3^52-2^52);

(5)(13)2(53)(79)(1093)(13761229)(29927)(4057)

Constata-se e que o Maple e algo desarrumado: os numeros primos nao sao mostrados por

nenhuma ordem em especial.

Exemplo 113. Pretende-se determinar se 31418506212244678577 e, ou nao, primo. Uma

maneira muito ineficiente de saber a resposta consiste em usar o ifactor:

> ifactor(31418506212244678577);

(7949)(7927)(7933)(7919)(7937)

> expand(%);

31418506212244678577

E possıvel decidir se um numero e primo ou nao sem calcular a sua factorizacao! (A fac-

torizacao (C.2) e computacionalmente muito exigente, razao pela qual e muito usada nos

metodos de criptografia.) Em Maple usamos a funcao isprime:

Page 184: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

176 Matematica elementar em Maple

> isprime(31418506212244678577);

false

Em abono da verdade, convem dizer que isprime, por razoes de eficiencia, executa um

algoritmo probabilıstico e que, por isso, o valor logico retornado deve ser entendido a luz

do “e muito provavel que”. Sabe-se no entanto que o isprime, a falhar, sera sempre para

numeros com muitas centenas de dıgitos.

Conjuntos em Maple

Um conjunto e uma coleccao de objectos. A ordem na qual os elementos sao listados e

irrelevante e, por conseguinte, dois conjuntos sao iguais se contem os mesmos elementos.

O Maple suporta o tipo de dados set com a sintaxe habitual da matematica.

> T := 1,3,-4:

> whattype(%);

set

O Maple elimina os elementos repetidos num conjunto

> 7,7,0,3,7;

0, 3, 7

e pode reordenar os elementos:

> -4,3,1;

−4, 1, 3

Para verificar quando um elemento pertence, ou nao, a um conjunto, usamos a funcao

member, que e uma funcao Booleana.

> U := a,a,b:

> member(a,U), member(b,U), member(b,a,U);

Page 185: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

177

true, false, true

O conjunto vazio ∅ e representado em Maple com o abrir e fechar de chavetas.

> vazio := :

Para contar o numero de elementos de um conjunto, usamos a funcao nops (number of

operands)

> nops(U), nops(vazio);

2, 0

O Maple permite achar a reuniao, interseccao e diferenca de conjuntos por intermedio,

respectivamente, dos operadores union, intersect e minus. A sintaxe e natural e ilustrada

nos exemplos seguintes.

> A := 1,1,2:

> B := 1,1,3:

> A union B;

1, 1, 2, 1, 3

> A intersect B;

1

> A minus B;

1, 2

> B minus A;

1, 3

Os conjuntos sao muitas vezes definidos por operacoes sobre outros conjuntos. Por exem-

plo, sejam a e b reais tais que a < b. O intervalo [a, b[ e a interseccao dos dois conjuntos A e

B definidos por

A = x ∈ R : x ≥ a , B = x ∈ R : x < b .

Page 186: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

178 Matematica elementar em Maple

Da definicao de interseccao de dois conjuntos, resulta que x ∈ [a, b[⇔ x ∈ A∩B. A condicao

x ∈ [a, b[ e testada em Maple atraves do valor (logico) da expressao logica

> x >= a and x < b:

A reuniao de dois conjuntos requer uma construcao identica com o and substituıdo por

or; enquanto a diferenca entre A e B e lida como x ∈ A and (not x ∈ B).

Os operadores logicos and e or, e o operador logico unario not, relacionam expressoes

cujo valor e do tipo Booleano. As seguintes propriedades sao satisfeitas:

• x and y = y and x

• x or y = y or x

• not (x and y) = not(x) or not(y)

• not (x or y) = not(x) and not(y)

Ao existirem varios operadores logicos numa mesma expressao, eles sao considerados pela

seguinte ordem: primeiro o not, depois o and, a seguir o or. Os parenteses sao usados para

alterar as prioridades.

As expressoes contendo operadores logicos sao identificadas pelo Maple como sendo do

tipo logico. Neste caso elas sao calculadas automaticamente, nao sendo necessario o uso do

evalb.

> not (true and false) = (not true) or (not false);

true

Proposicao 114. Se A = 1, 2, 3 e B = 2, 3, 4 entao 4 ∈ B \A.

Demonstracao.

> A := 1,2,3: B := 2,3,4:

> member(4,B minus A); # 1a demonstracao

true

> member(4,B) and not member(4,A); # 2a demonstracao

Page 187: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

179

true

Proposicao 115. 83|(341 − 1) e 83 ∤ (241 − 1).

Demonstracao.

> irem(3^41-1,83)=0 and not irem(2^41-1,83)=0;

true

Reparar que na demonstracao da Proposicao 115 o comando Maple nao necessita do evalb:

embora o operador relacional = esteja envolvido, a presenca dos operadores logicos tornam o

tipo Booleano da expressao inequıvoco e o Maple calcula o valor logico automaticamente.

Proposicao 116. O numero n = 10042 + 1 e um numero primo da forma 7k + 3 ou 7k + 4

para algum inteiro k.

Demonstracao. Temos que testar que n e primo e verificar que ao dividirmos n por 7 obtemos

resto 3 ou 4.

> 1004^2 + 1:

> isprime(%) and (irem(%,7)=3 or irem(%,7)=4);

true

O ultimo comando Maple envolve duas vezes o mesmo calculo. Podemos evitar o calculo

repetido. Uma demonstracao alternativa seria:

> 1004^2 + 1:

> isprime(%) and member(irem(%,7),3,4);

true

Page 188: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

180 Matematica elementar em Maple

Funcoes definidas pelo utilizador

E possıvel definir no Maple novas funcoes, a ser usadas em pe de igualdade com as funcoes

pre-definidas. A construcao mais simples de funcoes em Maple usa o operador ->. Vejamos

um exemplo. A funcao

f : Z \ 0 → Q

x 7→ x+ 1

x

e construıda em Maple como se segue:

> f := x -> (x+1)/x;

f := x 7→ x+ 1

x

Estamos perante um novo tipo de dados

> whattype(%);

procedure

A partir do momento que a funcao e definida, passa a poder ser usada como qualquer

uma das funcoes pre-definidas, substituindo qualquer expressao valida no seu argumento. No

nosso exemplo, sao validas expressoes aritmeticas e algebricas:

> f(2/3), f(a), f(ola), f(b^2-1);

5

2,a+ 1

a,ola+ 1

ola,

b2

b2 − 1

Resultados analogos a uma definicao de procedure podem ser obtidos por via de substituicoes,

embora isso seja, a maior parte das vezes, muito menos “elegante”.

> f := (x+1)/x:

> subs(x=2/3,f), subs(x=a,f), subs(x=ola,f), subs(x=b^2-1,f);

5

2,a+ 1

a,ola+ 1

ola,

b2

b2 − 1

O nome do argumento da funcao (a variavel que aparece imediatamente a esquerda do

operador seta) e uma variavel muda e, em particular, nao esta relacionada com nenhuma

variavel do mesmo nome que possa ter sido previamente definida (em linguagem de pro-

gramacao, diz-se que e uma variavel local).

Page 189: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

181

> g := n -> 2*n:

> h := oQueSeja -> 2*oQueSeja:

> oQueSeja := 3:

> g(2), h(2), g(oQueSeja), h(oQueSeja), g(n), h(n);

4, 4, 6, 6, 2n, 2n

Erros frequentes sao originados por afectacoes do tipo

> erroFrequente(x) := 2*x + 1:

O comando Maple e sintacticamente correcto mas nao define uma funcao em Maple:

> erroFrequente(x), erroFrequente(2), erroFrequente(1/y);

2x+ 1, erroFrequente(2), erroFrequente

(1

y

)

O Maple sabe o que e erroFrequente(x), mas nada mais. Esta possibilidade permite definir

valores individuais de uma funcao: uma caracterıstica util, como veremos mais tarde, nas

chamadas definicoes recursivas.

A funcao caracterıstica e a estrutura if

Seja A um conjunto e C um seu subconjunto. A funcao caracterıstica de C em A, denotada

por χC , e definida como se segue:

χC : A→ 0, 1

x 7→

1 se x ∈ C

0 se x /∈ C(C.3)

Uma variante e a funcao caracterıstica Booleana, dada por

χC : A→ true, false

x 7→

true se x ∈ C

false se x /∈ C(C.4)

O calculo do valor da funcao caracterıstica (C.3) ou (C.4) para um determinado x ∈ A envolve

um processo de decisao: e preciso decidir se x pertence, ou nao, a C e afectar o valor a funcao χ

de acordo. O caso Booleano e mais simples, uma vez que os valores true ou false podem ser

Page 190: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

182 Matematica elementar em Maple

obtidos por intermedio de uma expressao Booleana. Se o conjunto C for dado explicitamente,

entao χC(x) e representado em Maple pela expressao member(x,C). Se C e definido por uma

certa propriedade, entao traduzi-mo-la numa expressao logica em Maple e adoptamos uma

construcao do tipo

> chi := x -> expressaoLogica:

que pode, ou nao, requerer o uso do evalb.

Exemplo 117. Seja n ∈ Z. Vamos construir a funcao par(n) cujo valor e true se n e par e

false se n e ımpar.

> par := n -> evalb(irem(n,2)=0):

> par(1000), par (555);

true, false

Exemplo 118. Consideremos o intervalo [0, 1[. A sua funcao caracterıstica e dada por

> intervalo := x -> x >= 0 and x < 1:

> intervalo(1/2), intervalo(4/3);

true, false

Notar que o evalb nao e necessario aqui, uma vez que esta presente o operador logico and.

Para implementarmos em Maple a funcao caracterıstica nao-Booleana (C.3), recorremos

a estrutura if. A sua forma mais simples e:

> if expressaoLogica then expressao1 else expressao2 fi:

Se expressaoLogica resulta true, entao a expressao1 e executada; se ela resulta false,

entao a expressao2 e executada. O valor da expressaoLogica e determinado automatica-

mente, i.e., nao ha necessidade de se usar o evalb. A estrutura if corresponde a um unico

comando Maple e por isso as expressoes nao necessitam ser terminadas por : ou ;

Exemplo 119. Defina em Maple a funcao caracterıstica

χ0 : x 7→

1 se x = 0

0 se x 6= 0

Page 191: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

183

> chi := x -> if x = 0 then 1 else 0 fi:

> chi(0), chi(1);

1, 0

A versao Booleana da mesma funcao nao requer o uso da estrutura if:

> chiBooleana := x -> evalb(x = 0):

> chiBooleana(0), chiBooleana(1);

true, false

Exemplo 120. A funcao caracterıstica Booleana do conjunto dos numeros primos e dada

por isprime. A versao nao-Booleana e construıda com a ajuda do if:

> chiPrimos := n -> if isprime(n) then 1 else 0 fi:

> chiPrimos(4), chiPrimos(7);

0, 1

Exemplo 121. Vamos definir em Maple a funcao caracterıstica de Z em Q:

χ : Q → 0, 1

x 7→

1 se x ∈ Z

0 se x /∈ Z .

Para isso notamos que um inteiro e um racional com denominador igual a 1.

> chi := x -> if denom(x) = 1 then 1 else 0 fi:

> chi(8/4), chi(8/3), chi(10000);

1, 0, 1

Exemplo 122. Pretende-se agora construir a funcao nint(x) que retorna o inteiro mais

proximo do racional positivo x = ab . Usamos o seguinte raciocınio: se a parte fraccionaria de

x nao excede 12 , entao o inteiro mais proximo e dado pelo quociente da divisao de a por b;

senao, e a mesma quantidade mais um. Para melhorar a legibilidade da definicao da funcao

nint, subdividimos o comando Maple por varias linhas de entrada.

Page 192: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

184 Matematica elementar em Maple

> nint := x -> if frac(x) <= 1/2 then

> iquo(numer(x),denom(x))

> else

> iquo(numer(x),denom(x)) + 1

> fi:

> nint(1/3), nint(2/3);

0, 1

Funcoes de varias variaveis

O operador seta pode ser usado para definir funcoes de varias variaveis:

> f := (x,y) -> x * y:

> f(3,z), f(3,5);

3z, 15

Exemplo 123. Queremos construir a funcao caracterıstica do conjunto dZ formado pelos

inteiros multiplos de um dado inteiro nao nulo d. Usando o facto que irem(x,d) e zero

precisamente quando x e multiplo de d, obtemos

> multd := (x,d) -> if irem(x,d) = 0 then 1 else 0 fi:

> multd(28,7), multd(29,7);

1, 0

Exemplo 124. Pretendemos agora definir a funcao caracterıstica do conjunto dos divisores

(positivos ou negativos) de um dado inteiro nao nulo n. Uma possıvel definicao e:

> divs := (x,n) -> if irem(n,x) = 0 then 1 else 0 fi:

> divs(7,28), divs(7,29);

1, 0

Outra alternativa podera ser

> divs := (x,n) -> multd(n,x):

Page 193: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

185

Mapeamento dos elementos de um conjunto

A imagem f(A) de um conjunto A sob uma funcao f pode ser construıda em Maple por

intermedio de um comando map.

No seguinte exemplo construımos a imagem do conjunto −2,−1, 0, 1, 2 sob a funcao

f : x 7→ x2.

> A := -2,-1,0,1,2:

> f := x -> x^2:

> map(f,A);

0, 1, 4

O primeiro argumento do map e uma expressao do tipo procedure enquanto o segundo

argumento e um conjunto. Na situacao anterior poderıamos ter feito directamente:

> map(x -> x^2,-2,-1,0,1,2);

0, 1, 4

Proposicao 125. Seja A = 0, 1, 2, 3, 4, 5. A funcao

f : A→ A

x 7→ resto

(x+ 5

6

)

e uma funcao sobrejectiva.

Demonstracao. Temos de mostrar que f(A) = A.

> 0,1,2,3,4,5:

> evalb(map(x -> irem(x+5,6),%) = %);

true

Exemplo 126. Dado um conjunto de numeros inteiros A pretende-se construir uma funcao

que devolve true se, e somente se, A contem um primo.

> contemPrimo := A -> member(true,map(isprime,A)):

> contemPrimo(4,6,10), contemPrimo(3,5,7);

Page 194: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

186 Matematica elementar em Maple

false, true

Quando o primeiro argumento de map e uma funcao de varias variaveis, entao o valor

das variaveis que nao a primeira devem ser fornecidas ao map numa sequencia de argumentos

opcionais. Vamos ilustrar esta construcao com dois exemplos.

Exemplo 127. Dado um conjunto finito A de inteiros e um inteiro n, o valor da expressao

Maple map(igcd,A,n) e o conjunto constituıdo pelos maximos divisores comuns de n e cada

elemento de A.

> map(igcd,2,3,5,2);

1, 2

Exemplo 128. Seja A um conjunto de inteiros e d um inteiro nao nulo. Vamos definir uma

funcao que constroi o conjunto dos racionais obtido dividindo cada elemento de A por d.

> divPor := (A,d) -> map((x,y)->x/y,A,d):

> divPor(2,4,8,2);

1, 2, 4

Sucessoes em Maple

Quando o domınio de uma funcao e o conjunto N dos numeros naturais dizemos que

estamos perante uma sucessao. Deste modo uma sucessao f e uma funcao que associa a cada

inteiro positivo n um elemento unico f(n) de um dado conjunto. Quando uma funcao e uma

sucessao, e usual em matematica escrever fn em vez de f(n). Na notacao usual, f e uma

funcao; n e um elemento do domınio; fn e a imagem.

A restricao do domınio de uma sucessao a N pode ser relaxada. Por exemplo, pode ser

conveniente restringir o domınio a um subconjunto de N; considerar o domınio como sendo o

conjunto Z dos inteiros, etc.

Uma sucessao definida explicitamente por uma expressao, e representada em Maple por

uma funcao tomando inteiros como argumentos:

> f := n -> expressao que depende de n:

Page 195: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

187

Tal funcao pode ser, evidentemente, uma funcao Maple pre-definida ou uma funcao definida

pelo utilizador.

A maneira mais facil de gerar os elementos da sucessao,

f1 , f2 , f3 , . . . , fk , . . .

e atraves da chamada a funcao Maple seq.

Vejamos um exemplo. Suponhamos que queremos gerar os primeiros 20 numeros primos,

atraves da funcao pre-definida ithprime. Para isso fazemos

> seq(ithprime(n),n=1..20);

2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71

O comando Maple anterior e equivalente a sucessao de expressoes ithprime(1), ithprime(2),

. . ., ithprime(20).

Exemplo 129. Consideremos a sucessao definida pela funcao caracterıstica Booleana do

conjunto dos numeros primos em N:

p : N → true, false

n 7→

true se n e primo

false se n nao e primo

Pretendemos gerar os elementos p100, . . . , p120 desta sucessao. O problema e facilmente re-

solvido em Maple:

> seq(isprime(n),n=100..120);

false, true, false, true, false, false, false, true, false, true, false,

false, false, true, false, false, false, false, false, false, false

Exemplo 130. Pretendemos gerar os primeiros 15 elementos da sucessao

f : n 7→ n+ 1

n2, n ≥ 1 .

O problema e resolvido definindo a funcao f em Maple e recorrendo depois a um comando

seq:

> f := n -> (n+1)/(n^2):

> seq(f(n),n=1..15);

Page 196: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

188 Matematica elementar em Maple

2 ,3

4,4

9,

5

16,

6

25,

7

36,

8

49,

9

64,10

81,

11

100,

12

121,

13

144,

14

169,

15

196,

16

225

Exemplo 131. Pretende-se definir em Maple o conjunto C formado pelas primeiras 30

potencias nao negativas de 2.

> C := seq(2^j,j=0..29);

C := 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536,

131072, 262144, 524288, 1048576, 2097152, 4194304, 8388608, 16777216, 33554432,

67108864, 134217728, 268435456, 536870912

O comando seq tem a sintaxe seq(expressao,i=a..b), onde a e b sao inteiros (ou

expressoes que resultam em inteiros). Antes de executar o comando seq o Maple expande

a..b numa sucessao de inteiros. Esta sucessao pode ser conseguida explicitamente com o

operador $

> $1..15;

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

O seguinte comando Maple gera uma sucessao de conjuntos:

> seq($1..n,n=0..6);

, 1 , 1, 2 , 1, 2, 3 , 1, 2, 3, 4 , 1, 2, 3, 4, 5 , 1, 2, 3, 4, 5, 6

Quando a > b, a..b resulta numa sucessao NULL. A sucessao NULL pode ser usada explicita-

mente, o que e util em inicializacoes

> s := NULL;

s :=

> s := s,1,2,3;

s := 1, 2, 3

Page 197: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

189

Exemplo 132. Pretendemos construir a funcao divisores(n) cujo valor e o conjunto dos

divisores de um dado inteiro positivo n. (O Maple ja disponibiliza esta funcao no package

numtheory. Veja no manual online do Maple o comando divisors. Vamos, mesmo assim,

implementa-la. E um bom treino!) Uma maneira facil (embora extremamente ineficiente...)

de resolver o problema consiste em aplicar a funcao x -> igcd(x,n) ao conjunto dos primeiros

n inteiros positivos. Este ultimo conjunto e obtido atraves do operador $. A aplicacao

da funcao a todos os elementos do conjunto e conseguida por intermedio da funcao map ja

introduzida anteriormente. Uma vez que o igcd e uma funcao de duas variaveis, a segunda

variavel e fornecida como terceiro argumento do map:

> divisores := n -> map(igcd,$1..n,n):

> divisores(99);

1, 3, 9, 11, 33, 99

Vamos agora proceder a alguns melhoramentos na eficiencia computacional da funcao divisores

acima definida. Em primeiro lugar notamos que estamos a chamar a funcao igcd n vezes.

Alem dos divisores triviais 1 e n, todos os outros divisores de n estao entre 2 e n/2. Podemos

assim poupar metade do tempo gasto nos varios calculos do igcd.

> divisores := n -> map(igcd,$2..iquo(n,2),n) union 1,n:

Um melhoramento mais substancial e conseguido calculando os divisores d entre 2 e√n e

depois “emparelhando-os” com os seus divisores gemeos n/d. Para calcular√n usamos a

funcao raiz quadrada inteira isqrt.

> gemeos := (x,n) -> (igcd(x,n),n/igcd(x,n)):

> divisores := n -> map(gemeos,$2..isqrt(n),n) union 1,n:

Esta ultima definicao da funcao divisores e ja muito mais eficiente. Ainda temos um pequeno

senao que e a funcao gemeos fazer duas vezes a mesma chamada ao igcd. Veremos mais tarde

como resolver este problema, quando dermos alguns elementos rudimentares de programacao.

Ja agora, atente bem ao modo como a funcao gemeos foi definida.

> gemeos(2,16);

2, 8

Page 198: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

190 Matematica elementar em Maple

Graficos dos elementos de uma sucessao

O Maple disponibiliza a funcao plot que permite fazer os mais variados graficos (trata-se

de uma funcao extremamente versatil). Entre as inumeras possibilidades, o plot permite

representar um conjunto discreto de pontos do plano

(x1, y1) , (x2, y2) , . . . , (xn, yn) . (C.5)

Um ponto (x, y) do plano Cartesiano e representado como uma lista de dois elementos. A lista

e um novo tipo de dados disponibilizado pelo Maple, que consiste numa sucessao de objectos

entre parenteses rectos. O ponto (x, y) e entao representado em Maple na forma [x,y]. Os

pontos (C.5) que pretendemos esbocar por meio do plot, devem tambem ser organizados

numa lista:

[[x1, y1] , [x2, y2] , . . . , [xn, yn]] .

Os seguintes comandos geram um quadrado com vertices nos pontos (−1,−1), (1, 0), (0, 2),

(−2, 1).

> v := [[-1,-1],[1,0],[0,2],[-2,1],[-1,-1]]:

> plot(v);

–1

–0.5

0

0.5

1

1.5

2

–2 –1.5 –1 –0.5 0.5 1

> whattype(v);

list

O Maple liga automaticamente os pontos com um segmento. De modo a obtermos um

quadrado introduzimos o vertice (−1,−1) duas vezes.

Para fazer-mos um grafico com os valores u1 , u2 , . . . , un de uma sucessao, consideramos

os pontos de coordenadas Cartesianas

(1, u1) , (2, u2) , . . . , (n, un) .

Page 199: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

191

Exemplo 133. Vamos ilustrar graficamente a sucessao n 7→ un = pn+1 − pn (1, 2, . . .), onde

pn representa o n-esimo primo, visualizando os primeiros 300 elementos da sucessao.

> u := n -> ithprime(n+1)-ithprime(n):

> dados := [seq([n,u(n)],n=1..300)]:

> plot(dados,style=POINT,title="Distancia entre primos");

Distancia entre primos

5

10

15

20

25

30

0 50 100 150 200 250 300

A opcao style=POINT mostra pontos desconectados. Por defeito o Maple usa a opcao

style=LINE. No exemplo acima usamos tambem a opcao title que nos permite associar um

tıtulo ao grafico. Uma analise da figura obtida permite-nos concluir que com o aumento do

n aparecem maiores distancias entre os primos, embora de uma maneira muito irregular. A

maior distancia entre os dados considerados esta localizada entre os primos p200 e o p250. Para

a localizar-mos com maior precisao, vamos fazer um zoom do grafico, usando agora a estilo

LINE para uma melhor visualizacao.

> plot(dados,200..250,15..35,style=LINE,title="Distancia entre primos");

Distancia entre primos

16

18

20

22

24

26

28

30

32

34

200 210 220 230 240 250

Page 200: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

192 Matematica elementar em Maple

O segundo e terceiro argumentos do plot definem os intervalos respectivamente dos eixos

horizontal e vertical. Todas as outras opcoes devem ser colocadas depois da especificacao dos

intervalos dos eixos (veja o manual online do Maple para mais informacao).

Sucessoes Periodicas e Definicoes Recursivas

Uma sucessao an∞n=1 diz-se periodica se consistir numa repeticao infinita do mesmo

padrao finito:

a1 , . . . , ak , ak+1 , ak+2 , . . . , ak+T︸ ︷︷ ︸

, ak+1 , ak+2 , . . . , ak+T︸ ︷︷ ︸

, ak+1 , ak+2 , . . . , ak+T︸ ︷︷ ︸

, . . .

Vamos chamar transicao ao numero k e perıodo ao numero T . A periodicidade e expressa

concisamente pela notacao recursiva

an+T = an , n ≥ k + 1 . (C.6)

A sucessao an fica completamente definida por (C.6) especificando os valores de ai para

i = 1, . . . , k + T .

Exemplo 134. Seja

a : N → −1, 1n 7→ (−1)n

A sucessao e periodica com transicao nula (k = 0) e perıodo dois (T = 2):

−1, 1︸ ︷︷ ︸

, −1, 1︸ ︷︷ ︸

, −1, 1︸ ︷︷ ︸

, . . .

A sucessao e definida recursivamente como se segue:

a1 = −1, a2 = 1 (condicoes iniciais)

an+2 = an n ≥ 1 . (formula recursiva)

Exemplo 135. Consideremos a sucessao definida pela funcao caracterıstica do subconjunto

0 em N0:

> chi := n -> if n = 0 then 1 else 0 fi:

A sucessao e periodica com transicao 1 e perıodo 1.

> seq(chi(i),i = 0..19);

1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

Page 201: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

193

Problema 136. Para cada natural n seja Fn o conjunto dos numeros racionais no intervalo

[0, 1] cujo denominador nao excede n. Este conjunto, conhecido como conjunto de Farey, pode

ser definido como se segue:

Fn =

p

q∈ Q : 1 ≤ q ≤ n, 0 ≤ p ≤ q

.

Nesta definicao algumas fraccoes aparecem varias vezes, mas as multiplas ocorrencias sao

eliminadas de acordo com a definicao de conjunto. A funcao n 7→ Fn define uma sucessao de

conjuntos finitos cada um deles contido no seguinte:

F1 ⊂ F2 ⊂ F3 ⊂ . . .

Os primeiros 3 termos da sucessao sao:

F1 =

0

1,1

1

F2 =

0

1,1

2,1

1

F3 =

0

1,1

3,1

2,2

3,1

1

Pretendemos construir em Maple uma funcao F(n) cujo valor e o conjunto de Farey Fn. Como

sempre, e boa estrategia construir a funcao passo a passo, o que nos permite ir testando as

funcionalidades pretendidas com alguns exemplos e detectar possıveis erros de estrategia. No

final podemos juntar todos os passos numa unica definicao. Para comecar construımos uma

sucessao contendo todas as fraccoes com um dado denominador q. Vamos excluir os elementos

0 e 1 para diminuir o numero de fraccoes repetidas na definicao da funcao F(n).

> q := 10:

> seq(p/q,p=1..q-1);

1

10,1

5,

3

10,2

5,1

2,3

5,

7

10,4

5,

9

10De seguida vamos incorporar o comando Maple acima numa outra expressao seq que faz

variar o valor q (q = 2, . . . , n). Reparar que o q abaixo e uma variavel muda (variavel local),

nao dependendo da afectacao a variavel q que fizemos anteriormente!

> n := 3:

> seq(seq(p/q,p=1..q-1),q=2..n);

1

2,1

3,2

3Por fim adicionamos os valores 0 e 1 em falta:

Page 202: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

194 Matematica elementar em Maple

> 0,1,seq(seq(p/q,p=1..q-1),q=2..n);

0, 1,1

2,1

3,2

3

O conjunto visualizado nao e mais do que o F3. Estamos em condicoes de definir em Maple

a funcao F(n).

> F := n-> 0,1,seq(seq(p/q,p=1..q-1),q=2..n):

> F(5);

0, 1,1

2,1

5,2

5,3

5,4

5,1

3,2

3,1

4,3

4

Definicoes Recursivas em Maple

Ate agora temos lidado com sucessoes definidas explicitamente por intermedio de uma

funcao:

xn = uma funcao explıcita de n, n ≥ 1 .

Esta construcao nem sempre e possıvel. Um caso particular muito interessante, e importante,

e o das sucessoes definidas recursivamente. Na sua forma mais simples, uma sucessao definida

recursivamente tem a forma

xn = uma funcao explıcita de xn−1, n ≥ 1 ,

isto e, cada elemento da sucessao e definido de maneira explıcita a custa do elemento anterior.

Uma sucessao deste tipo e apelidada de sucessao recursiva de primeira ordem. As sucessoes

recursivas de primeira ordem sao definidas a partir do momento que especificamos o elemento

x0, chamado de condicao inicial. Concretamente, seja x0 = β e xn = f(xn−1), n ≥ 1. Os

primeiros termos da sucessao sao:

x0 = β

x1 = f(x0) = f(β)

x2 = f(x1) = f (f(β))

x3 = f(x2) = f (f (f(β)))

...

Vemos que numa sucessao recursiva a regra que associa a n o elemento xn e: “aplica f a x0

n vezes”.

Page 203: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

195

Exemplo 137. Seja

f : Z → Z

n 7→ −2n+ 1

Com condicao inicial x0 = −1, a sucessao recursiva correspondente e dada por:

x0 = −1 , x1 = f(−1) = 3 , x2 = f(3) = −5 , x3 = f(−5) = 11 , . . .

Em Maple podemos fazer:

> f := n -> -2*n + 1:

> x := -1; x := f(x); x := f(x); x := f(x);

x := −1

x := 3

x := −5

x := 11

Outra maneira e usar variaveis ditto:

> -1; f(%); f(%); f(%);

−1

3

−5

11

Mudando a condicao inicial obtemos, obviamente, valores diferentes:

> Pi; f(%); f(%); f(%);

π

−2π + 1

4π − 1

−8π + 3

Page 204: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

196 Matematica elementar em Maple

Problema 138. Seja ΩA o conjunto de todas as palavras definidas sobre o alfabeto A. Para

A = a, b definimos a funcao f : ΩA → ΩA cujo valor em p e a palavra cujas letras sao

obtidas a partir das de p substituindo cada a por b e cada b por ab. Por exemplo, se p = aaba

entao f(p) = bbabb. A custa da funcao f definimos recursivamente a seguinte sucessao:

p0 = p , pn+1 = f(pn) , n ≥ 0 . (C.7)

Por exemplo para a condicao inicial p = a temos:

a , b , ab , bab , abbab , bababbab , . . . (C.8)

Pretendemos definir a sucessao (C.7) em Maple, representando as palavras como listas cu-

jos elementos sao as letras constituintes da palavra. Por exemplo a palavra p = abbb sera

representada em Maple como

> p := [a,b,b,b]:

A funcao f e definida em Maple a custa de uma substituicao simultanea:

> f := p -> subs(a=b,b=(a,b),p):

> f([a,b,b]);

[b, a, b, a, b]

Nao avance sem perceber porque e que uma substituicao sequencial nao faz o que se pretende!

Note tambem que a substituicao de b por a,b requer o uso de parentesis: sem eles o Maple

dava um erro de sintaxe, pois a virgula e o separador dos elementos do conjunto e a=b ,

b=a , b nao codifica uma substituicao valida! A construcao da sucessao recursiva (C.8) e

obtida da maneira usual:

> [a]; f(%); f(%); f(%); f(%); f(%);

[a]

[b]

[a, b]

[b, a, b]

[a, b, b, a, b]

[b, a, b, a, b, b, a, b]

Page 205: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

197

No caso geral, uma sucessao definida recursivamente em N0 tem a seguinte estrutura:

xn = f (xn−1, xn−2, . . . , xn−k, n) , n ≥ k . (C.9)

A sucessao fica completamente especificada fixando os k valores iniciais x0, . . ., xk−1. O

inteiro k define a ordem da recursividade. A funcao f diz-se autonoma quando nao depende

de n; nao-autonoma no caso contrario.

Exemplo 139. A sucessao factorial

0! = 1

(n+ 1)! = (n+ 1)n! , n ≥ 0

e uma sucessao recursiva nao-autonoma de primeira ordem. Na notacao (C.9) temos f(xn−1, n) =

nxn−1.

Exemplo 140. A sucessao dos numeros de Fibonacci e definida recursivamente como se

segue:

F0 = 0 , F1 = 1

Fn+1 = Fn + Fn−1 , n ≥ 1 .

Na notacao (C.9) temos f(xn−1, xn−2) = xn−1 + xn−2: trata-se de uma sucessao recursiva

autonoma de segunda ordem (k = 2 e f nao depende directamente de n). Vamos calcular F10

com o Maple:

> 0:1:%+%%:%+%%:%+%%:%+%%:%+%%:%+%%:%+%%:%+%%:%+%%;

55

O Maple disponibiliza a funcao fibonacci no package combinat:

> with(combinat):

> fibonacci(10);

55

Composicao de Funcoes

Como observamos na pagina 194, numa sucessao recursiva

x0 = β , xn = f (xn−1) , n ≥ 1

Page 206: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

198 Matematica elementar em Maple

o elemento xn e obtido aplicando f a x0 n vezes:

xn = (f f · · · f)︸ ︷︷ ︸

n vezes

(x0) .

A composicao de funcoes de uma variavel e disponibilizada em Maple atraves do sımbolo @,

de tal modo que f@g significa f g ou, na notacao de Leibniz, (f@g) (x) significa f (g(x)):

no primeiro caso, f@g, nao sao necessarios parentesis; enquanto no segundo caso, (f@g) (x),

ambos os pares parentesis sao necessarios. Vejamos um exemplo:

> restart;

> f := x -> b*x*(1-x): g := x -> x^2:

> gf := g@f: # g o f

> gf(x); # g(f(x))

b2x2 (1 − x)2

> (g@f)(x);

b2x2 (1 − x)2

> fg := f@g:

> fg(x);

bx2(1 − x2

)

> (f@g)(x);

bx2(1 − x2

)

Composicoes multiplas da mesma funcao sao obtidas usando @@n, onde n e um inteiro.

Por exemplo a composicao de f

(f f f) (x)

e conseguida em Maple fazendo

> (f@@3)(x);

b3x (1 − x) (1 − bx (1 − x))(1 − b2x (1 − x) (1 − bx (1 − x))

)

O valor de x3 da sucessao do Exemplo 137 com x0 = −1 e obtido fazendo

Page 207: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

199

> f := n -> -2*n + 1:

> (f@@3)(-1);

11

De modo semelhante, o valor de p5 para a sucessao (C.7) do Problema 138 com condicao

inicial p0 = [a] obtem-se fazendo:

> f := p -> subs(a=b,b=(a,b),p):

> (f@@5)([a]);

[b, a, b, a, b, b, a, b]

Graficos de funcoes de variavel real

Ja introduzimos a funcao plot para representar os elementos de uma sucessao. Para

alem de dados discretos, a funcao plot tambem pode ser usada para esbocar o grafico de

funcoes de variavel real. Para isso o plot espera que lhe passemos a funcao e o seu domınio,

respectivamente no primeiro e segundo argumentos. Vamos esbocar o grafico de uma funcao

com oscilacoes rapidas.

> plot(sin(x)*sin(10*x)*sin(100*x),x=0..Pi);

–1

–0.5

0

0.5

1

0.5 1 1.5 2 2.5 3x

Page 208: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

200 Matematica elementar em Maple

Suponhamos agora que queremos analisar a forma dos graficos y = xk (1 − x)k, com k a

variar entre 1 e 10. Para isso comecamos por criar uma lista de graficos para k = 1, 2, . . . , 10

e 0 ≤ x ≤ 1.

> g := [seq(plot(x^k*(1-x)^k,x=0..1),k=1..10)]:

O grafico de y = x5 (1 − x)5 e obtido com o comando

> g[5];

0

0.0002

0.0004

0.0006

0.0008

0.2 0.4 0.6 0.8 1x

Mas existem maneiras mais interessantes de usar a nossa lista de graficos! Com a funcao

display do package plots podemos visualizar os varios graficos num mesmo esboco e fazer

animacoes.

> with(plots):

> display(g);

0

0.05

0.1

0.15

0.2

0.25

0.2 0.4 0.6 0.8 1x

Page 209: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

201

Analise de uma expressao

Como e que o Maple representa uma expressao como a+ 2bc− b3?

> x := a + 2*b*c - b^3:

> whattype(x);

+

Antes de mais, o Maple olha para x como sendo do tipo soma. Para listar os operandos da

expressao, usamos a funcao op.

> op(x);

a, 2bc, −b3

> whattype(%);

exprseq

Vemos que a+2bc−b3 e representada como a soma de tres operandos: a, 2bc e −b3. A funcao

Maple op permite analisar a estrutura de uma expressao. O comando

> op(expressao);

devolve os operandos da expressao na forma de uma “expressao sequencia” (exprseq). A

funcao op tem um primeiro argumento opcional: o comando

> op(n,expressao);

devolve o n-esimo operando da expressao. Por exemplo,

> op(2,x);

2bc

O primeiro argumento de op pode definir tambem um intervalo:

> op(2..3,x);

Page 210: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

202 Matematica elementar em Maple

2bc, −b3

Vamos continuar a analise da expressao a + 2bc − b3, olhando individualmente para os seus

operandos.

> primeiro := op(1,x):

> segundo := op(2,x):

> terceiro := op(3,x):

O primeiro operando a nao tem estrutura interna. O seu tipo de dados e primitivo

> primeiro, op(primeiro), whattype(primeiro);

a, a, symbol

e a sua analise esta, por conseguinte, completa. O segundo operando, 2bc, e uma expressao

do tipo produto, consistindo de tres operandos:

> whattype(segundo);

> op(segundo);

2, b, c

Estes operandos sao primitivos:

> seq(whattype(z),z=%);

integer, symbol, symbol

O terceiro operando e tambem um produto

> whattype(terceiro);

> op(terceiro);

Page 211: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

203

−1, b3

> seq(whattype(z),z=%);

integer,

A expressao b3 e do tipo exponenciacao, com operandos b e 3:

> op(op(2,terceiro));

b, 3

A analise da expressao a+2bc−b3 esta agora completa. A sua estrutura pode ser representada

numa arvore:

+

UUUUUUUUUUUUUUUUUUUUUU

oooooooooooooo

a ⋆

????

????

<<<<

<<<<

||||

||||

2 b c −1 ˆ

;;;;

;;;;

b 3

Para alguns tipos de dados compostos, nomeadamente para as listas e conjuntos, o oper-

ador de seleccao [ ] pode ser usado como alternativa ao op:

> L := [um,dois,tres]:

> L[3], op(3,L), L[1..2], [op(1..2,L)];

tres, tres, [um, dois], [um, dois]

Quando a seleccao e realizada especificando um intervalo, o operador de seleccao [ ] junta

os operandos seleccionados no tipo de dados original:

> L[1..1];

[um]

O operador de seleccao pode ser tambem usado para afectar um novo valor a um elemento

da lista:

Page 212: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

204 Matematica elementar em Maple

> L[2] := DOIS:

> L;

[um,DOIS, tres]

A afectacao directa de valores a elementos de uma lista nao e, contudo, eficiente. E preferıvel

recorrer a funcao Maple subsop (“substitui operando”).

Substituicoes (revisitadas)

Ja vimos a funcao subs que permite substituir expressoes por outras expressoes. A

expressao a ser mudada deve aparecer como um operando da expressao original ou como

operando de uma das suas sub-expressoes. O seguinte exemplo ilustra como o subs opera. O

resultado depende da estrutura da expressao.

> restart:

> expr1 := x*y + z:

> expr2 := x*y*z:

> whattype(expr1), whattype(expr2);

+, ∗

> op(expr1); op(expr2);

xy, z

x, y, z

Notar que xy e uma sub-expressao de expr1 mas nao de expr2. Por este motivo, deve ser

claro o resultado dos seguintes comandos Maple:

> subs(x*y=a,expr1);

a+ z

> subs(x*y=a,expr2);

xyz

Podemos usar o seguinte truque para substituir xy em expr2:

Page 213: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

205

> subs(x=a/y,expr2);

az

Vejamos outro exemplo:

> beta := a*b*c + b*c + (b*c)^3;

β := abc+ bc+ b3c3

> op(beta);

abc, bc, b3c3

Reparamos que a expressao bc nao aparece como sub-expressao do terceiro operando, devido

a simplificacao realizada pelo Maple.

> subs(b = y,beta);

ayc+ yc+ y3c3

> subs(b*c = y,beta);

abc+ y + b3c3

De modo a realizar uma substituicao num operando particular de uma expressao, usa-se

a ja mencionada funcao subsop. Por exemplo, se quisermos substituir o terceiro operando de

beta por tres fazemos:

> subsop(3 = tres,beta);

abc+ bc+ tres

O tipo de dados fraction esta reservado para os racionais. Uma fraccao algebrica e

representada pelo Maple como um produto:

> 2/3: whattype(%), op(%);

Page 214: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

206 Matematica elementar em Maple

fraction, 2, 3

> a/b: whattype(%), op(%);

∗, a, 1

b

> op(3,[%]): whattype(%), op(%);

, b, −1

Resulta entao que a/b e representado pelo Maple como a · b−1.

Funcoes que actuam sobre os operandos das expressoes

Existem varias funcoes em Maple que fazem uso implıcito do op, actuando de variadas

formas sobre os operandos de uma expressao. Vamos considerar aqui as seguintes funcoes:

seq, map, select, remove, evalf. Outras funcoes (add, mul, sum, prod) serao tratadas em

tempo oportuno.

Ja vimos que o segundo argumento da funcao seq pode ser um intervalo a..b, que e

expandido numa “expressao sequencia”; ou uma sequencia propriamente dita. Tal argumento

pode, contudo, ser uma expressao arbitraria, situacao em que o Maple a converte na sequencia

dos respectivos operandos. Esta caracterıstica faz do seq uma das funcoes mais uteis do

Maple. Por exemplo, a seguinte funcao retorna uma sequencia com os quadrados de todos os

operandos de uma dada expressao:

> quadrados := E -> seq(z^2,z=E):

> quadrados([a,b,c,d,e]);

a2, b2, c2, d2, e2

> quadrados(a^2 + b*c);

a4, b2c2

Podemos usar uma expressao sequencia directamente no segundo argumento de seq, recor-

rendo, para isso, a parenteses:

Page 215: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

207

> seq(z-1,z=(1,2*4,delfim));

0, 7, delfim− 1

Os parenteses nao sao necessarios se a sequencia for representada simbolicamente por in-

termedio de uma variavel (incluindo as variaveis ditto)

> s := 1,8,delfim:

> seq(z-1,z=s);

0, 7, delfim− 1

A construcao map(f,A) ja foi por nos usada para obter a imagem do conjunto A por

f . A funcao map permite, no entanto, um uso mais geral: o segundo argumento pode ser

qualquer expressao, nao apenas um conjunto. A funcao map actua sobre os varios operandos,

preservando o tipo de dados. E instrutivo comparar o comportamento das funcoes map e seq,

quando chamadas com argumentos similares.

> f := x -> x^2:

> map(f,a + b + c);

a2 + b2 + c2

> seq(f(s),s = a + b + c);

a2, b2, c2

Enquanto o map preserva a estrutura da expressao, o seq transforma-a numa expressao

sequencia (exprseq).

Problema 141. Dada uma lista L com dados numericos, pretende-se substituir cada ele-

mento de L maior que o ultimo elemento da lista, por esse valor. Por exemplo, dada a lista

[1, 2, 3, 4, 5, 6, 7, 5] deveremos obter [1, 2, 3, 4, 5, 5, 5, 5].

O Problema 141 pode ser resolvido facilmente em Maple, por intermedio da seguinte funcao:

> p := L -> map(min,L,op(nops(L),L)):

> p([1,2,3,4,5,6,7,5]);

Page 216: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

208 Matematica elementar em Maple

[1, 2, 3, 4, 5, 5, 5, 5]

O ultimo elemento da lista L e dado por op(nops(L),L). O primeiro argumento da funcao min

percorre todos os elementos de L enquanto o segundo argumento e fornecido como argumento

opcional do map.

Outra funcao muito util do Maple e o select, que selecciona os operandos de uma

expressao, de acordo com um certo criterio. Este criterio e especificado por uma funcao

Booleana, que e aplicada a todos os operandos da expressao. Os operandos que dao valor

true sao os seleccionados. A expressao e, tipicamente, uma lista ou conjunto. Vejamos uma

aplicacao. Para calcular os primos entre a e b, construımos em primeiro lugar a lista de in-

teiros entre a e b: [$a..b]. Depois seleccionamos os primos na lista com a funcao Booleana

isprime.

> sp := (a,b) -> select(isprime,[$a..b]):

> sp(100,110);

[101, 103, 107, 109]

A funcao select retorna uma expressao do mesmo tipo de dados da expressao passada no

seu segundo argumento (uma lista no exemplo acima). A sintaxe do select e similar a do

map, select(f,expr), e quando f requer mais que um argumento, os argumentos adicionais

x2, . . . , xk sao fornecidos como argumentos opcionais do select: select(f,expr,x2,...,xn).

Problema 142. Construa uma funcao que seleccione os operandos nao-negativos de uma

dada expressao arbitraria.

O Problema 142 e resolvido pela funcao naoNeg.

> naoNeg := E -> select(x -> evalb(x >= 0),E):

> naoNeg(-3,5,0,-33);

0, 5

A funcao remove e complementar ao select: remove (em vez de seleccionar) os operandos

que satisfazem certo criterio. A sua sintaxe e identica a do select. Resulta claro que tudo

o que pode ser realizado com o remove pode ser realizado com o select e vice versa. Por

exemplo, se L e uma lista de inteiros, as expressoes remove(isprime,L) e select(x -> not

isprime(x),L) terao o mesmo resultado.

Page 217: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

209

> L := [$100..110];

> evalb(remove(isprime,L) = select(x -> not isprime(x),L));

true

A funcao evalf tambem actua sobre os operandos, mas fa-lo de uma maneira mais selectiva

que o map, seq ou select.

> evalf(33*x^(1/3) + 22*x/4 - 13/5);

33.0x13 + 5.500000000x− 2.600000000

Notamos que o evalf converteu para float apenas os coeficientes da expressao algebrica

acima, nao convertendo o expoente. A funcao evalf actua de modo similar sobre a parte real

e imaginaria de um numero complexo.

Polinomios e sua aritmetica

Sejam a0, a1, . . . , an n + 1 elementos de um certo anel ou corpo K (tipicamente Z, Q,

R, ou C). Um polinomio p sobre K, na incognita x e com coeficiente ai, i = 0, . . . , n, e a

expressao

p =

n∑

i=0

aixi .

O inteiro n e o grau do polinomio (degree, em ingles) e an o coeficiente principal (leading

coefficient, em ingles). Por definicao, o coeficiente principal e nao nulo: an 6= 0. O Maple

disponibiliza as funcoes degree e lcoeff que devolvem, respectivamente, o grau e coeficiente

de um dado polinomio:

> p := 5 - 3*x^2 + 7*x^3:

> degree(p), lcoeff(p);

3, 7

O conjunto de todos os polinomios sobre K na incognita x e representado por K[x]. Os

polinomios de grau 0 em K[x], dados por p = a0x0, sao naturalmente identificados com os

elementos a0 de K. Desde modo podemos olhar para um elemento de K como um elemento de

K[x], resultando valida a inclusao k ⊂ K[x]. Por outro lado, se K1 ⊂ K2, entao K1[x] ⊂ K2[x]

Page 218: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

210 Matematica elementar em Maple

(qualquer polinomio com coeficientes em K1 e tambem um polinomio com coeficientes em

K2).

Normalmente olhamos para um polinomio em K[x] como um objecto aritmetico e nao como

uma funcao de x. Isto significa que normalmente nao estamos interessados em substituir x

por um valor especıfico. Por esse motivo, normalmente representamos em Maple os polinomios

por expressoes e nao por funcoes (como fizemos no exemplo acima).

Do ponto de vista aritmetico, os polinomios comportam-se muito como os inteiros. Os

elementos de K[x] podem ser somados, subtraıdos e multiplicados sem qualquer restricao.

Adicao e subtraccao

O coeficiente do termo xi da soma (diferenca) de dois polinomios p e q e dado pela soma

(diferenca) dos correspondentes coeficientes de p e q. Vejamos um exemplo. Seja p = −3+2x

e q = −2x+ 5x2. Tal como com os inteiros, o Maple faz a soma e subtraccao automatica de

polinomios:

> p := -3 + 2*x:

> q := -2*x + 5*x^2:

> p + q, p - q;

−3 + 5x2, −3 + 4x− 5x2

E obvio que a soma e subtraccao podem baixar o grau, por cancelamento do coeficiente

principal. Vejamos um exemplo em que a soma de dois polinomios de grau 5 resulta num

polinomio de grau 2:

> p := 2 + 3*x^5:

> q := x^2 - 3*x^5:

> degree(p), degree(q), degree(p+q), degree(p-q);

5, 5, 2, 5

E tambem obvio que a soma ou subtraccao nunca podem aumentar o grau:

degree(p± q) ≤ maxdegree(p), degree(q) .

Multiplicacao

Para encontrar o coeficiente de xi do produto de dois polinomios, multiplicamos o coe-

ficiente de xj de um dos polinomios pelo coeficiente de xi−j do outro e depois adicionamos

Page 219: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

211

todos estes produtos, para j = 0, 1, . . . , i. Contrariamente ao que acontece com os inteiros,

o Maple nao expande o produto de polinomios automaticamente. Para forcar a expansao

usamos a funcao expand, que multiplica os factores e realiza depois as usuais simplificacoes.

> p := 1 - 2*x + x^2:

> q := 3 + 5*x^2 - x^3:

> p*q;

(1 − 2x+ x2

) (3 + 5x2 − x3

)

> expand(%);

3 + 8x2 − 11x3 − 6x+ 7x4 − x5

Notamos que o Maple nao representa necessariamente um polinomio em potencias crescentes

da incognita.

O unico caso em que o Maple faz a expansao automatica do produto e quando um dos

operandos tem grau zero:

> 5*(x-2);

5x− 10

O grau do produto de dois polinomios e igual a soma dos graus dos operandos:

degree(p× q) = degree(p) + degree(q) .

Divisao

Tal como acontece com os inteiros (K[x] e estruturalmente identico a Z), a divisao de dois

polinomios pode, ou nao, ser um polinomio.

Dados dois polinomios p e q de K[x], dizemos que p divide q se existir um polinomio h em

K[x] tal que p× h = q. Tal como para os inteiros, usamos a notacao p | q para significar que

p divide q. Vejamos um exemplo. Seja p = 1 − x e q = −1 + x2. Entao p divide q em Z[x],

porque existe o polinomio h = −1 − x tal que p× h = q:

> p := 1 - x:

> q := -1 + x^2:

> q/p;

Page 220: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

212 Matematica elementar em Maple

−1 + x2

1 − x

> simplify(%);

−x− 1

Mais uma vez, o Maple nao faz as simplificacoes automaticamente e temos de recorrer a funcao

simplify para esse efeito.

O maximo divisor comum de dois polinomios e o polinomio de maior grau que divide

ambos. O menor multiplo comum de dois polinomios e o polinomio de menor grau divisıvel

por ambos. Eles sao unicos a menos de um factor constante. Em Maple estes polinomios sao

obtidos por intermedio das funcoes gcd e lcm (relembramos que o maximo divisor comum e o

menor multiplo comum de inteiros sao dados em Maple respectivamente pelas funcoes igcd

e ilcm).

Tal como acontece com os inteiros, o numero de divisores de um polinomio q e par, excepto

quando q e um quadrado: se p divide q, entao tambem q/p divide q. Assim, para o exemplo

acima, quer p = 1− x quer q/p = −1− x divide q. A analogia entre polinomios e inteiros vai

ainda mais longe.

Teorema 143. Se f e g sao polinomios sobre Q, R ou C, e g e nao-nulo, entao existem

polinomios unicos q e r tais que

f = gq + r ,

onde o grau de r e estritamente inferior ao de g.

Os polinomios q e r do Teorema 143 sao chamados respectivamente de quociente e resto

da divisao de f por g. Notamos que o teorema nao e valido em Z[x]. Consideremos, por

exemplo, f = x2 − 1 e g = 2x− 2. Entao g divide f em Q[x] mas nao em Z[x]:

> f := x^2 - 1:

> f = factor(f);

−1 + x2 = (−1 + x) (x+ 1)

pelo que

x2 − 1︸ ︷︷ ︸

f

= (2x− 2)︸ ︷︷ ︸

g

(1

2x+

1

2

)

.

(A funcao Maple factor e a correspondente para polinomios da funcao para inteiros ifactor.)

O Teorema 143 pode, no entanto, ser extendido a Z[x] se nos restringirmos aos polinomios

com coeficiente principal igual a 1.

Page 221: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

213

O quociente q e o resto r do Teorema 143 podem ser calculados em Maple por intermedio

das funcoes quo(f,g,x) e rem(f,g,x), onde x representa a incognita dos polinomios (relem-

bramos que o quociente e resto de inteiros sao dados em Maple pelas funcoes iquo(a,b) e

irem(a,b)). Vejamos um exemplo.

> f := x^5 - 1:

> g := x^2 - x -1:

> q := quo(f,g,x);

q := x3 + x2 + 2x+ 3

> r := rem(f,g,x);

r := 2 + 5x

> evalb(f = simplify(g * q + r));

true

Em analogia com os inteiros, podemos introduzir o conceito de “polinomios primos”. Um

polinomio sobre K[x] diz-se irredutıvel se nao puder ser expresso como o produto de dois

polinomios de K[x] de grau menor. Por exemplo, o polinomio p = x2 − x− 2, de grau 2, nao

e irredutıvel em Q[x], porque p = (x− 2)(x+ 1) (p e o produto de dois polinomios de Q[x] de

grau 1):

> factor(x^2 - x - 2);

(x− 2)(x+ 1)

Teorema 144 (Teorema fundamental da aritmetica polinomial). Todo o polinomio sobre Q,

R ou C pode ser expresso como o produto de irredutıveis. Esta factorizacao e unica a menos

de factores constantes e da ordem dos factores.

A factorizacao do Teorema 144 e obtida em Maple por intermedio da funcao factor. Resulta

claro que estamos a convencionar que os factores constantes sao ignorados quando se considera

a questao da unicidade. Por exemplo, 1 + x = 2(1/2 + x/2) = 3(1/3 + x/3) = · · · Se nao

ignorarmos as constantes, que sao polinomios de grau zero, entao os polinomios teriam sempre

infinitas representacoes em irredutıveis.

Page 222: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

214 Matematica elementar em Maple

Exemplo 145. Tal como 2 e 3 sao os factores primos de 6 em Z, assim tambem 1 − x e

1 + x+ x2 sao os factores irredutıveis de 1 − x3 em Q[x]:

> ifactor(6), factor(1-x^3);

(2)(3), −(x− 1)(x2 + x+ 1)

O proximo exemplo mostra que o inteiro n e o polinomio de grau zero n = nx0 nao sao

exactamente a mesma coisa.

Exemplo 146. O Maple factoriza o inteiro 10 em Z, mas nao factoriza o polinomio de grau

zero 10 = 10x0 em Z[x].

> ifactor(10), factor(10);

(2)(5), 10

Exemplo 147. Quociente e resto de polinomios.

> f := x^4 + x + 1:

> g := x^2 - 1:

> quo(f,g,x);

x2 + 1

> rem(f,g,x);

2 + x

Vamos agora verificar a igualdade f = gq + r do Teorema 143:

> evalb(expand((g*%%+%)-f)=0);

true

Tal como fizemos para os inteiros, podemos usar o resto para testar a divisibilidade de

polinomios.

Page 223: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

215

Exemplo 148. A funcao que se segue retorna true se q divide p em Q[x] (q | p) e false caso

contrario.

> d := (q,p,x) -> evalb(rem(p,q,x)=0):

> d(x-1,(x-1)*x,x);

true

> d(x-2,(x-1)*x,x);

false

Sucessoes de polinomios

Uma sucessao f0, f1, f2, . . . de polinomios em K[x] e uma funcao que associa a cada

numero t em N0 um elemento de K[x]:

f : N0 → K[x]

t 7→ ft

Notar que neste contexto f e uma funcao de t, nao uma funcao de x. Por exemplo, seja

f : N0 → Z[x]

t 7→ x3 − t2x+ t− 1 .

Obtemos a seguinte sucessao de polinomios em Z[x], todos de grau 3:

x3 − 1, x3 − x, x3 − 4x+ 1, x3 − 9x+ 2, x3 − 16x+ 3, . . .

> restart;

> f := t -> x^3 - t^2*x + t - 1:

> seq(f(t),t=0..4);

x3 − 1, x3 − x, x3 − 4x+ 1, x3 − 9x+ 2, x3 − 16x+ 3

No definicao da funcao Maple f acima, a variavel x nao e passada a funcao como argumento.

Dizemos que x e uma variavel global. Isto significa que o seu valor pode ser mudado fora da

funcao. As variaveis globais devem ser usadas com cuidado...

> x := 1:

> seq(f(t),t=0..4);

Page 224: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

216 Matematica elementar em Maple

0, 0, −2, −6, −12

As sucessoes de polinomios podem ser tambem definidas recursivamente, de uma maneira

analoga as sucessoes de inteiros. Na sua forma mais simples, uma sucessao recursiva em K[x]

e definida pela condicao inicial (caso base) f0 ∈ K[x] e por uma regra que define o elemento

da sucessao ft+1 como uma funcao de ft (caso recursivo):

f0 = f , ft+1 = F (ft) , t = 0, 1, . . .

Por exemplo, se f0 = x e ft+1 = x3 × f2t − 2, t ∈ N0, entao os primeiros tres termos da

sucessao podem ser obtidos em Maple da seguinte maneira.

> restart;

> f := t -> if t=0 then x else x^3 * f(t-1)^2 - 2 fi:

> seq(f(t),t=0..2);

x, x5 − 2, x3(x5 − 2

)2 − 2

Funcoes racionais

Tal como o conjunto dos numeros inteiros nao e fechado em relacao a divisao, e tal facto

nos conduz a introducao dos numeros racionais, tambem existe uma necessidade similar de

aumentar o conjunto K[x]. Por exemplo, x2−1x−1 e um polinomio, porque x− 1 | x2 − 1

> (x^2-1)/(x-1):

> % = simplify(%);

x2 − 1

x− 1= x+ 1

mas x2−1x−2 nao e um polinomio, pois x− 2 ∤ x2 − 1

> simplify((x^2-1)/(x-2));

x2 − 1

x− 2

Neste ultimo caso dizemos que temos uma funcao racional. O conjunto das funcoes racionais

sobre K, na incognita x, sera denotado por K(x) e representa o conjunto das fraccoes cujo

numerador e denominador sao elementos de K[x] e o denominador e nao-nulo. Esta con-

strucao e identica a construcao de Q a partir de Z. Em particular, K[x] ⊂ K(x) (todo o

Page 225: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

217

polinomio e funcao racional). Vimos que o Maple simplifica os numeros racionais de tal modo

que o denominador e positivo e o numerador e denominador sao primos entre si. O Maple

nao simplifica as funcoes racionais, a nao ser que a quantidade a ser simplificada ja esteja

factorizada. A funcao Maple simplify simplifica uma funcao racional em Q(x) de tal modo

que o numerador e denominador sao primos entre si e os seus coeficientes sao inteiros.

> p := (x-1)*(x-2)*(x-3):

> q := (x-1)*(x+1):

> p/q;

(x− 2) (x− 3)

x+ 1

> p/expand(q);

(x− 1) (x− 2) (x− 3)

x2 − 1

> simplify(%);

(x− 2) (x− 3)

x+ 1

A razao porque o Maple nao faz a simplificacao automaticamente, e a de que a simplificacao

nem sempre e desejavel! Por exemplo, a funcao racional

x100 − 1

x− 1

e definida por dois polinomios com 4 coeficientes nao nulos, enquanto a “simplificacao” do

polinomio envolve 100 coeficientes nao nulos!

> (x^100-1)/(x-1);

x100 − 1

x− 1

> simplify(%);

Page 226: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

218 Matematica elementar em Maple

1+x+x2+x99+x97+x98+x96+x95+x94+x93+x92+x91+x90+x89+x88+x87+x86+x85

+x84 +x83 +x82 +x81 +x80 +x79 +x78 +x77 +x76 +x75 +x74 +x73 +x72 +x71 +x70 +x69 +x68

+ x67 + x66 + x65 + x64 + x63 + x62 + x61 + x60 + x59 + x58 + x57 + x56 + x55 + x54 + x53 + x52

+ x51 + x50 + x49 + x48 + x47 + x46 + x45 + x44 + x43 + x41 + x40 + x39 + x42 + x38 + x36 + x35

+ x34 + x33 + x32 + x37 + x31 + x29 + x28 + x27 + x26 + x25 + x24 + x23 + x22 + x30 + x21 + x19

+x18 +x17 +x16 +x15 +x14 +x13 +x12 +x11 +x10 +x9 +x8 +x7 +x6 +x5 +x4 +x3 +x20

> nops(%);

100

Manipulacao basica de expressoes

Ja vimos as funcoes expand e factor

> p := (x-1)*(x^4 + 2*x + 1):

> expand(p);

x5 + 2x2 − x− x4 − 1

> factor(p);

(x− 1) (x+ 1)(x3 − x2 + x+ 1

)

> op(%);

x− 1, x+ 1, x3 − x2 + x+ 1

E possıvel dizer ao Maple para deixar certas sub-expressoes sem expansao, especificando-as

por intermedio do segundo argumento opcional do expand:

> p := (x+3)*(x-1)^2:

> expand(p,x+3);

(x+ 3)x2 − 2 (x+ 3)x+ x+ 3

Page 227: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

219

> expand(p,x-1);

(x− 1)2 x+ 3 (x− 1)2

A funcao expand opera sobre potencias positivas mas deixa intactas as potencias negativas.

> (x+1)^3;

(x+ 1)3

> expand(%);

x3 + 3x2 + 3x+ 1

> f := (x+1)^(-2);

f :=1

(x+ 1)2

> expand(f);

1

(x+ 1)2

Neste caso a expansao do denominador deve ser explıcita:

> numer(f)/expand(denom(f));

1

x2 + 2x+ 1

O proximo exemplo ilustra o comportamento diferente do expand sobre o numerador e

denominador de uma fraccao racional.

> x*(x+1)/(x-1)^2;

x (x+ 1)

(x− 1)2

> expand(%);

Page 228: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

220 Matematica elementar em Maple

x2

(x− 1)2+

x

(x− 1)2

A funcao simplify transforma uma funcao racional em Q para a forma

numerador

denominador

com o numerador e denominador primos entre si e coeficientes inteiros.

> x*(x+2/3*x^3)/(x+1/7);

x(x+ 2

3 x3)

x+ 17

> simplify(%);

7

3

x2(3 + 2x2

)

7x+ 1

A funcao factor, quando aplicada a uma funcao racional, da-nos uma expressao simplifi-

cada e completamente factorizada. Pode, por isso, ser usada como alternativa ao simplify.

> x + 1/(x^2 + 1/(x^3 + 1/x^4));

x+1

x2 +1

x3 +1

x4

> simplify(%);

x10 + x3 + x5 + x7 + 1

x2 (x7 + 1 + x2)

> factor(%%);

x10 + x3 + x5 + x7 + 1

x2 (x2 + x+ 1) (x5 − x4 + x2 − x+ 1)

Para simplificacao de expressoes racionais, o Maple disponibiliza tambem a funcao normal

(investigue os manuais online do Maple a este respeito).

Page 229: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

221

Problema 149. Prove, usando o Maple, a igualdade

(1 + x)2 +1

1 + x=

(1 + x)3 + 1

1 + x.

Comecamos por notar que as funcoes simplify e factor nao ajudam na resolucao do

Problema 149:

> p := (1+x)^2 + 1/(1+x):

> simplify(p);

x3 + 3x2 + 3x+ 2

x+ 1

> factor(p);

(x+ 2)(x2 + x+ 1

)

x+ 1

O truque consiste em fazer uma substituicao:

> subs(1+x = y,p);

y2 +1

y

> simplify(%);

y3 + 1

y

> subs(y=1+x,%);

(x+ 1)3 + 1

x+ 1

Uma representacao importante, muito util na primitivacao de funcoes racionais, e a de-

composicao em fraccoes parciais. Vejamos um exemplo.

> p := (x+1)/(x^4 - 2*x^3 + x^2 - 2*x);

p :=x+ 1

x4 − 2x3 + x2 − 2x

Page 230: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

222 Matematica elementar em Maple

> factor(p);

x+ 1

x (x− 2) (x2 + 1)

> convert(p,’parfrac’,x);

−1

2

1

x+

3

10x− 2

+

1

5(−3 + x)

x2 + 1

Somas e produtos em Maple

Vamos agora estudar as ferramentas do Maple que nos permitem somar e multiplicar um

numero finito de elementos de uma determinada sucessao. Desta maneira podemos construir

sucessoes a partir de outras. Consideremos uma sucessao an+∞n=0,

a0, a1, a2, . . . ,

cujos elementos an pertencem a um certo conjunto A onde estao definidas a operacao de soma

e multiplicacao (e.g., A = N, Z, Q[x], etc.) A soma

Sn =n∑

i=0

ai n ≥ 0 (C.10)

e o produto

Pn =n∏

i=0

ai n ≥ 0 (C.11)

sao funcoes de n e, por conseguinte, definem novas sucessoes Sn+∞n=0 e Pn+∞

n=0.

Se a sucessao ai poder ser representada explicitamente atraves de uma funcao Maple

a(i), entao podemos usar as funcoes add e mul para gerar as respectivas sucessoes soma e

produto. A soma (C.10) e representada em Maple pelo comando

> add(a(i),i=0..n);

enquanto o produto (C.11) e representado por

> mul(a(i),i=0..n);

A sintaxe do add e do mul e identica a da funcao Maple seq. Em particular, os limites da

soma e produto podem variar entre dois valores arbitrarios m e n, m ≤ n, ou, de modo mais

geral, podem ser substituıdos por uma qualquer expressao expr

Page 231: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

223

> add(a(i),i=expr);

> mul(a(i),i=expr);

situacao em que a soma/produto e realizada calculando a(i) para cada operando i da ex-

pressao expr.

Exemplo 150. Vamos calcular a soma dos cubos dos primeiros 100 inteiros positivos. Neste

caso ai = i3, i = 1, 2, . . .

> a := i -> i^3:

> add(a(i),i=1..100);

25502500

Alternativamente, podıamos ter feito directamente

> add(i^3,i=1..100);

25502500

Exemplo 151. Calcular o produto dos primeiros 20 numeros primos:

> mul(ithprime(i),i=1..20);

557940830126698960967415390

Exemplo 152. Vamos verificar que o factorial de 333 e, de facto, o produto dos primeiros

333 inteiros positivos. Neste caso a sucessao ai coincide com a sucessao identidade (ai = i).

> evalb(mul(i,i=1..333) = 333!);

true

> a := i -> i:

> mul(a(i),i=1..333) - 333!;

0

Page 232: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

224 Matematica elementar em Maple

Seja A um subconjunto de N e χA a sua funcao caracterıstica:

χA(i) =

1 se i ∈ A

0 se i /∈ A

Neste caso a soma

A(n) =n∑

i=0

χA(i)

da-nos o numero de elementos em A nao superiores a n. Por exemplo, se A for o conjunto

dos primos, entao A(n) e o numero de primos que nao excedem n.

Problema 153. Defina em Maple a funcao pi(n) que devolve o numero de primos da forma

4k + 1 nao superiores a n.

Para resolver o Problema 153 definimos a funcao caracterıstica do conjunto de tais primos

e depois somamos.

> chi := i -> if irem(i,4) = 1 and isprime(i) then 1 else 0 fi:

> pi := n -> add(chi(i),i=1..n):

> pi(100);

11

Problema 154. Considere a seguinte sucessao de polinomios em Z[x]

Sn =n∑

i=1

(xi − ix+ 1

)n ∈ N .

Mostre, usando o Maple, que o polinomio S5 e irredutıvel.

O Problema 154 e facilmente resolvido com a ajuda da funcao factor.

> p := i -> x^i - i*x + 1:

> S := n -> add(p(i),i=1..n):

> S(5);

5 + x2 − 14x+ x3 + x4 + x5

> factor(%);

5 + x2 − 14x+ x3 + x4 + x5

Page 233: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

225

Problema 155. Usando o Maple, transforme o polinomio

11∑

i=0

xi

na forma(x2 + x+ 1

) (x9 + x6 + x3 + 1

).

Para resolver o Problema 155 comecamos por factorizar o polinomio.

> p := factor(add(x^i,i=0..11));

p := (x+ 1)(x2 + 1

) (1 + x+ x2

) (x2 − x+ 1

) (x4 − x2 + 1

)

A expressao obtida e do tipo * e tem 5 operandos:

> whattype(p), nops(p);

∗, 5

A forma requerida consiste na factorizacao parcial do polinomio. Para a obtermos vamos

juntar e multiplicar os operandos relevantes.

> op(3,p) * expand(mul(op(i,p),i=[1,2,4,5]));

(1 + x+ x2

) (x9 + x3 + x6 + 1

)

Formulas explıcitas para somas e produtos

Se os elementos an de uma sucessao sao expressos por meio de uma funcao explıcita de

n, podera a sucessao soma associada, Sn, ou a sucessao produto associada, Pn, ser expressa

como uma funcao explıcita de n? Isto e claramente possıvel em certas situacoes, por exemplo,

para a soma de uma progressao aritmetica ou geometrica:

n∑

i=1

i =(1 + n)n

2,

n∑

i=0

xi =1 − xn+1

1 − x, x 6= 1 .

Estas formulas explıcitas permitem-nos calcular as somas, para um dado valor de n, de uma

maneira muito mais eficiente. Por exemplo,

100000∑

i=1

i =(1 + 100000) 100000

2= 5000050000 .

Page 234: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

226 Matematica elementar em Maple

O Maple disponibiliza as funcoes sum e product que permitem a realizacao, respectivamente,

de somas simbolicas e produtos simbolicos, em vez de adicionar ou multiplicar um numero

concreto de termos (n dado). A sintaxe destes comandos e a mesma do add e mul, excepto

que os limites do somatorio/produtorio podem agora ser simbolicos e nao apenas numericos.

A funcao sum tenta “descobrir” a formula explıcita sempre que e chamada com limites nao

numericos. Este processo de “descoberta” demora o seu tempo, pelo que se os dados forem

numericos e preferıvel usarem-se as funcoes add e mul que sao muito mais eficientes. Vamos

usar o Maple para descobrir as formulas das progressoes aritmeticas e geometricas:

> restart;

> add(i,i=1..n);

Error, unable to execute add

> sum(i,i=1..n);

1

2(n+ 1)2 − 1

2n− 1

2

> factor(%);

1

2n (n+ 1)

Agora que temos a formula, podemos calcular o valor da soma por meio do subs.

> add(i,i=1..100000) = subs(n=100000,%);

5000050000 = 5000050000

A progressao geometrica e tratada com o Maple de modo semelhante.

> add(x^i,i=1..n);

Error, unable to execute add

> sum(x^i,i=0..n);

xn+1

x− 1− 1

x− 1

Page 235: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

227

> simplify(%);

xn+1 − 1

x− 1

Descobrir uma formula explıcita e, em geral, um problema muito difıcil. Vejamos um

exemplo. Os termos da soma

Sn =n∑

i=1

(i2

i

)

sao dados por uma funcao explıcita de i:

(i2

i

)

=i2!

i! (i2 − i)!.

Mas sera que existe uma formula simples para Sn?

> a := i -> binomial(i^2,i):

> sum(a(i),i=1..n);

n∑

i=1

binomial(i2, i)

O Maple nao e capaz de encontrar tal formula. Isto nao significa, claro, que a formula nao

exista! Podemos substituir n por um valor concreto e obter o correspondente valor usando o

eval (do ingles evaluation)

> subs(n=4,%);

4∑

i=1

binomial(i2, i)

> eval(%);

1911

embora neste caso, como o sum nao conseguiu determinar a formula explıcita, seja preferıvel

o uso do add.

> add(a(i),i=1..4);

Page 236: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

228 Matematica elementar em Maple

1911

As funcoes sum e product possuem uma versao inerte, respectivamente Sum e Product,

que apenas indicam a operacao em causa. A funcao value pode depois ser usada para obter

o valor correspondente a forma inerte.

> Sum(i^3,i=1..100);

100∑

i=1

i3

> value(%); # o eval n\~ao funciona aqui

25502500

A forma inerte pode ser combinada com o value para obter uma saıda aprazıvel:

> Sum(i^3,i=1..100): % = value(%);

100∑

i=1

i3 = 25502500

Na proxima seccao vamos ver mais aplicacoes destas funcoes inertes.

Encadeamento de somas e produtos

Vejamos agora expressoes com um duplo somatorio, do tipo

S = Sm,n =m∑

j=m0

n∑

i=n0

aj,i =m∑

j=m0

(n∑

i=n0

aj,i

)

onde aj,i e uma funcao de j e i. Uma expressao deste tipo pode ser vista como uma soma de

elementos de uma sucessao, elementos esses que sao eles proprios somas:

Sm,n =m∑

j=m0

sj,n , sj,n =n∑

i=n0

aj,i .

Na situacao mais geral, n0 e n podem ser funcoes de j: n0 = n0(j), n = n(j). Quando n0 e

n sao constantes, a ordem da soma pode ser invertida:

m∑

j=m0

n∑

i=n0

aj,i =n∑

i=n0

m∑

j=m0

aj,i .

Page 237: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

229

De modo semelhante se comportam as expressoes com um duplo produtorio. Por exemplo,

3∏

j=1

2∏

i=1

aj,i =3∏

j=1

(aj,1aj,2) = a1,1a1,2a2,1a2,2a3,1a3,2 .

Quando os ındices sao independentes, como acontece no exemplo acima, a ordem dos pro-

dutorios pode ser trocada.

E tambem possıvel combinar somatorios e produtorios numa mesma expressao. Claro que

neste caso o intercambio de somatorios e produtorios altera completamente o significado da

expressao! Vejamos alguns exemplos com o Maple.

Problema 156. Determine o valor da seguinte expressao:

4∏

j=1

(j∑

i=1

(i+ j)2)

.

O Problema 156 e facilmente resolvido em Maple.

> Product(Sum((i+j)^2,i=1..j),j=1..4): % = value(%);

4∏

j=1

(j∑

i=1

(i+ j)2)

= 1339800

Se combinarmos a funcao activa product (ou, melhor ainda, mul) com a funcao inerte Sum

obtemos:

> mul(Sum((i+j)^2,i=1..j),j=1..4);

(1∑

i=1

(i+ 1)2)(

2∑

i=1

(i+ 2)2)(

3∑

i=1

(i+ 3)2)(

4∑

i=1

(i+ 4)2)

O proximo comando Maple permite-nos calcular o valor de cada um dos operandos na ex-

pressao acima:

> seq(x = value(x),x=%);

1∑

i=1

(i+ 1)2 = 4,

2∑

i=1

(i+ 2)2 = 25,

3∑

i=1

(i+ 3)2 = 77,

4∑

i=1

(i+ 4)2 = 174

Podemos calcular o valor final, extraindo o valor de cada uma das somas e multiplicando-os.

> seq(op(2,k),k=[%]);

Page 238: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

230 Matematica elementar em Maple

4, 25, 77, 174

> convert([%],‘*‘);

1339800

Somas e produtos como sucessoes recursivas

As igualdades (C.10) e (C.11) podem ser reescritas da seguinte maneira:

Sn =n∑

i=0

ai =

(n−1∑

i=0

ai

)

+ an = Sn−1 + an ,

Pn =n∏

i=0

ai =

(n−1∏

i=0

ai

)

× an = Pn−1 × an .

Podemos entao definir as sucessoes Sn∞n=0 e Pn∞n=0 recursivamente:

S0 = a0 , Sn = an + Sn−1 , n ≥ 1 ,

P0 = a0 , Pn = an × Pn−1 , n ≥ 1 .

Exemplo 157. Seja a0 = 2, ai = 1 − a2i−1, i = 1, 2, . . . Pretendemos calcular

S5 =5∑

i=0

ai .

Podemos calcular o valor com a ajuda da funcao add

> a := i -> if i = 0 then 2 else 1-a(i-1)^2 fi:

> Sadd := n -> add(a(i),i=0..n):

> Sadd(5);

−15749063

ou atraves do metodo recursivo

> SRec := n -> if n = 0 then a(0) else a(n)+SRec(n-1) fi:

> SRec(5);

−15749063

Page 239: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

231

Elementos de Programacao

As ferramentas universais da programacao sao:

(i) iteracao (a estrutura do);

(ii) execucao condicional (a estrutura if);

(iii) procedimentos (funcoes definidas pelo utilizador).

Em relacao ao Maple, apenas a primeira e para nos verdadeira novidade. A estrutura if

ja foi introduzida no contexto das funcoes caracterısticas (e usada na definicao de sucessoes

recursivas); e temos usado extensivamente o operador seta -> para a definicao de funcoes que

consistem de um unico comando Maple.

Iteracao

A estrutura do permite a execucao repetitiva de um comando ou bloco de comandos. A

sintaxe geral da estrutura do e

for variavel from inicio by passo to fim do

comando 0;

...

comando n

od;

A variavel de controlo variavel e inicializada com o valor inicio e incrementada por passo

ate o seu valor exceder o de fim (ou ate se tornar mais pequeno que fim, se o passo for

negativo). As expressoes inicio, passo e fim podem ser inteiros, racionais ou valores em

vırgula flutuante. O corpo da estrutura do consiste num numero arbitrario de comandos

(possivelmente vazio), cada comando do bloco a ser executado em correspondencia com o valor

assumido por variavel. A variavel de controlo variavel pode ser usada como qualquer outra

variavel, mas o seu valor nao pode ser mudado dentro do ciclo. O ultimo comando do corpo

nao precisa (mas pode) terminar em ponto e vırgula ou dois pontos. A saıda e independente

do terminador dos varios comandos no corpo (: ou ;), dependendo do terminador de od (a

saıda e visualizada se od e seguido de ponto e vırgula e suprimida quando od e seguido de

dois pontos). As opcoes from e by podem ser omitidas, caso em que o valor quer de inicio

quer de passo e 1. Se a variavel de controlo variavel nao for necessaria, a opcao for pode

ser omitida: o Maple define a sua propria variavel de controlo. A opcao to tambem pode ser

omitida, obtendo-se entao um “ciclo infinito”.

Page 240: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

232 Matematica elementar em Maple

Vejamos alguns exemplos. Comecamos por ilustrar o uso da estrutura do na obtencao de

termos de uma sucessao recursiva. Pretendemos verificar que o quarto termo a3 da sucessao

recursiva de inteiros

a0 = 1 , an+1 = f(an) = a5n + 1 , n = 0, 1, 2, . . .

tem 8 dıgitos decimais. Para isso definimos a funcao f e iteramos as vezes pretendidas com

o valor inicial a0 = 1.

> f := a -> a^5 + 1:

> a := (a0,n) -> (f@@n)(a0):

> length(a(1,3));

8

A composicao da funcao f e facilmente implementada por intermedio da estrutura do:

> a := 1:

> to 3 do # repete 3 vezes

> a := f(a)

> od:

> length(a);

8

Consideremos agora o problema da construcao do triangulo de Pascal. Relembramos que

a n-esima linha do triangulo de Pascal e dada por

(n

0

)

,

(n

1

)

, · · · ,(n

n

)

que e facilmente obtida em Maple pela funcao

> l := n -> seq(binomial(n,k),k=0..n):

As primeiras 8 linhas do triangulo de Pascal podem entao ser obtidas atraves dos comandos

> l(0); l(1); l(2); l(3); l(4); l(5); l(6); l(7);

1

1, 1

1, 2, 1

1, 3, 3, 1

Page 241: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

233

1, 4, 6, 4, 1

1, 5, 10, 10, 5, 1

1, 6, 15, 20, 15, 6, 1

1, 7, 21, 35, 35, 21, 7, 1

ou, de um modo mais elegante, por intermedio da estrutura do (usamos agora apenas um

comando Maple, em vez dos 8 comandos anteriores):

> for n from 0 to 7 do l(n) od;

1

1, 1

1, 2, 1

1, 3, 3, 1

1, 4, 6, 4, 1

1, 5, 10, 10, 5, 1

1, 6, 15, 20, 15, 6, 1

1, 7, 21, 35, 35, 21, 7, 1

Neste caso o comando repetido nao e exactamente igual, mas depende de um ındice n que

varia, em passos unitarios, entre 0 e 7.

Os proximos exemplos permitem ilustrar os valores assumidos pela variavel de controlo a

saıda do ciclo.

> for i from 2 by 2 to 7 do i od;

2

4

6

> i;

8

> for i from 2 by -3 to -1 do i od;

2

−1

Page 242: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

234 Matematica elementar em Maple

> i;

−4

Se o intervalo for vazio, o ciclo nao e executado e o valor da variavel de controlo nao e

modificado:

> for i from 2 by -1 to 3 do i od;

> i;

2

Para visualizar a saıda de certos comandos no corpo do ciclo (em vez de todos ou de nenhum,

conforme determinado pelo terminador de od), o Maple disponibiliza a funcao print.

> x := 1:

> for n to 3 do

> x := x + igcd(n,x);

> print(n,x)

> od:

1, 2

2, 4

3, 5

Facamos agora uma comparacao instrutiva entre duas construcoes similares: uma usando

o do, a outra o seq.

> 2:

> for i to 3 do

> % * i

> od;

2

4

12

Page 243: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

235

> 2:

> seq(% * i,i=1..3);

2, 4, 6

Nao avance sem ter a certeza que compreende o porque dos resultados anteriores.

E didactico ver como construcoes ja nossas conhecidas podem ser implementadas de modo

convencional, via programacao. O valor de uma soma pode ser obtido atraves da funcao add

ou por intermedio da estrutura do. Imaginemos, por exemplo, que se pretende calcular o

valor de5∑

n=0

n2 .

Em Maple farıamos

> add(n^2,n=0..5);

55

ou entao

> s := 0:

> for n from 0 to 5 do

> s := s + n^2

> od:

> s;

55

Vejamos mais um exemplo, antes de terminar esta seccao. O valor de uma expressao do

tipo

12 +1

32 + 152+ 1

72+ 192

e usualmente obtido “de dentro para fora” por intermedio de um ciclo for:

> 9^2:

> for i from 7 by -2 to 1 do

> i^2 + 1/%

> od:

> %;

Page 244: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

236 Matematica elementar em Maple

997280

897949

A opcao in

Se nos lembrarmos que funcoes como seq, add, mul, etc., aceitam nao so intervalos como

segundo argumento, mas expressoes genericas, nao e difıcil adivinhar que tal tambem e possıvel

com a construcao do. Por exemplo,

> restart:

> ifactor(3960);

(2)3(3)2(5)(11)

> [seq(expand(k),k=%)];

[8, 9, 5, 11]

A funcao ifactor devolve uma expressao do tipo * com 4 operandos e o comando seq e usado

para percorrer todos esses operandos, expandindo-os. Uma construcao similar e possıvel com

um ciclo, usando a opcao in:

> L := NULL:

> for k in ifactor(3960) do

> L := L, expand(k)

> od:

> [L];

[8, 9, 5, 11]

Vejamos outro exemplo simples.

> seq(x+1,x=[1,2,3,4,5]);

2, 3, 4, 5, 6

> for x in [1,2,3,4,5] do x + 1 od;

Page 245: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

237

2

3

4

5

6

A opcao while

A opcao while disponibiliza uma maneira alternativa de terminar uma iteracao. A sua

sintaxe e

while expressaoLogica do

comandos

od;

Se expressaoLogica tiver valor true o corpo do ciclo e executado, a expressao logica expressaoLogica

testada de novo, etc. O ciclo termina quando o valor da expressao logica e false. Nao e

necessario usar o evalb na expressao logica.

> x := 2:

> while x < 100 do

> x := x^2

> od;

x := 4

x := 16

x := 256

A opcao while pode ser usada em conjuncao com as outras opcoes.

Exemplo 158. Quantos primos existem menores que 100?

> for n while ithprime(n) < 100 do od:

> n-1;

25

Page 246: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

238 Matematica elementar em Maple

Exemplo 159. Qual e o menor inteiro positivo n tal que n! e maior que 5n?

> for n while n! <= 5^n do od;

> n;

12

Execucao condicional

A forma geral da estrutura if e:

if expressaoLogica1 then

comandos1

elif expressaoLogica2 then

comandos2

...

else

comandosPorDefeito

fi;

Um exemplo de aplicacao da estrutura if surge quando se pretende definir funcoes por

seccoes (piecewise functions, em ingles): funcoes cujo valor e dado por expressoes distintas

em regioes distintas do domınio. Um exemplo particular de funcoes definidas por seccoes sao

as funcoes caracterısticas ja estudadas. Vejamos um exemplo. Seja

f(x) =

1 se 0 ≤ x < 40

2 se 40 ≤ x < 50

3 se 50 ≤ x < 60

4 se 60 ≤ x < 70

5 se 70 ≤ x < 80

6 se 80 ≤ x ≤ 100

A funcao pode ser definida em Maple como se segue.

> f := x -> if x<0 or x>100 then

> "nao definida"

> elif x<40 then

> 1

> elif x<50 then

Page 247: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

239

> 2

> elif x<60 then

> 3

> elif x<70 then

> 4

> elif x<80 then

> 5

> else

> 6

> fi:

Uma maneira alternativa de definir f(x) e usar a funcao Maple piecewise, que possui a

seguinte sintaxe:

piecewise(cond1,f1,cond2,f2,...,condn,fn,porDefeito)

Farıamos entao:

> f := x -> piecewise(x<0 or x>100,"nao definida",

> x<40,1,x<50,2,x<60,3,x<70,4,x<80,5,6):

Procedimentos

Uma funcao definida por intermedio do operador seta -> e um caso simples de uma

construcao mais geral chamada procedure. Por exemplo, a funcao

> adicionaUm := obj -> map(x->x+1,obj):

adiciona 1 a cada operando de um dado objecto arbitrario obj. A mesma funcao pode ser

definida em Maple como um procedure:

> adicionaUm := proc(obj)

> map(x->x+1,obj)

> end:

O modo de utilizacao da funcao definida como procedure e precisamente o mesmo ao que ja

estamos habituados:

> adicionaUm(1,0,-22,ola);

−21, 1, 2, ola+ 1

Page 248: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

240 Matematica elementar em Maple

> adicionaUm(a=b);

a+ 1 = b+ 1

As vantagens em usar a construcao proc sao:

(i) podemos definir funcoes com mais do que um comando Maple;

(ii) podemos controlar o tipo de argumentos da funcao;

(iii) podemos usar variaveis locais.

A sintaxe pode ser descrita da seguinte maneira:

nome := proc(arg1::tipo1,...,argn::tipon)

local variaveis;

option opcoes;

comandos

end;

Vejamos alguns exemplos.

Exemplo 160. Pretende-se construir em Maple uma funcao de nome coefPol que trans-

forme uma lista de coeficientes, num polinomio numa dada incognita fornecida tambem pelo

utilizador. Um exemplo do funcionamento pretendido e:

> coefPol([1,1,c^2+1,2],z);

z3 + z2 +(c2 + 1

)z + 2

> coefPol := proc(listaCoef::list,x::symbol)

> local i, grau:

> grau := nops(listaCoef):

> 0:

> for i to grau do

> % + listaCoef[i]*x^(grau-i)

> od

> end:

> coefPol([1,1,c^2+1,2],z);

z3 + z2 +(c2 + 1

)z + 2

Page 249: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

241

Exemplo 161. O proximo procedimento gera a lista de primos entre dois inteiros a e b dados

(a e b incluıdos).

> primosEntre := proc(a::integer,b::integer)

> local L, p:

> L := []:

> p := nextprime(a-1):

> while p <= b do

> L := [op(L),p]:

> p := nextprime(p)

> od:

> L

> end:

> primosEntre(1000,1100);

[1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097]

Uma funcao identica construıda com o select, e mais simples e elegante, mas menos eficiente

(mais lenta).

Exemplo 162. Vamos agora definir em Maple a funcao freq que calcula a frequencia de

ocorrencia dos elementos numa lista arbitraria.

> freq := proc(L::list)

> local r,x:

> seq([x,nops(select((r,x)->evalb(r=x),L,x))],x=op(L))

> end:

> freq([a,b,ba,b,ba,b,ab,b]);

[a, 1], [b, 4], [ab, 1], [ba, 2]

Procedimentos recursivos

Os procedimentos permitem implementar sucessoes recursivas de um modo mais eficiente

do que as suas congeneres definidas pelo operador seta ->. Consideremos, a tıtulo de exemplo,

a seguinte sucessao recursiva de primeira ordem:

X0 = 1 , Xn =Xn−1 + 1

Xn−1 + 2, n = 1, 2, . . .

Usando o operador seta fazemos

Page 250: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

242 Matematica elementar em Maple

> X := n-> if n=0 then 1 else (X(n-1)+1)/(X(n-1)+2) fi:

> seq(X(i),i=0..10);

1 ,2

3,5

8,13

21,34

55,

89

144,233

377,610

987,1597

2584,4181

6765,10946

17711

Dada um n > 0, o Maple calcula, recursivamente, 2 vezes o valor de cada X(n − 1). Uma

solucao para evitar os calculos repetidos sera usar um procedimento, armazenando o valor de

X(n−1) numa variavel e usando depois essa variavel em vez de fazer nova chamada recursiva

a X(n− 1). O Maple faz esta operacao automaticamente se usarmos a opcao remember.

> X := proc(n::nonnegint) # n e’ um inteiro nao negativo

> option remember:

> if n=0 then 1 else (X(n-1)+1)/(X(n-1)+2) fi

> end:

Introducao elementar a Algebra Linear em Maple

Comecamos por carregar a biblioteca de funcoes linalg (linear algebra) que coloca a

nossa disposicao 114 novas funcoes:

> nops(with(linalg));

114

Matrizes em Maple

E possıvel definir matrizes em Maple atraves de um array

> array(1..2,1..2,[[1,2],[3,4]]);

[

1 2

3 4

]

ou entao atraves do “tipo de dados” matrix, que nao e mais do que um array de duas

dimensoes com ındices linha e coluna indexados a partir de 1.

> type(%,matrix);

true

Page 251: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

243

> A := matrix([[1,2],[3,4],[5,6]]);

1 2

3 4

5 6

> B:= matrix([[a,b],[c,d]]);

[

a b

c d

]

As variaveis A e B acima nao representam um objecto matriz, mas sim um ponteiro para o

local de memoria onde o Maple armazena o correspondente objecto matriz. Fica entao claro

o resultado do seguinte comando:

> A + A;

2A

Para acedermos ao objecto matriz atraves do nome que o referencia, recorremos ao comando

evalm (evaluate matrix ).

> evalm(%);

2 4

6 8

10 12

> evalm(3*A);

3 6

9 12

15 18

Para multiplicarmos matrizes em Maple temos de recorrer ao operador de multiplicacao nao

comutativo &*

> evalm(A &* B);

Page 252: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

244 Matematica elementar em Maple

a+ 2 c b+ 2 d

3 a+ 4 c 3 b+ 4 d

5 a+ 6 c 5 b+ 6 d

> evalm(A * B);

Error, (in evalm/evaluate) use the &* operator for matrix/vector multiplication

A inversa de uma matriz quadrada invertıvel, pode ser determinada por recurso a funcao

Maple inverse.

> iB := inverse(B);

[d

ad−bc − bad−bc

− cad−bc

aad−bc

]

> evalm(B &* iB);

[ad

ad−bc − bcad−bc 0

0 adad−bc − bc

ad−bc

]

> simplify(%);

[

1 0

0 1

]

Claro que os calculos acima sao formais, so fazendo sentido escrever a inversa de B quando

ad− bc for diferente de zero: uma matriz e invertıvel apenas quando o seu determinante for

diferente de zero.

> det(B);

ad− bc

Este tipo de analise e sempre da responsabilidade do utilizador do Maple e nao do computador.

Podemos aceder directamente a um elemento da matriz, bastando indicar a respectiva

linha/coluna. Vamos imaginar que queremos mudar o elemento na linha 2 e coluna 1 da

matriz A para β.

Page 253: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

245

> A[2,1] := beta;

A2,1 := β

> evalm(A);

1 2

β 4

5 6

Para a definicao de matrizes de alguma dimensao, cujas entradas satisfazem uma certa

regra de formacao, sao uteis as construcoes do tipo seguinte.

> matrix(3,4,(i,j)->i/j);

1 12

13

14

2 1 23

12

3 32 1 3

4

> f := (i,j)->x^(i+j):

> matrix(2,2,f);

[

x2 x3

x3 x4

]

Existem muitas outras maneiras de definir matrizes em Maple. Vejam-se os manuais online

para as outras funcionalidades do comando Maple matrix.

Seguem-se as funcoes mais comuns sobre matrizes ainda nao mencionadas. O traco de

uma matriz, isto e, a soma dos elementos na diagonal da matriz, e dado pelo comando trace.

> trace(B);

a+ d

Esta funcao e muito facil de implementar. Para o exemplo acima farıamos:

> add(B[i,i],i=1..2);

Page 254: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

246 Matematica elementar em Maple

a+ d

A transposta de uma matriz e obtida atraves da funcao transpose

> transpose(B);

[

a c

b d

]

enquanto a caracterıstica e determinada com recurso a funcao Maple rank

> rank(A);

2

O polinomio caracterıstico e obtido recorrendo ao charpoly (characteristic polynomial), in-

dicando a matriz e a variavel com a qual se pretende escrever o polinomio caracterıstico. Por

exemplo,

> charpoly(B,x);

x2 − xd− ax+ ad− bc

Como sabemos, a matriz satisfaz o polinomio caracterıstico.

> subs(x=B,%);

B2 −Bd− aB + ad− bc

> evalm(%);

[

0 0

0 0

]

Reparar tambem a ligacao entre o polinomio caracterıstico, o traco e o determinante.

> collect(charpoly(B,x),x);

x2 + (−d− a)x+ ad− bc

Page 255: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

247

> evalb(simplify(%=x^2-trace(B)*x+det(B)));

true

Damos agora um exemplo do calculo dos valores proprios (eigenvalues) de uma matriz.

> C := matrix([[0,1],[3,-1]]);

[

0 1

3 −1

]

> eigenvalues(C);

−1

2+

1

2

√13 ,−1

2− 1

2

√13

Vectores em Maple

Podemos olhar para os vectores como casos particulares das matrizes (matrizes de uma

coluna), pelo que podemos definir vectores em Maple por recurso a estrutura de dados array.

> v := array(1..2);

v := array(1..2, [])

> evalm(v);

[v1, v2]

> w := array([1,2]);

w := [1, 2]

> v[1] := 3: v[2] := 4:

> v, w;

v, w

Page 256: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

248 Matematica elementar em Maple

> evalm(v), evalm(w);

[3, 4], [1, 2]

Podemos, por exemplo, multiplicar uma constante por um vector,

> -2*v: % = evalm(%);

−2v = [−6,−8]

somar vectores

> evalm(v+w);

[4, 6]

ou achar o produto interno entre dois vectores

> dotprod(v,w);

11

A norma p de um vector u,

‖u‖p = (|v1|p + · · · + |vn|p)1/p ,

e dada em maple por norm(u,p). Por exemplo

> norm(v,2);

5

Tal como o Maple disponibiliza a estrutura de dados matrix (que nao passa de um caso

particular de array) tambem disponibiliza o tipo de dados vector

> type(v,vector);

true

Para o Maple, um vector nao e mais do que um array uni-dimensional cujo ındice comeca

em 1.

Page 257: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

249

Multiplicacao de uma matriz por um vector

Embora o Maple mostre os vectores, na forma visual, como vectores linha, ele interpreta-os

como vectores coluna.

> evalm(C)*evalm(w) = evalm(C &* w);

[

0 1

3 −1

]

[1, 2] = [2, 1]

Aplicacao de uma funcao a todos os elementos de um array

A ja conhecida funcao map, pode ser tambem usada no contexto das matrizes.

> h := y -> y^2:

> map(h,C);

[

0 1

9 1

]

> u := array([x+1,x^2]):

> map(h,u);

[

(x+ 1)2 , x4]

> map(expand,%);

[x2 + 2x+ 1, x4]

Page 258: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o
Page 259: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

Apendice D

Computacao Algebrica em Maple:

Programacao Dinamica

Definimos procedimentos Maple para a resolucao de problemas genericos dos do tipo es-

tudados na Seccao 1.5.

D.1 Problema de percurso

Uma vez resolvido em §1.5.1 um problema de percurso pela tecnica da Programacao

Dinamica, usamos agora o Sistema de Computacao Algebrica Maple para a implementacao de

um programa generico que permite a resolucao de um qualquer problema deste tipo. Convem

esclarecer que nos casos em que ha mais do que uma solucao possıvel para o problema (quando

a solucao nao e unica), o nosso programa apenas apresentara uma delas.

> E := (i,P) -> P[3][i]:

> pp := P -> P[-1][1][1]: # Ponto de Partida

> pc := P -> P[-1][-1][1]: # Ponto de Chegada

> c := (j,k,P) -> select(L->L[1]=j and L[2]=k,P[1])[1][3]:

> ind := (e,L) -> if member(e,L,’i’) then i fi:

> s := proc(i,j,P)

> local PE, SC, k, melhor, pos:

> PE := E(i+1,P):

> SC := seq(c(j,k,P),k=PE):

> melhor := map(P[2],SC):

> pos := ind(melhor,[SC]):

> return(PE[pos]);

> end proc:

251

Page 260: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

252 Computacao Algebrica em Maple: Programacao Dinamica

> sol := proc(i,j,k,P,flag)

> local prox:

> if j=pc(P) then

> if flag=custo then return(0) else return([j]) fi:

> elif member(k,E(i+1,P)) then

> if flag=custo then return(c(j,k,P)) else return([j,k]) fi:

> else

> prox := s(i,j,P):

> if flag=custo then

> return(c(j,prox,P)+sol(i+1,prox,k,P,custo))

> else

> return([j,op(sol(i+1,prox,k,P,flag))]):

> fi

> fi

> end proc:

> f := (i,j,k,P) -> sol(i,j,k,P,custo):

> custoOptimo := P -> f(1,pp(P),pc(P),P):

> solucaoOptima := P -> sol(1,pp(P),pc(P),P,caminho):

Com o programa acima, a resolucao de qualquer problema de percurso resume-se a inter-

pretacao adequada do enunciado e a introducao dos dados no Maple, chamando depois as

funcoes custoOptimo e solucaoOptima. Os dados sao introduzidos pelo utilizador sob a

forma de uma lista, lista esta constituıda por tres elementos:

• o primeiro elemento e uma lista constituıda por sub-listas de tres elementos:

– o primeiro correspondente a um ponto de partida;

– o segundo elemento correspondente a um ponto de chegada;

– o terceiro elemento corresponde ao “custo” de ligacao entre os respectivos pontos

de partida e de chegada;

• o segundo elemento define se o utilizador quer determinar o custo maximo ou o custo

mınimo (do seguro de vida);

• o terceiro elemento e uma lista de listas, com cada lista a definir uma etapa. O unico

elemento da primeira sub-lista define o ponto de partida do problema; o unico elemento

da ultima sub-lista define o ponto de chegada do problema.

Para o Problema 22 fazemos:

> custos := [[1,2,2],[1,3,4],[2,4,7],[2,5,7],[3,4,8],[3,5,5],[4,6,3],[5,6,4]]:

Page 261: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

D.2 Problema de investimento 253

> etapas := [[1],[2,3],[4,5],[6]]:

> problema := [custos, min, etapas]: # segundo argumento = min ou max

> custoOptimo(problema);

12

> solucaoOptima(problema);

[1, 2, 4, 6]

D.2 Problema de investimento

O seguinte programa Maple permite a resolucao de um qualquer problema de investimento.

As definicoes Maple seguem as notacoes usadas em §1.5.2.

> restart:

> p := (m,x,P) -> select(i->i[1]=x and i[2]=m,P[m])[1][3]:

> l := (i,x,P) -> if i = 1 then

> p(1,x,P)

> else

> max(seq(p(i,y,P)+l(i-1,x-y,P),y=0..x))

> fi:

> lucroMaximo := (P,inv) -> l(nops(P),inv,P):

> q := (i,x,P) -> if i = 1 then

> x

> else

> op(select(y->evalb(p(i,y,P)+l(i-1,x-y,P)=l(i,x,P)),[$0..x]))

> fi:

> investimentoOptimo := proc(P,inv)

> local ni, R, i, x:

> ni := nops(P):

> R := NULL:

> x := inv:

> for i from ni to 1 by -1 do

> R := q(i,x,P),R:

> x := x - [R][1]:

> od:

Page 262: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

254 Computacao Algebrica em Maple: Programacao Dinamica

> return([R]);

> end proc:

Para o Problema 23 fazemos:

> meio1 := [[0,1,0.00],[1,1,1.20],[2,1,2.70],[3,1,4.20],[4,1,6.00],

> [5,1,7.65],[6,1,9.30],[7,1,11.06],[8,1,12.80],[9,1,14.40],[10,1,16.00]]:

> meio2 := [[0,2,0.00],[1,2,2.00],[2,2,2.80],[3,2,4.65],[4,2,6.60],

> [5,2,8.75],[6,2,10.80],[7,2,12.95],[8,2,15.20],[9,2,17.10],[10,2,19.00]]:

> meio3 := [[0,3,0.00],[1,3,1.30],[2,3,2.90],[3,3,4.95],[4,3,7.00],

> [5,3,8.50],[6,3,12.30],[7,3,15.05],[8,3,18.00],[9,3,20.70],[10,3,24.00]]:

> meio4 := [[0,4,0.00],[1,4,1.15],[2,4,2.50],[3,4,4.20],[4,4,6.00],[5,4,8.10],

> [6,4,10.50],[7,4,12.60],[8,4,15.20],[9,4,23.00],[10,4,23.50]]:

> problema := [meio1,meio2,meio3,meio4]:

> lucroMaximo(problema,5);

9.00

> investimentoOptimo(problema,5);

[0, 1, 4, 0]

> lucroMaximo(problema,10);

25.00

> investimentoOptimo(problema,10);

[0, 1, 0, 9]

Page 263: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

Apendice E

Computacao Algebrica em Maple:

Calculo das Variacoes

EulerLagrange constroi o sistema de equacoes de Euler-Lagrange (2.29), dado um La-

grangeano de varias variaveis dependentes e com derivadas de ordem superior.

Devolve:

- conjunto/vector de equacoes de Euler-Lagrange.

Forma de invocacao:

- EulerLagrange(L, t, x, x1, x2, ..., xm)

Parametros:

L - expressao do Lagrangeano;

t - nome da variavel independente;

x - nome, lista de nomes ou vector de nomes das variaveis dependentes;

xi - nome, lista de nomes ou vector de nomes das derivadas de ordem i das variaveis

dependentes;

EulerLagrange:=proc(L::algebraic,t::name,x0::name,list(name),

’Vector[column]’(name),x1::name,list(name),’Vector[column]’(name))

local xx,n,m,Lxi,xi,V,EL,i,j,k;

if nargs<4 then print(‘Numero de args insuficiente.‘); return;

elif not type([args[3..-1]],’list’(name),’listlist’(name),

’list’(’Vector[column]’(name)))

then print(‘Erro na lista das var. depend. ou suas derivadas.‘); return;

end if;

255

Page 264: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

256 Computacao Algebrica em Maple: Calculo das Variacoes

xx:=convert(x0,’list’)[]; n:=nops([xx]); m:=nargs-3;

xi:=[seq(Vector(convert(args[i],’list’)),i=3..m+3)];

V:=[0$n];

for i from 1 to m do

Lxi:=[seq(diff(L,k),k=convert(xi[i+1],’list’))]:

Lxi:=subs(map(k->k=k(t),[xx])[],Lxi);

Lxi:=subs(seq(seq(xi[k+1][j]=diff(xi[1][j](t),t$k),j=1..n),k=1..m),

Lxi);

V:=V+(-1)^i*map(diff,Lxi,t$i);

end do:

EL:=[seq(diff(L,k),k=convert(xi[1],’list’))];

EL:=subs(map(k->k=k(t),[xx])[],EL);

EL:=subs(seq(seq(xi[k+1][j]=diff(xi[1][j](t),t$k),j=1..n),k=1..m),EL);

EL:=EL+V;

if type(x0,’Vector’) then return convert(map(i->i=0,EL),’Vector[column]’);

elif type(x0,’list’) then return convert(map(i->i=0,EL),’set’);

else return op(EL)=0; end if;

end proc:

Para um exemplo do uso da funcao EulerLagrange acima definida veja-se, por exemplo,

a seccao 4.2.

Page 265: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

Apendice F

Computacao Algebrica em Maple:

Controlo Optimo

A funcao PMP, definida a seguir, usa o Maple na tentativa de encontrar as extremais de Pon-

tryagin para um problema de Controlo Optimo. Aplica o Princıpio do Maximo de Pontryagin

de acordo com o Teorema 56. A solucao e encontrada resolvendo, com a ajuda do comando

Maple dsolve, o sistema de equacoes diferenciais ordinarias que resulta da combinacao do

sistema Hamiltoniano com a condicao de estacionaridade.

Devolve:

- as extremais de Pontryagin. Usando opcoes apropriadas, devolve uma lista com

as equacoes que definem o sistema de controlo; o sistema adjunto; a condicao de

estacionaridade; ou o Hamiltoniano.

Forma de invocacao:

- PMP(L,phi, t, x, u, opcoes)

Parametros:

L - expressao do Lagrangeano;

phi - expressao ou lista de expressoes do vector velocidade que define o sistema de con-

trolo;

t - nome da variavel independente;

x - nome, lista de nomes ou vector de nomes das variaveis de estado;

u - nome, lista de nomes ou vector de nomes das variaveis de controlo;

257

Page 266: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

258 Computacao Algebrica em Maple: Controlo Optimo

opcoes - argumentos opcionais: evalH (com esta opcao o procedimento PMP devolve o Hamil-

toniano); evalSyst (devolve uma lista com o sistema de controlo, o sistema ad-

junto e a condicao de estacionaridade, dispostas por esta ordem); showt (mostra a

variavel independente); noabn (o problema nao admite extremais anormais – fixa

ψ0 = −1); explicit (opcao para o comando dsolve do Maple – respostas dadas,

sempre que possıvel, na forma explıcita).

PMP:=proc(L::algebraic, phi::algebraic, list(algebraic), t::name,

x0::name,list(name), u0::name,list(name))

local n, xup, i, vpsi, lpsi, Hamilt, lphi, sisH, aux, sol, F;

unassign(’psi’);

n:=nops(x0);

if n>1 then lphi:=phi; lpsi:=[seq(psi[i],i=1..n)] else lpsi:=[psi]; lphi:=[phi];

fi:

xup:=op(x0),op(u0),op(lpsi);

vpsi:=Vector[row](lpsi);

if member(’noabn’,[args]) then Hamilt:=-L+vpsi.Vector(lphi);

else Hamilt:=’psi_0’*L+vpsi.Vector(lphi); fi:

if member(’evalH’,[args]) then sol:=Hamilt;

else

sisH:=[seq(diff(Hamilt,i), i=[op(x0),op(lpsi)]), seq(diff(Hamilt,i)=0,i=u0)];

F:=subs(select(type,[args],‘=‘), ncf);

if F<>’ncf’ then

if n=1 then F:=[F]; fi:

sisH:=[op(sisH[1..n]-F), sisH[n+1..-1][]];

fi:

sisH:=subs(map(i->i=i(t),[xup])[], sisH);

aux:=[seq(diff(i(t),t), i=[-op(lpsi), op(x0)])];

sisH:=[seq(aux[i]=sisH[i], i=1..2*n), sisH[2*n+1..-1][]];

if member(’evalSyst’,[args]) then

sol:=[sisH[n+1..2*n][], sisH[1..n][], sisH[2*n+1..-1][]];

else if member(’explicit’,[args]) then sol:=dsolve(sisH, [xup(t)], ’explicit’);

else sol:=dsolve(sisH, [xup(t)]); fi:

fi:

sol:=subs(map(i->i(t)=i,[xup])[],[sol])[];

fi:

if member(’showt’,[args]) then sol:=subs(map(i->i=i(t),[xup])[],[sol])[]; fi;

sol:=subs(’psi_0’=’psi[0]’,select(type,[args],‘=‘),[sol])[];

return sol;

end proc:

Para um exemplo do uso da funcao PMP acima definida veja-se a seccao 4.3.

Page 267: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

259

Definimos agora, usando o sistema de computacao matematica Maple, novas funcoes que

permitem a determinacao automatica de simetrias e leis de conservacao no controlo optimo.

Os procedimentos SimetriaCO e NoetherCO sao de grande utilidade pratica como ilustrado,

por meio de exemplos concretos do controlo optimo e calculo das variacoes, em §3.8.3 e §3.8.4.

SimetriaCO determina os geradores infinitesimais de transformacoes de invariancia de prob-

lemas do controlo optimo sem restricoes nos valores das variaveis de controlo, de acordo

com a seccao 3.8.2.

Devolve: conjunto de geradores infinitesimais.

Forma de invocacao: SimetriaCO(L, ϕ, t, x, u, [all])

Parametros:

L - expressao do Lagrangeano;

ϕ - expressao ou lista de expressoes das equacoes diferenciais ordinarias que descrevem

o sistema de controlo;

t - nome da variavel independente;

x - nome ou lista de nomes das variaveis de estado;

u - nome ou lista de nomes das variaveis de controlo;

all - (parametro opcional) usa-se, como ultimo parametro, a palavra all para o caso

de se pretender que a solucao apresente todas as constantes de integracao; caso

contrario, constantes redundantes sao eliminadas.

SimetriaCO:=proc(L::algebraic, phi::algebraic, list(algebraic), t::name,

x0::name,list(name), u0::name,list(name))

local n, m, xx, i, vX, vPSI, vU, vv, lpsi, H, eqd, syseqd, sol, conjGerad, lphi;

unprotect(Psi); unassign(’T’); unassign(’X’); unassign(’U’); unassign(’Psi’);

unassign(’psi’);

n:=nops(x0); m:=nops(u0);

if n>1 then lphi:=phi; lpsi:=[seq(psi[i],i=1..n)] else lphi:=[phi]; lpsi:=[psi]; fi;

xx:=op(x0),op(u0),op(lpsi); vv:=Vector([seq(v||i,i=1..2*n+m)]);

if n>1 then vX:=Vector([seq(X[i](t,xx), i=1..n)]); else vX:=Vector([X(t,xx)]); fi;

if n>1 then vPSI:=Vector([seq(PSI[i](t,xx),i=1..n)]); else vPSI:=Vector([PSI(t,xx)]); fi;

if m>1 then vU:=Vector([seq(U[i](t,xx), i=1..m)]); else vU:=Vector([U(t,xx)]); fi;

H:=psi[0]*L+Vector[row](lphi).Vector(lpsi);

eqd:=diff(H,t)*T(t,xx) +Vector[row]([seq(diff(H,i),i=x0)]).vX+Vector[row]([seq(diff(H,i),

i=u0)]).vU+Vector[row]([seq(diff(H,xx[i]),i=n+m+1..n+m+n)]).vPSI

-LinearAlgebra[Transpose](vPSI).vv[1..n]-Vector[row](lpsi).(map(diff,vX,t)+Matrix(

[seq(map(diff,vX,i),i=xx)]).vv)+H*(diff(T(t,xx),t)+Vector[row]([seq(diff(T(t,xx),i),

i=xx)]).vv);

Page 268: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

260 Computacao Algebrica em Maple: Controlo Optimo

eqd:=expand(eqd); eqd:=collect(eqd, convert(vv,’list’), distributed);

syseqd:=coeffs(eqd, convert(vv,’list’)):

conjGerad:=T(t,xx)union convert(vX,’set’) union convert(vU,’set’)

union convert(vPSI,’set’);

sol:=pdsolve(syseqd, conjGerad, HINT=‘+‘);

sol:=subs(map(i->i=op(0,i),conjGerad),sol); sol:=subs(PSI=’Psi’,sol);

if nargs<6 or args[6]<>‘all‘ then sol:=reduzConst(sol); fi;

return sol;

end proc:

NoetherCO dados os geradores infinitesimais de transformacoes de invariancia, determina a

lei de conservacao do problema de controlo optimo associado, de acordo com o Teorema

de Noether (Teorema 88).

Devolve: lei de conservacao.

Forma de invocacao: NoetherCO(L, ϕ, t, x, u, S)

Parametros:

L - expressao do Lagrangeano;

ϕ - expressao ou lista de expressoes das equacoes diferenciais ordinarias que descrevem

o sistema de controlo;

t - nome da variavel independente;

x - nome ou lista de nomes das variaveis de estado;

u - nome ou lista de nomes das variaveis de controlo;

S - conjunto de geradores infinitesimais (output do procedimento SimetriaCO).

NoetherCO:=proc(L::algebraic, phi::algebraic, list(algebraic), t::name,

x0::name,list(name), u0::name,list(name), S::set)

local n, xx, i, vX, vpsi, lpsi, H, LC, lphi;

unassign(’T’); unassign(’X’); unassign(’psi’);

n:=nops(x0);

if n>1 then lphi:=phi; lpsi:=[seq(psi[i],i=1..n)] else lpsi:=[psi]; lphi:=[phi]; fi;

xx:=op(x0),op(u0),op(lpsi);

vpsi:=Vector[row](lpsi);

if n>1 then vX:=Vector([seq(X[i], i=1..n)]); else vX:=Vector([X]); fi;

H:=psi_0*L+vpsi.Vector(lphi);

LC:=vpsi.vX-H*T=const;

LC:=eval(LC, S);

LC:=subs(map(i->i=i(t),[xx])[],LC); LC:=subs(psi_0=psi[0],LC);

return LC;

end proc:

Page 269: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

Bibliografia

[1] P. Adams, K. Smith, R. Vybormy. Introduction to Mathematics with Maple, World Sci-

entific, 2004.

[2] A. Agrachev, B. Bonnard, M. Chyba, and I. Kupka. Sub-Riemannian sphere in Martinet

flat case, ESAIM Control Optim. Calc. Var., 2:377–448 (electronic), 1997.

[3] Andrei A. Agrachev, Yuri L. Sachkov. Control theory from the geometric viewpoint, Ency-

clopaedia of Mathematical Sciences, 87. Control Theory and Optimization, II. Springer-

Verlag, Berlin, 2004.

[4] I. M. Azevedo do Amaral. Note sur la solution finie d’un probleme de Newton, Ann. Ac.

Pol. Porto, Vol. 8, pp. 207–209, 1913.

[5] David H. Bailey and Jonathan M. Borwein, Experimental Mathematics: Examples, Meth-

ods and Implications, Notices of the AMS, Vol. 52, No. 5, May 2005, pp. 502–514.

[6] N. Bebiano. Matematica ou mesas, cadeiras e canecas de cerveja, Gradiva, Lisboa,

Fevereiro 2000.

[7] B. Bonnard, M. Chyba, and E. Trelat. Sub-Riemannian geometry, one-parameter defor-

mation of the Martinet flat case, J. Dynam. Control Systems, 4(1):59–76, 1998.

[8] Bernard Dacorogna. Introduction to the Calculus of Variations, Imperial College Press,

2004.

[9] F. S. David. O Calculo Variacional Classico e Algumas das suas Aplicacoes a Fısica

Matematica, Gabinete de Planeamento de Centros Produtores, Electricidade de Portugal

(EDP), 1986.

[10] L. N. de Andrade. Introducao a Computacao Algebrica com o Maple, IMPA, editora da

Sociedade Brasileira de Matematica, 2004.

[11] F. R. Dias Agudo. Analise Real, Volume III, Escolar Editora, 1992.

261

Page 270: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

262 BIBLIOGRAFIA

[12] H. Gardner Moyer. Deterministic Optimal Control – An Introduction for Scientists, Traf-

ford, 2004.

[13] Paulo D. F. Gouveia, Delfim F. M. Torres. Computacao Algebrica no Calculo das

Variacoes: determinacao de simetrias e leis de conservacao, “Tendencias em Matematica

Aplicada e Computacional” (TEMA – revista da Sociedade Brasileira de Matematica

Aplicada e Computacional), Vol. 6, 2005 (in press).

[14] Paulo D. F. Gouveia, Delfim F. M. Torres. Automatic Computation of Conservation Laws

in the Calculus of Variations and Optimal Control, Computational Methods in Applied

Mathematics (CMAM), Vol.5, No.4, 2005 (in press).

[15] Jurgen Jost, Xianqing Li-Jost. Calculus of variations, Cambridge Univ. Press, 1998.

[16] Kenneth Lange. Optimization, Springer NY, 2004.

[17] Leonid P. Lebedev, Michael J. Cloud. The Calculus of Variations and Functional Analysis

– with Optimal Control and Applications in Mechanics, World Scientific, 2003.

[18] Antonio Leitao. Calculo Variacional e Controle Otimo, Publicacoes Matematicas, Insti-

tuto de Matematica Pura e Aplicada (IMPA), 2001.

[19] Daniel Leonard, Ngo van Long. Optimal Control Theory and Static Optimization in

Economics, Cambridge University Press, 1998.

[20] J. D. Logan. Applied Mathematics – A Contemporary Approach, John Wiley & Sons,

New York, 1987.

[21] Charles R. MacCluer, Calculus of Variations – Mechanics, Control, and Other Applica-

tions, Pearson Prentice Hall, 2005.

[22] Jack W. Macki, Aaron Strauss. Introduction to optimal control theory, Undergraduate

Texts in Mathematics. Springer-Verlag, New York-Berlin, 1982.

[23] Nuno M. M. Maia. Introducao a Dinamica Analıtica, IST Press, Coleccao Ensino da

Ciencia e Tecnologia, 2000.

[24] Jose Luiz Pastore Mello. A Rampa de Skate do Tempo Mınimo, Educacao e Matematica

– Revista da Associacao de Professores de Matematica, Setembro-Outubro 2005, pp. 27–

31.

[25] Mahmut Parlar. Interactive operations research with Maple. Methods and models,

Birkhauser Boston, Inc., Boston, MA, 2000.

[26] Pablo Pedregal. Introduction to Optimization, Springer, 2004.

Page 271: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

BIBLIOGRAFIA 263

[27] Ines L. Pina. Programacao Dinamica com Maple, Monografia (orientador Delfim F. M.

Torres), Seminario de Ensino de Matematica, 2004/2005, Outubro 2005.

[28] L. S. Pontryagin, V. G. Boltyanskii, R. V. Gamkrelidze, E. F. Mishchenko. The mathe-

matical theory of optimal processes, Interscience Publishers John Wiley & Sons, Inc. New

York-London, 1962.

[29] M. C. Povoas. Metodos Matematicos da Fısica – Uma Introducao, Textos de Matematica,

Volume 17, Departamento de Matematica, Faculdade de Ciencias da Universidade de

Lisboa, 2002.

[30] D. Richards. Advanced Mathematical Methods With Maple, Cambridge University Press,

2002.

[31] P. Rouchon. Flatness based design, Lecture notes, Summer School on Mathematical

Control Theory SMR1327/17, The Abdus Salam International Centre for Theoretical

Physics, Trieste, Italy, September 2001.

[32] Jeffrey Shallit, Mathematics by Experiment and Experimentation in Mathematics, No-

tices of the AMS, Vol. 52, No. 8, September 2005, pp. 863–865.

[33] Cristiana J. Silva. Abordagens do Calculo das Variacoes e Controlo Optimo ao Problema

de Newton da Resistencia Mınima, dissertacao de Mestrado (orientador: Delfim F. M.

Torres), Mestrado em Matematica 2003-2005, Universidade de Aveiro, 2005.

[34] Cristiana J. Silva, Delfim F. M. Torres. On the Classical Newton’s Problem of Minimal

Resistance, Third Junior European Meeting on Control, Optimization, and Computation,

University of Aveiro, 6-8 September 2004, Portugal. M. Guerra and D.F.M. Torres eds.,

Research report CM05/I-04, Dep. Mathematics, Univ. Aveiro, February 2005, pp. 125–

133.

[35] Gueorgui Smirnov, Vladimir Bushenkov. Curso de Optimizacao – Programacao

Matematica, Calculo de Variacoes, Controlo Optimo, Escolar Editora, 2005.

[36] Moshe Sniedovich. Dynamic programming, Monographs and Textbooks in Pure and Ap-

plied Mathematics, 154. Marcel Dekker, Inc., New York, 1992.

[37] Joao Luis Soares, Optimizacao Matematica, Gazeta de Matematica, Julho 2005, no 149,

pp. 13–17. (Este texto esta disponıvel online em http://www.mat.uc.pt/~jsoares/)

[38] H. J. Sussmann, G. Q. Tang. Shortest paths for the Reeds-Shepp car: A worked out

example of the use of geometric techniques in nonlinear optimal control, Technical Report

91-10, Rutgers Center for Systems and Control, September 1991.

Page 272: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

264 BIBLIOGRAFIA

[39] H. J. Sussmann, J. C. Willems. 300 Anos de Controlo Optimal: da Braquistocrona ao

Princıpio do Maximo, Boletim da SPM, 2001, 45, pp. 21–54.

[40] F. Vivaldi. Experimental mathematics with Maple, Chapman & Hall/CRC Mathematics,

Chapman & Hall/CRC, Boca Raton, FL, 2001.

[41] Vladimir M. Tihomirov. Extremal Problems – Past and Present, The Teaching of Math-

ematics, 2002, Vol. V, 2, pp. 59–69.

[42] Bruce van Brunt. The Calculus of Variations, Springer-Verlag New York, 2004.

Page 273: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

Indice

n-esima aproximacao da solucao pelo metodo

de Ritz, 44

Maple, 5, 19, 24, 40, 41, 46, 50, 64, 80, 89, 91,

98, 99, 112–115, 117, 119, 121, 123–

125, 128, 135, 138, 144, 147, 155, 251,

259

accao, 110

admissıvel, 100, 104

algoritmo, 7, 44, 79, 112

anormal, 12, 13, 17, 57, 58, 75, 78, 79

astrofısica, 131

autonomo, 41, 43, 103, 107, 110, 116, 122

Bellman, 18, 84, 135

Bernoulli, 36

Bolza, 100, 101

braquistocrona, 35, 36, 42, 43

caracterıstica, 9, 246

carro, 71, 114

caso

flat, 116

nao flat, 116

caso anormal, 12, 13, 17, 75, 79

caso normal, 13, 55, 75, 77, 79, 82, 107

catenaria, 36

chattering, 74

Chyba, 261

Ciencias do Espaco, 69, 99

closed loop, 148

condicao de estacionaridade, 76, 79, 87, 112,

119, 122, 126, 132, 139, 257

condicao de Legendre, 66

condicao de Legendre fortalecida, 68

condicao de mınimo, 86–88, 92

condicao de maximo, 86, 92, 139

Condicao necessaria de 2a ordem, 66

condicao necessaria de DuBois-Reymond, 79

condicao necessaria de Euler-Lagrange, 38

condicao necessaria de optimalidade, 110, 115

condicao necessaria de Weierstrass, 87

Condicao suficiente de Jacobi, 68

condicao suficiente de optimalidade, 82

condicoes complementares, 15

condicoes de fronteira, 38, 40, 51, 53, 55, 57,

70, 76, 100, 103, 136, 138

condicoes de transversalidade, 38, 39, 52, 76,

77

condicao necessaria de DuBois-Reymond, 77,

110

condicao necessaria de Erdmann, 110, 115

conservacao da massa, 109

conservacao da quantidade de movimento, 41,

110

conservacao de carga electrica, 109

conservacao de energia, 41, 110

conservativo, 109

controlo, 100, 106

controlo extremal, 81, 88, 94

controlo minimizante, 100

Controlo Optimo, 72, 100, 110, 111, 135

controlo optimo, 122

controlos, 18, 69, 71

controlos bang-bang, 74

265

Page 274: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

266 INDICE

controlos extremais, 79

convexidade, 82

curva de Newton, 95, 97

custo, 105

Calculo das Variacoes, 110, 135

calculo das variacoes, 110

da Vinci, 109

decisao, 18

Dido, 54

dinamica, 69, 100

distancia mınima entre dois pontos, 35, 41

drift, 122

DuBois-Reymond, 77, 79, 110

Economia, 110, 135

Emden-Fowler, 131, 132

Emmy Noether, 110

energia cinetica, 36

energia potencial, 36, 37

Engenharia, 110

equacao de controlo, 92

equacao de estado, 70

equacao de Euler-Lagrange, 38, 39, 76, 77,

126, 137

equacao de Euler-Lagrange de ordem supe-

rior, 53, 78, 79

equacao de Euler-Poisson, 53, 78

equacao de Hamilton-Jacobi-Bellman, 86, 107,

135, 141, 142, 144, 148, 149

equacao de Jacobi, 68

equacao diferencial de Newton, 94, 97

equacao diferencial de Thomas-Fermi, 133

equacoes de Euler-Lagrange, 110, 128

equacoes de Hamilton-Jacobi, 85

equacoes diferenciais, 109, 110

equacoes de Euler-Lagrange, 109, 110

Erdmann, 110, 115

estado, 100, 102–104, 106

estados, 18

etapa, 18

Euler, 38, 109, 110, 135

extr, 9

extremais, 40, 41, 52, 66, 76, 79, 110, 114, 122

extremais anormais, 76, 77, 80, 87, 93

extremais de Pontryagin, 86, 90, 93, 94, 107,

108, 112, 114, 115, 117, 140, 257

extremais normais, 82

extremais rıgidas, 56–59

extremal normal, 76, 78

Fısica, 109, 110

famılia de transformacoes parametricas, 110,

120

famılia de transformacoes uni-parametrica, 110

Fermat, 2, 3, 50

flat, 116, 117

funcao de Lagrange, 8, 9, 11, 15, 16, 55

funcao valor, 84

funcoes base, 44, 46

funcional custo, 105

funcional de Emden-Fowler, 132

Galileu, 109

Gamkrelidze, 106

geometria sub-Riemanniana, 116, 117

geradores infinitesimais, 111–113, 126, 132,

133, 259, 260

Graves, 76

grupo uni-parametrico de transformacoes, 111–

114, 119

grafico com superfıcie de revolucao mınima,

35, 42

Hamilton, 75

Hamiltoniano, 41, 75, 76, 79, 86, 88, 93, 111,

116, 122, 138, 257

Hestenes, 75, 76

homogeneidade do tempo, 110

identidade de Jacobi, 108, 109

Page 275: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

INDICE 267

integral de energia, 109

invariante, 111, 112, 114, 116, 117

invariante no tempo, 103, 110

invariantes, 110

invariancia, 110, 111, 113, 120–123

invariancia no tempo, 110

invariancia rotacional, 110

invariancia translacional, 110

Jacobi, 67, 68, 108

Karush-Kuhn-Tucker, 12, 15, 16, 90

Kepler, 109, 128, 129

Klein, 110

Lagrange, 12, 53, 101, 105, 109, 110

Lagrangeano, 41, 42, 49, 52, 61, 82, 100, 104,

105, 107, 109, 110, 123, 255, 257, 259,

260

Legendre, 66, 67

lei das areas, 109

lei de conservacao, 94, 106–110, 112–115, 117,

118, 120, 121, 123–132, 134, 260

lei de conservacao geral, 114

lei de conservacao normal, 107

lei de inercia, 109

lei do rendimento/riqueza, 110

Leibniz, 2

leis de conservacao, 109, 110, 122, 123

leis de conservacao normais, 107

leis de conservacao, 122, 123

Lema Fundamental do Calculo das Variacoes,

50, 51, 53, 54, 57, 58

Leonardo da Vinci, 109

Leonhard Euler, 109

Lie, 110

mınimo global, 1, 7

mınimo local, 1, 2, 7

malha aberta, 148

malha fechada, 148, 149

Martinet, 116, 117

Mayer, 101

Mecanica, 35, 41, 125

mecanica, 110

mecanica classica, 110

mecanica quantica, 110

meio raro, 72

minimizante, 100

minimizante anormal, 11–13, 57

minimizante global, 2, 7, 82, 94

minimizante local, 7

minimizante normal, 12, 57

minimizantes anormais, 57, 58

momento angular, 110

multiplicador de Lagrange, 11, 12

multiplicadores, 78, 79

mısseis, 71, 99

metodo de Poisson, 107

metodo de Ritz, 44, 45

metodo dos multiplicadores de Lagrange, 8,

12–14, 55, 56, 147

Newton, 2, 70–72, 87, 92, 133

Noether, 109, 110, 112–114, 116, 119, 121,

122, 126, 132, 133, 260

normal, 12, 13, 55, 57, 75–79, 81, 107, 139

nao

flat, 116, 117

plano, 116

open loop, 148

optica geometrica, 110

Optimizacao Dinamica, 95, 135, 143

Oscilador Harmonico com Amortecimento, 133,

134

parentesis de Poisson, 107–109

Pascal, 61

perpetuum mobile, 109

Page 276: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

268 INDICE

plano, 116

Poisson, 107, 109

ponto conjugado, 68

Pontryagin, 74, 86, 92, 112, 114, 117, 129,

135, 139, 140, 257

primeiro integral, 106, 108, 109, 115, 116, 120,

121, 124

primeiro integral normal, 107

primeiros integrais, 109

princıpio, 110

Princıpio de Bellman, 18, 84

Princıpio de Optimalidade, 18

Princıpio do Maximo de Pontryagin, 74, 76,

84, 86, 87, 90, 92, 139, 257

princıpio do maximo fraco, 82

Princıpio de Bellman, 135

Principia Mathematica, 92, 95

problema basico do Calculo das Variacoes, 37

problema de Bolza, 100

problema de braquistocrona, 36, 42, 43

problema de Dido, 37, 54, 58

problema de Euclides, 2

problema de investimento, 18, 25

Problema de Kepler, 128

problema de Lagrange, 101

problema de Martinet, 116, 117

problema de Mayer, 100

Problema de Newton da Resistencia mınima,

71, 72, 92

problema de parar um pendulo, 70, 80

problema de percurso, 18, 24

problema do Calculo das Variacoes com derivadas

de ordem superior, 52, 72

problema fundamental do Calculo das Variacoes,

43, 61, 72, 76, 77, 87, 107

problema fundamental do calculo das variacoes,

110

problema isoperimetrico, 57, 73, 74

problema parametrico, 104

problemas isoperimetricos, 36, 37, 54

processos, 70

Programacao Dinamica, 18, 23, 26, 84, 135,

251

Programacao Matematica, 15, 17

Programacao Matematica nao-linear, 38, 55,

87, 90

quantidades conservadas, 110

rank, 9, 246

relatividade, 110

restricao isoperimetrica, 55, 57, 59

restricoes, 8

restricoes isoperimetricas, 103

retrocesso, 19

Ritz, 43, 44

rumo, 122

satelites artificiais, 71, 99

segunda condicao de Erdmann, 110, 115

segunda lei de Newton, 70, 87, 133

simetria, 111–113, 121, 132

sistema adjunto, 76–78, 86, 88, 92, 93, 116,

122, 126, 139, 257

sistema completo de funcoes, 45

Sistema de Computacao Algebrica, 5, 40, 41,

46, 80, 91, 117, 124, 135, 144, 147,

155, 251

sistema de controlo, 70, 76, 82, 86, 100, 114,

122–124, 139, 257

sistema de controlo linear, 82

sistema de equacoes de Ritz da n-esima aprox-

imacao, 46, 49

sistema Hamiltoniano, 76, 79, 86, 92, 108,

112, 257

Stagecoach Problem, 18

Taylor, 3

tempo, 100, 102, 119

Page 277: Introduc¸˜ao `a Optimizac¸˜ao Dinˆamica - Arquivo Escolar · condic¸o˜es para extremos de func¸o˜es de uma varia´vel decorrem do Teorema de Taylor. Teorema 5 (Condic¸a˜o

INDICE 269

tempo mınimo, 36, 70, 71, 87, 90, 105, 106,

123, 124

Teorema da Funcao Implıcita, 8, 12

Teorema de Fermat, 2

Teorema de Noether, 110–114, 116, 119, 121,

122, 126, 132, 133, 260

Teorema de Taylor, 3

teoria

electromagnetica, 110

electrica, 110

geral da relatividade, 110

gravitacional, 110

Thomas-Fermi, 132, 133

trajectoria de estado, 100, 102, 104, 106

trajectorias extremais, 79

trajectorias minimizantes, 100

transformacao uni-parametrica, 120

transformacoes uni-parametricas, 122

transformacao do tempo, 116

triangulo de Pascal, 61

variaveis de controlo, 257, 259, 260

variaveis de estado, 18, 69, 79, 102–104, 257,

259, 260

variavel tempo, 119

vector velocidade, 107, 257

Weierstrass, 15, 45, 87