A investigação sobre a previsão de desempenho é uma área ainda nova, havendo uma enorme necessidade de maiores desenvolvimentos. Como perspetivas de futuras linhas de investigação, propõe-se que sejam implementadas as seguintes atividades:
Aplicação num sistema de gestão com previsão e otimização baseado nos custos e efeitos.
Utilização de processos de Markov de grau 2 e superior, baseando o cálculo da degradação do desempenho não só no índice anterior, mas também na sequência de eventos que o antecederam [41] [35].
Utilização de um algoritmo de otimização para obtenção da melhor estratégia para as ações de manutenção.
Introduzir no modelo a estimativa de probabilidades de transição recorrendo ao levantamento de opinião de peritos, para as situações em que o registo histórico de inspeções não é suficientemente credível, ou não possui uma quantidade de dados considerável [35].
Elaborar uma previsão do desempenho da Linha, não só com base apenas nos dois parâmetros geométricos, mas com todos os parâmetros possibilitando a elaboração de um índice global
Melhorar os HMM para tempos contínuos, que foram referidos brevemente no capítulo 5, onde podem recorrer a distribuições gaussianas.
7
Bibliografia
[1] D. M. Frangopol, M.-J. Kallen e J. M. van Noortwijk, “Probabilistic Models for Life-Cycle Performance of Deteriorating Structures : Review and Future Directions,” em Progress in Structural Engineering and Materials, John Wiley & Sons, Ltd, 2004, pp. 197-212, DOI 10.1002/pse.180.
[2] C. Henriques, “Manutenção da Via Pernamente com Foco na Produção,” Dissertação de mestrado, Instituto Militar de Engenharia, Rio de Janeiro, 2006. [3] A. Semrau, “Réflexions sur le trafic ferroviaire mixte, grande vitesse et lourdes
charges, du point de vue de la superstructure,” Revue générale des chemins de fer, vol. 104, pp. 444-454, 1985.
[4] J. M. F. M. Barros, “Avaliação dos principais métodos analíticos de cálculo de capacidade de tráfego utilizados em ferovia nacional e internacional,” Dissertação de mestrado, Universidade Federal de Minas Gerais, Belo Horizonte, 2013. [5] O. S. Nock, Encyclopedia of Railways, London: Octopus Books Limited, 1977, p.
480, ISBN 0706406044.
[6] B. Solomon, American Steam Locomotive, Osceola: MBI Publishing Company, 1998, p.160, ISBN 0760303363.
[7] H. Ellis, The Pictorial Encyclopedia of Railways, 2º ed., Checoslováquia: The Hamlyn Publishing Group Limited, 1981, p. 591, ISBN 0600375854.
[8] R. F. d. C. Paupério e S. Paulino, “A Linha do Tua: hitória, construção e levantamentos,” Dissertação de mestrado, Universidade do Minho, Guimarães, 2011.
[9] A. Alves, “Carris de Ferro em Portugal,” Ocomboio.net, pp. 1-24, 2009.
[10] M. d. A. Pinheiro, “Investimentos estrangeiros, politica financeira e caminhos-de- ferro em Portugal na segunda metade do século XIX,” Análise Social, vol. 15, pp. 265-286, 1979.
[11] M. F. Alegria, “A Linha do Tua e os caminhos de ferro Portugueses (1856-1906),” em Railroads in Historical Context : Construction, Costs and Consequences, vol. I, Portugal, Artes Gráficas, 2011, pp 3-14 , ISBN 978-989-97134-5-1.
[12] D. d. V. Marinho, “Métodos Construtivos de Pontes,” Dissertação de mestrado, Instituto Superior do Porto, Porto, 2012.
[13] A. L. Pita, Infraestructuras Ferrroviarias, 1º ed., Barcelona: Universitat Politècnica de Catalunya, SL, 2006, p.448, ISBN 9788483018538.
[14] C. M. T. d. L. Mendes, “Optimização da Afectação de Recursos à Produção de Serviços da CP Regional,” Dissertação de mestrado, Instituo Superior de Engenharia de Lisboa, Lisboa, 2009.
[15] T. S. d. S. Silva, “Inspeção e Reabilitação de Infraestruturas Ferroviárias,” Dissertação de mestrado, Lisboa: Faculdade de Ciências e Tecnologias da Universidade Nova de Lisboa, 2012.
[16] REFER, “REFER,” Agosto 2012. [Em linha]. Disponível em: http://www.refer.pt/MenuPrincipal/REFER/GestaodaRede/MapadaRede.aspx. [Acesso em Fevreiro 2014].
[17] E. M. C. Fortunato, “Renovação de plataformas ferroviárias : estudos relativos à capacidade de carga,” Dissertação de doutoramento, Faculdade de Engenharia da Universidade do Porto, Porto, 2005.
[18] N. R. Campos, “Gestão da Segurança na Constução de Infra-estruturas Ferroviárias-Estudo de Caso,” Dissertação de mestrado, Faculdade de Engenharia da Universidade do Porto, Porto, 2011.
[19] J. A. d. S. Fernandes, “Modelação do Comportamento Mecânico de Vias-férreas,” Dissertação de mestrado, Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa, Lisboa, 2011.
[20] M. A. DiPilato, E. I. Steinberg e R. M. Simon, Ballast and subgrade requirements
study. Railroad track substructure. Design and performance. Evaluation Practices., Washington, D.C., USA: Federal Railroad Administration. Office of
Research and Development., 1983, p. 85.
[21] C. Esveld, Modern Railway Track, 2 ed., Delfth-Holanda: MRT-Productions, 2001, ISBN 90-800324-3-3.
[22] L. M. D. d. Silva, “Reabilitação da Estação de Caminho de Ferro de Casa Branca – Linha do Alentejo,” Dissertação de mestrado, Instituto Superior de Engenharia de Lisboa, Lisboa, 2010.
[23] E. T. e. W. J. Selig, Track geotechnology and substructure management., England: Thomas Telford Publications, 1995, p. 446, ISBN 0727720139.
[24] C. M. N. A. S. Vale, “Influência da qualidade dos sistemas ferroviários no comportamento dinâmico e no planeamento de manutenção preventiva de vias de alta velocidade,” Dissertação de doutoramento, Faculdade de Engenharia da Universidade do Porto, Porto, 2010.
[25] J. F. C. V. Carvalho, “Estabilidade Estrutural da Via Ferroviária,” Dissertação de mestrado, Faculdade de Engenharia da Universidade do Porto, Porto, 2010. [26] A. E. d. S. Pinto, “Aplicação de Geossintéticos em Linhas-Férreas Estudo
Laboratorial dos Fenómenos de Danificação Durante a Instalação e Abrasão nos Materiais,” Dissertação de mestrado, Facudade de Engenharia da Universidade do Porto, Porto, 2005.
[27] J. M. G. Marques, “Construção e manutenção de infraestruturas ferroviárias. Via em laje.,” Dissertação de mestrado, Faculdade Ciências e Tecnologia da Universidade Nova de Lisboa, Lisboa, 2013.
[28] A. Paixão e C. Furtunato, INCVC 5- Novas soluções superstrutura de via para alta velocidade ferroviária, Lisboa: LNEC, 2009, p. 162, ISBN 9789724921730. [29] E. Berggren, “Railway Track Stiffness - Dynamic Measurements and Evaluation
for Efficient Maintenance,” Dissertação de doutoramento, Royal Institute of Technolog, KTH, Stockholm, 2009.
[30] J. N. A. d. C. Ferreira, “Intervenções de construção, renovação e manutenção na via-férrea,” Dissertação de mestrado, Faculdade de Engenharia da Universidade do Porto, Porto, 2010.
[31] D. E. F. Bento, “Análise dos métodos de medição dos parâmetros geométricos de via e correlação entre os dados obtidos,” Dissertação de mestrado, Instituto Superior de Engenharia de Lisboa, Lisboa, 2011.
[32] IT.VIA.018, “Tolerâncias dos parâmetros geométricos da via, Versão 2,” 2009. [33] A. M. Lopes, “Avaliação da degradação de vias férreas - Caracterização do
balastro com recurso ao Radar de Prospeção,” Dissertação de mestrado Faculdade de Ciências e Tecnologia, Lisboa, 2013.
[34] D. Leal, “Gestão da Conservação em Vias-Férreas,” Dissertação de mestrado, Faculdade de Ciências e Tecnologia de Coimbra, Coimbra, 2008.
[35] F. J. N. Sobreiro, “Modelos de Previsão de Deterioração de Pontes Existentes: Processos de Markov,” Dissertação de mestrado, Universidade de Lisboa, Faculdade de Ciências e Tecnologia, Departamento de Engenharia Civil, Lisboa, 2011.
[36] Infopédia, “Andrei Markov,” Porto Editora, 2003-2014. [Em linha]. Disponivel em: http://www.infopedia.pt/apoio/artigos/11485400. [Acesso em 30 Outubro 2014].
[37] M. B. d. F. Cruz, “Valores e Vectores Próprios de Cadeias de Markov : Métodos de Projecção,” Faculdade de Engenharia da Universidade do Porto, Porto, 2003. [38] Y. Shafahi e R. Hakhamaneshi, “Application of a Maintenance Management
Model for Iranian Railways Based on the Markov Chain and Probabilistic Dynamic Programming,” Transaction A: Civil Engineering, vol. 16, pp. 87-97, Janeiro-Fevreiro 2009.
[39] P. Brémaud, Markov Chains : Gibbs Fields, Monte Carlo Simulation, and Queues, France: Springer, 2001, ISBN 0387985093.
[40] R. A. Howard, Dynamic Probabilistic Systems: Semi-Markov and decision processes, vol 1: Markov Models, Estado Unidos: John Wiley & Sons, Inc., 1971, ISBN 0471416665.
[41] J. P. A. Gambóias, “Modelação da Degradação de Pontes Considerando a Incerteza Associada às Inspecções,” Dissertação de mestrado, Universidade Nova de Lisboa, Faculdade de Ciências e Tecnologia, Lisboa, 2012, .
[42] J.-A. Zakeri e S. Shahriari, “Developing A Deterioration Probabilistic Model for Rail Wear,” International Journal of Traffic and Transportation Engineering, vol. 1, pp. 13-18, 2012, DOI: 10.5923/j.ijtte.20120102.02.
[43] A. Guambe, “Modelização e Controlo de Sistemas de Manufactura via Filas de Espera,” Dissertação de mestrado, Faculdade de Engenharia da Universidade do Porto, Porto, 2013.
[44] C. H. Jackson, “Multi-State Models for Panel Data: The msm Package for R,”
Journal of Statistical Software, Vol. 38 (8), pp 156-156, Janeiro 2011.
[45] A. A. Paulo e L. S. Pereira, “Prediction of SPI Drought Class Transitions Using Markov Chains,” Water Resources Management, vol. 21, p. 15, 1 Outubro 2007, DOI 10.1007/s11269-006-9129-9.
[46] R. C. Guimarães e J. A. Cabral, Estatística, McGraw-Hill, 1997, ISBN 9728298455.
[47] C. Ferreira, L. Neves, J. Matos e J. Soares, “A degradation and maintenance model: Application to Portuguese,” em Bridge Maintenance, Safety, Management
and Life Extension, Chen, Frangopol e Ruan, Edits., CRC Press, 2014, p. 648,
DOI: 10.1201/b17063-307.
[48] L. E. S. Oliveira e M. E. Morita, “Introdução aos Modelos Escondidos de Markov (HMM),” Pontifícia Universidade Católica do Paraná, Curitiba, 1998.
[49] F. E. A. Coelho, “Sistema automático de reconhecimento do montante de um cheque realizado no Instituto de Engenharia de Sistemas e Computadores do Porto,” Dissertação de mestrado, Faculdade de Engenharia da Universidade do Porto, Porto, 2008.
[50] P. M. P. R. Gomes, “Sistema pata aquisição, monitorização e análise da actividade cardíaca,” Dissertação de doutoramento, Universidade do Minho, Braga, 2010. [51] K. P. Souza, “Aplicação de Modelos de Markov Ocultos na obtenção de Taxas de
Mortalidade das Larvas do Mosquito da Dengue,” Dissertação de mestrado, Mato Grosso do Sul, 2010.
[52] A. M. Cunha, “Reconhecimento de Digitos com HMM,” Rio de Janeiro, 2003. [53] L. R. Rabiner, “A tutorial on Hidden Markov Models and Selected Applications
in Speech Recognition,” Proc.IEE, vol. 77, pp. 257-286, 1989, DOI: 10.1109/5.18626.
[54] C. M. B. Khouri, “Modelos Escondidos de Markov para Classifação de Proteínas,” Dissertação de mestrado, Universidade Ferderal de Pernambuco, Recife, 2002. [55] N. Liu, R. I. Davis, B. C. Lovell e P. J. Kootsookos, “Effect of Initial HMM
Choices in Multiple Sequence Training for Gesture Recognition,” Information
Technology: Coding and Computing, 2004 (ITCC'04), vol. 2, pp. 608-6013, 5-7
function [ IC_niv ,IC_ali , Geral , Geral_ali , Geral_niv , matriz_P , C_MTD ] = codigo(dados) load('dados.mat'), %variaveis sobre os desvios padrões das inspeções.
% Transformar os desvios padrões dos dados das inspeções no índice proposto.
n=size(dados,1); IC_niv=zeros(n,20); IC_ali=zeros(n,20);
% Transformar nos IC propostos
for i=1:n for j=1:20
if niv(i,j)<0.7; IC_niv(i,j)=0;
elseif niv(i,j)>=0.7 && niv(i,j)<1.4; IC_niv(i,j)=1;
elseif niv(i,j)>=1.4 && niv(i,j)<2.7; IC_niv(i,j)=2;
elseif niv(i,j)>=2.7 && niv(i,j)<3.2; IC_niv(i,j)=3;
elseif niv(i,j)>=3.5 && niv(i,j)<3.75; IC_niv(i,j)=4; elseif niv(i,j)>=3.75 IC_niv(i,j)=5; end if ali(i,j)<0.7; IC_ali(i,j)=0;
elseif ali(i,j)>=0.7 && ali(i,j)<1.2; IC_ali(i,j)=1;
elseif ali(i,j)>=1.2 && ali(i,j)<1.5; IC_ali(i,j)=2;
elseif ali(i,j)>=1.5 && ali(i,j)<1.95; IC_ali(i,j)=3;
elseif ali(i,j)>=1.95 && ali(i,j)<2.7; IC_ali(i,j)=4; elseif ali(i,j)>=2.7 IC_ali(i,j)=5; end end end
Quadro geral composto por 7 colunas onde a principal função é o índice de condição e o intervalo de tempo entre as inspeções. Esse quadro é baseado num conjunto de índices integrados numa variável denominada “dados”, sendo a linha correspondente a um troço e as colunas as respetivas inspeções ocorridas sucessivamente.
% Criação do quadro
n=size(dados,1); %numero de linhas.
f=n*19; %linhas do quadro sendo que existe +20 índices.
Geral_ali = zeros(f,7); Geral_niv = zeros(f,7);
% Preecher as primeiras colunas baseadas sobre o ID da linha e os pontos , % quilométricos iniciais e finais onde realiza-se a inspeção.
j=1; for i=1:f Geral_ali(i,1)=dados(ii,1); Geral_ali(i,2)=dados(ii,2); Geral_ali(i,3)=dados(ii,3); Geral_ali(i,4)=dados(ii,4); Geral_niv(i,1)=dados(ii,1); Geral_niv(i,2)=dados(ii,2); Geral_niv(i,3)=dados(ii,3); Geral_niv(i,4)=dados(ii,4); if j==19 ii=ii+1; j=0; end j=j+1; end
% Preenchimento das colunas dos índices de condição.
ii=1; j=1; for i=1:f if j==1 Geral_ali(i,5)=IC_ali(ii,j); Geral_niv(i,5)=IC_niv(ii,j); j=j+1; end Geral_ali(i,6)=IC_ali(ii,j); Geral_niv(i,6)=IC_niv(ii,j); j=j+1; if j==21 ii=ii+1; j=1; end end
% Preenchimenteno do intervalo entre as inspeções sendo no nosso caso de 3 meses.
falta=1; for i=1:f Geral_ali(i,7)=3; Geral_niv(i,7)=3; falta=falta+1; end
% Preenchimento da coluna correspondente ao índice inicial antes de ocorrer; % a inspeção. for i=2:f if Geral_niv(i,5)==0 Geral_niv(i,5)=Geral_niv(i-1,6); end if Geral_ali(i,5)==0 Geral_ali(i,5)=Geral_ali(i-1,6); end end
Obtenção da matriz intensidade para tempo discreto (apenas o alinhamento). Para a matriz do nivelamento apenas altera-se "ali" para "niv"
linhas=size(Geral_ali,1) ;
% Soma das linhas com indice iniciais igual a 0 e transitam para índices diferentes
AA=0; AB=0; AC=0; AD=0; AE=0; AF=0; for i=1:linhas
if Geral_ali(i,5)==0 && Geral_ali(i,6)==0 && Geral_ali(i,5)==Geral_ali(i,6) AA= AA +1; %transição de 0 para 0
end
if Geral_ali(i,5)==0 && Geral_ali(i,6)==1 AB= AB +1; %transição de 0 para 1
end
if Geral_ali(i,5)==0 && Geral_ali(i,6)==2 AC= AC +1; %transição de 0 para 2
end
if Geral_ali(i,5)==0 && Geral_ali(i,6)==3 AD= AD +1; %transição de 0 para 3
end
if Geral_ali(i,5)==0 && Geral_ali(i,6)==4 AE= AE +1; %transição de 0 para 4
end
if Geral_ali(i,5)==0 && Geral_ali(i,6)==5 AF= AF +1; %transição de 0 para 5
end end
% Igual como anterior mas para índice inicial 1
BB=0; BC=0; BD=0; BE=0; BF=0; for i=1:linhas
if Geral_ali(i,5)==1 && Geral_ali(i,6)==1 && Geral_ali(i,5)==Geral_ali(i,6) BB= BB +1;
end
if Geral_ali(i,5)==1 && Geral_ali(i,6)==2 BC= BC +1;
end
if Geral_ali(i,5)==1 && Geral_ali(i,6)==3 BD= BD +1;
end
if Geral_ali(i,5)==1 && Geral_ali(i,6)==4 BE= BE +1;
end
if Geral_ali(i,5)==1 && Geral_ali(i,6)==5 BF= BF +1;
end end
% Igual como anterior mas para índice inicial 2
CC=0; CD=0; CE=0; CF=0; for i=1:linhas
if Geral_ali(i,5)==2 && Geral_ali(i,6)==2 && Geral_ali(i,5)==Geral_ali(i,6) CC= CC +1;
end
if Geral_ali(i,5)==2 && Geral_ali(i,6)==3 CD= CD +1;
end
CE= CE +1; end
if Geral_ali(i,5)==2 && Geral_ali(i,6)==5 CF= CF +1;
end end
% Igual como anterior mas para índice inicial 3
DD=0; DE=0; DF=0; for i=1:linhas
if Geral_ali(i,5)==3 && Geral_ali(i,6)==3 && Geral_ali(i,5)==Geral_ali(i,6) DD= DD +1;
end
if Geral_ali(i,5)==3 && Geral_ali (i,6)==4 DE= DE+1;
end
if Geral_ali(i,5)==3 && Geral_ali (i,6)==5 DF= DF+1;
end end
% Igual como anterior mas para índice inicial 4
EE=0; EF=0; for i=1:linhas
if Geral_ali(i,5)==4 && Geral_ali(i,6)==4 && Geral_ali(i,5)==Geral_ali(i,6) EE= EE +1;
end
if Geral_ali(i,5)==4 && Geral_ali (i,6)==5 EF= EF+1;
end end
% Igual como anterior mas para índice inicial 5
FF=0;
for i=1:linhas
if Geral_ali(i,5)==5 && Geral_ali(i,6)==5 && Geral_ali(i,5)==Geral_ali(i,6) FF= FF +1;
end end
% Contar o numero de vezes que apareça determinado indices iniciais
M=0;N=0;O=0;P=0;Q=0;R=0;
for i=1:linhas
if Geral_ali(i,5)==0 && Geral_ali(i,6)>=0 M= M +1;
end
if Geral_ali(i,5)==1 && Geral_ali(i,6)>=1 N= N +1;
end
if Geral_ali(i,5)==2 && Geral_ali(i,6)>=2 O= O +1;
end
if Geral_ali(i,5)==3 && Geral_ali(i,6)>=3 P= P +1;
end
if Geral_ali(i,5)==4 && Geral_ali(i,6)>=4 Q= Q +1;
end
if Geral_ali(i,5)==5 && Geral_ali(i,6)>=5 R= R +1; end end % Obtenção da matriz P matriz_P=[(AA/M),(AB/M),(AC/M),(AD/M),(AE/M),(AF/M);0,(BB/N),(BC/N),(BD/N),(BE/N),(BF/N);0,0,( CC/O),(CD/O),(CE/O),(CF/O);0,0,0,(DD/P),(DE/P),(DF/P);0,0,0,0,(EE/Q),(EF/Q);0,0,0,0,0,(FF/R)];
Calcular o índice futuro através de processos de Markov em tempo Discreto
IC=input('Escolha o indice paramétrico neste momento 0 1 2 3 4 5 = ');
% Indice das escolhas
if IC==0; prob_inicial= [1 0 0 0 0 0]; elseif IC==1; prob_inicial= [0 1 0 0 0 0]; elseif IC==2; prob_inicial= [0 0 1 0 0 0]; elseif IC==3; prob_inicial= [0 0 0 1 0 0]; elseif IC==4; prob_inicial= [0 0 0 0 1 0]; elseif IC==5; prob_inicial= [0 0 0 0 0 1]; end
n=input('Qual inspeção pretende determinar o índice, a partir da atualidade ? '); P=matriz_P^(n);
P_IC = prob_inicial * P;
indice_futur = P_IC * [0;1;2;3;4;5]; disp ('O indice de qualidade é') disp (indice_futur)
Desenvolvimento em gráfico da evolução do índice
graf=questdlg('Deseja observar o desenvolvimento do índice em gráfico','Opção','Sim','Não','Sim');
switch graf case 'Sim' num_meses=120;
C_MTD = zeros(1,num_meses);
% Indice de condição da base de dados
if IC == 0; C_MTD(1,1) = 0; elseif IC == 1 C_MTD(1,1)= 1; elseif IC == 2 C_MTD(1,1)= 2; elseif IC == 3; C_MTD(1,1) = 3; elseif IC == 4; C_MTD(1,1) =4; elseif IC == 5;
C_MTD(1,1) =5; end for j=1:num_meses; n=j; P=matriz_P^(n); P_IC = prob_inicial * P ; C_MTD(1,(j+1)) = P_IC * [0;1;2;3;4;5] ; end % PLOT axes1 =
axes('Parent',figure,'YGrid','on','XGrid','on','FontWeight','demi','FontAngle','italic'); box(axes1,'on');
hold(axes1,'all'); x=0:3:360;
y=C_MTD; plot(x,y);
title('Evolução do Indice de Qualidade'); xlabel('Tempo (meses)');
ylabel('Indice de Qualidade'); pause
case 'Não' end
Obtenção da matriz intensidade para tempo contínuo (apenas o alinhamento) Para a matriz do nivelamento apenas altera-se "ali" para "niv"
linhas=size(Geral_ali,1) ;
% Estados com indice inicial IC=0
AA=0;
for i=1:linhas
if Geral_ali(i,5)==0 && Geral_ali(i,6)==1 AA= AA +1;
end end
% Estados com indice inicial IC=1
BB=0;
for i=1:linhas
if Geral_ali(i,5)==1 && Geral_ali(i,6)==2 BB= BB +1;
end end
% Estados com indice inicial IC=2
CC=0;
for i=1:linhas
if Geral_ali(i,5)==2 && Geral_ali(i,6)==3 CC= CC +1;
end end
% Estados com indice inicial IC=3
DD=0;
for i=1:linhas
if Geral_ali(i,5)==3 && Geral_ali(i,6)==4 DD= DD +1;
end end
% Estados com indice inicial IC=4
EE=0;
for i=1:linhas
if Geral_ali(i,5)==4 && Geral_ali(i,6)==5 EE= EE +1;
end end
% Contar o tempo dos indices iniciais
M=0; N=0; O=0; P=0; Q=0; for i=1:linhas
if Geral_ali(i,5)==0 && Geral_ali(i,6)>=0 M= M + Geral_ali(i,7);
end
if Geral_ali(i,5)==1 && Geral_ali(i,6)>=1 N= N + Geral_ali(i,7);
end
if Geral_ali(i,5)==2 && Geral_ali(i,6)>=2 O= O + Geral_ali(i,7);
end
if Geral_ali(i,5)==3 && Geral_ali(i,6)>=3 P= P + Geral_ali(i,7);
end
if Geral_ali(i,5)==4 && Geral_ali(i,6)>=4 Q= Q + Geral_ali(i,7);
end end
% Obtenção dos tetas
teta = [AA/M;BB/N;CC/O;DD/P;EE/Q]; % Otimização da matriz q=zeros(6,6); q(1,1)=-teta(1); q(1,2)=teta(1); q(2,2)=-teta(2); q(2,3)=teta(2); q(3,3)=-teta(3); q(3,4)=teta(3); q(4,4)=-teta(4); q(4,5)=teta(4); q(5,5)=-teta(5); q(5,6)=teta(5);
% Contrução do vector intensidade
v = abs(diag(q));
% Verosimilhança do modelo não otimizado
veros=0; Geral=Geral_ali; veros = calc_veros(v, Geral_ali);
disp ('A verosimilhança do modelo não otimizado é de'); disp(veros); disp ('A matriz intensidade não otimizada do modelo é'); disp(q);
% Optimizar o V
fVeros = @(v,veros)calc_veros(v,Geral_ali);
% precisão - pode ser ajustada
vLBounds = [0.001 ; 0.001 ; 0.001 ; 0.003 ; 0.003 ; 0]; vUBounds = [1 ; 1 ; 1 ; 1 ; 1 ; 0];
[v_opt, veros_opt] = fmincon(fVeros,v,[],[],[],[],vLBounds,vUBounds);
% Construção da matriz intensidade a partir do vetor intensidade
q_opt = diag(v_opt); q_opt(size(q_opt,1),:) = 0;
q_opt(:,size(q_opt,2)) = 0;
q_opt = -q_opt + circshift(q_opt,[0 1]); q=q_opt;
% disp ('A verosimilhança óptima do modelo é '); % disp(veros_opt);
disp ('A matriz intensidade óptima do modelo é'); disp(q_opt);
Calcular o índice futuro através de processos de Markov em tempo contínuo
IC=input('Escolha o indice paramétrico neste momento 0 1 2 3 4 5 = ');
% Indice das escolhas
if IC==0; prob_inicial= [1 0 0 0 0 0]; elseif IC==1; prob_inicial= [0 1 0 0 0 0]; elseif IC==2; prob_inicial= [0 0 1 0 0 0]; elseif IC==3; prob_inicial= [0 0 0 1 0 0]; elseif IC==4; prob_inicial= [0 0 0 0 1 0]; elseif IC==5; prob_inicial= [0 0 0 0 0 1]; end
n=input('Qual mês pretende determinar o índice? '); mProb=expm(q*n);
P_IC = prob_inicial * mProb;
indice_futur = P_IC * mProb * [0;1;2;3;4;5]; disp ('O indice de qualidade é')
disp (indice_futur)
Desenvolvimento em gráfico da evolução do índice no tempo
graf=questdlg('Deseja observar o desenvolvimento do índice em gráfico','Opção','Sim','Não','Sim');
switch graf case 'Sim' num_meses=200;
C_MTC = zeros(1,num_meses);
% Indice de condição da base de dados
if IC == 0; C_MTC(1,1) = 0; elseif IC == 1 C_MTC(1,1)= 1; elseif IC == 2 C_MTC(1,1)= 2; elseif IC == 3; C_MTC(1,1) = 3; elseif IC == 4; C_MTC(1,1) =4;
elseif IC == 5; C_MTC(1,1) =5; end for j=1:num_meses; mProb=expm(q*1); if j==1 vEstado=mProb((C_MTC(1,1)+1),:); else vEstado=P_IC*mProb; end
P_IC = vEstado * mProb ;
C_MTC(1,(j+1)) = P_IC * [0;1;2;3;4;5] ; end
% PLOT
axes1 =
axes('Parent',figure,'YGrid','on','XGrid','on','FontWeight','demi','FontAngle','italic'); box(axes1,'on');
hold(axes1,'all'); plot(C_MTC);
title('Evolução do Indice de Qualidade'); xlabel('Tempo (meses)');
ylabel('Indice de Qualidade'); pause
case 'Não' end
Desenvolvimento em gráfico da curva média
num_meses=200;
linhas=size(dados,1);
C_ALL_MTC = zeros(linhas,num_meses+1);
% Indice de condição da base de dados
for i=1:linhas C_ALL_MTC(i,1)=IC_ali(i,20); end mProb=expm(q*1); for nLinhas=1:linhas for nMeses=1:num_meses; if nMeses==1 vEstado=mProb((C_ALL_MTC(nLinhas,1)+1),:); else vEstado=P_IC*mProb; end
P_IC = vEstado * mProb ;
C_ALL_MTC(nLinhas,(nMeses+1)) = P_IC * [0;1;2;3;4;5] ; end
end
% PLOT curva média e desvio padrão
axes1 =
axes('Parent',figure,'YGrid','on','XGrid','on','FontWeight','demi','FontAngle','italic'); box(axes1,'on');
Media_ali=mean(C_ALL_MTC(:,:)); DesvPad_ali=std(C_ALL_MTC(:,:)); plot(Media_ali);
plot(DesvPad_ali);
title('Evolução do Indice de Qualidade'); xlabel('Tempo (meses)');
ylabel('Indice de Qualidade'); pause