You are on page 1of 225

Otimiza c ao e Processos Estoc asticos Aplicados ` a Economia e Finan cas

Compilado em 07 de Setembro de 2007.

Julio Michael Stern 1 Carlos Alberto de Bragan ca Pereira Celma de Oliveira Ribeiro 3 Cibele Dunder 4 Fabio Nakano 5 Marcelo Lauretto 6

Julio M. Stern (jstern@ime.usp.br) e Ph.D. em Pesquisa Operacional e Engenharia Industrial pela Universidade de Cornell (Ithaca, NY, USA). Atualmente e Professor Livre Docente do Departamento de Ci encia da Computa c ao do Instituto de Matem atica e Estat stica da Universidade de S ao Paulo, MAC-IME-USP, e consultor na area de Pesquisa Operacional. 2 Carlos Alberto de Bragan ca Pereira (cpereira@ime.usp.br) e Ph.D. em Estat stica Pela Universidade da Florida, (Talahasse, FL, EUA), Professor Titular do Departamento de Estat stica do IME-USP, e consultor na area de Pesquisa Operacional.. 3 Celma de O. Ribeiro (celma@ime.usp.br) e Doutora em Engenharia de Produ c ao pela Escola docente do Departamento de Engenharia de Produ Polit ecnica da USP (EPUSP). E c ao da EPUSP, atuando em areas ligadas a otimiza c ao e nan cas. 4 Cibele Dunder (dunder@ime.usp.br) e Mestre em Matem atica Aplicada pelo Instituto de Matem atica da USP, e consultora em areas ligadas a otimiza c ao e nan cas. 5 Fabio Nakano (nakano@ime.usp.br) e Mestre em Computa c ao pelo Instituto de Matem atica da USP, e s ocio da Supremum Assessoria e Consultoria, que atua em areas ligadas a Engenharia de Sistemas e Pesquisa Operacional. 6 Marcelo Lauretto (lauretto@ime.usp.br) e Mestre em Computa c ao pelo Instituto de Matem atica da USP, e s ocio da Supremum Assessoria e Consultoria, que atua em areas ligadas a Engenharia de Sistemas e Pesquisa Operacional.

Conte udo
Pref acio 1 Programa c ao Linear 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 9 11

Nota ca o Matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Convexidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Poliedros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 M etodo Simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Dualidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Problema Linear Param etrico . . . . . . . . . . . . . . . . . . . . . . . . . 22 Modelo de Sharpe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Fluxos em Redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 M etodos de Decomposi ca o . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

1.10 Simplex Dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.11 Programa ca o Inteira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.12 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2 Programa c ao N ao Linear 2.1 2.2 2.3 2.4 35

GRG: Gradiente Reduzido Generalizado . . . . . . . . . . . . . . . . . . . 35 Busca Linear e Converg encia Local . . . . . . . . . . . . . . . . . . . . . . 37 Partan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Converg encia Global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 47

3 Programa c ao Quadr atica 3.1

Multiplicadores de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3

4 3.2 3.3 3.4 3.5

Conte udo Condi ca o de Otimalidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Complementaridade Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Problema Quadr atico Param etrico . . . . . . . . . . . . . . . . . . . . . . . 53 Implementa c ao Computacional . . . . . . . . . . . . . . . . . . . . . . . . 54 57

4 Modelo de Markowitz 4.1 4.2 4.3 4.4 4.5 4.6

An alise de M edia e Vari ancia . . . . . . . . . . . . . . . . . . . . . . . . . 57 Distribui ca o das Taxas de Retorno . . . . . . . . . . . . . . . . . . . . . . 58 Fronteira Eciente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Modelos de Tobin e Brennan . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Modelos de Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Modelos de Equil brio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 67

5 Programa c ao Din amica 5.1 5.2 5.3 5.4 5.5 5.6 5.7

Conceitos B asicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Dist ancia M nima em um Grafo . . . . . . . . . . . . . . . . . . . . . . . . 70 Cadeias de Markov e Custo Esperado . . . . . . . . . . . . . . . . . . . . . 73 Hedging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Custo Descontado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Precica ca o de Contratos Derivativos . . . . . . . . . . . . . . . . . . . . . 77 Pol ticas de Scarf (s,S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 83

6 Contole e Estima c ao LQG 6.1 6.2 6.3 6.4 6.5 6.6 7

Evolu c ao Linear com Custo Quadr atico . . . . . . . . . . . . . . . . . . . . 83 Sistemas Homog eneos no Tempo . . . . . . . . . . . . . . . . . . . . . . . . 86 Evolu c ao Linear com Ru do Gaussiano . . . . . . . . . . . . . . . . . . . . 87 Princ pio de Equival encia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Generaliza c oes do Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . 91 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 95

Arvores de Decis ao 7.1

Formula ca o do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

Conte udo 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9

Constru ca o da Arvore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Convic c ao e Fun ca o de Perda . . . . . . . . . . . . . . . . . . . . . . . . . 96 Procedimento de Discretiza ca o . . . . . . . . . . . . . . . . . . . . . . . . . 97 Ramica ca o e Reagrupamento . . . . . . . . . . . . . . . . . . . . . . . . . 98 Implementa c ao Computacional . . . . . . . . . . . . . . . . . . . . . . . . 99

Estrat egias de Opera ca o no Mercado . . . . . . . . . . . . . . . . . . . . . 99 Testes Num ericos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Conclus oes e Futuras Pesquisas . . . . . . . . . . . . . . . . . . . . . . . . 104 107

8 Fundos de Pens ao 8.1 8.2 8.3 8.4

Passivo Atuarial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Grafos e Formula c ao Recursiva . . . . . . . . . . . . . . . . . . . . . . . . 108 T abuas Biom etricas e Outros Ajustes . . . . . . . . . . . . . . . . . . . . . 111 Programa c ao Estoc astica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 115

9 Portf olios Mistos Contendo Op c oes 9.1 9.2 9.3

O mercado de op co es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Um Exemplo de Portflio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Esperan ca e Covari ancia do Retorno de Op co es . . . . . . . . . . . . . . . 121 135

A Matlab

A.1 Hist orico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 A.2 O Ambiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 A.3 Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 A.4 Controle de Fluxo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 A.5 Scripts e Fun c oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 B Manual do Critical-Point for Windows 141

B.1 Instala ca o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 B.2 Gera ca o da Fronteira Eciente . . . . . . . . . . . . . . . . . . . . . . . . . 142 B.3 Descri ca o do modelo e linguagem MDL . . . . . . . . . . . . . . . . . . . . 144 B.4 Modelo de Markowitz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

Conte udo B.5 Filtro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 B.6 Derivativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 B.7 Arquivos de Dados e Matriciais . . . . . . . . . . . . . . . . . . . . . . . . 156 B.8 Restri co es l ogicas sobre conjuntos . . . . . . . . . . . . . . . . . . . . . . . 158 B.9 Depura ca o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 B.10 Short Selling e Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

C Algebra Linear Computacional

161

C.1 Nota ca o e Opera co es B asicas . . . . . . . . . . . . . . . . . . . . . . . . . . 161 C.2 Espa cos Vetoriais com Produto Interno . . . . . . . . . . . . . . . . . . . . 162 C.3 Projetores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 C.4 Matrizes Ortogonais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 C.5 Fatora c ao QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 C.5.1 M nimos Quadrados . . . . . . . . . . . . . . . . . . . . . . . . . . 166 C.6 Fatora c oes LU e Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 C.6.1 Programa c ao Quadr atica . . . . . . . . . . . . . . . . . . . . . . . . 167 C.7 Fatora c ao SVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 C.8 Matrizes Complexas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 C.9 Probabilidades em Sub-Espa cos Lineares . . . . . . . . . . . . . . . . . . . 170 C.10 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 D Probabilidade 173

D.1 Interpreta ca o Freq uentista . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 D.2 Infer encia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 D.3 Esperan ca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 D.4 Vari ancia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 D.5 Espa cos de probabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 D.6 Utilidade e Decis oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 D.7 Modelos Lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 D.8 Interpreta ca o Bayesiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 D.9 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

7 E Programas 189

E.1 bigode.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 E.2 simplex.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 E.3 mindist.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 E.4 Fatora c ao QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 E.5 depvital.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 E.6 GRG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Bibliograa 215

Pref acio
Este e o livro texto do curso Otimiza c ao e Processos Estoc asticos Aplicados ` a Economia e Finan cas. Parte deste material e usado no curso M etodos de Otimiza c ao em Finan cas, ministrado regularmente no Instituto de Matem atica e Estat stica da Universidade de S ao Paulo, desde 1993. Este cursi foi tamb em oferecido no LI Semin ario Brasileiro de An alise, realizado em Maio de 2000, em Florian opolis, Santa Catarina, e no XIX Congresso Nacional de Matem atica Aplicada e Computacional, realizado pela SBMAC em 1996, em Goi ania. Parte deste material foi tamb em utilizado em cursos oferecidos na FIPE - Funda ca o Instituto de Pesquisas Econ omicas da FEA-USP - Faculdade de Economia, Administra ca o e Contabilidade, e no ILA - Instituto de Log stica da Aeron autica. Parte deste texto e o software que o acompanha, Critical-Point c , foi desenvolvido no NOPEF-USP - N ucleo de Apoio a ` Pesquisa em Otimiza ca o e Processos Estoc asticos Aplicados ` a Economia e Finan cas, com patroc nio da BM&F - Bolsa de Mercadorias e de Futuros de S ao Paulo. Os direitos autorais, do texto e do software, pertencem aos proibida a reprodu respectivos autores. E ca o do texto e do software que o acompanha, sem a permiss ao do primeiro autor. E proibido o uso de trechos do c odigo objeto, a desassemblagem, decompila ca o, ou engenharia reversa do software. A vers ao estudantil do software, Student Critical Point destina-se exclusivamente para ns educacionais, sendo vedado seu uso em apica co es com ns lucrativos. Os cap tulos 1 e 2 prov em uma introdu c ao b asica a programa c ao Linera e N ao Linear. O cap tulos 3 e 4 estudam em detalhe o problema de programa c ao quadr atica e sua aplica ca o a ` teoria matem atica da forma ca o de portf olios. Os modelos abordados baseiamse na caracteriza ca o da fronteira eciente, do modelo de Markowitz e de suas propriedades. N ao h a maneira de computar a fronteira eciente e deduzir suas caracter sticas sem compreender um dos v arios algoritmos de programa c ao quadr atica param etrica. No cap tulo 3 apresentamos um algoritmo did atico, fundamentado por alguns fatos da teoria de programa ca o linear, apresentados no cap tulo 1. Este algoritmo, uma vers ao modicada de algoritmos de Cottle, Dantzig, Lemke e Wolfe, e muito mais sint etico do que o algoritmo originalmente apresentado por Markowitz, e a demonstra c ao de sua corretude muito mais f acil e curta. Todos os fatos deduzidos nestes cap tulos s ao reapresentados (sem demonstra ca o) quando necess arios aos modelos nanceiros dos cap tulos subseq uentes; um leitor menos rigoroso pode omitir estas demonstra co es numa primeira leitura. O cap tulo 4 apre9

10

Pref acio

senta a pedra fundamental de toda a moderna teoria de nan cas, o modelo de Markowitz, e uma s erie de modelos derivados, como os modelos de Tobin, Brennan e modelos de ndices, bem como modelos de equil brio, como CAPM e APT. Os cap tulos 5 e 6 exp oem os princ pios b asicos de Progama c ao Din amica. O cap tulo 5, inclui Cadeias de Markov, nos d a uma alternativa simples para modelagem de problemas multiper odo, exemplicadas pela precica ca o de contratos de derivativos e pol ticas de Scarf. O cap tulo 6 expande estes conceitos introduzindo no co es da teoria de Estima c ao e Controle. O cap tulo 7 discute alguns m etodos de Intelig encia Articial, destacando a rvores de decis ao. O cap tulo 8 aborda fundos de pens ao, an alise atuarial, programa ca o estoc astica e outros modelos para gest ao dos ativos de fundos com objetivos de longo prazo. Os ap endices A e B s ao manuais resumidos da linguagem Matlab e do software CriticalPoint, que s ao amplamente utilizados no curso. O ap endice C apresenta resumidamente alguns conceitos de Algebra Linear Computacional, o ap endice D conceitos de probabilidade, estat stica e teoria da utilidade, e o ap endice E alguns c odigos fonte de programas. Material suplementar est aa ` disposi ca o no site www.ime.usp.br/ jstern

Cap tulo 1 Programa c ao Linear


No processo de modelagem de sistemas, invariavelmente deparamos com duas quest oes: se o modelo se ajusta adequadamente ao problema sendo analisado e se o modelo proposto e implement avel sob o ponto de vista computacional. Algumas classes de modelos conseguem atingir um relativo equil brio entre estes dois aspectos, sendo aplic aveis a uma extensa categoria de problemas reais, facilmente implement aveis e fornecendo solu c oes robustas. Programa ca o linear insere-se nesta categoria. Em um problema de programa c ao linear procura-se encontrar uma solu c ao que maximize ou minimize um funcional linear, dentro de um conjunto descrito a partir de restri co es lineares. In umeros problemas podem ser modelados desta forma, tanto em nan cas quanto em engenharia, mas essencialmente a principal vantagem destes modelos reside nas propriedades decorrentes da sua estrutura, que possibilitam a constru ca o de algoritmos bastante simples e ecientes. Iremos explorar algumas caracter sticas dos problemas de programa c ao linear, apresentando um algoritmo para sua resolu c ao denominado simplex. Este algoritmo destaca-se tanto por sua simplicidade quanto ampla utiliza c ao. Estudaremos ainda o conceito de dualidade e procuraremos apresentar um exemplo de aplica c ao em nan cas.

1.1

Nota c ao Matricial

Inicialmente denimos algumas nota c oes matriciais. O operador r : s : t, l e-se - de r at et com passo s, indica o vetor [r, r + s, r + 2s, . . . t] no correspondente dom nio de ncices. r:t e uma abrevia c ao de r : 1 : t. Usualmente escrevemos uma matriz, A, como o ndice de j linha subscrito, e o ndice de coluna superscrito. Assim, Ai e o elemento na i- esima linha e j - esima coluna da matriz A. Vetores de ndices podem ser usados para montar uma matriz extraindo de uma matriz maior um determinado sub-conjunto de linhas e colunas. n/2:n e o bloco nordeste, i.e. o bloco com as primeiras linhas e ultimas Por exemplo A1:m/2 11

12

Cap tulo 1. Programa c ao Linear

colunas, de A. Alternativamente, podemos escrever uma matriz com ndices de linha e coluna entre parenteses, i.e. podemos escrever o bloco nordeste como A(1 : m/2, n/2 : n). Exemplo: Dadas as matrizes 11 12 13 A = 21 22 23 , r = 31 32 33 As r =

1 3

, s=

3 1 2

13 11 12 33 31 32

V >0 e uma matriz positiva denida. O operador diag, quando aplicado a uma matriz quadrada, extrai o vetor na diagonal principal, e quando aplicado a um vetor, produz a matriz diagonal correspondente. 1 a1 0 . . . 0 A1 0 a2 . . . 0 A2 2 diag(A) = . , diag(a) = . . . . . . . . . . . . . . An n 0 0 . . . an

Uma lista de matrizes pode ser indexada por ndices subscritos ou superscritos a ` esquerda. No caso de matrizes blocadas, estes indices a ` esquerda indicam os blocos de linhas (subscritos) e colunas (superscritos), como por exemplo na matriz 1 s 2 1A 1A . . . 1A 1A 2A . . . s A 2 2 2 A= . . . . . . . . . . . .
1 rA 2 rA

...

s rA

j Assim, s e o elemento na i- esima linha e j - esima coluna do bloco situado no r- esimo r Ai bloco de linhas e s- esimo bloco de colunas da matriz A. Alternativamente, podemos j escrever os ndices de bloco entre chaves, i.e. podemos escrever s r Ai como A{r, s}(i, j ).

O operador Vec empilha as colunas da matriz argumento em um u nico vetor. O produto de Kronecker (ou produto direto, ou tensorial), , e denido como segue: 1 1 u A1 B A 2 . . . An 1B 1B u2 A1 B A2 B . . . An B 2 2 2 1: n Vec(U ) = . , A B = . . . . . . . . . . . . . . un
2 n A1 m B Am B . . . Am B

Uma matriz de permuta c ao e uma matriz obtida pela permuta ca o de linhas ou colunas na matriz identidade. Realizar, na matriz identidade, uma dada permuta ca o de linhas, nos

1.2. Convexidade

13

fornece a correspondente matriz de permuta c ao de linhas; Analogamente, uma permuta c ao de colunas da identidade fornece a correspondente matriz de permuta ca o de colunas. Dada uma (matriz de) permuta ca o de linhas, P e uma (matriz de) permuta ca o de colunas, Q, o correspondente vetor de ndices de linha (coluna) permutados s ao 1 2 p = (P . ) . . m q= 1 2 ... n Q

Realizar uma permuta ca o de linhas (de colunas) numa matriz qualquer A, de modo , equivale a multiplic a obter a matriz permutada A a-la, ` a esquerda (` a direita), pela correspondente matriz de permuta ca o de linhas (de colunas). Ademais, se p (q ) e o correspondente vetor de ndices de linha (de coluna) permutados, j = (P A)j = Aj A i i p(i) j = (AQ)j = Aq(j ) . A i i i Exemplo: Dadas as 11 A = 21 31 p=q= matrizes 12 13 22 23 , P = 32 33 31 , P A = 3 1 2 11 21

0 0 1 0 1 , Q= 0 0 1 0 0 0 1 0 1 0 32 33 13 , AQ = 12 13 23 22 23 33

0 1 , 0 11 12 21 22 . 31 32

Uma matriz quadrada, A, e sim etrica sse for igual a transposta, isto e, sse A = A . Uma = P AP , permuta c ao sim etrica de uma matriz quadrada A e uma permuta ca o da forma A onde P e uma matriz de permuta ca o. Uma matriz quadrada, A, e ortogonal sse sua inversa for igual a sua transposta, isto 1 e, sse A = A . (a) Matrizes de permuta c ao s ao ortogonais. (b) Uma permuta c ao sim etrica de uma matriz sim etrica e ainda uma matriz sim etrica.

1.2

Convexidade

Um ponto y (l) e combina c ao convexa de m pontos de Rn , dados pelas colunas da matriz X n m, sse
m m

i , y (l)i =
j =1

lj

Xij

lj 0 |
j =1

lj = 1

14 ou, equivalentemente, em nota ca o matricial


m

Cap tulo 1. Programa c ao Linear

y (l) =
i=1

li X ,

lj 0 |
j =1

lj = 1

ou ainda, substituindo as somat orias por produtos internos, y (l) = Xl , l 0 | 1 l = 1 Em particular, um ponto y () e combina ca o convexa de 2 pontos, z e w, se y () = (1 )z + w , [0, 1] . Geometricamente, estes s ao os pontos no segmento de reta que vai de z a w. Um conjunto, C Rn , e convexo sse contiver qualquer combina ca o convexa de dois n quaisquer de seus pontos. Um conjunto, C R , e limitado sse a dist ancia entre quaisquer dois de seus pontos e limitada: | x1, x2 C , ||x1 x2|| Um conjunto n ao limitado e dito ilimitado. As guras 1.1 e 1.2 apresentam alguns exemplos de conjuntos conforme as deni co es acima.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . .. . . . . . . .

Figura 1.1: Conjuntos convexos Se denomina Ponto Extremal de um conjunto convexo C , a todo ponto x que n ao pode ser representado como combina ca o convexa de dois pontos de C distintos de x. O Perl de C , ext(C ), e o conjunto de todos os pontos extremais de C . Se denomina Casco Convexo (Fechado) de um conjunto C , ch(C ) (cch(C )), a intersec ca o de todos os conjuntos convexos (fechados) que contem C . Teorema: Um conjunto C , convexo e compacto, i.e. convexo, fechado e limitado, e igual ao casco convexo fechado de seu perl, i.e. C = cch(ext(C )). Teorema: O casco convexo de um conjunto nito de pontos, V , e o conjunto de todas as combina co es convexas de pontos de V , i.e. se V = {xi , i = 1 . . . n}, ent ao ch(V ) = {x | x = [x1 , . . . xn ]l, l 0, 1 l = 1}.

1.3. Poliedros
.

15

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Figura 1.2: Conjuntos n ao convexos O ep grafo de uma curva em R2 , y = f (x), x [a, b], e o conjunto denido como epig (f ) {(x, y ) | x [a, b] y f (x)}. Uma curva e convexa sse seu ep grafo e convexo. Uma curva, f (x), e c oncava sse f (x) for convexa. Teorema: Uma curva, y = f (x), R R, continuamente diferenci avel, e com primeira derivada sempre crescente, e convexa.

1.3

Poliedros

Uma restri c ao (n ao linear), em Rn , e uma inequa c ao da forma g (x) 0, g : Rn R. A regi ao vi avel denida por m restri co es, g (x) 0, g : Rn Rm , e o conjuntos dos pontos vi aveis {x | g (x) 0}. Dizemos que, num ponto vi avel x, a restri c ao gi (x) e justa ou ativa sse valer a igualdade (gi (x) = 0), e folgada ou inativa caso contr ario (gi (x) < 0). Um poliedro em Rn e uma regi ao vi avel denida por restri c oes lineares: Ax d. Podemos sempre compor uma restri c ao de igualdade, a x = , com um par de restri co es de desigualdade, a x e a x .
. . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

Figura 1.3: Poliedros A gura 1.3 acima mostra alguns poliedros.

16

Cap tulo 1. Programa c ao Linear Teorema: Poliedros s ao convexos, mas n ao necessariamente limitados.

Faces
Uma face de dimens ao k , de um poliedro em Rn com m restri co es de igualdade, e uma regi ao vi avel que obedece justamente a nmk das restri co es de desigualdade do poliedro. Em outras palavras: um ponto que obedece jstamente a r restri co es de desigualdade est a sobre uma face de dimens ao k = n m r. Um v ertice e uma face de dimens ao 0. Um lado e uma face de dimens ao 1, um ponto interior do poliedro tem todas as restri co es de desigualdade folgadas. Eventualmente poder amos ter, num dado v ertice, n m +1 restri co es de desigualdade justas. Este v ertice seria super-determinado, pois obedeceria a (n m + 1) + m = n + 1 equa co es. Todavia esta e uma situa c ao inst avel: uma pequena perturba c ao nos dados levaria este v ertice degenerado em 1 ou v arios v ertices n ao degenerados, vide gura 1.4 Doravante assumiremos sempre que situa co es como esta n ao ocorrem, i.e. assumiremos a hip otese de n ao degeneresc encia;
. . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Figura 1.4: V ertice degenerado

Forma Padr ao
Um poliedro na forma padr ao, em Rn , e dado pelas n restri c oes de sinal (i.e. xi 0 ) e m < n restri c oes de igualdade: PA = {x 0 | Ax = d} , A m n Podemos sempre reescrever um poliedro na forma padr ao, ainda que num espa co de dimens ao maior, usando os seguintes artif cios: 1. Substitua vari aveis irrestritas, pela diferen ca de duas vari aveis positivas, x+ x onde x+ = max{0, x} e x = max{0, x}.

1.4. M etodo Simplex 2. Acrescente uma vari avel de folga 0 a cada inequa ca o, ax a 1 x = .

17

Da deni ca o de v ertice vemos que num poliedro padr ao, PA , um v ertice e um ponto vi avel com n m restri co es de sinal justas, i.e. n m vari aveis nulas; estas s ao as vari aveis residuais do v ertice. Permutemos as linhas do vetor x de modo a colocar as vari aveis residuais nas n m u ltimas posi co es, estando portanto as vari aveis restantes, as vari aveis b asicas, nas m primeiras posi co es. Aplicando a mesma permuta c ao a `s colunas de A, as primeiras m colunas da permuta ca o de A formam a matriz B , ou base do v ertice, e as demais colunas de A a matriz residual, R com dimens ao m (n m). Isto e, particionamos as colunas de A como A= Ab Ar = B R

Na forma blocada e f acil explicitar as vari aveis n ao nulas. Reescrevendo x 0 | Ax = d como xb xb 0| B R =d xr xr temos xb = B 1 [d Rxr ] Anulando as vari aveis residuais, segue que xb = B 1 d . Da deni ca o de degenerec encia vemos que um v ertice de um poliedro padr ao e degenerado sse tem, al em das vari aveis residuais, ao menos uma vari avel b asica nula.

1.4

M etodo Simplex

O problema de programa ca o linear (PPL) padr ao e o de minimizar uma fun ca o linear dentro de um poliedro padr ao: min cx, x 0 | Ax = d . Suponha sabermos quais as vari aveis residuais (i.e. as restri c oes justas) de um dado v ertice, e consequentemente conhecida uma matriz b asica B. Permutando as linhas de x e as colunas de c e A, para a forma blocada de vari aveis b asicas e residuais, reescrevemos o PPL como: min cb cr xb xr , x0| B R xb xr =d .

18

Cap tulo 1. Programa c ao Linear

B 1 d e R B 1 R. Se mudarmos um u Utilizaremos a nota c ao d nico elemento, o j - esimo de xr , permitindo que ele se torne positivo ( i.e. xr(j ) > 0), a solu c ao b asica, xb se escreve como Rx r xb = d xr(j ) R j = d Esta solu c ao permanece vi avel enquanto n ao negativa. Pela hip otese de n ao degeneresc encia, d > 0, e podemos aumentar o valor de xr(j ) , mantendo a solu c ao b asica vi avel, at e um patamar > 0, quando alguma vari avel b asica e anulada. O valor da fun c ao objetivo desta solu ca o b asica e cx = cb xb + cr xr = cb B 1 [d Rxr ] + cr xr + ( cr cb R )xr = cb d zxr = z j xr(j ) O vetor z e denominado o custo reduzido na base. Os par agrafos precedentes sugerem o seguinte algoritmo para gerar uma sequ encia de v ertices vi aveis de valores decrescentes, a partir de um v ertice inicial: Algoritmo Simplex:

1. Procure um ndice residual, j , tal que z j > 0. j > 0} , 2. Compute, para k K {l | R l e i = ArgminkK k , i.e. (i) = mink
k

k /R j , =d k . k

3. Fa ca a vari avel xr(j ) b asica, e xb(i) residual. 4. Volte ao passo 1. O Simplex n ao pode prosseguir se z 0 no primeiro passo, ou se no segundo passo o m nimo for tomado sobre um conjunto vazio. O segundo caso corresponde a termos um PPL ilimitado. No primeiro caso o v ertice corrente e a solu c ao o tima do PPL! Trocar o status b asica/residual de um par de vari aveis e denominado pivotar. Ap os 1 cada pivotamento necessitamos recomputar a inversa da base, B , o que pode ser feito com um m nimo de esfor co. No restante desta se c ao usaremos o simplex para resolver alguns problemas simples, interpretando geometricamente o processo de solu ca o. Na pr oxima se ca o provaremos formalmente a corretude do algoritmo simplex.

1.5. Dualidade

19

Exemplo
Consideremos o PPL min[1, 1]x, 0 x 1. Este PPL pode ser reescrito na forma padr ao com c= 1 1 0 0 A= 1 0 1 0 0 1 0 1 d= 1 1

Nos e dado um vertice inicial, x = [0, 0]. Passo 1: r = [1, 2], b = [3, 4], B = A(:, b) = I , R = A(:, r) = I , = [1, 1] [0, 0] z = [1, 1], j = 1, r(j ) = 1, z = cr cb R 1 R j = 1 xb = d = 1, i = 1, b(i) = 3 0 1 Passo 2: r = [3, 2], b = [1, 4], B = A(:, b) = I , R = A(:, r) = I , = [0, 1] [1, 0] z = [1, 1], j = 2, r(j ) = 2, z = cr cb R 0 R j = 1 xb = d = 1, i = 2, b(i) = 4 1 1 Passo 3: r = [3, 4], b = [1, 2], B = A(:, b) = I , R = A(:, r) = I , = [0, 0] [1, 1] z = [1, 1] < 0 z = cr cb R

Obtendo um V ertice Vi avel


Usaremos o PPL auxiliar min 0 1 x y | x y 0 A diag(sign(d)) x y =d

Um v ertice inicial para este PPL e 0 abs(d ) . Se o problema auxiliar tiver valor o timo zero, a solu c ao otima fornece um v ertice vi avel para o problema original; caso contr ario, o problema original e invi avel.

1.5

Dualidade

Dado um PPL qualquer, que chamaremos de PPL Primal, deniremos um outro PPL, o PPL Dual (do PPL primal). A teoria de dualidade trata das rela co es entre a solu ca o de um dado PPL, e a solu c ao do seu dual. Dado um PPL na forma can onica, o problema primal (PPLP): min cx | x 0 Ax d , denimos seu dual como (PPLD): max y d | y 0 y A c ,

20

Cap tulo 1. Programa c ao Linear

O primal can onico e seu dual tem uma interpreta c ao econ omica intuitiva: O primal j pode ser interpretado como o cl asico problema da ra ca o: Ai e a quantidade de nutriente do tipo j encontrada em uma unidade de alimento do tipo i. ci e o custo de uma unidade de alimento do tipo i, e dj a necessidade di aria m nima do nutriente j . A solu ca o o tima do primal, x nos fornece a ra ca o nutricionalmente vi avel de custo m nimo. O dual pode ser interpretado como um fabricante de nutrientes sint eticos, procurando o valor de mercado para sua linha de nutrientes. A receita do fabricante por ra c ao e a fun c ao objetivo do dual a ser maximizada. Para manter sua linha de produtos competitiva, nenhum alimento natural deve fornecer nutrientes mais barato que a correspondente mistura de nutrientes sint eticos, estas s ao as restri c oes do dual. Os pre cos dos nutrientes, y podem tamb em ser interpretados como pre cos marginais: (dentro de um pequeno intervalo) de quanto aumentaria o valor do alimento i se nele conseguissemos incrementar a concentra ca o do nutriente j . A corretude destas interpreta co es e demostrada pelas propriedades de dualidade discutidas a seguir. Lema 1 O dual do dual e o pr oprio primal. Prova: Basta observar que o (PPLD) e equivalente a min y d | y 0 y A c ,

Teorema Fraco de Dualidade Se x e y s ao solu co es vi aveis, respectivamente do primal e do dual, ent ao existe um intervalo (gap) n ao negativo entre o valor da solu ca o dual e o valor da solu ca o primal: cx y d . Prova: Por viabilidade, Ax d e y 0, portanto y Ax y d. Analogamente, y A c e x 0 donde y Ax cx; Portanto cx y d. QED. Corol ario 1 Se tivermos um par de solu c oes vi aveis, x para o PPLP, e y para o PPLD, e se o valor das solu c oes primal e dual coincidirem, i.e. cx = (y ) d, ent ao ambas as solu c oes s ao o timas. Corol ario 2 Se o primal for um problema ilimitado, ent ao o dual e invi avel. Da mesma forma que podemos reescrever qualquer PPL na forma padr ao, podemos reescrever qualquer PPL na forma da deni ca o do primal ou dual. (Verique). Em vista do lema 1, vemos que a rela ca o de dualidade est a denida entre pares de problemas de PL, independentemente da forma com que est ao escritos.

1.5. Dualidade Lema 2 Dado o primal na forma padr ao (PPLP): min cx | x 0 Ax = d , o seu dual e (PPLD): max y d | y Rm y A c , Teorema (Prova de corretude do Simplex)

21

Provaremos que o simplex termina em um v ertice o timo. Na parada do Simplex r b 1 t nhamos z = (c c B R) 0. Consideremos y = cb B 1 como candidato a solu ca o dual. cb cr = = = = c
b

y c
r

B R cb B 1 B R cb I R cb cb R 0

cb cr cb cr 0 z

Portanto y e uma solu ca o dual vi avel. Ademais, seu valor (como solu ca o dual) e yd = b 1 b ario 1 ambas as solu c oes s ao o timas. c B d = c d = , e pelo corol Teorema Forte de Dualidade Se o problema primal for vi avel e limitado, assim ser a o dual; al em disso, o valor das solu co es o timas do primal e do dual coincidem. Prova: Construtiva, atrav es do algoritmo simplex. Teorema (Folgas Complementares) Sejam x e y solu co es vi aveis de um PPL padr ao e de seu dual. Estas solu c oes s ao o timas sse w x = 0, onde w = (c y A). Os vetores x e w representam as folgas nas restri co es de desigualdade do PPLP e do PPLD. Como x 0, w 0 e w x = 0, cada termo do produto escalar se anula, i.e. wj xj = 0, ou equivalentemente, se a j- esima restri ca o de desigualdade e folgada no primal, ent ao a correspondente restri ca o no dual deve ser justa, e vice-versa; dai o nome folgas complementares. Prova: Se as solu co es s ao o timas, poder amos t e-las obtido com o algoritmo Simplex. Como na prova de corretude do Simplex, (c y A)x = 0 z xb 0 =0

Se (c y A)x = 0, ent ao y (Ax) = cx, ou y d = cx, e pelo primeiro corol ario do teorema fraco de dualidade, ambas as solu co es s ao o timas.

22

Cap tulo 1. Programa c ao Linear

Forma geral de Dualidade


Daremos a seguir o dual de um PPL em forma geral. Indicamos por um asterisco, (), um vetor com vari aveis irrestritas. PPLP: min
1 1x

1x

c 2x 3x

0 2x 3x 0

1 1A 1 2A 1 3A

2 1A 2 2A 2 3A

3 1A 3 2A 3 3A

2x = 3x
1x

1d 2d 3d

PPLD: max
1d 2d 3d 1y

1y

2y 3y

0 2y 3y 0

1 1A 1 2A 1 3A

2 1A 2 2A 2 3A

3 1A 3 2A 3 3A

2y = 3y
1y

1 2

c c 3 c

Como corol ario, ilustremos alguns pares de problemas primal/dual P P LP : max cx | Ax d x 0 P P LP : max cx | Ax d x Rn P P LD : min y d | y A c y 0 P P LD : max y d | y A = c y 0

1.6

Problema Linear Param etrico

Consideremos agora o Problema Linear Param etrico (PLP), i.e. uma fam lia de PPLs em fun ca o de um par ametro, . Como primeiro exemplo consideremos uma parametriza ca o linear do vetor do lado direito, min cx x 0 | Ax = d , d = t + p

Suponhamos ter resolvido o PPL acima, vi avel e limitado, para um certo valor = . Na base o tima B , a solu c ao b asica xb pode ser escrita como = B 1 (t + p) = t + p d Analisemos agora o comportamento deste problema quando variamos o par ametro , ou seja, consideremos o comportamento da solu ca o do PPL para valores de pr oximos de . Consideremos crescente: Se p 0, podemos aumentar o par ametro sem jamais tornar d invi avel, i.e. sem jamais violar uma restri ca o de sinal. Caso contr ario, podemos aumentar o par ametro apenas at e o valor cr tico j /p j = t j , k = arg min j ,
j |p j <0

1 = k .

1.7. Modelo de Sharpe

23

Analogamente, consideremos o comportamento da solu c ao para decrescente. Se invi p 0, podemos diminuir o par ametro sem jamais tornar d avel, i.e. sem jamais desobedecer uma restri ca o de sinal. Caso contr ario, podemos diminuir o par ametro apenas at e o valor cr tico j /p 0 = k , j = t j , k = arg max j .
j |p j >0

Para entre este par de par ametros cr ticos, 0 < < 1 , () = (1 )0 + 1 , vemos que a solu ca o do problema ser a a correspondente combina c ao convexa das solu c oes cr ticas: x( ()) = (1 )x(0 ) + x(1 ) . Como x( ) e linear entre um par de par ametros cr ticos consecutivos, o valor otimo da solu ca o do PPL com par ametro = (1 )0 + 1 , vopt( ), e uma fun ca o linear em . Portanto o gr aco de vopt( ), para 0 < 1 , ser a um segmento de reta.

1.7

Modelo de Sharpe

Devido a simplicidade da estrutura dos problemas de programa c ao linear, muitas vezes modelos n ao lineares s ao simplicados de forma a recair no caso linear. Este artif cio tem sido bastante empregado em problemas de composi ca o de portf olios, onde o objetivo e determinar uma carteira de ativos que minimize o risco e maximize o retorno do investidor. Consideremos que o retorno de cada um dos ativos se escreva como ri = ai + ei + bi (a0 + e0 ), i {1 . . . n} onde a0 e o retorno esperado do mercado, e0 um erro aleat orio aferando este retorno, ai e o retorno acima do mercado esperado do i- esimo ativo, ei um erro afetando somente o retorno deste ativo, e bi uma medida da rea ca o do ativo i a `s mudan cas do ndice de mercado. Admitamos ainda termos ruidos brancos n ao correlacionados, i.e. E (ei ) = 0, 2 V ar(ei ) = si,i = si , Cov (ei , ej ) = si,j = 0, i = j . Em nan cas e usual a nota ca o , e para os vetores a, b e s. Seja xi a fra c ao do total de recursos que ser a alocado para o ativo i, x 0, 1 x = 1. O retorno do portf olio, rP , se escreve como rp = r x = (a + e) x + (a0 + e0 )b x denindo rP = r x, aP = a x, bP = b x, a esper an ca e vari ancia do portf olio ser ao:
N

E (rp ) = aP + a0 bP , V ar(rp ) =

2 s2 0 bP

+
1

(si xi )2 .

24

Cap tulo 1. Programa c ao Linear

Denimos a fun ca o objetivo a ser maximizada, como o retorno esperado do portf olio poderado pela toler ancia ao risco do investidor, , menos o desvio padr ao do retorno: f (x) = E (rp )) std(rp ). Para linearizar o problema, assumimos que a carteira e bem diversicada, i.e. que xi 1/n, e que nenhum ativo tem risco pr oprio muito maior que o risco de mercado, de modo que
N 2 s2 0 bP

>>
1

(si xi )2

Recaimos assim em um problema de programa ca o linear, conhecido como o modelo de Sharpe: maxf (x) = (a + a0 b) x s0 b x , x 0 | 1 x = 1 a restri ca o do problema e conhecida como restri ca o normal, que simplesmente assegura a interpreta ca o do vetor x como a fra ca o investida em cada ativo. Outras restri c oes lineares podem ser acrescentadas para modelar condi c oes impostas pelo investidor. Por exemplo, a condi c ao de diversica ca o pode ser escrita como Ix (/n)1, << n.

1.8

Fluxos em Redes

Muitos problemas importantes podem ser formulados como o problema de encontrar o uxo de minimo custo que satisfaz as equa c oes de oferta e demanda em uma rede. A Rede (ou Grafo) e descrita pelos seus V ertices (ou N os), numerados de 1 a n, e pela Matriz de Incid encia de seus Arcos, A. Cada arco (i, j ), corresponde a uma coluna de A, Aij , tal ij ij que Aij i = 1, Aj = +1 e Al = 0, l = i, j . A demanda da mercadoria (ou commoditie) e representada pelo Vetor de demanda, b. Uma demanda negativa, bi < 0, representa uma oferta, ou disponibilidade da mercadoria no vertice i. Imporemos a condi c ao 1 b = 0 i.e., a oferta total iguala a demanda total. O uxo de (mercadoria de) i para j e xij . O custo de enviar uma unidade (de mercadoria) de i para j e dado pelo Vetor de Custos, cij . Podemos ainda impor Restri c oes de Capacidade sobre os arcos, l x k . Finalmente, o problema de Fluxo Capacitado de M nimo Custo pode ser formulado como: min cx , l x k | Ax = b Note que como a demanda total e nula, e o uxo e conservativo, poderiamos eliminar uma qualquer das equa c oes do sistema. facil transformar o problema Um uxo com b = 0 denomina-se uma Circula ca o. E de uxo em um problema de circula ca o capacitado. Construimos a Rede de Circula ca o acrescendo ` a rede original:

1.8. Fluxos em Redes

25

Dois v ertices especiais: a Entrada (ou Fonte), 1, e a Sa da (ou Sorvedouro, ou Dreno), n; Arcos da entrada aos v etices com oferta, e dos v ertices com demanda ` a sa da, com capacidades iguais a ` quantidade absoluta de oferta ou demanda: 1j (1, j ), l1j = 0, k1j = b+ j , c = 0, (j, n), ljn = 0, kjn = (bj )+ , cjn = 0; O arco conectando a sa da a ` entrada: + (n, 1), ln1 = = bj , kn1 = +, cn1 = 0. Antes de estudar a resolu ca o do problema de circula ca o capacitada de m nimo custo, enunciaremos um lema auxiliar: Teorma de Homan: Uma rede de circula ca o capacitada tem uma circula ca o vi avel ) k (V , V ), V N . Como o uxo sse l(V, V e conservativo, a condi c ao e necess aria. Vericaremos que a condi ca o e suciente, ao provar a corretude do algoritmao de calibragem. Formulemos agora o problema de circula ca o capacitada de custo m nimo, como um problema de programa c ao linear. Usando vari aveis de folga primais dadas pela dist ancia a `s restri c oes de capacidade, o problema, seu dual, e a condi ca o de folgas complementares, podem ser escritos na forma padr ao: (P ) min c x x x 0 | A = b

x = [ x; x ; x ] c = [c, 0, 0] b = [0; l; k ] A 0 0 = I I 0 A I 0 I (D) max y b y A c y = [y, y, y ] Folg. Comp. )p = 0 x p ( cy A

xij (cij (y i + y j + y ij + y ij )) = 0 , x ij y ij = 0 , x ij y ij = 0; xij (dij y ij y ij ) = 0 , (xij lij )y ij = 0 , (kij xij ) y ij = 0. As vari aveis de folga para as restri co es de capacidade s ao x ex . As vari aveis y j s ao denominadas potencial, e interpretadas como o pre co de mercado da commoditie na pra ca ij ij i j j . Denimos o dierencial de custo, ou diferen ca de potencial, d = c + y y . Um

26

Cap tulo 1. Programa c ao Linear

diferencial de custo negativo representa uma possibilidade de arbitragem (lucro): basta comprar o produto na pra ca i, transporta-lo, e vende-lo na pra ca j . Esta interpreta ca o torna natural que o uxo lij xij kij , 0 < lij < kij , em um arco obedecendo a `s condi co es de viabilidade primal, viabilidade dual e folgas complementares deva estar em uma das tr es codi c oes seguintes: L: xij = lij , y ij = 0 , y ij = dij > 0. M: lij xij kij , y ij = y ij = dij = 0. K: xij = kij , y ij = 0 , y ij = dij < 0. ou L: xij = lij e dij 0. M: lij < xij < kij e dij = 0. K: xij = kij e dij 0. y ij = max(0, dij ) , y ij = min(0, dij ) . O algoritmo de calibragem (out-of-kilter) resolve o problema de circula ca o capacitada de custo m nimo com uma abordagem primal-dual. Nesta abordagem, iniciamos com uma circula ca o e potenciais quaisquer, e, a cada passo do algoritmo, procuraremos aproximar a circula ca o da viabilidade e condi co es de folgas complementares. Assumiremos que os dados do problema, c, l e k , s ao inteiros. A seguir tabelamos as condi c oes poss veis de uma arco descalibrado em uma circula ca o, e algumas quantidades associadas: Cond. L L M M K K dij xij > 0 < lij > 0 > lij = 0 < lij = 0 > kij < 0 < kij < 0 > kij desvio lij xij ij d (xij lij ) lij xij xij kij ij d (xij kij ) xij kij Cap.Arco hij = lij xij hji = xij lij hij = lij xij hji = xij kij hij = kij xij hji = xij kij

O desvio total, em rela ca o a situa ca o econ omica de equilibrio, e a somatoria termos em arcos de dois tipos, correspondento a: (1) Volume de uxo violando restri co es de capacidade, nas condi co es L, M, M e K. (2) Custos de uxos anti-econ omicos em uxos acima do limite inferior com diferencial

1.9. M etodos de Decomposi c ao

27

de custo positivo, na cond c ao L, e perdas de oportunidade em uxos abaixo do limite superior com deferencial de custo negativo, na condi ca o K. Dada uma circula c ao invi avel ou n ao otima, encontraremos uma nova circula c ao que mantenha as condi co es de folgas complementares, e que esteja mais proxima da viabilidade. A nova circula ca o e obtida pela adi ca o de uma circula ca o em um circuito no grafo auxiliar, H . Construimos H com arcos descalibrados, tipos (1) e (2) acima, com capacidades m aximas hij na tabela. Acrescentamos ainda a H arcos correspondendo ao tipo (3) Arcos calibrados na condi ca o M, com capacidades hij = kij xij e hji = xij lij . Escolhido um arco descalibrado, (i, j ), procuramos, por busca em profundidade em H , um caminho de j a i. Se um caminho for encontrado, a circula c ao com volume igual ao arco de m nima capacidade hij no circuito, pode ser somada ` a circula c ao inicial, reduzindo seu desvio total. Caso contrario, seja J o conjunto dos v erices alcan cados na busca a partir de j . Seja dvw > 0, lvw xvw < kvw } S = {(v, w) G | v J, w J, w J, dvw < 0, lvw < xvw kvw } S = {(v, w) G | v J, = min(|dvw |), (v, w) S S de , atualizar H , e continuar Se < , podemos aumentar o potencial dos v ertices em J a busca, repetindo ajustes de potencial at e alcan car i. Caso contr ario, encontramos um conjunto que viola a condi ca o do teorema de Homan. A cada passo do algoritmo de calibragem reduzimos o desvio total da circula c ao corrente. Assim, ap os um n umero nito de passos, ou vericaremos a inviabilidade do problema, exibindo um sub-conjunto de vertices que viola a condi ca o de Homan, ou a circula ca o nal ser a viavel, obedecendo tamb em a condi ca o de folgas complementares, i.e., a circula c ao nal ser a otima.

1.9

M etodos de Decomposi c ao

Suponha termos um PPL na forma min cx 0, Ax = b onde a matriz A =

A , eo A implica em = =b poli edro descrito por Ax b tem uma estrutura simples, enquanto Ax umas poucas restri co es adicionais que, infelizmente, complicam em muito o problema. imp = =b Por exemplo: Ax b e um problema de transporte, enquanto Ax oe restri c oes = de capacidades coletivas sobre conjuntos de arcos, ou Ax b um conjunto de PPLs = b imp para grupos de vari aveis separadas, enquanto Ax oe acoplamentos entre os PPLs (estrutura diagonal blocada por linha).

28

Cap tulo 1. Programa c ao Linear

Estudaremos agora o m etodo de Dantzig-Wolf, que nos permite resolver o PPL original, atravez de itera co es entre um Problema Mestre pequeno, e um Subproblema simples. Suporemos que o poli edro simples e limitado, sendo igual a combina ca o convexa de seus v ertices. = {x 0 | Ax = X b} = ch(V ) = V l , l 0 | 1 l = 1 O PPL original equivale ao problema mestre: M : min cV l , l 0 | AV 1 l= b 1

obviamente esta e uma representa ca o que tem interesse te orico, n ao sendo pr atico encontrar os muitos v ertices de V . Uma dada base B eo tima sse z = [cV ]R ([cV ]B B 1 )R [cV ]R [y, ]R 0 esta condi ca o equivale a termos, para todo indice residual, j , cV j [y, ] j AV 1 0 , ou

j = (c y A )V j , ou cV j y AV )v , v X min(c y A Denimos assim o sub-problema )v , v 0 | Av = S : min(c y A b )v , a base B Se a solu c ao o tima de S, v tem valor otimo (c y A e otima para M. Av Caso contrario, v nos a pr oxima coluna para entrar na base: . 1 A solu c ao o tima do problema auxiliar nos fornece ainda um limite inferior para o | problema original. Seja x uma solu ca o vi avel qualquer do problema original, i.e. x X . Sendo x mais restrito, (c y A + (c y A =b )x (c y A )v , portanto, cx y b )v . Ax Note tamb em que y b e o limite superior corrente. Note tamb em que n ao e necessario ter um crescimento monotonico do limite inferior, sendo portanto nescess ario guardar o melhor limite inferior j a obtido. Como vimos, a decomposi ca o de Dantzig-Wolf adapta-se muito bem a problemas com certo tipo de estrutura, como a estrutura diagonal bolcada por linhas. Caso tivessemos uma estutura diagonal blocada por colunas, poderiamos decompor o problema dual. Este e, essencialmente, o m etodo de decomposi c ao de Benders, cuja implementa ca o torna-se muito mais eciente usando o algoritmo Simplex Dual, que estudaremos a seguir. M etodos de decomposi c ao s ao muito ecientes para obter boas (ainda que n ao precisamente o timas)

1.10. Simplex Dual

29

solu co es para problemas estruturados. Algumas estruturas comumnmente encontradas na pr atica de Pesquisa Operacional incluem as formas Angular Blocada por Linhas (ABL), Angular Blocada por Colunas (ABC), Angular Blocada por Linhas e Colunas (ABLC), Blocada Escalonada (BEs), etc. Em algumas aplica c oes, como Programa ca o Estoc astica Multiperiodo, encontramos a forma recursiva (ou aninhada) destas estruturas. A gura Fig.x ilustra algumas destas formas. Para uma introdu c ao intuitiva, formal e unicada aos diversos m etodos de decomposi c ao recomendamos os artigos de A.M.Georion referidos na literatura. Para uma vis ao alternativa sobre decomposi ca o de problemas de grande porte, focada em m etodos computacionais de algebra linear para matrizes esparsas e estruturadas, veja Stern (1994).

1.10

Simplex Dual

O algoritmo simplex dual e an alogo ao simplex, s o que trabalha com uma base corrente dual vi avel, at e atingir viabilidade primal. O simplex dual e muito u til em diversas situa co es em que resolvemos um PPL, e em seguida alteramos as restri c oes. Trabalharemos com o PPL na forma padr ao e seu dual: P : min cx , x 0 Ax = d e D : max y d , y A c

Em uma base dual vi avel, y = cb B 1 e uma solu ca o dual, i.e. cb cr = = = = y cb cr cb cr cb cr 0 z B R cb B 1 B R cb I R cb cb R 0

Queremos agora reescrever o dual em uma forma analoga a ` forma padr ao, acrescentando vari aveis de folga, e usando a parti ca o A = [B, R], como segue: max d y max d y Ay c B y R B R I 0 0 I cb cr

max d y

y wb = wr

cb cr

, w0

Nesta forma, a base dual, sua inversa e a correspondente solu c ao b asica s ao dadas por: B R 0 I , B t 0 t R B I

30 y wr = B t 0 t R B I e cb cr

Cap tulo 1. Programa c ao Linear B t 0 t R B I I 0 wb i.e.

y = B t cb B t wb

wr = cr R B t cb + R B t wb

Note que os ndices em b e r correspondem a ndices b asicos e residuais no primal, sendo a situa ca o no dual complementar. Analogamente ao simplex na forma padr ao, podemos aumentar um elemento nulo do vetor residual, para melhorar o valor da solu ca o dual, wb d y = d B t (cb wb ) = const d 0 a solu Se d c ao b asica primal e vi avel, e temos a solu c ao o tima dual e primal. Se houver um elemento di < 0, podemos aumentar o valor da solu c ao dual incrementando wb(i) . Podemos incrementar wb(i) = , sem perder viabilidade dual, enquanto mantivermos wr = cr R B t cb + R B t I i 0 transpondo b R + B 1 R 0 i.e. cr c i i 0 z + R j , j | R j < 0}, temos o Fazendo j = arg min{ (j ) = z j /R ndice que sai da base dual. i i Podemos pois, na nova lista de ndices b asicos do primal, b, excluir b(i), incluir r(j ), atualizar a base, e prosseguir iteragindo at e a otimalidade dual, i.e. viabilidade primal.

1.11

Programa c ao Inteira

Consiremos o PPL com restri co es de caixa, onde algumas vari aveis demem ser inteiras: p q min cx , x N R , l x u | Ax = d. Se todas as vari aveis s ao inteiras o problema e dito um PPLI Puro, caso contr ario e dito um PPLI Mixto. A condi ca o de integralidade destroi a convexidade do problema, dai sua grande diculdade. Estudaremos o m etodo de Ramica ca o e Poda (Brach and Bound, Cut, Prune), que pode ser aplicado a problemas relativamente grandes, mas com poucas restri co es de integralidade. Observemos inicialmente que, se j < p, sua solu c ao o tima ser a a solu ca o de um dos dois problemas seguintes, iguais ao PPLI original, a menos da restri c ao de caixa sobre a j esima varia avel: 1- lj xj h , 2- h + 1 xj uj , h N , lj h uj 1. Desta forma formamos uma a rvore de busca por sucessiva divis ao (bifurca c ao, ramica ca o) do PPLI original em dois PPLIs menores. Em cada n o resolvemos o problema relaxado (PPL comum, sem as condi c ees de integralidade). As follhas da a rvore s ao as solu co es que obedecem ` as condi c oes de integridade. Note que pode ocorrer uma folha prematura, i.e. a solu ca o o tima de um problema relaxado pode obedecer a todas as restri c oes de

1.11. Programa c ao Inteira

31

integridade (antes destas serem impostas por cortes explicitos). A melhor folha da arvore (solu ca o inteira) j a encontrada, x , fornece um limite superior para a solu c ao o tima do PPLI, cx . Sejam P P L(v ), x(v ), e cx(v ) o PPL relaxado no n o v , sua solu ca o o tima, e o valor o timo. cx(v ) fornece um limite inferior para as solu ca o que podem ser obtidas por futuras ramica co es deste n o. Um n o invi avel recebe valor cx(v ) = +. Sempre que cx(v ) cx , podemos eliminar (do processo de busca) todas as ramica c oes deste n o, i.e. podemos podar a a rvore. Se poss vel, terminamos o processo de ramica c ao quando encontramos uma solu c ao garantidamente sucientemente pr oxima do otimo. Note que mesmo ap os encontrar a solu ca o o tima, x e poss vel que tenhamos que crescer muito a arvore at e poder armar que x e de fato a solu ca o o tima do PPLI. Note ainda que o Simplex dual pode ser de grande ajuda para resolver os PPLs criados por ramica c ao. A eci encia do m etodo de ramica ca o e poda depende da heur tica de constru c ao da a rvore, i.e. do processo das sucessivas escolhas de n os, vari aveis e pontos de corte, P P L(v ), xj e h. Seja uma vari avel b asica, xj = xj + fj , onde xj e fj indicam as partes inteira e fracion aria de xj . Ao ramicar o n o v , na varia avel xj , seus dois lhos tem a restri ca o de caixa lj xj uj , substituida por lj xj h ou h + 1 xj uj , onde o ponto de corte e h = xj (v ) = xj (v ) fj , ou h + 1 = xj (v ) + (1 fj ). Uma heur stica de escolha de vari avel e ramicar sempre a vari avel fracion aria mais importante. As prioridades poderiam vir de um vetor de pesos p, dados pela experi encia com o problema. Poderiamos talves usar p = |c|. Denimos as penalidade associadas aos cortes acima e abaixo de xj (v ): Pjl = fj pj e Pju = (1 fj )pj . Estas penalidades pretendem prever o impacto dos cortes nos valores o timos dos lhos de v , e nos permitem denir duas heur sticas para escolha da vari avel de corte: H1: Ramique em uma vari avel em arg minj min{Pjl , Pju }. Esta heur stica visa nos levar a uma boa solu ca o inteira. H2: Ramique em uma vari avel em arg maxj max{Pjl , Pju }. Esta heur stica visa criar um n o que ser a rapidamente podado, evitando um crescimento exagerado da arvore. Analogamente, denimos duas heur sticas para escolha do n o a ser ramicado: BFS: Breadth First Serach, ou BEL, Busca Em Largura. Dentre os n os existentes na a rvore, ramique o com melhor valor relaxado, cx(v ). DFS: Depth First Search, ou BEP, Busca Em Profundidade. Dos n os, ainda n ao podados, criados na mais recente bifurca ca o, ramique o com melhor valor relaxado, cx(v ).

32

Cap tulo 1. Programa c ao Linear

1.12

Exerc cios

1. Geometria e lemas simples: a- Desenhe o simplex, Sn , e o cubo, Cn de dimens ao 2 e 3. S = {x 0 | 1 x 1}, C = {x 0 | Ix 1}. b- Reescreva S2 , S3 , C2 e C3 como poliedros padr ao em Rn , onde n = 3, 4, 4, 6, respectivamente. c- Prove que um poliedro (na forma padr ao) e convexo. d- Prove os lemas 1 e 2 de dualidade. e- Prove que um Poli edro limitado e igual ao conjunto das combina c oes convexas de seus v ertices. 2. Escreva um programa para resolver um PPL na forma padr ao por enumera c ao exaustiva de todos os v ertices. Sugest ao: Use o programa combina.m para enumerar todos os grupos de m colunas da matriz A, m por n, n > n. Em seguida forme B , a matriz quadrada com estas m colunas, verique se B e uma base ( e invers vel), e se 1 a solu c ao b asica e um v ertice, d = B d > 0. Calcule o valor das solu co es b asicas vi aveis, e retorne a base o tima. 3. Adapte e implemente o Simplex para usar a fatora c ao QR, e atualizar, ao inv es de reinverter, a base a cada passo do algoritmo. Incua uma forma de monitorar a qualidade da fatora c ao para, periodicamente reinverter a base, evitando a degrada ca o da inversa pelo ac umulo de erro nas opera co es aritm eticas. 4. Considere a solu ca o o tima do PPL padr ao com vetor de custo parametrizado: c( ) = f + g . a- Quanto podemos aumentar (ou diminuir) o par ametro antes que a base que nos fornece a solu c ao o tima mude ? b- Ao passar por um ponto de mudan ca de base (em fun c ao de aumento de ), i.e. ao passar por um cr tico, qual a pr oxima base otima ? c- Conclua, usando o argumento de que existe um n umero nito de bases, que existe um n umero nito de etas cr ticos. d- Como poder amos utilizar o dual do problema parametrizado no vetor de restri co es para determinar a seq u encia de seus etas ( ) cr ticos ? e- Argumente que o valor otimo deste PPL param etrico, em fun ca o do par ametro, e uma curva continua e c oncava, linear por trechos i.e. composta de segmentos de reta. f- Adapte e implemente o Simplex para listar os etas e as solu c oes cr ticas, e implemente um programa auxiliar para calcular x( ) por interpola c ao a partir da lista.

1.12. Exerc cios 5. Adapte e implemente o Simplex para restri co es de caixa, i.e., min cx , l x u | Ax = d. Dica: Considere dada uma base viavel, B , e uma parti ca o B R S , onde lb < xb < ub , xr = lr , xs = us , de modo que, xb = B 1 d B 1 Rxr B 1 Sxs cx = cb B 1 d + (cr cb B 1 R)xr + (cs cb B 1 S )xs = + z r xr + z s xs

33

Se z r(k) < 0, podemos melhorar a solu ca o corrente aumentando a variavel residual no limite inferior, xr(k) = lr(k) + r(k) , xb = B 1 d B 1 Rlr B 1 Sus r(k) B 1 Rk . Todavia, r(k) deve respeitar os seguintes limites: 1- xr(k) = lr(k) + r(k) ur(k) , 2- xb lb , 3- xb ub . Analogamente, se z s(k) > 0, podemos melhorar a solu c ao corrente diminuindo a variavel residual no limite superior, xs(k) = us(k) s(k) . 6. Fa ca um estudo emp rico da complexidade esperada (ops) do Simplex para resolver um problema em fun ca o de: 1) Forma de atualiza c ao. 2) Crit erio de entrada. 6. Implemente o algoritmo de ajuste. Compare seu desempenho com o Simplex em problemas de circula c ao capacitada. 7. Adapte e implemente o Simplex Dual para problemas com restri co es de caixa. 8. Implemente o algoritmo de poda e ramica c ao. Compare empiricamente diferentes heur sticas de sele ca o para o processo de ramica ca o. 9. Implemente o m etodo de decomposi c ao de Dantzig-Wolf para problema na forma diagonal blocada. 10. Implemente o m etodo de decomposi ca o de Benders para o problema de programa ca o estoc astica em dois est agios. 11. Prepare um semin ario apresentando um modelo da biblioteca de exemplos do GAMS.

34

Cap tulo 1. Programa c ao Linear

Cap tulo 2 Programa c ao N ao Linear


2.1 GRG: Gradiente Reduzido Generalizado

Consideremos o problema de programa ca o n ao linear com restri c oes n ao lineares de igualdade, alem de restri co es de caixa sobre as vari aveis, PPNL: min f (x) , l x u | h(x) = 0 , f : Rn R h : Rn Rm

O M etodo do Gradiente Reduzido Generalizado, ou GRG, imita os passos do Simplex, para uma lineariza c ao local do PPNL. Seja x um ponto vi avel inicial. Como no Simplex, assumimos a hip otese de N ao Degenerec encia, i.e., assumimos que no m aximo (n m) das restri co es de caixa sejam ativas em um ponto vi avel. Assim, podemos tomar m das vari aveis com as restri c oes de caixa folgadas como sendo as vari aveis B asicas (ou dependentes), e as n m vari aveis restantes como vari aveis Residuais (ou independentes). Como no Simplex, particionamos todas as entidades vetoriais e matriciais reordenando as vari aveis de modo a agrupar as vari aveis b asicas, xb , e residuais, xr , x= xb xr , l= lb lr , u= ub ur , f (x) = J (x) = J (x) J (x)
B R

b f (x) r f (x) r h1 (x) r h2 (x) . . .

b h1 (x) b h2 (x) . . .

b hm (x) r hm (x) Consideremos o efeito de uma pequena altera c ao no ponto vi avel corrente, x + , assumindo que as fun co es f e h s ao cont nuas e diferenci aveis. A correspondente altera c ao 35

36 no valor da solu c ao ser a

Cap tulo 2. Programa c ao N ao Linear

f = f (x + ) f (x) f (x) =

b f (x) r f (x)

b r

Queremos tamb em que o ponto alterado x + permane ca (aproximadamente) vi avel, i.e., h = h(x + ) h(x) J (x) = J b (x) J r (x) b r = 0

Isolando b , e assumindo que a b ase J b (x) e invers vel, b = J b (x) =


1

J r (x) r
1

f b f (x) b + r f (x) r r f (x) b f (x) J b (x) J r (x) r = z ( x ) r

Como o problema n ao e linear, n ao podemos garantir que no ponto o timo todas as vari aveis residuais tem uma restri ca o de caixa justa, o an alogo de um v ertice no PPL padr ao. Assim, n ao h a interesse em restringir r a ter apenas uma componente n ao nula, como no Simplex. Estas considera c oes sugerem mover o ponto vi avel corrente na dire ca o (no espa co das vari aveis residuais) do vetor vr , oposta ao gradiente reduzido, sempre que a correspondente restri c ao de caixa for folgada, i.e., i i z se z > 0 e xr(i) > lr(i) vr(i) = z i se z i < 0 e xr(i) < ur(i) 0 caso contrario Na pr oxima sec ca o estudaremos condi co es gerais de converg encia para algoritmos de PNL, e veremos que a descontinuidade do vetor vr em fun ca o da folga nas restri c oes de caixa e indesej avel. Assim, usaremos uma forma cont nua do vetor de dire c ao, por exemplo, i i (xr(i) lr(i) )z se z > 0 e xr(i) > lr(i) vr(i) = (ur(i) xr(i) )z i se z i < 0 e xr(i) < ur(i) 0 caso contrario A ideia do m etodo GRG e a de, a cada itera c ao do algoritmo, movimentar o ponto 1 vi avel, dando um passo x + com = v , onde vb = J b (x) J r (x) vr , i.e., um passo de tamanho na dire c ao (no espa co das vari aveis residuais) vr . Para determinar o tamanho do passo, , e necess ario fazer uma busca linear, respeitando as restri c oes de caixa. Note ainda que vb , a dire ca o no espa co das vari aveis b asicas, foi escolhido de modo a que x + v , permane ca um ponto aproximadamente vi avel, pois estamos nos movendo no hiperplano tangente a superf cie (o espa co tangente a ` variedade) determinada por h(x) = 0.

2.2. Busca Linear e Converg encia Local

37

Um novo ponto x dever a ser sempre acompanhado de uma corre ca o x para re-obter viabilidade exata nas restri c oes n ao lineares, h(x + x) = 0. O ponto x pode ser utilizado como ponto inicial de um m etodo recursivo para encontrar um ponto exatamente vi avel. b O m etodo de Newton-Raphson consiste de considerar Jacobiano J (x) para calcular a corre ca o, 1 xb = J b (x) h(xb , xr )

2.2

Busca Linear e Converg encia Local

Consideremos o problema de minimizar uma fun c ao, unidimensional, f (x). Primeiramente, consideremos, como um problema auxiliar, o problema de encontrar a raiz (zero) de uma fun ca o derivavel, que aproximamos por sua s erie de Taylor de primeira ordem, k k k g (x) q (x ) + g (x )(x x ). Esta aproxima ca o implica que g (xk+1 ) 0, onde xk+1 = xk g (xk )1 g (xk ) Este e o M etodo de Newton para encontrar a raiz de uma fun c ao unidimensional. Mas se f (x) e diferenciavel, encontrar seu ponto de m nimo implica encontrar um ponto onde se anula a derivada primeira, assim, escrevemos o M etodo de Newton para minimiza ca o de um fun ca o unidimensional, xk+1 = xk f (xk )1 f (xk ) Examinemos qu ao rapidamente a seq u encia gerada pelo m etodo de Newton se aprox ima do ponto de m nimo, x , se a seq u encia j a estiver pr oxima do mesmo. Assumindo diferenciabilidade at e terceira ordem, podemos escrever 0 = f (x ) = f (xk ) + f (xk )(x xk ) + (1/2)f (y k )(x xk )2 , ou x = xk f (xk )1 f (xk ) (1/2)f (xk )1 f (y k )(x xk )2 Subtraindo da equa c ao que dene o m etodo de Newton, temos (xk+1 x ) = (1/2)f (xk )1 f (y k ) (xk x )2 Como veremos adiante, este resultado implica que o m etodo de Newton converge rapidamente (quadraticamente) quando j a pr oximo do ponto de o timo. Todavia, o m etodo de Newton necessita muita informa c ao diferencial sobre a fun c ao, algo que pode ser dif cil de obter. Ademais, longe do ponto de o timo n ao temos nenhuma garantia sobre sua converg encia. A seguir, estudaremos m etodos que visam superar estas diculdades. Examinemos agora o m etodo da Busca pela Raz ao Aurea para minimizar uma fun c ao 1 4 unidimensional e unimodal, f (x), em um intervalo, [x , x ]. Se soubermos o valor da

38

Cap tulo 2. Programa c ao N ao Linear

fun ca o em quatro pontos, os estremos do intervalo e mais dois pontos interiores, x1 < x2 < x3 < x4 , a unimodalidade da fun ca o garante podermos determinar que o ponto de m nimo, x , est a em um subintervalo, i.e., f (x2 ) f (x3 ) x [x1 , x3 ] , f (x2 ) > f (x3 ) x [x2 , x4 ] . Sem perda de generalidade consideremos a forma de dividir o intervalo [0, 1]. Uma raz ao r dene uma divis ao sim etrica da forma 0 < 1 r < r < 1. Dividindo o subintervalo [0, r], pela mesma raz ao obtemos 0 < r(1 r) < r2 < r. Para que apenas uma nova avalia ca o da fun c ao seja necess aria na pr oxima itera c ao, devem coincidir os pontos r2 e 1 r, i.e. r2 + r 1 = 0, de modo que r = ( 5 1)/2, a raz ao aurea r 0.6180340. O m etodo da raz ao aurea e robusto, funcionando para qualquer fun c ao unimodal, utilizando apenas o valor da fun c ao nos pontos de avalia c ao. No entanto, os extremos do intervalo de busca se aproximam apenas linearmente com o n umero de itera c oes. M etodos polinomiais, estudados a seguir, tentam conciliar as melhores caracter sticas dos m etodos j a apresentados. M etodos polinomiais para minimizar uma fun ca o unidimensional, min f (x + ), sobre 0, baseiam-se no ajuste de um polin omio que aproxima localmente f (x), e a subseq uente minimiza c ao anal tica do polin omio ajustado. O mais simples destes m etodos e o do ajuste quadr atico. Consideremos conhecidos tr es pontos, 1 , 2 , 3 , com o respectivo valor da fun ca o, fi = f (x + i ). Considerando as equa c oes do o polin omio interpolador q ( ) = a 2 + b + c , q (i ) = fi obtemos as constantes do polinomio, a = f1 (2 3 ) + f2 (3 1 ) + f3 (1 2 ) (2 1 )(3 2 )(3 1 ) 2 2 2 2 2 2 f1 (3 2 ) + f2 (1 3 ) + f3 (2 1 ) b = (2 1 )(3 2 )(3 1 ) 2 2 2 2 2 2 f1 (2 3 3 2 ) + f2 (3 1 1 3 ) + f3 (1 2 2 1 ) c = (2 1 )(3 2 )(3 1 )

Anulando a derivada do polin omio interpolador, q (4 ) = 2a + b, obtemos seu ponto de m nimo, 4 = a/2b, ou diretamente, 4 =
2 2 2 2 2 2 1 f1 (3 2 ) + f2 (1 3 ) + f3 (2 1 ) 2 f1 (3 2 ) + f2 (1 3 ) + f3 (2 1 )

Procuraremos sempre utilizar os pontos iniciais no padr ao de interpola c ao, 1 < 2 < 3 e f1 f2 f3 , i.e., tr es pontos onde o ponto intermedi ario tem o menor valor da fun ca o. Assim, garantimos que o m nimo do polin omio estar a dentro do intervalo inicial de busca, 4 [1 , 3 ], ou seja, que estamos interpolando e n ao extrapolando a solu c ao.

2.2. Busca Linear e Converg encia Local

39

Escolhendo 4 e mais dois dentre os tr es pontos iniciais, temos uma nova trinca no padr ao desejado, e estamos prontos para uma nova itera c ao. Note ainda que, em geral, n ao podemos garantir que o quarto ponto ser a o melhor da nova trinca. Todavia, o quarto ponto sempre substitui um ponto da trinca antiga que tinha valor maior, de modo que a soma z = f1 + f2 + f3 e monotonicamente decrescente no processo. Como veremos a seguir, estas caracter sticas garantem a converg encia global do algoritmo de busca linear por ajuste quadr atico. Consideremos agora os erros em rela c ao ao ponto de m nimo, i = x xi . Podemos expressar 4 = g ( 1 , 2 , 3 ). A fun c ao g deve ser um polin omio de segundo grau, pois o ajuste feito e quadr atico, e sim etrico em seus argumentos, pois a ordem dos pontos e irrelevante. Ademais, n ao e dif cil vericar que se 4 se anula se dois dos tr es erros iniciais se anulam. Portanto, na proximidade do ponto de m nimo, x , temos a seguinte aproxima c ao do quarto erro:

=C(

1 2

1 3

2 3)

Assumindo a convergencia do processo, o k - esimo erro ser a approximadamente k+4 = 1/2 C k+1 k+2 . Tomando lk = log(C c ao caracter stica k ), temos lk+3 = lk+1 + lk , cuja equa 3 e 1 = 0. A maior raiz desta equa c ao e 1.3. Esta e a ordem de converg encia local do processo, conforme deniremos a seguir. Dizemos que uma seq u encia de n umeros reais rk r converge ao menos em ordem p > 0 se

0 lim

|rk+1 r | =< k |r k r |p

A ordem de converg encia da seq u encia e o supremo das constantes p > 0 nestas condi c es. Se p = 1 e < 1, dizemos que a seq u encia tem Converg encia Linear com Taxa . Se = 0, dizemos que a seq u encia tem Converg encia Super-Linear. Assim, para c 1, c e a ordem de converg encia da seq u encia a(c ) . Vemos tamb em que k+1 k 1/k converge em ordem 1, embora n ao seja linearmente convergente, pois r /r 1. k Finalmente, (1/k ) converge em ordem 1, pois para qualquer p > 1, rk+1 /(rk )p , Todavia a converg encia e super-liner, pois rk+1 /rk 0.
k

40

Cap tulo 2. Programa c ao N ao Linear

2.3

Partan

Estudaremos agora o m etodo da Tangentes Paralelas, ou Partan, para resolver o problema de minimizar uma fun ca o convexa irrestrita. Este m etodo, como tantos outros, utiliza a id eia de modelar a fun ca o a ser minimizada por uma fun ca o quadr atica que, sem perda de generalidade, suporemos centrada na origem, f (x) = (1/2)x Qx. Pela transforma ca o linear y = U x, onde U e o fator de Cholesky U U = Q, podemos escrever f com simetria esf erica, f (y ) = (1/2)(U 1 y ) Q(U 1 y ) = (1/2)y (U t (U U )U 1 )y = (1/2)y Iy Lembremos as deni co es de paralelismo e ortogonalidade para planos de dimens oes arbitrarias: Uma reta e paralela a um plano se for paralela a uma reta deste plano. Uma reta e ortogonal a um plano se for ortogonal a toda reta deste plano. Um plano e paralelo a outro plano se toda reta deste plano for paralela ao outro plano. Um plano e ortogonal a outro plano se toda reta deste plano for ortogonal ao outro plano. Note que estas deni co es est ao de acordo com as deni co es usuais de espa cos vetoriais, mas s ao diferentes das deni co es usadas em geometria tridimensional. Uma propriedade fundamental de uma transforma ca o linear linear qualquer, y = U x, e a de preservar as rela co es de Coplanaridade e Paralelismo, i.e.: - Se os pontos x1 . . . xk pertencem a um mesmo plano (reta), assim o e para os pontos 1 k y . . . y , e vice-versa. - Se os planos 1,...k e k+1,...k+h , determinados, no antigo sistema de coordenadas pelos pontos x1 . . . xk e xk+1 . . . xk+h , s ao paralelos, ent ao estes mesmos planos, determinados no 1 novo sistema de coordenadas pelos pontos y . . . y k e y k+1 . . . y k+h , tamb em s ao paralelos. Assim, se denirmos um bom algoritmo para o caso particular de fun c oes esf ericas, usando apenas rela co es de coplanaridade e paralelismo, este mesmo algoritmo permanecer a v alido no caso geral. Este e o argumento b asico no desenvolvimento do algoritmo Partan. Lembremos ainda que a rela c ao de ortogonalidade, v w = 0, N ao e preservada por uma transforma ca o linear, pois se v = U x e w = U y , ent ao v w = (U x) (U y ) = x (U U )y = x Qy . Assim, utilizaremos a rela ca o de Q-Conjuga ca o, x Qy = 0 , ou simplesmente conjuga ca o, se a forma quadr atica Q estiver subentendida, como uma generaliza ca o do conceito de ortogonalidade. Utilizaremos a seguinte nota ca o: pk para um ponto qualquer; q k para o gradiente de f em pk , i.e., q k = Qpk ; k para o plano tangente a curva de n vel de f passando por pk , i.e., ao plano passando por pk e ortogonal a q k ; e 1,...k para o (hiper) plano de dimens ao k 1 determinado pelos pontos p1 . . . pk . Assim, 1,2 e uma reta, 1,2,3 e um plano bidimensional, etc. Finalmente, denimos os coecientes de conjuga ca o, ck,j (pk ) Qpj = (pk ) q j = cj,k . Examinemos inicialmente o problema bidimensional, do ponto de vista geom etrico.

2.3. Partan

41

Dado uma fun ca o quadr atica bidimensional, f (x) = (1/2)x Qx, que sem perda de generalidade suporemos centrada na origem, temos o seguinte m etodo geom etrico para encontrar o ponto de m nimo, p , veja gura 2.1a. Algoritmo das Cordas Paralelas: 1) Ao longo de duas retas paralelas, r0 e r3 , encontre os pontos de m nimo p0 e p3 . 2) Ao longo da reta 0,3 , encontre o ponto de m nimo, p4 . Pela simetria do problema esf erico, ca claro que o centro p pertence a reta 0,3 , de modo que p4 o ponto de m nimo em 0,3 , e o ponto de m nimo no plano, p . Como p0 e p3 s ao pontos de m nimo de f (x) nas retas r0 e r3 , estas retas s ao tamb em 0 3 0 tangentes ` as respectivas curvas de n vel de f passando por p e p , or seja, s ao p e p3 determinam tangentes paralelas. O algoritmo seguinte aproveita esta id eia. Uma reta k passando por um ponto p e dita Degenerada se pertence ao plano k .

Figura 2.1 Partan na Esfera Algoritmo Partan Bidimensional: 1) Tome um ponto inicial qualquer, p0 . 2) Tome p2 o ponto de m nimo sobre uma reta por p0 n ao degenerada. 3) Tome p3 o ponto de m nimo na reta por p2 , paralela a 0 .

42

Cap tulo 2. Programa c ao N ao Linear 4) Tome p4 o ponto de m nimo na reta por p0,3 .

Na gura 2.1b vemos que, para fun c ao esf erica, este algoritmo nada mais e que uma forma particular de implementar o algoritmo das cordas paralelas, sendo portanto correto. Como as rela c oes de coplanaridade e paralelismo (usadas para especicar o algoritmo) s ao invariantes por transforma co es lineares, vemos tamb em que o algoritmo e correto para 4 4 2 2 fun co es quadr aticas quaisquer. Repare que os vetores w = p p e w = p2 p0 s ao ortogonais. Vamos agora estender este algoritmo para o espa co tridimensional. Algoritmo Partan Tridimensional: 1) Tome um ponto inicial qualquer, p0 . 2) Tome p2 o ponto de m nimo sobre uma reta por p0 n ao degenerada. 3) Tome p3 o ponto de m nimo em uma reta por p2 , paralela a 0 e n ao degenerada. 4) Tome p4 o ponto de m nimo na reta por p0,3 . 5) Tome p5 o ponto de m nimo na reta por p4 paralela a intersec ca o de 0 e 2 . 6) Tome p6 o ponto de m nimo na reta 2,5 . Vejamos que p6 e realmente o ponto de otimo, olhando o problema no sistema de coordenadas com simetria esf erica, veja a gura 2.1. Para tanto basta vericar que: 5 4 1) p p // 0 2 , 2) p p0 0 e p p2 2 , 3) p5 p4 0,2, , 4) p5 p4 0,2 , 5) p5 p4 2,4, , 6) p6 = p . As arma c oes acima s ao v alidas: 1) por constru ao, 2) por s metria, 3) por 1 e 2, 4) pois 0,2 0,2, , 5) por simetria, e 6) segue da corretude do Partan 2D. Podemos ainda fazer algumas observa c oes a respeito da geometria do Partan 3D com 2k simetria esf erica. Primeiro, vemos de p e o ponto de m nimo do plano 0,2,...2k . Segundo 2k 2k 2k2 vemos de o vetor w p p e perpendicular a este mesmo plano. Assim, os vetores 2k w s ao mutuamente ortogonais. Estas observa c oes s ao a b ase para a generaliza ca o do Partan n-dimensional, e tamb em para a prova de sua corretude. Algoritmo Partan N-dimensional: 1) Tome um ponto inicial qualquer, p0 . 2) Tome p2 o ponto de m nimo sobre uma reta por p0 n ao degenerada. 3) Para k = 1, 2, . . . n 1: 3a) Tome p2k+1 o ponto de m nimo em uma reta por p2k n ao degenerada e paralela aos planos 0 , 2 , . . . 2k2 . 3b) Tome p2k+2 o ponto de m nimo na reta por p2k2 e p2k+1 . Teorema de Corretude do Partan n Dimensional: O algoritmo Partan n dimensional

2.3. Partan encontra o ponto de m nimo p = p2n . Para provar o teorema de corretude, provemos o seguinte teorema,

43

Teorema de Conjuga ca o do Partan: No algoritmo Partan n dimensional, os vetores 2k 2k2 w p p , k = 1 : n, s ao mutuamente conjugados.
2k

O teorema de conjuga ca o do Partan implica imediatamente no teorema de corretudo do Partan, pois em n dimens oes, n ao pode haver mais que n vetores n ao nulos Q-conjugados, com Q n ao singular. O teorema de conjuga ca o decorre imediatamente do seguinte lema, devido a B.V.Shah, J.Buehler e O.Kempthorne. Lema SBK: Para k = 1 : n, c2k,0 = c2k,2 = . . . = c2k,2k . Para provar o Lema SBK, notemos inicialmente que as equa c oes de constru c ao dos k pontos p do Partan implicam em v arias identidades entre os coecientes de conjuga c ao: (a) Pela condi ca o de paralelismo, (p2k+1 p2k ) q 2j ou, equivalentemente, para k = 1 : n 1, j = 0 : k 1, c2k+1,2j = c2k,2j . (b) Pela condi ca o de convexidade, p2k+2 = k+1 p2k+1 + k+1 p2k2 , onde = (1 ), e portanto, para k = 1 : n 1, j = 0 : k 1, c2k+2,j = k+1 c2k+1,j + k+1 c2k2,j . (c) Pela condi c ao de minimiza c ao, (p2 p0 ) q 2 = 0 e (pk pk1 ) q k = 0, ou para k = 3 : 2n, c2,2 = c2,0 e ck,k = ck,k1 . (d) Pela condi ca o de colinearidade de p2k+2 p2k+1 e p2k+1 p2k2 , para k = 1 : n 1, c2k+2,2k+2 = c2k+1,2k+2 = c2k2,2k+2 . Por (c) o Lema SBK e verdadeiro para k = 1. Como hip otese indu c ao, assumamos que o Lema SBK e verdadeiro at e k , e provemos que e verdadeiro para k + 1, i.e., que c2k+2,0 = c2k+2,2 = . . . = c2k+2,2k2 = c2k+2,2k = c2k+2,2k+2 . Usando (c), (b), (a), e novamente (c), temos a identidade (e): c2k+2,2k+2 c2k+2,2k = c2k+2,2k+1 c2k+2,2k = k+1 (c2k+1,2k+1 c2k+1,2k ) + k+1 (c2k2,2k+1 c2k2,2k ) = 0 e, usando (d), temos a identidade (f): c2k+2,2k+2 = c2k2,2k+2 De (e) e (f), temos as tres u ltimas igualdades do Lema SBK. As demais igualdades s ao obtidas tomando j k 1, e escrevendo a identidade (g): c2k+2,2k2 c2k+2,2j = k+1 (c2k+1,2k2 c2k+1,2j ) + k+1 (c2k2,2k2 c2k2,2j ) O fator da combina ca o convexa k+1 = 1, pela hip otese de indu ca o. Usando (a) em ambos os termos com fator k+1 em (g), e usando novamente a hip otese de indu ca o, temos c2k+1,2k2 c2k+1,2j = c2k,2k2 c2k,2j = 0

44

Cap tulo 2. Programa c ao N ao Linear

de forma que (g) e zero, e o lema SBK e satisfeito para 2k + 2, Q.E.D. Uma das observa co es que nos levaram ao Partan era que p2k e o ponto de m nimo do plano 0,2,...2k . Esta mesma observa ca o nos fornece uma forma simples e eciente 2k+1 2k de escolher a dire c ao de p p respeitando a condi c ao de paralelismo com os planos 2k+1 0 , 2 , . . . 2k2 . Basta tomar (sempre) a dire ca o p p2k perpendicular a 2k , isto e, na dire ca o do gradiente. Isto acontece pois s ao paralelos os tr es planos, 2k , 0,2,...2k e 0,2,...2k , onde o u ltimo plano e o paralelo ao pen ultimo passando pela origem. Todos os gradientes q 0 , q 2 , . . . q 2k2 est ao em 0,2,...2k , de modo que tomar a dire c ao do gradiente q 2k garante a perpendicularidade com os gradientes anteriores, q 0 , q 2 , . . . q 2k2 ou, equivalentemente, a condi ca o de paralelismo. Este e o algoritmo Partan Gradiente. Como Partan Gradiente e um caso particular do Partan, ele encontra a solu c ao o tima de uma fun c ao quadr atica em um numero nito (2n) de passos. Todavia, mesmo se o modelo quadr atico para a fun ca o objetivo for pobre, os passos impares s ao nada mais que minimiza c oes na dire c ao de m aximo declive. Isto explica porque o Partan Gradiente e um algoritmo de otimiza ca o irrestrita com as melhores caracter sticas de dois mundos, tendo a robustes do m etodo de Cauchy quando longe do ponto de otimo, e convergencia quadr atica quando perto da solu c ao otima. O Partan necessita de duas buscas lineares (passo impar e par) para cada dimens ao do problema. Longe do ponto de o timo o M etodo de Cauchy usaria apenas uma busca. Perto da solu ca o o tima poderiamos usar tamb em apenas uma busca linear por dimens ao, caso soubessemos gerar facilmente as n dire co es conjugadas. Esta e a id eia b asica do(s) algoritmo(s) tipo Gradientes Conjugados. Todavia este corte pela metade o n umero de buscas linears tem um custo impl cito: A implementa ca o de um mecanismo de monitoramento do comportamento do algoritmo, para decidir em que momento fazer a tranzi ca o de Cauchy para Gradientes Conjugados.

2.4

Converg encia Global

Estudaremos nesta se ca o as condi c oes de converg encia de um algoritmo para a solu c ao o tima de um problema de otimiza ca o n ao linear. Seguiremos de perto a apresenta c ao desenvolvida por W.I.Zangwill. Denimos Algoritmo como um processo iterativo gerando uma seq u encia de pontos, 1 2 k+1 x , x , x . . . que obedece a uma equa c ao de recurs ao da forma x Ak (xk ), onde o Mapa Ponto a Conjunto Ak (xk ) dene os poss veis sucessores de xk na seq u encia.
0

A id eia de usar um mapa ponto-a-congunto, ao inv es de uma fun ca o, ou mapa pontoa-ponto, nos permite estudar de forma unicada classes de algoritmos, incluindo diversas implementa c oes de v arios detalhes, c alculos aproximados ou inexatos, vari aveis randomizadas, etc. A propriedade b asica que queremos dos mapas denindo os algoritmos ea

2.4. Converg encia Global propriedade de Fechamento, denida a seguir.

45

Um mapa ponto-a-conjunto do espa co X no espa co Y , e fechado em x na seguinte k condi ca o: Se a seq u encia x converge para x, e a seq u encia y k converge para y , onde k y A(x), ent ao o ponto limite na imagem, y , pertence a imagem por A do ponto limite no dom nio, x, i.e. xk x , y k y , y k A(xk ) y A(x) . O mapa e fechado em C X se for fechado em qualquer ponto de C . Note que se trocarmos na deni ca o de fechamento a rela ca o de pertinencia pela rela ca o de igualdade, obtemos a deni c ao de continuidade para mapas ponto-a-ponto. Assim, a propriedade de fechamento generaliza a propriedade de continuidade. Com efeito, uma fun ca o cont nua e fechada, embora o inverso n ao seja necessariamente verdadeiro. A id eia b asica do teorema de converg encia global de Zangwill e procurar alguma caracter stica que melhore continuamente a cada itera ca o do algoritmo. Esta caracter stica e representada pelo conceito de fun ca o de descend encia. Seja A um algoritmo em X para resolver o problema P , e seja S X o conjunto de solu co es de P . Uma fu ca o Z (x) e uma fun ca o de descend encia para (X, A, S ) se a composi ca o de Z e A sempre decresce fora do conjunto solu ca o, e n ao aumenta dentro dele, i.e.: x / S y A(x) Z (y ) < Z (x) e x S y A(x) Z (y ) Z (x) . Em problemas de otimiza c ao, muitas vezes uma boa fun c ao de descend encia e a pr opria fun ca o objetivo. Outras vezes, fun co es de descend encia mais complexas tem de ser utilizadas, como por exemplo a soma da fun ca o objetivo com termos auxiliares, como penalidades para a viola ca o de restri co es, ou uma fun ca o decrescente de um contador de itera co es sem melhora no objetivo para certos tipos de problemas degenerados. Antes de enunciar o Teorema de Zangwill, recordemos dois conceitos de elementares de topologia de conjuntos: Um Ponto De Acumula ca o de uma seq u encia e um ponto limite para uma se suas sub-seq u encias. Um conjunto e Compacto sse qualquer seq u encia n (innita) tem um ponto de acumula ca o dentro do conjunto. Em R , um conjunto e compacto sse e fechado e limitado. Teorema de Converg encia Global (Zangwill): Seja Z uma fun ca o de descend encia para o algoritmo A denido em X com conjunto 0 1 2 de solu co es S , e x , x , x , . . . uma seq u encia gerada pelo algoritmo tal que: A) O mapa A e fechado em qualquer ponto fora do conjunto solu c ao, B) Todos os pontos da seq u encia permanecem dentro de um compacto, C X , e C) Z e cont nua. Ent ao qualquer ponto de acumula ca o da seq u encia estar a no conjunto solu ca o. Pela compacidade de C , a seq u encia gerada pelo algoritmo tem um ponto de acu-

46

Cap tulo 2. Programa c ao N ao Linear

mula c ao, x C X , para uma subseq u encia de acumula ca o, xh(k) . Pela continuidade de Z em X , o limite do valor de Z na subseq u encia de acumula c ao coincide com o h(k) valor de Z no ponto de acumula c ao, i.e., Z (x ) Z (x). Mas a seq u encia completa, k Z (x ) e monotonicamente n ao crescente, de modo que se h(k ) j h(k + 1) ent ao h(k) j h(k+1) Z (x ) Z (x ) Z (x ), de modo que o valor de Z na seq u encia completa tamb em k converge para o valor de Z no ponto de acumula c ao i.e., Z (x ) Z (x). Consideremos agora, por absurdo, que x n ao seja uma solu ca o, de modo que Z (A(x)) < Z (x). Consideremos a subseq u encia dos sucessores dos pontos na primeira subseq u encia h(k)+1 de acumula ca o, x , seq u encia esta que, por compacidade, tem tam em um ponto de acumula c ao, x . Mas pelo resultado no par agrafo anterior, o valor da fun ca o de descend encia em ambas as subseq u encias converge para o valor limite da seq u encia completa, h(k)+1 k h(k) i.e., lim Z (x ) = lim Z (x ) = lim Z (x ). Fica demonstrada assim a impossibilidade de que x n ao seja uma solu c ao. A formula c ao de muitos algoritmos e feita pela composi ca o de v arios passos. Assim, o mapa descrevendo o algoritmo completo e a composi ca o de v arios mapas, um para cada passo. Um exemplo t pico e termos um passo correspondente a escolha de uma dire ca o de busca, e o passo seguinte correspondente a uma busca linear. Os lemas apresentados a seguir s ao u teis na constru c ao de mapas compostos. Primeiro Lema de Composi ca o: Seja A de X em Y , e B de Y em Z , mapas ponto a conjunto, A fechado em x X , B fechado em A(x). Se para qualquer seq u encia xk convergindo para x, y k A(xk ) tem um ponto de acumula ca o y , ent ao o mapa composto B A e fechado em x. Demonstra ca o: Como A e fechado em x, y A(x). Como y h (k ) y e B e fechado em y , uma seq u encia h(k) h(k) z B (y ) converge para um ponto z B (y ) B (A(x)). Segundo Lema de Composi ca o: Seja A de X em Y , e B de Y em Z , mapas ponto a conjunto, A fechado em x X , B fechado em A(x). Se Y for compacto, ent ao o mapa composto B A e fechado em x. Terceiro Lema de Composi c ao: Seja A um mapa ponto a ponto de X em Y , e B um mapa ponto a conjunto de Y em Z . Se A for cont nuo em x, e B for fechado em A(x). ent ao o mapa composto B A e fechado em x.

Cap tulo 3 Programa c ao Quadr atica


No cap tulo anterior vimos um modelo relativamente simples de composi ca o de carteiras que recaiu em um problema com fun c ao objetivo quadr atica. Para esta categoria de problemas uma alternativa e, realizar algum tipo de lineariza c ao que nos permita empregar o algoritmo simplex. Todavia, e poss vel explorar a estrutura da fun c ao objetivo no caso em que as restri c oes do problema s ao lineares, conseguindo construir algoritmos para resolver o problema quadr atico. Estudaremos aqui este caso, assumindo que a fun c ao sendo minimizada e quadr atica, isto e, da forma x Qx + p x e que as restri c oes s ao lineares. Para resolv e-lo iremos construir um algoritmo similar ao simplex, baseado nas condi co es de otimalidade de Lagrange.

3.1

Multiplicadores de Lagrange

Um problema de programa ca o n ao linear tem a forma: min f (x), x | g (x) 0 h(x) = 0 , f : Rn R , g : Rn Rm , h : Rn Rk . Podemos imaginar f como um potencial, ou como a altura de uma superf cie. Equipotenciais, ou curvas de n vel, s ao curvas nas quais f (x) mant em um valor constante. O gradiente, f f /x = f /x1 , f /x2 , . . . f /xn nos d a a dire c ao de maior inclina c ao da superf cie f (x). Temos tamb em que o gradiente de f num ponto x, e ortogonal (ou perpendicular) a ` curva de n vel de f que passa por x. Daremos a seguir uma explica ca o intuitiva para uma condi ca o necess aria de otimalidade. Podemos imaginar uma part cula puxada para baixo por uma for ca f (x). Um ponto de m nimo ser a portanto um ponto de equil brio para a part cula, i.e. um ponto 47

48

Cap tulo 3. Programa c ao Quadr atica

onde a for ca que puxa a part cula para baixo se anula, ou ent ao e equilibrada por for cas de rea ca o exercidas pelas restri co es. A for ca de rea c ao de uma restri c ao de desigualdade, gi (x) 0, deve ser: a) perpendicular ` a curva de n vel desta restri c ao (pois a part cula pode mover-se livremente ao longo da curva de n vel), b) uma for ca de rea c ao para dentro da regi ao vi avel (i.e. impedindo que a part cula saia para fora da regi ao vi avel). c) Ademais esta restri c ao de desigualdade s o pode exercer uma for ca de rea c ao quando estiver ativa, algo como: a part cula n ao pode apoiar-se numa parede (restri ca o) em que n ao esteja encostada. Uma restri c ao de igualdade, hi (x) = 0, pode ser vista como um par de restri co es de desigualdade, hi (x) 0 e hi (x) 0; Ademais, dentro da regi ao vi avel, este par de restri co es ser a sempre ativo. A nossa discuss ao intuitiva pode ser resumida analiticamente nas Condi c oes de Lan grange: Se x R e um ponto o timo ent ao: u Rm , v Rk | ug + v h f = 0 , onde u 0 ug = 0 A condi ca o u 0 implica que a rea c ao das restri co es de desigualdade aponta para dentro da regi ao vi avel, enquanto a condi c ao de complementaridade, ug = 0, implica que apenas restri co es ativas podem exercer for cas de rea ca o. Os vetores u e v s ao conhecidos como multiplicadores de Lagrange.

3.2

Condi c ao de Otimalidade

O Problema de Programa ca o Quadr atica (QP) e: minf (x) (1/2)x Qx p x | x 0 T e x = te T l x tl onde as dimens oes da matrizes s ao: T e me n, me < n, T l ml n, ml < n, M l = 1, 2, . . . ml, M e = 1, 2, . . . me, N = 1, 2, . . . n. e, por hip otese, a forma quadr atica e sim etrica e positiva denida, isto e Q = Q , Q > 0. No QP, o gradiente da fun ca o objetivo e: f = x Q p , e os gradientes das restri co es s ao: gi (x) = Ti x ti gi = Ti ,

3.3. Complementaridade Linear gerando as condi c oes de equil brio de Lagrange, ou condi co es de otimalidade:
n n ml x R+ , s R+ , l R+ , e Rme , | (x Q p ) + s l T l + e T e = 0

49

i N , xi si = 0 k M l , (T l x tl)k lk = 0 ou
n n ml ml x R+ , s R+ , l R+ , e Rme , y R+ | Qx s + T l l + T e e = p

i N , xi si = 0 k M l , ylk lk = 0 onde yl = (tl T l x) As condi c oes de complementaridade (CC), x s = 0 e yl l = 0, indicam que s o restri co es justas podem equilibrar componentes negativas do gradiente da fun ca o objetivo. Com a mudan ca de vari aveis e = ep em, ep, em 0, o ponto otimo dado pelas Equa co es de Viabilidade e Otimalidade ou EVO: x l ep en s yl x l ep en s yl tl = te p

Tl 0 0 0 0 I 0 | Te 0 0 0 0 0 Q T l T e T e I 0

x s = 0, yl l = 0.

3.3

Complementaridade Linear

Em EVO as CC implicam que, na solu c ao, s ao nulos: pelo menos, n elementos dentre x e s; e pelo menos ml elementos dentre yl e l. ep e en s ao, respectivamente, a parte positiva e negativa do vetor irrestrito e, de modo que est a impl cita na formula ca o do problema que, na solu ca o, s ao nulos pelo menos me elementos dentre ep e en. Assim, na solu ca o, n ao h a mais que ml + me + n vari aveis n ao nulas, que podem ser escritas como uma uma solu ca o b asica do sistema EVO. Isto sugere usarmos o algoritmo Simplex para resolver o QP. Assumiremos agora, por mera conveni encia para as aplica co es que se seguem, que tl 0 (alterar o material que se segue de modo a prescindir desta hip otese e um exerc cio trivial). Formularemos EVO como um PPL na forma padr ao, mais as CC.

50

Cap tulo 3. Programa c ao Quadr atica

Este e o problema de complementaridade linear, PCL: x l ep en min 0 0 0 0 0 0 1 1 s yl ye yq

x l ep en s 0| yl ye yq x l ep Tl 0 0 0 0 I 0 0 tl en Te 0 0 0 0 0 De 0 s = te Q T l T e T e I 0 0 Dq p yl ye yq

onde temos as CC, os novos blocos, e o v ertice inicial, dados por, respectivamente x s = 0, yl l = 0, Dq = diag (sign(p)), De = diag (sign(te)), tl 0. 0 x 0 l 0 ep en = 0 . 0 s tl yl ye | te | yq |p|
0

Na solu ca o inicial as CC s ao satisfeitas, pois x s = 0 0 = 0, e yl l = tl 0 = 0. Para assegurar que as CC continuem sendo satisfeitas, usaremos uma regra adicional no simplex: N ao permitiremos que xi ou se torne b asica se si for uma vari avel b asica, e vice-versa, yli ou se torne b asica se li for uma vari avel b asica, e vice-versa. Regras proibitivas como esta s ao denominadas regras Tabu. Precisamos agora demonstrar que, mesmo com esta regra tabu, o algoritmo termina num v ertice otimo do PCL de valor 0, i.e., com ye = 0, yq = 0 e x a solu c ao o tima do QP.

3.3. Complementaridade Linear

51

Assumiremos que T ex = te. Para tanto minimizaremos primeiro a soma das vari aveis articiais (ye) correspondentes a estas restri co es, i.e. levaremos as vari aveis articiais ye para fora da base. Em seguida, mantendo ye fora da base, tentaremos levar as vari aveis articiais yq para fora da base. Consideremos a possibilidade do algoritmo terminar num v ertice de valor positivo, sem nenhuma vari avel residual de custo reduzido negativo cuja vari avel complementar j a n ao seja b asica. Derivaremos desta possibilidade uma contradi ca o, provando assim a corretude do algoritmo PCL para resolu c ao do QP. Particionemos cada um dos vetores x, s, yl e l em tr es blocos, de modo que as vari aveis: em x1 sejam b asicas, e portanto suas complementares em s1 sejam residuais, em s2 sejam b asicas, e portanto suas complementares em x2 sejam residuais, em yl1 sejam b asicas, e portanto suas complementares em l1 sejam residuais, em l2 sejam b asicas, e portanto suas complementares em yl2 sejam residuais. Esta solu c ao e a solu ca o o tima do seguinte PPL (as vari aveis omitidas s ao as proibidas de entrar na base pela regra de complementariedade), PAUX: x1 0 x1 x x3 0 3 l2 0 l2 l3 l3 0 e e min 0 0 0 0 0 0 0 0 0 1 s2 , u2 0 | s u3 0 3 yl1 0 yl1 yl3 yl3 0 yq 0 yq
1 3 T l1 T l1 0 1 3 T l2 T l2 0 1 3 Te Te 0 1 3 1 Q1 Q1 T l2 2 Q1 Q3 T l2 2 2 3 Q1 Q3 T l2 3 3

0 0 0 1 T l3 2 T l3 3 T l3

0 0 0 T e1 T e2 T e3

0 0 I 0 0 0 0 0 I 0 0 0 0 0 0 0 0 0 0 Dq1 I 0 0 0 Dq2 0 I 0 0 Dq3

x1 x3 l2 l3 e s2 s3 yl1 yl3 yq

= tl1 tl2 te p1 p2 p3

52 e consideremos tamb em seu dual, DAUX:

Cap tulo 3. Programa c ao Quadr atica

max tl1 tl2 te

p1

p2

p3

ul1 ul2 ue uq1 uq2 uq3

1 T l1 3 T l1 0 0 0 0 0 I 0 0

1 T l2 3 T l2 0 0 0 0 0 0 I 0

T e1 T e3 0 0 0 0 0 0 0 0

1 1 Q1 Q Q 1 2 3 3 3 Q3 Q Q 1 2 3 3 2 1 T l2 T l2 T l2 3 2 1 T l3 T l3 T l3 1 2 3 Te Te Te 0 I 0 0 0 I 0 0 0 0 0 0 Dq1 Dq2 Dq3

ul1 ul2 ue uq1 uq2 uq3

0 0 0 0 0 0 0 0 0 1

1a, justa, x1 > 0 2a, folgada, 3a, justa, l2 > 0 4a, folgada, 5a, e irrestrito 6a, justa, s2 > 0 7a, folgada, 8a, justa, yl1 > 0 9a, folgada, 10a

No dual apresentamos a solu ca o o tima, particionada conforme o primal. Nas restri co es do DAUX temos igualdade na 5a linha devido a termos e sem restri c ao de sinal, e igualdades nas 1a, 3a, 6a, e 8a linhas pelo teorema de folgas complementares, pois as vari aveis respectivamente indicadas s ao b asicas. Da 6a linha blocada das restri c oes do DAUX vemos que uq2 = 0, e da 8a linha vemos que ul1 = 0. Podemos pois escrever a equa c ao (inequa c ao justa) da 1a linha descartando os termos em ul1 e uq2 . Multiplicando esta equa c ao por uq1 temos uq1
1 T l2

Te

Q1 1

Q1 3

ul2 ue uq1 uq3

= uq1 0 = 0

analogamente, multiplicando a inequa ca o da 2a linha por uq3 , e notando que pela 7a linha uq3 0, temos ul2 ue 3 3 uq3 T l2 Q T e3 Q3 0 1 3 uq1 uq3

3.4. Problema Quadr atico Param etrico Somando e transpondo as duas u ltimas desigualdades temos ul2 ue uq1 uq3 + ul2 ue uq1 uq3
1 T l2 T e1 Q1 1 Q1 3 3 T l2 T e3 Q3 1 Q3 3

53

uq1 uq3 0

ou ul2 + ue + uq1 uq3


1 3 T l2 T l2

uq1 uq3 uq1 uq3 uq1 uq3 0

T e1 T e3
3 Q1 1 Q1 3 Q1 3 Q3

Notemos agora que os dois primeiros termos desta u ltima inequa c ao s ao n ao negativos: Pela 9a linha das restri co es do DAUX vemos que ul2 0, e pela 6a linha que uq2 = 0, donde, usando a 3a linha, concluimos que o primeiro termo e n ao negativo. Pela 5a linha o segundo termo e nulo. Obtivemos assim uma contradi ca o com a positividade de Q.

3.4

Problema Quadr atico Param etrico

Consideremos agora o Problema Quadr atico Param etrico (QPP) que consiste de encontrar todas as solu co es o timas do QP em fun ca o do par ametro : estas s ao as solu c oes ecientes do QPP. Da mesma forma que reduzimos o problema de programa ca o quadr atica (QP) a um problema de programa c ao linear (PPL), o problema de complementariedade linear (PCL), reduziremos o problema quadr atico param etrico (QPP) a um problema linear param etrico (PLP).

54

Cap tulo 3. Programa c ao Quadr atica Consideremos no QP, uma solu c ao b asica das EVO, x x l l tl Tl 0 0 0 0 I ep ep 0 0 0 0 0 = te 0 | Te en en p Q T l T e T e I 0 s s yl yl x s = 0 , yl l = 0.

ap os determinar um primeiro par ametro cr tico, podemos reescrever o problema param etrico introduzindo o termo parametrizado do vetor do lado direito como a u ltima coluna da matriz de coecientes de um novo PPL: min x l ep en s yl x l ep en s yl tl = te 0

Tl 0 0 0 0 I 0 0 | T e 0 0 0 0 0 0 Q T l T e T e I 0 p x s = 0 , yl l = 0

Como no PLP, x( ), a curva das solu c oes ecientes do QPP e linear entre um par de par ametros cr ticos consecutivos. Vemos pois que o valor otimo da solu c ao do problema quadr atico com o correspondente par ametro = (1 )k + k+1 , vopt( ), e uma fun c ao quadr atica em : vopt( ) = (1 )p x(k ) + p x(k+1 ) +(1 )2 x(k ) Qx(k ) + 2 x(k+1 ) Qx(k+1 ) +2(1 )x(k ) Qx(k+1 ) . Portanto o gr aco de da parte linear versus a parte quadr atica de vopt( ), para < < , ser a uma curva cont nua composta de arcos de quadr aticos.

3.5

Implementa c ao Computacional

A implementa c ao dos algoritmos para QP e QPP deve contemplar v arios aspectos computacionais, entre eles:

3.5. Implementa c ao Computacional a. ser numericamente est avel, b. preservar a estrutura blocada nas sucessivas bases do simplex, c. manter a esparsidade das sub-matrizes das bases, d. utilizar estruturas de dados ecientes para matrizes esparsas, e. controlar dinamicamente os erros com opera c oes de ponto utuante.

55

Estes aspectos, comuns a algoritmos de otimiza c ao envolvendo a lgebra linear computacional, fogem ao escopo introdut orio deste trabalho, sendo tratados em algumas das refer encias bibliogr acas citadas. importante ressaltar que, mesmo usando as mais avan E cadas t ecnicas de estabiliza ca o, os algoritmos dependem fortemente de termos: 1. A matriz de covari ancia positiva denida. 2. As restri co es linearmente independentes. Ao tratarmos um problema malposto, i.e. um problema pr oximo de violar qualquer das duas condi co es acima, o algoritmo torna-se inst avel, produzindo resultados incorretos. Para tentar sanar estes problemas procura-se tomar alguns cuidados no momento de modelar o problema. No cap tulo 3 apresentaremos algumas sugest oes nesta dire ca o para o problema de sele ca o de carteiras.

56

Cap tulo 3. Programa c ao Quadr atica

Cap tulo 4 Modelo de Markowitz


4.1 An alise de M edia e Vari ancia

O modelo de Markowitz e um modelo para forma c ao de portf olios, que visa maximizar a utilidade de um investidor, que deve escolher um conjunto de ativos para compor uma carteira, obedecendo a restri c oes de disponibilidade de recursos ou outra natureza. Consideram-se n ativos, com taxas de retorno r1 , . . . , rn , sendo que um portf olio e especicado pela quantidade investida em cada ativo, x1 , . . . , xn . As taxas de retorno s ao consideradas vari aveis aleat orias. Os dados do modelo (que sup oem-se conhecidos) s ao o vetor das taxas de retorno esperadas, E (r), e a matriz de covari ancia das taxas de retorno, Cov (r). E um pressuposto do modelo termos a matriz de covari ancia positiva denida. O modelo de Markowitz usa uma fun ca o utilidade do tipo m edia-e-vari ancia vide ap endice B), e dene como portf olio otimo um portf olio x que maximiza a fun ca o utilidade estando o mesmo sujeito a restri c oes lineares de igualdade, desigualdade e sinal: max U (x) = x E (r) x Cov (r)x , x 0 | T e x = te T l x tl
x

O par ametro 1/ e a avers ao ao risco do investidor. Nos cap tulos anteriores, estudamos algoritmos para resolver este problema de otimiza ca o: dado valor particular de este era o QP - Problema de Programa ca o Quadr atica. Encontrar a curva das solu co es o timas em fun ca o do par ametro , x( ), (as solu c oes ecientes) era o QPP - Problema Quadr atico Param etrico. Para n ao sobrecarregar a nota c ao, ao falarmos dos portf olios x e y , denotaremos x E (r) ou Cov (x r, y r) por, respectivamente, e(x) ou ex , e (x, y ) ou x,y . No caso de uma fam lia de portf olios parametrizada por um escalar, x(), R denotamos x ()E (r) por e() ou e , e Cov (x() r, x( ) r) por (, ) ou , . 57

58

Cap tulo 4. Modelo de Markowitz

4.2

Distribui c ao das Taxas de Retorno

Dados, em dois instantes de tempo 0 e t, o valor ou pre co de um ativo, v0 e vt , existem v arias deni c oes de taxa de retorno do ativo neste per odo. As mais comuns s ao: A taxa de retorno simples, rs | vt = (1 + rs)v0 donde rs = (vt /v0 ) 1 A taxa de retorno t vezes composta, rc | vt = (1 + rc)t v0 donde rc = (vt /v0 )(1/t) 1 A taxa de retorno continuamente composta, vt = v0 exp(r t), isto e, dada por r = (1/t) ln(vt /v0 ) = (1/t)(ln(vt ) ln(v0 )) A taxa de retorno continuamente composta pode ser derivada como o limite de Nepper, i.e. o limite da taxa de retorno t vezes (t)) = rv (t), com composta quando t , ou atrav es da equa ca o diferencial r | vt condi ca o de contorno v (0) = v0 e v (t) = vt . Para manter a coer encia de algumas interpreta co es, e para facilitar o uso de m etodos estat sticos de estima ca o, gostar amos que a distribui ca o da taxa de retorno utilizada tivesse algumas propriedades: minimamente gostar amos de ter uma distribui c ao sim etrica, idealmente, queremos uma distribui c ao Normal. Na maioria das situa c oes, a taxa de retorno continuamente composta e a que melhor se adapta a estes quesitos.

4.3

Fronteira Eciente

Consideremos a curva das solu c oes ecientes do QPP, x( ), 0 . O gr aco do valor da parte linear versus a parte quadr atica do valor das solu c oes eciente, e( ) E (r) x( ) contra v ( ) x ( )Cov (r)x( ) , e denominado fronteira eciente. Podemos interpretar o par ametro como uma medida de quanto maximizar o retorno esperado, e( ), e prefer vel a minimizar o risco do investimento, x Sx. No extremo = 0 queremos apenas minimizar o risco; no extremo oposto, = , queremos apenas maximizar o retorno esperado. Provemos que a fronteira eciente e uma curva c oncava. Usaremos para tanto o fato (demonstrado no cap tulo 2) de que a solu ca o eciente do QPP entre dois par ametros cr ticos, digamos 0 e 1 , 1 > 0 , e a correspondente combina c ao convexa das solu c oes ecientes nestes dois par ametros cr ticos, i.e., escrevendo um par ametro intermedi ario como () = (1 )0 + 1 temos a solu c ao eciente: x( ()) = (1 )x(0 ) + x(1 )

4.3. Fronteira Eciente de modo que e(x( ())) = (1 )E (r) x(0 ) + E (r) x(1 ) ou e( ()) = (1 )e(0 ) + e(1 ) Numa nota ca o mais compacta, e = (1 )e0 + e1 Analogamente, v (x( ())) = (1 )2 Cov (r x(0 ), r x(0 )) +2(1 )Cov (r x(0 ), r x(1 )) + 2 Cov (r x(1 ), r x(1 )) ou v ( ()) = (1 )2 (0 , 0 ) + 2(1 ) (0 , 1 ) + 2 (1 , 1 ) ou ainda v = (1 )2 0,0 + 2(1 )0,1 + 2 1,1 portanto e = e1 e0

59

v = 2(1 )0,0 + 2(1 2)0,1 + 21,1 2 v = 2( 0,0 20,1 + 1,1 ) 2 Como assumimos que a matriz de covari ancia e positiva denida, n ao podemos ter 0,1 = 1. Assim, sabemos que ( vide ap endice ) a u ltima express ao e positiva, e portanto, entre dois pontos cr ticos, a fronteira eciente e c oncava (note que denimos a fronteira eciente como o gr aco e( ) v ( ), e n ao v ( ) e( ) que seria uma curva convexa). Nos pontos cr ticos a derivada /e e descont nua. Para provar que a fronteira eciente, considerada integralmente, e c oncava, basta provar que, num ponto cr tico, esta derivada n ao pode aumentar. Consideremos a possibilidade de que tal ocorresse: Neste caso ter amos uma corda entre portf olios x e y , situados numa vizinhan ca sucientemente pr oxima do ponto cr tico, cuja utilidade domina a fronteira eciente. Mas como a correla ca o entre estes dois portf olios, x,y < 1 esta corda e por sua vez dominada pela utilidade das combina c oes convexas destes portf olios, (1 )x + y ; contradizendo a hip otese de uma fronteira como a considerada ser realmente eciente. No cap tulo precedente discutimos brevemente a quest ao de problemas mal postos, nos quais a matriz de covari ancia podia deixar de ser positiva denida ou as restri co es poderiam ser LD. Nos problemas de composi c ao de carteiras as seeguintes sugest oes s ao u teis para evitar problemas mal postos: As seguintes sugest oes s ao u teis para evitar problemas malpostos:

60 E(R)
. . . . . . .

Cap tulo 4. Modelo de Markowitz


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

s Figura 4.1: O gr aco risco X retorno 1. Adi c ao gradual de ativos ao portf olio: (a) Ao inv es de considerar de partida todos os ativos dispon veis no mercado, comece com um subgrupo b asico de tamanho mais modesto, como por exemplo os ativos j a presentes no portf olio, ou os mais l quidos no mercado. (b) A seguir acrescente novos subgrupos ao modelo, agrupando sempre ativos semelhantes, i.e. altamente correlacionados. Crit erios u teis de semelhan ca incluem o pa s sede da empresa, seu setor de atividade, etc. (c) Mantenha na modelagem apenas os ativos em cada subgrupo adicional que efetivamente entram na composi ca o de carteiras ecientes. 2. Adi c ao gradual de restri c oes: (a) Ao inv es de considerar de partida todas as restri co es desejadas, comece com um subgrupo de tamanho mais modesto, como as restri co es de igualdade. A seguir acrescente, dentre as condi co es de desigualdade desejadas, apenas as que se mostrarem violadas. (b) Tome cuidado para n ao usar um restri ca o de igualdade quando o que se deseja no modelo e apenas uma restri ca o de desigualdade. (c) Tome muito cuidado para n ao escrever restri c oes redundantes. Os exemplos abaixo mostram alguns exemplos de restri co es redundantes: i. x1 + x2 1 , 0 x1 0.5 , 0 x2 0.5 . ii. x1 + x2 = 1 , 0 x1 0.5 , 0 x2 0.5 .

4.4. Modelos de Tobin e Brennan

61

4.4

Modelos de Tobin e Brennan

O modelo de Tobin considera, al em dos ativos de risco, um ativo sem risco de taxa de retorno e0 , com desvio padr ao 0 = 0. Consideremos uma combina ca o convexa entre o ativo sem risco e um portf olio eciente, x( ), o portf olio x() = (1 )x0 + x( ) A covari ancia de uma vari avel aleat oria com uma constante e sempre zero, portanto o retorno esperado e o desvio padr ao deste portf olio s ao dados por: e() = (1 )e0 + e( )

() = ( ) Estes portf olios est ao representados, pela semi-reta secante ` a fronteira eciente. Vemos todavia que a utilidade de qualquer ponto na reta secante e dominada pela utilidade de um ponto na semi-reta tangente a fronteira eciente (em virtude da concavidade da fronteira eciente, esta semi-reta eu nica). Par ametros > 1 podem ser interpretados como empr estimo (possuir uma quantidade negativa) do ativo sem risco aplicados ao portf olio tangente, x( ). O par ametro correspondente ao ponto de tang encia, , e a raiz de e( ) ( ) / (e( ) e0 ) / ( )

h( ) =

Se o ponto de tang encia n ao e cr tico, h( ) = 0 traduz a igualdade entre as inclina c oes (derivadas) da fronteira eciente e da reta secante. A fun c ao h( ) e mon otona, mas descont nua nos pontos cr ticos. Se h( ) muda de sinal num ponto de descontinuidade, ent ao o par ametro de tang encia coincide com um par ametro cr tico. O modelo de Brennan assume dois ativos sem risco, a interpreta ca o deste modelo e que geralmente pagamos por um empr estimo uma taxa maior do que a que recebemos por um dep osito no ativo sem risco. Nesta situa ca o temos dois pontos de tang encia, e uma fronteira eciente que est a na primeira semi-reta para 0 < 1, coincide com a fronteira eciente do modelo de Markowitz para = 1, e esta sobre a segunda semi-reta para > 1.

62
T e 44 y 4 4 4 4 4 4 4 4 4 4 e 4

Cap tulo 4. Modelo de Markowitz

Critical Point

E e$ $ $$$ $ $ $ $$ $ $ $ $ $$ $ e $$ $$$ $ $$$ $$$

E 33 33 33

3 33 3 3 33 e

3 xm=xc(1) 3 e3

33 33 e

xc(2)

xi=xc(0)
E

4.5

Modelos de Indices

O modelo de Cohen e Pogue considera taxas de crescimento setoriais, ck , para os setores da economia k = 1, . . . K . A taxa de retorno de cada ativo, ri i = 1 . . . N e a soma de uma taxa pr opria, ai , mais as taxas de crescimento setoriais ponderadas por fatores de sensibilidade, Bi,k . Neste tipo de modelo temos sempre que k << n. Ademais, o modelo sup oe que as taxas pr oprias s ao vari aveis aleat orias independentes entre si, e tamb em

4.5. Modelos de Indices independentes das taxas setoriais: ri = ai +


k

63

Bi,k ck , Cov (ai , aj ) = 0, Cov (ai , ck ) = 0

Usando as leis de transforma ca o, podemos calcular a esperan ca e covari ancia do vetor dos retornos: E (r) = E (a) + B E (c) , Cov (r) = diag ([V ar(a1 ) . . . V ar(an )]) + B Cov (c) B Para usar este modelo temos que estimar E (ai ), V ar(ai ), Bi,k , E (c) e Cov (c), i.e. da ordem de 2n + k n + k 2 , ao inv es de n2 par ametros. Para fazer estas estimativas s ao usadas uma s erie de t ecnicas que integram estat stica e otimiza c ao. A partir de s eries hist oricas de valores de ri e ci,k , costumamos estimar o vetor a e a matriz B , por: 1. Modelos Lineares, como por exemplo: (a) An alise de regress ao, (b) Filtro de Kalman; ou 2. Modelos n ao Lineares, como por exemplo: (a) Regress ao n ao Linear, (b) Redes Neurais, (c) Filtros Adaptativos. A an alise e previs ao de ndices e feita utilizando todos os instrumentos listados acima, e ainda t ecnicas econom etricas como An alise de Clusters, An alise de Box-Jenkins, An alise Espectral, An alise de Insumo-Produto, etc.

Modelos Diagonais
Um modelo de ndices est a em forma diagonal, se a matriz de covari ancia dos ndices e uma matriz diagonal, 1,1 0 2 2 .. Cov (c) = diag([1 , . . . n ]) = . 0 k,k Modelos diagonais permitem uma interpreta ca o mais simples, pois i = j Cov (ci , cj ) = 0. Na verdade, qualquer modelo de ndices pode ser posto na forma diagonal, como veremos a seguir.

64

Cap tulo 4. Modelo de Markowitz

um teorema b E asico de An alise Num erica que, dada uma matriz sim etrica e positiva denida, S , podemos computar sua fatora c ao de Cholesky, i.e. podemos encontrar uma matriz triangular inferior, L, tal que S = LL . Usaremos agora a fatora ca o de Cholesky para transformar um modelo de ndices geral, cuja matriz de covari ancia dos ndices n ao e diagonal, num modelo diagonal equivalente. Consideremos o novo vetor de ndices d = L1 c , onde Cov (c) = S = LL . A matriz de covari ancia dos novos ndices e diagonal, pois Cov (d) = L1 Cov (c)Lt = L1 (LL )Lt = (L1 L)(L Lt ) = I O modelo originalmente escrito em fun ca o dos ndices c, pode ser facilmente reescrito em fun ca o dos novos ndices, d: r = a + Bc r = a + BLL1 c = a + Bd

4.6

Modelos de Equil brio

Apresentaremos agora alguns modelos de equil brio. Estes modelos tem uma natureza essencialmente diferente dos modelos que estudamos at e agora. Os modelos que vimos at e agora s ao modelos de decis ao: eles sup oem que um dado investidor tem certas prefer encias, e que este investidor foi a campo e mediu algumas caracter sticas dos ativos no mercado. A partir da os modelos de decis ao fornecem algoritmos que encontram as decis oes otimas (ou racionais) para este investidor. Modelos de equil brio assumem que todos os investidores no mercado se comportam racionalmente usando um mesmo modelo de decis ao. Geralmente estes modelos tamb em assumem que todos eles est ao de acordo quanto ` as entradas do modelo (suas medidas e previs oes sobre as caracter sticas relevantes dos ativos no mercado s ao id enticas). A partir destas hip oteses estes modelos calculam propriedades de pontos de equil brio (ou pontos estacion arios) do mercado.

Modelo CAPM
O modelo CAPM assume que todos os investidores usam o modelo de Markowitz para tomada de decis ao, que existe um ativo sem risco acess vel a todos os investidores, que podem tom a-lo emprestado ou nele investir com uma mesma taxa de retorno r0 , e que todos os investidores est ao de acordo quanto ao retorno esperado e a matriz de covari ancia dos retornos dos ativos de risco no mercado.

4.6. Modelos de Equil brio

65

A primeira conclus ao a que chegamos neste cen ario e que todos os investidores concordam sobre a fronteira eciente do mercado. Ademais, como no modelo de Tobin, todos os investidores formam seu portf olio sobre a linha de mercado, a partir do ativo sem risco e de um mesmo portf olio tangente, o portf olio de mercado, xm. Sob condi co es de equil brio, todas os ativos deveriam estar presentes no portf olio de mercado (pois ningu em teria interesse num ativo fora de xm). Examinemos agora a combina c ao convexa de xm com o portf olio xi constitu do apenas do i- esimo ativo, xi : xc() = (1 )xi + xm , com e() e(xc() r) e , V ar(xc() r) xc(1) coincide com xm, e para todos os demais valores de , a solu ca o xc() e dominada pela fronteira eciente; i.e., a curva e(xc()) (xc()) tangencia a fronteira eciente. Mas e() e() , = (1 )e(xi) + e(xm) = e(xm) e(xi) = (1 )2 xi,xi + 2(1 )xi,xm + 2 xm,xm (1 )xi,xi + (1 2)xi,xm + xm,xm =

Igualando, em = 1 a derivada, e(xc)/ (xc) a ` inclina ca o da linha de mercado temos (e(xm) e(xi))xm e(xm) r0 = xm,xm xi,xm xm simplicando, e(xi) = r0 + (e(xm) r0 )xi,xm /xm,xm No modelo de ndices, com um u nico ndice, tinhamos ri = i + i c Nesta situa c ao as condi co es de equil brio se traduzem como i = r0 , c = e(xm) r0 , i = xi,xm e(xi) = xm,xm e(xm) r0

Vemos portanto que o modelo CAPM espera de cada ativo um retorno igual ao do ativo sem risco, mais um retorno proporcional a taxa de crecimento da economia; este fator de proporcionalidade e por sua vez proporcional a covari ancia do ativo com o portf olio de mercado.

66

Cap tulo 4. Modelo de Markowitz

Modelo APT
O modelo APT e um modelo de equil brio baseado no modelo de ndices, que sup oem ser poss vel construir portf olios de arbitragem com as seguintes caracter sticas: 1. x 1 = 0, 2. x B = 0, 3. V ar(x a) 0. Isto e, portf olios de valor zero, imunes a todas as taxas de crescimento setorial. e quase livres de risco pr oprio. A condi ca o de equil brio do modelo e: As condi co es acima implicam que a taxa esperada de retorno de um portf olio de arbitragem deve ser nula, x E (a) = 0. Esta condi ca o de equil brio e motivada pela possibilidade de ganhar dinheiro sem risco, caso a condi ca o n ao seja satisfeita. Matematicamente, para qualquer portf olio de arbitragem, a condi ca o de equil brio se expressa como: x 1 B = 0 x E (r) = 0

Mas a implica c ao acima e equivalente a termos E (r) = 1 B l0 l1 . . . lk

Assim o modelo APT conclui que, em condi c oes de equil brio, o retorno esperado de um dado ativo, E (ri ), e uma constante, l0 , mais termos proporcionais aos pr emios de risco de cada setor, lk ponderados pelo fator de sensibilidade, Bi,k . Finalmente, usando novamente um argumento de arbitragem, conclu mos que a constante l0 deve ser a taxa de retorno do ativo sem risco, r0 .

Cap tulo 5 Programa c ao Din amica


Neste cap tulo procuraremos introduzir conceitos b asicos de programa ca o din amica e apresentar exemplos de resolu ca o de problemas. Programa ca o din amica e uma metodologia que pode ser empregada para resolver uma extensa classe de problemas. Mais que uma t ecnica, e uma abordagem conceitual que procura subdividir o problema de interesse em subproblemas de mais simples resolu ca o, estabelecendo uma rela ca o de depend encia entre os diversos subproblemas. Essa rela ca o possibilita que a solu ca o o tima do problema original seja obtida recursivamente: em cada est agio de resolu ca o busca-se a solu c ao o tima de um subproblema que depende apenas da solu c ao o tima do subproblema anteriormente resolvido. O objetivo de um problema de programa c ao din amica ou controle o timo e otimizar as a co es de um operador capaz de inuenciar o sistema em estudo. Procura-se determinar uma regra de decis ao o tima, ou seja, que minimize o custo total associado a ` tomada de decis ao. Discutiremos a quest ao assumindo dois agentes: o operador que tem a ` sua disposi ca o um conjunto de controles, ou a co es, para atuar sobre o sistema, e o administrador do sistema a quem cabe estabelecer uma pol tica que determine o controle a ser usado pelo operador em fun ca o do estado do sistema. A evolu c ao do sistema ao longo do tempo e descrita por uma equa c ao relacionando o estado em que o mesmo se encontrar a no instante t+1 e seu hist orico passado e presente; tamb em nesta descri ca o considera-se o conjunto de a c oes tomadas pelo operador dentro do horizonte de tempo em quest ao, i.e., os controles exercidos nos instantes presente e passado.

5.1

Conceitos B asicos

Os conceitos apresentados a seguir ser ao utilizados neste cap tulo e sintetizam alguns dos principais aspectos de programa ca o din amica. 67

68

Cap tulo 5. Programa c ao Din amica 1 Tempo, est agio, per odo, epoca, instante: e um par ametro de evolu c ao do sistema. Muitas vezes representa tempo, mas nem sempre esta interpreta ca o e a mais adequada. Pode ser inerente a ` natureza do problema mas com freq u encia e introduzido articialmente para subdividir o problema original em subproblemas. 2 Horizonte: um limitante superior para o ndice de tempo t. Neste trabalho, o dom nio do tempo t ser a sempre discreto, uma consequ encia da t onica algor tmica e computacional adotada. Geralmente tem a forma t {0, 1, 2, . . . , h} ou t {1, 2, . . . , h}, onde h e o horizonte (de planejamento). Podemos ter h = +. 3 Estado: descri ca o das condi c oes do sistema no instante t, denotada por x(t). Quando n ao houver ambig uidade, o instante t em discuss ao ser a omitido. 4 A c ao, decis ao, controle: u(t). Descreve a inu encia do operador sobre o sistema. Otimizar as a co es do operador e o objetivo de um problema de programa ca o din amica ou de controle otimo. Neste livro veremos exemplos de espa cos de estado e controle discretos e cont nuos, ainda que utilizemos somente par ametro de tempo discreto. a equa 5 Equa c ao de Evolu c ao Din amica: E c ao que nos d a o pr oximo estado do sistema em fun c ao dos estados e controles presentes e passados, x(t + 1) = g (x(t), u(t), x(t 1), u(t 1), . . .), x(1), u(1). 6 Trajet oria: uma poss vel seq u encia de estados e controles, do instante inicial ao horizonte, x(1), u(1), x(2), u(2), . . . x(h). 7 Evolu c ao sem mem oria, Sistema Markoviano: x(t + 1) = g (x(t), u(t)) e fun ca o apenas do estado e controles presentes. Muito conveniente em programa c ao din amica, sendo que muitas vezes adotamos uma descri ca o redundante de estados apenas para obter markovianidade. A grande maioria dos problemas de programa ca o din amica s ao markovianos ou s ao tais que a fun ca o g (.) depende de um n umero nito de estados passados. Neste u ltimo caso x(t + 1) = g (x(t), u(t), x(t 1), u(t 1), . . . , x(t n), u(t n)), isto e, a equa c ao de evolu ca o e uma equa c ao de diferen cas nitas de ordem n+1. 8 Restri c oes: condi co es especicando as trajet orias vi aveis (admiss veis) para o sistema, geralmente expressas na forma R(x(0), u(0), . . . , x(h), u(h)) 0. Geralmente estudaremos restri co es independentes do passado, R(t, x(t), u(t)) 0. 9 Custo instant aneo: ct = c(t, x(t), u(t)), o custo do controle u(t) estando o sistema no estado x(t).

10 Custo aditivo, custo descontado, custo m edio: a soma, a soma descontada, ou a m edia dos custos instant aneos ao longo de uma trajet oria (caminho

5.1. Conceitos B asicos de evolu c ao) do sistema. S = ct = c(t, x(t), u(t)).


h t=1 ct ,

69 S=
h t t=1

ct , ou S = (1/h)

h t=1 ct ,

onde

11 Fun c ao de custo: uma fun ca o f (x(0), u(0), x(1), u(1), . . . , x(h), u(h)) que pretendemos minimizar. Geralmente f () e uma fun ca o simples do custo aditivo ou descontado. Muitas vezes utilizamos truncamentos da fun ca o de custo (fun c oes de custo futuro), f (x(t), u(t), x(t + 1), u(t + 1), . . . , x(h), u(h)), para sub-dividir o problema em problemas auxiliares. 12 Pol tica: Uma regra para tomada de decis ao. Se o sistema se encontra em um estado x(t), a ado ca o de uma pol tica gera uma a ca o ou controle u(t), dado por u(t) = (t, x(t), u(t 1), x(t 1), . . . , u(0), x(0)). Geralmente estudaremos pol ticas que dependem apenas do estado presente, u(t) = (t, x(t)). Uma pol tica e vi avel se respeita as restri co es do sistema. 13 Pol tica otima: a pol tica vi avel o tima e aquela que minimiza a fun ca o de custo 14 Princ pio de otimalidade: uma prova (argumento) de que a pol tica o tima e fun ca o apenas do estado presente. Note que a markovianidade do sistema n ao implica num princ pio de otimalidade, sendo f acil apresentar contra-exemplos com fun co es de custo n ao aditivas. 15 Condi c ao de contorno: base para a aplica ca o recursiva da equa c ao de Bellman. Estabelece o valor da fun ca o custo no horizonte de planejamento. 16 Equa c ao de Bellman ou equa c ao de otimalidade: uma arma ca o sobre a pol tica otima, baseada no princ pio de otimalidade e que nos permite calcular a solu ca o otima do problema recursivamente. Muitas vezes a equa c ao de Bellman n ao e montada diretamente sobre a pol tica o tima, mas sobre o o timo da fun c ao custo numa s erie de problemas auxiliares. 17 Recupera c ao da pol tica o tima ou backtracking: recupera ca o da pol tica o tima a partir da tabela de valores calculados com a equa ca o de Bellman. 18 Equa c ao de evolu c ao em sistemas estoc asticos: a evolu ca o de um sistema estoc astico markoviano e dada pela probabilidade (distribui ca o de probabilidade) de transi ca o do sistema para o estado x(t + 1), a partir do estado x(t) com controle u(t), descrita como pr(t, x(t), u(t), x(t + 1)). 19 Fun c ao de custo em sistemas estoc asticos: nestes sistemas adota-se ao inv es da fun c ao custo, a esperan ca das mesmas. Assim, as fun c oes mais utilizadas em sistemas estoc asticos s ao: 1. O valor esperado do custo aditivo (ou descontado): f = E (S =
h t=0 c(t, x, u)).

70

Cap tulo 5. Programa c ao Din amica 2. Uma combina c ao linear do valor esperado e da vari ancia do custo aditivo: f = E (S ) V ar(S ). 3. A esperan ca de uma fun c ao do custo aditivo ou descontado, como por exemplo no controle quadr atico Gaussiano sens vel a risco (ELQG): f = (2/) log E (exp(S/2)) = E (S ) + (/4)V ar(S ) + O(2 )

5.2

Dist ancia M nima em um Grafo

Um problema cl assico em teoria dos grafos, denominado problema do caminho m nimo, possui diversas aplica co es tanto em engenharia como em nan cas. Iremos resolv e-lo dentro do contexto de programa c ao din amica. Primeiramente apesentaremos algumas deni co es elementares: Um grafo, G = (X, U ), e uma estrutura composta de um conjunto de v ertices, X = {1, . . . , n}, e um conjunto de arestas U X X . Imagine v ertices como sendo cidades, e uma aresta u = (x, y ) como uma estrada de m ao u nica indo de x para y . Um grafo e completo se cont em todas as n2 arestas poss veis. Um caminho e uma sequ encia de arestas consecutivas, p = ((v0 , v1 ), (v1 , v2 ), (v2 , v3 ), . . . , (vt1 , vt )). Um ciclo e um caminho que come ca e termina no mesmo v ertice, v0 = vt , sem repetir nenhum outro v ertice. O tamanho de um caminho, |p| , e o n umero de arestas que o comp oem. Denotamos por p(s) = vs o s- esimo v ertice em p. O custo e uma fun c ao c(u), U R. O custo aditivo de um caminho e a soma dos t custos das arestas que o comp oem, i.e. c(p) = 1 c((vt1 , vt )). O problema que queremos resolver e determinar p (1, y ), o caminho de m nimo custo de 1 at e y . Assumiremos v alidas as seguintes hip oteses: O custo de uma aresta nunca e negativo. O grafo e completo.

5.2. Dist ancia M nima em um Grafo

71

A primeira hip otese simplica grandemente o problema. J a a segunda e apenas uma conveni encia de modelagem e pode ser assumida sem perda de generalidade uma vez que arestas inexistentes podem ser modeladas por arestas de custo muito alto, ou +. Para resolver o problema do caminho m nimo iremos utilizar o princ pio de programa ca o din amica, construindo problemas auxiliares. No t- esimo subproblema queremos determinar um caminho de no m aximo t arestas que minimize a dist ancia entre o v ertice (estado) origem, 1, e o destino y. O ndice de tempo t neste caso indicar a os subproblemas construidos e estar a associado ao tamanho dos caminhos construidos. A decis ao a ser tomada em cada estado (cada v ertice do grafo) consiste em determinar a pr oxima aresta que ir a compor o caminho m nimo. Vamos subidividir o problema considerando v arios subproblemas nos quais iremos determinar um caminho de custo m nimo entre o v ertice (estado) 1 e o v ertice y com a restri ca o de conter no m aximo t arestas. Ou seja, para t {0, 1, 2, . . .} consideramos: Problema t: Encontre o m nimo custo aditivo, para um caminho de 1 at e y de tamanho menor ou igual a t, i.e. determine a fun ca o de custo f (t, 1, y ) = onde (t, 1, y ) = t P (t, 1, y ) = {p| |p| = t, p(0) = 1, p(t) = y } e P s=0 P (s, 1, y ) Caso n ao exista uma caminho de 1 a y de tamanho menor ou igual a t temos, pela deni ca o de min, f (t, 1, y ) = +. O primeiro problema auxiliar tem solu ca o trivial: f (t = 0, 1, 1) = 0 e f (t = 0, 1, y ) = + , y = 1 . Temos tamb em a rela c ao de recorr encia: f (t + 1, 1, y ) = minu=(x,y) {f (t, 1, y ), (f (t, 1, x) + c(x, y ))}. Esta recorr encia se explica da seguinte forma: Qualquer caminho p P (t, 1, x) seguido da aresta u = (x, y ) resulta num caminho em P (t + 1, 1, y ), e qualquer caminho em P (t + 1, 1, y ) pode ser obtido exatamente desta forma (por que?). Estabelecida a recorr encia podemos usar a solu c ao do problema auxiliar com t = 0 e a rela c ao de recorr encia para determinar os otimos da fun c ao de custo, f (t, 1, y ), para t {1, 2, . . .}. Em particular, a primeira aplica ca o da rela ca o de recorr encia nos fornece: f (1, 1, y ) = c((1, y )), y X .
(t,1,y ) pP

min

c(p)

72 1

Cap tulo 5. Programa c ao Din amica


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Figura 5.1: Um grafo orientado Na gura 4.1 temos um grafo com 5 v ertices. Seus custos s ao apresentados na Tabela I abaixo: Tabela I C (i, j ) 1 2 3 4 5 1 0 2 1 2 2 0 2 0 2 3 2 0 3 4 4 1 3 0 0 5 2 0 4 0 0 Na tabela abaixo temos o exemplo de aplica c ao da recorr encia para t {0, 1, . . . , n 1} no grafo da gura 4.1. t\y 0 1 2 3 4 1 2 3 4 5 0 0 2 1 2 0 2 4 1 1 0 1 4 1 1 0 1 3 1 1 Tabela II

Lema 1: t n, f (t, x, y ) = f (n 1, x, y ) Prova: Considere p nimo custo de x a y com tamanho t n. t o caminho de m Provemos que existe um caminho de tamanho t 1 com custo menor ou igual ao custo de p o ha n v ertices no grafo, pt cont em ao menos um ciclo. Como o t . Como t n, e s custo deste ciclo e n ao negativo, basta remov e-lo para obter um caminho como o desejado. Disto segue trivialmente o lema (por que?).

5.3. Cadeias de Markov e Custo Esperado QED

73

Pelo Lema 1 sabemos que, f (n 1, 1, y ), calculado na u ltima linha da Tabela II, e f (1, y ), o custo da solu ca o o tima do problema original! De posse da Tabela I, e de uma calculadora de m ao, e f acil recuperar (backtrack) p = argminpP (n,1,y ) c(p), o caminho que realiza este m nimo. Na Tabela I temos o caminho otimo para um dado destino tra cado nos val ores o timos do custo futuro, f , em negrito. Explique exatamente como foi poss vel tra car este caminho na tabela pronta. Seria poss vel ir tra cando o caminho ao longo da constru ca o da tabela, i.e. ap os o c alculo de cada linha? Como este tra cado na tabela efetivamente nos d a o caminho o timo, assinalado na gura-1? O programa mindist.m implementa em Matlab algoritmo de m nima dist ancia. Estudeo e escreva o algoritmo de backtraking.

Algoritmo de Dijkstra
O programa dijk.m implementa em MATLAB o c alculo da tabela de custos o timos. O algoritmo de Dijkstra e uma formula c ao mais eciente, requerendo apenas da ordem de n2 opera co es aritm eticas e espa co de mem oria, contra respectivamente n3 e n2 no primeiro programa. Tente explicar o algoritmo de Dijkstra em dijk.m e justicar sua corretude. Dica: Ao t ermino da fase t = 0, 1, . . . , n 1 temos ao menos t + 1 v ertices para os quais o custo do caminho otimo j a foi determinado corretamente. Estes s ao os ndices n ao mais presentes no conjunto inder.

5.3

Cadeias de Markov e Custo Esperado

A natureza dos problemas de nan cas nos leva a considerar modelos estoc asticos: sejam pre cos, taxas, volumes ou outras as vari aveis de decis ao, devemos levar em conta a incerteza inerente a elas. H a v arias maneiras de abordar esta quest ao: uma delas e interpretar algumas vari aveis de decis ao como vari aveis aleat orias, estudando sua distribui ca o de probabilidade. Outra forma de inserir aleatoriedade nos modelos e considerar que h a uma probabilidade conhecida de mudan ca de estado no sistema em quest ao. Essa segunda abordagem nos permite utilizar os princ pios de programa ca o din amica apresentados anteriormente.

74

Cap tulo 5. Programa c ao Din amica

Muitos problemas em nan cas procuram determinar uma sequ encia de decis oes o timas ao longo de um horizonte de planejamento. Em geral a tomada de decis ao em um dado instante depende do estado em que o sistema se encontra naquele particular momento e da a ca o, ou controle, que ser a exercido no sistema a partir de ent ao. Os modelos de programa ca o din amica s ao facilmente empreg aveis nestes casos e possibilitam que seja introduzida aleatoriedade no problema. Neste cap tulo apresentaremos uma classe de modelos denominada cadeias de Markov, procurando inser -los no contexto de programa ca o din amica. Como no cap tulo precedente iremos procurar construir uma express ao recursiva que forne ca a a c ao otima a ser tomada em cada per odo, considerando que h a um custo associado a cada uma das poss veis a c oes. Nos exemplos que ser ao apresentados, teremos como meta minimizar o custo esperado.

Decis ao por custo esperado


Consideremos um sistema com estados x X = {1, 2, . . .}, evoluindo num par ametro discreto t T = {1, 2, . . . , h}, ou seja, x(t) X . A cada instante t tomamos uma a c ao u(t) U = {0, 1, 2, . . .}. A a ca o tomada e fun c ao da pol tica adotada, isto e, de uma regra de decis ao previamente estabelecida. e fun c ao do estado, A cada controle u(t), associamos um custo determin stico cu x (t), que do controle e do instante de tempo considerado. Consequentemente podemos atribuir a u cada trajet oria (x(1), u(1), x(2), u(2), . . . , x(h), u(h)) um custo aditivo dado por h t=1 cx (t) A aleatoriedade no sistema e introduzida atrav es de probabilidades de mudan ca de u ca o do estado x(t) para estado. Assim, denimos Px,y (t) como a probabilidade de transi u o estado y = x(t + 1), e obviamente tomamos y Px,y (t) = 1, x, u, t. Com isto podemos falar no custo esperado associado a uma pol tica, pois xar uma pol tica determina a probabilidade de cada trajet oria poss vel. Assim, denimos o custo associado a uma pol tica , como sendo o valor esperado do custo aditivo, a partir de um estado inicial x(t):
h

f (1, x(1)) = E (
t=1

cu x (t))

Igualmente podemos construir, para uma xada pol tica e um dado instante t, a fun c ao de custo futuro,
h

f (t, x(t)) = E (
s= t

cu x (s)),

o custo esperado futuro a partir do estado x(t). Denimos tamb em o otimo da fun ca o de custo futuro como f (t, x) = min f (t, x). Queremos determinar a pol tica o tima que minimize a fun ca o de custo.

5.4. Hedging Uma express ao recursiva para o c alculo do o timo da fun c ao e facilmente obtida: Condi ca o de contorno: para t no horizonte h, temos f (h, x) = minu cu x (h). Para t {h 1, h 2, . . . 1} vale a rela ca o de recorr encia f (t, x) = min{cu x (t) +
u y X u (t) f (t + 1, y )} Px,y

75

Como no problema de m nima dist ancia num grafo, a partir da condi ca o de contorno (neste caso no horizonte h) e da equa c ao de Bellman (recorr encia sobre a fun ca o f()), e poss vel resolver todos os problemas auxiliares, e a partir destes recuperar a solu ca o o tima do problema original.

5.4

Hedging

Ilustremos a t ecnica de controle em cadeias de markov em um problema concreto. O problema em quest ao e aned otico, mas ilustra o uso de estoques reguladores como forma de Hedging, ou prote ca o contra as ocila co es de pre co ou demanda no mercado. O Bigode, que vende cachorro-quente na porta da faculdade de economia, tem uma demanda constante de uma caixa de salsicha (uma unidade) por dia. O Bigode vende esta unidade a um pre co constante de US$ 120, todo dia. Ele compra esta unidade no mercado a um pre co que varia aleatoriamente, sendo que o mercado abre cada dia no estado m, onde a unidade custa v (m), com probabilidade p(m) conforme descrito na tabela abaixo. m 1 2 3 v(m) 90 100 110 p(m) 0.2 0.7 0.1 Al em da unidade sendo vendida no dia, o Bigode tem em sua casa um estoque de l(t) unidades. O semestre letivo tem h + 1 dias consecutivos e, exceto no u ltimo dia t = h + 1, o Bigode tem que decidir quantas unidades comprar, u(t). Deste modo, l(t + 1) = l(t) + u(t) 1. A decis ao sobre quanto comprar e tomada estando ciente do estado x(t) = (l(t), m(t)). Como o Bigode n ao pode faltar com seus clientes, nem guardar este produto perec vel por mais de 4 dias, impomos as restri co es 0 l(t) 3, 1 t h. Para maximizar seus lucros, o Bigode quer uma pol tica (vi avel) u(t) = (t, l(t), m(t)) que minimize a esperan ca de seu custo operacional durante o semestre. Com a pol tica o tima, , o custo operacional esperado, do dia t at e o nal do semestre, e (equa ca o de Bellman): f (t, l(t), m(t)) = minu|0l+u13 (u v (m) +
3 n=1

p(n) f (t + 1, l + u 1, n))

76

Cap tulo 5. Programa c ao Din amica

O resultado da pol tica otima no u ltimo dia de compra do semestre, t = h, e (condi ca o de contorno): f (h, l, m) = 0, se 1 l 3; v (m), se l = 0.

5.5

Custo Descontado

Em muitas situa co es reais existem oportunidades de investimento em cada per odo com uma taxa de juro r(t). Na presen ca desta oportunidade, para pagar o custo cu x (t) do controle u(t) no instante t bastaria tomar no instante t 1 o valor presente deste custo, 1 ou seja, (t 1)cu x (t), onde (t 1) = 1+r(t1) Nestas condi co es gostar amos de substituir, como crit erio de avalia ca o de uma pol tica, o custo esperado pelo custo descontado esperado:
h

(t1)

(s) cu x (t))

f (1, x(1)) = E (
t=1

s=1

A equa c ao de Bellman (rela c ao de recorr encia) e facilmente adaptada para incorporar o fator de desconto: f (t, x) = min{cu x (t) + (t)
u y X u Px,y (t) f (t + 1, y )}

No caso de uma taxa de desconto constante estas equa c oes se reduzem respectivamente a:
h

f (1, x(1)) = E (
t=1

(t1) cu x (t))

f (t, x) = min{cu x (t) +


u y X

u Px,y (t) f (t + 1, y )}

Como o custo presente dos controles no horizonte de planejamento diminuem exponencialmente com h, a pol tica otima inicial, (1, x) u(1), tende a convergir para um controle u(1) a medida que o horizonte se distancia (i.e. que h aumenta). Pela mesma raz ao, para horizontes long nquos, os controles o timos iniciais tendem a ser pouco sens veis a `s condi co es de contorno. Ambas as caracter sticas tornam geralmente mais robustas as modelagens pelo crit erio de custo descontado.

5.6. Precica c ao de Contratos Derivativos

77

5.6

Precica c ao de Contratos Derivativos

Em um contrato de op c ao de compra (venda) o contratante adquire do contratado o direito de comprar (vender) uma mercadoria do (ao) contratado por um pre co de exerc cio pr eestabelecido, K . Note que o contratante adquire o direito de fazer uma compra (venda), sem ter a obriga ca o de faze-la (ao contr ario de um simples contrato futuro de compra ou venda), da o nome contrato de op ca o. Existem duas modalidades b asicas de contrato de op c ao: em um contrato de tipo Americano o contratante tem o direito de exercer sua op ca o a qualquer instante t desde a assinatura do contrato at e at e sua data de vencimento, 0 t h. No contrato de tipo Europeu a op ca o pode somente ser exercida na data de vencimento do contrato. Um contrato op ca o de compra (venda) e tambem denominado um call (put). O pre co pelo qual o contratante adquire o call (put) e o pre co do contrato, C (P ). A mercadoria especicada no contrato e chamada ativo fundamental do contrato. O contratado recebe uma remunera c ao para absorver os riscos decorrente das varia co es de pre co do ativo fundamental, e e por isto denominado especulador. O contratante paga para se proteger contra os mesmos riscos, e e por isto denominado hedger. Contratos de op ca o s ao denominados ativos derivativos, pois os ganhos e perdas de ambas as partes resultam (derivam) da evolu ca o do pre co do ativo fundamental. O call ou put deve especicar a mercadoria em termos de quantidade, local de entrega (pra ca) e qualidade. Ambas as partes estabelecem um intermediador id oneo, por exemplo uma bolsa de mercadorias, para dirimir quaisquer duvidas. No exerc cio de uma op ca o teriamos ent ao a entrega f sica da mercadoria na pra ca especicada com verica ca o, por parte da bolsa, da quantidade e qualidade. A mercadoria especicada no contrato e muitas vezes uma mercadoria amplamente comercializada, n ao importando o fornecedor (uma commoditie), e cujo pre co de mercado, S (t), e tambem divulgado pela bolsa. Nestas condi co es, e geralmente mais c omodo para ambas as partes substituir a entrega f sica por um acerto de contas em fun ca o da diferen ca entre o pre co de exerc cio e o pre co de mercado da comoditie na data do exerc cio. Por exemplo, num call, o vendedor da op ca o (contratado ou especulador) simplesmente pagaria ao comprador da op c ao (contratante ou hedger) o valor max{0, (S (t) K )}. No caso de uma put este valor seria max{0, (K S (t))}. Para colocar os contratos de op c oes no contexto de programa ca o din amica em cadeias de programa ca o din amica e preciso modelar a evolu c ao do pre co S (t) por um processo estoc astico discreto. No modelo de passeio aleat orio trinomial temos que o pre co poderia assumir apenas tr es valores: P r(S (t + 1) = f u(t) S (t)) = pu(t), P r(S (t + 1) = f d(t) S (t)) = pd(t), P r(S (t +1) = S (t)) = 1 pu(t) pd(t), onde f u(t), f d(t), pu(t) e pd(t) s ao, respectivamente, os fatores de subida e descida do pre co fundamental entre os instantes t e t + 1, e suas probabilidades. No modelo binomial temos pu(t) + pd(t) = 1. No modelo

78

Cap tulo 5. Programa c ao Din amica

geom etrico h a uma simetria entre os fatores de subida e descida, f d(t) = 1/f u(t). Esta hip otese de simetria, que e motivada por certas considera co es econ omicas e emp ricas, em muito facilita a representa ca o do espa co de estados. No modelo estacion ario os fatores e suas probabilidades s ao constantes no tempo. Assim no modelo binomial geom etrico temos apenas os par ametros f u(t) e pu(t). Mesmo num modelo t ao simples podemos retratar um processo onde a taxa r(t) = ln(S (t + 1)/S (t)) tem valor esperado e desvio padr ao (tend encia e volatilidade) (t) = pu(t) f u(t)+(1 pu(t))/f u(t) e (t) = pu(t) (1 pu(t)) (f u(t) 1/f u(t))2

Estes conceitos podem ser colocados dentro da linguagem de programa ca o din amica, como pode ser visto nos exerc cios abaixo: 1. Escreva um programa para ajudar o bigode a gerenciar sua empresa. 2. Call Americano de salchicha: Modique o programa do Bigode para um mercado de salchicha onde o pre co segue um passeio aleat orio trinomial geom etrico sim etrico e estacion ario, denido pela tend encia e volatilidade di arias ms e ss. Admita que um especulador ofere ca ao Bigode no primeiro dia do semestre a oportunidade de comprar por C um (1) call americano para Q caixas, com pre co de exerc cio K , expirando no nal do semestre. Considere que as caixas a serem entregues no eventual exerc cio da op ca o s ao do tipo longa-vida, que podem ser armazenadas at e o nal do semestre, independentemente do estoque regular. O espa co de estados do modelo deve incluir, cotidianamente, o pre co do mercado, o estoque regular, o estoque longa-vida, e a posse ou n ao do call n ao exercido. O espa co de controle deve incuir, cotidianamente, a possibilidade do Bigode se abastecer no mercado at e o limite do estoque regular, e a possibilidade de exercitar o call caso o Bigode o possua. No primeiro dia o Bigode deve decidir tamb em pela compra ou n ao do call. Queremos como sa da deste programa de programa c ao din amica a decis ao otima no primeiro dia pelo crit erio do custo descontado com taxa de desconto di aria , e tamb em a rendabilidade esperada do neg ocio do Bigode. 3. Escreva um programa de precica c ao, que utilizando o m etodo da bisec c ao e invocando o programa de programa c ao din amica, determine valor C a partir do qual a call deixa de ser interessante para o Bigode. 4. Adapte o programa de programa ca o din amica, para uma taxa de desconto (t), que tem valor inicial (1) e segue um passeio aleat orio trinomial geom etrico estacion ario, denido pela tend encia e volatilidade di arias md e sd. O programa Bigopt.m, listado em ap endice, resolve parcialmente o exerc cio 1.

5.7. Pol ticas de Scarf (s,S)

79

5.7

Pol ticas de Scarf (s,S)

Diferentes caracter sticas ou objetivos parciais de um sistema produtivo t pico sugerem tend encias divergentes para a pol tica de estoques. Por exemplo: grandes tempos de setup (tempos de que decorrem da necessidade de ajustar ou limpar o equipamento antes iniciar ou depois de terminar a prudu c ao de um lote de um dado produto), ou perda de vendas e mercado por demora no atendimento ao cliente favorecem a forma ca o de grandes estoques; enquanto altos custos nanceiros e de manuten ca o favorecem o trabalho com pequenos estoques. Para encontrar solu c oes otimas nesta situa c ao paradoxal, que geralmente s ao solu c oes intermedi arias entre as pol ticas extremas, e necess ario equacionar e otimizar um modelo quantitativo. Discutiremos agora uma classe de modelos para otimizar pol ticas de planejamento de produ ca o e estoques em uma empresa industrial ou comercial. Consideraremos a demanda como uma vari avel aleat oria, a ser especicada por uma distribui ca o de probabilidade a partir das previs oes de demanda. A decis ao (ou controle), em cada per odo n, e a quantidade de produto a ser produzida, y (n). Sob certas condi co es e possivel demonstrar que o controle o timo e caracterizado pelo par ponto de recompra patamar de recomposi c ao: caso o estoque seja menor ou igual ao ponto de recompra, sn , devemos recompor o estoque, comprando ou produzindo y (n), at e o patamar Sn . Estas s ao as pol ticas de Scarf. A estrutura b asica dos modelos (s, S ) e a seguinte: 1. Um horizonte nito de planejamento, i.e. N per odos (meses, semanas) de produ c ao, n {1, 2, . . . N }. Em cada per odo herdamos um estoque x(n) do per odo n 1, produzimos para aumentar o estoque at e o n vel y (n), e nalmente, ap os as vendas do per odo, o estoque baixa para z (n). 2. d(n), a demanda no per odo n. 3. b(n) a fra c ao dos clientes recusa espera no atendimento. 4. A equa ca o b asica de evolu c ao do sistema e a equa ca o de evolu ca o dos estoques, z (n, y, d). Diferentes equa co es de evolu ca o de estoques modelam, v arios aspectos pertinentes; por exemplo: z (n, y, d) = (y d) + b(n) (d y )+

Para qualquer n umero real x denimos x+ como sendo a parte positiva de x, isto e, + x = max{x, 0}. Estoques negativos representam pedidos n ao atendidos em espera.

80

Cap tulo 5. Programa c ao Din amica 5. k (n), o custo constante de set-up para produ ca o. 6. w(n), o custo unit ario de compra ou produ c ao. 7. r(n), o pre co unit ario de venda. O estoque remanecente do u ltimo per odo e liquidado por um pre co r(N + 1). 8. h(z, n) o custo de manter o estoque z (n). Para valores negativos de z , este custo representa uma penalidade pela espera do cliente. Assim o custo instant aneo no per odo n ser a dado por c(n) = w(n) (y x) + k (n) (y x)> + h(z (n, y, d)) r(n) (y z )

Para qualquer n umero real x denimos x> como 1 se x > 0 e 0 caso contr ario. 9. a(n), o fator de desconto intertemporal computado a partir das taxas de ina ca o e juros no per odo, nos dene o custo presente de operar o sistema ate o horizonte de planejamento (custo aditivo descontado):
N n

f=
n=1

c(n)
l=1

a( l )

A partir desta descri ca o do sistema podemos computar uma pol tica o tima de estoques na vari avel de decis ao, y (n), atrav es de programa ca o din amica no contexto de cadeias de Markov. Ilustramos agora a sem antica do modelo de Scarf num contexto aned otico. Consideremos um lojista que vende esquis em Bariloche. Ele pode fazer pedidos a ` f abrica (em Buenos Aires) semanalmente pagando um custo xo de k = US$100,00 ao motorista, mais um custo unit ario de US$100,00 por esqui pedido. Cada esqui e revendido em Bariloche por r = US$150,00 , mas b = 30% dos clientes se recusa a esperar caso n ao haja mercadoria em estoque. A taxa de juros semanal na temporada e de 2%. A temporada tur stica de inverno e de N=10 semanas, nda a qual e feita uma liquida ca o de estoque ao pre co de r(N+1)= US$ 80,00. Assumiremos que n ao h a custo de manuten ca o de estoques e analisaremos duas demandas: a primeira determin stica de d = 10 unidades por per odo (semana) e a segunda estoc astica com a seguinte distribui c ao: d 7 8 9 10 11 12 13 = 10 . , d probab 0.05 0.10 0.20 0.30 0.20 0.10 0.05 As primeiras duas linhas da tabela seguinte apresentam a ordem de compra otima para a primeira semana, sem estoque inicial. VP e o valor presente esperado do resultado

5.7. Pol ticas de Scarf (s,S)

81

operacional do neg ocio. e o decr escimo esperado deste resultado, caso no primeiro = 10 unidades. Os valores n. nos d per odo seja feita a ordem sub- otima de d ao uma estimativa da perda de resultado para ordens iguais ` a demanda esperada, d = 10, em processo cont nuo. As colunas referentes a s1 e S1 s ao respectivamente o ponto de recompra e o patamar de recomposi c ao no primeiro per odo. Nas linhas seguintes da tabela estudamos como estes resultados s ao afetados pela altera ca o de alguns dos par ametros do modelo. Nas u ltimas duas linhas estudamos a introdu ca o de um custo de falta de 10% do valor de venda por unidade. Dentro da nota c ao apresentada temos a seguinte situa c ao inicial: N = 10 b(n) = 0.3 k (n) = US$ 100.00 r(n) = US$ 150.00 a(n) = 0.98 r(N + 1) = US$ 80.00 w(n) = US$ 100.00 hn/r = 0 Da compara ca o dos resultados no cen arios determin stico e estocastico, vemos que e mais facil obter lucros no mundo determin stico (maior valor presente), estando todavia no mundo com incertezas o maior valor de planejamento (maior ). Ademais, a an alise de sensibilidade aos diversos fatores nos mostra que as seguintes altera c oes podem induzir a um aumento no n vel otimo de estoques: Aumento do lucro unit ario, diminui ca o da taxa de juros, aumento de liquidez (um mercado com clientes cativos e denominado viscoso, enquanto um mercado com grande disponibilidade de fornecedores e denominado l quido), aumento de custo de set-up, e nalmente, aumento do custo de mal atendimento.

82

Cap tulo 5. Programa c ao Din amica

Solu ca o Otima do Modelo B asico Alterado Altera ca o Demanda Pol tica Ordem VP s1 S1 Otima Dados Originais r = 200 a = 0.99 b = 0.7 k = 50 hn/r = 0.1 Estoc ast. Determ. Estoc ast. Determ. Estoc ast. Determ. Estoc ast. Determ. Estoc ast. Determ. Estoc ast. Determ. 05 05 07 07 06 07 08 08 07 07 07 07 31 30 32 30 52 50 32 30 21 20 32 30 31 30 32 30 52 50 32 30 21 20 32 30 3980 4070 8532 8643 4299 4393 3960 4070 4172 4250 3964 4070

n 447 389 494 389 610 590 522 389 225 195 476 389

Cap tulo 6 Contole e Estima c ao LQG


Neste ponto do trabalho, o leitor j a deve ter indagado quanto ` a aplicabilidade, sob o claro que a ponto de vista computacional, das estruturas recursivas que construimos. E viabilidade de utiliza ca o do m etodo depende fortemente da estrutura da fun ca o custo e tamb em da din amica relacionando estados e controles. Estudaremos agora sistemas onde o controle o timo em cada instante e trivialmente construido a partir de uma transforma ca o linear do estado no qual o sistema se encontra. Trabalharemos com sistemas nos quais os estados e os controles s ao determin sticos e relacionam-se com seu passado segundo uma express ao linear do tipo x(t + 1) = A(t) x(t) + B (t) u(t), com matrizes A(t) e B (t) conhecidas, e onde os custos s ao fun co es quadr aticas dos estados. As propriedades decorrentes desta estrutura s ao muito fortes e acarretam um ganho substancial do ponto de vista de eci encia computacional. Deve-se ainda salientar que um grande n umero de problemas reais admitem uma modelagem desta natureza, e assim estes modelos conjugam eci encia e aplicabilidade.

6.1

Evolu c ao Linear com Custo Quadr atico

Num sistema Linear com custo Quadr atico (LQ) os estados evoluem na forma x(t + 1) = A(t) x(t) + B (t) u(t) sendo o custo instant aneo uma fun c ao quadr atica c(t, x, u). Mais precisamente, o custo quadr atico instant aneo e denido em fun c ao de uma matriz Q(t), sim etrica e positiva denida, ou seja: QX (t) QC (t) QC (t) QU (t) 83 x(t) u(t)

c(t, x(t), u(t)) =

x(t)

u (t)

84

Cap tulo 6. Contole e Estima c ao LQG

A fun c ao de custo adotada e simplesmente o custo aditivo e para cada instante t, denimos as fun c oes auxiliares de custo futuro
h

f (t, x) =
s= t

c(s, x, u)

que fornecem o custo a partir do instante t, quando adotamos a pol tica . Para este problema convencionamos que u(h) = 0, ou seja, o controle exercido no horizonte de planejamento e nulo. O seguinte teorema apresenta um resultado muito importante e surpreendente que permite que para esta particular classe de sistemas, o controle o timo em cada instante seja obtido trivialmente como uma transforma c ao linear do estado em que o sistema se encontra.

Teorema (Princ pio de Otimalidade) Em um sistema linear com custo quadr atico vale: a. A pol tica o tima e uma transforma c ao linear do estado presente, i.e. existe uma matriz K (t) denominada matriz de controle tal que u (t) = K (t)x(t) b. O custo futuro otimo e uma fun ca o quadr atica do estado presente, i.e. existe, para cada instante t, uma matriz F O(t), tal que f (t) = x(t) F O(t)x(t). Prova: Base de indu c ao (condi ca o de contorno) Como por hip otese u(t) = 0, segue trivialmente da deni c ao do custo que f (x(h)) = x(h) QX (h)x(h). Passo de Indu c ao (equa ca o de Bellman):

f (x(t)) = min c(x(t), u(t)) + x(t + 1) F O(t + 1)x(t + 1) =


u(t)

min x(t)
u(t)

u (t)

QX (t) + A(t) F O(t + 1)A(t) QC (t) + A(t) F O(t + 1)B (t) QC (t) + B (t) F O(t + 1)A(t) QU (t) + B (t) F O(t + 1)B (t) x(t) u (t) F X (t) F C (t) F C (t) F U (t) x(t) u(t)

x(t) u(t)

= min
u(t) u(t)

= min f (x(t), u(t))

6.1. Evolu c ao Linear com Custo Quadr atico A determina ca o do controle o timo e obtida atrav es de u (f (x, u)) = 2F U (t)u(t) + 2F C (t) x(t) = 0 Mas u (f (x, u )) = 0 u (t) = K (t)x(t)

85

onde K (t) = F U (t)1 F C (t) x(t) (Note que F U (t) e invers vel pois F U (t) > 0, o que segue da hip otese de positividade de Q(t)). Assim temos:

K (t)x(t) F U (t)1 F C (t) x(t) = (QU (t) + B (t) F O(t + 1)B (t))1 (QC (t) + B (t) F O(t + 1)A(t)) Tomando u(t) = K (t)x(t), temos f (x(t)) = x(t) F O(t)x(t) = x(t) (F X (t) F C (t)F U (t)1 F C (t) )x(t) Q.E.D. Observe que tomando o controle o timo u(t) = u (t), conforme apresentado no teorema, a evolu c ao do sistema ser a dada por x(t + 1) = A(t)x(t) + B (t)K (t)x(t) = (A(t) + B (t)K (t))x(t) G(t)x(t) A matriz G(t) = A(t) + B (t)K (t) e denominada matriz de ganho do sistema. A prova do teorema n ao s o garante a forma linear do controle o timo e a forma quadr atica do o timo da fun ca o de custo futuro, mas fornece explicitamente um sistema de rela co es de recorr encia para o c omputo das matrizes envolvidas. Mais precisamente, tanto as matrizes que fornecem os controles e custo futuro o timos (F O(t) e K (t)) quanto as matrizes que s ao utilizadas para obt e-las ( F X (t), F C (t), F U (t), F O(t) ) podem ser escritas em fun c ao da matriz Q(t) que dene o custo quadr atico e da matriz F O(t + 1). Ou seja, [F X (t), F C (t), F U (t), F O(t), K (t), G(t)] = R[QX (t), QC (t), QU (t), F O(t + 1)]. Esta rela ca o de recorr encia regredindo no tempo e conhecida como a Equa c ao de Riccati. Note que na equa ca o de Riccati a matriz F O e o elo da recorr encia, sendo a u nica entidade aparecendo com ndice t + 1 o que se reete em um ganho computacional substancial.

86

Cap tulo 6. Contole e Estima c ao LQG

6.2

Sistemas Homog eneos no Tempo

Analisemos o que ocorre quando trabalhamos com sistemas invariantes no tempo, ou seja, quando as matrizes de coecientes s ao constantes. Chamamos de Sistemas Homog eneos no Tempo a `queles que evoluem segundo uma rela c ao do tipo: x(t + 1) = Ax(t) + Bu(t). Uma propriedade que seria desej avel nestes sistemas e denominada controlabilidade. Um sistema e control avel se e s o se podemos lev a-lo a um estado previamente xado a partir de qualquer estado inicial x(1). Formalmente, Controlabilidade Um sistema linear x(t + 1) = Ax(t) + Bu(t) e k-control avel sse, para qualquer estado inicial x(1), existe uma sequ encia de k controles, u(1), u(2), . . . , u(k ), que levam x(1) a um estado arbitrariamente prexado, x(k + 1). f E acil vericar que o sistema e k-control avel se e s o se a equa ca o linear x(k + 1)
1 i uvel, ou equivalentemente, se a matriz Ak x(1) = k i=0 A Bu(k i) for sempre sol 2 k1 M (k ) = B |AB |A B | . . . |A B tiver posto pleno.

Vimos, ao estudar o Princ pio de Otimalidade, que o custo futuro o timo se escreve como uma fun ca o quadr atica do estado presente e que sua determina c ao est a diretamente associada a ` estrutura recursiva obtida para o c alculo das matrizes F X (t), F C (t), F U (t), K (t) e G(t). Uma importante quest ao torna-se ent ao a exist encia de um ponto xo na Equa c ao de Ricatti, i.e. na express ao recursiva. Queremos assegurar, na verdade, que para sistemas com horizonte muito grande a fun ca o custo futuro convirja. Observemos inicialmente que, xado um horizonte h e um estado x, f (t, x) decresce monotonicamente em t. De fato, sendo x (t) e u (t) a trajet oria otima correspondendo ao custo f (t, x), temos que
h h1

f (t, x) =
k =t h

c(k, x (t), u (k ))
k=t

c(k, x (t), u (k ))

=
k=t+1

c(k, x (t), u (k )) f (t + 1, x)

Reciprocamente, xando x e t, fh (t, x) cresce monotonicamente ao aumentarmos o hori zonte, h. Se todavia (A, B ) for control avel, fh (t, x) e limitada superiormente, e portanto converge para um limite f (t, x). Logo, em virtude do princ pio de otimalidade, tamb em F O converge. Como todas as outras matrizes na equa ca o de Riccati s ao escritas em fun ca o de F O, temos limites de horizonte innito para F X , F U , F C , K e G. No limite

6.3. Evolu c ao Linear com Ru do Gaussiano

87

de horizonte innito F O ser a um ponto xo da equa ca o de Riccati. Esta e a Equa c ao de Equil brio de Riccati: F O = R[QX, QC, QU, F O]. O conceito Estabilidade indica se um sistema homog eneo converge para a origem. Estabilidade Um sistema linear x(t +1) = Ax(t)+ Bu(t) e dito est avel se e somente t se existir uma matriz de controle, K , tal que x(t +1) = (A + BK ) x(0) = Gt x(0) 0 Mas como os autovalores de Gt s ao as t- esimas pot encias dos autovalores de G, a u ltima condi c ao equivale a termos todos os autovalores de G dentro do c rculo unit ario. Nestas condi co es, e por abuso de notra ca o a matriz de ganho G e dita est avel. No caso particular onde a matriz B e nula, e imediato que a seq u encia {x(t)} converge para a origem, a partir de um estado inicial arbitr ario, x(1), se e somente se limt At = 0. Mas como os autovalores de At s ao as t- esimas pot encias dos autovalores de A, a u ltima condi ca o equivale a termos todos os autovalores de A dentro do c rculo unit ario. Neste t caso ||x(t)|| || ||x(0)||, onde e o autovalor de G de m aximo m odulo. Nestas condi c oes o sistema, e por abuso de nota c ao a matriz A, e dito est avel. Estabilidade, assim como controlabilidade e uma condi ca o que assegura limita ca o de fh (t, x) e consequentemente a converg encia de f . Para controlar sistemas com horizonte muito grande e pr atico utilizarmos o controle de horizonte innito para t < ha, (h ha) h, o controle (sub- otimo) de cruzeiro, e o controle o timo para a aproxima ca o nal em ha t h.

6.3

Evolu c ao Linear com Ru do Gaussiano

Estudamos na se c ao anterior, modelos onde tanto estados quanto controles eram determin sticos. A introdu c ao de ru dos aleat orios em um sistema tr as os benef cios de modelos estoc asticos, por em exige que empreguemos um ferramental mais sosticado, especialmente quando se pretende realizar estima co es. Admitiremos que s ao conhecidas observa c oes de vari aveis relacionadas com os estados cujos valores queremos prever. Nestas observa co es est ao presentes ru dos, e ser a nosso objetivo ltr a-los de forma a conseguir informa c oes sobre os estados. Aqui tamb em ser a considerado essencialmente o caso linear, onde tanto as observa co es y (t) e os estados x(t) num dado instante t, quanto os estados em instantes distintos (x(t), x(t 1)) est ao interligados por rela c oes lineares. A literatura comumente apresenta a resolu ca o do problema aqui analisado em termos de uma equa c ao recursiva onde as solu co es, i.e., as estimativas dos estados em um dado instante s ao obtidas em fun c ao da estimativa do instante imediatamente anterior, por em

88

Cap tulo 6. Contole e Estima c ao LQG

com a desvantagem de haver a necessidade de se inverter uma matriz a cada passo. A formula c ao aqui apresentada, ainda que possa ser colocada dentro deste contexto, possibilita que seja explorada a estrutura dos sistemas lineares nos quais a resolu c ao do problema recai. Um sistema Linear com Ru do Gaussiano (LG) evolui na forma x(t + 1) = A(t)x(t) + B (t)u(t) + v (t) onde s ao dados o controle u(t) e as matrizes A(t) e B (t), e v (t) e um processo estoc astico Gaussiano, i.e. de esperan ca zero e distribui c ao normal multi-variada. No sistema LG a informa ca o que temos a cada instante sobre o estado do sistema, x(t), e a observa ca o : y (t) = C (t)x(t) + w(t) onde a matriz C (t) e dada, e w(t) e um processo Gaussiano. Para completar a caracteriza c ao do sistema LG, e dada a covari ancia dos ru do, i.e. w(t) )= v (t) V X (t) V C (t) V C (t) V Y (t)

Cov (

= L(t)L(t) .

Os ru dos em tempos distintos s ao supostos independentes. Nosso objetivo e encontrar a melhor estimativa para os estados passados, presente, e o estado do pr oximo instante futuro quando se disp oe de informa c oes at e o presente t. Assim, queremos estimar no instante t, os valores, x(t k |t) ou x(t|t), ou x(t + 1|t). Estimar x(t) no instante t, x(t|t), e chamado ltra c ao , estimar x(t + 1) no instante t, x(t + 1|t), e chamado predi c ao , enquanto estimar os estados passados, x(t k |t), e chamado revis ao. Numa nota ca o compactada, queremos estimar o vetor x[t + 1] = [x(1) | . . . |x(t) |x(t + 1) ] , a partir das equa co es de evolu ca o e das observa co es presente e passadas, y [t] = [y (1) | . . . |y (t) ] . Sendo as matrizes B (t) e os controles u(t) conhecidos, est ao dispon veis as diferen cas no estado por a ca o do controle, d(t) = B (t)u(t) = x(t + 1) A(t)x(t) v (t) d(0) = x(1) v (0) onde d(0) e uma estimativa do estado inicial, x(1), sujeita a um erro Gaussiano v (0) de covari ancia L(0)L(0) . Podemos escrever todas as equa c oes relacionando os estados entre si e tamb em as observa c oes e estados ao longo do tempo na forma de um sistema de equa co es lineares cuja matriz e esparsa e estruturada:

6.3. Evolu c ao Linear com Ru do Gaussiano

89

d(0) y (1) d(1) y (2) d(2) y (t) d(t)

I C (1) A(1) I C (2) = A(2)

x(1) x(2) x(t) x(t + 1)

C (t) A(t) I

v (0) w(1) v (1) w(2) v (2) w(t) v (t)

ou, numa nota c ao mais compacta, d[t] = A[t]x[t + 1] + v [t] y [t] = C [t]x[t] + w[t]. Duas quest oes s ao decisivas ao tratarmos da resolu ca o do problema: a obten ca o de seus par ametros, i.e., das matrizes de coecientes A(t), B (t) e C (t) que denem a din amica no sistema acima, e a determina c ao das estimativas para uma particular escolha dos par ametros. Restringiremos nossa discuss ao ao caso em que os par ametros s ao conhecidos pois a quest ao de estima ca o de parAmetros foge do escopo deste trabalho. Conhecidos os par ametros do modelo, a obten ca o de estimativas de estados e conseguida atrav es da resolu ca o do sistema acima, explorando-se esta particular estrutura. Multiplicando a equa c ao acima por L[t]1 = diag (L(0), L(1), . . . , L(t))1 temos (0) d y (1) (1) d y (2) (2) d y (t) (t) d (0) L (1) C (1) L (1) A (2) C (2) A x(1) x(2) x(t) x(t + 1) + v (0) w (1) v (1) w (2) v (2) w (t) v (t)

C (t) (t) L (t) A

ou, numa nota ca o mais compacta, [t] = A [t]x[t + 1] + v d [t] y [t] = C [t]x[t] + w [t]

90

Cap tulo 6. Contole e Estima c ao LQG

Ao colocar o sistema nesta forma obtemos um novo sistema, ainda bem estruturado, e com a vantagem de possuir ru dos brancos, i.e., com matriz de covari ancia igual a ` identidade. Isso decorre da propriedade da covari ancia: Cov (M x) = M Cov (x)M , e pode ser vericado facilmente. Neste caso, sabemos que coincidem o estimador de m axima verossimilhan ca , MLE, o estimador de m nimos quadrados, LSE, e tamb em o melhor estimador linear n ao tendencioso, BLUE. Portando a melhor estimativa de x[t + 1], LSE, e obtida minimizando a norma quatr atica de res duo (ru do) no sistema de equa co es super-determinado acima. Vamos ent ao resolver o sistema apresentado utilizando transforma co es ortogonais nos subsistemas do sistema original. Essas transforma c oes deixam inalterada a norma quadr atica de um vetor, e nos permitem colocar o sistema de equa co es numa forma ainda mais conveniente. Consideremos ent ao as seguintes fatora c oes ortogonais (QR): (0) (0) S (0) d (0) L d L(0) 0 (1) Q(1) C 0 y (1) 0 y (1) = 0 (1) (1) L (1) d (1) (1) d A 0 L (t 1) (t 1) S (t 1) d (t 1) (t 1) 0 d L L Q(t) C 0 0 y (t) (t) 0 y (t) = (t) (t) (t) (t) (t) A L d 0 L d As transforma co es acima s ao facilmente constru das como sequ encias de rota c oes de e A da direita para a esquerda, eliminando os Givens que eliminam as colunas de C elementos de cima para baixo. As transforma co es ortogonais do sistema de equa co es s ao denidas pelas composi c oes das transforma co es ortogonais aplicadas aos blocos, Q[t] = Q(t) Q(t 1) . . . Q(1) Q(0) . Aplicando Q[t] ao nosso (0) L (0) d 0 (1) y d(1) = d (t 1) (t) y (t) d sistema de equa co es temos S (0) 0 L(1) x(1) x(2) 0 x(t) (t 1) S (t 1) L x(t + 1) 0 0 L(t) + v (0) w (1) v (1) w (2) v (2) w (t) v (t)

ou, numa nota c ao mais compacta, separando os dois sub-sistemas, [t] = L [t]x[t + 1] + v d [t] y [t] = 0 + w [t]

6.4. Princ pio de Equival encia

91

[t] = L [t]x[t +1], O primeiro subsistema, d e triangular e pode ser resolvido exatamente, i.e. com ru do v [t] = 0. Todavia no segundo sub-sistema nada pode ser feito para acomodar y [t] = 0. Portando o estimador de m nimos quadrados e simplesmente a solu ca o do sistema triangular. Para fazer apenas a ltra c ao, isto e, estimar x(t) no instante t, n ao e necess ario manter (t), (t) e d toda a matriz L[t]. Para a opera ca o de predi c ao no instante t basta preservar L como ca claro na rela ca o de recorr encia: (t) (t)1 d x(t + 1|t) = L (t 1) S (t 1)x(t + 1)) (t 1)1 (d x(t|t) = L

6.4

Princ pio de Equival encia

O ltro acima descrito e uma variante do ltro de Kalman. Estude a implementa ca o deste ltro em Matlab, e use-o para estimar os estados presentes e passados, no sistema do exemplo dado, ao longo de sua evolu ca o temporal. Interprete o ltro que construimos em termos de programa ca o din amica. Interprete cada um dos conceitos apresentados no cap tulo 4 no contexto do ltro. N ao e dif cil demonstrar que a teoria de controle LQ e compat vel com a teoria de sistemas LG no seguinte sentido: o controle u que minimiza o custo de controle esperado, em um sistema LQG ( sistema linear com custo quadr atico e ru do gaussiano ), e igual ao controle u que minimiza o custo de controle no sistema LQ determin stico, onde o estado do sistema LQ e o estado do sistema LQG estimado pelo Filtro de Kalman. Este e o Princ pio de Equival encia. Neste sentido o problema de controle LQ e o problema de estima ca o LG s ao ditos duais.

6.5

Generaliza co es do Filtro de Kalman

Diversas generaliza co es do Filtro de Kalman s ao comumente empregadas. Para os problemas que analisamos em nan cas, estudamos sistemas na forma: x(t + 1) = ft (x(t)) + B (t)u(t) + (t) y (t) = gt (x(t)) + (t) tN O objetivo aqui e encontrar uma estimativa, x (t | t), para algum t , As fun co es ft e gt podem n ao ser lineares, por em s ao deriv aveis. Tamb em aqui os controles ut s ao determin sticos e y (t) s ao as observa c oes realizadas. A abordagem mais simples consiste em fazer aproxima c oes por Taylor recaindo no caso linear.

(6.1)

92

Cap tulo 6. Contole e Estima c ao LQG

6.6

Exerc cios

1. Reescreva a teoria de sistemas LQ com custo aditivo descontado. 2. Considere o vetor de estados aumentado, [x1 , . . . xn , 1] ; e explique como usar esta u ltima coordenada constante do vetor de estado para introduzir custos puramente lineares em x ou u. 3. Implemente a equa c ao de Ricatti com custo descontado em Matlab. Monte e controle um exemplo simples. 4. Prove que (a) Todo sistema control avel e estabiliz avel. (b) Todo sistema k -control avel e k + 1-control avel. (c) Se x Rn , todo sistema control avel e n + 1-control avel. 5. De exemplos de (a) Um sistema estabiliz avel mas n ao control avel. (b) Um sistema, em R2 , 2-control avel mas n ao 1-control avel. 6. Imagine que a medida que o tempo passa, passemos a descrer cada vez mais de nossas observa c oes e estimativas passadas: Formalmente, estando no instante t tomaremos Cov ( w(t k ) ) = tk v (t k ) V X (t k ) V C (t k ) V C (t k ) V Y (t k ) .

Este modelo e chamado de mem oria evanescente. Reescreva a teoria de estima ca o LG com mem oria evanescente, e interprete o medelo como um problema de programa ca o din amica com custo descontado. 7. Implemente a Estima ca o LG em linguagem C. a. Considere mem oria evanescente. b. Considere que os par ametros de evolu c ao do sistema, A, B e L, bem como o desconto intertemporal , s ao constantes. Considere que a matriz de observa ca o, C e usualmente igual a um padr ao, C , mas que podemos especicar, em cada instante, altera co es do padr ao. c. Explique como utilizar altera co es em C para modelar observa co es perdidas, dias sem preg ao, etc. d. A implementa c ao deve permitir ltra c ao, previs ao para at e kp passos no futuro (via observa co es nulas), e revis ao para no m aximo kr << h instantes anteriores. Explique como esta revis ao limitada facilita a implementa ca o do algoritmo.

6.6. Exerc cios

93

e. Implemente medidas de erro quadr atico m edio sobre os res duos de ltra ca o, k -revis ao, e k -predi ca o. Explique como poder amos usar estas medidas de erro para melhor ajustar o modelo (A, B, C, L, ).

94

Cap tulo 6. Contole e Estima c ao LQG

Cap tulo 7 Arvores de Decis ao


Este cap tulo apresenta o algoritmo REAL de aprendizado autom atico, para constru ca o de a rvores de classica c ao TDIDT (Top Down Induction Decision Tree) com atributos a valores reais [1], [7], [8]. O Projeto REAL come cou como uma aplica ca o a ser utilizada no mercado de a co es, provendo um bom algoritmo para pever a adequa ca o de estrat egias de opera ca o. Neste contexto, o sucesso ou fracasso de uma dada opera ca o corresponde a classe do exemplo, enquanto os atributos s ao indicadores t ecnicos que assumem valores reais. As exigencias dos usu arios para a ferramenta de suporte a ` decis ao explicam v arias caracter sticas u nicas do algoritmo. O projeto come cou testando v arios algoritmos de aprendizado apresentados no projeto ESPRIT-StatLog [5]; o software CAL5 [6], um algoritmo Top-Down para gera c ao de a rvores de classica c ao, mostrou-se especialmente adequado para a aplica ca o que tinhamos em mente. O algoritmo CAL5 teve uma forte inu encia no projeto, e foi utilizado como a principal refer encia para compara ca o de performance. Na nossa aplica c ao o algoritmo REAL apresentou algumas vantagens importantes:

1. Geralmente as a rvores de classica c ao tem menor taxa de erro.

2. Uma medida u nica de convic c ao mostrou-se mais conveniente que o tradicional par (probabilidade, con an ca).

3. Os procedimentos de ramica ca o do REAL detem-se naturalmente, dispensando um posterior procedimento de poda. 95

96

Cap tulo 7.

Arvores de Decis ao

7.1

Formula c ao do Problema

Os problemas de classica ca o s ao apresentados como uma matriz A, n (m + 1). Cada linha, A(i, :), representa um examplo, e cada coluna, A(:, j ), um atributo. As primeiras m colunas s ao atributos a valores reais, e a u ltima coluna, A(i, m + 1) e a classe do exemplo. Parte destes exemplos, o conjunto de treinamento, e usado pelo algoritmo para gerar a a rvore de classica ca o, que e ent ao testada com os exemplos remanecentes. A taxa de erro de classica c ao no conjunto de teste e uma maneira simples de avaliar a a rvore de classica ca o.

7.2

Constru c ao da Arvore

Cada itera ca o principal do algoritmo REAL corresponde ` a ramica c ao de um n o terminal (folha) da a rvore. Os exemplos naquele n o s ao classicados de acordo com o valor do atributo selecionado, e novos ramos s ao gerados para intervalos especicos. A parti ca o do dom nio de um atributo em (sub) intervalos adjacentes e n ao sobrepostos corresponde ao processo de discretiza c ao. Cada itera ca o principal do REAL inclui: 1. A discretiza ca o de cada atributo, e sua avalia ca o por uma fun c ao de perda. 2. Sele c ao do melhor atributo, e ramica ca o de acordo com sua discretiza c ao. 3. Jun c ao de intervalos adjacentes que n ao alcan caram um limiar m nimo de convic c ao.

7.3

Convic c ao e Fun c ao de Perda

Dado um n o de classe c con n exemplos, k dos quais incorretamente classicados e n k corretamente classicados, queremos um par ametro escalar, cm, para medir tanto a probabilidade de termos uma classica c ao incorreta como o n vel de conan ca desta probabilidade. Uma tal medida simplicada de convic ca o nos foi colocada como uma necessidade dos usu arios para operar no mercado de capitais. Seja q a probabilidade de classica ca o incorreta para um exemplo em um dado n o, p = (1 q ) a probabilidade de classica c ao correta, e assumamos a exist encia para q de uma distribui c ao Bayesiana: D(c) = P r(q c) = P r(p 1 c) Denimos a medida de convic ca o: 100 (1 cm)%, onde cm = min c | P r(q c) 1 g (c)

7.4. Procedimento de Discretiza c ao

97

e g( ) e uma bije ca o monotonicamente crecente de [0, 1] sobre si mesmo. Nossa experi encia no mercado de capitais nos ensinou a ser muito cautelosos com a certeza de arma co es, assim tomamos g ( ) uma fun c ao convexa. Neste artigo D(c) e a distribui ca o a posteriori de uma amostra tomada de uma distribui ca o de Bernoulli, com uma distribui ca o a priori uniforme para q : B (n, k, q ) = comb(n, k ) q k pnk
c 1

D(c, n, k ) =
q =0

B (n, k, q ) /
q =0

B (n, k, q )

= betainc(c, k + 1, n k + 1) Tamb em neste artigo focalizamos nossa aten ca o em: g (c) = g (c, r) = cr , r 1.0 onde r e chamado o par ametro de convexidade. Com estas escolhas, a posteriori e uma fun ca o beta incompleta, facilmente computavel, e cm e a raiz da fun ca o monotonicamente decrecente: cm(n, k, r) = c | f (c) = 0 f (c) = 1 g (c) D(c, n, k ) = 1 cr betainc(c, k + 1, n k + 1) Finalmente queremos uma fun ca o de perda para a discretiza ca o baseada na medida de convic c ao. Neste artigo utilizamos a somat oria da convic ca o da classica ca o de cada exemplo, i.e. a soma, sobre todos os intervalos, da medida de convic ca o do intervalo vezes o n umero de exemplos nele contido. loss =
i

ni cmi

7.4

Procedimento de Discretiza c ao

Dado um atributo, o primeiro passo do processo de discretiza c ao e ordenar os exemplos no n o pelo valor do atributo, e ent ao agrupar exemplos vizinhos de mesma clase, ou com identico valor do atributo. Assim, ao m deste primeiro passo temos, para o atributo escolhido, a melhor discretiza c ao ordenada onde cada intervalo contem um grupo de exemplos de uma mesma classe, ou com o mesmo valor do atributo. Nos passos subseq uentes, procuramos juntar intervalos para reduzir o valor da fun c ao de perda da discretiza ca o. O ganho de juntar J intervalos adjacentes, Ih+1 , Ih+2 , . . . Ih+J , e o decrecimo relativo da fun ca o de perda: gain(h, j ) =
j

loss(nj , kj , r) loss(n, k, r)

98 onde n =
j

Cap tulo 7.

Arvores de Decis ao

nj e k conta os exemplos de classes minorit arias no novo intervalo.

A cada passo realizamos a opera ca o de agrupamento de m aximo ganho. O procedimento de discretiza ca o termina ao esgorarem-se as opera co es de agrupamento com ganho positivo. Os exemplos seguintes mostram alguns intervalos de classe uniforme que seriam agrupados que poderiam ser agrupados durante o procedimento de discretiza c ao. A nota c ao (n, k, m, r, ) signica que temos dois grupos de mesma classe, de tamanho n e m, separados por um grupo de tamanho k com exemplos de outra classe. r e o par ametro de convexidade, e + () indica que poderiamos juntar (ou n ao) os tr es intervalos. ( 2,1, 2,2,+) ( 6,2, 7,2,-) ( 7,2, 6,2,-) (23,3,23,2,-) (11,3,13,3,-) (12,3,12,3,-)

( 6,2, 8,2,+) ( 7,2, 7,2,+) (23,3,43,2,-) (11,3,14,3,+) (12,3,13,3,+)

( 6,2,23,2,+) ( 7,2,42,2,+) (23,3,44,2,+) (11,3,39,3,+) (12,3,54,3,+)

( 6,2,24,2,-) ( 7,2,43,2,-) (11,3,40,3,-) (12,3,55,3,-)

Nestes exemplos vemos que e necess ario termos nos extremos grupos sucientemente grandes e equilibrados para absorver o ruido ou impureza no grupo intermedi ario. Um par amerto de convexidade alto implica numa perda maior em grupos pequenos, ajudanto a absor ca o de impurezas esparsas.

7.5

Ramica c ao e Reagrupamento

Para cada n o terminal na a rvore, devemos: 1. realizar, para cada atributo dispon vel, o procedimento de discretiza ca o. 2. medir a perda da discretiza ca o para cada atributo. 3. selecionar o atributo que leva a discretiza ca o de m nima perda, e 4. ramicar o n o de acordo com a discretza ca o correspondente. Se nenhum atributo induzir uma discretiza ca o que decre ca a fun c ao de perda de pelo menos um limite de precis ao num erica > 0, n ao ocorre ramica c ao. Uma dada discretiza c ao, feita em um certo n vel da arvore, pode impedir o progresso do processo de ramica c ao nos n veis abaixo. Por esta raz ao estabelecemos uma meta m nima de convic ca o, ct, e ap os cada ramica c ao reagupamos os intervalos adjacentes onde cm < ct. Para evitar um loop innito, o valor da fun ca o de perda dado ao intervalo reagrupado

7.6. Implementa c ao Computacional

99

e a soma das perdas nos intervalos sendo reagrupados. Nas folhas da arvore nal esta opera ca o de reagrupamento e desfeita. A meta de convic c ao termina naturalmente o processo de ramica ca o, n ao havendo necessidade de um procedimento dicional para poda da arvore, como na maioria dos algoritmos TDIDT.

7.6

Implementa c ao Computacional

Para os testes num ericos, a serem detalhados na se ca o 9, utilizamos uma implementa ca o padr ao do algoritmo REAL. Nesta implementa c ao cada problema demora cerca de 2 minutos, incluindo treinamento e teste, em um Pentium 200MHz. REAL foi implementado como um c odigo C++ absolutamente portavel, e a aplica c ao nal nal recebeu uma interface gr aca para o usu ario em Microsoft VB-4.0. Esta implementa c ao padr ao gasta grande parte do tempo de processamento computando a fun ca o cm(n, k, r). Podemos acelerar substancialmente o algoritmo utilizando tabelas pr e-computadas para valore pequenos do argumento n (digamos n 100), e tabelas de coecientes para polinomios interpoladores para valores maiores de n. Outro expediente de acelera ca o e restringir o espa co de busca para as opera c oes de agrupamento a uma vizinhan ca de apenas 2 J Jmax intervalos: Escolhendo um Jmax conveniente aceleramos o algoritmo sem nenhuma degrada ca o apreciavel dos resultados.

7.7

Estrat egias de Opera c ao no Mercado

Uma estrat egia de opera c ao no mercado e um conjunto pr e-denido de regras determinando as a c oes de operador no mercado. A estrat egia deve conter crit erios para classicar uma opera c ao realizada como um suscesso ou um fracasso. Denamos, como exemplo, a estrat egia buysell(t, d, l, u, c): No instante t compre o ativo A, a seu pre co p(t). Venda o ativo A assim que: 1. t = t + d , ou 2. p(t ) = p(t) (1 + u/100) , ou 3. p(t ) = p(t) (1 l/100) . A estrat egia e bem suscedida se c 100 p(t )/(p(t) u Os parametros u, l, c and d podem ser interpretados como, respectivamente, o retorno desejado e o m nimo aceitavel o custo da opera ca o, e o limite de tempo para

100

Cap tulo 7.

Arvores de Decis ao

encerrar a opera ca o. A gura 1 ilustra poss veis inst ancias de aplica ca o da estrat egia buysell(t, d, l, u, c).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

u. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...................... . . . . . . . . . . ... c l
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . .

u. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... c l
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...................................................... . . . . . . . . . . . . . . . . . . . . . . . . .

t+d day

t+d day

(a)

(b)

Figura 7.1: Exemplos para a estrategia buysell(t, d, l, u, c).

Indicadores T ecnicos
Analistas de Mercado utilizam v arias ferramentas para previs ao de pre co de ativos, incluindo ferramentas baseadas em dados atuariais, an alise de insumo-produto ou macroecon onica, etc., todas estas denominadas ferramentas fundamentalistas. Outra fam lia de ferramentas s ao os indicadores t ecnicos. Um indicador t ecnico e uma fun c ao de uma ou mais vari aveis observ aveis no mercado. V arios distribuidores comercias difundem dados diarios e intraday para todos os mercados importantes. Na BOVESPA, a Bolsa de Valores de S ao Paulo, estes dados incluem: H (t), L(t), O(t), C (t), M (t) and V (t), respectivamente os pre cos m aximo, m nimo, de abertura, fechamento e m edio, e o volume negociado no dia t. Um exemplo de indicador t ecnico e o pre co de abertura em rela c ao ao m aximo alcan cado nos r dias anteriores: OHr (t) = O(t)/ max{H (t), H (t 1), . . . H (t r)} Indicadores t ecnicos s ao ferramentas de an alise de mercado tradicionais e de grande aceita ca o [3]. A grande familiaridade dos operadores de mercado estes indicadores explica a motiva c ao conforto e conan ca dos operadores ao utilizar uma ferramenta de suporte a decis ao que fornecem regras l ogicas de opera c ao baseadas no valor de indicadores t ecnicos conhecidos (atributos). As regras e os atributos utilizados para uma dada classica ca o podem ser facilmente compreendidas (e aceitas ou rejeitadas). Esta conan ca traduz-se em um uso agil e eciente da ferramenta. De fato, o uso dos indicadores como atributos da arvore TDIDT foi um pedido do cliente. O n ucleo do sistema de suporte ` a decis ao para opera co es de mercado e um sistema de classica ca o do tipo TDIDT baseado no algoritmo REAL. Consideremos alguns problemas de classica c ao para a estrat egia buysell(t, d, l, u, c). Nestes problemas, um exemplo no instante t tem como atributos valores de v arios indicadores t ecnicos no instante t 1, e

7.8. Testes Num ericos

101

como classe o sucesso ou fracasso da aplica c ao da estrat egia no instante t, baseado na informa ca o dispon vel entre os instantes t e d + d. Tomamos os exemplos em segmentos de s eries temporais sem superposi ca o.

Fun c ao Objetivo
O procedimento de classica ca o, aplicado a um dado conjunto de exemplos, gera a matriz de classica c ao, tamb em conhecida como matriz de confus ao, como a matriz na tabela 1, onde n11 e n22 s ao o n umero de exemplos corretamente classicados de aplica co es bem Verdad./Atribuida Sucesso Falha Sucesso Falha n11 n12 n21 n22

Tabela 7.1: Matriz de Classica c ao (confus ao) sucedidas e fracassadas, n12 s ao aplica c oes bem sucedidas incorretamente classicadas como falhas, e n21 os erros de classica ca o opostos. O operador de mercado espera que o sistema de suporte ` a decis ao o auxilie a detectar quase todas as boas oportunidades de aplica ca o da estrat egia. Quando aconselhado a aplicar a estat egia, o operador espera que o sistema raramente que o sistema raramente esteja errado. Assim nosso objetivo e o de maximizar a taxa de aproveitamento das oportunidades, ry , e tamb em o de minimizar as falhas de aplica c ao, rf : ry = n11/(n11 + n12) and rf = n21/(n11 + n21) Para conciliar estes objetivos m ultiplos e antag onicos denimos uma fun c ao de m erito que pode ser interpretada como uma estimativa conservadora do ganho com as aplica co es da estrat egia buysell(t, d, l, u, c): merit = c n11 l n21

7.8

Testes Num ericos

Testamos o algoritmo de classica ca o exposto nas se co es anteriores com buysell(t, d, l, u, c), e d = 5 dias, l = 1%, c = 1% e u = 3%, em segmentos n ao superpostos de s eries temporais de pre cos de duas das a co es mais liq uidas (negociadas) na BOVESPA: Telebras-PN (TEL4), com aprox. 300 exemples 45% bem sicedidos, e Petrobras-PN (PET4), com aprox. 400 exemplos 40% bem sucedidos. Dividimos cada conjunto de exemplos em 10 subconjuntos. Em cada rodada do algoritmo geramos a a rvore usando 9 dos subconjuntos para tereinamento, e testando a a rvore no subconjunto remanecente. repetimos este procedimento para os par ametros do algoritmo em um grid discreto:

102

Cap tulo 7.

Arvores de Decis ao

REAL: (r, ct) {1.0, 1.5, . . . , 4.0} {0.1, 0.15, 0.2, . . . , 0.45}. Cal5: (S, ) {0.05, 0.10, . . . , 0.90} {0.05, 0.10, . . . , 0.90}. NewID: {0%, 2%, 4%, . . . , 28%, 30%}. Tamb em incluimos como benchmark NewID, uma algoritmo TDITT cl assico, primordialmente desenvolvido para classica ca o categ orica, mas tamb em capaz de utilizar atributos reais. Nas tabelas 2 e 3 mostramos o valor dos par ametros que otimizam a m edia da fun ca o de m erito, e os correspondentes valores m edios de rf e ry . Algoritmo REAL Cal5 NewID P r = 3.5, ct = 0.4 S = 0.3, = 0.1 = 6% merit 3.8 3.3 2.9 rf 0.22 0.35 0.25 ry 0.44 0.63 0.45

Tabela 7.2: Par ametros otimos para TEL4 P r = 2, ct = 0.30 S = 0.4, = 0.2 = 8%

Algoritmo REAL Cal5 NewID

merit 4.3 3.8 2.9

rf 0.24 0.23 0.42

ry 0.39 0.35 0.28

Tabela 7.3: Par ametros otimos para PET4 Para uma an alise de sensibilidade mostramos resultados similares em uma vizinhan ca dos par ametros o timos nas tabelas 4 e 5. ct r 3.0 0.35 merit = 3.5 rf = 0.18 ry = 0.38 merit = 3.5 rf = 0.14 ry = 0.34 merit = 3.2 rf = 0.27 ry = 0.38 ct = 0.40 merit = 3.5 rf = 0.26 ry = 0.47 merit = 3.8 rf = 0.22 ry = 0.44 merit = 3.5 rf = 0.24 ry = 0.41 0.45 merit = 3.7 rf = 0.30 ry = 0.51 merit = 3.5 rf = 0.31 ry = 0.51 merit = 3.2 rf = 0.27 ry = 0.45

r = 3.5

4.0

Tabela 7.4: REAL - An alise de sensibilidade para TEL4

7.8. Testes Num ericos ct r 1.5 0.25 merit = 2.7 rf = 0.30 ry = 0.24 merit = 3.0 rf = 0.35 ry = 0.23 merit = 0.1 rf = 0.94 ry = 0.02 ct = 0.30 merit = 2.2 rf = 0.36 ry = 0.35 merit = 4.3 rf = 0.24 ry = 0.39 merit = 3.2 rf = 0.36 ry = 0.26 0.35 merit = 1.8 rf = 0.40 ry = 0.43 merit = 3.1 rf = 0.36 ry = 0.45 merit = 3.4 rf = 0.26 ry = 0.32

103

r = 2.0

2.5

Tabela 7.5: REAL - An alise de sensibilidade para PET4

Mais Testes Num ericos


Tamb em testamos os algoritmos REAL e CAL5 com o conjunto de exemplos de van Cutsem para detec ca o de emerg encias em redes de pot encia; para o qual CAL5 teve a melhor performance j a publicada [4]. Otimizamos os par ametros sobre o mesmo grid da se ca o anterior. As arvores geradas foram testadas de duas maneiras:

1. A contagem padr ao hits e misses, i.e. classica c oes corretas e incorretas. 2. Eliminando os exemplos que caem em folhas que n ao atingem a meta m nima de convic c ao (para o REAL), ou probabilidade-con an ca (para o CAL5), e tamb em eliminando os exemplos de teste que exibem um valor de atributos fora do intervalo do n o em que e utilizado na a rvore de classica c ao, e s o ent ao contando os erros e acertos remanecentes, Hits e Misses.

Algoritmo

hit

miss 8.3 9.4

Hit 230.6 236.2

M iss 4.1 6.9

REAL Cal5

(r, ct) = (1.5, 0.20) 241.7 (S, ) = (0.65, 0.15) 240.6

Tabela 7.6: Par ametros otimos para van Cutsem Para uma an alise de sensibilidade mostramos resultados similares numa visinhan ca dos par ametros o timos, nas tabelas 7 e 8.

104 ct r 1.0 r = 1.5 2.0

Cap tulo 7. 0.15 hits = 240.5 hits = 240.7 hits = 240.1 ct = 0.20 0.25

Arvores de Decis ao

hits = 239.0 hits = 236.4 hits = 241.7 hits = 240.3 hits = 239.7 hits = 239.8

Tabela 7.7: REAL - An alise de sensibilidade para van Cutsem S 0.6 S = 0.65 0.7

0.10

= 0.15

0.20

hits = 237.8 hits = 238.3 hits = 239.2 hits = 238.5 hits = 240.6 hits = 239.8 hits = 239.9 hits = 238.8 hits = 239.6

Tabela 7.8: Cal5 - An alise de sensibilidade para van Cutsem

7.9

Conclus oes e Futuras Pesquisas

Os usu arios queriam uma ferramenta de classica ca o que fornecesse regras de classica ca o compreensiveis e baseadas em atributos j a familiares. REAL alcan cou estes objetivos. A medida simplicada de convic c ao para cada classica c ao foi muito apreciada pelos usu arios quando tomando decis oes de mercado em tempo real. REAL mostrou-se mais eciente que todos os outros algoritmos TDITD a que tivemos acesso, e mostrou-se uma ferramenta util para suporte a ` tomada de decis oes quanto a aplica c ao de estrat egias de opera ca o no mercado de capitais. Resultados preliminares nos levam a crer que as vantagems do REAL sobre o CAL5 se acentuam para dados mais ruidosos, mas esta arma c ao requer mais testes num ericos. No momento estamos estudando o comportamento do REAL com variantes do procedimento de discretiza ca o baseadas em fun c oes de custo alternativas, e tamb em estamos interessados em compara-lo com abordagens diferentes para o problema [2].

Agradecimentos
Agradecemos o suporte recebido do DCC-IME-USP - Departamento de Ci encia da Computa ca o da Universidade of S ao Paulo, do CNPq - Conselho Nacional de Desenvolvimento Cient co e Tecnol ogico, da FAPESP - Funda c ao de Amparo a ` Pesquisa do Estado de S ao Paulo, e da BM&F Bolsa de Mercadorias e de Futuros do Estado de S ao Paulo. O software usado para computar os indicadores t ecnicos foi desenvolvido pela Profa. Celma O. Ribeiro, do Departamento de Engenharia Industrial da Escola Polit ecnica da USP. Somos gratos a Junior Barrera, Alan M. Durham, Fl avio S. C. da Silva, Jacob Zimbarg

7.9. Conclus oes e Futuras Pesquisas

105

Sobrinho and Carlos A. B. Pereira, do IME-USP, por muitos bons coment arios, a Wolfgang Mueller, do Fraunhofer Institut, por um execut avel para SUN-Sparc do CAL5, e a Gerd Kock, do GMD-FIRST Berlin, por toda a ajuda na Alemanha.

106

Cap tulo 7.

Arvores de Decis ao

Cap tulo 8 Fundos de Pens ao


A primeira parte deste cap tulo descreve a utiliza ca o de uma ferramenta para a an alise de uxos de caixa em fundos de pens ao no Brasil. Muitos dos fundos de pens ao existentes s ao do tipo Benef cio Denido (BD), onde o participante aposentado ou seus dependentes remanescentes recebem uma renda mensal vital cia. O processo estoc astico subjacente e modelado como um processo de ramica ca o orientado pelas diversas taxas de falha dependentes do tempo. Os uxos de caixa esperados s ao computados atrav es de fun co es recursivas que descrevem o processo de ramica ca o, evitando assim diversas aproxima co es que s ao utilizadas pelos m etodos atuariais tradicionais. Essas fun co es recursivas tamb em fornecem um c alculo direto da vari ancia do uxo de caixa e outras estat sticas. As an alises e simula c oes do passivo atuarial s ao usadas como entradas para a gest ao de ativos do plano. Diversos modelos de otimiza ca o, geralmente empregando programa c ao din amica e estoc astica, s ao utilizados com este objetivo. Estas t ecnicas s ao discutidas na segunda parte do cap tulo.

8.1

Passivo Atuarial

O principal benef cio para o participante de um plano BD (benef cio denido) e uma renda vital cia durante a aposentadoria. Antes da aposentadoria, um membro e chamado ativo. A renda na aposentadoria e uma fun ca o dos sal arios ou contribui c oes passadas do participante enquanto ativo (p.ex. m edia dos u ltimos per odos). O participante ativo efetua contribui co es ao plano de pens ao, e essas contribui co es podem ser complementadas via contribui co es de uma patrocinadora (p.ex. o empregador ou o governo). Um participante ativo se tornar a inativo quando se aposentar; a aposentadoria poder a ser ordin aria (quando o participante cumpre as car encias de idade e tempo de contribui ca o) ou por invalidez (p.ex. acidente ou doen ca). Um membro ativo tamb em pode desligar-se do plano. 107

108

Cap tulo 8. Fundos de Pens ao

O participante tamb em pode possuir dependentes (usualmente sua fam lia) com direito a uma pens ao mensal ap os a morte do participante. Dependentes podem ser vital cios, que receber ao uma pens ao vital cia (p.ex. esposa/vi uva, lhos portadores de deci encia), ou tempor arios, que receber ao a pens ao por um tempo limitado (p.ex. lhos normais at e a maioridade aos 21 anos). A pens ao de cada dependente e uma fra ca o da renda do participante. Um benef cio adicional pago a ` fam lia no momento do falecimento do participante - denominado pec ulio - pode tamb em estar dispon vel. Diversas restri co es e corre c oes [Alb 93], [Bor 92], [Bow 97], [Day 94], [DeF 91], [Pan 92] aumentam a complexidade deste modelo b asico, como por exemplo: - A aposentadoria e os demais benef cios por ela denidos podem ser corrigidos por um ndice de ina c ao de longo prazo, ou ainda ser reajustados pelo sal ario de um participante ativo de mesmo n vel funcional do aposentado. - As car encias para aposentadoria ordin aria podem ser baseadas na idade e tempo de servi co do participante, e tamb em baseadas nas condi co es determinadas pelo estatuto do plano ou pela legisla ca o governamental vigente, ambas mut aveis ao longo do tempo. - Os participantes podem receber uma aposentadoria b asica do Estado (p.ex. INSS), sendo obriga ca o do plano complementar esta aposentadoria, at e atingir os Benef cio Denido (BD) pelo estatuto. - Mudan cas de h abitos sociais e de legisla c ao podem alterar o status dos dependentes legais (p.ex. concubinas e lhos gerados fora do matrim onio). - Participantes desligados podem reivindicar o resgate de suas contribui co es (ou tamb em as da patrocinadora) corrigidas pelos ndices de ina c ao ou de investimentos nanceiros.

8.2

Grafos e Formula c ao Recursiva

Um processo de ramica ca o e descrito por um grafo, onde cada v ertice (ou n o) corresponde a um estado, e cada arco (ou aresta) conectando dois v ertices corresponde a uma poss vel transi c ao de estados. Nos processos atuariais que estamos estudando, um estado e caracterizado pela idade do participante, tempo de servi co, sal ario, fam lia, etc. Uma transi ca o e caracterizada por sua probabilidade, bem como pelos benef cios e contribui c oes que a transi ca o implica. Em geral, e conveniente tratar os valores dos benef cios e contribui co es como fra c oes do benef cio principal (aposentadoria), ou alguma outra unidade adimensional. O valor esperado de uma vari avel aleat oria (p.ex. benef cios ou contribui c oes) para um certo participante, num dado per odo, e a soma ponderada dos valores das vari aveis

8.2. Grafos e Formula c ao Recursiva aleat orias em todas as transi co es poss veis naquele per odo: E (X (t)) =
j W (t)

109

P r ( j ) x( j ) ,

onde W e o conjunto de todas as transi c oes poss veis, x(j ) o valor da vari avel aleat oria na transi ca o j , e P r(j ) a probabilidade da transi ca o j . O uxo esperado daquela vari avel aleat oria e a s erie dos seus valores esperados no futuro (per odos subsequentes, usualmente anos). A descri ca o dos processos de ramica c ao na forma de grafos fornece uma formula c ao algor tmica recursiva para o c alculo de todos esses uxos de caixa.

Grafo do Participante Aposentado


O estado de um participante aposentado possui sua idade, benef cios e a lista de dependentes. Suponhamos que um participante aposentado possui no m aximo um dependente vital cio (esposa). Se o participante e sua esposa est ao ambos vivos no instante t, o participante estar a, no instante t + 1, em um dos quatro estados poss veis, dependendo da sobreviv encia ou n ao do mesmo e de sua esposa: sejam (x, y ) as idades do participante e de sua esposa no instante t. No instante t +1, eles podem alcan car os estados (x +1, y +1), (x + 1, ), (, y + 1) ou (, ), onde o til () representa o bito. A probabilidade de cada uma das quatro transi co es e dada pela taxa de mortalidade, h(a), nas respectivas idades: P r(t, (x, y ), (x + 1, y + 1)) = (1 h(x)) (1 h(y )); P r(t, (x, y ), (x + 1, )) = (1 h(x)) h(y ); P r(t, (x, y ), ( , y + 1)) = h(x) (1 h(y )); P r(t, (x, y ), ( , )) = h(x) h(y ). (8.1) (8.2) (8.3) (8.4)

Um participante aposentado deixa o sistema (plano previdenci ario) quando cessam todos os uxos de caixa por ele gerados, possivelmente muito tempo depois de seu pr oprio falecimento. As folhas da a rvore ramicada do participante correspondem ao estado terminal (, ). Assume-se que os dependentes tempor arios (lhos) sempre sobrevivem at e sua maioridade. Como mencionamos na se ca o 2, podem ocorrer m ultiplos dependentes vital cios. Uma possibilidade seria incorporar os dependentes vital cios m ultiplos diretamente no processo de ramica ca o, a um alto custo computacional. Ocorre que os estatutos dos planos BD levam em considera ca o somente o n umero total de dependentes remanescentes ap os o falecimento do participante. Isto permite uma simplica c ao signicativa. Modelamos os dependentes vital cios no processo de ramica c ao na aposentadoria como um dependente vital cio virtual correspondente ao u ltimo dependente vital cio real remanescente. No ap endice E apresentamos um pequeno programa Matlab (denominado depvital.m) para

110

Cap tulo 8. Fundos de Pens ao

calcular a distribui c ao conjunta de probabilidades de sobrevivncia de tal dependente virtual. e f acil generalizar o procedimento para tr es ou mais dependentes vital cios. Os uxos de caixa dos dependentes vital cios que falecem antes do u ltimo sobrevivente podem ent ao ser modelados como uxos de caixa independentes. A modelagem precisa dos dependentes vital cios m ultiplos possui um impacto signicativo sobre os uxos de caixa de benef cios daqueles dependentes (tipicamente, 30%). Uma vez que essa situa ca o est a se tornando cada vez mais frequente, tal an alise cuidadosa e recomend avel. A gura 8.1 apresenta distribui c oes comparativas de sobreviv encia calculadas pelo programa do ap endice E (as linhas pontilhadas representam as taxas de mortalidade do dependente mais velho e do mais jovem, respectivamente; as linhas s olidas representam as taxas de mortalidade do primeiro e do u ltimo dependente a falecer, respectivamente). Em alguns casos a estat stica de ordem e aproximada pelas taxas de sobreviv encia do dependente vital cio mais jovem. A partir dos gr acos 8.2(a) a ??(d), pode-se perceber que esta aproxima c ao pode ser bastante enganosa.

Grafo do Participante Ativo


O estado de um participante ativo possui sua idade, tempo de plano, tempo de servi co, escolaridade, sal ario, etc. Enquanto ativo, e dif cil obter uma rela ca o con avel de dependentes; assim, sup oe-se que os participantes ativos possuem uma fam lia-padr ao, baseada em dados estat sticos e no perl geral dos participantes. Se um participante est a ativo no instante t, com idade a e tempo de servi co e, ele alcan car a no instante t + 1 um dos quatro poss veis estados, dependendo do mesmo ainda estar no plano, ativo, vivo, e v alido. Falecimento, invalidez e desligamento s ao riscos competitivos com fun co es de probabilidade (condicionais na n ao ocorr encia dos demais riscos precedentes) hd(a), hb(a) e hw(e). Assim, as probabilidades de transi c ao (exceto para a aposentadoria previs vel, obtida na maturidade) para falecimento, invalidez, desligamento e perman encia em atividade s ao, respectivamente: hd(a), hb(a), hw(e), and (1 hd(a)) (1 hb(a)) (1 hw(e)). (8.5) (8.6)

Se o participante se desliga do plano, recebe um montante baseado em suas contribui co es passadas. Se este morre ou se torna inv alido, ele entra em regime de aposentadoria/pens ao prematuramente. O processo de ramica c ao do membro ativo e portanto limitado ao ramo principal correspondente ` a sobreviv encia sobre todos os riscos, uma estrutura mais parecida com um bambu do que com uma arvore. As folhas do bambu correspondem ao estado de desligamento, ou a ` raiz de um processo de ramica ca o para aposentadoria.

8.3. T abuas Biom etricas e Outros Ajustes

111

8.3

T abuas Biom etricas e Outros Ajustes

T abuas biom etricas: T abuas de taxas de mortalidade s ao dispon veis em diversos pa ses. Uma das t abuas biom etricas mais utilizadas no Brasil e a EB-7. Todavia, uma popula ca o espec ca, como a massa de participantes de uma certa companhia ou plano previdenci ario, pode divergir signicativamente das m edias nacionais. Para planos espec cos, alguns com at e duzentos mil participantes, foi identicada a necessidade de ajustar essas tabelas. A gura 8.2 apresenta algumas compara co es dessas distribui c oes de sobreviv encia (as linhas pontilhadas representam as frequ encias observadas na popula c ao; as linhas s olidas representam as probabilidades ajustadas pelo modelo; as linhas tracejadas representam as taxas fornecidas pela t abua biom etrica EB7-1975). Como e usual em atu aria, estabelecemos um corte, limitando a idade individual a um m aximo (p.ex. 100 anos). O impacto desses ajustes sobre o passivo do plano e consider avel, da ordem de at e 20%. Utilizamos um modelo GMDH (Group Method Data Handling) polinomial, usando as t abuas dispon veis (informa ca o a priori) e o hist orico populacional (falecimentos observados e censurados) [Far 84]. Os modelos GMDH polinomiais possuem complexidade vari avel e diversos par ametros. O melhor modelo foi selecionado automaticamente por uma heur stica de busca controlada pelo crit erio PSE (Predicted Squared Error) [Bar 84]. O objetivo do crit erio PSE e minimizar erros sobre dados ainda n ao observados, buscando o equil brio entre erros sobre dados de treinamento e uma penalidade de overt. O modelo nal foi validado usando m etodos computacionalmente intensivos de reamostragem estat stica [Goo 99] [Urb 94]. Corre c ao de unidade: Durante a modelagem de uma transi ca o entre per odos consecutivos, de t a t +1, (dependendo de como o modelo e implementado), premissas n ao-realistas podem ser introduzidas, por exemplo: uma transi ca o de falecimento pode implicar que o participante falece no primeiro (ou u ltimo) m es do ano. Para corrigir tal dicotomia booleana (0-1), podemos supor que o falecimento ocorre no m es central, e utilizar um fator de corre c ao 6/12 = 1/2, ou que o falecimento ocorre no dia central do m es central, e utilizar um fator de corre c ao (6 + 1/2)/12 = 13/24, e assim por diante. Esses fatores de corre ca o s ao denominados corre c oes fracionais (ou corre co es de discretiza ca o) [Bow 97]. Seu impacto sobre os c alculos nais e normalmente pequeno, mas eles s ao importantes para preservar a consist encia do modelo. Crescimento Salarial: A renda (ou sal ario) de um participante ativo, que e a base para seus benef cos, e supostamente crescente ao longo de sua vida prossional. A renda usualmente aumenta com o tempo, mas tal crescimento possui um efeito de satuar ca o. Diversos modelos ajustam-se bem a esta situa ca o [Pas 90], como os modelos Exponencial

112 Modicado, de Gompertz e Log stico (Pearl): M (t) = a + b exp(c t);

Cap tulo 8. Fundos de Pens ao

(8.7) (8.8) (8.9)

G(t) = exp(a + b exp(c t)); L(t) = a/(1 + b exp(c t)).

8.4

Programa c ao Estoc astica

8.4. Programa c ao Estoc astica

113

log(hazard rate) model 2 3 4 5 6 7 8 40 0.12 0.1 0.08 0.06 0.04 0.02 0 40

hazard rate model

50

60

70

80

90

50

60

70

80

90

h(t) full range 1 1

survival probability

0.8

0.8

0.6

0.6

0.4

0.4

0.2

0.2

0 40

50

60

70

80

90

100

0 40

50

60

70

80

90

100

Figura 8.1: Estat stica de ordem para modelagem de dependentes vital cios m ultiplos.

114

Cap tulo 8. Fundos de Pens ao

order stat. ages 25 and 50 1 1

order stat. ages 30 and 40

0.8

0.8

0.6

0.6

0.4

0.4

0.2

0.2

20

40

60

80

100

20

40

60

80

100

order stat. ages 25 and 25 1 1

order stat. ages 50 and 50

0.8

0.8

0.6

0.6

0.4

0.4

0.2

0.2

20

40

60

80

100

20

40

60

80

100

Figura 8.2: Compara co es entre t abuas ociais e t abuas obtidas a partir de uma popula c ao.

Cap tulo 9 Portf olios Mistos Contendo Op co es


Vamos construir neste cap tulo portf olios formados por ativos fundamentais e op c oes europ eias sobre estes ativos. Para selecionar portf olios ecientes analisando-se m edia e vari ancia de retornos, usaremos o modelo de Markowitz do capitulo anterior. Deduziremos express oes analiticas para a esperan ca e covari ancia entre taxas de retornos de ativos e op co es, dados necess arios para a constru ca o do modelo baseado nos dois primeiros momentos centrais da carteira.

9.1

O mercado de op c oes

Op co es de compra e de venda s ao contratos referentes a direitos e deveres de compra e venda adquiridos sobre um determinado ativo, o objeto do contrato. Nas op co es de compra (ou call ) o titular adquire o direito de comprar um determinado ativo numa data futura, a um determinado pre co estipulado no contrato. E para adquirir tal direito paga-se um pr emio ao vendedor da op c ao. Nas op c oes de venda (ou put ) o titular tem o direito de vender o ativo-objeto a um pre co pr e-determinado em uma data futura. Assim as partes integrantes de um contrato de op ca o englobam: Titular: aquele que det em o direito de comprar ou vender o ativo do contrato; Emissor (ou lan cador): aquele que oferece o direito de compra ou de venda estipulado na op ca o; ativo-objeto: ativo que poder a ser negociado no contrato; pre co de exerc cio: pre co pelo qual o ativo-objeto poder a ser comprado ou vendido pelo titular; 115

116

Cap tulo 9. Portf olios Mistos Contendo Op c oes

pr emio: valor pago ao lan cador pelo titular para adquirir o direito de compra ou venda do ativo-objeto. data de exerc cio: data na qual o titular poder a negociar o ativo-objeto do contrato. A data de exerc cio em que se pode negociar o ativo d a margem a dois tipos de contratos de op c oes: a op ca o americana e a europ eia. Na op ca o europ eia o titular pode exercer o seu direito somente na data estipulada no contrato. J a na op c ao americana o titular tem a liberdade de exercer seu direito a qualquer tempo at e a data de exerc cio do contrato. O pr emio pago ao emissor do contrato, que e o pre co da op ca o, leva em considera c ao a oferta e a damanda do ativo, o pre co de exerc cio, a cota ca o de mercado a ` vista do ativo, a volatilidade de pre cos, entre outros. Os ativos pass veis de negocia ca o em op co es s ao denidos pela institui c ao que as negocia, assim como o m es de expira ca o do contrato e os pre cos de exerc cio. Em particular, para as op c oes sobre a co es, a Bolsa de Valores de S ao Paulo, por exemplo, xa a data de vencimento do contrato na segunda-feira mais pr oxima do dia 15 dos meses pares. E os pre cos de exerc cio s ao xados pr oximos ao pre co de mercado da a ca o objeto, acima e abaixo, e deixando o pr emio ser um par ametro livre para negocia ca o em preg ao. As op co es n ao s ao negociadas diretamente pelos seus compradores e vendedores, e sim por corretoras que atuam em nome de seus clientes dentro de normas estabelecidas pela Bolsa. Vamos xar a nota ca o para os elementos formadores de um contrato de op c ao europ eia: T : data de exerc cio do contrato; S (t): pre co do ativo-objeto na data t; Kc (t), Kp (t): pre co de exerc cio de uma op ca o de compra e venda, respectivamente, na data t; C (t), P (t): pre emio de uma op c ao de compra e venda, respectivamente, na data t. Vamos supor que as taxas de corretagens que fazem parte da negocia ca o de op c oes j a est ao contabilizados no pre co de exerc cio do contrato. Desta forma, uma op c ao de compra europ eia pode ser vista como um derivativo que paga ao seu titular, na data de exerc cio (T), a quantia X (T ) = max(S (T ) Kc (t0 ), 0) ( 0)

9.2. Um Exemplo de Portflio onde t0 a data de assinatura do contrato.

117

Se o pre co de mercado do ativo-objeto for maior que o pre co de exerc cio do contrato, ou seja, S (T ) > Kc (t0 ), ent ao o titular pode comprar o ativo por Kc (t0 ), em exerc cio do seu direito, e vend e-lo no mercado por S (T ), ganhando a diferen ca S (T ) Kc (t0 ). Esta diferen ca pode n ao cobrir o dinheiro gasto no pr emio pago ao emissor. Se, por outro lado, S (T ) Kc (t0 ) perder-se- a S (T ) Kc (t0 ) ( 0) se o direito de compra for exercido. Neste caso, deixa-se o contrato expirar sem exerc cio do direito de compra. Analogamente, uma op c ao de venda europ eia pode ser vista como um derivativo cujo valor na data de exerc cio e dado por XT = max(Kp (t0 ) S (T ), 0) ( 0) Vamos especicar as taxas de retorno para o caso de a c oes e op c oes europ eias, com que vamos trabalhar para denir os momentos de primeira e segunda ordem de carteiras mistas. Daqui por diante omitires a palavra europ eia quando falarmos de op co es, cando impl cito que e sobre este tipo de contrato que estamos falando. Para um ativo cujo pre co de mercado na data t e dado por S (t), a taxa de retorno rs no perodo = T t (T > t) ser dada por S (T ) S (t) S (t)

rs =

(9.1)

Para as opes de compra e venda, as taxas de retorno sero dadas por max(S (T ) Kc (t0 ), 0) C (t0 ) C (t0 ) max(Kp (t0 ) S (T ), 0) P (t0 ) P (t0 )

rc =

(call )

(9.2)

rp =

(put )

(9.3)

onde t0 e a data de assinatura dos contratos.

9.2

Um Exemplo de Portflio

Vamos considerar um portf olio formado por dois ativos, chamados de ativo A e ativo B, e por op c oes de compra e venda que t em como ativos-objetos os pr oprios ativos A e B.

118

Cap tulo 9. Portf olios Mistos Contendo Op c oes

Vamos supor tamb em que as datas de assinatura (t0 ) e as datas de exerc cio (T ) s ao as mesmas para todas as op c oes. Denote por Sa e Sb os pre cos dos ativos A e B, respectivamente. Os retornos logar tmicos de A e B, extrapolados para a data T , s ao dados por

x = ln e y = ln

Sa (T ) Sa (t0 )

2 ) = N (a , a

(9.4)

Sb (T ) Sb (t0 )

2 ) = N (b , b

(9.5)

e as fun c oes densidade de probabilidade dadas por

f (x) =

a 2 1

exp

(x a )2 2 2a (y b )2 2 2b

(9.6)

f (y ) =

b 2

exp

(9.7)

Sendo o coeciente de correla ca o entre os ativos A e B, a fun ca o distribui ca o conjunta e dada por

f (x, y ) =

1 a b

12

1 exp 2(1 2 )

xa a

a y b 2 x + a b

y b b

( < x, y < +) Precisamos colocar as taxas de retorno dadas em 9.1, 9.2 e 9.3 em fun ca o das variveis x e y , pois e destas vari aveis que temos informa c oes sobre a densidade de probabilidade. De 9.4 e 9.5 temos Sa (T ) = Sa (t0 )exp(x) e Sb (T ) = Sb (t0 )exp(y ) (9.8)

Substituindo 9.8 em 9.1 teremos

9.2. Um Exemplo de Portflio

119

rsa = exp(x) 1 e rsb = exp(y ) 1 onde rsa e rsb s ao as taxas de retorno dos ativos A e B, respectivamente.

(9.9)

Para as op c oes xaremos a letra K para denotar pre co de exerc cio do contrato, colocando um ndice superior a ` letra para diferenciar calls de puts, e um ndice inferior para c indicar o ativo-objeto a que se refere. Por exemplo, Ka (t) denota o pre co de exerc cio de p uma call sobre o ativo A, na data t, e Kb (t) indica o pre co de exerc cio de uma put sobre o ativo B, na data t. Os pr emios das op c oes de compra ser ao denotados pela letra C , com um ndice inferior indicando o ativo a que se refere. O mesmo vale para as op coes de venda, trocando a letra C pela letra P . Por exemplo, Ca (t) indica o prmio de uma call sobre o ativo A na data t, e Pb (t) indica o prmio de uma put sobre o ativo B, na data t. Portanto, as taxas de retorno das op coes de compra (assinadas na data t0 ) que t em A e B como ativos-objeto ser ao dadas por

c (t0 ), 0) Ca (t0 ))/Ca (t0 ) rca = (max(Sa (t0 )ex Ka

(9.10) rcb = (max(Sb (t0 )e Do mesmo modo para as puts,


y c Kb (t0 ), 0)

Cb (t0 ))/Cb (t0 )

p (t0 ) Sa (t0 )ex , 0) Pa (t0 ))/Pa (t0 ) rpa = (max(Ka

(9.11) rpb =
p (max(Kb (t0 )

Sb (t0 )e , 0) Pb (t0 ))/Pb (t0 )

Quando n ao houver d uvidas quanto as datas que estamos usando, omitiremos a letra t dos pr emios, dos pre cos de exerc cio e das cota co es dos ativos para n ao sobrecarregar a nota ca o. Uma outra forma de escrever as express oes 9.10 e 9.11 denir os dom nios das v.a. x e y nos quais o termo max(S0 exp(x) K, 0) positivo

max(S exp(x) K, 0) > 0 x > ln max(K S exp(x), 0) > 0 x < ln

K S

(9.12)
K S

120

Cap tulo 9. Portf olios Mistos Contendo Op c oes

Considerando 9.12 nas express oes 9.10 e 9.11, redenimos as taxas de retorno das op co es por

rca =

1 Ca (t0 )

c (Sa (t0 )ex Ka (t0 ) Ca (t0 ))

se

ln

c (t ) Ka 0 Sa (t0 )

< x < +

0
1 Cb (t0 ) c (Sb (t0 )ey Kb (t0 ) Cb (t0 ))

c.c. se ln
c (t ) Kb 0 Sb (t0 )

< y < +

rcb =

c.c.

rpa =

1 Pa (t0 )

p ( Ka (t0 ) Sa (t0 )ex Pa (t0 ))

se

< x < ln c.c.

p Ka (t0 ) Sa (t0 )

0
1 Pb (t0 ) p (Kb (t0 )

(9.13) Sb (t0 )e Pb (t0 ))


y

se

< y < ln c.c.

p Kb (t0 ) Sb (t0 )

rpb =

O conhecimento de uma estimativa do retorno logar tmico para os ativos, no per odo [t, T ] considerado, e necess ario para podermos denir as taxas de retorno dadas em 9.13. Estes dados podem ser obtidos atrav es de an alise de s eries hist oricas de pre cos. Observe que, para o processo de pre cos do ativo-objeto, que estamos supondo n ao ser ST um derivativo, a taxa de retorno r = S0 , ST > 0 e S0 > 0, n ao assume valor zero e nem valor negativo, estando, assim, o retorno logar tmico x = lnr bem denido, independente da oscila c ao de pre cos dos ativos. Por outro lado, os retornos de op co es, denidos pelas f ormulas 9.10 e 9.11 podem eventualmente assumir valor zero ou negativo, dependendo do comportamento dos pre cos do ativo, do pre co de exerc cio e do pr emio. Por isso os retornos logar tmicos ln rc e ln rp para op c oes n ao est ao bem denidos, podendo haver indetermina co es quando rc 0 e rp 0. Para evitar inconsist encias e padronizar o tipo de retorno utilizado para op co es e ativo-objeto adotamos os retornos dados pelas express oes 9.1, 9.2 e 9.3. A seguir derivaremos as express oes anal ticas dos valores esperados das taxas dadas em 9.9 e 9.13 e das covari ancias entre elas, para o caso deste portf olio exemplo. Elas ser ao usadas para calcular o retorno esperado E (r) e a matriz de covari ancia Cov (r) de portf olios.

9.3. Esperan ca e Covari ancia do Retorno de Op c oes

121

9.3

Esperan ca e Covari ancia do Retorno de Op co es

Vamos voltar ao portf olio formado pelos ativos A e B e por op co es sobre estes ativos. Manteremos a nota c ao introduzida na se c ao anterior, com a exce ca o de que omitiremos o termo t0 (data de assinatura das calls e das puts). Portanto os pre cos das a c oes ser ao dados por Sa e Sb , os pr emios das op co es por Ca , Cb , Pa e Pb e os pre cos de exerc cio por p c p c Ka , K a , Kb e Kb . Vale lembrar ainda que dada uma v.a cont nua x em R e sua respectiva fun ca o densidade de probabilidade p(x), a esperan ca de uma fun c ao g (x) e dada por

E [g (x)] =

g (x)p(x) dx

Em virtude das repeti co es dos c alculos alg ebricos que envolvem a dedu ca o das express oes das covari ancias, detalhamos esses c alculos em algumas delas. As demais usam racioc nio an alogo.

Esperan ca das taxas de retorno Nota ca o: erf(a) =


+ a

exp( 2 ) d

sa = E [rsa ] =

exp(x)f (x) dx 1
+

=
1

1 a 2 exp
1 2 2 a

exp x

(x a )2 2 2a

dx 1

+ a

exp t2 dt 1

1 2 = exp a + a 1 2

122

Cap tulo 9. Portf olios Mistos Contendo Op c oes

ca = E [rca ] = =

1 Ca

+ ln +
c Ka Sa

c )f (x) dx 1 (Sa exp(x) Ka

Sa Ca a 2
c Ka Ca a 2

ln

c Ka Sa

exp x exp

(x a )2 2 2a

dx dx 1
c Ka Sa 2 a a

+ ln
c Ka Sa

(x a )2 2 2a

Sa 1 2 exp a + a 2Ca 2

1 erf ln

1 a 2
c Ka Sa

ln
2 a

1 1 c ( Ka ) 1 erf 2Ca a 2

Mudan ca de vari avel usada: t =


1 (x a 2 1 (x a 2 2 ) a a

1 :

w =

a )

pa

1 = E [rpa ] = Pa
1

ln

p Ka Sa

p (Ka Sa exp(x))f (x) dx 1

1 2 1 p (Ka ) exp a + a 2Pa 2 Sa 2Pa 1 + erf 1 ln

1 + erf
p Ka Sa

1 a 2

ln 1

p Ka Sa

2 a a

a 2

2 a

Covari ancias No lugar de calcularmos as express oes de covari ancias para as taxas de retorno simples pre co nal dadas em 9.9, 9.10 e 9.11 deduziremos express oes para o retorno simples (= ) pre co inicial de a co es e op c oes, sendo a diferen ca entre as duas grandezas apenas uma constante, isto e,

9.3. Esperan ca e Covari ancia do Retorno de Op c oes

123

Taxa de retorno simples = Retorno simples - 1. O resultado num erico de covari ancias n ao muda, visto que para duas v.a. X e Y e constantes k1 e k2 vale a igualdade cov (X + k1 , Y + k2 ) = cov (X, Y ). Cov (rsa , rsb )

cov (rsa , rsa ) = var(rsa )


2 = E2x Ex

E2x =

exp(2x)f (x) dx 1
+

=
2

a 2

exp 2x

(x a )2 2 2a

dx

1 2 = exp 2a + 2a
2 = exp 2a + 2a

exp( 2 ) d

2 Ex = exp a + 0.5a

onde 2 indica a mudan ca de vari avel


2 x a 2a = a 2

Logo,
2 var(rsa ) = exp 2a + a 2 exp(a )1

124 Cov (rsa , rsb )

Cap tulo 9. Portf olios Mistos Contendo Op c oes

cov (rsa , rsb ) = E [rsa rsb ] E [rsa ]E [rsb ] = Exy Ex Ey

sendo

Exy =

f (x, y ) exp(x + y ) dy dx 1
+ +

exp(x + y ) 1 2 1 x a y b y b 2 x a 2 exp ( ) 2 +( ) 2 2(1 ) a a b b 2a b exp(a + b ) 2 1 2


+ +

dy dx

=
4

exp a u + b v

1 (u2 2uv + v 2 ) 2(1 2 )

dv du

1 1 2 exp a + b + b (1 2 ) 2 2
+ +

1 exp( 2 ) d exp( (u2 2u(a + b ))) du 2


+

1 1 2 1 = exp a + b + b (1 2 ) + (a + b )2 2 2 1 2 2 = exp a + b + (b + a ) + a b 2

exp( 2 ) d

9.3. Esperan ca e Covari ancia do Retorno de Op c oes

125

Ex =
3

f (x, y ) exp(x) dy dx exp(a ) 2 1 2 1 exp(a ) 2


+ + +

=
6

exp a u
+ +

1 (u2 uv + v 2 ) 2 2(1 )

dv du

=
7

1 exp( 2 ) d exp( (u2 2ua )) du 2 exp( 2 ) d

1 1 2 = exp a + a 2 1 2 = exp a + (a ) 2

1 2 ) Ey = exp(b + b 2 Mudan cas de vari avel: u = (x a )/a v = (y b )/b 1 2(1 2 ) (v u b (1 2 ))

3 :

4 :

5 :

1 w = (u a b ) 2 = 1 2(1 2 ) (v u)

6 :

7 : Portanto,

1 w = (u a ) 2

1 2 2 cov (rsa , rsb ) = exp(a + b + (a + v )) (exp(a b ) 1)) 2

126 Cov (rsa , rca )

Cap tulo 9. Portf olios Mistos Contendo Op c oes

cov (rsa , rca ) =

1 c Ex } sa ca {Sa E2x Ka Ca

onde 1 1 2 exp(2a + 2a ) 1 erf 2 a 2 1 1 2 1 exp(a + a ) 1 erf 2 2 a 2


c Ka Sa

E2x =

ln

2 a 2a

Ex =

ln

c Ka Sa

2 a a

Cov (rsa , rpa ) 1 p {Sa E2x + Ka Ex } sa pa Pa

cov (rsa , rpa ) =

onde 1 1 2 exp(2a + 2a ) 1 + erf 2 a 2


p Ka Sa

E2x =

ln

2 a 2a

Ex

1 2 1 1 = exp(a + a ) 1 + erf 2 2 a 2

ln

p Ka Sa

2 a a

Cov (rsa , rcb ) 1 c x sa {Sb Ey K c E1 } + sa cb {Sb Exy Ex Kb } cb E b Cb Cb

cov (rsa , rcb ) = onde

c Rb

1 = (ln b

c Kb Sb

b )

9.3. Esperan ca e Covari ancia do Retorno de Op c oes Exy = 1 2 1 1 2 c exp(a + b + (a + b ) + a b ) 1 erf (Rb b a ) 2 2 2 1 1 2 1 2 c ) 1 erf Rb a exp(a + a 2 2 2 1 2 1 1 c exp(b + b ) 1 erf (Rb b ) 2 2 2
2 x = 1 exp(a + 1 a ) E 2 2

127

Ex =

Ey =

E1 =

1 2

1 c ) 1 erf (Rb 2

Cov (rsa , rpb ) 1 p x sa {Sb Ey + K c E1 } + sa pb {Sb Exy + Ex Kb } pb E b Pb Pb

cov (rsa , rpb ) = onde

p Rb

1 = (ln b

p Kb Sb

b )

Exy =

1 2 1 1 2 c exp(a + b + (a + b ) + a b ) 1 + erf (Rb b a ) 2 2 2 1 1 2 1 p exp(a + a ) 1 + erf (Rb a ) 2 2 2 1 1 2 1 p exp(b + b ) 1 + erf (Rb b ) 2 2 2


2 x = 1 exp(a + 1 a E ) 2 2

Ex =

Ey =

E1 =

1 2

1 c 1 + erf (Rb ) 2

128 Cov (rca , rpa )

Cap tulo 9. Portf olios Mistos Contendo Op c oes

1 Ca Pa

2 c p c p c p {Sa E2x + Sa Ex (Ka + Ka ) Ka Ka E1 } ca pa , se Ka > Ka p c Ka se Ka

cov (rca , rpa ) =

, ca pa onde 1 2 exp(2a + 2a ) 2 1 ln erf a 2 1 2 1 exp(a + a ) 2 2 1 ln erf a 2

E2x =

p Ka Sa

2 a 2a

erf

a 2

ln

c Ka Sa

2 a 2a

Ex =

p Ka Sa

2 a a

erf

1 a 2

ln

c Ka Sa

2 a a

E1

1 = 2

1 erf a 2

ln

p Ka Sa

erf

a 2

ln

c Ka Sa

Cov (rca , rcb ) 1 c c {Sa Sb Exy Sa Ex Kb Sb Ey Ka } Ca Cb cb ca c K cE x Ka E1 ) (Sa E (Sb E y b 1 ) + ca cb Ca Cb

cov (rca , rcb ) =

onde

c Ra

1 = (ln b

c Ka Sb

a )

c Rb

1 = (ln b

c Kb Sb

b )

9.3. Esperan ca e Covari ancia do Retorno de Op c oes Exy = 1 2 1 2 exp(a + b + (a + b ) + a b ) 2 2 2


+

129

c Ra

1 erf

1 2(1 2 )

c (Rb b (1 2 ) u)

1 exp( (u a b )2 ) du 2 1 1 2 exp(a + a ) 2 2 2
+

Ex =

c Ra

1 erf

1 2(1 2 )

c (Rb u)

1 exp( (u a )2 ) du 2 1 1 2 exp(b + b ) 2 2 2
+

Ey =

c Ra

1 erf

1 2(1 2 )

c Rb u b (1 2 )

1 exp( (u b )2 ) du 2

E1 =

1 2 2

1 erf
c Ra

1 2(1 2 )

c u) (Rb

1 exp( u2 ) du 2

1 2 c x = 1 exp(a + 1 a ) 1 erf (Ra a ) E 2 2 2 1 = 1 E 2 Rc 1 erf a 2

1 c = 1 exp( + 1 2 ) 1 erf E b ) (Rb y b b 2 2 2 = 1 E 1 2


c Rb 1 erf 2

130 Cov (rca , rpb ) cov (rca , rpb ) =

Cap tulo 9. Portf olios Mistos Contendo Op c oes

1 p c c p {Sa Sb Exy + Sa Ex Kb + Sb Ey Ka Ka Kb E 1 } Ca P b pb ca + K pE x K c E (Sa E (Sb E y a 1) b 1 ) + ca pb Ca Pb

onde 1 (ln b
c Ka Sb

c = Ra

a )

p Rb =

1 (ln b

p Kb Sb

b )

x ,E 1 ,E x e E 1 s Os valores de Exy , Ex , Ey , E1 , E ao iguais ` as express oes de p c cov (rca , rcb ), trocando o sinal da fun ca o erf e trocando tamb em Rb por Rb . Cov (rpa , rpb ) cov (rpa , rpb ) = 1 p p p p {Sa Sb Exy Sa Ex Kb Sb E y K a + Ka Kb E1 } P a Pb pb pa K pE x K p E + (Sa E (Sb E y a 1) + b 1 ) + pa pb Pa Pb

onde 1 (ln b 1 (ln b


p Ka Sa p Kb Sb

p Ra =

a )

p Rb =

b )

Exy =

1 1 2 2 exp(a + b + (a + b ) + a b ) 2 2 2
p Ra

1 + erf

1 2(1 2 )

p (Rb b (1 2 ) u)

1 exp( (u a b )2 ) du 2

9.3. Esperan ca e Covari ancia do Retorno de Op c oes Ex = 1 2 1 exp(a + a ) 2 2 2


p Ra

131

1 + erf

1 2(1 2 )

p u) (Rb

1 exp( (u a )2 ) du 2

Ey =

1 1 2 exp(b + b ) 2 2 2
p Ra

1 + erf

1 2(1 2 )

p Rb u b (1 2 )

1 exp( (u b )2 ) du 2

E1

1 = 2 2

p Ra

1 + erf

1 p (Rb u) exp( u2 ) 2 2(1 2 )

du

1 p x = 1 exp(a + 1 2 ) 1 + erf E (Ra a ) a 2 2 2

p 1 Ra E1 = 1 + erf 2 2 1 p = 1 exp( + 1 2 ) 1 + erf (Rb b ) E y b b 2 2 2

= 1 E 1 2

Rp 1 + erf b 2

Cov (rca1 , rca2 ) Neste caso, vamos calcular a covari ancia entre as taxas de retorno de duas op co es de compra sobre o mesmo ativo A, mesma data de expira ca o, mas com pre cos de exerc cio diferentes e, portanto, pr emios diferentes.
c c Sejam K1 e K2 os pre cos de exerc cio e C1 e C2 os pr emios das calls.

132

Cap tulo 9. Portf olios Mistos Contendo Op c oes

cov (rca1 , rca2 ) =

1 c c c c K2 E1 c1 c2 ) + K1 + K2 S 2 E2x Sa Ex (K1 C1 C2 a

c c , K2 } K = max{K1

onde

E2x =

1 1 2 exp(2a + 2a ) 1 erf 2 a 2

ln

K Sa

2 a 2a

Ex =

1 1 2 1 exp(a + a ) 1 erf 2 2 a 2

ln

K Sa

2 a a

E1 =

1 2

1 erf

a 2

ln

K Sa

Cov (rpa1 , rpa2 ) Aqui calculamos a covari ancia entre as taxas de retorno de duas op co es de venda sobre o mesmo ativo A, mesma data de expira ca o, mas com pre cos de exerc cio e pr emios diferentes.
p p Sejam K1 e K2 os pre cos de exerc cio e P1 e P2 os pr emios das calls.

cov (rpa1 , rpa2 ) =

1 p p p p K2 E1 p1 p2 S 2 E2x Sa Ex (K1 + K2 ) + K1 P1 P2 a

p p K = min{K1 , K2 }

onde

9.3. Esperan ca e Covari ancia do Retorno de Op c oes

133

E2x =

1 1 2 ) 1 + erf exp(2a + 2a 2 a 2 1 1 1 2 ) 1 + erf exp(a + a 2 2 a 2 1 2 1 a 2 K Sa

ln

K Sa

2 a 2a

Ex =

ln

K Sa

2 a a

E1 =

1 + erf

ln

Cov (rcaT , rca ) Neste caso calculamos a covari ancia entre duas op co es de compra sobre o mesmo ativo, mas com datas de expira ca o diferentes (dadas por T e , < T ). Suponha que temos a informa ca o xT = ln Sa (T ) = N (, 2 ) Sa (t0 )

Denote por x o retorno logar timico do ativo no per odo t0 a e xT o retorno logar timico do ativo no per odo a T . Ent ao x = ln Sa ( ) 2 ) = N ( , Sa (t0 )

xT = ln onde

Sa (T ) 2 = N (T , T ) Sa ( )

= T
2

t0 T t0 2 t0 = T T t0 T T t0 2 T = T T t0

T = T
2 T

E a correla c ao entre x e xT e dada por

134

Cap tulo 9. Portf olios Mistos Contendo Op c oes

corr(xT , x ) =

2 2 2 T + T 2T

Desta forma, podemos calcular a covari ancia entre as duas op c oes usando a mesma express ao da Cov (rca , rcb ), considerando x = xT , y = x e = corr(xT , x ). Cov (rpaT , rpa ) Idem ao caso anterior, onde a express ao usada para o c alculo da covari ancia e a dada por Cov (rpa , rpb ). Cov (rcaT , rpa ) Idem aos casos anteriores, usando a express ao dada em Cov (rca , rpb ) para o c alculo da covari ancia.

Appendix A Matlab
A.1 Hist orico

Matlab, de Matrix Laboratory, e um ambiente interativo para computa c ao envolvendo matrizes. Matlab foi desenvolvido no in cio da d ecada de 80 por Cleve Moler, no Departamento de Ci encia da Computa ca o da Universidade do Novo M exico, EUA. Matlab coloca a ` disposi c ao do usu ario, num ambiente interativo, as bibliotecas desenvolvidas nos projetos LINPACK e EISPACK. Estes projetos elaboraram bibliotecas de dom nio p ublico para Algebra Linear. LINPACK tem rotinas para solu ca o de sistemas de equa co es lineares, e EISPACK tem rotinas para c alculo de autovalores. Os manuais destes projetos s ao portanto documenta ca o complementar ` a documenta ca o do Matlab. Vers oes posteriores de Matlab foram desenvolvidas na rma comercial MathWorks Inc., atualmente na vers ao 5.1, que det em os direitos autorais destas implementa co es. As vers oes recentes do produto MATLAB melhoram signicativamente o ambiente interativo, incluindo facilidades gr acas de visualiza c ao e impress ao; todavia a Linguagem Matlab manteve-se quase inalterada. Existem v arios interpretadores da linguagem Matlab em dom nio publico, como Matlab 1.0, Octave, rlab e Scilab. Existem tamb em outros interpretadores comerciais de Matlab, como CLAM. Existem ainda v arias Tool Boxes, bibliotecas vendidas pela MathWorks e por terceiros, com rotinas em Matlab para a reas espec cas. Usaremos a graa de nome pr oprio, Matlab, como refer encia a linguagem, o nome em mai usculas, MATLAB, como refer encia ao produto comercial da MathWorks, e a graa em min usculas, matlab, como refer encia a um interpretador gen erico da linguagem Matlab. 135

136

Appendix A. Matlab

A.2

O Ambiente

Para entrar no ambiente matlab, simplesmente digite matlab. O prompt do matlab e >> , que espera por comandos. Para sair use o comando quit. Dentro do ambiente matlab, um comando precedido do bang, !, e executado pelo sistema operacional, assim: usando !dir ou !ls caremos sabendo os arquivos no diret orio corrente, e usando !edit , !vi ou !emacs , seremos capazes de editar um arquivo. Normalmente Matlab distingue mai usculas de min usculas. O comando help exibe todos os comandos e s mbolos sint aticos dispon veis. O comando help nomecom fornece informa co es sobre o comando de nome nomecom. O comando diary nomearq abre um arquivo de nome nomearq, e ecoa tudo que aparece na tela para este arquivo. Repetindo o comando diary fechamos este arquivo. O formato dos n umeros na tela pode ser alterado com o comando format. Os comandos who e whos listam as vari aveis em exist encia no espa co de trabalho. O comando clear limpa o espa co de trabalho, extinguindo todas as vari aveis. O comando save nomearq guarda o espa co de trabalho no arquivo nomearq, e o comando load nomearq carrega um espa co de trabalho previamente guardado com o comando save. Em Matlab h a dois terminadores de comando: a v rgula, , , e o ponto-e-v rgula, ; . O resultado de um comando terminado por v rgula e ecoado para a tela. O terminador ponto-e-v rgula n ao causa eco. Resultados ecoados na tela s ao atribu dos a vari avel do sistema ans (de answer, ou resposta). O terminador v rgula pode ser suprimido no u ltimo comando da linha. Para continuar um comando na linha seguinte devemos terminar a linha corrente com tr es pontos, ... , o s mbolo de continua c ao. O sinal de porcento, % , indica que o resto da linha e coment ario.

A.3

Matrizes

O tipo b asico do Matlab e uma matriz de n umeros complexos. Uma matriz real e uma matriz que tem a parte imagin aria de todos os seus elementos nula. Um vetor linha e uma matriz 1 n, um vetor coluna uma matriz n 1, e um escalar uma matriz 1 1. As atribui co es A = [1, 2, 3; 4, 5, 6; 7, 8, 9]; ou A = [1 2 3; 4 5 6; 7 8 9]; , s ao equivalentes, e atribuem a ` vari avel A o valor 1 2 3 A= 4 5 6 7 8 9

A.3. Matrizes

137

Matrizes s ao delimitadas por colchetes, elementos de uma mesma linha s ao separados por v rgulas (ou apenas por espa cos em branco), e linhas s ao separadas por ponto-e f v rgula (ou pelo caracter nova-linha). O ap ostrofe, , transp oem uma matriz. E acil em Matlab compor matrizes blocadas, desde que os blocos tenham dimens oes compat veis! Por exemplo:

A=

1 2 3 4

, B=

5 6

1 2 5 7 , C = 8 , D=[A,B;C]; D = 3 4 6 7 8 9 9

Cuidado ao concatenar matrizes com os espacos em branco, pois estes s ao equivalentes a v rgulas, separando elementos. Assim: [1,2+3]==[1 5] mas [1,2 +3]==[1,2,3]. H a v arias fun c oes para gerar matrizes e vetores especiais: zeros(m,n), ones(m,n) e rand(m,n) s ao matrizes de dimens ao m n com, respectivamente, zeros, uns, e n umeros aleat orios em [0,1]. O vetor i:k:j e o vetor linha [i, i + k, i + 2k, . . . i + nk ], onde n = max m | i + mk j . Podemos suprimir o passo k = 1, escrevendo o vetor i:1:j simplesmente como i:j. Se v e um vetor, diag(v) e a matriz diagonal com diagonal v , se A e uma matriz quadrada, diag(A) e o vetor com os elementos da diagonal principal de A. A matriz identidade de ordem n e eye(n), o mesmo que diag(ones(1,n)). A(i,j) e o elemento na i- esima linha, j - esima coluna de A, m n. Se vi e vj s ao vetores de ndices em A, i.e. vetores linha com elementos inteiros positivos, em vi n ao excedendo m, e em vj n ao excedendo n, A(vi,vj) e a sub-matriz do elementos de A com ndice de linha em vi e ndice de coluna em vj . Em particular A(1:m,j), ou A(:,j) ea j - esima coluna de de A, e A(i,1:j), ou A(i,:), e a i- esima linha de A. Exemplo: 11 12 13 3 2 32 33 A = 21 22 23 vi = vj = A(vi, vj ) = 1 3 12 13 31 32 33 As opera c oes de adi c ao, subtra c ao, produto, divis ao e pot encia, + - * / ^, s ao as usuais da algebra linear. O operador de divis ao a ` esquerda, \, fornece em x = A\b; uma solu ca o x | A x = b. O operador de divis ao a direita, / , fornece em a = b/A; uma solu ca o x | x A = b. Quando o sistema e bem determinado isto e o mesmo que, respectivamente, inv(A)*b ou b*inv(A). (Quando o sistema e super-determinado x e uma solu ca o no sentido dos m nimos quadrados.) Os operadores aritm eticos de produto, pot encia e divis ao tem a vers ao pontual, .* .^ ./ .\ , que s ao executados elemento a elemento. Exemplo: x= 5 5 5 , y= 1 0 1 , x. y = 5 0 5

Matlab e uma linguagem declarativa (em oposi c ao a imperativa) onde as vari aveis s ao declaradas, dimensionadas e redimensionadas dinamicamente pelo interpretador. Assim,

138

Appendix A. Matlab

se A presentemente n ao existe, A=11; declara e inicializa uma matriz real 1 1. Em seguida, o comando A(2,3)=23; redimensionaria A como a matriz 2 3 [11, 0, 0; 0, 0, 23]. A nome da matriz nula e [ ]. A atribui ca o A(:,2)=[]; anularia a segunda coluna de A, tornado-a a matriz 2 2 [11, 0; 0, 23].

A.4

Controle de Fluxo

Os operadores relacionais da linguagem s ao < <= > >= == ~=, que retornam valor 0 ou 1 conforme a condi ca o seja verdadeira ou falsa. Os operadores l ogicos, n ao e ou, s ao, respectivamente, ~ & | . Matlab possui os comandos de uxo for end, while end e if elseif else end, que tem a mesma sintaxe do Fortran, exemplicada a seguir. Lembre-se de n ao escrever a palavra elseif como duas palavras separadas. for i=1:n for j=1:m H(i,j)=1/(i+j-1); end end if(x<0) signx=-1; elseif(x>0) signx=1; else signx=0; end fatn=1; while(n>1) fatn=fatn*n; n=n-1; end

Uma considera c ao sobre eci encia: Matlab e uma linguagem interpretada, e tempo de interpreta c ao de um comando simples pode ser bem maior que seu tempo de execu c ao. Para tornar o programa r apido, tente operar sobre matrizes ou blocos, evitando loops expl citos que operem numa matriz elemento por elemento. Em outras palavras, tente evitar loops que repetem um comando que atribui valores a elementos, por atribui co es a vetores ou matrizes. As facilidades no uso de vetores de ndices, os operadores aritm eticos pontuais, e fun co es como max , min , sort , etc., tornam esta tarefa f acil, e os programas bem mais curtos e leg veis.

A.5

Scripts e Fun c oes

O uxo do programa tamb em e desviado pela invoca ca o de subrotinas. A subrotina de nome nomsubr deve estar guardada no arquivo nomsubr.m ; por isto subrotinas s ao tamb em denominadas M-arquivos (M-les). H a dois tipos de subrotinas: Scripts e Fun co es. Um script e simplesmente uma seq u encia de comandos, que ser ao executados como se fossem digitados ao prompt do matlab. Subrotinas podem invocar outras subrotinas, inclusive recursivamente.

A.5. Scripts e Fun c oes

139

Um M-arquivo de fun c ao em Matlab come ca com a declara c ao da forma [ps1, ps2,... psm] = nomefunc( pe1, pe2,... pen ) A lista entre par enteses e a lista de par ametros de entrada da fun ca o, e a lista entre colchetes s ao os par ametros de sa da. Par ametros s ao vari aveis locais, assim como s ao vari aveis locais todas as vari aveis no corpo da fun c ao. Ao invocarmos a fun c ao nomefunc com o comando [as1,... asm] = nomefunc(ae1,... aen); Os argumentos de entrada, ae1, . . . aen, s ao passados por valor aos (i.e. copiados nos) par ametros de entrada, e ao m do M-arquivo, ou ao encontrar o comando return , os par ametros de sa da s ao passados aos argumentos de sa da. Exemplos: function [mabel, mabin] = vmax(v) % procura o maior elemento, em valor absoluto, % dentro de um vetor, linha ou coluna. %Obs: Esta funcao NAO segue os conselhos %para operar sobre blocos, e nao elementos! [m,n]=size(v); if( m ~= 1 & n ~= 1 ) erro; else K=max([m,n]); mabel= abs(v(1)); mabin= 1; for k=2:K if( abs(v(k)) > mabel ) mabel= abs(v(k)); mabin= k; end%if end%for end%else Para nos referir, dentro de uma fun c ao, a uma vari avel externa, esta deve ter sido declarada uma vari avel global com o comando global. A forma de especicar uma vari avel como global muda um pouco de interpretador para interpretador, e mesmo de vers ao para vers ao: Diga help global para saber os detalhes de como funciona a sua implementa ca o.

140

Appendix A. Matlab

Appendix B Manual do Critical-Point for Windows


V. 3.00 01-12-1998 Critical-Point for Windows e um programa integrado para resolver e analisar modelos de otimiza c ao de portf olios de tipo m edia-vari ancia (modelo de Markowitz). O programa e distribuido nas vers oes estudantil e prossional. As vers oes s ao praticamente id enticas, tanto na forma como na apresenta c ao da an alise. A vers ao prossional pode resolver modelos de grande porte, sendo orientada para uso comercial. J a a vers ao estudantil permite a an alise de modelos com at e 12 ativos, 4 op c oes e 20 restri c oes, mais ativos sem risco. A vers ao estudantil deve ser utilizada exclusivamente para pesquisa acad emica e atividades sem m lucrativo, estando dispon vel para estes prop ositos. Gra cas ao apoio da BM&F, Bolsa de Mercadorias e de Futuros de S ao Paulo, e ao NOPEF-USP - N ucleo de Otimiza ca o e Processos Estoc asticos Aplicados a Economia e Finan cas da Universidade de S ao Paulo. Os direitos autorais das duas vers oes pertencem ao autor do programa, Julio M. Stern, que pode ser contactado em jstern@ime.usp.br ou www.ime.usp.br/ jstern

B.1

Instala c ao

A congura ca o m nima exigida pela vers ao estudantil e um micro IBM-PC Pentium com 16MB de RAM, 3MB livres no disco r gido, e MS-Windows 95. Para iniciar a instala c ao siga os seguintes passos: 1. Coloque o disco de instala ca o no drive A ; 2. Execute (do Windows) A:\SETUP . 141

142

Appendix B. Manual do Critical-Point for Windows

O Critical-Point vers ao estudantil ser a instalado no sub-diret orio C:\SCRIPO, e a vers ao prossional no diret orio C:\CRIPO. N ao altere o nome e a localiza c ao destes diret orios no processo de instala ca o. Observa c ao: Se o programa de instala ca o abortar com uma mensagem de erro a respeito de um arquivo *.DLL ou *.OCX, saia do Windows, apague este arquivo do diret orio C:\WINDOWS\SYSTEM e recomece a instala ca o.

Abertura
Para abrir o aplicativo Critical-Point: 1. Abra o Windows e duplo-clique o cone do Critical-Point; 2. Digite o Password: student. Use apenas letras min usculas e sem as aspas; 3. A barra de menu do Critical-Point aparecer a no canto superior esquerdo da tela.

B.2

Gera c ao da Fronteira Eciente

Para tra car a Fronteira Eciente de Markowitz, e necess ario clicar, em sequ encia, os bot oes dos programas: 1. Filtro (F), 2. incluir Derivativos (D), 3. Compilador MDL (M), 4. Programa c ao Quadr atica Param etrica (Q) na barra de bot oes. Alternativamente, pode-se executar estes programas atrav es do menu Run. Esta sequ encia resolve o modelo especicado nos arquivos MODEL.CP e MODPS.CP como ser a apresentado adiante.

Visualiza c ao da Fronteira Eciente


Clique o bot ao Graph (G). O gr aco contendo a fronteira eciente aparecer a. Os pontos cr ticos, utilizados para o c alculo da fronteira s ao identicados pelo s mbolo +. Cada Ponto Cr tico e caracterizado por alguma mudan ca qualitativa no portf olio o timo como um ativo que entrou ou saiu do portf olio, ou uma restri ca o que passou de ativa (justa) a inativa(folgaada), ou vice-versa.

B.2. Gera c ao da Fronteira Eciente

143

Os t tulos, cores, formato num erico, visualiza c ao da reta tangentes e muitas outras op co es poder ao ser modicadas atrav es do menu Options Graph. As novas op co es do usu ario ser ao salvas automaticamente. Utilize o comando Options Reset Graph para retornar aos valores default.

Numeric Template
Esta e a janela que fornece as informa co es num ericas sobre a Fronteira Eciente. Para cham a-la, acione o bot ao Numeric Template (N). A janela do Numeric Template e composta de seis linhas e oito colunas mais os bot oes Recalculate, Plot, Report e Save. As linhas s ao denominadas Sele c ao A at e Sele ca o F e podem ser utilizadas para analisar at e seis portf olios ecientes simultaneamente. A primeira coluna apresenta valor de , o par ametro de pondera ca o entre o retorno esperado e o risco do portf olio. Trata-se de um par ametro de propens ao ao risco (em oposi ca o a ` avers ao ao risco). Quanto maior , maior a import ancia do retorno esperado do portf olio em rela c ao ao risco do portf olio. A segunda coluna apresenta o retorno esperado do portf olio (e). A terceira exibe a vari ancia do portf olio (v). A quarta coluna mostra o desvio-padr ao (s) do portf olio. A quinta coluna mostra o valor da taxa de retorno sem risco, r. Esta e a taxa de juros para o qual um determinado portf olio e tangente. Alternativamente, dada uma taxa de juros, o Critical-Point calcula qual o portf olio tangente correspondente. A sexta e s etimas colunas mostram os par ametros k e l. O par ametro k indica que o portf olio situa-se entre os pontos cr ticos k e k + 1. O par ametro l fornece a posi ca o relativa entre estes dois extremos, de tal forma que l = 0 signica que o portf olio e o ponto cr tico k , l = 0.5 signica que o o portf olio est a a meio caminho entre k e k + 1, e l = 1 signica que o portf olio e o ponto cr tico k + 1. A oitava coluna indica o status da sele c ao. O s mbolo: + mostra que a sele ca o ainda n ao foi recalculada; signica que est a em cima de um ponto cr tico; signica que a sele ca o n ao e um ponto cr tico;

indicam que o par ametro de entrada est a muito alto ou muito baixo. Podemos selecionar um portf olio digitando o valor de qualquer um destes par ametros: acione o mouse sobre o campo de entrada e digite o valor do par ametro (este campo

144

Appendix B. Manual do Critical-Point for Windows

aparecer a em azul e sublinhado). Em seguida acione o bot ao Recalculate e todos os demais par ametros (que aparecer ao em preto) ser ao recalculados consistentemente com o par ametro digitado. Sempre que uma sele c ao e recalculada, uma janela auxiliar apresentar a a composi ca o do portf olio selecionado. Os par ametro e e s podem ser selecionados diretamente na janela Graph: use o cursor do mouse para apontar para uma posi ca o selecionada na fronteira eciente; em seguida clique o bot ao da esquerda para copiar o par ametro do retorno esperado no campo apropriado da linha selecionada (utilize o bot ao da direita para copiar a coordenada s). O bot ao Plot tra ca a Fronteira Eciente al em de exibir os pontos selecionados (indicados por pequenos c rculos sobre a curva), a reta tangente a ` fronteira eciente, etc. Quando um portf olio e selecionado por sua taxa de juros (r), tamb em a linha tangente e desenhada. O bot ao Report gera uma descri ca o de todos os portf olios selecionados num arquivo ASCII chamado REPORT.CP. Este arquivo pode ser lido e impresso atrav es do MS-DOS Editor que e acionado automaticamente atrav es do menu Open File na barra de bot oes. O editor default pode ser modicado nas op co es do menu. O bot ao Save grava os resultados antes da sa da do programa. O formato num erico do Numeric Template pode ser alterado atrav es do menu Options Numeric. Para voltar ao formato original, use o comando Options Reset Numeric.

Impress ao
Acione File Print Graph no menu ou clique o u ltimo bot ao da barra de bot oes para a impress ao da Fronteira Eciente. A impressora e os defaults de impress ao usados ser ao aqueles denidos para o ambiente Windows. O comando File Print Setup do menu permite a recongura c ao da impressora. Atrav es do comando Options To Clipboard, pode-se enviar o gr aco para o Clipboard do Windows no formato Bitmap ou Metale.

B.3

Descri c ao do modelo e linguagem MDL

Os arquivos DERIV.CP e MODEL.CP cont em as informa co es que o usu ario deve fornecer ao Critical-Point. Estes arquivos ASCII podem ser editado pelo editor MS-DOS Editor ou qualquer outro editor sem formata ca o. O arquivo MODEL.CP cont em os nomes e informa co es a respeito de cada ativo que podem compor o portf olio, bem como restri c oes que o portf olio deve obedecer. Um exemplo e o seguinte: all = {TEL4,ELE6,PET4,BB4,BBD4,SCO4,CEV4,BRH4};

B.3. Descri c ao do modelo e linguagem MDL #sectors energy = {ELE6,PET4}; bank = {BB4,BBD4}; food = {SCO4,CEV4,BRH4}; state = {TEL4,ELE6,PET4,BB4}; private = ~state; # constraints normal: sum[all] $ ==1; statelim: sum[state] $ <= 0.5; statebanks= state & banks; statebklim: sum[statebanks] $ <= 0.1; foodsbound: sum[food] $ >= 0.2; liquindex[all] = {1.0@TEL4,0.6@ELE6,0.5@PET4,0.4@BB4, 0.4@BBD4,0.2@SCO4,0.2@CEV4,0.3@BRH4}; liqconstr: for[all] $ <= 0.5*liquindex;

145

A primeira linha dene o conjunto universo, isto e, quais s ao os ativos que podem compor o portf olio. A quarta linha dene o subconjunto ou setor de energia e as linhas seguintes denem outros setores (banc ario,alimenta c ao, estatais, privadas). A primeira restri c ao (normal) estabelece que a soma das participa c oes de todos os ativos no portf olio e igual a 1. Esta e a restri ca o normal que tem de estar sempre presente, indicando o total a ser investido no portf olio. Este total pode ser um n umero de unidades monet arias, mas geralmente e tomado igual a 1 ou 100 de modo que, as quantidades a serem investidas em cada ativo representem fra c oes da unidade ou percentuais do investimento total. O s mbolo == e o s mbolo de igualdade, n ao devendo ser confundido com =, o sinal de atribui c ao. A segunda restri ca o determina que a soma dos investimentos nos ativos estatais ( denido como {TEL4,ELE6,PET4,BB4} ) deve ser menor ou igual a 0.5 A linha que segue a segunda restri ca o dene o conjunto de bancos estatais, statebanks, contendo os ativos que pertencem aos conjuntos de bancos e de estatais. A terceira restri ca o estabelece que a soma dos investimentos nos bancos estatais deve ser menor ou igual a 0.1. A restri ca o em alimenta ca o, foodsbound, determina que a soma dos investimentos neste setor deve exceder 0.2. Au ltima restri ca o estabelece que o investimento em cada ativo do universo n a deve exceder ao ndice de liquides denido no vetor liquindex.

146

Appendix B. Manual do Critical-Point for Windows

Retornos Esperados e Risco


O arquivo MODPS.CP cont em informa co es sobre o retorno esperado de cada ativo, ao m do per odo em considera ca o no modelo, bem como o desvio padr ao (ou a volaatilidade, uma medida de risco) associado a este progn ostico. all={ TEL4,ELE6,PET4,BB4,BBD4,SCO4,CEV4,BRH4}; er[all]={ 4.521883e-003@TEL4, 9.349340e-002@ELE6, 1.414101e-001@PET4, 4.441184e-002@BB4, 4.125617e-002@BBD4, 2.153917e-002@SCO4, -1.467467e-001@CEV4, 7.254108e-002@BRH4 }; std[all]={ 2.105123e-001@TEL4, 3.214724e-001@ELE6, 2.988641e-001@PET4, 2.952717e-001@BB4, 2.019181e-001@BBD4, 1.709987e-001@SCO4, 2.471665e-001@CEV4, 1.866201e-001@BRH4 }; Hurst=0.50; extrap=30; sample=90;

O vetor er cont em os retornos esperados, e o vetor std o desvio padr ao destes retornos. Dizemos que esperamos do ativo asseta um retorno de er[asseta], mais ou menos std[asseta]. Ao escrever um n umero decimal, n ao ESQUEC A O ZERO ANTES DO PONTO DECIMAL.

A Linguagem de Descri c ao do Modelo


Vejamos em maior detalhe a linguagem MDL ou Model Description Language. Esta linguagem tem por objetivo descrever, f acil e intuitivamente, as restri co es que o portf olio deve obedecer.

Nomes
Um nome v alido e uma sequ encia de letras, d gitos, sublinhas, e pontos, come cando com uma letra, e tendo no m aximo 15 caracteres. N ao e permitido utilizar o mesmo nome

B.3. Descri c ao do modelo e linguagem MDL

147

para dois ou mais objetos em um programa na linguagem MDL. Tamb em n ao e permitido utilizar como nomes palavras reservadas da linguagem. As palavras reservadas s ao: abs, exp, for, ln, max, min, maxe, mine, print, sign, sum.

Indices
Os modelos tipo Markowitz constroem portf olios o timos a partir de ativos dentro de um dado universo. Este conjunto de todos os ativos em considera ca o, tamb em denominado conjunto universo, e o conjunto all, ou o conjunto de ndices do modelo. A deni c ao do conjunto universo deve ser a primeira linha em um programa MDL.

Conjuntos
Um conjunto e denido por uma atribui ca o constituida por: 1. O nome do conjunto 2. O s mbolo de atribui ca o =. 3. Uma lista de nomes de ativos 4. O terminador de senten ca ; Uma lista de nomes e constituida de: 1. O s mbolo de come co de lista, {, 2. Uma sequ encia de nomes de ativos, separados por v rgulas. 3. O s mbolo de m de lista, }. Al em de denir conjuntos pela lista de seus elementos, podemos ter conjuntos denidos por opera c oes entre outros conjuntos. Estas opera co es s ao: O complemento de um dado conjunto, e o conjunto de todos os elementos pertencentes a all que n ao est ao presentes no conjunto. | A uni ao de dois conjuntos e o conjunto dos elementos no primeiro, no segundo, ou em ambos os conjuntos. & A intersec c ao de dois conjuntos e o conjunto dos elementos que pertencem tanto ao primeiro quanto ao segundo conjunto.

148

Appendix B. Manual do Critical-Point for Windows

\ A diferen ca entre dois conjuntos e constitu da pelos elementos que pertencem ao primeiro mas n ao ao segundo conjunto. Nos exemplos seguintes denimos alguns conjuntos novos atrav es de conjuntos pr eexistentes, por exemplo: private = ~state; statebanks = state & banks; foodandenergy = food | energy; A preced encia destes operadores e a mesma da aritm etica comum: em uma dada express ao i.e. primeiro fazemos todas as opera co es de complemento, depois as opera co es de intersec ca o, e nalmente as uni oes e diferen cas. A preced encia de c alculo pode ser modicada utilizando par enteses como sinal de pontua ca o.

Escalares
Um escalar e simplesmente um n umero inteiro ou real. N umeros inteiros s ao formados por uma sequ encia de um ou mais d gitos decimais: 1,2,...,9,0. Um n umero inteiro pode ainda ser precedido de um sinal, + ou -, sem espa co entre o sinal e a sequ encia de d gitos. Assim s ao exemplos de n umeros inteiros: 0; -998; 754. Um n umero real pode ser representado em dois formatos: Nota ca o de ponto utuante Nota ca o de ponto xo 1. Nota c ao de ponto xo: Um n umero escrito nesta forma e uma sequ encia de: um inteiro, o ponto decimal e um inteiro sem sinal. Note que, em ponto xo, e necess ario escrever ao menos um d gito, possivelmente o zero, tanto antes como depois do ponto. Note tamb em que o separador decimal eo ponto, e n ao a v rgula ou qualquer outro s mbolo. Assim, s ao exemplos corretamente grafados 0.0, 37.65; -8.83, mas s ao incorretos os exemplos 10. ; .15 e -.88. 2. Nota c ao de ponto utuante (cient ca): (a) Um n umero inteiro ou um real em ponto xo. Esta e a mantissa do n umero em nota ca o cient ca. (b) A letra E, mai uscula ou min uscula.

B.3. Descri c ao do modelo e linguagem MDL (c) Um n umero inteiro. Este e o expoente do n umero em nota c ao cient ca.

149

O expoente do n umero em nota ca o cient ca indica de quantos d gitos, para a direita ou para a esquerda, devemos deslocar o ponto na mantissa. Esta nota c ao eu til para escrever n umeros muito grandes ou muito pequenos, pois evita longas seq u encias de zeros antes ou depois do ponto. Assim, podemos representar 1000000 por 1E6, -1000000 por -1E6, 0.000001 por -1E-6 e -0.000001 por -1E-6.

Vetores Associativos
Vetores associam um valor num erico a cada ativo. Atribui co es a vetores s ao sempre restritas ao conjunto de dom nio da deni ca o que e indicado no lado esquerdo da atribui ca o. Por exemplo: usando o vetor j a denido anteriormente, temos: std[all]={ 2.105123e-001@TEL4, 3.214724e-001@ELE6, 2.988641e-001@PET4, 2.952717e-001@BB4, 2.019181e-001@BBD4, 1.709987e-001@SCO4, 2.471665e-001@CEV4, 1.866201e-001@BRH4 }; mincapt[private] = { 0.05@CEV4, 0.03@SCO4, 0.02@BBD4 }; maxmin[private] = max( minpart , mincapt ); A express ao <valor>@<ativo> associa o valor do vetor ao ativo. As seguintes regras se aplicam a atribui c oes: 1- Uma atribui ca o n ao muda os valores de um vetor fora dos limites do dom nio da atribui ca o. 2- Quando o dom nio e omitido, e tomado como o universo, all. 3- O valor inicial de um vetor em todos os ativos e zero. Podemos tamb em atribuir valores a vetores atrav es opera co es aritm eticas (adi c ao, subtra ca o, produto, divis ao e exponencia c ao entre dois vetores. As opera co es s ao calculadas para cada posi ca o, isto e, elemento a elemento. Por exemplo, ap os a atribui ca o example[private] = std*er;

os valores dos elementos do vetor example nas posi co es correspondentes ` as empresas privadas e std*er; e os valores em outros elementos permanecem inalterados ou nulos (caso seja a primeira atribui ca o ao vetor).

150

Appendix B. Manual do Critical-Point for Windows

Podemos tamb em realizar opera c oes aritm eticas entre escalares e vetores. Neste caso o escalar e interpretado como um vetor constante. Exemplo: er3[a]=er*3 # cada elemento de p que pertence ao subconjunto a # eh multiplicado por tres e armazenado em p3 Finalmente, podemos acessar e modicar o valor de um vetor em um particular ativo. Por exemplo: std[CEV4]=0.55;

Fun c oes Escalares


As fun c oes logar tmo, ln(), exponencial, exp(), valor absoluto, abs(), sinal, sign(), maior elemento maxe(), menor elemento mine() e soma interna sum() podem ser aplicadas a escalares e vetores. Assim como express oes aritm eticas, estas fun c oes s ao aplicadas a cada elemento de um vetor. Por exemplo: lner[a] = ln(er); As fun co es m aximo e m nimo podem ser calculadas em pares de escalares ou vetores. Estas fun co es tamb em s ao calculadas pontualmente quando assumem argumentos que s ao vetores. Por exemplo: a1={1@AA, 2@BB, 3@DD}; b1={5@BB, 1@DD}; c1=max(a1, b1); # c1 is # zero@CC is implicit

{1@AA, 5@BB, 0@CC, 3@DD};

Restri co es
As restri co es do problema denem as condi c oes a serem satisfeitas pelo portf olio. A primeira restri ca o, imprescind vel, e a condi ca o de normaliza c ao: normal: sum[all] $ == 1;

Ela indica a quantidade total a ser investida no portf olio, que em geral e tomada como 1 ou 100, de forma que a composi c ao de portf olio selecionada aparece como fra c oes da unidade ou por fra ca o percentual. S ao as vari aveis de decis ao do modelo, representando

B.4. Modelo de Markowitz

151

o valor investido no i- esimo ativo do portf olio. Equa co es de igualdade s ao indicadas pelo sinal ==, e inequa co es de desigualdade s ao indicadas pelos sinais <= e >=. Observa c ao importante: 1. N ao confunda a atribui c ao = com o sinal de igualdade ==. 2. As restri co es de igualdade devem ser denidas antes das desigualdades. Podemos denir restri co es em termos de somas ponderadas dos investimentos feitos em um conjunto de ativos, como em foodsbound : sum[food] $ <= 0.2; estabelecendo que a soma dos investimentos no setor de alimenta ca o n ao deve ultrapassar 20 por cento. Podemos, da mesma forma, estabelecer conjuntos de restri co es como: ineqmin: $[TEL4]>=0.3; upperbound: for[all] $ <=0.4; ineqmax: for[private] $ <= 0.1*x;

estabelecendo que o investimento em TEL4 deve ser de pelo menos 30%, que cada ativo individualmente n ao deve exceder 40% do portf olio e que o investimento em cada ativo do setor privado n ao deve ultrapassar 10% do valor que o vetor x associa a `quele banco.

B.4

Modelo de Markowitz

As vari aveis de decis ao em um modelo do tipo Markowitz s ao interpretadas como as participa co es que os diversos ativos t em no portf olio. O objetivo e otimizar a fun ca o utilidade sobre o retorno esperado do portf olio, comparado a ` vari ancia deste retorno. As principais entradas deste modelo s ao os retornos esperados, em uma matriz p, e a correspondente matriz de covari ancia S. O total investido em cada ativo, digamos, x, deve ser sempre positivo. Estas s ao as restri co es de sinal. Outras restri c oes de igualdade e de desigualdade podem ser adicionadas na forma T e x == te e T l x <= tl. A forma geral do problema de otimiza c ao e a seguinte: max U (x) = x p x S x onde

152

Appendix B. Manual do Critical-Point for Windows x e o vetor de participa co es dos ativos no portf olio (a ser encontrado), er=E(retorno) e o vetor de taxas de retorno esperadas dos ativos S=Cov(retorno) e a matriz de covari ancia dos retornos dos ativos Te e a matriz de coecientes das restri co es de igualdade te e o vetor de termos independentes das restri c oes de igualdade Tl e a matriz de coecientes das restri c oes de desigualdade tl e o vetor de termos independentes das restri c oes de desigualdade (l e-se eta) e o par ametro de pondera c ao entre a utilidade da esperan ca do retorno do portf olio versus a avers ao ao risco no investimento: quanto maior , maior a propens ao do investidor ao risco para valores de retorno esperado elevados. Valores reduzidos de quanticam uma alta avers ao ao risco por parte do investidor.

Trata-se portanto de um problema de Otimiza c ao Quadr atica Param etrica. A solu ca o, para um dado valor de e o vetor vi avel x (i.e. um vetor x satisfazendo todas as restri co es do modelo) que otimiza a fun ca o utilidade. Logo, x@asseta e o total investido em asseta no portf olio x. Uma vez que para cada valor de eta temos uma solu ca o o tima diferente, devemos escrev e-la como x( ). Cada uma destas solu co es otimas, ou ecientes, representa um portf olio cuja esperan ca de retorno e e( )=x( ) * p, com vari ancia v( )=x( ) * S * x( ), e desvio padr ao s( )= v ( ). A curva e( ) versus s( ) e a Fronteira Eciente do modelo. A Fronteira Eciente e formada por segmentos de par abolas que se unem formando uma curva c oncava. Ela representa a fronteira superior do conjunto de portf olios vi aveis. Para calcul a-la e necess ario primeiro determinar os pontos cr ticos. Cada ponto cr tico e um ponto na curva correspondente a um cr tico. Os etas cr ticos s ao aqueles em que ocorre alguma mudan ca qualitativa no portf olio x( ), i.e., 1. um ativo entra ou sai do portf olio, ou 2. uma restri ca o de desigualdade passa de uma desigualdade estrita (folgada ou inativa) a uma igualdade (desigualdade justa ou ativa), ou vice-versa. Para referir-se a ` posi c ao de um dado portf olio, e usual a frase o portf olio de retorno e mais ou menos s para indicar o portf olio de retorno esperado e e desvio padr ao s.

B.5. Filtro

153

Exemplo de Aplica c ao
Tomemos um exemplo do modelo da se ca o que explica o arquivo MODEL.CP, com retorno esperado e desvio padr ao obtidos atrav es dos par ametros padr ao do ltro. Utilizando o Numerical Template para selecionar alguns pontos da fronteira eciente podemos obter: Selected Portfolios: Parameters, Assets and Composition Parameters of portfolio A eta esp var 4,22E-01 9,39E-02 4,28E-02

std 2,07E-01

rate -7,51E-03

k 1

l 0,00E+00

Assets and Composition of portfolio A 5,00E-01@PET4 2,00E-02@BBD4 3,00E-02@SCO4 4,00E-01@BRH4 Parameters of portfolio B eta esp var std 3,21E-01 8,72E-02 3,78E-02

5,00E-02@CEV4

rate 1,95E-01

k -3,05E-02

l 2

0,00E+00

Assets and Composition of portfolio B 4,03E-01@PET4 2,00E-02@BBD4 3,00E-02@SCO4

5,00E-02@CEV4

4,97E-01@BRH4

e assim por diante.

B.5

Filtro

O modelo exige, como insumo fornecido pelo usu ario, a matriz de correla c ao dos retornos esperados dos ativos, o vetor de retornos esperados e o vetor de desvios padr ao. As estimativas destes par ametros podem ser feitas com base nos dados hist oricos de cada ativo, ou por qualquer outro meio que o usu ario julgar conveniente. Uma ferramenta simples e rubusta para este prop osito, i.e. um ltro, e distribuido junto com o programa. O ltro opera sobre longas s eries hist oricas de pre cos dos ativos sendo considerados. O disquete de instala ca o cont em alguns exemplos de s eries hist oricas de alguns dos ativos do mercado brasileiro. Hist oricos atualizados diariamente podem ser comprados de rmas divulgadoras de dados nanceiros. Os par ametros do ltros s ao ajustados no menu Options Filter. S ao eles:

154

Appendix B. Manual do Critical-Point for Windows

Final date Interval Samples Extrap

data da u ltima cota ca o a ser considerada intervalo entre cota c oes a serem consideradas N umero de cota co es a serem consideradas N umero de intervalos, adiante da data nal, para que se projetam retorno esperado, desvio padr ao e covari ancias Deator Nome do arquivo contendo as datas de cota c ao Extension Extens ao dos arquivos de cota c oes Hurst Par ametro caracter stico do movimento Browniano (entre 0.5 e 1)

O ltro (F) calcula o retorno m edio e o desvio padr ao para cada ativo na s erie hist orica. As amostras dos pre cos s ao tomadas no dom nio do tempo T, especicado pelos par ametros do ltro: t in T = [data-nal, datanal-intervalo, datanal -2intervalos, ..., datanal-nro-deamostras*intervalo] Os ltro estima retornos logar tmicos (ou cont nuos). Denotando por price(i, t) e r(i, t) o pre co e o retorno do ativo i no per odo t, o ltro calcula: r(i, t) = ln price(i, t + 1) price(i, t) .
t

1 A seguir e calculado o retorno m edio de cada ativo meanl(i) = samples de covari ancia, desvios padr ao e matriz de correla ca o das amostras: 1 samples

r(i, t) e a matriz

Sl(i, j ) = sl(i) =

t (rl (i, t)

meanl(i)) (rl(j, t) meanl(j ))

Sl(i, i)
Sl(i,j ) sl(i)sl(j )

corrl(i, j ) =

Em seguida o ltro extrapola o retorno esperado e o desvio padr ao por extrap intervalos adiante: erl(i) = extrap meanl ; std(i) = extrapHurst sl(i); Finalmente o ltro convertetodas as medidas logar tmicas de retorno e risco para medidas simples (de retorno e risco). Para pre cos deterministicos em t = 0 e t = T , o retorno logar tmico e rl = ln(S (T )/S (0)), e o retorno simples e r = (S (T ) S (0))/S (0), portanto r = exp(rl) 1. O ltro assume que os pre cos tem uma distribui ca o log-normal, de modo que as regras de transforma ca o cal algo mais complicadas: r = exp(erl + 0.5stdl2 ) 1 ; s2 = exp(2r + sl2 )(exp(sl2 ) 1).

B.6. Derivativos

155

Finalmente o ltro salva o retorno m edio e o desvio padr ao extrapolados como vetores associativos no arquivo FILTER.CP a matriz de correla c ao no arquivo matricial CORRELF.M . O conjunto universo, i.e. o conjunto all, utilizado pelo ltro e o conjunto original que tamb em aparece no arquivo FILTER.CP. No arquivo MODEL.CP podemos restringir o universo original eliminando alguns de seus elementos. Quando restringimos o universo original, o compilador MDL extrai automaticamente de er, std e correl, apenas as submatrizes e subvetores de que necessita. Os usu arios da vers ao prossional do Critical Point podem receber atrav es de modem atualiza c oes destas matrizes e vetores, que s ao geradas para diversos ativos brasileiros. Os ltros utilizados para calcul a-los s ao mais sosticados que os ltros utilizados pelo Critical Point. Estes ltros incorporam tecnologias avan cadas como an alise fractal, ltros adaptativos, tratamentos especiais para valores faltantes etc.

B.6

Derivativos

A ferramenta para derivativos expande os vetores de retorno esperado e desvio padr ao, bem como a matriz de correla ca o, para incluir os ativos derivativos sobre ativos do conjunto fundamental. put={OTP19@TEL4, OTP24@TEL4 }; call={OTC16@TEL4, OTC17@TEL4 }; exdays={40@OTP19, 30@OTP24, 40@OTC16, 40@OTC17}; O={6.7@OTP19, 10.9@OTP24,10.9@OTC16, 6.7@OTC17}; S={63.2@OTP19, 63.2@OTP24, 63.2@OTC16, 63.2@OTC17}; K={64@OTP19, 72@OTP24, 56@OTC16, 68@OTC17}; No arquivo exemplo DERIV.CP acima, temos o conjunto put declarando as op co es de venda (europeias) OTP19 e OTP24 sobre o ativo fundamental TEL4; da mesma forma, declaramos op c oes de compra OTC16 e OTC17. Para denir op co es temos quew especicar o pre co de contrato de op ca o (O), o pre co do ativo fundamental (S), o pre co de exerc cio (K), e o n umero de dias at e o exerc cio (exdays).

Covari ancia de Derivativos


A ferramenta para derivativos escreve o conjunto universo extendido (all), com o nome de todos os ativos (fundamentais e derivativos), bem como seus retornos esperados e desvios padr ao, no arquivo ERSX.CP, e a matriz de correla ca o extendida em CORRELX.M.

156

Appendix B. Manual do Critical-Point for Windows

Como exemplo simples, a express ao para retorno de em call e: rc = (max(S (t1) K (t0), 0) O(t0))/O(t0) Os retornos experados, desvios padr ao e correla co es para derivativos s ao calculados asssumindo distribui ca o log-normal, usando as express oes desenvolvidas no cap tulo 4 e t ecnicas avan cadas de integra ca o num erica.

B.7

Arquivos de Dados e Matriciais

O compilador MDL compila, i.e. traduz, o modelo descrito na linguagem MDL para a forma matricial. O problema descrito desta forma, no arquivo MARKIN.M e entrada para o solver do Programa de Programa c ao Param etrica (Q). Para construir modelos mais sosticados devemos entender a estrutura dos arquivos matriciais. A ordem na qual os ativos aparecem no vetor ou nas matrizes e aquela na qual eles aparecem no universo original, segundo o arquivo MODPS.CP. O ltro tem um procedimento para computar a matriz de correla ca o. Cada elemento da matriz de correla c ao Cor(i, j ) pode ser interpretado como uma medida da interfer encia m utua entre o retorno do i- esimo e do j- esimo ativos. Por exemplo, se os dois ativos t em retornos proporcionais pi = a pj , a > 0 ent ao Cor(i, j ) = 1. Se, por outro lado, a constante de proporcionalidade for negativa, a < 0 (isto e o pre co do ativo i crescer implica que o pre co j decresce) ent ao Cor(i, j ) = 1. Finalmente se ambos os retornos s ao mutuamente independentes, Cor(i, j ) = 0. Um usu ario mais sosticado pode construir sua pr opria matriz de correla ca o. O Critical Point permite manipula c ao de arquivos matriciais, entretanto, a utiliza c ao de uma matriz que n ao satisfa ca todas as propriedades matem aticas da matriz de correla c ao pode causar problemas num ericos no procedimento de programa ca o quadr atica param etrica (Q). Dentre as propriedades da matriz de correla ca o temos: 1- Domin ancia diagonal 2- Simetria: 3- Positividade cor(i,i) ==1; abs(cor(i,j)) < 1, i = j; cor(i,j) == cor(j,i); min(eig(cor)) 0

Retornos Hist oricos versus An alise de Mercado


Ap os a leitura dos arquivos MODPS.CP e MODEL.CP, o compilador MDL l e o arquivo CORREL.M a m de reconstruir a matriz de covari ancia. S (i, j ) = s(i) Corr(i, j ) s(j )

B.7. Arquivos de Dados e Matriciais ;

157

Finalmente o compilador MDL salva as restri c oes estabelecidas no MODEL.CP, bem como o vetor de retornos esperados e a matriz de covari ancia, no arquivo MARKIN.M, que ser a entrada do procedimento de programa c ao quadr atica param etrica (Q). O compilador MDL trata os vetores de retornos esperados e desvios padr ao como qualquer vetor associativo de forma que ele tamb em possa ser modicado utilizando os recursos da linguagem MDL. Para evitar inconsist encias no c alculo dos retornos esperados e desvios padr ao, estas modica co es devem ser feitas no arquivo DERIV.CP. Cabe mencionar que analistas de mercado prossionais raramente utilizam m edias extrapoladas como previs ao de retorno. Os retornos m edios e tamb em os desvios padr ao extrapolados pelo ltro, s ao utilizados somente para calibrar o modelo mas estes valores podem ser ajustados pelos analistas. Entre as mais populares t ecnicas de ajuste est ao: 1. An alise fundamentalista 2. Predi c ao atrav es de an alise gr aca 3. Previs ao atrav es de an alise t ecnica 4. Modelos matem aticos de redes neurais, ltros adaptativos e a rvores de classica ca o. Estas t ecnicas fogem do escopo deste manual e s ao objeto de estudo de disciplinas espec cas dentro do NOPEF-USP.

Arquivos de Dados
O ltro l e s eries hist oricas de pre cos do diret orio DATA. O arquivo dolof.ofc cont em a taxa de convers ao de Reais para D olares americanos. Este arquivo tamb em dene o calend ario ocial , isto e, os dias de negocia c ao. Outros arquivos *.ofc t em os arquivos com s eries de pre cos deacionados por d olar para alguns ativos brasileiros. As tr es primeiras linhas de cada arquivo denem: 1. O nome do ativo 2. O deator de pre cos 3. O n umero de a co es O terminador de s erie e o s mbolo asterisco, *. O pr oximo exemplo mostra o arquivo TEL3.ofc, com os pre cos, em d olares, por 10000 a co es da TELebr as, na BOVESPA, nos u ltimos 4 dias de 1994. As datas devem estar no formato dd/mm/yy e os pre cos em nota ca o de ponto utuante.

158 Asset: TEL3 Deflator: DOLOF.OFC Shares: 1E+4 Date Price 30/12/94 4.314E+02 29/12/94 4.304E+02 28/12/94 4.030E+02 27/12/94 4.025E+02 * (T.S. terminator) (End of File)

Appendix B. Manual do Critical-Point for Windows

B.8

Restri co es l ogicas sobre conjuntos

A linguagem MDL permite restringir conjuntos atrav es de express oes l ogicas. Exemplo: exampleset[energy|bank]=(arrbank>0.5)|(arrenergy<0.2); ap os este comando, somente os ativos do setor banc ario que tamb em satisfazem a condi ca o arrbank>0.5 ou os ativos do setor de energia que satisfazem arrenergy < 0.2 permanecem no conjunto exampleset. Condi co es l ogicas podem ser constru das utilizando os operadores de compara ca o: > >= < <= == = maior que maior ou igual menor que menor ou igual igual diferente

Express oes mais complexas podem ser realizadas entre conjuntos e vetores. A representa ca o de um conjunto nada mais e que um vetor associativo booleano (0 ou 1). Logo em atribui c oes a conjuntos devemos interpretar o nome de um ativo, asseta, como sendo equivalente a ` express ao 1@asseta. Tamb em interpretamos opera co es l ogicas entre conjuntos utilizando os operadores l ogicos n ao ( ), e, (&) e ou (|), como assumindo o valor 0 quando falso e qualquer valor n ao nulo quando verdadeiro. Quando restringimos o conjunto universo, all, proibimos qualquer ativo eliminado de entrar no portf olio, e somente os subvetores e submatrizes necess arios de p, std, e cov

B.9. Depura c ao

159

ser ao escritos no arquivo MARKIN.M pelo compilador MDL. Para manter este arquivo consistente, devemos primeiramente restringir o universo em MODEL.CP, e s o ent ao estabelecer as restri co es do modelo.

B.9

Depura c ao

Mesmo os mais experientes programadores comentem erros e, apesar de que muito poucos modelos requeiram todos os recursos da linguagem MDL, alguns deles tornam-se muito complexos. O compilador MDL possui algumas ferramentas simples para auxiliar a detec ca o de erros. Quando o compilador n ao consegue analisar uma frase, exibe uma mensagem de erro, contendo: 1. o nome do arquivo onde ocorreu o erro. 2. o n umero da linha onde este erro aconteceu. 3. a u ltima palavra v alida, a u ltima lida e o c odigo ASCII. O comando print x; for ca o compilador MDL a escrever o objeto x (escalar, conjunto ou vetor) no arquivo PRINT.LOG, exatamente como este objeto se encontra no momento que o comando e acionado pelo programa MDL.

A calculadora de m edia vari ancia


A calculadora de m edia vari ancia ( bot ao C) fornece uma maneira simples de calcular o desvio padr ao e e retorno esperado de portf olios pr e-denidos. Os portf olios s ao denidos no arquivo FOLIOS.CP, por exemplo: papas={5.0E-1@PET4,2.0E-2@BBD4,3.0EE-2@SCO4,5.0E-2@CEV4,4.0E-0@BRH4} A calculadora imprime o valor calculado no arquivo RFOLIOS.CP, por exemplo: papas: e = 9.39E-02 s = 2.07E-01

B.10

Short Selling e Tracking

Na descri ca o do modelo, antes da declara ca o de restri co es, o subconjunto short pode ser declarado. O efeito de ter um ativo em short e trocar o sinal de seu retorno esperado, bem como o de sua correla c ao com outros ativos. A interpreta c ao nanceira de ter um ativo em short e a de vender este ativo a descoberto no sentido de Linter: Uma venda a descoberto implica em um dep osito colateral,

160

Appendix B. Manual do Critical-Point for Windows

igual ao valor vendido. Assim a venda a descoberto n ao pode ser usada como uma fonte de recursos, mas e sim mais um uso de recurso, a ser incluido no portf olio. Caso o investidor receba um juro pelo colateral, o vetor de retornos esperados deve ser ajustado (uma simples atribui ca o usando o conjunto short como dom nio). No pr oximo exemplo uma taxa xa de 1% e paga sobre o colateral. all={ TEL4, ELE6, PET4, BB4, BBD4, SCO4, CEV4, BRH4, IBOVESPA }; short={TEL4,ELE6}; er[short]= er -0.01; #adding 1% to -er normal: sum[all] $==1; Em muitas aplica c oes queremos formar um portf olio para perseguir (track) um investimento de refer encia. A diferen ca de retorno entre o portf olio e sua refer encia e denominad erro de persegui ca o (tracking error). No pr oximo exemplo procuramos um portf olio para perseguir o ndice IBOVESPA. O gr aco de m edia-vari ancia obtido para este modelo n ao mais se refere a retornos absolutos, mas a retornos relativos ao investimento de refer encia (IBOVESPA). all={ TEL4, ELE6, PET4, BB4, BBD4, SCO4, CEV4, BRH4, IBOVESPA }; short={IBOVESPA}; normal: sum[all] $==2; track: for[short] $==1;

Autores do programa
Julio Michael Stern escreveu a vers ao original do solver (em Matlab) e especicou a linguagem MDL e a interface com o usu ario. Jacob Zimbarg Sobrinho traduziu o solver para a linguagem C (Watcom 10.0) e escreveu o ltro. Fabio Nakano escreveu o compilador MDL (utilizando GNU lex e yacc) e a vers ao atual da interface com o usu ario (em Visual Basic). Cibele Dunder escreveu a ferramenta para ativos derivativos. Por favor envie sugest oes e comunique eventuais erros a jstern@ime.usp.br (internet).

Appendix C Algebra Linear Computacional


C.1 Nota c ao e Opera co es B asicas

Este par agrafo dene algumas nota c oes matriciais. Indicamos por (1 : n) a lista [1, . . . n], e j (1 : n) indica que o ndice j est a neste dom nio. Uma lista de matrizes tem um (ou 1 m k mais) ndices superscritos, S . . . S . Assim Sh,i e o elemento na linha h e coluna i da k matriz S . A matriz 1,1 A A1,s . . .. . A= . . . . Ar,1 Ar,s e uma matriz blocada, onde Ap,q e o p q - esimo bloco, ou sub-matriz. Quando estamos falando de apenas uma matriz, X , costumamos esceve-la com o ndice j j ao a linha i, a coluna de linha subscrito, e o ndice de coluna superscrito Assim xi , x , e xi s j , e o elemento (i, j ) da matriz X . ESta nota ca o e mais compacta, e resalta o fato de j:k vermos a matriz X como uma matriz blocada por vetores coluna. A matriz Xh e um :i bloco extraido da matriz X , fazendo os ndices de linha e coluna percorrer os dom nios indicados. 0 e 1 s ao matrizes de zeros e uns, geralmente vetores coluna , n 1. Quando a dimens ao n ao est a indicada, ela pode ser deduzida do contexto. V > 0 e uma matriz p p positiva denida. Denimos a p-norma de um vetor x por ||x||p = ( |xi | ) . Assim, se x para um vetor n ao negativo, podemos escrever sua 1-norma como ||x||1 = 1 x. O produto de Kroneker de duas matrizes e uma matriz blocada onde o bloco (i, j ) ea segunda matriz multiblicada pelo elemento (1, j ) da primeira matriz: 1 A1 B A2 B 1 1 2 A B = A2 B A2 B . . .. . . . . . As seguintes propriedades podem ser facilmente vericadas: 161

162 (A B )(C D) = (AC ) (BD) (A B ) = A B (A B )1 = A1 B 1

Appendix C. Algebra Linear Computacional

O operador Vec empilha as colunas de uma matriz em um u nico vetor coluna, i.e., se A e m n, 1 A . Vec(A) = . . An As seguintes propriedades podem ser facilmente vericadas: Vec(A + B ) = Vec(A) + Vec(B ) AB 1 . Vec(AB ) = . . = (I A) Vec(B ) AB n

C.2

Espa cos Vetoriais com Produto Interno

Dados dois vetores x, y Rn , o seu produto escalar e denido como


n

< x | y > x y =
i=1

xi y i .

Com esta deni c ao v e-se que o produto escalar e um operador que satisfaz as propriedades fundamentais de produto interno, a saber: 1. < x | y >=< y | x >, simetria. 2. < x + y | z >= < x | z > + < y | z >, linearidade. 3. < x | x > 0 , semi-positividade. 4. < x | x >= 0 x = 0 , positividade. Atrav es do produto interno, denimos a norma: x < x | x >1/2 ; e denimos tamb em o angulo entre dois vetores: (x, y ) arccos(< x | y > / x y ) .

C.3. Projetores

163

C.3

Projetores

Consideremos o subespa co linear gerado pelas colunas de uma matriz A, m por n, m n: C (A) = {y = Ax, x Rn } . Denominamos C (A) de imagem de A, e o complemento de C (A), N (A), de espa co nulo de A, N (A) = {y | A y = 0} . Denimos a proje ca o de de um vetor b Rm no espa co das colunas de A, pelas rela co es: y = PC (A) b y C (A) (b y ) C (A) ou, equivalentemente, y = PC (A) b y = Ax A (b y ) = 0 . No que se segue suporemos que A tem posto pleno, i.e. que suas colunas s ao linearmente independentes. Provemos que o projetor de b em C (A) e dado pela aplica ca o linear PA = A(A A)1 A . Se y = A((A A)1 A b), ent ao obviamente y C (A). Por outro lado, A (b y ) = A (I A(A A)1 A )b = (A IA )b = 0 .

C.4

Matrizes Ortogonais

Dizemos que uma matriz quadrada e real e ortogonal sse sua inversa e igual a sua transposta.Dada Q uma matriz ortogonal, suas colunas formam uma base ortonormal de Rn , como pode ser visto da identidade Q Q = I . A norma quadr atica de um vetor v , ou seu quadrado v 2 (vi )2 = v v permanece inalterada por uma transforma ca o ortogonal, pois (Qv ) (Qv ) = v Q Qv = v Iv = v v . Dado um vetor em R2 , transforma ca o linear G()x = cos() sin() sin() cos() x1 x2 . x1 , a rota c ao deste vetor por um angulo e dada pela x2

164

Appendix C. Algebra Linear Computacional

Notemos que uma rota ca o e uma transforma ca o ortogonal, pois G() G() = cos()2 + sin()2 0 2 0 cos() + sin()2 = 1 0 0 1 .

A rota c ao de Givens e um operador linear cuja matriz coincide com a identidade, exceto num par de linhas onde imergimos uma matriz de rota c ao bidimensional: G(i, j, ) = 1 .. . cos() .. sin() . cos() ... 1 Dizemos que a aplica ca o deste operador numa matriz A, G A, roda as linhas i e j de A de um a ngulo (no sentido ant-hor ario). Como o produto de transforma co es ortogonais continua ortogonal (prove), podemos usar uma seq u encia de rota co es para construir transforma co es ortogonais. Listamos agora algumas rota co es em R2 , construidas a partir de simples rela co es trigonom etricas, que ser ao utilizadas como blocos de constru c ao para diversos agoritmos. Consideremos, em R2 , v um vetor, S uma matriz sim etrica, e A uma matriz assim etrica, x p q a b v= , S= , A= c d y q r Para anular a segunda componente do vetor v por uma rota c ao a esquerda, G(v ) v , basta tomar um a ngulo y . v = arctan x Para diagonalizar a matriz sim etrica por uma rota ca o sim etrica, G(diag ) S G(diag ), basta tomar um a ngulo 1 2q . diag = arctan 2 rp Para simetrizar a matriz assim etrica por uma por uma rota ca o ` a esquerda, G(sym ) A, basta tomar um a ngulo bc sym = arctan . a+d sin() .

C.5. Fatora c ao QR

165

Assim, para diagonalizar a matriz assim etrica basta simetriza-la, e em seguida diagonalizala. Alternativamente, podemos diagonalizar a matriz assim etrica por um par de rota co es de Jacobi, a ` esquerda e a ` direita, J (r ) A J (l ); bastando tomar os angulos sum = r + l = arctan c+b da , dif = r l = arctan cb d+a ou

J (r ) = G(sum /2) G(dif /2) , J (l ) = G(dif /2) G(dif /2) . No c alculo das rota co es, as fun c oes trigonom etricas, Seno, Coseno e Arco-Tangente n ao s ao realmente utilizadas, j a que nunca utilizamos os a ngulos propriamente ditos, mas apenas c = sin() e s = sin , que podemos computar diretamente como c= x x2 + y2 , s= y x2 + y 2 .

Para prevenir overow podemos utilizar o c alculo: Se y == 0 , ent ao c = 1 , s = 0 . Se y x , ent ao t = x/y , s = 1/ 1 + t2 , c = st . Se y < x , ent ao t = y/x , c = 1/ 1 + t2 , s = ct .

C.5

Fatora c ao QR

Dada A uma matriz real de posto pleno m n, m n, podemos sempre encontrar uma R matriz ortogonal Q tal que A = Q , onde R e uma matriz quadrada e triangular 0 superior. Esta decomposi ca o e dita uma fatora c ao QR, ou fatora ca o ortogonal, da matriz A. O fator ortogonal Q = [C | N ] nos da uma base ortonormal de Rm onde as n primeiras colunas s ao uma base ortonormal de C (A), e as m n u ltimas colunas R s ao uma base de N (A), como pode ser visto diretamente da identidade Q A = . 0 Construiremos a seguir um m etodo para fatora ca o ortogonal. Abaixo ilustramos uma seq u encia de rota co es de linhas necess arias que leva uma matriz 53 ` a forma triangular superior. Cada par de ndices, (i, j ), indica que rodamos estas linhas do angulo apropriado para zerar a posi ca o na linha i, coluna j . Supomos que inicialmente a matriz e densa, i.e. todos os seus elementos s ao diferentes de zero, e ilustramos o padr ao de esparsidade da matriz nos est agios assinalados com um asterisco na seq u encia de rota c oes. (1, 5) (1, 4)(1, 3)(1, 2) (2, 5)(2, 4)(2, 3) (3, 5)(3, 4)

166 x x x x 0 x x x x x x x x x x x 0 0 0 0 x x x x x x x x x x

Appendix C. Algebra Linear Computacional x 0 0 0 0 x x 0 0 0 x x x x x x 0 0 0 0 x x 0 0 0 x x x 0 0

C.5.1

M nimos Quadrados

Dado um sistema superdeterminado, Ax = b onde a matriz A m n tem m > n, dizemos que x resolve o sistema no sentido dos m nimos quadrados, ou que x e a solu c ao de m nimos quadrados, sse x minimiza a norma quadr atica do res duo, Ax b , x = Arg min n
xR

Dizemos tamb em que y = Ax e a melhor aproxima c ao, no sentido dos m nimos quadrados de b em C (A). Como a multiplica c ao por uma matriz ortogonal deixa inalterada a norma quadr atica de um vetor, podemos procurar a solu ca o deste sistema (no sentido dos m nimos quadrados) minimizando a transforma c ao ortogonal do res duo usada na fatora ca o QR de A,
2

Q (Ax b)

R 0

c d

= Rx c

+ 0x d 2 .

Da u ltima express ao v e-se que a solu ca o, a aproxima c ao e o res duo do problema original s ao dados por, respectivamente x = R1 c , y = Ax e z = Q 0 d

Como j a hav amos observado, as m n u ltimas colunas de Q formam uma base ortonormal de N (A), logo z C (A), de modo que conclu mos que y = PA b!

C.6

Fatora c oes LU e Cholesky

Dada uma Matriz A, a opera c ao elementar determinada pelo multiplicador mi e j, i subtrair da linha j a linha i multiplicada por mj . A opera ca o elementar aplicada a matriz

C.6. Fatora c oes LU e Cholesky identidade gera a correspondente matriz elementar, 1 ... 1 . .. . M (i, j ) = . . i 1 mj . .. . . . 1

167

i . j

Aplicar uma opera ca o elementar a matriz A equivale a multiplic a-la a esquerda pela correspondente matriz elementar. Na Fatora c ao de Gauss, ou fatora ca o LU, usamos uma seq u encia de opera c oes elementares para levar A a forma triangular superior, M A = M (n 1, n) M (2, 3) M (2, n)M (1, 1) M (1, n 1)M (1, n)A = U . A inversa da produt oria desta seq u encia de matrizes elementares tem a forma triangular inferior (verique) 1 m1 1 2 . . ... . L = M 1 = . . . . 1 2 mn1 mn1 1 m1 n m2 n
n1 1 mn

No caso de fatorarmos uma matriz sim etrica, S = LU , podemos por em evidencia os elementos diagonais de U obtendo S = LDL . Se S for positiva denida assim ser a D, de 1/2 1/2 1/2 modo que podemos escrever D = D D , D a matriz diagonal contendo a ra z dos 1/2 elementos em D. Denindo C = LD , temos S = CC , a fatora c ao de Choleski de S.

C.6.1

Programa c ao Quadr atica

O problema de programa c ao quadr atica consiste em minimizar a fun ca o f (y ) (1/2)y W y + c y , W = W sujeitos ` as restri c oes gi (y ) Ni y = di . Os gradientes de f e gi s ao dados, respectivamente, por y f = y W + c , e y gi = Ni .

168

Appendix C. Algebra Linear Computacional

As condi c oes de otimalidade de primeira ordem (condi co es de Lagrange) estabelecem que as restri c oes sejam obedecidas, e que o gradiente da fun ca o sendo minimizada seja uma combina ca o linear dos gradientes das restri c oes. Assim a solu ca o pode ser obtida em fun ca o do multiplicador de Lagrange, i.e. do vetor l de coecientes desta combina ca o linear, como N y =d yW +c =lN , ou em forma matricial, N W 0 N y l = d c .

Este sistema de equa co es e conhecido como o sistema normal. O sistema normal tem por matriz de coecientes uma matriz sim etrica. Se a forma quadr atica W for positiva denida, i.e.se x x W x 0 x W x = 0 x = 0, e as restri co es N forem lineramente independentes, a matriz de coecientes do sistema normal ser a tamb em positiva denida.

C.7

Fatora c ao SVD

A fatora c ao SVD decomp oem uma matriz real A, m n, m n, em um produto D = U AV , onde D e diagonal, e U, V s ao matrizes ortogonais. Consideremos primeiramente o caso m = n, i.e. uma matriz quadrada. O algoritmo de Jacobi e um algoritmo iterativo que, matriz na diagonal, atrav es de rota c oes de Jacobi. k+1 +1 A1,1 Ak 1,i . . .. . . . . . k A +1 Ak+1 i,i i,1 . . ... . J (i, j, r ) Ak J (i, j, l ) = Ak+1 = . . . k +1 A 0 j,1 . . . .. . . . . k+1 k+1 An,1 An,i a cada itera ca o, concentra a
+1 +1 Ak Ak 1,n 1,j . . .. .. . . . . . . k+1 0 Ai,n . . ... ... . . . . k+1 k+1 Aj,j Aj,n . . .. .. . . . . . . k+1 k+1 An,j An,n

Consideremos a soma dos quadrados dos elementos fora da diagonal na matriz A O2 (A). Vemos que
2 k 2 O2 (Ak+1 ) = O2 (Ak ) (Ak i,j ) (Aj,i )

Assim, escolhendo a cada itera c ao o par de ndices que maximiza a soma dos quadrados do par fora da diagonal a ser anulado, temos um algoritmo que converge linearmente para uma matriz diagonal. O algoritmo de Jacobi nos d a uma prova construtiva da exist encia da fatora ca o SVD, e e a b ase para v arios algoritmos mais ecientes de fatora ca o SVD.

C.8. Matrizes Complexas

169

Se A e uma matriz retangular, basta inicialmente fatorar A = QR, e aplicar o algoritmo de Jacobi ao bloco quadrado superior de R. Se A e quadrada e sim etrica, a fatora ca o obtida e denominada decomposi ca o de autovalores de A. As matrizes U e V podem ser interpretadas como bases ortogonais dos respectivos espa cos de dimens ao m e n. Os valores na diagonal de S s ao denominados valores singulares da matriz A, e podem ser interpretados geom etricamente como fatores multiplicadores do mapa A = U DV , que leva cada versor da base V para um m ultiplo de um versor da b ase U .

C.8

Matrizes Complexas

A maioria das t ecnicas aqui desenvolvidas para matrizes reais, podem ser extendidas para matrizes complexas. Uma forma pr atica e elegante para tal s ao as transform co es Q (TQ) de Hemkumar, aplicadas a uma dada matriz M , complexa 2 2, na forma de um par interno de transforma co es de fase unit arias, e um par externo de rota c oes, c() s() s() c() e(i) 0 0 e(i ) Ae(ia) Be(ib) Ce(ic) De(id) e(i ) 0 0 e(i ) c( ) s( ) s( ) c( )

A eleg ancia da TQ vem da seguinte observa ca o: Enquanto a transforma ca o interna afeta apenas os expoentes imagin arios dos elementos da matriz, a transforma ca o externa pode ser aplicada independentemente a ` parte real e a ` parte imagin aria da matriz, i.e. e(i) 0 0 e(i ) Ae(ia ) Be(ib ) Ce(ic ) De(id ) c() s() s() c() = Ae(ia) Be(ib) Ce(ic) De(id) e(i ) 0 0 e(i ) =

Ae(i(a + + )) Be(i(b + + )) Ce(i(c + + )) De(i(d + + )) c( ) s( ) s( ) c( ) c( ) s( ) s( ) c( ) c( ) s( ) s( ) c( ) =

Ar + iAi Br + iBi Cr + iCi Dr + iDi Ar Br Cr Dr Ai Bi Ci Di

c() s() s() c() +i c() s() s() c()

A tabela seguinte dene algumas transforma co es internas u teis. Transforma co es do tipo I trocam os expoentes imagin arios dos elementos da matriz em uma das diagonais. Transforma co es do tipo R, C e D tornam reais os elementos em uma linha, coluna ou diagonal.

170 Tipo Imain Iof f Rup Rlow Clef t Cright Dmain Dof f

Appendix C. Algebra Linear Computacional Valores = = = = (d a)/2 = = = = (c b)/2 = = (b + a)/2 ; = = (b a)/2 = = (d + c)/2 ; = = (d c)/2 = = (c a)/2 ; = = (c + a)/2 = = (d b)/2 ; = = (d + b)/2 = = (d + a)/2 ; = = (d a)/2 = = (b + c)/2 ; = = (b c)/2

f E acil ver que aplicar uma seq u encia de transforma c oes internas corresponde ` a uma u nica transforma ca o interna, cujos par ametros s ao a soma dos respectivos par ametros das transforma co es na seq u encia. Combinando transforma co es internas e externas, podemos criar TQs para v arios algoritmos interessantes. Por exemplo, as QTs de tipo I, II e III na tabela seguinte, podem ser usadas para obter a fatora c ao SVD de matrizes complexas, a ` semelhan ca do algoritmo de Jacobi. A TQ-I aplica Rlow seguida de uma rota ca o, tendo o efeito de tormar a matriz triangular superior. A TQ-II aplica Dmain , Iof f seguida uma diagonaliza ca o. Para matrizes Hermitianas (auto-adjuntas), a diagonaliza ca o e obtida com apenas uma TQ do tipo III. Tipo I II III Interna Externa = = (d + c)/2 ; = = (d c)/2 = 0 ; = arctan(C/D) = (a + b)/2 ; = = = (b a)/2 = arctan(B/(D A)) = = = = b/2 = = arctan(2B/(D A))/2

C.9 C.10

Probabilidades em Sub-Espa cos Lineares Exerc cios

1. Use as propriedades fundamentais do produto interno para provar: (a) A desigualdade de Cauchy-Scwartz: | < x | y > | x y . Sugest ao: Calcule 2 2 x y para =< x | y > / y . (b) A Desigualdade Triagular: x + y x + y . (c) Em que caso temos igualdade na desigualdade de Cauchy-Schwartz? Relacione sua resposta com a deni c ao de angulo entre vetores. 2. Use a deni ca o do produto interno em Rn para provar a Lei do Paralelogramo: x + y 2 + x y 2 = 2 x 2 + 2 y 2.

C.10. Exerc cios

171

3. Uma matriz e idempotente,ou um projetor n ao ortogonal sse P 2 = P . Prove que: (a) R = (I P ) e idempotente. (b) Rn = C (P ) + C (R). (c) Todos os autovalores de P s ao 0 ou +1. Sugest ao: Mostre que se 0 e uma raiz do polin omio caracter stico de P , P () det(P I ), ent ao (1 ) = 1 e raiz de R (). 4. Prove que P idempotente e sim etrico, P = PC (P ) . Sugest ao: Mostre que P (I P ) = 0. 5. Prove que o operador de proje c ao num dado sub-espa co vetorial V , PV , eu nico e sim etrico. 6. Prove o theorema de Pit agoras: b Rm , u V temos que b u PV b u 2 .
2

= b PV b 2 +

7. Suponha termos a fatora ca o QR de uma matriz A. Considere uma nova matriz A obtida de A pela substitui ca o de uma u nica coluna. Como podemos atualizar nossa fatora ca o ortogonal usando apenas 3n rota co es de linha? Sugest ao: (a) Remova a coluna alterada de A e atualize a fatora c ao usando no m aximo n rota co es. (b) Compute a nova coluna alterada pelo fator ortogonal corrente, a = Q a = Rt A a. , e torne a atualizar a fatora (c) Adicione a como a ultima coluna de A ca o com 2n rota co es. 8. Compute as fatora co es LDL e Cholesky 4 12 12 37 8 29 12 38 9. Prove que (a) (AB ) = B A . (b) (AB )1 = B 1 A1 . (c) At (A1 ) = (A )1 . 10. Descreva quatro algoritmos, para computar L1 x e Lt x, acessando a matriz L, triangular inferior de diagonal unit aria, por linha ou por coluna. da matriz 8 12 29 38 . 45 50 50 113

172

Appendix C. Algebra Linear Computacional

Appendix D Probabilidade
D.1 Interpreta c ao Freq uentista

Em muitas circunst ancias estamos interessados em estudar situa co es que produzem resultados imprevis veis. Chamamos estas situa c oes de experimentos. Por exemplo, ao lan carmos um dado, consideramos seis resultados poss veis, cada resultado correspondendo a uma determinada face do dado voltada para cima. Chamamos de Espa co Amostral, A, ao conjunto de todos os poss veis resultados. Espa cos amostrais discretos cont em um n umero nito (ou enumer avel) de resultados. Sempre que poss vel apresentaremos a teoria em espa cos discretos, onde ela e muito mais simples que em espa cos cont nuos. Chamamos evento um subconjunto do espa co amostral, E A. Assim, no exemplo do dado, uma representa c ao do espa co amostral e o conjunto {F 1, F 2, F 3, F 4, F 5, F 6}; nesta representa ca o, o evento obter uma face mpar corresponde ao subconjunto {F 1, F 3, F 5}. Nos experimentos que estudaremos eu til atribuirmos a cada um dos eventos um valor num erico. Esta atribui ca o, ou fun ca o, chama-se vari avel aleat oria. No exemplo do dado e usual atribuir valores, entre 1 e 6, a cada um dos eventos, i.e. atribuir X (F k ) = k . Consideremos outro exemplo: lan camos dois dados, um verde e outro amarelo, cada qual tendo suas faces numeradas de 1 a 6. No exemplo dos dados verde e amarelo, entre muitas outras, poder amos considerar as seguintes vari aveis aleat orias: 1. O n umero decimal de dois d gitos cujo primeiro d gito corresponde a face de cima do dado verde, e o segundo d gito corresponde a face de cima do dado amarelo. 2. A soma dos n umeros na face de cima dos dois dados. Note que constru mos duas vari aveis aleat orias distintas, sobre um mesmo experimento: o lan camento dos dados verde e amarelo. Note tamb em que pelo valor da primeira 173

174

Appendix D. Probabilidade

vari avel aleat oria podemos saber exatamente o resultado obtido no experimento; o mesmo j a n ao e verdade para a segunda vari avel aleat oria. Em geral, quando lidamos com um experimento, temos uma dada vari avel aleat oria em mente e, n ao havendo ambig uidade, quando mencionamos o experimento j a subentendemos a vari avel aleat oria apropriada. Denimos a imagem de um evento E A por X , X (E ), como o conjunto de todos os valores assumidos por X dentro de E , i.e., X (E ) {x = X (e), e E }. Analogamente denimos a pr e-imagem de C por X , X 1 (C ), como o evento formado pelos resultados do experimento onde a vari avel X assume valores em C , i.e., X 1 (C ) = {a A | X (a) C } . Dado um experimento que possa ser repetido, interpretamos a probabilidade de um evento como a freq u encia com que o obtemos como resultado do experimento. A probabilidade de que uma vari avel aleat oria X assuma um valor dentro de um conjunto C , e simplesmente a probabilidade da pr e-imagem de C por X . A distribui c ao de probabilidade de uma vari avel aleat oria (discreta) e uma tabela especicando a probabilidade de que a vari avel assuma cada um dos seus poss veis valores. Exemplos: Um dado e dito honesto se a freq u encia com que gera cada um dos valores {1, . . . , 6} e a mesma. A probabilidade de obtermos um dado valor com um dado honesto e portanto de 1/6. No experimento descrito no exemplo dos dados verde e amarelo, assumindo que ambos os dados s ao honestos, a probabilidade de cada vari avel aleat oria assumir cada um dos valores poss veis e dada pelas tabelas seguintes: 1. P r(X = x) = 1/36, x {11, 12, . . . , 16, 21, . . . , 26, . . . , 61, . . . , 66}. 2. X 1 (2) = {(1, 1)} P r(X = 2) = 1/36, X 1 (3) = {(1, 2), (2, 1)} P r(X = 2) = 2/36, . . . , X 1 (12) = {(6, 6)} P r(X = 12) = 1/36. Propriedades da Probabilidade Para assegurar a possibilidade de interpretar probabilidade de um evento como a de sua freq u encia relativa, exigiremos que uma (medida de) probabilidade sobre o espa co amostral de um experimento aleat orio, satisfa ca as tr es propriedades (ax iomas) seguintes. Notaremos por o conjunto vazio, e por B = A B o complementar de um evento B no espa co amostral A do experimento. 1. B A, P r(B ) 0, 2. P r(A) = 1, 3. Se B C = , ent ao P r(B C ) = P r(B ) + P r(C ). Exerc cio: Prove, a partir dos axiomas, as seguintes propriedades da probabilidade:

D.2. Infer encia 4. P r() = 0, ) = 1 P r(B ), 5. P r(B 6. P r(B C ) = P r(B ) + P r(C ) P r(B C )

175

D.2

Infer encia

Em muitas situa c oes temos que lidar com experimentos cujas especica co es n ao conhecemos, ou conhecemos incompletamente. Por exemplo: Suponha sabermos que o dado verde foi constru do tomando todos os cuidados para garantir que, exceto por pequenas marcas que distinguem suas faces, ele e absolutamente regular. Suponha tamb em que o dado amarelo foi trazido por um desconhecido. Sabemos de antem ao que o dado verde e honesto, mas n ao sabemos a distribui ca o de probabilidade para o segundo dado. Para obter alguma informa c ao sobre o dado amarelo podemos lan ca -lo repetidas vezes, anotando a seq u encia de valores. Este hist orico de valores e o que se chama em estat stica de uma amostra. A partir da amostra poder amos induzir alguma informa ca o sobre a distribui ca o de probabilidade do dado amarelo: poder amos por exemplo calcular a freq u encia relativa de cada um dos valores na amostra; e ent ao usar estas freq u encias relativas como estimativa da distribui ca o de probabilidade do experimento. Este e um exemplo do que chamamos infer encia estat stica. Note que a probabilidade da vari avel aleat oria X assumir o valor x, Pr(X = x), e a estimativa utilizada, freq u encia relativa na amostra, s ao conceitos distintos: A distribui ca o de probabilidade e um atributo do experimento em si, enquanto a estimativa baseia-se numa particular amostra de resultados do experimento. No uso pr atico, geralmente, a amostra resume nossas observa co es passadas, queremos basear alguma decis ao futura na distribui ca o de probabilidade do experimento (que todavia desconhecemos), e usamos a estimativa como elo de liga c ao para tomar esta decis ao. M axima Verossimilhan ca Como fazer e justicar estimativas e infer encias que sejam otimas, segundo crit erios pr e-estabelecidos, e o objeto de estudo da estat stica matem atica. No caso do dado amarelo, o crit erio usado para fazer a estimativa foi o da m axima verossimilhan ca: A melhor estimativa da distribui c ao, segundo o crit erio da m axima verossimilhan ca, e a que maximiza a probabilidade de obter, num experimento com a distribui c ao estimada, uma amostra id entica a amostra original. Se a amostra original foi uma seq u encia de n resultados, com n1 , n2 , . . . , n6 ocorr encias dos valores 1, 2, . . . , 6, a probabilidade de obter uma amostra com as mesmas feq u encias, independentemente da ordem, e

176

Appendix D. Probabilidade

P r(X = [n1 , n2 , . . . n6 ]) =

n! 6 pn1 pn2 . . . pn 6 n1 ! n2 ! . . . n6 ! 1 2

um exerc E cio de c alculo mostrar que a distribui ca o que maximiza esta probabilidade e a das freq u encias relativas, pi = fi , onde fi = ni /n. Prove este resultado no caso de uma moeda.

D.3

Esperan ca

Dado um experimento, o valor esperado de uma vari avel aleat oria X , ou sua esperan ca, e a m edia aritm etica sobre o conjunto dos valores poss veis, x A, ponderados pela distribui ca o de probabilidade: E (X ) =
xX (A)

x Pr(X = x) .

Dada uma amostra, i.e. uma seq u encia de valores, x= x1 x2 . . . xn denimos a sua m edia aritm etica como sendo 1 x = n
n

xi .
i=1

Dada uma amostra, usaremos a sua m edia como estimativa da esperan ca. Esta estimativa e consistente com a estimativa da distribui c ao de probabilidade id entica a `s freq u encias relativas na amostra, que por sua vez tinha justicativa no crit erio da m axima verossimilhan ca. Propriedades de Transforma c ao Estaremos sempre interessados em estudar transforma co es lineares de vari aveis aleat orias, Z = X + Y + e como estas transforma co es se reetem nas quantidades estat sticas a serem denidas, por exemplo: E (X + Y + ) = E (X ) + E (Y ) +

D.4. Vari ancia A prova pode ser dividida em duas partes: E (X + ) =


x

177

(x + )Pr(X = x) xPr(X = x)
x

= +

= + E (X ) E (X + Y ) =
x,y

(x + y )Pr(X = x Y = y ) xPr(X = x Y = y ) +
x,y x,y

= =
x

y Pr(X = x Y = y ) y Pr(Y = y X X (A))


y

xPr(X = x Y Y (A)) +

= E (X ) + E (Y )

D.4

Vari ancia

A vari ancia de uma vari avel aleat oria e uma medida de erro ou dispers ao desta vari avel em torno da sua esperan ca: V ar(X ) = E ((X E (X ))2 ) . f E acil ver que tamb em podemos calcular a vari ancia como V ar(X ) = E ((X E (X ))2 ) = E (X 2 2XE (X ) + E (X )2 ) = E (X 2 ) E (X )2 Desvio Padr ao ao, ou unidade de medida, que Desvio padr ao, x = var(x) tem a mesma dimens E (x) ou x, i.e., e uma medida de desvio comensur avel com a m edia ou os valores assumidos pela vari avel aleat oria, sendo portanto de interpreta ca o mais natural. Justicativa da Norma Quadr atica Existem outras alternativas para medir o tamanho do erro, x, al em da norma L2 = 1/2 (x x) ; Por exemplo as normas L1 = 1 abs(x), ou L = max( abs(x) ). Tanto L1 como L s ao usadas na estat stica em certas situa c oes especiais, todavia, L2 e usada na maioria das situa co es. Al em de ser computacionalmente mais simples, eau nica que tem a propriedade de ser invariante por uma (pelo grupo de) rota ca o.

178

Appendix D. Probabilidade

Covari ancia
A covari ancia entre duas vari aveis aleat orias, X e Y , e denida como Cov (X, Y ) = E ((X E (X )) (Y E (Y ))) . A covari ancia e uma medida da interdepend encia dos desvios de ambas as vari aveis em rela ca o a m edia. Adiaremos uma interpreta ca o intuitiva mais detalhada para o conceito de correla ca o, discutido adiante. Por hora, podemos vericar as seguintes propriedades: Cov (X, Y ) = E (XY Y E (X ) XE (Y ) + E (X )E (Y )) = E (XY ) E (Y )E (X ) donde Cov (X, X ) = E (X 2 ) E (X )2 = V ar(X ) Propriedades de Transforma c ao Lema : Cov (X + Y + , Z ) = E ((X + Y + )Z ) E (X + Y + )E (Z ) = E (XZ ) + E (Y Z ) + E (Z ) E (X )E (Z ) E (Y )E (Z ) E (Z ) = Cov (X, Z ) + Cov (Y, Z ) Do lema segue que: V ar(X + Y + ) = 2 V ar(X ) + 2 V ar(y ) + 2Cov (X, Y ) Nota c ao Matricial Cov (X )i,j Cov (Xi , Xj ) Dado X um vetor de n vari aveis aleat orias, A uma matriz real m n, e b um vetor real m 1, os resultados precedentes implicam na forma gen erica da esperan ca e vari ancia de uma transforma c ao linear, que e dada por: E (AX + b) = AE (X ) + b Cov (AX + b) = A Cov (X ) A Em estat stica e usual a nota c ao Cov (X )i,j = i,j . Nesta nota ca o o desvio padr ao e i = i,i .

D.4. Vari ancia

179

Consideremos realizar n vezes e independentemente, um experimento cujos resultados s ao medidos pelo vetor de vari aveis aleat orias X = [X1 , . . . , Xn ], a vari ancia da m edia e dada por ) = E ( (1/n) 1 X ) = (1/n) 1 E (X ) = E (X1 ) E (X na ultima equa c ao denotamos a somat oria X por 1 X , onde 1 = [1, 1, . . . 1].

) V ar( (1/n) 1 X ) V ar(X = (1/n2 ) 1 diag([1,1 , . . . n,n ]) 1 = (1/n2 )( 1,1 + . . . + n,n ) = (1/n)1,1 Correla c ao A correla ca o entre duas vari aveis aleat orias, Cor(X, Y ) ou i,j Cor(Xi , Xj ), ea covari ancia normalizada pelo desvio padr ao: Cor(X, Y ) = i,j Cov (X, Y ) ou i,j = X Y i j

A correla c ao e uma medida incompleta de independ encia entre vari aveis aleat orias, como mostraremos a seguir: Dois eventos, B e C , s ao independentes sse P r(B C ) = P r(B ) P r(C ). Duas vari aveis aleat orias, X e Y , s ao independentes sse, para qualquer conjunto de valores, C e D, P r(X C eY D) = P r(X C ) P r(Y D). Temos ent ao as seguintes propriedades: Se duas vari aveis aleat orias (de vari ancia limitada), X e Y , s ao independentes, ent ao Cov (X, Y ) = 0, pois E (XY ) = E (X )E (Y ). Todavia, correla c ao nula n ao garante independ encia! Considere duas vari aveis aleat orias denidas sobre os resultados de um dado honesto: X assumindo valor 1 em F 1, 1 em F 6, e valor 0 em todas as outras faces; Y assumindo valor 1 em {F 1, F 6}, e valor 0 em todas as outras faces. As vari aveis aleat orias X e Y n ao s ao independentes, embora tenham correla ca o nula (verique). No caso de uma depend encia linear, Y = X + , temos que: Cor(Y, X ) = Cov (X + , X ) V ar(X ) = = sign() (X + ) (X ) 2 X X

onde sign(x) 1 se x > 0, 1 se x < 0, e 0 se x = 0.

180 Provemos nalmente que 1 i,j 1: Tomemos X = [X1 , X2 ] , e Y = [a1 , a2 ]X . V ar(Y ) = = = a1 a2 a1 a2 b1 b2 1,1 1,2 2,1 2,2 1 0 0 2 1 1 b1 b2 a1 a2 1 1,2 2,1 1

Appendix D. Probabilidade

1 0 0 2

a1 a2

2 = b2 1 + 2b1 b2 + b2

Observemos agora que, pela deni c ao de vari ancia, V ar(Y ) 0. Observemos ainda que se 1 1, podemos sempre completar os quadrados de modo a reescrever V ar(Y ) = (b1 b2 )2 + abs((1 )b1 b2 ), quantidade obviamente positiva. Todavia se abs() > 1, podemos sempre escolher valores para b1 e b2 em {1, 1} que tornam 2 ca o. b2 1 + 2b1 b2 + b2 < 0, uma contradi

D.5

Espa cos de probabilidade

A exposi c ao das se c oes precedentes e v alida para espa cos amostrais nitos. Para espa cos n ao nitos, especialmente os n ao enumer aveis, uma estrutura mais mais complexa e necess aria (vide [Billingsley]). Um espa co de probabilidade, (, A, P ), e um espa co amostral, , uma -algebra, A e uma medida de probabilidade, P : A [0, 1]. Uma vari avel aleat oria e uma fun c ao x : R, tal que x1 (t) A , t R. A distribui ca o (cumulativa) de uma vari avel aleat oria x, F : R [0, 1], e denida por F (t) P ({ | x( ) t}). A esperan ca de uma vari avel aleat oria, E (x), e denida por

E ( x)

tdF (t).

No caso de uma distribui ca o diferenci avel, ou discreta, temos, respectivamente E (x) = tf (t)dt ou E (x) = tf (t) .

O k - esimo momento de uma vari avel aleat oria e a esperan ca de sua k - esima pot encia k (omitiremos o ndice k para k = 1), k (x) E (x ). O k - esimo momento central de uma vari avel aleat oria e a esperan ca da k - esima pot encia do desvio em rela c ao a sua esperan ca, c k k (x) E ((x 1 ) ). A vari ancia corresponde ao segundo momento central. Podemos agora considerar um espa co vetorial sobre as vari aveis aleat orias (neste 2 Espa co de probabilidade) com segundo momento limitado, L (, A, P ), de elementos

D.6. Utilidade e Decis oes

181

{x | E (x2 ) < }. A origem de L2 e a vari avel aleat oria identicamente nula, x 0, e o oposto de uma vari avel aleat oria x e x = (1)x (explique). As opera co es usuais de soma e produto por escalar de vari aveis aleat orias est a bem denida neste espa co, pois 1. E ((x)2 ) = 2 E (x2 ) < . 2. E ((x + y )2 ) E (2x2 + 2y 2 ) 2E (x2 ) + 2E (y 2 ) < . Em L2 adotamos a seguinte deni c ao de produto interno: < X | Y > E (XY ) , que satisfaz trivialmente as propriedades de simetria, linearidade, e semi-positividade (prove). Algumas tecnicalidades s ao necess arias para assegurar a positividade deste produto interno.

D.6

Utilidade e Decis oes

Consideremos a seguinte aposta: Um banqueiro lan ca um dado honesto e paga o resultado, X o n umero na face de cima, em gramas de ouro. Um apostador, para apostar, deve pagar 4 gramas de ouro. Consideraremos nesta se ca o um modelo matem atico, a teoria estat stica da decis ao, que nos d a crit erios para tomar a decis ao de participar ou n ao da aposta. Al em da descri ca o da aposta em si, precisamos de uma descri ca o das prefer encias do apostador. Esta descri c ao e dada por uma fun c ao de ganho, G(x). G(x) nos d a o ganho atribu do pelo apostador a cada um dos poss veis valores assumidos pela vari avel aleat oria que caracteriza a aposta. Consideremos um apostador, A, que se importe apenas com a quantidade de ouro ganha ou perdida no nal da aposta. As prefer encias de A s ao adequadamente descritas pela fun c ao de ganho GA (x) = x 4. Considere um segundo apostador, B, que possui 4 gramas de ouro, mas que s o poder a participar de um neg ocio que com certeza lhe triplicar a o capital se dispuser de 6 gramas. A fun c ao de ganho de B e: GB (x) = x 4 se x 5, e G(6) = 3 6 4 = 14. Um crit erio para medir a utilidade de um apostador, com fun ca o de ganho G(), participar de uma aposta caracterizada pela vari avel aleat oria X , e o ganho esperado: U (X ) = E (G(X )) =
x

G(x) Pr(X = x)

182 Nos dois exemplos anteriores ter amos


6

Appendix D. Probabilidade

UA (X ) = E (GA (X )) =
x=1 5

(x 4) (1/6) = 0.5 (x 4) (1/6) + 14 (1/6) = 1.5


x=1

UB (X ) = E (GB (X )) =

ou seja, como resultado nal de seu envolvimento na aposta, A espera perder 0.5 gramas, enquanto B espera ganhar 1.5 gramas de ouro. Usando o crit erio da utilidade esperada B deveria fazer a aposta, enquanto A todavia n ao.

Crit erio de M edia-e-Vari ancia


Em nan cas e economia e usual considerar investidores (ou agentes econ omicos, produtores, consumidores, etc.) que desejam maximizar seus ganhos (ou minimizar seus custos). Quando os ganhos do investidor dependem do valor de vari aveis aleat orias, e razo avel assumir que este deseje maximizar o valor esperado do ganho. Todavia, apenas a esperan ca do ganho, pode ser uma caracteriza ca o incompleta das prefer encias do investidor. Muitos investidores s ao avessos ao risco, preferindo usar um processo cujo ganho tem um dado valor esperado e vari ancia, a um segundo processo cujo ganho tem valor esperado ligeiramente superior, mas mas vari ancia bem maior. Usaremos a seguir a teoria de utilidade para estudar situa c oes deste tipo. A fun c ao utilidade (ou crit erio) da m edia-e-vari ancia e denida como: U (G, X, , ) = E (G(X )) V ar(G(X )) Esta fun ca o utilidade (ou crit erio) e muito empregado em Economia e Finan cas, onde o par ametro / e interpretado como uma medida da avers ao ao risco do investidor. Tivemos oportunidade de desenvolver modelos deste tipo no cap tulo 3. Um crit erio quadr atico pode tamb em ser visto como a aproxima ca o truncada da s erie de Taylor de uma fun c ao gen erica. Consideremos a vari avel aleat oria auxiliar y = G(x), e a s erie de taylor:

U (y ) = U [E (Y )] +
k=1

U (k) [E (Y )] (y E (Y ))k /k !

Truncando a s erie ap os o termo quadr atico, temos U (y ) U [E (Y )] + U [E (Y )] (y E (Y )) + U [E (Y )] (y E (Y ))2 /2 Do valor esperado desta aproxima c ao obtemos E (U (Y )) U [E (Y )] + (U [E (Y )]/2)V ar(Y )

D.7. Modelos Lineares

183

Au ltima aproxima c ao nos d a uma nova interpreta c ao para o par ametro no crit erio da m edia-e-vari ancia. Em particular, obtemos uma leg tima avers ao ao risco, i.e. > 0 e > 0, na situa ca o convencional de uma utilidade c oncava, onde U () e crescente, U () > 0, com incrementos decrescentes, U () < 0. Poder amos aprofundar o estudo de como obter os par ametros da fun c ao quadr atica a partir de pressupostos sobrea a real fun c ao utilidade do investidor; todavia, para aplica c oes a nan cas, temos dispon veis m etodos bem mais diretos, conforme vimos no cap tulo 3.

D.7

Modelos Lineares
y = Ap + v

Um modelo linear tem a forma onde A, m n, A e conhecida e de posto pleno, (A) = n. A observa c ao y e uma realiza c ao do vetor aleat orio y , p s ao os par ametros do modelo a serem estimados, e A a matriz de coecientes. O ru do v e um vetor de vari aveis aleat orias, 2 n ao observadas, e de primeiro e segundo momentos E ( v ) = 0 e Cov ( v ) = I . O ru do e interpretado como erros de medida, utua co es no processo etc. Um ru do cuja matriz de covari ancia e a identidade e dito branco. Estudaremos agora modelos lineares simples, cujo ru do e branco. Como E ( y ) = E (Ap + v ) = Ap C (A), e geometricamente intuitivo considerarmos y = PA y ou equivalentemente, y = Arg minzC (A) y z , ou ainda, y = Ap , p = Arg minp y Ap , como estimativas, respectivamente, do valor m edio de y e dos par ametros do modelo. Estes s ao os estimadores de m nimos quadrados (LSE). Um estimador de um escalar = l p em fun ca o de y e linear sse tem a forma (y ) = + a y . Um estimador (y ), do escalar = l p, e n ao tendencioso sse E ((y )) = . +by e o melhor estimador linear n ao tendencioso, BLUE, de = l p sse dentre todos os estimadores lineares e n ao tendenciosos de , este for de m nima vari ancia. Mostremos agora o seguinte resultado (Gauss-Markov): Num dado modelo linear, o BLUE de uma combina c ao linear dos par ametros, = l p, e dado por , denido pela mesma combina c ao linear do LSE de p, = (y ) = l p . Em primeiro lugar notemos que y = PA y e uma transforma c ao linear de y ; Ademais, como assumimos que A tem posto pleno, e sempre poss vel encontrar um vetor a | l = a A. Assim , l p = a Ap = a y = a PA y e realmente um estimador linear em y . e tamb em n ao tendencioso, pois E ( ) = E (l p ) = E (a PA y ) = a PA E ( y ) = a PA Ap = a Ap = l p . Finalmente, da formula do projetor, podemos explicitar = a PA y = a A(A A)1 A y = l (A A)1 A y.

184

Appendix D. Probabilidade

Consideremos agora o BLUE de = l p, = + b y . Como o BLUE e por deni c ao n ao tendencioso, devemos ter l p = E ( + b y ) = + b Ap, qualquer que seja o verdadeiro par ametro p, portanto b A = l . A vari ancia deste estimador e V ar( ) = b Ib = b b. Portanto o BLUE de = l p ser a dado por = b y , onde b e especicado pelo problema de programa ca o quadr atica b = Arg min c c.
c|A c=l

e f acil vericar que b = l (A A) A resolve o sistema normal deste problema (verique), o que demonstra que = , (teorema de Gauss-Markov). Q.E.D. Usaremos agora a fatora ca o de Cholesky para transformar um modelo linear geral, cujo ru do n ao e branco, num modelo linear simples equivalente. Consideremos y = Ap + v , E (v ) = 0 , Cov (v ) = V = L L , e o modelo simplicado +v y L1 y = L1 Ap + L1 v = Ap . Note que Cov ( v ) = L1 (LL )Lt = (L1 L)(L Lt ) = I ; Assim, transformando os dados e a matriz de coecientes do modelo geral pela inversa do fator de Cholesky da matriz de covari ancia do ru do, podemos estimar os par ametros num modelo simples equivalente. No modelo simplicado estamos pois minimizando y Ap
2

= (y Ap) Lt L1 (y Ap) = (y Ap) W (y Ap) ,

onde W = V 1 e denominada a matriz de informa c ao do ru do original.

D.8

Interpreta c ao Bayesiana
n

Consideremos uma parti c ao do espa co amostral, A=


1

Ai , P r(Ai ) > 0 , Ai Aj = , i = j.

A probabilidade condicional de Ai dado o evento B e, por deni ca o, P r(Ai | B ) = n P r(Ai B )/P r(B ). Usando P r(B ) = 1 P r(Ai )P r(B | Ai ), temos que
n

P r(Ai | B ) = P r(Ai )P r(B | Ai )/


j =1

P r(Aj )P r(B | Aj )

D.8. Interpreta c ao Bayesiana

185

Este e o chamado teorema ou regra de Bayes, que nos permite calcular P r(Ai | B ) a partir da informa ca o inversa, P r(B | Aj ), j = 1 . . . n. Consideremos agora uma distribui ca o de probabilidades que e fun ca o de um par ametro dentro de um dom nio bem especicado, o espa co param etrico, f (x | ) , . Quando estimamos o par ametro da distribui c ao, podemos expressar nossa incerteza assumindo que o pr oprio para ametro tem uma distribui ca o p() no espa co param etrico. Assim, a express ao f (x | ) deve ser interpretada como a probabilidade condicional de x para um dado valor de . Dada uma amostra de n experimentos independentes, x = [x1 . . . xn ], sua distribui ca o conjunta e
n

f (x | ) =
i=1

f (xi | ),

que podemos integrar sobre obtendo g ( x) =

f (x | )p()d.

Usando a regra de Bayes, podemos tamb em obter a probabilidade condicional f ( | x) = f (x | )p()/g (x). Neste contexto p() e denominada a distribui ca o a priori (inicial) de , f ( | x) ea probabilidade a posteriori (depois de observar x), e o c alculo de f ( | x) e denominado a opera c ao Bayesiana. A opera c ao Bayesiana e recursiva, i.e. se um novo vetor de observa c oes y estiver disponivel, podemos calcular a nova posteriori f ( | x, y ) usando como priori na opera ca o Bayesiana f ( | x), que j a incorporou toda a informa c ao contida em x. Esta recursividade implica em grande eci encia computacional pois, ao adquirirmos uma nova observa ca o, podemos atualizar a posteriori realizando uma opera ca o Bayesiana sobre esta u nica observa c ao, sem ter que refazer o c alculo usando todas as observa co es anteriores. Podemos tamb em postergar o c alculo da constante de normaliza c ao g (x), que envolve uma integra ca o que pode ser trabalhosa, usando nos passos intermediarios de aquisi c ao de dados a fun ca o de verossimilhan ca, l( | x) = f (x | )p() f ( | x). A no c ao de priori e algo controversa. Alguns argumentam que nossa incertesa sobre o verdadeiro valor do par ametro n ao implica que este possa ser tratado como uma vari avel aleat oria, tendo uma distribui ca o de probabilidade. Normalmente utiliza-se uma priori

186

Appendix D. Probabilidade

neutra como uma distribui ca o uniforme sobre todo o espa co param etrico. Outros argumentam que nada h a de neutro nesta escolha, sendo a priori uniforme t ao subjetiva como qualquer outra. Um contra-argumento e a coveni encia de incorporar a subjetividade da priori na modelagem, incorporando na priori conhecimento subjetivo i.e. previamente adquirido fora de um contexto estat stico formal, mas que nem por isto deveria ser menosprezado. A linha subjetivista postula que o pr oprio conceito de probabilidade e essencialmente subjetivo. Esta linha encara o conceito de probabilidade como retratando nossa ignorancia (ou informa c ao parcial) a respeito do mundo, bem ` a maneira da f sica estat stica no contexto das leis determin sticas da f sica cl assica. O debate sobre a validade de uma distribui ca o no espa co param etrico lembra as cr ticas hist oricas ao conceito de uma fun c ao de onda n ao observavel em mec anica qu antica. A postura subjetivista novamente lembra a historia da mec anica qu antica, os c elebres debates Einstein vs Heisemberg sobre o princ pio de incerteza, s o que agora com posi co es invertidas, i.e. a posi ca o Bayesiana parece inovadora ao propor uma distribui c ao no espa co param etrico, sendo todavia conservadora ao procurar ref ugio na interpreta c ao subjetivista para o conceito de probabilidade.

D.9

Exerc cios

1. Formule o problema de m nimos quadrados como um problema de programa ca o quadr atica. (a) Assuma dada uma base N de N (A). (b) Calcule diretamente o res duo z = b y em fun ca o de A. 2. Prove que a distribui ca o F e (a) N ao decrescente, com F () = 0 e F () = 1. (b) Sempre cont nua ` a esquerda e continua ` a direita exceto num numero enumer avel de pontos. 3. Se as vari aveis aleat orias x e y t em, respectivamente, distribui c oes F e G, determine a distribui ca o de (a) x. (b) x + y . (c) xy . 4. Dadas x e y , vari aveis aleat orias, mostre que: (a) E (x + y ) = E (x) + E (y ).

D.9. Exerc cios (b) V ar(x + y ) = 2 V ar(x) + 2 V ar(y ) + 2Cov (x, y ). 5. Dado x, um vetor de vari aveis aleat orias, mostre que: (a) E (Ax) = AE (x). (b) Cov (Ax) = ACov (x)A . 6. O tra co de uma matriz A e denido por tr(A) (a) tr(A + B ) = tr(A) + tr(B ). (b) tr(AB ) = tr(BA). (c) x Ay = tr(Ayx ) = tr(yx A). (d) Se A, m n, tem posto pleno, (A) = n, ent ao tr(PA ) = n. Ai i . Mostre que

187

(e) Nas condi co es do tem anterior, denindo RA = (I PA ), temos que tr(RA ) = m n. 7. Dado x um vetor de vari aveis aleat orias, E (x) = , Cov (x) = V , e S uma matriz sim etrica, temos que E (x Sx) = tr(SV ) + S. Sugest ao: Use que E (x Sx) = tr(SE (xx )). 8. Num modelo linear de posto pleno, com p = (A A)1 A y estimando o par ametro p, mostre que (a) Cov ( p) = 2 (A A)1 . (b) O erro quadr atico m edio, M SE y PA y 2 /(m n), e um estimador n ao 2 tendencioso de . Sugest ao: Use M SE = y RA y/(m n), onde RA = (I PA ).

188

Appendix D. Probabilidade

Appendix E Programas
E.1 bigode.m

%Mestrado Profissionalizante %Modelagem Matematica em Financas - Turma III %Programacao dinamica: Bigode %Daniel Granja %Condicoes iniciais infty = 1E10; eps = 1E-10; h=2; q = 5; fmax = 3; kmax = 2; s0 = 10; b0 = 20; sx = 5; c0 = 5; %constantes independentes dos movimentos trinomiais m1s = 1; m1b = 1; m2s = 1; m2b = 1; m3s = 1; m3b = 1; fsu = 1.3; psu = 0.3; psd = 0.7; fbu = 0.9; pbu = 0.6; pbd = 0.4; fbe = 0.0; fse = 0.0; %simplificacao para binomial psd=1-psu; pbd = 1 - pbu; %constantes independentes fbu=1.1; pbu=0.6; fsd=1/fsu; fbd=1/fbu; %h=7;%Horizonte de tempo, isto eh, numero de periodos fmax=3; %estoque fisico maximo de salsichas pereciveis s0=10; %preco de partida r0=20; %o fator de desconto,B eh definido como: 1/(1+r), %onde a taxa de juros eh ao ano

189

190
%-Opcoes c0=3; %custo de uma opcao de salsicha para comprar %q salsichas a exercicio sx/salsicha. opt=1; %estoque maximo de opces. Dara a possibilidade %de formar q*opt salsichas longa-vida. sx=5; %Preco de exercicio. %O custo de exercicio de q opcoes eh sx*q q=3; %numero de salsichas no exercicio de uma opcao; if (opt==0) q=0; end %formacao dos estados possiveis da natureza %passeio aleatorio binomial geometrico estacionario fsu=1.3; psu=0.3; psd=1-psu; fbu=1.1; pbu=0.6; pbd=1-pbu; fsd=1/fsu; fbd=1/fbu; %constantes limitadoras para otimizacao: infty=1E10; eps=1E-10; %arvore binomial para salsicha a vista S(1,1)=s0; PS(1,1)=1; dimst=1; for t=2:(h+2) for m=1:t if (m<t) S(t,m)=S(t-1,m)*fsd; if (m==1) PS(t,m)=PS(t-1,m)*psd; else PS(t,m)=PS(t-1,m)*psd+PS(t-1,m-1)*psu; end else S(t,m)=S(t-1,m-1)*fsu; PS(t,m)=psu^(t-1); end dimst=dimst+1; end %m end %t %arvore binomial para taxa de juros de 6 meses, %mas expressa ao ano R(1,1)=r0; PR(1,1)=1; dimRt=1; for t=2:(h+2) for m=1:t if (m<t) R(t,m)=R(t-1,m)*fbd; if (m==1) PR(t,m)=PR(t-1,m)*pbd; else

Appendix E. Programas

E.1. bigode.m
PR(t,m)=PR(t-1,m)*pbd+PR(t-1,m-1)*pbu; end else R(t,m)=R(t-1,m-1)*fbu; PR(t,m)=pbu^(t-1); end dimRt=dimRt+1; end %m end %t %inicializa controle otimo for t=(h+1):-1:1 instante(t)=0; bestwl(t)=666; bestwk(t)=666; bestfoti(t)=666; end%t instante(h+1)=0; % prepara para condicao de contorno %obs: como nao eh possivel no matlab declarar matriz %com indice zero, adiciono 1 nos limites de estoque for k=1:(opt+1) for l=1:(k*q+fmax+1) for Rind=1:dimRt for sind=1:dimst fot(h+2,sind,Rind,l,k)=0; %a condicao de contorno eh para o %instante seguinte ao final end%sind end%Rind end%l end%k %bestfoti=infty; estoquetp1(h+1)=0; estoque_p_tpl(h+1)=0; v=1; %%%%%%%%%%%%%%%%%%%%%%% %Resolucao da equacao de Bellman para t>1 %%%%%%%%%%%%%%%%%%%%%%%% for k=1:(opt+1) %novamente, no matlab, nao posso partir de zero...

191

192

Appendix E. Programas

%entao somo 1.Entenda-se que k=1 eh primeiro estado %das quantidades das opcoes, onde tenho quantidade zero. %Define-se qk como a quantidade, propriamente dita nesse estado qk=k-1; % a equacao de Bellman eh resolvida do final para o inicio for t=(h+1):-1:2 tp1=t+1; %instante a frente do instante atual, t instante(t)=t %a cada loop em t, a funcao custo do instante t+1 %recebe o resultado da otimizacao do instante anterior: dimRtp1=dimRt; dimstp1=dimst; for j=1:(opt+1) for l=1:(j*q+fmax+1) for Rind=1:dimRtp1 for sind=1:dimstp1 fotp1(t,sind,Rind,l,j)=fot(t+1,sind,Rind,l,j); end%sind end%Rind end%l end%k dimRt=t;%redimensionamento dimst=t; %inicia varredura dos estados %estados definidos pelas quantidades possiveis de salsichas for l=1:(fmax+1) %novamente, no matlab, nao posso partir de zero...entao adiciono 1. %Entenda-se que l=1 eh primeiro estado das quantidades de salsichas, %onde tenho quantidade zero. %Define-se ql como a quantidade, propriamente dita nesse estado ql=l-1; % if (ql==0) qlptp1=0; end qtot=ql+qk*q*0; %estados definidos pelas possibilidades de taxas de juros %no instante presente for mr=1:t %como a arvore eh binomial, em cada instante de tempo %ha t estados para r realr=R(t,mr); %estados definidos pelas possibilidades de precos %das salsichas no mercado a vista for ms=1:t reals=S(t,ms); bestfoti(t)=6666;

E.1. bigode.m
%wk e wl sao as variaveis de controle %limites para numeros de opcoes executadas if (qk>0 & qtot<=(fmax+q*qk)) wkmax=1; else wkmax=0; end %estados de possibilidades de execucao de opcoes for wk=0:wkmax

193

if (ql==0 & wk==0) wlmin=1; else wlmin=0; end %o que pode ser comprado, se o estoque de salsichas %pereciveis estiver abaixo do maximo, eh o quanto falta %para chegar nesse maximo, mais um, pois esta eh a demanda %para o periodo corrente: if (ql<=fmax & wk==0) wlmax=(fmax-ql)+1; else wlmax=0; end %estados definidos pelas posibilidades de quantidade de compra: for wl=wlmin:wlmax %equacao de evolucao dos estoques: qtottp1=qtot+wk*q+wl-1; estoqueauxtp1(t)=qtottp1; %variavel auxiliar para ser usada na decisao do melhor %qlptp1=wl-1; ltottp1=qtottp1+1; %variavel estado correspondente a quantidade qltp1 %equacao de evolucao dos estoques de opcoes: qktp1=qk-wk; ktp1=qktp1+1; %variavel estado correspondente a quantidade qktp1 %custo do controle: auxfoti=wk*q*sx+wl*reals; %tratamento dos estados possiveis y=x(t+1) %wr e ws sao as transicoes possiveis de t para t+1 for wr=mr:(mr+1) % possibilidade seguinte eh para cima ou para baixo %pwr=PR(t+1,wr)/PR(t,mr); if (wr==mr) pwr=pbd; else pwr=pbu; end %probabilidade de transicao para o proximo: %para cima e para baixo for ws=ms:(ms+1)%idem if (ws==ms) pws=psd; else pws=psu; end %pws=PS(t+1,ws)/PS(t,ms); %adicionamos ao custo do controle o custo futuro %multiplicado pela probabilidade (tiramos a media, %portanto) de transicao do estado presente para os %possiveis estados futuros e descontamos pela taxa %de juros auxfoti=auxfoti+(pwr*pws*(1/((1+realr/100)^(1/2))))... *fotp1(t,ws,wr,ltottp1,ktp1); teste(v)=auxfoti; v=v+1;

194
end%ws end%wr

Appendix E. Programas

if((t<=(h+1)) & (t>=(h+1-fmax))& estoqueauxtp1(t)... <=(h+1-t)& estoqueauxtp1(t)>=0) if(auxfoti<bestfoti(t)) bestfoti(t)=auxfoti; bestfotiescolhido(t)=auxfoti; bestwk(t)=wk; bestwl(t)=wl; estoque(t)=qtot; estoquetp1(t)=qtottp1; best_num_op_estoque=qk; end else if(t<(h+1-fmax)) if(auxfoti<bestfoti(t)) bestfoti(t)=auxfoti; bestfotiescolhido(t)=auxfoti; %variavel auxiliar para controlar a queda de bestfoti bestwl(t)=wl; bestwk(t)=wk; estoque(t)=qtot; estoquetp1(t)=qtottp1; best_num_op_estoque=qk; end end%if end%if end%wl end%wk fot(t,ms,mr,l,k)=bestfoti(t); wlot(t)=bestwl(t); wkot(t)=bestwl(t); end%ms end%mr end%l end%t %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Equacao de Bellman em t=1 (inicial) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% t=1; tp1=t+1; %instante a frente do instante atual, t

E.1. bigode.m
instante(t)=t %a cada loop em t, a funcao custo do instante t+1 %recebe o resultado da otimizacao do instante anterior: dimRtp1=dimRt; dimstp1=dimst; for j=1:(opt+1) for l=1:(j*q+fmax+1) for Rind=1:2 for sind=1:2 fotp1(t,sind,Rind,l,j)=fot(t+1,sind,Rind,l,j); end%sind end%Rind end%l end%k dimRt=t;%redimensionamento dimst=t; %inicia varredura dos estados

195

%estados definidos pelas quantidades possiveis de salsichas: for l=1:(fmax+1) %novamente, no matlab, nao posso partir de zero...entao somo 1. %Entenda-se que l=1 eh primeiro estado das quantidades de salsichas, %onde tenho quantidade zero. %Define-se ql como a quantidade, propriamente dita nesse estado ql=l-1; %qtot=q*qk+ql; %estados definidos pelas possibilidades de taxas de juros %no instante presente mr=1; realr=R(t,mr); %estados definidos pelas possibilidades de precos das salsichas %no mercado a vista ms=1; reals=S(t,ms); bestfoti(t)=infty; %limites para o numero de opcoes compradas if (qk<opt) wkmax=opt-qk; else wkmax=0; end for wk=0:wkmax %limites para compra no mercado fisico if(ql==0) wlmin=1; else wlmin=0; end if(ql<=(fmax)) wlmax=fmax-ql+1;else wlmax=0; end for wl=wlmin:wlmax %eq. evolucao dos estoques qltp1=ql+wl-1; estoqueauxtp1(t)=qtottp1; %variavel auxiliar para ser usada na decisao do melhor

196

Appendix E. Programas

ltp1=qltp1+1; %variavel estado correspondente a quantidade qltp1 qktp1=qk+wk; ktp1=qktp1+1; %variavel estado correspondente a quantidade qktp1 %custo de controle auxfoti=wk*q*c0+wl*reals; %tratamento dos estados possiveis y=x(t+1) %wr e ws sao as transicoes possiveis de t para t+1 for wr=mr:(mr+1) % possibilidade seguinte eh para cima ou para baixo %pwr=PR(t+1,wr)/PR(t,mr); if (wr==mr) pwr=pbd; else pwr=pbu; end for ws=ms:(ms+1)%idem if (ws==ms) pws=psd; else pws=psu; end %pws=PS(t+1,ws)/PS(t,ms); %adicionamos ao custo do controle o custo futuro multiplicado %pela probabilidade (tiramos a media, portanto) %de transicao do estado presente para os possiveis %estados futuros e descontamos pela taxa de juros auxfoti=auxfoti+(pwr*pws*(1/((1+realr/100)^(1/2))))... *fotp1(t,ws,wr,ltp1,ktp1); end%ws end%wr if(auxfoti<bestfoti(t)) bestfoti(t)=auxfoti; bestfotiescolhido(t)=auxfoti; bestwl(t)=ql; bestwk(t)=wk; estoque(t)=ql; estoquetp1(t)=qltp1; best_num_op_estoque=qk; end end%wl end%wk fot(t,ms,mr,l,k)=bestfoti(t); %wlot(t,ms,mr,l,k)=bestwl(t); %wkot(t,ms,mr,l,k)=bestwk(t); wlot(t)=bestwl(t); wkot(t)=bestwk(t); end%l end%k

E.2. simplex.m

197

E.2

simplex.m

function [Vo,b,xb,r] = driver(A,d,c) % arquivo driver.m driver e funcao simplex clc; disp(Criterio para a escolha do indice residual:); disp(1 - menor j tal que z(j) > 0); disp(2 - j tal que z(j) eh maximo); criterio = input(1/2? ); disp(Deseja ver cada iteracao em um arquivo?); trace = input(Digite 1 para sim ou 0 para nao: ); if (trace) disp(Os resultados serao gravados no arquivo simplex.sai) disp(Tecle algo para continuar: ); pause; diary simplex.sai; end clc; disp(PPL: ); disp(Matriz A: ); disp (A); disp(Vetor d: ); disp (d); disp(Vetor c: ); disp (c); disp(Criterio para a escolha de j: ); if (criterio == 1) disp(menor j tal que z(j) > 0); else disp(j tal que z(j) eh maximo); end disp(); [m,n] = size(A); aux = diag(sign(d)); Aaux = [A aux]; czeros = zeros(1,n); uns = ones(1,m); caux = [czeros uns]; r = 1:n; b = n+1:n+m; [Vo,b,xb,r] = simplex(Aaux,d,caux,b,r,criterio,trace); if (Vo == 0) raux = find(r <= n); r = r(raux); [Vo,b,xb,r] = simplex(A, d, c, b, r, criterio, trace); else disp(Problema sem solucao);

198
end %if if (trace) diary; end end function [Vo,b,x,r] = simplex(A,d,c,b,r,criterio,trace) % arquivo simplex.m *********************************** [m,n] = size(A); acabou = 0; while ~acabou B = A(:,b); R = A(:,r); if (det(B) == 0) disp(Erro: Det(B) = 0) return else Rtil = B\R; dtil = B\d; z = c(b)*Rtil - c(r); if ( any(z > 0) ) indices = find(z > 0); if criterio == 1 j = indices(1); else [aux,j] = max(z); %maior declive end %if criterio k = find( Rtil(:,j) > 0 ); epsilon = dtil(k) ./ Rtil(k,j); [aux,i] = min( epsilon ); i = k(i); b = [b r(j)]; r = [r b(i)]; b(i) = []; r(j) = []; else % acabou acabou = 1; end %if indices x = zeros(n,1); x(b) = A(:,b)\d; Vo = c * x; if (trace) disp(); disp(Vo: ); disp(Vo); disp(indices da base: ); disp(b); disp(indices residuais: ); disp(r); disp(Vertice: ); disp(x),

Appendix E. Programas

E.2. simplex.m
disp(); end end % if det(B) end %while end

199

function C = conta(l,m,n) % todas as combinacoes de [l...m] n a n C=[]; if( l>m | m-l+1<n ) C=[]; elseif( n==1 ) C=[l:m]; else CA=[]; CA= conta1(l,m-1,n-1); [car,cac]= size(CA); %rows,columns in CA for j=1:car CAJ= CA(j,:); for k= (CAJ(cac)+1):m C=[C;[CAJ,k]]; end end end

200

Appendix E. Programas

E.3

mindist.m

% Este eh o arquivo MATLAB "mindist.m". % Tudo q segue um "%" eh apenas comentario. % Consulte o capitulo sobre a linguagem Matlab n = 5; % numero de vertices C = [ 0 , 2 , 9E9, 1 , 2; 2 , 0 , 2 , 9E9, 0; 9E9, 2 , 0 , 3 , 4; 1 , 9E9, 3 , 0 , 0; 2 , 0 , 4 , 0 , 0; ]; %matriz de custos fo(1,1:n) = C(1,1:n); %custo do caminho de tamanho 1 for t = 2:n-1; fo(t,1:n) = 9E9*ones(1,n); for j = 1:n for i = 1:n fo(t,j) = min( fo(t,j) , fo(t-1,i)+C(i,j) end end end fo, % n % C Este eh o arquivo MATLAB "dijk.m". = 5; numero de vertices = [ 0 , 2 , 9E9, 1 , 2; 2 , 0 , 2 , 9E9, 0; 9E9, 2 , 0 , 3 , 4; 1 , 9E9, 3 , 0 , 0; 2 , 0 , 4 , 0 , 0; ]; %matriz de custos inder = 2:n; %vertices cuja minima distancia nao eh a correta dcor = [1;0]; %distancias corretas fo = C(1,2:n); %custo do caminho de tamanho 1 for t = 2:n-1; [d,k] = min(fo); %minimo da lista auxiliar i = inder(k); %vertice correspondente dcor = [dcor,[i;d]]; inder(k) = []; fo(k) = []; fo = min( fo , C(i,inder)+d*ones(1,n-t) ); end dcor = [dcor,[inder;fo]]; dcor, %lista de vertices e distancias, %na ordem em que foram determinados

);

E.4. Fatora c ao QR

201

E.4

Fatora c ao QR

function rinv(dummy) global A U b r [m,n]=size(A); %basis reinversion for k=1:m U(:,k)= A(:,b(k)); end for j=1:m-1 pivj = U(j,j); for i=j+1:m %compute Givens rotation Q s.t. Q*[v1,v2]=[norm(2,v),0] %Q=[gcos, gsen; -gsen, gcos] %procedure is protective of overflow v1=pivj; v2=U(i,j); if( abs(v2)==0 ) gcos=1; gsen=0; else if( abs(v1)>=abs(v2) ) tau= -v2/v1; gcos= (1+tau*tau)^(-1/2); gsen= gcos*tau; else % abs(v2)>abs(v1) tau= -v1/v2; gsen= (1+tau*tau)^(-1/2); gcos= gsen*tau; end %else_abs end %else_v20 % rotate rows U([j,i],j:m) by Q pivj= gcos*v1 -gsen*v2; U(i,j)=0; for k=j+1:m v1=U(j,k); v2=U(i,k); U(j,k)= gcos*v1 -gsen*v2; U(i,k)= gsen*v1 +gcos*v2; end %fork end %fori U(j,j)=pivj; end %forj %*********************************************************

202

Appendix E. Programas

function update(ip,jp) global A U b r [m,n]=size(A); % r(jp) enters the basis, % b(ip) exits the basis. a= A(:,r(jp)); y=qtm(a); qrup(y,ip); auxi=b(ip); for k=ip:m-1 b(k)=b(k+1); end b(m)=r(jp); r(jp)=auxi; %******************************

function

qrup(x,k)

global A U b r [m,n]= size(A); %file qrup.m %Updates the U factor from the Hessemberg matrix obtained %by deleting column k of U, %and appending column x as the last column of U. EPSLN=1E-16; for i=1:k-1 for j=k+1:m U(i,j-1)=U(i,j); end U(i,m)=x(i,1); end

for i=k:m-1 %compute Givens rotation Q s.t. Q*[v1,v2]=[norm(2,v),0] %Q=[gcos, gsen; -gsen, gcos] %procedure is protective of overflow v1=U(i,i+1); v2=U(i+1,i+1); if( abs(v2)<EPSLN ) gcos=1; gsen=0; else

E.4. Fatora c ao QR
if( abs(v1)>=abs(v2) ) tau= -v2/v1; gcos= (1+tau*tau)^(-1/2); gsen= gcos*tau; else % abs(v2)>abs(v1) tau= -v1/v2; gsen= (1+tau*tau)^(-1/2); gcos= gsen*tau; end %else_abs end %else_v20 % rotate rows U(i:i+1,:) by Q

203

U(i,i)= gcos*v1 -gsen*v2; for j=i+2:m v1=U(i,j); v2=U(i+1,j); U(i,j-1)= gcos*v1 -gsen*v2; U(i+1,j)= gsen*v1 +gcos*v2; end %rotate elements x(i:i+1) v1=x(i,1); v2=x(i+1,1); U(i,m)= gcos*v1 -gsen*v2; x(i+1,1)= gsen*v1 +gcos*v2; end U(m,m)=x(m); %********************************************************

function y = qtm(x) global A U b r [m,n]=size(A); %file qtm.m y =Q*x =inv(U)*B*x y=btm(x); y=utim(y); %**************************************** , B=QR

function y = uim(x) global A U b r [m,n]=size(A); %file uim.m y=inv(U)*x

204
y(m,1)=x(m,1)/U(m,m); for i=m-1:-1:1 y(i,1)=( x(i,1) - U(i,i+1:m)*y(i+1:m,1) )/U(i,i); end %**************************************************

Appendix E. Programas

function y = utim(x) global A U b r [m,n]=size(A) %file utim.m x=inv(U)*y

y=x; for i=1:m-1 y(i)=y(i)/U(i,i); y(i+1:m) = y(i+1:m,1) - y(i,1)*U(i,i+1:m); end y(m)=y(m)/U(m,m); %********************************************

function y = btim(x) global A U b r %file btim.m y=utim(x); y=uim(y); y=bm(y); %*********************************************** y = inv(B)*x = B*inv(U)*inv(U)*x

function y = btm(x) global A U b r [m,n]= size(A); %file btm.m y=B*x

for i=1:m a=A(:,b(i)); y(i,1)=a*x; end %******************************************************

E.4. Fatora c ao QR

205

function

y = bim(x)

global A U b r % file bim.m y= inv(B)*x =inv(U)*inv(U)*B*x , B=QU y=btm(x); y=utim(y); y=uim(y); %***************************************************

function y = bm(x) global A U b r [m,n]= size(A); %file bm.m y=B*x

y=zeros(m,1); for j=1:m a=A(:,b(j)); y=y+x(j)*a; end %**************************************************

206

Appendix E. Programas

E.5

depvital.m

function fus= rank2(a1,a2) % % % % % % % % % % % % % % % % % F(t) is the components cumulative life probability distribution F(t) = Pr(l<=t) Its complement is the survival probability distribution Fc(t) = 1-F(t) = Pr(l>t) The failure probability at the next period x given the survival up to current time t is F(x|t) = (F(t+x)-F(t))/Fc(t) = 1 -Fc(x|t) The failure rate, hazard rate or force of mortality at age t is h(t) = f(t)/Fc(t) Integrating I[0:x] h(t)dt = -log(Fc(x)) Fc(x) = exp(-H(x)) H(x) = I[0:x] h(t)dt

% A(:,1)= age % A(:,2)= h(t) nx=100; %maximum age at life table % generates test assuring h(nx)==1; % a= 1:nx; h= (1/nx)*a; h=h.^5; %plot(h); % f= life density; h= haz.rate; % a= age; c=complement; u=cumulative aux=0; for i=1:nx aux= aux +h(i); hu(i)= aux; fuc(i)= exp(-hu(i)); fu(i)= 1-fuc(i); end % % % % % % % % % % 2 lifelong dependents ak= current age of k-th depend Xk= surviv. of k-th depend. R2= sup{X1,X2} R1= inf{X1,X2} Pr(R2<=t|a1,a2). = Pr(X1<=t|a1 and X2<=t|a2) Pr(R1<=t|a1,a2) = Pr(X1<=t|a1 or X2<=t|a2) Pr(R1>t|a1,a2) = Pr(X1>t|a1 and X2>t|a2)

for t=1:100 if( (a1+t)>nx ) fua1(t)=1; else %Pr(X1<=t|a1)

E.5. depvital.m
fua1(t) = ... ((fu(a1+t)-fu(a1))/fuc(a1)); end if( (a2+t)>nx ) fua2(t)=1; else fua2(t) = ... ((fu(a2+t)-fu(a2))/fuc(a2)); end f2u(t)= fua1(t)*fua2(t); f1u(t)= fua1(t) +fua2(t) -f1u(t); end fus=[fu;f2u;f1u;fua1;fua2]; plot(a,fu,--b,a,f2u,-r,a,f1u, ..-r,a,fua1,--k,a,fua2,--k); title( ... ..[Order statistics for survival, ... int2str(a1), and ,int2str(a2)]); %**************************************************

207

208

Appendix E. Programas

E.6

GRG

% Gradiente Reduzido Generalizado % % Eduardo Oda BMACC 2004 % % Fazem parte desse pacote duas funcoes: % 1. grg.m % Implementa o metodo em questao % % 2. buscalinear.m % Implementa uma busca linear simples % % Adicionalmente, seguem diretorios nomeados teste#, % onde # eh um numero, com exemplos para teste. % % Para utilizar o exemplo, faca: % % $ cp teste1/* . % $ octave teste.m % % Para definir um problema diferente, edite os arquivos de um dos % exemplos, copie-os para o mesmo diretorio dos arquivos principais % (grg.m e buscalinear.m) e execute: % % $ octave teste.m %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% % % % % % % % % % % % % % % % % % % % %

Esta eh uma funcao em octave versao 2.0.16.92 que encontra um ponto x do R^n que seja uma solucao otima do problema min f(x) s.a. h(x)=0 l<=x<=u com o metodo dos gradientes reduzidos generalizados (GRG), recebendo como parametro: - f(x) , f:R^n->R - h(x), h:R^n->R^m - l (n x 1) - u (n x 1) Adicionalmente a funcao recebe a variavel trace, que controla a exibicao das iteracoes, mostrando cada iteracao se valer 1 ou ocultando-as se valer 0. As funcoes f e h, bem como seu gradiente (gradf) e jacobiano (jach), respectivamente, devem ser definidas no octave. Preferencialmente devem ser criados quatro arquivos no mesmo diretorio desta funcao: a) f.m

E.6. GRG
% % % % % % % % % % % % % % % % % % % % % % % % % % % % define uma funcao que recebe um vetor x de dimensao [nx1] e retorna o valor da funcao f calculada nesse ponto, um real. b) gradf.m define uma funcao que recebe um vetor x de dimensao [nx1] e retorna o valor do gradiente da funcao f calculado nesse ponto, um vetor de dimensao [nx1]. c) h.m define uma funcao que recebe um vetor x de dimensao [nx1] e retorna o valor da funcao h calculada nesse ponto, um vetor de dimensao [mx1]. c) jach.m define uma funcao que recebe um vetor x de dimensao [nx1] e retorna o valor do jacobiano da funcao h calculado nesse ponto, uma matriz de dimensao [mxn]. Junto com esta funcao seguem exemplos desses arquivos, use-os como base para suas funcoes. O retorno desta funcao eh um vetor (1 x 2) cujas componentes sao, na ordem, o x otimo e o valor otimo. Para utilizar essa funcao, inicie o octave, defina todos os parametros descritos acima e execute o comando: octave:> [x_otimo,v_otimo]=grg(x,l,u,trace)

209

function[x_otimo,v_otimo]=grg(x,l,u,trace) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Inicializando as variaveis % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% EPS=0.00000001; Jx=jach(x); [m,n]=size(Jx); count=1; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Implementacao do metodo GRG % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% while 1 gradfx=gradf(x); % Procuramos uma matriz nao singular para ser base, dando % preferencia a indices cujas variaveis estejam mais distantes % dos bordos da caixa dif=abs(x-(u-l)/2);

210
[odif i_dif]=sort(dif); i_base=[i_dif(1:m)]; i_r=[i_dif(m+1:n)]; i=m; % indice do indice basico a ser trocado j=1; % indice do indice residual a ser trocado while(abs(det(Jx(:,i_base)))<EPS) disp(""); %desfaz if(i+1>m && j>1) aux=i_base(1); i_base(1)=i_r(j-1); i_r(j-1)=aux; % nao faz nada elseif(i+1<=m) aux=i_base(i+1); i_base(i+1)=i_r(j); i_r(j)=aux; end aux=i_base(i); i_base(i)=i_r(j); i_r(j)=aux; i=i-1; if(i==0) i=m; j=j+1; if(j>n-m) disp("Nao foi possivel encontrar uma base boa") break; end end end

Appendix E. Programas

% Calculamos o vetor de gradientes reduzidos z=gradfx(i_r)-gradfx(i_base)*inv(Jx(:,i_base))*Jx(:,i_r); z=gradfx(i_r)-gradfx(i_base)*inv(Jx(:,i_base))*Jx(:,i_r); % Definimos uma direcao para andar com a solucao viavel atual v=zeros(n,1); i_neg=find(z<-EPS); if(size(i_neg)>0) i=find(x(i_r(i_neg))<u(i_r(i_neg))); v(i_r(i_neg(i)))=-z(i_neg(i))*diag(u(i_r(i_neg(i)))-x(i_r(i_neg(i)))); end i_pos=find(z>EPS); if(size(i_pos)>0) i=find(x(i_r(i_pos))>l(i_r(i_pos))); v(i_r(i_pos(i)))=-z(i_pos(i))*diag(x(i_r(i_pos(i)))-l(i_r(i_pos(i)))); end v(i_base)=-inv(Jx(:,i_base))*Jx(:,i_r)*v(i_r); v(find(abs(v)<EPS))=0; % Se a direcao for toda nula, o metodo termina, pois nao

E.6. GRG
% podemos caminhar numa direcao que melhore a funcao objetivo if(abs(v)<EPS) break; end % Descobrimos o quanto devemos (e podemos) andar na direcao v eta(1)=0; e3n=inf; e3p=inf; i_neg=find(v<-EPS); if(size(i_neg)>0) e3n=min( (l(i_neg)-x(i_neg))./v(i_neg) ); end i_pos=find(v>EPS); if(size(i_pos)>0) e3p=min( (u(i_pos)-x(i_pos))./v(i_pos) ); end eta(3)=min(e3n,e3p); eta(2)=eta(3)/2; eta=buscalinear(eta,x,v,EPS); eta=eta(2); if(trace) printf("%%%%%%% Iteracao %d %%%%%%%%%%% \n",count); count++; disp("Ponto atual:") disp(x) disp("Indices da base:") disp(i_base) disp("Gradiente reduzido:") disp(v) disp("Eta:") disp(eta) end % Retornamos para a restricao h(x)=0 utilizando Newton-Raphson while eta>EPS x2=x+eta*v; Jx2=jach(x2); % Tentamos retornar para a restricao em, no maximo, % seis iteracoes do Newton-Raphson. % Segundo Lasdon, a experiencia mostra que chamadas % subsequentes ao Newton-Raphson geralmente nao % convergem. % Observe que isso nao interfere na generalidade do % metodo. for j=1:6 Dx=-inv(Jx2(:,i_base))*h(x2); Dx=-inv(Jx2(:,i_base))*h(x2); if(abs(Dx)<EPS) break;

211

212
end aux=x2(i_base)+Dx; % Verificamos se alguma restricao de caixa % nao seria honrada no retorno a restricao % h(x)=0 if(any(aux<l(i_base)) || any(aux>u(i_base))) break; else x2(i_base)=aux; Jx2=jach(x2); end end % Se nao foi possivel retornar a restricao h(x)=0 % diminuimos o tamanho do passo e fazemos uma nova % tentativa if(any(abs(Dx)>EPS)) eta=eta/2; else x=x2; Jx=Jx2; break; end end

Appendix E. Programas

% O tamanho do passo igual a zero indica que nao podemos % melhorar a funcao objetivo caminhando nessa direcao, % entao o metodo termina if(eta<EPS) break; end x(find(abs(x)<EPS))=0; end x_otimo=x; v_otimo=f(x_otimo); end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% % % % % % % % % %

Esta eh uma funcao em octave versao 2.0.16.92 que minimiza f(x+e*v), com x e v fixos, fazendo uma busca linear. Recebe como parametro os vetores x e v, ambos de dimensao [nx1], o vetor eta, de dimensao [3x1], e um valor, abaixo do qual um numero em modulo eh considerado zero. O vetor eta deve ser da forma eta(1)<=eta(2)<=eta(3). Retorna o vetor eta de forma que min(f(x+e*v))=f(x+eta(2)*v)

function eta=buscalinear(eta,x,v,EPS) vf=[

E.6. GRG
f(x+eta(1)*v); f(x+eta(2)*v); f(x+eta(3)*v); ]; sf=vf(1)+vf(2)+vf(3); while 1 if(vf(2)-vf(1)<=EPS) if(vf(2)-vf(3)<=EPS) if(abs(vf(2)-vf(1))<EPS && abs(vf(2)-vf(3))<EPS) eta(2)=eta(3); break; end numerador=( vf(1)*(eta(3)^2-eta(2)^2)+ vf(2)*(eta(1)^2-eta(3)^2)+ vf(3)*(eta(2)^2-eta(1)^2) ); denominador=( vf(1)*(eta(3)-eta(2))+ vf(2)*(eta(1)-eta(3))+ vf(3)*(eta(2)-eta(1)) ); eta4=numerador/(2*denominador); if(abs(eta4-eta(2))<EPS) break; end vf4=f(x+eta4*v); if(eta4<eta(2)) eta(3)=eta(2); vf(3)=vf(2); eta(2)=eta4; vf(2)=vf4; else eta(1)=eta(2); vf(1)=vf(2); eta(2)=eta4; vf(2)=vf4; end else eta4=(eta(3)+eta(2))/2; if(abs(eta4-eta(2))<EPS) break; end vf4=f(x+eta4*v); eta(1)=eta(2); vf(1)=vf(2); eta(2)=eta4; vf(2)=vf4; end else eta4=(eta(1)+eta(2))/2;

213

214

Appendix E. Programas

if(abs(eta4-eta(2))<EPS) break; end vf4=f(x+eta4*v); eta(3)=eta(2); vf(3)=vf(2); eta(2)=eta4; vf(2)=vf4; end sfn=vf(1)+vf(2)+vf(3); if((sf-sfn)<EPS) break; else sf=sfn; end end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function y=f(x) y=-2*x(1)-4*x(2)+x(1)^2+x(2)^2+5; end function y=gradf(x) y(1)=-2+2*x(1); y(2)=-4+2*x(2); y(3)=0; y(4)=0; end function y=h(x) y(1)=-x(1)+2*x(2)+x(3)-2; y(2)=x(1)+x(2)+x(4)-4; end function y=jach(x) y=[ -1 2 1 0; 1 1 0 1 ]; end l=[0; 0; 0; 0]; x=[0; 0; 2; 4]; u=[10; 10; 10; 10]; [x_otimo,v_otimo]=grg(x,l,u,0)

Bibliograa
[Ait 91] M Aitkin (1991) Posterior Bayes Factors. J R Statist Soc B 1:111-142 [Alb 93] U.N.de Alba J.V.Asensio. Matemtica Actuarial. Instituto de Ciencias del Seguro, Editorial MAPFRE, Madrid, 1993. [Ale 86] G.J.Alexander and J.C.Francis. Portfolio Analysis. Prentice-Hall, Englewood Clis, New Jersey, 1986. [Ale 88] S.T.Alexander C.T.Pan R.J.Plemmons. Analysis of a Recursive Least Squares Hyperbolic Rotation Algorithm for Signal Processing. Linear Algebra and its Applications, 98, pp-3-40, 1988. [Azo 94] E. M. Azo. Neural network time series forecasting of nancial markets. John Wiley, 1994. [Bae 94] D. W. D. Baestaens and W. M. V. D. Bergh. Neural network solutions for trading in nancial markets. Pitman, 1994. [Bar 84] A.R.Barron. Predicted Squared Error: A Criterion for Automatic Model Selection. in [Far 84]. [Baz 90] M.Bazaraa J.J.Jarvis H.D.Sherali. Linear Programming and Network Flows. Wiley 1990. [Baz 93] M.Bazaraa H.D.Sherali C.M.Shetty. Nonlinear Programming. Wiley, 1993. [Bec 64] E.F.Beckenbach. Applid Combinatorial mathematics. Wiley, 1964. [Bel 96] A.Beltratti S.Margarita P.Terna. Neural Networks and Financial Modeling. Thomson, 1996. [Ber 94] J.Beran Statistics for Long Memory Processes. Chapman Hall, 1994. [Ber 76] D.P.Bertsekas. Dynamic Programming and Stochastic Control. Academic Press, 1976. 215

216

Bibliograa

[Ber 89] D.P.Bertsekas J.N.Tsitsiklis. paralel and Distributed Computation: Numerical Methods. Prentice hall, 1984. [Ber 87] JO Berger M Delampady (1987) Testing precise hypothesis. Statistical Science 3:315-352 [Ber 97] JO Berger, B Boukai, Y Wang (1997) Unied frequentist and Bayesian testing of a precise hypothesis. Statistical Science 3:315-352 [Beu 94] A.Beutelspacher. Cryptology. [Bic 77] P.J.Bickel K.A.Doksum. mathematical Statistics. Holden-Day, 1997. [Bil 86] P.Bilingsley. Probability and Measure. Wiley-Interscience, 1986. [Bir 97] J.Birge F.Louveaux. Introduction to Stochastic Programming. Sringer, 1997 [Bor 92] K.H.Borch. Economics of Insurance. North-Holland, 1992. [Bow 97] N.L.Bowers Jr. H.U.Gerber J.C.Hickman D.A.Jones C.J.Nesbitt. Actuarial Mathematics. The Society of Actuaries, USA, 1997. [Bra 87] P.Bratley, B.L.Fox, L.Schrage. A Guide to Simulation. Springer-Verlag, 1987. [Bre 84] L.Breiman, J.H.Friedman, C.J.Stone. Classication and Regression Trees. Chapman Hall, London, 1984. [Bro 91] P.J.Brockwell and R.A.Davis. Time Series: Theory and Models. Springer, 1991. [Bue 64] R.J.Buehler, B.V.Shah, O.Kempthorne. Iowa State Univ. Statist. Lab. Tech. Repts. for the Oce of Naval Res. 1) Some Problems of Steepest Ascent and Related Procedures for Finding Optimum Conditions. April 1961. 2) Methods of Parallel Tangents (PARTAN). April 1961, rev. August 1962. 3) Some Further Properties of the Methods of Parallel Tangents and Conjugate Gradients. September, 1961. [Cab 96] A.N.Cabot. Cassino Gamming: Policy, Economics and Regulation. UNLV International Gaming Institute, 1996. [Che 98] V.Cherkassky F.Mulier. Learning from Data: Concepts, Theory, and Methods. [Chi 95] J.Y.Ching, A.K.C.Wong, K.C.C.Chan. Class-Dependent Discretization for Inductive Learning from Continuous and Mixed-Mode Data. IEEE Transactions on Pattern Analysis and Machine Intelligence, 17 n.7, pp.641-651, 1995. [Cho 83] G.Chow. Econometrics. McGraw-Hill, 1983. [Chr 87] R.Christensen. Plane Answers to Complex Questions - The Theory of Linear Models. Springer, 1987.

Bibliograa [Chv 83] V.Chv atal. Linear Programming. W.H.Freeman, 1983.

217

[Clo 97] W.F.Clocksin. Clause and Eect: Prolog for the Working Programmer. Springer, 1997. [Coh 86] K.J.Cohen et all. The Microstructure of Securities Markets. Prentice-Hall, Englewood Clis, New Jersey, 1986. [Coh 67] K.J.Cohen J.A.Pogue. An Empirical Evaluation of Alternative Portfolio Selection Models. Journal of Business, 1967. [Col88] R.W.Colby, A.Mayers. The Encyclopedia of Technical Market Indicators. Dow Jones - Irwin, Homewood, Illinois, 1988. [Col 90] T.F.Coleman and C.F.van Loan. A Matrix Computation Handbook. SIAM Publications, Philadelphia. [Cox 77] DR Cox (1977) The role of signicance tests. Scand J Statist 4:49-70 [Cra 45] H.Cramer. Mathematical Methods of Statistics. Princeton, 1945. [Cut 91] T.van Cutsem. Decision Trees for Detecting Emergency Voltage Conditions. Proc. Second International Workshop on Bulk Power System Voltage Phenomena, pp.229-240, McHenry, USA, 1991. [Cyb 89] G. Cybenko. Approximation by superpositions of a sigmoidal function. Mathematics of Control Signals Systems, 2:303-314, 1989. [Dat 88] B.N.Datta et all (Edts.) Linear Algebra in Signal, Systems and Control. Siam, Philadelphia, 1988. [Dav 69] F.N.David. Games Gods and Gambling: A History of Probability and Statistical Ideas. Grin, 1969. [Dav 85] M.H.A.Davis R.B.Vinter. Stochastic Modelling and Control. Chapman and Hall, London, 1985. [Day 94] C.D.Daykin T.Pentikinen M.Pesonen. Practical Risk Theory for Actuaries. Chapman & Hall, 1994. [DeF 91] B. de Finetti. Scritti. Pitagora Editrice, Boligna, 1991. [DeG 86] M. DeGroot, Probability and Statistics, Addison Wesley 1986. [Den 82] E.Denardo. Dynamic Programming. Prentice Hall, 1982. [Dia 96] K.I.Diamataras S.Y.Kung. Principal Component Neural Networks. Wiley, 1996.

218

Bibliograa

[Dix 92] P.B.Dixon, B.R.Parmenter and A.A.Powell. Notes and Problems in Applied General Equilibrium Economics. North-Holland, Amsterdam, 1992. [Don 00] J.J.Dongarra, J.R.Bunch, C.B.Moler, G.W.Stewart. LINPACK Users Guide. Society for Industrial and Applied Mathematics, Philadelphia. [Dop 96] K.Dopfer. The Global Dimension of Economic Evolution. Springer, 1996. [Eat 00] J.W.Eaton. Octave Manual. Chemical Engineering Department, University of Texas at Austin. Austin, Texas. [Elt 91] E.J.Elton M.J.Gruber. Modern Portfolio and Investment Analysis. Wiley, 1991. [Esp 76] B. dEspagnat. Conceptual Fundations of Quantum Mechanics. W.A.Benjamin, 1976. [Far 84] S.J.Farlow (editor). Self-Organizing Methods in Modeling. Marcel Deckker, 1984. [Far 97] J.L.Farrell. Portfolio Management. McGraw-Hill, 1997. [Fis 96] G.S.Fishman. Monte Carlo Methods. Springer-Verlag, 1996. [Fle 87] R Fletcher (1987) Practical Methods of Optimization. Essex: J Wiley, Pp 436 [Flo 94] R.P.Flood P.M.Garber. Speculative Bubbles, Speculative Attacks, and Policy Switching. MIT Press. 1994. [Fu 94] L. Fu. Neural networks in computer intelligence. McGraw-Hill, 1994. [Gar 00] B.S.Garbow, J.M.Boyle, J.J.Dongarra, C.B.Moler. Matrix Eigensystem Routines: EISPACK Guide Extension. Lecture Notes in Computer Science, volume 51, Springer-Verlag. [Gol 89] G.H.Golub and C.F.van Loan. Matrix Computations. John Hopkins, 1989. [Gom 99] C.Gomez. Engineering and Scientic Computing with Scilab. Birkh auser, 1999. [Gol 96] A.Golan G.Judge D.Miller. Maximum Entropy Econometrics. Wiley, 1996. [Goo 83] IJ Good (1983) Good thinking: The foundations of probability and its applications. University of Minnesota Press. Pp 332 [Goo 84] G.C.Goodwin and K.S.Sin. Adaptive Filtering Prediction and Control PrenticeHall, 1984. [Goo 99] P.I.Good. Resapling Methods: A Practical guide to Data Analysis. Birkhauser, 1999.

Bibliograa [Had 64] G. Hadley. Nonlinear and Dynamic Programming. Addison-Wesley, 1964. [Han 98] D.J.Hand S.D.Jacka. Statistics in Finance. Arnold, 1998. [Har 81] A.C.Harvey Time Series Models. Philip Allan, New York, 1981.

219

[Har 90] A.C.Harvey. Forecasting, Structural Time Series, and the Kalman Filter. Cambridge Univ. Press, Cambridge, 1990. [Hea 91] M.J.R.Healy. Matrices for Statistics. Oxford Science Publications, 1991. [Hjo 94] J. S. U. Hjorth. Computer intensive statistical methods. Chapman and Hall, 1994. [Hoc 85] R.R.Hocking. The Analysis of Linear Models. Brooks-Cole, 1985. [Hon 94] J.Honerkamp. Stochastic Dynamical Systems: Concepts, Numerical Methods, Data Analysis. VCH Verlagsgesellschaft, 1994. [Hor 95] R Horst, PM Pardalos NV Thoai (1995) Introduction to Global Optimization. Boston: Kluwer Academic Publishers. [Hul 91] J. Hull. Introduction to futures and options markets. Prentice-Hall, 1991. [Inf 94] G.Infanger. Planing Under Uncertainty: Solving Large Scale Stochastic Linear Programs. Boyd Fraser, 1994 [Ing 87] J.E.Ingersoll. Theory of Financial Decision Making. Studies in Financial Economics, Rowman and Littleeld, Savage, Maryland, 1987. [Iro 86] TZ Irony CAB Pereira (1986) Exact test for equality of two proportions: FisherBayes. J Statist Comp Simulation 25:93-114 [Iro 95] TZ Irony CAB Pereira (1986) Bayesian Hypothesis test: Using surface integrals to distribute prior information among hypotheses. Resenhas 2:27-46 [Jaz 70] A.H.Jazwinski. Stochastic Processes and Filtering Theory. Academic Press, New York, 1970. [Kal 94] P.Kall S.Wallace. Stochastic Programming. Wiley, 1994. [Kar 93] T.Kariya. Quantitative Methods for Portfolio Analysis. Kluwer, 1993. [Ker 88] B.W.Kernighan D.M.Rittchie. The C Programming Language (ANSI-C). Prentice Hall, 1988. [Knu 96] D.E. Knuth. The Art of Computer Programming, vol 2 - Seminumerical Algorithms, Addison Wesley, 1996.

220 [Koe 89] A.Koenig. C Traps and Pitfalls. AT&T Bell Lab, 1989.

Bibliograa

[Kro 98] AR Krommer CW Ueberhuber (1998) Computational Integration. Philadelphia: SIAM, Pp 445 [Kum 86] P.R.Kumar and P.Varaiya. Stochastic Systems: Estimation, Identication, and Adaptive Control. Prentice-Hall, 1986. [Las 70] L.S.Lasdon. Optimization Theory for Large Systems. MacMillan, 1970. [Law 76] E.L.Lawler. Cominatorial Optimization: Networks and Matroids. Holt Rinehart and Winston, 1976. [Law 82] A.M.Law W.D.Kelton. Simulation Modeling and Analysis. McGraw-Hill, 1982. [LEc 88] P. LEcuyer. Ecient and Portable Combined Pseudo-Random Number Generators. Commun. ACM, 1988. [Lei 93] J.G. Leite, C.A.B. Pereira, F.W. Rodrigues. Waiting Time to Exaust Lottery Numbers. Commun. in Statist. 22, pp. 301-310, 1993. [Lep 77] G.P.Lepage. A New Algorithm for Adaptive Multidimencional Integration. Stanford Linear Accelerator Center, SLAC-PUB-1839, 1977. [Lew 89] P.A.W.Lewis, E.J.Orlav. Simulation Methodology. Wadsworth and Brooks Cole, 1989. [Lin 57] DV Lindley (1957) A statistical paradox. Biometrika 44:187-192 [Lin 78] DV Lindley (1978) The Bayesian approach. Scand J Statist 5:1-26 [Lue 84] D.G.Luenberger. Linear and Nonlinear Programming. Addison Wesley, 1984. [Lue 98] D.G.Luenberger. Investment Science. Oxford, 1998. [Mar 52] H.M.Markowitz. Portfolio Selection. The Jounal of Finance, 7(1), pp-77-91, 1952. [Mar 56] H.M.Markowitz. The optimization of a Quadratic Function Subject to Linear Constraints. Naval Research Logistics Quarterly, 3, 111-133. [Mar 87] H.M.Markowitz. Mean-variance Analisys in Portfolio Choice and Capital Markets. Basil Blackwell, Cambridge, Massachusetts, 1987. [Mar 72] A Marshall F Prochan (1972) Classes of distributions applicable in replacement, with renewal theory implications. Proc. 6th Berkeley Symp. Math. Statist. Prob. pp 395-415.

Bibliograa [Mar 99] R.K.Martin. Large Scale Linear and Integer Programming. Kluwer, 1999. [McC 83] G.P.McCormick. Nonlinear Programming. Willey, 1983. [Mer 90] R.C.Merton. Continous Time Finance. Blackwell, 1990.

221

[Mic 94] D.Michie, D.J.Spiegelhalter, C.C.Taylor. Machine Learning, Neural and Statistical Classication. Ellis Horwood, New York, 1994. [Mic 98] R.O.Michaud. Ecient Asset management. Harvard Business School Press, 1998. [Miz 94] P.Mizen. Buer Stock Models and the Demand for Money. St.Martin 1994. [Mol 81] C.B.Moler. MATLAB Manual. Department of Computer Science, University of New Mexico, 1981. [Mol 00] C.B.Moler, J.N.Litte and S.Bangert. PC-Matlab Users Guide. The MathWorks Inc. Sherborn, Massachusetts. [Mon 98] LE Montoya-Delgado, TZ Irony, CAB Pereira M Whittle (1998) Unconditional exact test for the Hardy-Weinberg law. Submitted for publication [Moo 74] A.M.Mood F.A.Graybill D.C.Boes. Introduction to the Theory of Statistics. McGraw-Hill, 1974. [Moo 78] D.S.Moore. Chi-Square Tests. in R.V.Hogg (editor) Studies in Statistics. MAA, 1978. [Moo 85] R.E.Moore. Computational Functional Analysis. Ellis Horwood, 1985. [Mue 94] W.Mueller, F.Wysotzki. Automatic Construction of Decision Trees for Classication. Annals of Operations Research 52, pp.231-247, 1994. [Mur 96] J. J. Murphy. Technical analisys of the futures markets. Prentice-Hall, 1996. [Mur 81] B.A.Murtagh. Advanced Linear Programming. McGraw Hill, 1981. [Nem 89] GL Nemhauser, AHG Rinnooy Kan MJ Todd editors (1989) Optimization, Handbooks in Operations Research Vol 1. Amsterdam: North-Holland, Pp 709 [New 97] D.Newton. Encyclopedia of Cryptology. Abc-Clio, 1997. [Nil 90] R. H. Nielsen. Neurocomputing. Addison-Wesley, 1990. [Pai 77] C.C.Paige M.A.Saunders. Least Squares Estimation of Discrete Linear Dynamic Systems using Orthogonal Transformations. Siam J. Numer. Anal. 14 (2), pp-180-193, 1977.

222

Bibliograa

[Pan 92] H.H.Panjer G.E.Willmot. Insurance Risk Models. Society of Actuaries, 1992. [Pas 90] R.C.Pascual. Previsin Tecnolgica de la Demanda. Marcombo Boixareu, Barcelona, 1990. [Per 84] CAB Pereira A Rogatko (1984) The Hardy-Weinberg equilibrium under a Bayesian perspective. Braz J Genet 7:689-707 [Per 87] CAB Pereira DV Lindley (1987) Examples questioning the use of partial likelihood. The Statistician, 36:15-20 [Per 93] C.A.B. Pereira, S. Wechsler. On the concept of P-Value. Brazilian Journal of Probability and Statistics 7, pp. 159-177, 1993. [Per 99a] C.A.B.Pereira J.M.Stern. A Dynamic Software Certication and Verication Procedure. Proc. ISAS-99 - International Conference on Information Systems Analysis and Syntesis. V-II, pp. 426-435, 1999. [Per 99b] C.A.B.Pereira J.M.Stern. Evidence and Credibility: Full bayesian Signicance Test for Precise Hypoteses. Entropy, V.1, pp.69-80, 1999. [Pet 91] E.E.Peter. Chaos and Order in the Capital Markets. [P 96] G.C.Pug. Optimization of Stochastic Models. Kluwer 1996. [Pet 94] E.E.Peter. Fractal Market Analysys. [Phi 95] L.Philips. Competition Policy: A Game-Theoretic Perspective. Cambridge, 1995. [Pin 96] JD Pint er. Global Optimization in Action. Continous and Lipschitz Optimization: Algorithms, Implementations ans Applications. Boston: Kluwer Academic Publishers, 1996. [Pir 93] M. J. S. S. Piramuthu and C. Kuan. Learning algorithms for neural-net decision support. ORSA Journal on Computing, 5:381-373, 1993. [Pli 99] S.Pliska. Introduction to Mathematical Finance: Discrete Time Models. Blackwell, 1999. [Qui 86] J.R.Quinlan. Induction of Decision Trees. Machine Learning 1, pp.221-234, 1986. [Rho 71] I.B.Rhodes. A Tutorial Introduction to Estimation and Filtering. IEEE Trans. on Autom. Contr., 16, (6), pp-688-707, 1971. [Rip 87] B.D.Ripley. Stochastic Simulation. John Wiley, 1987.

Bibliograa

223

[Rit 96] P.Ritchen. Derivative Markets: Theory, Strategy, and Aplications. Harper Colins, 1996. [Ros 97] S.M.Ross. Probability Models. Academic Press, 1997. [Roy 97] R Royall (1997) Statistical Evidence: A Likelihood Paradigm. London: Chapman Hall, Pp 191 [Sac 71] J.E.Sacks, H.W.Sorenson. Nonlinear Extensions of the Fading Memory Filter. IEEE Trans. on Autom. Contr., Oct. 1971, pp-506-507. [Sca 74] J.Scarne. Scarnes New Complete Guide to Gambling. Simon Schuster, 1974. [Sch 92] R.W.Schmittberger. New Rules for Classic games. Wiley, 1992. [Sch 95] L.W.Schruben. Graphical Simulation Modeling and Analysis. Boyd Fraser, 1995. [Sha 64] B.V.Shah, R.J.Buehler, O.Kempthorne. Some Algorithms for minimizing a Function of Several Variables. J. Soc. Indust. Appl. Math. 12, 7492. [Sha 93] W. F. Sharpe. A linear programming algorithm for mutual fund portfolio selection. Managment Science, 13:499-510, 1993. [Sha 70] W.F.Sharpe. Portfolio Theory and Capital Markets. McGraw-Hill, New York, 1970. [Sha 82] W.F.Sharpe C.M.Cootner. Finantial Economics. Prentice-Hall, Englewood Clis, New Jersey, 1982. [Slo 94] IH Sloan S Joe (1994) Latice Methods for Multiple Integration. Oxford: Oxford University Press, Pp 239 [Smi 00] B.T.Smith, J.M.Boyle, J.J.Dongarra, B.S.Garbow, Y.Ikebe, V.C.Klema, C.B.Moler. Matrix Eigensystem Routines: EISPACK Guide. Lecture Notes in Computer Science, volume 6, second edition, Springer-Verlag. [Smi 91] D.K.Smith. Dynamic Programming: A Practical Introduction. Ellis Horwood, 1991. [Ste 86] L.Sterling E.Shapiro. The Art of Prolog. MIT, 1986. [Ste 83] J.M.Stern. An alise Num erica. XIII Curso de Ver ao, mimeo. MAP-IME-USP, 1983. [Ste 94a] J.M.Stern. Esparsidade, Estrutura, Estabilidade e Escalonamento em Algebra Linear Computacional. IX Escola de Computa ca o, Recife, 123 pps, 1994.

224

Bibliograa

[Ste 94b] J.M.Stern S.Vavasis. Active Set Algorithms for Problems in Block Angular Form. Computational and Applied Mathematics, (13) 1994. [Ste 95] J.M.Stern M.E.da Silva. Ecient Portfolios at Sao Paulo Stock Exchange. Anais do XVII Encontro Brasileiro de Econometria, V.2, pp.995-1013, Salvador, 1995. [Ste 96a] J.M.Stern, C.O.Ribeiro. Mtodos de Otimiza c ao em Finan cas. XIX Congresso Nacional de Matem atica Aplicada e Computacional, Goi ania, 140 pps, 1996. [Ste 96b] J.M.Stern R.Terada. Vade-MeCum, Um Guia para Programa ca o em C. MACIME-USP, 42 pps, 1996. [Ste 98a] J.M.Stern M.Lauretto. REAL: Real Attribute Learning Algorithm. In: World Multiconference on Systemics, Cybernetics and Informatics - SCI98 Proceedings, V. 2, pp.315-321, 1998. [Ste 98b] J.M.Stern M.Lauretto. REAL: Algoritmo de Aprendizagem para Atributos Reais e Estrat egias de Opera cao em Mercado. In: Proceedings of IBERAMIA 98 - Sixth Iberoamerican Conference on Articial Intelligence, Lisboa, 1998. [Ste 00] J.M.Stern. Web page, www.ime.usp.br/jstern [Ste 73] G.W.Stewart. Introduction to Matrix Computations. Academic Press, 1973. [Sti 86] S.M.Stigler. The History of Statistics. Harvard Univ. Press, 1986. [Str 86] G.Strang. Introduction to Applied Mathematics. Cambridge Press, 1986. [Str 88] G.Strang. Linear Algebra and its Applications. HBJ, 1988. [Tan 93] Z. Tang and P.A. Fisher. Feedfoward neural nets as models for time series forecasting. ORSA Journal on Computing, 5:374-385, 1993. [Tod 65] I.Todhunter. A History of the Matematical Theory of Probability. Macmillan, 1965. [Tho 86] L.C.Thomas. Games, Theory and Applications. Ellis Horwood, 1986. [Tri 96] L.Trigeorgis. Real Options. MIT, 1996. [Ung 81] S.Unger, F.Wysotzki. Lernfaehige Klassizierungssysteme. Akademie Verlag, Berlin, 1981. [Urb 94] J.S.Urban-Hjorth. Computer Intensive Statistical Methods: Validation, Model Selec. and Bootstrap. Chapman Hall, 1994. [Vie 98] VJ Vieland SE Hodge (1998) Book Reviews: Statistical Evidence by R Royall (1997). Am J Hum Genet 63:283-289

Bibliograa

225

[Wav 97] L.Waverman W.S.Comanor A.Goto. Competition Policy in the Global Economy. Routledge, 1997. [Whi 78] D.J.White. Finite Dynamic Programming. Whiley, 1978. [Whi 90] P. Whittle. RiskSensitive Optimal Control. Wiley, 1990. [Whi 83] P.Whittle. Optimization over Time. vol. I e II, John Wiley, 1983. [Wic 82] B.A. Wichmann I.D. Hill. An Ecient and Portable Pseudo-Random Number Generator. Appl. Stat. 31, pp. 188-190, 1982. [Wil 98] C.P.Williams S.H.Clearwater. Explorations in Quantum Computing. Springer, 1998. [Wol 59] The Simplex Method for Quadratic Programming. Econometrica, 27, 383398, 1959. [Wyk 89] C.J.van Wyk. Data Structures and C Programs. AT&T Bell Lab, 1989. [Zen 93] S.Zenios. Financial Optimization. Cambridge, 1993.

You might also like