• Nenhum resultado encontrado

"Deep Reinforcement Learning" na Otimização de Políticas de Encaminhamento na Manufatura

N/A
N/A
Protected

Academic year: 2021

Share ""Deep Reinforcement Learning" na Otimização de Políticas de Encaminhamento na Manufatura"

Copied!
171
0
0

Texto

(1)

Gonçalo António Martins Biscaia

Licenciado em Ciências de Engenharia Eletrotécnica e de Computadores

"Deep Reinforcement Learning" na Otimização

de Políticas de Encaminhamento na Manufatura

Dissertação para obtenção do Grau de Mestre em Engenharia Eletrotécnica e de Computadores

Orientador: José António Barata de Oliveira, Professor Doutor, Universidade Nova de Lisboa

Co-orientador: Ricardo Silva Peres, Doutor, Universidade Nova de Lisboa

Júri

Presidente: Prof. Doutor João Carlos da Palma Goes

Arguentes: Prof. Doutor José Manuel Matos Ribeiro da Fonseca Vogais: Prof. Doutor José António Barata de Oliveira

(2)
(3)

"Deep Reinforcement Learning" na Otimização de Políticas de Encaminha-mento na Manufatura

Copyright © Gonçalo António Martins Biscaia, Faculdade de Ciências e Tecnologia, Uni-versidade NOVA de Lisboa.

A Faculdade de Ciências e Tecnologia e a Universidade NOVA de Lisboa têm o direito, perpétuo e sem limites geográficos, de arquivar e publicar esta dissertação através de exemplares impressos reproduzidos em papel ou de forma digital, ou por qualquer outro meio conhecido ou que venha a ser inventado, e de a divulgar através de repositórios científicos e de admitir a sua cópia e distribuição com objetivos educacionais ou de inves-tigação, não comerciais, desde que seja dado crédito ao autor e editor.

Este documento foi gerado utilizando o processador (pdf)LATEX, com base no template “novathesis” [1] desenvolvido no Dep. Informática da FCT-NOVA [2].

(4)
(5)
(6)
(7)

Ag r a d e c i m e n t o s

Nesta secção quero expressar os meus genuínos agradecimentos a todos os que contribuí-ram para a realização desta dissertação.

Primeiramente, quero agradecer ao Professor Doutor José Barata de Oliveira por me aceitar como seu orientando, pela sua orientação e disponibilidade e por possibilitar a realização desta dissertação na área de robótica e manufatura.

Em seguida, quero agradecer ao meu co-orientador, Mestre Ricardo Silva Peres, pela oportunidade, por todo o conhecimento transmitido e por toda a disponibilidade, apoio e dedicação. Tenho também a agradecer ao Doutor André Rocha pela disponibilidade que demonstrou na escolha do tema, bem como todo o apoio prestado.

Não posso deixar de agradecer à Universidade Nova de Lisboa, à Faculdade de Ciências e Tecnologia e a todos os docentes que acompanharam o meu percurso académico, pois foi devido a eles que me foi possível crescer tanto a nível académico, como a nível pessoal.

Um agradecimento muito especial à minha família, especialmente aos meus pais e irmã, por todo o apoio, carinho, dedicação e paciência que têm demonstrado ao longo deste percurso, porque se não fossem eles não seria possível frequentar este curso acadé-mico e realizar esta dissertação.

Um agradecimento especialíssimo a uma das pessoas mais importantes da minha vida, a minha namorada Sónia, por todo o apoio, paciência, dedicação e ajuda durante o período de desenvolvimento desta dissertação e não só.

Não posso deixar de demonstrar a minha gratidão a dois grandes amigos, Bruno Amei-xieiro e Guilherme Rolo, que me acompanharam durante o meu percurso académico, por estarem sempre disponíveis em todos os momentos e por todo o apoio que deram ao longo destes anos.

Um especial obrigado ao meu amigo Válber Cavalcanti por toda a paciência, ajuda, conhecimento transmitido e dúvidas esclarecidas.

Um muito obrigado ao Diogo Ferreira, ao Bruno Geraldo e a todos aqueles que me acompanharam, ajudaram e apoiaram no meu percurso académico.

A todos vós,

O meu mais sincero, Muito Obrigado!

(8)
(9)

R e s u m o

O mercado encontra-se cada vez mais heterogéneo e individualizado. Com isto, existe a necessidade de desenvolver sistemas de produção que consigam produzir de uma forma otimizada e eficiente, produtos cada vez mais personalizados. Porém, estes sistemas estão a tornar-se cada vez mais complexos e consequentemente, os problemas inerentes a estes.

O escalonamento da produção, de uma forma sintética, procura o fabrico de um pro-duto, através da execução de diferentes trabalhos sobre matéria-prima, dentro de um prazo estipulado, visando o uso eficiente de recursos. Um problema intrínseco ao escalo-namento da produção é a otimização de políticas de encaminhamento. A otimização de políticas de encaminhamento consiste em escolher o caminho de produção mais rápido, consoante vários fatores, como a posição de cada produto, ou quais os trabalhos ocupados num dado instante.

São inúmeros os métodos utilizados para tentar otimizar políticas de encaminhamento numa linha de produção, sendo que dois dos utilizados são heurísticas e inteligência artifi-cial, nomeadamenteReinforcement Learning (RL). Nesta dissertação é proposta a utilização

de um algoritmo deDeep Reinforcement Learning (DRL), sendo este o algoritmo Double Deep Q-Network (Double-DQN), adaptado a um ambiente multi-agente. É feita a

compa-ração de diferentes métricas, no que toca à otimização de políticas de encaminhamento, entre este algoritmo e os anteriormente referidos, em duas simulações de ambientes de produção distintos, com caraterísticas específicas, como duas ou mais zonas de trabalho iguais e diferentes escolhas de caminhos para a produção do produto. Dito isto, o objetivo é demonstrar a genericidade deste algoritmo a diferentes ambientes de produção, bem como comprovar a facilidade de o implementar em novos ambientes. Para além disto, é também provado que este é capaz de encontrar o caminho mais rápido de produção, nas simulações propostas, utilizando os algoritmos supracitados como termo de comparação. Palavras-chave: Escalonamento na Produção, Políticas de Otimização de Encaminha-mento, Inteligência Artificial, Produção, Auto-Encaminhamento

(10)
(11)

A b s t r a c t

The market is becoming more heterogeneous and individualized. As such, there is the need to develop efficient and optimized production systems able to produce, in large scale, personalized products. However, this systems are becoming more and more complex and consequently, the problems inherent to these.

Production scheduling, in a summarized way, consists in the manufacture of a product, through the execution of different jobs on raw materials, within a time period, aiming at the efficient use of resources. A problem intrinsic to the production scheduling, is the optimization of routing politics. The optimization of routing politics, consists in choosing the fastest production path, depending on various factors, like the position of each product, or which jobs are occupied in a given instant.

There are numerous methods used to try to optimized routing politics in a production line, two of which are heuristics and artificial intelligence, such as reinforcement learning.

In this master’s thesis, it is proposed the use of a DRL algorithm, namedDouble-DQN,

adapted to a multi-agent system. It will be made the comparison of different metrics, regarding the optimization of routing politics, between this method and the above, in two different simulations with unique features, such as two or more jobs of the same type, as well as different production paths that lead to the same goal. The main objective of this master’s thesis is to demonstrate the genericity of this algorithm to different production environments, as well as to prove the facility to implement it in new environments. In addition to this, it is proved that this algorithm is capable of finding the fastest production path, in the proposed simulations, using the above algorithms as a comparation term. Keywords: Production Scheduling, Optimization of Routing Politics, Artificial Intelli-gence, Production, Self-Pathing

(12)
(13)

Í n d i c e

Lista de Figuras xvii

Lista de Tabelas xxi

Listagens xxiii Glossário xxv Siglas xxvii 1 Introdução 1 1.1 Problema . . . 1 1.2 Cenário Motivador . . . 2 1.3 Questões e Hipóteses . . . 4 1.4 Estrutura do Documento . . . 5

1.5 Interpretação Geral do Trabalho Realizado . . . 6

2 Estado da Arte 9 2.1 Indústria 4.0 . . . 9

2.1.1 Papel Humano na Indústria 4.0 . . . 12

2.2 Sistemas Ciber-Físicos de Produção . . . 13

2.2.1 Arquiteturas de Sistemas Ciber-Físicos de Produção . . . 14

2.3 Sistemas Multi-Agente . . . 15

2.4 Reinforcement Learning . . . . 17

2.4.1 Q-Learning . . . . 18

2.4.2 Deep Reinforcement Learning . . . . 21

2.5 Escalonamento da Produção . . . 24

2.5.1 Heurísticas Tradicionais na Resolução de Problemas de Escalona-mento . . . 26

2.5.2 Reinforcement Learning na Resolução de Problemas de Escalonamento 28 2.5.3 Deep Reinforcement Learning na Resolução de Problemas de Escalo-namento . . . 30

(14)

3 Desenho do Sistema 33

3.1 Algoritmos Inteligentes . . . 33

3.1.1 Reinforcement Learning . . . . 33

3.1.2 Deep Reinforcement Learning . . . . 41

3.1.3 AlgoritmoA* . . . . 44

3.2 Simulação de umaJob-Shop . . . . 45

3.2.1 Sistema Multi-Agente . . . 45

3.3 Desenho da Solução . . . 46

4 Implementação 49 4.1 Ambiente de SimulaçãoMesa . . . . 49

4.1.1 Módulo de Modelação . . . 51 4.1.2 Módulo de Visualização . . . 52 4.2 Simulações . . . 53 4.2.1 Simulação 1 . . . 54 4.2.2 Simulação 2 . . . 65 4.2.3 Armazenamento de Dados . . . 74 4.3 Algoritmos . . . 74

4.3.1 AlgoritmoDouble Deep Q-Network . . . . 75

4.3.2 AlgoritmoQ-learning . . . . 89

4.3.3 Algoritmo HeurísticoA* . . . . 93

5 Resultados 97 5.1 Métricas e Cenários de Teste . . . 98

5.2 Simulação 1 . . . 99 5.2.1 Treino . . . 99 5.2.2 Cenários de Teste . . . 102 5.3 Simulação 2 . . . 109 5.3.1 Treino . . . 109 5.3.2 Cenários de Teste . . . 110

6 Conclusões e Trabalho Futuro 113 6.1 Conclusões . . . 113

6.2 Trabalho Futuro . . . 115

Bibliografia 119 I Anexos 125 I.1 ListagensMesa . . . . 125

I.2 Listagens Simulação 1 . . . 126

I.3 Listagens Simulação 2 . . . 131

(15)

Í N D I C E

(16)
(17)

L i s ta d e F i g u r a s

1.1 Representação da linha de produção A. . . 2

1.2 Representação da linha de produção A configurada para produzir os dois tipos de relógios. . . 3

1.3 Representação da linha de produção B. . . 4

2.1 Modelo RAMI 4.0, [45]. . . 11

2.2 Modelo genérico de RL. Adaptado de [15]. . . 17

2.3 Ilustração de uma lookup table à esquerda e uma aproximação de função à direita, [9]. . . 21

2.4 Figura que representa a prestação de um algoritmo DQN, comparativamente a um dos melhores algoritmos de aprendizagem linear, bem como a prestação humana, em jogos da consola Atari 2600, [22]. . . 22

3.1 Exemplo de um MDP. . . 35

3.2 Esquemático acerca do funcionamento do algoritmoQ-Learning. . . . 36

3.3 Gráfico da política epsilon − greedy. . . . 38

3.4 Exemplo de uma linha de produção simples, para a explicação do algoritmo Q-Learning. . . . 38

3.5 Primeira ação do agente no exemplo do algoritmoQ-Learning. . . . 39

3.6 Representação da ligação entre uma simulação e o algoritmoQ-learning. . . . 40

3.7 Esquemático acerca do funcionamento genérico do algoritmoDouble Deep Q-Network. . . . 42

3.8 Representação da ligação entre uma simulação e o algoritmoDouble-DQN. . 44

3.9 Esquemático representativo doCyber-Physical Production System (CPPS) pro-posto. . . 47

4.1 Exemplo da simulação 2 nobrowser. . . . 50

4.2 Fluxograma referente ao funcionamento daframework Mesa. . . . 50

4.3 Slider que permite alterar a velocidade da simulação. . . . 53

4.4 Simulação 1. . . 57

4.5 Transportadora horizontal superior, presente na simulação 1. . . 57

4.6 Pontos de decisão, presentes na simulação 1. . . 58

(18)

4.8 Transportadoras verticais para o Agente Produto Tipo 1, presente na simulação

1. . . 59

4.9 Transportadoras verticais para o Agente Produto Tipo 2, presente na simulação 1. . . 59

4.10 Transportadoras verticais para o Agente Produto Tipo 3, presente na simulação 1. . . 60

4.11 Transportadoras horizontais inferiores, presentes na simulação 1. . . 60

4.12 Diferentes tipos de recursos, presentes na simulação 1. . . 61

4.13 Direções de funcionamento das transportadoras, presentes na simulação 1. . 61

4.14 Fluxograma referente ao funcionamento do métodostop_move da simulação 1. 63 4.15 Fluxograma referente ao funcionamento do método move_pa1, relacionado com a movimentação do Agente Produto Tipo 1 na simulação 1. . . 65

4.16 Simulação 2. . . 68

4.17 Cenário real utilizado nesta dissertação. . . 69

4.18 Primeira transportadora, presente na simulação 2. . . 69

4.19 Agentes Grua e Agentes Recurso, presentes na simulação 2. . . 70

4.20 Restantes transportadoras, presentes na simulação 2. . . 71

4.21 Buffer final presente na simulação 2, representado pelos Agentes Estação Final. 71 4.22 Rota de encaminhamento do Agente Produto Tipo 2, presente na simulação 2. 72 4.23 Exemplo de uma imagem após sofrer as transformações necessárias para o treino do algoritmo. . . 82

4.24 Esquemático da CNN utilizada. . . 83

4.25 Fluxograma referente ao funcionamento do métodofind_max_q, relacionado com a escolha de ações pelos algoritmosQ-learning e Double-DQN. . . . 85

4.26 Fluxograma referente ao cálculo do valorQ, presente no método train_memory_batch. 86 4.27 Fluxograma referente ao funcionamento do métodotrain_network, relacionado com o treino do algoritmoDouble-DQN. . . . 88

4.28 Fluxograma referente à ligação entre os diferentes métodos da simulação e do algoritmoDouble-DQN. . . . 89

5.1 Recompensas acumuladas, pelos agentesQ-learning e Double-DQN, durante o treino na simulação 1. . . 100

5.2 Média de pontos, de 1000 em 1000 iterações, realizados pelos agentes Q-learning e Double-DQN, durante o treino na simulação 1. . . . 102

5.3 Média de pontos, de 50 em 50 iterações, realizados pelos agentesDouble-DQN, Q-learning e A*, no cenário de teste 1 na simulação 1. . . . 103

5.4 Média de pontos, de 50 em 50 iterações, realizados pelos agentesDouble-DQN, Q-learning e A*, no cenário de teste 2 na simulação 1. . . . 105

5.5 Média de pontos, de 50 em 50 iterações, realizados pelos agentesDouble-DQN eQ-learning, no cenário de teste 3 na simulação 1. . . . 106

(19)

L i s t a d e F i g u r a s

5.6 Média de pontos, de 50 em 50 iterações, realizados pelos agentesDouble-DQN, Q-learning e A*, no cenário de teste 4 na simulação 1. . . . 108 5.7 Recompensa acumulada, pelo agenteDouble-DQN, durante o treino na

simu-lação 2. . . 109 5.8 Média de pontos, de 100 em 100 iterações, realizados pelo agenteDouble-DQN,

durante o treino na simulação 2. . . 110 5.9 Pontuação realizada pelo agenteDouble-DQN, durante o cenário de teste 1 na

simulação 2. . . 111 5.10 Pontuação realizada pelo agenteDouble-DQN, durante o cenário de teste 2 na

(20)
(21)

L i s ta d e Ta b e l a s

3.1 Inicialização da tabelaQ. . . . 39

3.2 Alteração da tabelaQ, após a primeira ação. . . . 40

4.1 Agentes Produto e as suas caraterísticas para a simulação 1. . . 55

4.2 Agentes Produto e a sua ordem de produção para a simulação 1. . . 55

4.3 Agentes Inativos presentes na simulação 1 e as suas caraterísticas. . . 56

4.4 Operações executadas pelos recursos da simulação 1. . . 56

4.5 Agentes Produto e as suas caraterísticas para a simulação 2. . . 66

4.6 Agentes Produto e a sua ordem de produção para a simulação 2. . . 66

4.7 Agentes Inativos presentes na simulação 2 e as suas caraterísticas. . . 67

4.8 Operações executadas pelos recursos da simulação 2. . . 67

4.9 Recompensas do algoritmoDouble-DQN para a simulação 1. . . . 76

4.10 Parâmetros de treino do algoritmoDouble-DQN para a simulação 1. . . . 78

4.11 Recompensas do algoritmoDouble-DQN para a simulação 1. . . . 79

4.12 Parâmetros de treino do algoritmoDouble-DQN para a simulação 2. . . . 80

4.13 Inicialização da tabelaQ utilizada para treinar o agente Q-learning na simula-ção 1. . . 90

4.14 TabelaQ preenchida após o treino do agente RL. . . . 91

(22)
(23)

L i s ta g e n s

4.1 Inicialização do executávelchromedriver . . . . 81 4.2 Variável HTML do ambiente e métodoplay_pause_model . . . . 81 4.3 Criação da tabelaQ . . . . 93 4.4 Matriz referente ao ambiente de simulação 1 . . . 94 I.1 Exemplo da classeModel e classe Agent . . . . 125 I.2 Exemplo da classeModularVisualization e classe Modules . . . . 126 I.3 Implementação das caraterísticas visuais de alguns agentes da simulação 1 126 I.4 Instanciação de alguns agentes da simulação 1 . . . 127 I.5 Excerto da classeModel da simulação 1 . . . . 128 I.6 Criação de alguns agentes presentes na simulação 1 . . . 128 I.7 Métodostop_move da simulação 1 . . . . 129 I.8 Métodos relacionados com a movimentação do agente produto na

simula-ção 1 . . . 129 I.9 Métodocheck_right_avail da simulação 1 . . . . 130 I.10 Métodocheck_out da simulação 1 . . . . 130 I.11 Métodomove_pa1 da simulação 1 correspondente ao movimento do Agente

Produto Tipo 1 . . . 131 I.12 Métodoget_state da simulação 1 . . . . 131 I.13 Implementação visual doEndAgent na simulação 2 . . . . 131 I.14 Métodomove_pa2 correspondente ao Agente Produto Tipo 2 presente na

simulação 2 . . . 132 I.15 Métodosave_model . . . . 133 I.16 Criação deDataFrames necessários para armazenar o primeiro grupo de

dados . . . 133 I.17 Métodos utilizados para guardar objetos e carregar ficheiros . . . 134 I.18 Métodoinit_cache . . . . 134 I.19 Métodobuildmodel . . . . 134 I.20 Métodoopen_model . . . . 135 I.21 Métodoclone_cnn . . . . 136 I.22 Métodohtml_image . . . . 136 I.23 Métodoprocess_image . . . . 136 I.24 Métodosimage_treatment/grab_image/image2video . . . . 137

(24)

I.25 Métodoinit_train_network . . . . 137 I.26 Métodofind_max_q utilizado na simulação 1 . . . . 138 I.27 Métodotrain_memory_batch . . . . 138 I.28 Excerto do métodotrain_network . . . . 139 I.29 Excerto do métodofind_max_q do algoritmo Q-learning . . . . 140 I.30 Excerto do métodotrain_network do algoritmo Q-learning . . . . 140

(25)

G l o s s á r i o

batch size Termo utilizado emmachine learning, que se refere ao número de

exem-plos de treino utilizados numa iteração .

buffer Local de uma linha de produção que tem o objetivo de armazenar a matéria-prima à espera de ser manipulada .

cloud Capacidade de guardar e aceder a informação e programas através da

internet, em vez do computador pessoal .

CNN Rede Neuronal Convolucional, ou Convolutional Neural Network em inglês, consiste numa classe deDeep Neural Networks utilizadas em

pro-cessamento de imagem, devido ao facto de possuírem camadas convo-lucionais capazes de analisar imagens ao pormenor .

digital twin Representação virtual de algo físico, como por exemplo, odigital twin

de uma transportadora física, será a sua representação virtual .

operação Definida por [27], uma operação é uma ação cujo objetivo é manipular matéria-prima, como por exemplo, soldar ou prensar. Estas operações são realizadas por diferentes tipos de máquinas, denominadas de recur-sos, que se encontram em estações específicas numa linha de produção. Podem também ser denominadas deskills em inglês .

pesos Conjunto de valores alterados pela CNN, ao longo do seu treino, que permitem realizar uma estimativa cada vez melhor do valor a prever . URL Url, ou Uniform Resource Locator, é o endereço que permite aceder a

(26)
(27)

S i g l a s

A3C Advantage Actor Critic.

ACPS Anthropocentric Cyber-Physical System.

ADI Autodidactic Iteration.

ANN Artificial Neural Network.

API Approximate Policy Iteration.

CIM Computer Integrated Manufacturing.

CNN Convolutional Neural Network.

CPPS Cyber-Physical Production System.

CPS Cyber-Physical System.

DANN Deep Artificial Neural Network.

Double-DQN Double Deep Q-Network.

DQN Deep Q-Network.

DRL Deep Reinforcement Learning.

FJSP Flexible Job-Shop Problem.

(28)

HTML Hypertext Markup Language.

I4.0 Indústria 4.0.

IA Inteligência Artificial. IoT Internet of Things.

IP Intelligent Product.

MAE Mean Absolute Error.

MDP Markov Decision Process.

ML Machine Learning.

MSE Mean Squared Error.

NSF National Science Foundation.

P-FJSP Partially-Flexible Job-Shop Problem.

PLC Programmable Logic Controller.

RAMI 4.0 Reference Architecture Model Industry 4.0.

RFID Radio Frequency Identification.

RL Reinforcement Learning.

SELSP Stochastic Economic Lot Scheduling Problem.

SF Sistema Físico.

(29)

S I G L A S

SP Service Product.

T-FJSP Total Flexible Job-Shop Problem.

(30)
(31)

C

a

p

í

t

u

l

o

1

I n t r o d u ç ã o

1.1

Problema

Estamos perante o aparecimento de um mercado heterogéneo e individualizado. Como tal é necessário alterar a indústria e desenvolver sistemas de produção que consigam criar produtos cada vez mais personalizados, de uma forma otimizada e eficiente, [7]. Assim é necessário revolucionar a manufatura e criar um novo marco industrial, a Indústria 4.0 (I4.0). Esta pretende agregar na mesma rede sistemas de produção atuais, com uma vasta combinação de sensores e atuadores, de modo a criar modelos virtuais de entidades físicas, permitindo a concessão de sistemas de produção autónomos, dinâmicos e inteligentes.

O aparecimento de um mercado cada vez mais heterogéneo, bem como a I4.0, veio aumentar a complexidade dos sistemas e consequentemente de alguns problemas já exis-tentes, nomeadamente o escalonamento da produção.

O escalonamento da produção, de uma forma sucinta, consiste no fabrico de um produto da forma mais rápida e eficiente possível, através da execução de diferentes ope-raçãos1 sobre matéria-prima, dentro de um prazo estipulado. Para responder às novas exigências do mercado, foram criados sistemas de produção que permitem o desenvol-vimento de diferentes tipos de produto, bem como o aparecimento de vários caminhos e diversos recursos que realizam o mesmo tipo de operações. Estas alterações vieram aumentar a complexidade destes sistemas e consequentemente a complexidade de pro-blemas existentes, como o escalonamento da produção. Um caso específico dos diversos problemas de escalonamento da produção, consiste na otimização de políticas de enca-minhamento, tendo em conta diversos fatores como, a posição dos restantes produtos, a

1Definida por [27], uma operação é uma ação cujo objetivo é manipular matéria-prima, como por exemplo,

soldar, prensar, entre outras. Estas operações são realizadas por diferentes tipos de máquinas, denomina-das de recursos, que se encontram em estações específicas numa linha de produção. Podem também ser denominadas deskills em inglês.

(32)

disponibilidade dos diferentes recursos, e consequentemente das diferentes operações. São inúmeras as soluções utilizadas para atenuar estes problemas. Parte delas utilizam uma arquitetura multi-agente que permite atribuir inteligência coletiva, bem como a ca-pacidade de comunicação entre os diferentes agentes de um sistema. Apesar da aplicação de uma arquitetura multi-agente ser benéfica numa linha de produção presente na I4.0 e na resolução deste tipo de problemas, [5], é também possível acrescentar inteligência individual a cada agente. A presente dissertação propõe a utilização de Inteligência Arti-ficial (IA) num Sistema Multi-Agente (SMA), através de um algoritmo de DRL, de modo a conferir inteligência individual a agentes, comparando com outras alternativas cujo propósito é o mesmo.

1.2

Cenário Motivador

Imaginemos uma linha de produção, denominada de linha de produção A, presente na figura 1.1, onde são produzidos relógios do tipo A. A matéria-prima, necessária para a produção deste tipo de relógios, é introduzida no início da linha e necessita de passar pelos recursos TA, TB e TC, de modo a produzir um relógio de tipo A. Esta linha apresenta as seguintes caraterísticas:

• um único caminho de produção,

• três tipos de recursos diferentes, denominados de TA, TB e TC, • cada recurso só consegue realizar uma operação,

• uma única estação para cada recurso.

Figura 1.1: Representação da linha de produção A.

Esta linha de produção apresenta uma desvantagem evidente, sendo esta, o facto de ser em série e como tal a matéria-prima introduzida só é manipulada quando a primeira estação, neste caso a que contém o recurso TA, se encontra livre. Isto faz com que o

(33)

1 . 2 . C E N Á R I O M O T I VA D O R

ritmo de produção seja reduzido e que seja necessário a existência de um buffer2, de modo a acumular a matéria-prima que se encontra para ser manipulada pelas diferentes máquinas. Com isto, a produção não é eficiente e o tempo de produção de cada produto, neste caso relógio, é superior.

Imaginemos agora que seria necessário produzir dois tipos de relógio nesta linha, o tipo A, referido anteriormente, e o tipo B. No entanto, para produzir um relógio do tipo Bé necessário acrescentar um novo recurso, sendo este o recurso TD, fazendo com que a matéria-prima tenha de passar pelos recursos TA, TB e TD, de modo a que o relógio do tipo Bseja produzido. Sendo assim, o problema anteriormente referido é agravado, visto que, vão passar a existir quatro estações, cada uma com um recurso, bem como um novo tipo de relógios.

Figura 1.2: Representação da linha de produção A configurada para produzir os dois tipos de relógios.

Vamos agora imaginar uma nova linha de produção, linha de produção B, presente na figura 1.3, com as seguintes caraterísticas:

• quatro caminhos de produção, dois para cada tipo de relógio,

• quatro tipos de recursos diferentes, denominados de TA, TB, TC, TD,

• quatro estações para os recursos TA e TB, e duas estações para os recursos TC e TD, • cada recurso só consegue realizar uma operação.

2Neste caso, obuffer é o local de uma linha de produção que tem o objetivo de armazenar a matéria-prima

(34)

Figura 1.3: Representação da linha de produção B.

É possível observar que existem alterações significativas entre a linha de produção A e a linha de produção B, sendo estas, o facto de existirem dois caminhos possíveis para cada relógio ser produzido e terem sido acrescentados novos recursos. Com isto, é possível efetuar uma distribuição de matéria-prima de uma forma mais eficiente e fabricar vários tipos de relógios numa só linha de produção, indo de encontro com as exigências do mercado.

Apesar da linha de produção B ser mais vantajosa em termos de distribuição de matéria-prima, esta é mais complexa no que toca ao escalonamento da produção, nomea-damente em relação às políticas de encaminhamento necessárias para distribuir, de uma forma eficiente, a matéria-prima pelos diferentes caminhos.

1.3

Questões e Hipóteses

Tendo em conta o problema anteriormente referido, bem como o cenário acima apresen-tado, algumas questões podem ser colocadas:

• Como conseguirá o produto escolher o caminho mais rápido, de modo a que seja feita uma produção eficiente?

• Que métodos podem ser utilizados para garantir inteligência individual a elementos de uma linha de produção?

• É possível garantir inteligência global através de inteligência individual?

Com base nas perguntas supracitadas, é proposta como hipótese a utilização de um algoritmo de DRL, mais especificamente o algoritmoDouble-DQN, onde, através de dois

(35)

1 . 4 . E S T R U T U R A D O D O C U M E N T O

ambientes de simulação distintos, sendo que um deles reflete um cenário real, será pro-vado que o algoritmo proposto é capaz de garantir inteligência individual a elementos de uma linha de produção, de uma forma genérica, permitindo a sua reutilização, e fácil implementação, em ambientes de manufatura diferentes.

São também propostas outras duas hipóteses, que também visam a utilização do al-goritmo acima referido, onde será provado e comparado, através de cenários de teste, métricas e outros dois algoritmos, que o algoritmo proposto possui a capacidade de esco-lher o caminho de produção mais rápido, tendo em conta a posição dos restantes produtos, visando uma produção eficiente e no menor tempo possível, bem como, através de trans-ferência de conhecimento, permitir com que a inteligência individual dada aos diferentes agentes, lhes atribua também inteligência coletiva.

1.4

Estrutura do Documento

A presente dissertação apresenta diferentes capítulos que servem como fio condutor para a explicação do trabalho realizado.

O documento encontra-se estruturado em seis capítulos, sendo estes: • Introdução,

• Estado da Arte, • Desenho do Sistema, • Implementação, • Resultados,

• Conclusões e Trabalho Futuro.

No capítulo Estado da Arte, é realizada uma revisão da literatura acerca de temas chave relacionados com o trabalho presente nesta dissertação. Primeiramente, é apresen-tada uma visão global da I4.0, começando por uma contextualização histórica da evolução industrial, onde é referido o porquê do aparecimento desta nova era industrial, seguida de uma explicação da sua estrutura, da enumeração de algumas vantagens e desvantagens e da importância do papel humano nesta nova era industrial. Seguidamente, é abordado o tema dos CPPS, começando com a explicação do que é um CPPS, os benefícios que estes podem trazer para um sistema de produção e algumas arquiteturas propostas na literatura, para estes sistemas. Posteriormente, são abordados os SMA, começando por apresentar algumas definições de agente, seguidas por certas propriedades destes sis-temas e pela apresentação de métodos para atribuir certas caraterísticas a um agente, realizando assim uma ponte para o tema seguinte. Em seguida, é abordada a definição de RL, as suas caraterísticas, problemas e respetivas soluções e o benefício da utilização de uma rede neuronal juntamente com RL. Por fim, é realizada uma explicação do que

(36)

consiste o escalonamento da produção, sendo também referenciados alguns exemplos, presentes na literatura, que utilizam heurísticas e RL ou DRL, na resolução de problemas de escalonamento.

No capítulo Desenho do Sistema, primeiramente, é explicado o conceito de RL, onde é abordada a definição deMarkov Decision Process (MDP) e referidas caraterísticas chave

que um ambiente, ou simulação, necessita de apresentar, de modo a que seja possível implementar um algoritmo de RL. Ainda no contexto de RL, é introduzido o conceito de DRL, assim como são abordados os algoritmosQ-learning, e Double-DQN, frisando as suas

principais diferenças, vantagens e desvantagens. Por fim, são apresentados os conceitos genéricos do algoritmo heurística A*. Em seguida, é abordada uma definição genérica

dejob-shop e os seus principais componentes, fazendo o enquadramento com o conceito

de SMA e os seus agentes. Por fim, é proposto um desenho genérico para uma solução, que visa a relação entre o ambiente físico e a entidade virtual, abordando o conceito de CPPS, permitindo a implementação de algoritmos inteligentes virtuais, num sistema de produção real.

O capítulo Implementação, consiste na explicação dos ambientes de simulação desen-volvidos, referindo as suas estruturas, caraterísticas e objetivos, bem como a apresentação dos parâmetros utilizados nos algoritmos propostos e a sua implementação mais deta-lhada.

No capítulo Resultados, são explicados os diferentes cenários de teste utilizados para comparar os diversos algoritmos, através de métricas, são apresentados e analisados os resultados obtidos nestes cenários e é demonstrada a genericidade do algoritmo Double-DQN, demonstrando que este é capaz de aprender as políticas ótimas para simulações

distintas, com poucas alterações na sua implementação.

Por fim, no capítulo Conclusões e Trabalho Futuro, é averiguado se foi possível res-ponder às perguntas propostas, através da hipótese apresentada, bem como formular uma conclusão acerca do trabalho desenvolvido e apresentar alternativas para trabalho futuro, desde otimizações ao algoritmo proposto, até novas implementações de algoritmos de DRL num ambiente de produção.

1.5

Interpretação Geral do Trabalho Realizado

Na presente dissertação são apresentadas duas simulações baseadas num SMA. O objetivo destas simulações é representar linhas de produção e os seus componentes principais, utilizando agentes, bem como servirem de ambiente para treinar e testar os diferentes algoritmos apresentados.

A primeira simulação tem como objetivo comparar o desempenho de três algoritmos, através de cenários de teste e métricas, relativamente ao encaminhamento de produtos, de modo a serem produzidos o mais rapidamente possível.

(37)

1 . 5 . I N T E R P R E TAÇ ÃO G E R A L D O T R A BA L H O R E A L I Z A D O

objetivo é demonstrar que o algoritmo proposto nesta dissertação é genérico e fácil de im-plementar em diferentes ambientes de produção, bem como comprovar a importância de umdigital twin nesta implementação. Através da utilização de um digital twin é possível

treinar o algoritmo emoffline, onde posteriormente, tanto o digital twin como o algoritmo,

são utilizados para controlar a linha de produção real. Desta forma, a linha de produção real não é afetada durante o treino do algoritmo, não sendo necessário parar a produção. Nestas simulações existem locais específicos onde os agentes podem tomar decisões, consoante o caminho que querem tomar, de modo a serem produzidos. Para além dos pro-dutos, são também representados outros componentes chave de uma linha de produção, como por exemplo as transportadoras.

Após o desenvolvimento das simulações, foram criados três algoritmos, sendo estes o algoritmoDouble-DQN, o algoritmo Q-learning e o algoritmo heurístico A*. Os algoritmos

supracitados foram testados na primeira simulação, sendo que os algoritmosDouble-DQN

eQ-learning necessitaram de ser submetidos a um treino, antes de serem testados. Por

sua vez, na segunda simulação só foi treinado e testado o algoritmoDouble-DQN.

Ao longo do desenvolvimento deste projeto, poderá ser criado um artigo científico com base na implementação e resultados obtidos.

(38)
(39)

C

a

p

í

t

u

l

o

2

E s ta d o da A rt e

Atualmente estamos perante uma evolução tecnológica acentuada. Com a evolução dos componentes físicos, nomeadamente memórias, processadores, componentes de proces-samento gráfico, entre muitos outros, foi possível criar e otimizar algoritmos computacio-nais, de tal forma que hoje em dia é possível atribuir inteligência, capacidade de tomada de decisão e dinamismo a sistemas que outrora eram estáticos e não possuíam qualquer tipo de inteligência. A respeito da manufatura industrial, esta foi também afetada por estes atributos, permitindo a criação de sistemas e fábricas com as características supraci-tadas.

Na manufatura industrial estas alterações são vantajosas, pois permitem alterar o modo de funcionamento das indústrias e fábricas, no entanto vêm tornar os sistemas e alguns problemas já existentes na manufatura mais complexos. Sendo assim, o foco desta revisão de literatura recai sobre alguns problemas desta temática, mais especifica-mente sobre os problemas de escalonamento de produção e otimização de políticas de encaminhamento.

2.1

Indústria 4.0

Ao longo dos anos houve uma acentuada evolução no que toca à indústria e manufatura. Esta evolução foi marcada por diferentes marcos, denominados de revoluções industriais. As revoluções industriais são caraterizadas pela descoberta de novos métodos que pos-sibilitam a otimização e evolução do processo de manufatura e, consequentemente, da indústria.

Desde o século XVIII ao século XX existiram três revoluções industriais. Segundo, [17], a primeira revolução ficou marcada pelo aparecimento das primeiras máquinas, transformando uma indústria outrora artesanal, numa indústria mecanizada, onde era

(40)

predominante o uso da máquina a vapor, permitindo o aumento da velocidade de produ-ção. A segunda, por sua vez, ficou marcada pelo aparecimento das máquinas a combustão e pela utilização da energia elétrica, fazendo com que fosse possível produzir em massa e criar linhas de montagem. O aparecimento dos computadores, da digitalização e da automação, marcou a terceira revolução industrial.

O termo I4.0 foi inicialmente proposto em 2011 pelo governo Alemão, de modo a desenvolver a sua economia, [19], bem como, segundo os autores em [54], ser utilizado para aplicar três fatores interconectados, sendo estes:

• digitalização e integração de qualquer relação técnica e económica simples para redes técnicas e económicas complexas,

• digitalização de produtos e serviços, • novos modelos de mercado.

De acordo com [17], esta nova revolução industrial permite o aparecimento de uma indústria descentralizada e flexível, onde é possível o fabrico de produtos personalizados, permitindo um aumento da eficiência económica e ecológica. Para tal acontecer, é atri-buída às máquinas a capacidade de comunicar e tomar decisões, tornando-as inteligentes e cientes do seu estado de funcionamento e produção, [23]. Isto só é possível através da utilização de inúmeras tecnologias nomeadamente, Cyber-Physical System (CPS), Radio Frequency Identification (RFID), Internet of Things (IoT) e utilização da cloud1, [19].

Instituições e empresas alemãs desenvolveram e publicaram um modelo capaz de representar todos os constituintes de um sistema de produção complexo, como o que é proposto na I4.0. Este modelo é denominado deReference Architecture Model Industry 4.0

(RAMI 4.0) e consiste num modelo em três dimensões, que permite distribuir os diferentes componentes do processo de produção de um produto, por dois eixos, sendo estes um eixo vertical e um eixo horizontal. O eixo vertical é composto por diferentes camadas, sendo estas:

• camada dos componentes físicos, sendo esta uma camada que representa a reali-dade, tais como ideias, arquivos, documentos, o ser humano, entre outros e encontra-se interligada com a componente virtual através da camada de integração,

• camada de integração, que tem como objetivo fornecer informação acerca dos com-ponentes físicos, de forma a ser utilizada em processamento computacional,

• camada de comunicação, cuja função é providenciar uma comunicação genérica entre os componentes,

(41)

2 . 1 . I N D Ú S T R I A 4 . 0

• camada de informação, cuja função é garantir a integridade da informação, integrar diferentes tipos de dados, obter informação de melhor qualidade, receber e trans-formar eventos, de modo a que estes sejam compatíveis com a informação presente nas camadas mais elevadas,

• camada funcional, tem como objetivo criar uma plataforma para integrar horizon-talmente diferentes funções, bem como criar regras e decisões lógicas,

• camada de negócio, garante a integridade das funções relacionadas com o fluxo de valor, bem como mapear modelos de negócios e interligar outros processos relacio-nados com o negócio.

O eixo horizontal por sua vez é dividido pela parte esquerda e pela parte direita. A parte esquerda do eixo representa o ciclo de vida de cada produto, nomeadamente o tipo de cada produto ou máquina envolvendo odesign, desenvolvimento e teste de protótipos

e a instância de cada produto, ou seja, a representação de cada tipo de produto, após este ter sido produzido em massa. A parte direita do eixo representa todos os sistemas e máquinas flexíveis com funções distribuídas ao longo de toda a rede, capazes de interagir e comunicar ao longo de todos os níveis hierárquicos, [54].

Figura 2.1: Modelo RAMI 4.0, [45].

Segundo [56], o paradigma da I4.0 é definido por três dimensões de integração, no-meadamente, a integração horizontal, a integração vertical e a integração end-to-end.

(42)

A integração horizontal consiste na incorporação entre um recurso e uma rede de infor-mação dentro da cadeia de valor, de modo a permitir uma cooperação total entre várias empresas, proporcionando um produto e serviço em tempo real. A integração vertical, por sua vez, integra numa só rede todos os sistemas de manufatura presentes numa fábrica inteligente, permitindo que a manufatura seja personalizada e dinâmica, em alternativa aos sistemas de produção tradicionais. Por fim, a integração end-to-end permite uma integração ao longo de toda a cadeia de valor, sendo esta implementada na premissa de que todos os terminais possuem uma cadeia de valor digital, incorporando diferentes empresas.

O objetivo principal da I4.0 é permitir o fabrico de produtos cada vez mais personali-zados, de modo a preencher um mercado cada vez mais heterogéneo e ao mesmo tempo otimizar e melhorar o tempo, custo e modo de produção destes, [46].

Apesar de todas as vantagens e avanços supracitados, a I4.0 ainda apresenta alguns desafios e problemas. De acordo com [46], os sistemas ainda não apresentam as capa-cidades sociais e autonomia necessária para se tornarem totalmente independentes, a modelação de sistemas auto-sustentáveis ainda se encontra demasiado complexa, a inter-ligação de todos estes sistemas numa só rede está sujeita a ataques informáticos, sendo que atualmente ainda não existem protocolos de segurança suficientes para prevenir es-tes ataques e por último, é necessário um grande investimento por parte da indústria, de modo a implementar todos estes sistemas e tecnologias. [31] defendem que um dos maiores desafios na I4.0, é a representação e troca de informação proveniente de elemen-tos heterogéneos, sendo que o processo de generalização é considerado um dos maiores obstáculos na implementação desta nova indústria.

2.1.1 Papel Humano na Indústria 4.0

Uma das grandes preocupações presentes na I4.0 é o papel humano num ambiente al-tamente tecnológico, onde máquinas conseguem tomar decisões próprias e muitas das vezes realizar tarefas de forma mais eficiente do que um humano.

Segundo [46], a grande diferença entre a I4.0 e a Manufatura Integrada por Com-putadores, em inglês Computer Integrated Manufacturing (CIM), é o papel humano no

ambiente de produção, onde CIM é considerado um ambiente totalmente independente do papel humano, enquanto a I4.0 é considerado um ambiente onde o papel humano é importante.

Em [3], é defendida uma aprendizagem mútua no contexto da I4.0, sendo esta"(. . . ) a bidirectional process involving reciprocal exchange, dependence, action or influence within human and machine collaboration, which results in creating new meaning or concept, enriching the existing ones or improving skills and abilities in association with each group of learners.",

ou seja, um método de aprendizagem bidirecional que envolve a colaboração entre a máquina e o humano, de modo a melhorar as capacidades de cada um. Nesta abordagem são identificados dois tipos de grupos de aprendizagem, os humanos e as máquinas. A

(43)

2 . 2 . S I S T E M A S C I B E R - F Í S I C O S D E P R O D U Ç ÃO

interação e colaboração entre máquina e humano é importante para criar conceitos de aprendizagem híbridos, onde há absorção de conhecimento por ambas as partes, sendo que também é necessário ter em conta a capacidade do humano e da máquina em realizar diferentes tipos de tarefas. Neste tipo de abordagem existe a possibilidade de uma tarefa ser realizada só por um humano, só por uma máquina ou por ambos. Também está a ser estudada a possibilidade derobots aprenderem certas operações, através de machine learning, ao observarem humanos a executá-las.

Assim é possível concluir que com a I4.0 serão criados novos postos de trabalho, em que os atuais não serão destruídos mas sim transformados, existindo uma interação e simbiose entre humano-máquina, de modo a levar a produção a outro nível.

2.2

Sistemas Ciber-Físicos de Produção

O conceito de sistemas ciber-físicos, ouCyber-Physical Systems (CPS) em inglês, foi referido

pela primeira vez em 2006, num workshop organizado pela National Science Foundation

(NSF) em Austin, Texas, USA. Este termo foi definido como"(. . . ) a system composed of col-laborative entities, equipped with calculation capabilities and actors of an intensive connection with the surrounding physical world and phenomena, using and providing all together services of treatment and communication of data available on the network.", [34]. Esta definição

sig-nifica que um CPS consiste num sistema que combina uma entidade virtual que abstrai e confere inteligência a uma entidade física numa relação de um para um, criando assim umdigital twin2da componente física.

A evolução tecnológica, o aparecimento de novos sensores de custo reduzido, a cria-ção de novas formas de aquisicria-ção de dados e um mercado cada vez mais personalizado e competitivo, está a obrigar a indústria a tornar-se cada vez mais dependente da imple-mentação de altas tecnologias, [18]. Assim sendo, é possível fornecer a informação do sistema físico, adquirida por sensores, a serviços dainternet, que por sua vez atuam no

mundo físico através de atuadores, [37]. Na literatura, um CPS utilizado num sistema de produção é denominado de sistema de produção ciber-físico, ou CPPS. Um CPPS repre-senta um sistema de sistemas, de elementos autónomos e cooperativos conectados uns com os outros através de todos os níveis de produção, [34].

Em [32], é utilizado um agente baseado em CPPS para desenvolver um ambiente ca-paz de integrar o processamento e controlo de qualidade nummulti-stage manufacturing

para obter uma percentagem nula de produtos com defeito, através da integração dos componentes de umshop-floor. Nesta implementação o agente baseado em CPPS é uma

virtualização do sistema físico de produção, ou seja, de umshop-floor, que possui a

capaci-dade de receber várias regras, provenientes de camadas mais elevadas, e utilizá-las para monitorizar e controlar os parâmetros de qualidade do sistema em tempo real, de modo a obter uma percentagem nula, ou quase nula, de produtos defeituosos.

2Digital win consiste numa representação virtual de algo físico, como por exemplo, o digital twin de uma

(44)

Segundo [37], um CPPS apresenta inúmeros benefícios para um sistema de produção, nomeadamente a otimização de processos de produção, possibilidades de configuração e conhecimento das áreas de aplicação. A produção de produtos personalizados é otimi-zada, visto que, as propriedades dos produtos, custo, tempo de produção, entre outros, são conhecidos por sistemas de produção inteligentes. Utilizando CPPS é possível tornar os sistemas mais eficientes, a nível de recursos, pois é possível melhorar a alocação des-tes. Por fim, as máquinas apresentam a capacidade de seguir as instruções e velocidade dos trabalhadores humanos, o que é importante pois estes processos são centrados nos humanos.

2.2.1 Arquiteturas de Sistemas Ciber-Físicos de Produção

A implementação de CPPS em sistemas de produção, só foi possível através da criação de arquiteturas. Uma dessas arquiteturas é denominada de arquitetura de 5 níveis de CPPS (5C).

Segundo [5], a arquitetura 5C consiste num conjunto de metodologias e instruções que permitem desenvolver e inserir um CPPS num sistema de produção, atribuindo a capacidade de influenciar o sistema desde a aquisição de dados até a análise e criação final do produto. Esta arquitetura possuí cinco níveis nomeadamente, o nível de conexão, o nível de conversão, o nível computacional, o nível cognitivo e o nível de configuração.

O nível de conexão consiste na ligação de sensores a máquinas de produção, de modo a adquirir informação sobre estas, para posteriormente, através de medições precisas e protocolos de comunicação, criar uma representação virtual destas. Por sua vez, o nível de conversão está relacionado com a transformação dos valores, medidos através dos sensores, para informação viável. O nível computacional descreve um modelo, análogo à entidade física, numa entidade virtual,digital twin. O nível cognitivo apresenta a função

de sugerir ao utilizador qual a melhor ação a ser tomada, apresentando informação e dados de modo a auxiliar na tomada de decisão. Por fim, o nível de configuração permite realizar uma retroação com o mundo físico, [2].

Em [14], é proposta uma arquitetura 8C, onde são adicionadas três novas caraterís-ticas à arquitetura supracitada, sendo estas o cliente, o conteúdo e a integração. Estas permitem alargar a integração horizontal dos CPPS, bem como permitir a sua agregação a diferentes entidades.

O cliente é uma caraterística que se foca em tudo o que é afetado pelo cliente, desde o processo de produção até ao serviço pós-venda do produto. Com a utilização de fábricas inteligentes e todas estas tecnologias, é permitido ao cliente personalizar o seu próprio produto, rastrear o processo de produção e modificar especificações do produto durante a produção deste, permitindo assim uma produção que é simultaneamente personalizada e em massa. O conteúdo apresenta a função de armazenar toda a informação do produto, de modo a ser possível rastreá-lo. Através do conteúdo, é possível armazenar toda a in-formação do produto, o material utilizado, os fornecedores, os processos, os parâmetros

(45)

2 . 3 . S I S T E M A S M U LT I - AG E N T E

de produção entre muitas outras especificações do produto, bem como todos os serviços pós-venda, tais como componentes suplentes, manutenção e instruções de operação. Com todos estes dados é possível criar um ciclo de vida completo do produto, desde a sua produção até quando é reciclado. Por fim, a integração permite agregar diferentes entida-des presentes no processo de produção, sendo assim possível agendar simultaneamente diferentes linhas de produção, o que leva à produção de produtos personalizados de uma maneira temporalmente eficiente e flexível, [14].

[14] defende que ao acrescentar as três caraterísticas supracitadas à arquitetura 5C, é possível criar uma arquitetura focada tanto na integração vertical como horizontal, sendo isso benéfico tanto para a produção personalizada como para a produção em massa, fazendo ênfase ao ciclo de vida do produto.

Em [2], é definida uma nova arquitetura, que consiste na junção da arquitetura 3C com a arquitetura do Sistema Ciber-Físico Antropocêntrico, ou em inglêsAnthropocentric Cyber-Physical System (ACPS). Um ACPS é um sistema que centraliza a entidade humana,

tendo como função apresentar o nível mais alto de abstração para uma arquitetura de referência cibernética antropocêntrica (ACPA4SF) para fábricas inteligentes. O ACPS vai para lá da arquitetura clássica de CPS, tentando capturar o significado de CPS e ao mesmo tempo distinguir as relações entre as suas entidades, sendo um modelo de referên-cia para integrar os componentes principais de uma fábrica inteligente, nomeadamente, componente física, componente computacional e componente humana, sendo que esta última tem um papel importante na relação com os CPS, [33]. A nova arquitetura 3C, é baseada na arquitetura ACPS, utilizando três componentes chave nomeadamente, a componente computacional, a componente humana e a componente física. Esta utiliza também sub-elementos da arquitetura ACPS e parâmetros de ligação, tais como conecto-res e protocolos, [2].

Para sumarizar, um CPPS consiste numa representação virtual de um modelo físico, o que permite a virtualização de cada componente de uma máquina, através de dados fornecidos por sensores. Esta entidade virtual atribui à máquina certas caraterísticas, tais como tomada de decisão,consciência própria e auto predição, através da captura de

regis-tos temporais e da sintetização de passos futuros. Neste sentido, após a criação de uma entidade virtual para cada componente, é possível criar uma componente virtual para a máquina em si. Utilizando a informação recolhida pelos sensores e através das entidades virtuais, tanto dos componentes como das máquinas, é possível atribuir caraterísticas como adaptabilidade e manutenção preditiva a um sistema de produção, garantindo um sistema mais fiável com equipamento resiliente e inteligente, [5].

2.3

Sistemas Multi-Agente

Antes de compreendermos o que é um SMA, ouMulti-Agent System em inglês, é necessário

compreender o que é um agente. O termo agente é há muito utilizado na literatura e possui diversas definições. Os autores em [39] defendem que um agente é "(. . . ) a

(46)

persistent software entity dedicated to a specific purpose.", ou seja, um agente é uma entidade

desofware desenvolvida para um propósito específico.

Por sua vez, em [52] um agente é interpretado por duas definições. Na primeira um agente é considerado um sistema computacional baseado emhardware ou software e

apre-senta propriedades, como autonomia, interação social, reatividade e pro-atividade. O autor considera esta definição fraca e inconsistente. Na segunda definição, um agente é um sistema computacional, que possui todas as caraterísticas supracitadas, no entanto o seu desenvolvimento e implementação é baseado em conceitos e caraterísticas aplicadas em humanos, tentando recriar ao máximo a figura humana num sistema computacional. Atualmente segundo [12], um agente possui também duas definições, uma mais fraca e geral e outra mais consistente e específica no contexto da IA. O autor defende que, de uma forma mais heterogénea, um agente é uma entidade autónoma, que tem a capacidade de interagir com outros agentes e tomar decisões que poderão influenciar um certo ambiente. Este defende também, a existência de uma outra definição mais consistente no contexto da IA, sendo esta,"(. . . ) an Intelligent Agent (IA) is an autonomous entity that observes through sensors and acts upon an environment using actuators (i.e., it is an agent) and directs its activity towards achieving goals (. . . )", ou seja, um agente inteligente é uma entidade

autónoma cujo objetivo é alcançar uma finalidade, através da observação e atuação num sistema, utilizando sensores e atuadores. Estes possuem a capacidade de adquirirem conhecimento de modo a cumprirem os seus objetivos.

A aplicação e implementação destes agentes num sistema utópico e estático seria relativamente simples, no entanto na realidade estamos perante sistemas altamente dinâ-micos e complexos. Como tal é necessário que os agentes apresentem propriedades como reatividade, pro-atividade e interação social, referido em [52].

Estas propriedades são importantes, visto que, o agente necessita de interagir e res-ponder, em tempo real, às diferentes alterações do ambiente em que se encontram, ter a capacidade de trabalhar para um objetivo de longo prazo e conseguirem colaborar com outros agentes do sistema, de modo a concluírem uma tarefa mais complexa, [15], ori-ginando o conceito SMA. Este conceito já utilizado no século XX, é definido como um grupo de agentes que possuem a capacidade de evoluírem de forma dinâmica permitindo a coordenação das suas atividades, [25].

A atribuição destas caraterísticas a um agente pode ser feita através da aprendizagem pela experiência. Esta aprendizagem pode ser realizada utilizando técnicas demachine learning, sendo assim possível atribuir inteligência, de forma individual, aos agentes, de

modo a melhorar e otimizar um sistema onde estes já comunicavam entre si. A aprendi-zagem de um agente num sistema onde não haja conhecimento prévio do seu funciona-mento, pode ser feita através da técnica de RL. Segundo [15], RL é uma das técnicas mais adequadas para este tipo de sistemas, visto que, não necessita de conhecimento prévio de quais as ações corretas ou incorretas em cada estado. Através da interação do agente com o sistema, é possível observar-se os efeitos das suas ações no ambiente, sendo depois atribuído um sinal numérico a cada ação. O agente é então recompensado através de um

(47)

2 . 4 . REINFORCEMENT LEARNING

sinal numérico, sendo esta recompensa baseada na reação positiva do sistema à ação do agente.

2.4

Reinforcement Learning

Reinforcement learning é uma classe de machine learning que difere de outras

sub-classes, comosupervised e unsupervised learning. O processo de RL baseia-se no

compor-tamento humano, onde a experiência é adquirida através do desempenho de uma ação e da análise da resposta baseada nessa ação, sendo que respostas com efeito positivo são mais prováveis de acontecer do que aquelas que produzem um efeito negativo, após um processo de aprendizagem. Assim RL é aplicado a sistemas computacionais, de modo a ensiná-los a tomarem boas ações numa determinada situação, através da sua experiência com o ambiente em que se encontram.

Num sistema computacional, RL consiste na observação da resposta de um sistema, ou ambiente, a uma determinada ação causada por um agente, entidade que aprende e é capaz de tomar decisões. Esta ação é realizada de modo a maximizar uma recompensa escalar ou um sinal de reforço. Nesta técnica o agente necessita de descobrir quais as ações que irão originar uma maior recompensa através de tentativa e erro. Em certos casos, as ações do agente podem não só afetar a recompensa imediata, mas também todas as recompensas consecutivas, originando assim uma recompensa tardia. Tentativa e erro e recompensa tardia, são consideradas as duas caraterísticas mais importantes em RL, [42].

Figura 2.2: Modelo genérico de RL. Adaptado de [15]. Um modelo genérico de RL é constituído por:

(48)

• um conjunto de açõesA;

• um conjunto de recompensas numéricasR ∈ IR;

• uma função de transiçãoT.

De uma forma mais detalhada, em cada unidade de tempot o agente recebe, como input i, uma indicação do estado atual, stS, e o conjunto de todas as ações possíveis,

A(st), nesse estado. Em seguida, este escolhe uma ação, a ∈ A(st), e recebe, por parte do ambiente, o novo estado, st+1, e a recompensa, rt+1, sendo assim possível mapear todas as probabilidades de selecionar cada ação para um determinado estado. Este mapeamento é denominado de política do agente, denotada por πt, onde πt(s, a) corresponde à probabi-lidade do agente selecionar a açãoa no estado s no tempo t. Por outras outras palavras, é

a probabilidade de at= a se st= s, [15].

Num problema de RL, o objetivo é definido pela função de recompensa, oureward function em inglês, sendo o objetivo desta função mapear o par estado-ação do ambiente,

num só valor numérico, definindo os eventos bons e maus para o agente. Este valor numérico é denominado de recompensa e tem o propósito de indicar o quão benéfico é para o agente realizar uma certa ação num respetivo estado. O objetivo de um agente de RL é o de maximizar a recompensa total recebida a longo prazo, [15].

2.4.1 Q-Learning

Um algoritmo de RL muito conhecido é o algoritmoQ-learning. Q-learning, que também

pode ser visto como um método de programação dinâmica assíncrona, é um modelo onde não é necessário que o agente construa mapas do ambiente, visto que, este método fornece aos agentes a capacidade de aprender qual o procedimento ótimo num domínio

Markovian, [51].

Esta técnica permite atualizar, sistematicamente, a função Q(st, at), denominada de matriz Q em [6]. De notar que na literatura existem várias nomenclaturas para a função deQ-learning, sendo que nesta revisão de literatura será usada a nomenclatura Q. Esta

função contêm as probabilidades de cada ação ser escolhida num determinado estado. A particularidade deQ-learning é que permite a atualização desta função, sem possuir

qualquer conhecimento prévio do modelo do sistema. A regra para atualizar o par estado-ação (s, a), está apresentada na equestado-ação 2.1.

Q(st, at) ← Q(st, at) + α        T −t X k=0 γkrt+kQ(s t, at)        (2.1) O algoritmo deQ-learning tem como função guardar todos os estados, ações e

recom-pensas após a execução de um episódio. Após a execução do episódio terminar, os valores de Q são atualizados.

(49)

2 . 4 . REINFORCEMENT LEARNING

Algoritmo simplificado deQ-learning

Escolha do ritmo de aprendizagem α Inicialização arbitrária de Q

Execução do episódio:

Escolha de uma ação atno estado atual stde modo que at= argmaxa∈Aqπ(st, a)

Observação da recompensa rt Armazenar os valores de st, ate rt

Para cada observação do par(st, at), atualizar:

Q(st, at) ← Q(st, at) + α

hPT −t

k=0γkrt+kQ(st, at)

i

O algoritmo acima referido, apresenta algumas desvantagens. Segundo [9], cada es-tado, ação ou recompensa, observada em cada episódio, tem de ser armazenada de modo a atualizar Q no final de cada episódio, o que pode originar problemas de falta de memória, se estivermos perante um sistema com um elevado número de estados. Este algoritmo apresenta também a desvantagem de só atualizar a função Q no final de cada episódio, o que torna a aprendizagem lenta. Sendo assim, seria benéfico se fosse possível atualizar Q sempre que uma ação é escolhida e uma recompensa recebida.

As desvantagens supracitadas podem ser removidas com a utilização debootstrapping.

De acordo com [9], para entender o conceito de bootstrapping, é necessário reformular Q(st, at), tal como presente na equação 2.2.

Q(st, at) = rt+ T −t X k=1

γkrt+k (2.2)

O conceito de bootstrapping, consiste em aproximar o somatório,PT −t

k=1γkrt+k com

max

a Q(st+1, at+1), de modo a que a regra de atualização do algoritmo deQ-learning, deixe de ser calculada pela equação 2.1 e passe a ser calculada pela equação 2.3.

Q(st, at) ← Q(st, at) + α  rt+ γmax a Q(st+1, at+1) − Q(st, at)  (2.3) Utilizando o conceito debootstrapping é possível atualizar Q após cada ação, como

tal quanto mais frequentes forem as atualizações mais rápida será a aprendizagem, visto que, as atualizações poderão acontecer durante um episódio. Apesar de ser vantajosa, esta definição também apresenta um contratempo, sendo este a redução da precisão de cada atualização devido à aproximação do somatório, [9].

Quando um agente escolhe ações positivas, este tende em seguir o caminho associ-ado a essas ações, ao invés de explorar ações inexploradas. Este fenómeno é originassoci-ado porque a política do agente, πt, é gananciosa e como tal tende a escolher a ação que, à partida, origina a maior recompensa. Isto acontece porque uma ação que é conhecida por possuir uma recompensa positiva, tem mais tendência a ser escolhida do que uma ação cuja recompensa é desconhecida. No entanto com a introdução de uma nova política,

(50)

denominada de  − greedy, é possível ultrapassar esta desvantagem. Esta nova política, consiste em atribuir uma probabilidade  a cada ação para que esta seja escolhida. Para tal, sempre que o agente vai escolher uma ação, durante a fase de aprendizagem, com a probabilidade de exploração , este escolhe uma ação aleatória. Com a introdução desta aleatoriedade, é possível forçar o agente a explorar todo o ambiente.

Introduzindo o conceito debootstrapping e a política  − greedy, é possível

reformu-lar o pseudo-código anteriormente apresentado e corrigir as desvantagens do algoritmo simplificado deQ-Learning.

Algoritmo deQ-learning com bootstrapping e política  − greedy

Escolha da probabilidade de exploração  Escolha do ritmo de aprendizagem α Inicialização arbitrária de Q

Inicialização de um novo episódio e estado s0 Execução infinita:

Escolha de uma ação atno estado atual st, de acordo com a política  − greedy

Observação da recompensa rte do próximo estado st+1

Atualização de Q(s,a): Q(st, at) ← Q(st, at) + α  rt+ γmax a Q(st+1, at+1) − Q(st, at) 

Sest+1for o último estado Break

A função de Q-learning pode ser representada através de uma lookup table fashion,

ou seja, uma tabela onde o algoritmo observa cada par estado-ação e procurar o valor

Q correspondente. Com a utilização desta tabela, cada estado e cada ação têm de ser

visitados múltiplas vezes, de modo a que seja possível realizar uma atualização dos valores e originar uma boa aproximação do valorQ, sendo assim necessário que o conjunto de

pares estado-ação seja discreto e finito. A desvantagem aparece quando o sistema em questão é um sistema sem limites, contínuo no estado-espaço ou possui inúmeros estados e ações. Perante um sistema limitado mas com um grande número de estados, é muito demorado visitar todos os espaços, por sua vez perante um sistema ilimitado ou contínuo no estado-espaço é impossível visitar todos os espaços, isto porque a probabilidade de visitar novamente um estado único é zero. O método lookup table fashion é bom para

ser utilizado em sistemas discretos e pequenos, porém a sua utilização não é possível nos sistemas supracitados, como tal é necessário aproximar uma função para representar

Q(s, a), [9].

Em sistemas muito complexos, é necessário que o mapeamento do par espaço-ação para o valor Q seja condensado numa função, de modo a que seja possível utilizar RL

neste contexto. Assim, é necessário utilizar uma função de aproximação que aproxima a função Q(s,a), de modo a encontrar uma função parametrizada f (x; θ) que satisfaça

a condição f (x) ≈ f (x; θ), para prever valores Q em estados ainda não explorados. As diferenças entre alookup table e o método da função de aproximação estão presentes na

(51)

2 . 4 . REINFORCEMENT LEARNING

figura 2.3. Nesta é possível observar que nalookup table os pares xie yisão armazenados, enquanto na função de aproximação é possível obter-se uma aproximação para uminput

que passe pela função Q(s, a; θ), onde só os parâmetros θ são armazenados.

Figura 2.3: Ilustração de uma lookup table à esquerda e uma aproximação de função à

direita, [9].

As redes neuronais artificiais, ouArtificial Neural Network (ANN) em inglês, são

fun-ções parametrizadas que processam informação de uma forma semelhante às redes neu-ronais biológicas. As ANN são um grupo versátil e poderoso no que toca à aproximação de funções, onde a escolha apropriada de parâmetros faz com que estas sejam capazes de aproximar funções não lineares e complexas.

A união entre RL, mais especificamente entre os algoritmos deQ-learning acima

re-feridos e a utilização de ANN, nomeadamente Deep Artificial Neural Network (DANN),

para aproximação da funçãoQ(s,a), faz com que seja possível originar uma nova

ramifi-cação de RL, denominada deDeep Reinforcement Learning (DRL), útil para a resolução de

problemas em sistemas complexos.

2.4.2 Deep Reinforcement Learning

A técnica de RL apresenta vários tipos de algoritmos, sendo que o mais interessante para esta revisão de literatura é o algoritmoQ-learning, já referido anteriormente. Com

a união entre RL e DANN foi criado um novo algoritmo, sendo este o algoritmo Deep Q-Network (DQN). Um algoritmo poderoso, que permite a aproximação da função Q(s,a)

com a função parametrizada Q(s, a; θ), permitindo assim a sua utilização em sistemas mais complexos.

O algoritmo DQN, introduzido por [22], consiste num único algoritmo capaz de desen-volver uma grande variedade de competências para realizar diversas tarefas. Os ambientes

Referências

Documentos relacionados

The present study hypothesizes that the addition of safflower in the diets of confined lambs would reduce the emission of rumen heat and physiological

Porém, como na sala de aula não é possível alterar o layout existente para que considerado o ideal e nem a posição das janelas, e também não tem como toda atividade visual

Os prováveis resultados desta experiência são: na amostra de solo arenoso ou areia, a água irá se infiltrar mais rapidamente e terá maior gotejamento que na amostra de solo

O Presidente da Comissão do Processo Seletivo para Mestrado e Doutorado – Turma 2019 do PROGRAMA DE PÓS-GRADUAÇÃO MULTICÊNTRICO EM BIOQUÍMICA E BIOLOGIA MOLECULAR do Campus

É possível afirmar que a média dos veículos se encontram dentro dos padrões estabelecidos pelas normas da AAR, abaixo do valor de 1 polegada (1”), porém

Paciente do gênero masculino de 17 anos fez documentação ortodôntica e, em um achado radiográfico, apresentou uma lesão radiolúcida bem delimitada, medindo

O Leap Motion é um dispositivo que se limita a mapear gestos apenas com o uso das mãos, o que possibilitou o desenvolvimento de uma solução com o intuito de contribuir

Por conter em si tanta subjetividade e permitir a criação de uma imagem visual, este jogo de vai e vem repetitivo da criança não poderia ser considerado um simples