La pianificazione aggregata della produzione 2

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.!
!