Ottimizzazione della supply chain con Python
L'ottimizzazione della supply chain sfrutta al meglio l'analisi dei dati per trovare una combinazione ottimale di fabbriche e centri di distribuzione per far corrispondere domanda e offerta.
A causa dell'attuale aumento dei costi di spedizione, le aziende iniziano a sfidare la loro attuale impronta per adattarsi al "New Normal" post-covid .
In questo articolo, presenteremo una semplice metodologia che utilizza la programmazione lineare per l'ottimizzazione della supply chain considerando
- Costi di produzione fissi delle tue strutture ($/mese)
- Costi di produzione variabili per unità prodotta ($/Unità)
- Spese di spedizione ($)
- Domanda del cliente (Unità)
Nuovi articoli direttamente nella tua casella di posta gratuitamente: Newsletter
Se preferisci guardare, puoi dare un'occhiata alla versione video di questo articolo
I. Come progettare una rete di supply chain con Python?
Dichiarazione problema
In qualità di Head of Supply Chain Management di un'azienda manifatturiera internazionale, vuoi ridefinire il Supply Chain Network per i prossimi 5 anni considerando il recente aumento dei costi di spedizione e le previsioni della domanda futura.
La tua rete di filiera
- 5 mercati in Brasile, USA, India, Giappone, Germania
- 2 tipi di impianti di produzione : siti a bassa capacità e ad alta capacità
- Costi di spedizione ($/contenitore)
- Fabbisogno del cliente (Unità/anno)
- Spese in conto capitale per le attrezzature (Macchine, Stoccaggio, ..)
- Utenze (Elettricità, Acqua, ..)
- Direzione della fabbrica, personale amministrativo
- Affitto dello spazio
Costi variabili di produzione
- Operatori di linee di produzione
- Materie prime
Costi variabili di spedizione
- Costo per contenitore ($/Contenitore)
- Ipotesi: 1 contenitore può contenere 1000 unità
Capacità produttiva per sito
Ad esempio, una fabbrica ad alta capacità in Brasile può produrre 1.500.000 (Unità/mese).
Domanda dei clienti per mercato
Puoi trovare il codice completo in questo repository Github: Collega
il mio portfolio con altri progetti: Samir Saci
II. Risultati
Proviamo tre scenari
- Scenario 1: parametri iniziali
- Scenario 2: aumentiamo la capacità produttiva dell'India (x2)
- Scenario 3: aumento dei costi di spedizione a causa della carenza di container
- L'impianto in Brasile produce per il mercato locale e per gli Stati Uniti
Facilities: 1 high capacity plant
('Brazil','Brazil') = 145,000 (Units/Month)
('Brazil','USA') = 1,250,000 (Units/Month)
Facilities: 1 high capacity plant and 1 low capacity plant
('India','Germany') = 90,000 (Units/Month)
('India','India') = 160,000 (Units/Month)
('India','Japan') = 200,000 (Units/Month)
('India','USA') = 1,550,000 (Units/Month)
Facilities: 1 high capacity plant
('Japan','Japan') = 1,500,000 (Units/Month)
Total Costs = 62,038,000 ($/Month)
Proviamo a raddoppiare le dimensioni dell'impianto ad alta capacità in India con l'ipotesi che raddoppierà i costi fissi.
- L'impianto in Brasile continua a produrre per il mercato locale e per gli Stati Uniti
Facilities: 1 high capacity plant
('Brazil','Brazil') = 145,000 (Units/Month)
('Brazil','USA') = 1,250,000 (Units/Month)
Facilities: 2 high capacity and 1 low capacity plants
('India','Germany') = 90,000 (Units/Month)
('India','India') = 160,000 (Units/Month)
('India','Japan') = 1,700,000 (Units/Month)
('India','USA') = 1,550,000 (Units/Month)
-19.4(%) vs. Scenario 1
Total Costs = 51,352,000 ($/Month)
E se avessimo i costi del container moltiplicati per 5?
- Il Brasile produce solo per il mercato locale
Facilities: 1 low capacity plant
('Brazil','Brazil') = 145,000 (Units/Month)
Facilities: 1 high capacity plant
('USA','Japan') = 200,000 (Units/Month)
('USA','USA') = 1,300,000 (Units/Month)
Facilities: 1 high capacity plant
('India','Germany') = 90,000 (Units/Month)
('India','India') = 160,000 (Units/Month)
('India','USA') = 1,500,000 (Units/Month)
Facilities: 1 high capacity plant
('Japan','Japan') = 1,500,000 (Units/Month)
Total Costs = 92,981,000 ($/Month)
Seguimi su medium per ulteriori approfondimenti relativi a Data Science for Supply Chain.
Useremo la libreria PuLP di Python. PuLP è un framework di modellazione per problemi di programmazione lineare (LP) e intera (IP) scritto in Python e gestito da COIN-OR Foundation (Computational Infrastructure for Operations Research).
1. Dichiarare le variabili, i parametri e il modello
- LpMinimize : il tuo obiettivo è minimizzare i tuoi costi
- lowBound =0: non si possono avere valori negativi di unità prodotte
3. Risolvi il tuo modello e analizza i risultati
III. Conclusione e passaggi successivi
Sentiti libero di seguirmi su medium per altri articoli relativi all'analisi dei dati e alla gestione della catena di approvvigionamento
Conclusione
Questo modello consente di simulare diversi scenari che influenzano i parametri operativi e commerciali.
- E se la domanda esplodesse in India?
- E se dovessimo chiudere il nostro stabilimento in Brasile?
- E se triplicassimo la capacità produttiva in Giappone?
Approvvigionamento sostenibile
Un approccio simile può essere utilizzato per selezionare i fornitori considerando una funzione obiettivo che ridurrà al minimo l' impronta di CO2 .
L'approvvigionamento sostenibile è il processo di integrazione dei fattori di prestazione sociale, etica e ambientale nella selezione dei fornitori.
Ciò comporta la valutazione e la valutazione dei fornitori sulla base di una serie di criteri di sostenibilità, come i diritti del lavoro, la salute e la sicurezza, l'impatto ambientale, i diritti umani e altro ancora.
Utilizza l'analisi dei dati per selezionare automaticamente il miglior fornitore con un mix di vincoli economici e ambientali
In questo articolo scopriremo come utilizzare l'analisi dei dati per progettare una rete di supply chain ottimale per ridurre al minimo i costi e gli impatti ambientali.
Migliora il tuo modello
Questo semplice modello può aiutarti a ottenere il potenziale dell'ottimizzazione lineare per l'ottimizzazione della rete della supply chain. Possiamo migliorare rapidamente questo modello aggiungendo vincoli
- I costi di stoccaggio
- Limiti delle emissioni di carbonio (CO2 = f(distanza, peso))
- Termine di consegna
- Commissioni di sdoganamento del cliente
- Cambio di valuta
Su di me
Connettiamoci su Linkedin e Twitter , sono un ingegnere della catena di approvvigionamento che utilizza l'analisi dei dati per migliorare le operazioni logistiche e ridurre i costi.
Se sei interessato a Data Analytics e Supply Chain, dai un'occhiata al mio sito web
Riferimenti
[1] Infrastruttura computazionale per la ricerca operativa, ottimizzazione con PuLP (documentazione), link

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































