Escolar Documentos
Profissional Documentos
Cultura Documentos
OTIMIZAÇÃO MULTICRITÉRIO DA
CONFIGURAÇÃO DE SISTEMAS
UTILIZANDO ANÁLISE RAM
São Paulo
2015
DIOGO TELES OLIVEIRA
PAULA CYRINEU ARAUJO
Orientador:
Prof. Dr. Marcelo Ramos Martins
São Paulo
2015
Catalogação-na-publicação
Figura 1 – Forma genérica das funções F (t) e R(t) para uma dada distribuição de
probabilidade de falha de um componente . . . . . . . . . . . . . . . . 8
Figura 2 – Confiabilidade R(t) e não-confiabilidade F (t) de um componete para
um tempo de missão t a partir de sua função densidade de probabilidade
de falha f (t) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Figura 3 – Diagrama de blocos em série . . . . . . . . . . . . . . . . . . . . . . . . 10
Figura 4 – Diagrama de blocos em paralelo . . . . . . . . . . . . . . . . . . . . . . 11
Figura 5 – Configuração de um sistema em standby . . . . . . . . . . . . . . . . . 12
Figura 6 – Transição (t0 , k 0 ) → (t, k) . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Figura 7 – Transições de estado sistema versus tempo de simulação. O estado 3
está circulado como um estado de falha. Os quadrados indicam tempos
de transição e os círculos indicam estado de falha. Os trajetos traceja-
dos indicam simulações que levaram a uma falha do sistema antes de
finalizado o tempo de missão TM . . . . . . . . . . . . . . . . . . . . . . 17
Figura 8 – Procedimento para determinar a não-confiabilidade do sitema . . . . . 18
Figura 9 – Sistema em série-paralelo exemplo . . . . . . . . . . . . . . . . . . . . . 19
Figura 10 – Tempos de transição gerados para os componentes A, B e C no início
da simulação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Figura 11 – Exemplos de ranks de uma população para um problema de mximização
de f1 e f2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Figura 12 – Exemplo de um cubóide de crowding distance. Pontos preenchidos são
soluções de uma mesma frente não dominada . . . . . . . . . . . . . . 28
Figura 13 – Fluxograma da simulação de Monte Carlo sem manutenção corretiva . 32
Figura 14 – Fluxograma da simulação de Monte Carlo com manutenção corretiva . 33
Figura 15 – Estudo de caso: sistema em série-paralelo . . . . . . . . . . . . . . . . . 34
Figura 16 – Comparação entre os resultados de não disponibilidade obtidos pelo
MAROS e pelo algoritmo de Monte Carlo com 1 · 105 simulações para o
caso com manutenção corretiva . . . . . . . . . . . . . . . . . . . . . . 38
Figura 17 – Resultados de não disponibilidade para o caso de estudo com manuten-
ção corretiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Figura 18 – Esquematização do Sistema 1 . . . . . . . . . . . . . . . . . . . . . . . 40
Figura 19 – Esquematização do Sistema 2 . . . . . . . . . . . . . . . . . . . . . . . 40
Figura 20 – Estrutura de um sistema em série com redundâncias em paralelo . . . . 44
Figura 21 – Esquematização do sistema 1 . . . . . . . . . . . . . . . . . . . . . . . 49
Figura 22 – Resultados das 64 configurações com destaque para a frente de Pareto
(soluções com rank 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Figura 23 – Evolução dos indivíduos classifcados com rank 1 no algoritmo de otimização 52
Figura 24 – Indivíduos resultantes da simulação com 6 gerações . . . . . . . . . . . 52
Figura 25 – Comparação entre o resultado obtido pela otimização e pela frente de
Pareto encontrada testando todas as 64 configurações . . . . . . . . . . 53
Figura 26 – Esquematização do sistema a ser otimizado . . . . . . . . . . . . . . . 54
Figura 27 – Formato do cromossomo utilizado no algoritmo genético . . . . . . . . 55
Figura 28 – Resultado das 768 configurações possíveis . . . . . . . . . . . . . . . . 56
Figura 29 – 1a otimização. População inicial: 20, No de gerações: 10; Prob. de
mutação: 5% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Figura 30 – 2a otimização. População inicial: 20, No de gerações: 20; Prob. de
mutação: 5% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Figura 31 – 3a otimização. População inicial: 30, No de gerações: 20; Prob. de
mutação: 5% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Figura 32 – 4a otimização. População inicial: 30, No de gerações: 20; Prob. de
mutação: 10% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
a o
Figura 33 – 5 otimização. População inicial: 30, N de gerações: 30; Prob. de
mutação: 10% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Figura 34 – Função confiabilidade exponencial . . . . . . . . . . . . . . . . . . . . . 68
Figura 35 – Função de distribuição acumulada exponencial . . . . . . . . . . . . . . 68
Figura 36 – Função densidade de probabilidade exponencial . . . . . . . . . . . . . 69
Figura 37 – Função densidade de probabilidade (PDF) com média µ = 0 e desvio
padrão σ = 0, 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Figura 38 – Curva da banheira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Lista de tabelas
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 FUNDAMENTOS TEÓRICOS . . . . . . . . . . . . . . . . . . . . . 4
3.1 Análise RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.1 Conceitos, termos e definições . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.1.1 Confiabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.1.2 Mantenabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.1.3 Disponibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1.1.4 Falha e falta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 Técnicas utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.1 Confiabilidade de componentes . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.2 Diagrama de blocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.2.1 Sistemas em série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.2.2 Sistemas em paralelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.2.3 Sistemas em standby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.3 Simulação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.4 Manutenções Preventivas . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Análise de risco e confiabilidade pela simulação de Monte Carlo . . 14
3.3.1 Princípios básicos da análise de confiabilidade de um sistema . . . . . . . . 14
3.3.2 Processo de transporte de um sistema estocástico . . . . . . . . . . . . . . 15
6 CONCLUSÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
1 Introdução
Com isso, várias decisões devem ser tomadas em relação ao tipo e número de
componentes a serem utilizados na configuração do sistema. Na tentativa de se otimizar
qualquer aspecto desta configuração, deve-se estar atento a muitos objetivos (e.g. baixos
custos, altos rendimentos, alta confiabilidade, baixo risco de acidentes), que são geral-
mente conflitantes. Na literatura, várias abordagens já foram estudadas como método
dos gradientes, programação dinâmica, programação não-linear e heurísticas (TILLMAN;
HWANG; KUO, 1980; TILLMAN; HWANG; KUO, 1977). Particularmente, o problema
de alocação de redundâncias têm sido estudado extensivamente (BELLMAN; DREYFUS,
1958; FYFFE; HINES; LEE, 1968; CHERN, 1992), sendo também foco deste relatório.
Dessa forma, será utilizada uma abordagem que une o método da simulação de
Monte Carlo, para alcançar um sistema de modelagem mais realístico, com algoritmos
genéticos para se otimizar a alocação de redundâncias em relação a diferentes funções
objetivo (MARSEGUERRA; ZIO; PODOFILLINI, 2004).
Dessa forma, uma solução possível proposta por um indivíduo da população dos
GAs são os tipos de componentes do sistema e suas respectivas configurações. Em relação a
cada uma das configurações propostas, o método de Monte Carlo fornece uma ferramenta
de simulação flexível capaz de contabilizar, de uma forma relativamente simples, vários
fatores envolvidos tanto na confiabilidade do sistema quanto nos custos e receitas da planta
de produção. A função objetivo usada para medir o quão adequada é a solução proposta é
o lucro líquido da operação do sistema para um dado tempo de missão. Em cada simulação
de Monte Carlo, esse lucro é obtido computando-se a receita gerada subtraída de todos os
custos de implementação e operação, i.e. compra de componentes e custos de reparação,
custos de downtime e custos devidos a acidentes. Restrições de confiabilidade devem ser
também levadas em conta de uma forma relativamente simples. Dessa forma, o problema
torna-se uma pesquisa no espaço de configurações do sistema a fim de se encontrar a
configuração que maximiza a função objetivo (CANTONI; MASEGUERRA; ZIO, 2000).
3
2 Objetivos
• Após validado o algoritmo de Monte Carlo, o próximo passo é o estudo dos algoritmos
genéticos, método que permitirá otimizar a configuração de um sistema genérico
nos quesitos: alocação de redundâncias e políticas de manutenção preventiva. Nessa
etapa, também deverá ser implementado um algoritmo que utilize o método de
algoritmos genéticos a fim de devolver uma curva de configurações ótimas para o
sistema analisado.
4
3 Fundamentos teóricos
3.1.1.1 Confiabilidade
onde t é o tempo de missão que deve ser especificado; T é a variável aleatória que representa
o instante de falha do sistema e c1 , c2 ... as condições de operação. Nestas condições, sabe-se
que a confiabilidade é uma função decrescente com R(t) → 1 para t → 0 e R(t) → 0 para
t → +∞.
3.1.1.2 Mantenabilidade
onde t é o tempo de reparo que deve ser especificado; T é a variável aleatória que representa
o tempo consumido para realização do reparo e c1 , c2 ... as condições sob as quais a operação
de reparo é realizada. Nestas condições, sabe-se que a mantenabilidade é uma função
crescente com M (t) → 0 para t → 0 e M (t) → 1 para t → +∞.
3.1.1.3 Disponibilidade
de tempo, independentemente de ter apresentado ou não uma falha anterior e ter sido
reparado. Desta forma, a disponibilidade de um sistema em um determinado instante não
pode ser inferior à sua confiabilidade e pode ser representada, alternativamente por:
1Z t
A(t) = A(τ )dτ (3.4)
t 0
A falha (do inglês failure) deve ser entendida como a cessação da habilidade do
sistema em desempenhar a função a ele especificada enquanto que a falta (do inglês fault)
representa o estado do sistema caracterizado pela inabilidade em executar sua função.
Desta forma, a falha ocorre em um determinado instante enquanto que a falta perdura
até que a falha seja corrigida restaurando-se o sistema à condição original através de um
processo de manutenção ou reposição.
Z ∞
R(t) = f (t0 )dt0 (3.6)
t
−dR(t) dF (t)
f (t) = = (3.8)
dt dt
f (t)
λ(t) = (3.9)
R(t)
Z t
0 0
R(t) = exp − λ(t )dt (3.10)
0
Z ∞
MT T F = R(t)dt (3.11)
0
onde M T T F é definido como o tempo esperado para a efetiva falha (do inglês mean time
to failure).
onde t é o tempo decorrido sem falhas desde o início de sua operação e T é a variável
aleatória que representa o instante de falha do componente.
1
F(t)
0.8
0.6
0.4
0.2 R(t)
0
0 0.5 1 1.5 2 2.5
Figura 1: Forma genérica das funções F (t) e R(t) para uma dada distribuição de probabi-
lidade de falha de um componente
Capítulo 3. Fundamentos teóricos 9
dF (t) dR(t)
f (t) = =− (3.14)
dt dt
f(t)
0.8
0.6
confiabilidade
0.4
não-confiabilidade
0.2
0
t
t
O sistema em análise pode ser representado por uma sequência de blocos em série,
onde a falha de um único item ocasiona a falha de todo o sistema, ou por uma sequência
em paralelo, em que a configuração pode representar duas configurações distintas. Na
primeira, todos os itens do sistema operam simultaneamente enquanto que, na segunda,
apenas uma parte dos itens opera e os demais entram em operação apenas quando ocorre a
falha de um item que estava em operação. Esta última situação é referenciada na literatura
por sistema em standby.
1 2
RS = e−λS t (3.18)
1
M T T FS = (3.19)
λS
Capítulo 3. Fundamentos teóricos 11
RS = 1 − [1 − e−λt ]n (3.22)
1 1 1
M T T FS = 1 + + ... + (3.23)
λ 2 n
SS
Z t
RC (t) = R1 (t) + RSS (τ )R2standby (τ )R2 (t − τ )f1 (τ )dτ (3.24)
0
3.2.3 Simulação
O próximo passo da Análise RAM é a simulação de cada sistema. A simulação
tem como objetivo, a verificação dos resultados da disponibilidade, mantenabilidade e
confiabilidade em um período de tempo específico, baseado na modelagem definida para
Capítulo 3. Fundamentos teóricos 13
nT ≤ t < (n + 1)T
Rm (t) = R(T )n R(t − nT ) (3.25)
n = 0, 1, 2, ...
R(t) = e−λt
A taxa de falha λT (t) dá a mesma informação que a PDF e a CDF e sua integração
resulta:
Rt
FT (t) = 1 − e− 0
λT (s)ds
(3.27)
Considerando a transição genérica que ocorreu nome tempo t0 fazendo com que
o sistema entrasse na configuração k 0 . As probabilidades que governam a ocorrência da
próxima transição do sistema no tempo t que leva o sistema ao estado k é (Fig. 6):
• T (t|t0 , k 0 )dt = probabilidade condicional que o sistema faça a próxima transição entre
t + dt, dado que a transição anterior ocorreu no tempo t0 levando o sistema ao estado
k0.
Z ∞
T (t|t0 , k 0 )dt ≤ 1 (3.28)
t0
C(k|k 0 , t) = 1 C(k|k, t) = 0
X
(3.29)
k∈Ω
Figura 7: Transições de estado sistema versus tempo de simulação. O estado 3 está circulado
como um estado de falha. Os quadrados indicam tempos de transição e os círculos
indicam estado de falha. Os trajetos tracejados indicam simulações que levaram
a uma falha do sistema antes de finalizado o tempo de missão TM . (ZIO, 2013)
Em outras palavras, durante o histórico do sistema que se inicia para uma dada
configuração k 0 para um tempo t0 , os tempos de transição tij 0 →mi =1,2,...NS , para cada
i
componente i, i=1,2,...NC deixando seu estado atual ji0 para entrar no estado mi a partir
i,ji0 →mi
das correspondentes distribuições de probabilidade de tempo de transição fT (t|t0 ).
Os instantes de tempo tij 0 →mi obtidos para todos os estados mi são estão colocados em
i
continua até que a próxima transição ocorra depois de finalizado o tempo de missão, ou
seja, tmin > TM .
Será assumido que os tempos de transição destes três componentes são exponen-
cialmente distribuídos, onde λiji →mi é a taxa de transição do componente i para mudar do
estado ji para o estado mi . A tabela 1 apresenta a matriz com as taxas de transição para
os três componentes.
Componente A e B
1 2 3
A(B) A(B)
1 – λ1→2 λ1→3
A(B) A(B)
2 λ2→1 – λ2→3
A(B) A(B)
3 λ3→1 λ3→2 –
Componente C
1 2 3 4
1 – λC
1→2 λC
1→3 λC
1→4
2 λC
2→1 – λC
2→3 λC
2→4
3 λC
3→1 λC
3→2 – λC
3→4
4 λC
4→1 λC
4→2 λC
4→3 –
1
ti1→mi = t0 − i
ln(1 − Rt,1→m ) (3.31)
λi1→mi i
i
onde i=A,B,C e Rt,1→mi
é um número aleatório entre 0 e 1, uniformemente distribuído.
vezes que o sistema entrou em falha antes de terminado o tempo de missão, no caso de
não haver manutenção corretiva, ou no caso onde há manutenção, pode ser calculada
a disponbilidade média armazenando-se o tempo de downtime do sistema. A figura 10
representa os tempos de transição gerados para os três componentes no início da simulação
onde os três componentes estão inicialmente no estado 1. Os quadrados representam as
transições e os círculos os estados de falha. Percebe-se que nesse caso a transição com
menor tempo gerado é para o componente A, indo do estado 1 para o estado 3, de falha.
Para este tipo de otimização, com múltiplos objetivos, costuma-se utilizar dois
tipos de abordagem. A primeira é combinar funções objetivo individuais em uma única
função ou deixar apenas uma função como objetivo e transformar as outras funções em
restrições. No primeiro caso, a determinação de um único objetivo é possível por métodos
como a teoria da utilidade (READ, 2004) e o método de soma de pesos (KIM; WECK,
2005). Esses métodos, entretanto, se deparam com a problematização de se selecionar
propriamente os pesos ou a função de utilidade que caracterizam as preferências da tomada
de decisão. Na prática, pode ser muito difícil selecionar esses pesos com precisão, mesmo
quando há familiaridade com o domínio do problema. Um agravante é que uma pequena
perturbação nesses pesos podem causar uma grande diferença entre as soluções. Para o
caso de transformar as funções objetivos em restrições, deve se determinar um valor de
restrição para cada um desses objetivos e isso pode acabar tornando o processo muito
arbitrário. Para ambos os casos mencionados, o método de otimização não irá retornar
apenas uma solução ótima, mas sim um conjunto de boas soluções.
A frequência deve ser definida de forma a não ser muito pequena para não deixar
que genes sejam inutilizados ou nuca usados, porém não pode ser muito grande pois
irá causar muito perturbação aleatória, fazendo com que os cromossomos filhos percam
semelhança com seus pais.
3.5.2 Formulação
Assim como é tratado em Konak, Coit e Smith (2006), considera-se um problema
em deseja-se otimizar K objetivos não comensuráveis e cujo tomador de decisão não tem
uma preferência clara de um objetivo em relação a outro. Sem perda de generalidade,
todos os objetivos são do tipo de minimização - uma minimização pode ser convertida em
uma maximização, multiplicando-se por menos um.
Se todas as funções objetivo são de minimização, diz-se que uma solução possível
x domina outra solução possível y (x y), se e somente se, zi (x) ≤ zi (y) para i = 1, ..., K
e zj (x) < zj (y) para ao menos uma função objetivo j. Uma solução ótima de Pareto não é
dominada por nenhuma outra solução no domínio de soluções, o que faz com que ela não
possa ser melhorada em relação a nenhum objetivo sem piorar algum outro objetivo. O
conjunto de todas as soluções possíveis não dominadas em X constitui um conjunto ótimo
Capítulo 3. Fundamentos teóricos 25
de Pareto e seus respectivos valores para os objetivos analisados são chamados de frente
de Pareto.
• A curva de soluções deve ser a mais próxima possível da frente de Pareto. Idealmente,
o conjunto de soluções deve ser um subconjunto das soluções ótimas de Pareto;
• As soluções devem capturar todo o espectro da frente de Pareto. Ou seja, devem ser
investigadas as soluções que compõem os extremos do espaço da função objetivo
frente e assim por diante. Uma representação dessa classificação pode ser vista na figura
11, retirada de Marseguerra, Zio e Pofillini (2002).
Figura 12: Exemplo de um cubóide de crowding distance. Pontos preenchidos são soluções
de uma mesma frente não dominada (FORTIN; PARIZEAU, 2013)
Em seguida, essa nova população, que possui a população antiga mais os cro-
mossomos filhos, sofre uma nova classificação de seus indivíduos e apenas os N melhores
indivíduos são selecionados, onde N é o tamanho da população. O processo continua até
ser atingido o número desejado de gerações.
29
Neste contexto, temos a simulação de Monte Carlo, cujo funcionamento foi descrito
no capítulo anterior. A partir deste método pode-se calcular qual será a confiabilidade do
sistema, no caso de não haver nenhum tipo de manutenção, e a disponibilidade média do
sistema, neste caso com a inclusão de manutenções corretivas e/ou preventivas.
considerado neste trabalho redundâncias em stand-by, que são redundâncias passaivas que
ficam inativas enquanto um outro componente em paralelo está funcionando e só entram
em funcionamento no caso de falha de um componente. Além disso, os componentes são
independentes e não compartilham carga com suas redundâncias.
Após a primeira transição ter sido feita, o processo é repetido: são gerados os
tempos de transição para todos os componentes, inclusive para o componente que acabou
de sofrer a transição. Como este está agora em modo falha, o tempo de transição gerado
para ele é o tempo de seu reparo. Novamente, são colocados os tempos de transição
gerados em ordem crescente e é escolhido o menor tempo de transição. Ao contador
de tempo de simulação é somado esse tempo, assim como ao tempo de funcionamento
dos equipamentos que estão em funcionamento. Aqui é importante lembrar que, para
distribuições exponenciais, não é necessário saber a quanto tempo um componente está
funcionando para se gerar o seu tempo de transição, por se tratar de uma distribuição
sem memória. Entretanto, como o código permite que os componentes tenham outras
distribuições de tempo de falha e de reparo, como Weibull por exemplo, deve-se armazenar
para cada componente o tempo que este está funcionando, pois esse tempo impactará no
seu tempo de transição.
O código será dividido em duas vertentes: uma para o caso de não haver manuten-
ção corretiva e uma para o caso onde há manutenção corretiva. Ou seja, no primeiro caso,
quando há uma falha do componente, dentro do tempo de missão, o código procura se há
alguma redundância em funcionamento. Se houver, o sistema continua funcionando, porém,
se todas as redundâncias em paralelo estiverem no modo de falha, ou se um componente
que falhou não possuir redundâncias, o sistema entra em modo de falha e a simulação
termina. É contabilizado que houve falha antes do tempo de missão naquela simulação
e o tempo total de funcionamento é também guardado. Para estes casos, calcula-se a
confiabilidade do sistema, dividindo-se o número de simulações em que não houve falha
do sistema antes de finalizado o tempo de simulação pelo número total de simulações. O
algoritmo da simulação sem manutenção é mostrado na figura 13.
4.3 Validação
Após terminado o algoritmo da simulação de Monte Carlo, é necessário testá-lo e
validá-lo para garantirmos que a sua implementação foi feita corretamente e que podemos
usá-lo para o problema de otimização. Dessa forma, foi pesquisado em diversas literaturas
algum estudo de caso simples que aplicasse a simulação de Monte Carlo em situações com
e sem manutenção corretiva. Infelizmente, as referências que trazem um caso de estudo
neste contexto são poucas, e geralmente aplicam situações mais complexas que as que
estão sendo usadas neste trabalho, como por exemplo, equipes diferenciadas para cada
Capítulo 4. Simulação de Monte Carlo 34
1 2
1 0 0,005
2 0,02 0
Componente C
1 2
1 0 0,0005
2 0,03 0
onde RS (t) é a confiabilidade do sitema e RA (t), RB (t) e RC (t) são as confiabilidades dos
componentes A, B e C, respectivamente.
Como tratam-se de componentes com tempos de falha que seguem uma distribui-
ção exponencial, temos:
h A B
i C
RS (t) = 1 − (1 − e−λ1→2 t )(1 − e−λ1→2 t ) e−λ1→2 t (4.2)
Pode-se verificar pelos resultados que as simulações com tempos de missão menores
geram resultados mais apurados, ou seja com menores erros. Também verifica-se nos quatro
casos que aumentar o número de simulações não ocasiona necessariamente uma diminuição
do erro. As soluções obtidas pelas simulações tendem a oscilar em volta da solução analítica
Capítulo 4. Simulação de Monte Carlo 36
• Reparos são feitos sempre com sucesso e levam o componente a uma condição perfeita
de funcionamento (e.g., as good as new)
Tempo missão (h) MAROS MC 1 · 105 sim. Diferença (%) Tempo de simulação (s)
20 99,383 99,393 0,010 21,91
40 98,476 98,618 0,144 27,59
60 97,926 97,943 0,017 30,29
80 97,422 97,457 0,036 67,23
100 96,903 97,021 0,122 41,65
200 95,644 95,825 0,189 64,07
300 95,127 95,431 0,320 85,66
400 95,097 95,182 0,089 83,18
500 94,921 95,033 0,118 144,86
700 94,824 94,896 0,076 117,95
800 94,801 94,852 0,054 150,81
900 94,704 94,776 0,076 168,91
1000 94,686 94,745 0,062 226,98
Figura 16: Comparação entre os resultados de não disponibilidade obtidos pelo MAROS
e pelo algoritmo de Monte Carlo com 1 · 105 simulações para o caso com
manutenção corretiva
Figura 17: Resultados de não disponibilidade para o caso de estudo com manutenção
corretiva (ZIO, 2013)
Foram testados dois sistemas diferentes, mostrados nas figuras 18 e 19, cujos
parâmetros estão presentes nas tabelas 9 e 10, respectivamente.
Além disso, visando adicionar ainda mais complexidade à validação, foram limi-
tadas o número de equipes de manutenção disponíveis para 1, 2 ou 3 equipes. Neste caso,
as equipes que fazem as manutenções corretivas são as mesmas que fazem as manutenções
preventivas, e as taxas de reparo são também as mesmas.
Capítulo 4. Simulação de Monte Carlo 40
Bloco Componente Dist. Falha β α/λ Dist. reparo λ (ano) Int. manut. (ano)
Bloco Componente Dist. Falha β α Dist. reparo λ (ano) Int. manut. (ano)
Pode-se verificar a partir dos resultados que para os casos onde há manutenção
preventiva, foram encontradas discrepâncias significativos em relação ao MAROS. Após
uma investigação mais profunda do funcionamento do software, descobriu-se a forma como
é configurada a manutenção preventiva no MAROS difere das premissas de manutenção
preventivas utilizadas no algoritmo implementado:
dos componentes tende a ser alta. Entretanto, neste trabalho, os sistemas simulados são
propositalmente escolhidos para terem disponibilidades menores e com isso intervalos entre
falhas também menores, a fim de se gerar validar melhor o algoritmo com um espectro
maior de soluções.
Figura 20: Estrutura de um sistema em série com redundâncias em paralelo (TIAN; ZUO,
2006)
• Custos de reparo
onde
Z TM
P = Pt D(t)dt (5.2)
0
NC
X
CA = Cj (5.3)
j=1
NC
X Z TM
CR = CRj IRj (t)dt (5.4)
j=1 0
Z TM
CD = C U [1 − A(t)] dt (5.5)
0
5.2 Algoritmo
Foi desenvolvido um código em Matlab que visa a otimização da confiuração de
um sistema genérico unindo-se a simulação de Monte Carlo, implementada na primeira
fase deste trabalho, com o método de algoritmos genéticos NSGA-II.
Dentre os parâmetros que podem ser otimizados pelo algoritmo estão o número
de redundâncias de cada componente, o número de equipes de manutenção disponíveis e o
intervalo entre manutenções preventivas de cada componente. Em uma primeira etapa
de validação do algoritmo, será otimizado apenas o número de redundâncias de cada nó,
considerando-se então que o número de equipes de manutenção é ilimitado e que não há
Capítulo 5. Otimização por algoritmos genéticos 47
Dessa forma, tem-se que o cromossomo possui como genes apenas o número de
redundâncias de cada subsistema, o que faz com que seu tamanho seja igual a n.
5.3 Validação
A validação para o algoritmo implementado foi feito com dois estudos de caso. O
primeiro visa otimizar apenas a alocação de redundâncias de um sistema com três compo-
nentes em série, sem manutenção preventiva e com equipes ilimitadas para manutenção
corretiva. O segundo estudo de caso otimiza o tipo de componente que deve ser utilizado,
a utilização de redundância, os intervalos de manutenção preventiva e o número de equipes
de manutenção.
Para o caso de estudo, tem-se um sistema simples com 3 nós, sendo que cada nó
pode ter no máximo 4 componentes em paralelo (3 redundâncias), o que gera um total
de 64 configurações possíveis. Para este caso, todos os componentes têm taxas de falha
Capítulo 5. Otimização por algoritmos genéticos 49
Parâmetro Valor
Figura 22: Resultados das 64 configurações com destaque para a frente de Pareto (soluções
com rank 1)
A otimização por algoritmo genético foi simulada com uma população inicial de
20 indivíduos e 6 gerações, como mostra a tabela 14. A figura 23 apresenta a evolução dos
cromossomos classificados com rank 1 para o algoritmo de otimização. Pode-se verificar,
por exemplo, que algumas configurações se mantêm com a evolução das gerações. A 1a
geração, em amarelo, não aparece, pois todas as suas configurações pelo menos em uma
geração posterior.
Capítulo 5. Otimização por algoritmos genéticos 52
Figura 23: Evolução dos indivíduos classifcados com rank 1 no algoritmo de otimização
Figura 25: Comparação entre o resultado obtido pela otimização e pela frente de Pareto
encontrada testando todas as 64 configurações
Dessa forma, foi escolhido um sistema com três componentes em série (figura 26),
sendo que cada componente pode ter uma redundância ou não e o primeiro e o terceiro
componente podem ser de dois tipos diferentes, como mostra a tabela 15. Além disso,
pode-se escolher se o sistema terá manutenção preventiva ou não. Em caso afirmativo,
há duas opções de intervalos de manutenção preventiva. Por fim, pode se escolher se o
sistema terá uma, duas ou três equipes de manutenção. O tempo de missão do sistema é
de 1000 horas.
Componente Distribuição MTTF (h) λ ou α β Distribuição MTTR (h) λ Distribuição Intervalo (h) λ MTTR (h)
Custos
Manutenção Manutenção
Componente Aquisição ($)
corretiva ($ h ) preventiva ($ h−1 )
−1
Parâmetro Valor
vermelho são relativos às soluções não dominadas (com rank 1). A simulação levou um
tempo total de 52min32s.
Figura 29: 1a otimização. População inicial: 20, No de gerações: 10; Prob. de mutação: 5%
Tabela 19: 1a otimização. População inicial: 20, No de gerações: 10; Prob. de mutação: 5%
T1 T2 T3 Preventiva (S/N) R1 R2 R3 P rev1 P rev2 P rev3 Equipes Dsiponibilidade (%) Lucro
Figura 30: 2a otimização. População inicial: 20, No de gerações: 20; Prob. de mutação: 5%
Tabela 20: 2a otimização. População inicial: 20, No de gerações: 20; Prob. de mutação: 5%
T1 T2 T3 Preventiva (S/N) R1 R2 R3 P rev1 P rev2 P rev3 Equipes Dsiponibilidade (%) Lucro
Figura 31: 3a otimização. População inicial: 30, No de gerações: 20; Prob. de mutação: 5%
Tabela 21: 3a otimização. População inicial: 30, No de gerações: 20; Prob. de mutação: 5%
T1 T2 T3 Preventiva (S/N) R1 R2 R3 P rev1 P rev2 P rev3 Equipes Dsiponibilidade (%) Lucro
Figura 32: 4a otimização. População inicial: 30, No de gerações: 20; Prob. de mutação:
10%
Tabela 22: 4a otimização. População inicial: 30, No de gerações: 20; Prob. de mutação:
10%
T1 T2 T3 Preventiva (S/N) R1 R2 R3 P rev1 P rev2 P rev3 Equipes Dsiponibilidade (%) Lucro
Por fim, foi realizada uma última simulação com população inicial de 30 indivíduos,
30 gerações e probabilidade de mutação 10%. O tempo total de simulação foi de 14min05s.
Os resultados estão presentes na figura 33 e na tabela 23.
Capítulo 5. Otimização por algoritmos genéticos 62
Figura 33: 5a otimização. População inicial: 30, No de gerações: 30; Prob. de mutação:
10%
Tabela 23: 5a otimização. População inicial: 30, No de gerações: 30; Prob. de mutação:
10%
T1 T2 T3 Preventiva (S/N) R1 R2 R3 P rev1 P rev2 P rev3 Equipes Dsiponibilidade (%) Lucro
6 Conclusões
Com isso, pode-se afirmar que esse trabalho é uma base sólida para um estudo
mais aprofundado da otimização multiobjetivo, em que sistemas maiores e mais complexos
podem vir a ser simulados e otimizados.
65
Referências
CANTONI, M.; MASEGUERRA, M.; ZIO, E. Genetic algorithms and monte carlo
simulation for optimal plant design. Reliability Engineering and System Safety, 2000.
Citado 4 vezes nas páginas 1, 2, 44 e 48.
DEB, K. et al. A fast elitist multi- objective genetic algorithm: Nsga-ii. IEEE Transactions
on Evolutionary Computation, v. 6, n. 2, p. 182–197, 2002. Citado 2 vezes nas páginas 26
e 48.
FOGEL, D.; GHOZEIL, A. Using fitness distributions to design more efficient evolutionary
computations. In: Proceedings of IEEE International Conference on Evolutionary
Computation, 1996. [S.l.: s.n.], 1996. Citado na página 22.
FYFFE, D.; HINES, W.; LEE, N. System reliability allocation and a computational
algorithm. IEEE Trans Reliability, 1968. Citado na página 1.
GEN, M.; R, C. Genetic algorithms and engineering desing. [S.l.]: John Wiley & Sons,
1197. Citado na página 22.
KIM, I. Y.; WECK, O. L. de. Adaptive weighted-sum method for bi-objective optimization:
Pareto front generation. Structural and Multidisciplinary Optimization, v. 29, n. 2, p.
149–158, 2005. Citado na página 21.
KONAK, A.; COIT, D.; SMITH, A. Multi-objective optimization using genetic algorithms:
A tutorial. Reliability Engineering and System Safety, 2006. Citado na página 24.
RAO, K. D. et al. Dynamic fault tree analysis using monte carlo simulation in a
probabilistic safety assesment. Relaibility Engineering and Safety System, 2009. Citado
na página 14.
TIAN, Z.; ZUO, M. Redundancy allocation for multi-state systems using physical
programming and genetic algorithms. Reliability Engineering and System Safety, 2006.
Citado na página 44.
TILLMAN, F.; HWANG, C.; KUO, W. Optimization techniques for system reliability
with redundancy: a review. IEEE Trans Reliability, 1977. Citado na página 1.
ZIO, E. The Monte Carlo Simulation Method for System Reliability and Risk Analysis.
[S.l.]: Springer-Verlag London, 2013. Citado 11 vezes nas páginas 14, 16, 17, 18, 19, 20,
34, 36, 37, 38 e 39.
consequentemente,
F (t) = 1 − e−λt (A.2)
e o desvio padrão é 1/λ= MTTF. Isso implica que a variabilidade do tempo de falha
aumenta conforme a confiabilidade (MTTF) também aumenta.
R(t)
1.2
1 λ
0.25
0.8 1.00
5.00
0.6
0.4
0.2
0 t
0 1 2 3 4
F(t)
1.2
0.8
0.6
λ
0.4
0.25
1.00
0.2
5.00
0 t
0 1 2 3 4
f(t)
6
λ
2
1.0
2.5
1
5.0
0 t
0 0.5 1 1.5 2
" #
1 1 (t − µ)2
f (t) = √ exp − −∞<t<∞ (A.6)
2πσ 2 σ2
onde os parâmetros µ e σ 2 são a média e a variância da distribuição, respectivamente.
f(t)
0.8
0.6
0.4
0.2
0
-3 -2 -1 0 1 2 3
t
Figura 37: Função densidade de probabilidade (PDF) com média µ = 0 e desvio padrão
σ = 0, 5
!β−1 0 β
Z ∞
β t0 − t
t β
R(t) = e α
dt0 = e−( α ) (A.8)
t α α
!β−1 0 β
Z t
β t0 − t
t β
F (t) = e α
dt0 = 1 − e−( α ) (A.9)
0 α α
β−1
f (t) β t
λ(t) = = (A.10)
R(t) α α
Conclui-se que λ(t) decresce com o tempo para 0 < β < 1; λ(t) é crescente com
o tempo para β > 1; λ(t) é constante e igual a 1/α para β = 1, e; para 3 < β < 4, a
distribuição tende a uma distribuição normal.