Riassunto analitico
L'Industria 4.0 è un processo di integrazione tecnologica e ottimizzazione produttiva, che richiede l'impiego di conoscenze e metodi all'avanguardia e sempre in aggiornamento. Uno dei soggetti trainanti di questa rivoluzione è l'impiego di AGV (Automated Guided Vehicle) per la realizzazione di magazzini automatici altamente ottimizzati e sicuri. Questi mezzi richiedono importanti studi per la loro creazione e gestione, in particolare, fanno uso di un Traffic Manager, un software dedicato alla gestione dei comportamenti della flotta di AGV. Tra i vari compiti che il Traffic Manager è tenuto a risolvere vi è l'assegnamento delle missioni. Questo problema è di per se complesso, all'interno di questo tema vi sono diversi sotto problemi. In questo elaborato si è provato a risolverne uno, un problema che consiste nel riservare alcuni AGV per determinate missioni future. Affrontare il problema preso in considerazione con metodi classici è complesso, quindi, si è provato a utilizzare il Machine Learning, in specie il Deep Reinforcement Learning.
L'utilizzo di questi metodi ha richiesto uno studio dello stato dell'arte, dalla definizione del modello, algoritmi Model Based, Model Free, fino ad arrivare all'impiego di reti neurali come: DQN, Actor-Critic e PPO. Dopo una prima fase di confronto, l'ultimo algoritmo è stato testato in un ambiente d'esempio, il Knapsack Problem, per poi essere impiegato in un ambiente di simulazione che riproduce al 100\% i comportamenti di un magazzino automatizzato. L'utilizzo dell'algoritmo PPO in questo ambiente non ha portato a risultati soddisfacenti, quindi, si è andati a realizzare un ambiente ad hoc, semplificato, dove l'algoritmo ha ottenuto i risultati sperati.
Per la realizzazione di questo elaborato non si è andati a implementare direttamente gli algoritmi, ma sono stati utilizzati diversi framework di Deep Reinforcement Learning (come: Stable Baselines3, Tianshou e RLlib) e, in alcuni casi, si è andati a realizzare architetture in grado di interfacciare le simulazioni con l'algoritmo (utilizzando OpenAI Gym e REST server).
|