easyPOLI La pianificazione aggregata della produzione 2 Tutti i modelli matematici per pianificare la produzione www.easypoli.it facebook.com/easypoli [email protected] La#pianificazione#aggregata#della#produzione#–#Parte#2# ! I!modelli!per!la!pianificazione!aggregata!della!produzione!possono!essere!differenziati!e! classificati!secondo!diversi!criteri:! • In!primo!luogo!se!ne!possono!riconoscere!alcuni!che!derivano!direttamente!dai! tradizionali!modelli!di!gestione!delle!scorte,!mentre!altri!sono!stati!specificatamente! creati!per!risolvere!problematiche!legate!alla!produzione;! • Le!tipologie!di!problemi!affrontati!possono!essere!diverse:! o Produzione!mono<prodotto!e!mono<macchina:! ! Output:!quanto!produrre!per!ogni!famiglia!considerata;! ! Ottimizzazione!della!produzione!di!1!articolo!alla!volta!su!quella!certa! macchina;! ! Relazioni!tra!articoli!non!considerate.! o Produzione!multi<prodotto!e!mono<macchina:! ! Output:!quanto!produrre!per!famiglia!di!prodotti,!considerando!però! anche!la!sequenza!di!realizzazione;! ! Valutazione!di!costi!e!vincoli!del!sistema,!tra!cui!vincoli!di!capacità! produttiva.!! • Le!funzioni!obiettivo!dei!vari!modelli!possono!essere!diverse!e!considerare!differenti! tipologie!di!costi,!quali:! o Costi!di!mantenimento!a!scorta;! o Costi!di!Set!Up;! o Costi!di!produzione!in!straordinario;! o Costi!di!produzione!in!subfornitura;! o Costi!di!Stock!Out;! o …! • alcuni!modelli!possono!essere!più!adatti!di!altri!rispetto!a!determinati!valori!di! capacità!produttiva.! ! ! Modello#di#Wagner#Whitin# ! Contesto!e!ipotesi! ! • Considera!una!macchina!(modellabile!come!una!black!box)!e!un!prodotto!(o!un’unica! famiglia)!realizzabile!su!tale!macchina;! • Punta!a!minimizzare!i!costi#di#mantenimento#a#scorta!e!Set#Up;! • Lavora!a!“capacità#produttiva#infinita”!e!la!soluzione!generata!deve!necessariamente! essere!rivista!alla!luce!dei!vincoli!reali!di!capacità;! • Il!piano!della!domanda!può!essere!qualsiasi,!ma!deve!essere!noto!deterministicamente;! • Non!si!considera!il!backlog,!ma!si!può!aggiungere;! • Costo!di!produzione/acquisto!costante!nel!tempo.! ! Legenda! ! ! ! Ad!ogni!periodo,!il!costo!totale!del!piano!incrementa:! • Del!costo!di!mantenimento!a!scorta!dal!periodo!precedente,!se!la!scorta!iniziale!è! maggiore!di!zero;! • Del!costo!di!set!up,!se!produco!nel!periodo.! La!scorta!a!fine!periodo!!=! La!scorta!ad!inizio!periodo!!<! La!quantità!usata!per!la!domanda!nel!periodo!+! La!quantità!prodotta!nel!periodo.! ! ! Vincoli!per!ogni!t! ! ! ! ! Osservazioni!sulla!soluzione!ottima! ! ! In!virtù!di!queste!osservazioni,!si!ha!che!il!costo!totale!!minimo!corrispondente!ad!ogni! periodo!t!si!ottiene!esplorando!le!ipotesi!di!produrre!quanto!serve!per!il!periodo!t!in!ciascun! periodo!antecedente!j:! • Affrontando!quindi!in!j!il!costo!di!set!up;! • Mantenendo!a!scorta!le!quantità!necessarie!per!ogni!periodo!compreso!tra!j!e!t!(nel!caso!!! in!cui!j=t!il!costo!di!mantenimento!non!c’è);! ! ! ! Una!volta!calcolato!il!costo!del!piano!ottimo!(corrispondente!a!F(T)),!la!ricostruzione!del! piano!viene!effettuata!backwards:!partendo!dall’ultimo!periodo!dell’orizzonte!T!e!risalendo! fino!al!primo,!si!sceglie!di!volta!in!volta!la!soluzione!ottima!per!il!periodo!considerato.! ! Modello#di#Magee#Boodman# ! Contesto!e!ipotesi! ! • Considera!1!macchina!(modellizzabile!come!una!black!box)!e!K#prodotti!realizzabili!su! tale!macchina;! • Ipotizza!una!produzione!per!campagne!di!produzione!(in!una!di!queste!si!realizzano! in!sequenza!tutti!i!K!prodotti);! • Determina!un!numero#di#campagne#ottimale#su!base!annua!(che!equivale!a!definire! la!frequenza!di!lancio!in!produzione!e!la!dimensione!del!lotto!di!produzione)! minimizzando!la!somma!dei!costi!di!Set!Up!e!dei!costi!di!mantenimento!a!scorta;! • Il!piano!di!produzione!deve!poi!essere!determinato!sulla!base!del!numero!ottimale!di! campagne;! • Il!piano!della!domanda!deve!essere!regolare;! • È!possibile!valutare!anche!le!scorte!di!sicurezza!per!gestire!l’incertezza!della!domanda;! • Considera!il!ritmo!produttivo:!consegne#graduali!al!magazzino!di!fabbrica.! ! Legenda! ! ! Funzione!obiettivo! Bilancia!i!costi!di!set!up!e!di!mantenimento!a!scorta!nel!caso!di!domanda!stazionaria.! ! ! ! ! ! NB:!come!si!costruisce!la!formula!dei!CMS! ! 1. La!quantità!massima!Q!non!viene!mai!raggiunta!in!termini!di!scorta,!perché!il!PF!a! scorta!viene!costantemente!consumato;! 2. Raggiungo!Q’!nel!momento!in!cui!ha!termine!la!produzione!della!quantità!Q!da! approvvigionare;! 3. “d”!viene!espresso!come!domanda!annua!su!ore!totali!di!produzione;! 4. Q!è!uguale!alla!domanda!annuale!su!numero!di!campagne!annuali!(corrisponde!al!lotto! ottimale);! 5. Non!viene!considerata!la!scorta!di!sicurezza,!solo!quella!di!ciclo,!pari!a!Q’/2.!Non!si! considerano!le!scorte!di!sicurezza!perché!le!immaginiamo!indipendenti!rispetto!alla! dimensione!del!lotto!ottimale!Q!e!al!numero!di!campagne;! 6. Volendo!considerare!anche!le!scorte!di!sicurezza,!considererò!sigma!T+LT,!poiché!il! lotto!Q!viene!prodotto!ogni!periodo!T!e!il!LT!sarà!nullo!perché!riferito!al!tempo!che!il! materiale!finito!impiega!ad!arrivare!da!fine!linea!a!magazzino.! ! ! ! ! ! Il!minimo!della!funzione!obiettivo!si!ottiene!annullandone!la!derivata!fatta!rispetto!al!numero! di!campagne!svolte!n:! ! ! ! ! !!! ! !" − ! !! ! ∗ ! !!! ! ∗ !" ∗ ! ! !! ∗ 1− ! ! ! ! !∗! ! ! ! ∗ !" ∗ ! ! ∗ 1 − risolvendo!per!n!si!ottiene:! ! +!∗ ! ! !∗! ! ! !!! !=!0! ! !!! !(!)!=!0! +! ! ! ! ! ! ! ! ! ! Modello#di#Karni@Roll# ! Il!modello!nasce!come!estensione!del!modello!di!Wagner<Whitin!ad!un!contesto! multiprodotto,!in!particolare!considerando!i!vincoli!di!capacità.!Non!è!un!modello!di! ottimizzazione,!ma!un!algoritmo!euristico!che!punta!a!ottenere!una!buona!soluzione!fattibile! attraverso!un!percorso!di!miglioramento!della!soluzione!iniziale!(proposta!da!Wagner< Whitin).! ! Contesto!e!ipotesi! ! • Considera!una!macchina!(modellabile!come!una!black!box).! • Pluriprodotto# • Considera!Capacità!produttiva!limitata! ! ! • • • • • Punta!a!minimizzare!i!costi#di#mantenimento!a!scorta#e#Set#Up;! Il!piano!della!domanda!può!essere!qualsiasi,!ma!deve!essere!noto!deterministicamente;! Non!si!considera!il!backlog;! No!straordinari!e!subfornitura!(capacità!fissa).! Non!considera!i!tempi!di!Set<up! ! Logica!del!modello:!gli!shift! ! La!soluzione!offerta!dall’algoritmo!di!Wagner<Whitin!rappresenta!il!limite!inferiore!del!costo! in!quanto!soluzione!ottimale!in!assenza!di!vincoli!di!capacità.!!Se!tale!soluzione!è!fattibile! l’algoritmo!termina,!tuttavia!qualora!in!1!o!più!periodi!si!abbia!una!violazione!di!capacità,! allora!l’algoritmo!opera!degli!“shift”,!cioè!degli!spostamenti!di!quantità!da!produrre!da!un! periodo!all’altro!andando!alla!ricerca!di!una!soluzione!fattibile.!! Come%avvengono%questi%spostamenti?!Possono!essere!fatti!a!monte!del!periodo!considerato!per! cercare!di!eliminare!l’infattibilità,!oppure!a!valle!di!questo!per!cercare!di!ridurre!i!costi!di! mantenimento!a!scorta.! NB:!questi!spostamenti!a!valle!vengono!eseguiti!dall’algoritmo!per!cercare!di!compensare!i! maggiori!costi!sostenuti!poiché!ci!si!è!spostati!dalla!soluzione!ottima.! Di%quanto%devo%spostare?!Il!meno!possibile!a!monte!per!eliminare!un’infattibilità!(spostando!a! monte!aumentano!i!costi!di!mantenimento),!il!più!possibile!a!valle!(così!riduco!i!costi!di! mantenimento).!Inoltre!bisogna!considerare!anche!la!possibilità!di!effettuare!shift,!sia!a!monte! che!a!valle,!per!eliminare!eventuali!setup.! ! ! ! Costo!di!uno!Shift! ! ! ! ! ! ! ! Gli!shift!e!i!subalgoritmi! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! Programmazione#lineare# ! Idea!di!base:!minimizzare!i!costi!totali!in!modo!esplicito,!scrivendo!una!funzione!obiettivo!di! costo!totale,!esercitando!i!vincoli!del!sistema!produttivo!in!modo!da!poter!risolvere!il! problema!formulato!con!programmi!di!ottimizzazione.! ! La!programmazione!lineare!semplice! ! Contesto#e#ipotesi# # 1. Contesto!mono<macchina!(come!per!gli!altri!modelli!visti);! 2. Mono<prodotto!(nel!caso!semplice).! ! I!costi!rilevanti!da!minimizzare!sono:! 1. Mantenimento!a!scorta!dei!prodotti!(CMS);! 2. Costi!di!produzione:! a. MdO:! i. Regolare;! ii. Straordinaria;! b. Altri!costi!di!produzione:! i. Materiali;! ii. Energia.! I!costi!di!setup!(ed!i!tempi)!non!vengono!considerati!vista!la!natura!monoprodotto!del! problema.! (W<W!il!considera!poiché!nonostante!ottimizzi!il!singolo!prodotto,!tiene!conto!del!fatto!che! sulla!stessa!macchina!possono!essere!prodotte!famiglie!diverse!di!prodotti).! Non!viene!inoltre!considerata!la!possibilità!di!andare!in!stock!out!o!di!fare!backlog!(arretrato).! La!domanda!può!avere!qualunque!forma,!ma!deve!essere!nota!deterministicamente!(non! considero!alcun!tipo!di!accuratezza,!ma!prendo!i!dati!per!assoluti).! ! La#funzione#obiettivo# # L’obiettivo!della!funzione!è!quello!di!minimizzare!i!costi!connessi!al!piano,!ovvero! manodopera!e!mantenimento!a!scorta.!Il!modello!identifica!il!miglior!trade!–!off!tra!variazione! del!ritmo!produttivo!(straordinari)!e!mantenimento!a!scorta:! ! ! !"#!!!!"! = !"# ! ! ! ! ∗ ! ! + ! ! ∗ !"# ! + ! !!! ! m(t)!costo!variabile!(materiali/energia);! x(t)!quantità!prodotta!nel!periodo;! i(t)!costo!unitario!mantenimento!a!scorta;! INV(t)!quantità!a!scorta!alla!fine!di!t;! r(t)!costo!orario!MdO!regolare;! W(t)!ore!di!MdO!regolare!utilizzata!in!T;! s(t)!costo!unitario!MdO!straordinaria;! S(t)!ore!MdO!straordinaria!utilizzate!in!T;! ! # ! ! ∗! ! +! ! ∗! ! ! ! !!! I#vincoli# # • Vincolo!di!conservazione!dei!pezzi:!quanto!valgono!le!scorte!alla!fine!del!periodo!t?! saranno!uguali!a:! inv(t)!=!inv(t)1)!+!x(t)!)!D(t)!!! • ! Vincolo!di!utilizzo!(disponibilità)!MdO:!quanta!MdO!mi!serve!in!ogni!periodo?!Dipende! da!quanto!voglio!produrre:! ! h(t)=ore!MdO!necessarie!per!produrre!1!pezzo! ! h(t)!*!x(t)!=!W(t)!+!S(t)! ! • Vincolo!sulle!ore!di!MdO!regolare:! ! 0!<=!W(t)!<=!max!W(t)! ! • Vincolo!sulle!ore!di!MdO!straordinaria:!! ! 0!<!=!S(t)!<=!max!S(t)! ! • Dato!che!non!possiamo!andare!in!stock!out,!abbiamo!un!vincolo!di!non!ammissione! dello!stock!out:! ! inv(t)!>=!0! ! E’!importante!che!x(t)!sia!maggiore!di!zero.!Non!esiste!un!vincolo!specifico!perché!sarebbe! ridondante,!noto!il!vincolo!sulla!disponibilità!di!MdO.! # Problemi#del#metodo#–#la#programmazione#lineare#a#numeri#interi# La!programmazione!lineare!semplice!è!particolarmente!conveniente,!poiché!molto!facile!da! utilizzare.!Nel!momento!in!cui,!però,!introduco!la!logica!multi<prodotto,!il!modello!diventa! molto!più!oneroso!da!risolvere!ed!applicare.!Il!motivo!deriva!fondamentalmente!dal!dover! considerare!i!costi!di!set!up.!L’ottimizzazione!lineare!diventa!intera!e!la!difficoltà!aumenta.!È! dovuta!a!questo!aumento!di!difficoltà!l’introduzione!di!modelli!come!W!–!W.! # Esempio# Nuove!Hp:!! • caso!multiprodotto;! • costi!rilevanti:!CMS,!Costo!SetUp! ! ! ! !"#!!!!"! = !"# !! ! !, ! ∗ ! !, ! + ! !, ! ∗ ! !, ! ! # !!! !!! # a(i,t)!costo!di!set!up!prodotto!i!periodo!t;! k(i,t)!booleana:!produco!/!non!produco!il!prodotto!i!nel!periodo!t;! e(i,t)!eccesso!di!produzione!=! !!!![! !, ! − ! !, ! ]!(scorte!di!i!alla!fine!del!periodo!t);! c(i,t)!costo!unitario!mantenimento!a!scorta!prodotto!i!periodo!t;! Riepilogo#delle#tecniche#e#contesti#di#utilizzo# ! ! Contesto!(mono/!multi! prodotto)! CMS! Straordinario! Costi! Set!Up! considerati! Stock!Out! Vincoli!di!CP! PL! semplice! PL!intera! M<B! W<W! K<R! mono! multi! multi! mono! multi! x! x! no! x! x! x! x! no! x! x! no! x! x! no! x! Non! ammesso! Non! ammesso! Non! ammesso!! Non! ammesso! x!(ore!MdO! utilizzabili)! x(ore!MdO! utilizzabili)! (attraverso! le!SS)! x(tasso!di! produzione! finito!r)! no! x! ! • • ! ! • M!–!B!multi<prodotto,!perché!in!ogni!campagna!ho!sequenze!produttive!di!vari!articoli;! K!–!R:!risolve!l’infattibilità!di!W!–!W.!Diventa!multi<prodotto,!perché!anche!se!parte!da! un!contesto!mono,!negli!algoritmi!che!utilizza!per!risolvere!l’infattibilità,!considera!la! possibilità!di!spostare!delle!produzioni!in!altri!periodi,!facendo!sì!che!il!contesto! diventi!multi<prodotto;! W!–!W!non!ammette!costi!di!stock!out,!poiché!ragiona!a!capacità!infinita!di!risorse.! !