Descrição |
Na era da Indústria 4.0, os modelos matemáticos ganham ainda mais importância para determinar os motivos da perda de produção. Na verdade, as empresas de fabrico possuem sistemas de execução de fabrico (MES) que permitem que engenheiros e gerentes extraiam dados brutos quantitativos e em tempo real. No entanto, o seu objetivo final não é apenas identificar e analisar problemas de produção, implementar ações corretivas, mas também prever possíveis ocorrências danosas, numa perspetiva preventiva.
Este problema pretende juntar técnicas aplicadas a modelos de grafos probabilísticos com técnicas simples de machine learning para determinar causas/fatores associados a falhas em testes de produtos, utilizando dados reais de um dia de produção de uma linha de produção da Bosch Termotecnologia.
Uma linha de produção (ML) será modelada abstratamente pelo chamado Queue Direct Graph (QDG) com nós (as estações de trabalho), filas (espaços de espera) e tokens (as peças/produtos), cuja representação gráfica é dada na próxima figura, em paralelo com a representação física do processo.
Assumimos informação reduzida, o que significa que só está disponível um conjunto de dados com os seguintes campos:
Nome |
Tipo |
Descrição |
dt |
datetime |
Timestamp quando o token sai do nó |
nodeID |
string |
Identificador do nó onde o token é processado |
tokenID |
string |
Identificador do token |
measuredTime |
int |
Duração teórica do processamento em segundos |
errorId |
int |
Identificador do tipo de erro que o token teve no nó de processamento |
Os tokens processados num ML na Bosch são testados quanto à conformidade em cada nó e os resultados do teste são registrados na variável errorID. O último nó executa um conjunto extenso e complexo de etapas de teste gerando diferentes tipos de erros, então errorID pode ter valores em {0,1,2,…}. Os nós restantes podem gerar apenas dois tipos de erros com valores em {0,1}. Para simplificar, errorID=0 significa comportamento normal e os erros do último nó serão chamados de NOKs.
Tarefas 1 (esforço de 75%): Para um determinado conjunto de dados da Bosch, entenda e use Hidden Markov Chains para modelar as associações (probabilísticas) entre os erros dos nós e os NOKs. Usando o algoritmo de Viterbi, a sequência de nodeIDs esperados (que são potencialmente a origem dos problemas de erro) deve ser obtida quando uma sequência de NOKs é observada no nó final.
Tarefas 2 (esforço de 25%): Implementar um modelo de machine learning (por exemplo, usando árvores de decisão) para prever se um token falhará no teste no último nó.
Conhecimentos de matemática | Programação básica em Python, teoria básica da probabilidade, teoria dos grafos.
Colaborador industrial | P. Ramalho, AvP/MFD, Bosch TermoTecnologia, Cacia, Portugal
Coordenadores | Ângela Brochado e Eugénio Rocha, Universidade de Aveiro