Comparando redes neuronais na inferência de planos de produção
Conference Paper
Overview
Research
View All
Overview
abstract
No âmbito do projeto eLeveling System, em desenvolvimento na empresa Techwelf, o trabalho
realizado pelos autores visou dar continuidade à construção de um sistema de apoio à decisão (SAD)
para definição de planos de produção, tendo por base um histórico de quase três anos de planos de
produção e de registos de encomendas. À data, o planeamento da produção era definido com base nas
expetativas dos gestores de produção, tendo por base as encomendas das semanas anteriores.
O trabalho consistiu em analisar os dados existentes no sentido de eliminar séries temporais pouco
representativas (prototipagem, testes pré-produção e afins) e, com base nas restantes, estimar a procura
para as semanas seguintes. As estimativas são utilizadas como recomendações e associadas a um grau
de incerteza. A decisão última seria sempre do operador de produção, que aceitaria as recomendações,
ou atendendo às restrições de produção, como incapacidade de resposta dos fornecedores, existência de
stocks, gestão dos recursos humanos e afins, ajustaria o plano de produção. A mais-valia do sistema é
aproximar a produção à procura efetiva, minimizando a existência de stocks e indo de encontro à base
de funcionamento do eLeveling System – enquanto sistema push de gestão de produção.
Para o efeito testaram-se redes neuronais multicamadas Perceptron (MLP) e Long short-term memory
(LSTM). Os dados foram dispostos em janela, de modo que se estamos na semana T e queremos inferir
a produção das semanas seguintes (T+1, T+2, T+3 e T+4), a composição da janela teria as quantidades
produzidas pelas últimas três semanas e pela semana atual (T-3, T-2, T-1 e T). Isso significa que 4 valores
entram no modelo de previsão e 4 valores saem do modelo de previsão. O tamanho da janela foi obtido
experimentalmente.
Para a inferência decidiu-se que cada produto teria seu modelo de previsão, ao invés de um único modelo
para todos eles. Decidiu-se que ao normalizar os dados, para permitir a inferência de valores maiores
que máximo de produção presente nos dados, o valor máximo de normalização seria 1.2x o valor
máximo de produção nos dados. O modelo LSTM foi construído com 2 camadas de 30 neurónios, com
um dropout de 0.2 nas ligações entre camadas e a função de ativação sigmoid na saída por conta da
normalização escolhida (entre 0 e 1). Já o modelo MLP é composto por 3 camadas de 50 neurónios,
todas com ativação sigmoid, com dropout de 0.25 entre as ligações e na saída uma função de ativação
linear. Os modelos compartilham o método de otimização Adam para o treinamento com taxa de
aprendizado 0.001 (padrão do keras, framework escolhido para o desenvolvimento) e 20% dos dados de
treinamento foram utilizados para a etapa de validação. Separamos 20% dos dados das séries temporais
para testes. Para o cálculo do erro optou-se por um cálculo mensal, somando todos as 4 saídas das redes
neuronais e comparando com a soma das 4 saídas dos itens de teste. Os dados das saídas das redes
neuronais não foram suavizados para os testes.
O modelo MLP teve erro de 54%, enquanto o LSTM teve erro de 51.4%. O fraco desempenho dos dois
modelos pode ter sido causado por fatores como disposição dos dados e a pouca quantidade de amostras.
O melhor desempenho do LSTM era esperado devido à sua capacidade de lidar com o fator tempo nos
dados.
Para trabalho futuro, pensa-se em considerar características das séries temporais, treinar um modelo com
os produtos “fora de produção” e utilizar fine-tuning desse modelo para cada um dos produtos
individuais.