PROGETTO REDIT – MAGAZZINO OTTIMIZZATO: UN APPROCCIO STRATEGICO ALL’ASSEGNAZIONE DEGLI SLOT DI STOCCAGGIO _09

3.1 Fase di assegnazione

Un presupposto iniziale è che il magazzino inizi vuoto.

Per ciascun tipo di prodotto, nel dizionario prodotti_da_allocare, viene attivato un ciclo. Diverse variabili vengono inizializzate all’inizio del ciclo, come il numero totale di unità da allocare per il tipo di prodotto corrente.

Successivamente il ciclo entra in un ciclo while, che continuerà finché verranno allocate unità di questo tipo di prodotto. All’interno di questo ciclo while, un altro ciclo for scorre i vassoi disponibili (da 1 a num_trays). L’algoritmo calcola il numero di unità da allocare per questo tipo di prodotto in ciascun vassoio.

Questo calcolo si basa su diverse condizioni, tra cui il numero massimo di unità consentite per quel tipo di prodotto, le unità rimanenti da allocare e la capacità del vassoio. Se è possibile allocare unità all’interno di quel vassoio, il programma procede a distribuire le unità di quel tipo di prodotto in quel vassoio.

Dopo l’assegnazione dei prodotti, il programma aggiorna le variabili rilevanti. Ciò comporta la riduzione del numero totale di unità da allocare e il monitoraggio dell’ultimo vassoio assegnato per il calcolo successivo. Il ciclo while continua finché tutte le unità per questo tipo di prodotto non sono state allocate o finché non è possibile allocare più unità nei vassoi. Dopo che tutte le unità per questo tipo di prodotto sono state allocate, il ciclo si ripete per il seguente tipo di prodotto nel dizionario prodotti_da_allocare.

In sintesi, il ciclo per ciascun tipo di prodotto garantisce che tutti i tipi di prodotto vengano assegnati nei vassoi in base alle condizioni specificate nell’algoritmo.

Nel caso di allocazione ottimizzata, dopo la lettura delle costanti e delle quantità di prodotti da allocare, viene letto un set di dati degli ordini passati per analizzare la correlazione dei prodotti. Questa fase prevede la creazione di un elenco di ordini e di un dizionario delle correlazioni che traccia le correlazioni tra i prodotti in base alla loro frequenza con cui vengono acquistati insieme. L’algoritmo seleziona il vassoio con il minor numero di prodotti allocati e con meno spazio rimasto, iniziando dal primo prodotto da allocare. Calcola quindi il numero di unità da allocare in base a vari criteri, come la capacità massima del vassoio e la quantità rimanente di prodotto da allocare. Se le condizioni definite sono soddisfatte, assegna le unità al vassoio selezionato e aggiorna di conseguenza la quantità rimanente.

Se il vassoio può ancora allocare prodotti aggiuntivi, l’algoritmo assegna i prodotti correlati in base alle correlazioni recuperate dal file. Ai prodotti correlati vengono applicati gli stessi criteri utilizzati per l’allocazione del prodotto primario. Il ciclo continua finché non sono state assegnate tutte le unità del tipo di prodotto selezionato, quindi passa al tipo di prodotto successivo. La configurazione finale dei prodotti nei vassoi viene stampata alla fine dell’algoritmo.

Due diverse configurazioni vengono generate applicando questi algoritmi a un set di dati generato casualmente.

Da una parte, la soluzione “Allocazione casuale” mostra i prodotti posizionati in sequenza nel vassoio 1. Dall’altra, la soluzione “Allocazione ottimizzata” mostra una configurazione in cui i prodotti A, C e F sono raggruppati nel vassoio 1.

Questa disposizione ottimizzata sfrutta le correlazioni tra i prodotti acquistati di frequente, migliorando l’efficienza e l’evasione degli ordini.

Comment on this post*

Your email address will not be published.