Modelli per la gestione delle scorte Claudio Arbib Università di L Aquila Seconda Parte
Sommario Sui problemi di gestione aperiodica equazioni di stato Funzioni di costo Un modello convesso formulazione come PL esempio Un modello concavo proprietà del poliedro proprietà delle soluzioni ottime algoritmo di Wagner-Whitin esempi
Gestione aperiodica magazzino Impianto Un impianto deve soddisfare la domanda espressa dal mercato in periodi diversi, minimizzando costi di produzione e di giacenza mercato
Gestione aperiodica Consideriamo per semplicità un solo tipo di prodotto, da fabbricare in un orizzonte temporale finito, diviso in periodi di controllo {1, 2,, T}, corrispondenti a un assorbimento a 1,, a T variabile nel tempo, e a variabili decisionali x t = quantità prodotta nel periodo t b t = livello di scorta nel periodo t x 1 b 1 x 2 b 2 x 3 b 3 b T 1 1 2 3 T x T a 1 a 2 a 3 a T
Gestione aperiodica x 1 x 2 x 3 b 1 b 2 b 3 Andamento della produzione Andamento delle scorte tempo a 1 a 2 a 3 Andamento delle consegne x T x 1 b 1 x 2 b 2 x 3 b 3 b T 1 1 2 3 T a 1 a 2 a 3 a T
Equazioni di stato Tra i valori descritti intercorrono le seguenti relazioni eventuale scorta iniziale e/o finale x 1 + b 0 = a 1 + b 1 x t + b t 1 = a t + b t t = 2,, T 1 x T + b T 1 = a T + b T x t, b t > 0 t = 1, 2,, T x T x 1 b 1 x 2 b 2 x 3 b 3 b T 1 1 2 3 T a 1 a 2 a 3 a T
Funzioni di costo La forma della funzione costo influenza le tecniche di soluzione. Sia f: IR n IR, e λ 1,, λ m > 0 tali che Σ λ i = 1. Siano x 1,, x m IR n i=1. Diremo che f è m λ f(x 1 ) + (1 λ)f (x 2 ) f (x) f (x 2 ) f (x 1 ) x 1 x 2 x = λx 1 + (1 λ)x 2 convessa se vale la relazione f (Σ i λ i x i ) > Σ i λ i f (x i )
Funzioni di costo La forma della funzione costo influenza le tecniche di soluzione. Sia f: IR n IR, e λ 1,, λ m > 0 tali che Σ λ i = 1. Siano x 1,, x m IR n i=1. Diremo che f è m f (x) λ f(x 1 ) + (1 λ)f (x 2 ) f (x 2 ) f (x 1 ) x 1 x 2 x = λx 1 + (1 λ)x 2 concava se si ha invece f (Σ i λ i x i ) > Σ i λ i f (x i )
Funzioni di costo Ad esempio: sono funzioni convesse sono funzioni concave f (x) f (x) x x f (x) non sono né concave né convesse x
Un modello convesso Supponiamo che le attività del giorno t comportino costi di produzione P t (x t ) strutturati come segue p t costo per unità prodotta entro la quantità q t P t > p t costo aggiuntivo per ogni unità prodotta oltre la quantità q t (straordinario) di giacenza G t (s t ), proporzionali al livello di scorta g t P t (x t ) costo per unità immagazzinata nel periodo t G t (b t ) p t q t + P t (x t q t ) p t x t q t g t b t x t, b t
Obiettivo L obiettivo è minimizzare il costo complessivo (non lineare) min P 1 (x 1 ) + P 2 (x 2 ) + + P T 1 (x T 1 ) + P T (x T ) + + G 1 (b 1 ) + G 2 (b 2 ) + + G T 1 (b T 1 ) Per ottenere un espressione lineare del costo, distinguiamo tra la parte di x t (sia u t ) prodotta senza ricorrere allo straordinario e quella (sia w t ) prodotta ricorrendo allo straordinario: x t = u t + w t 0 < u t < q t, 0 < w t min p 1 u 1 + p 2 u 2 + + p T u T + + P 1 w 1 + P 2 w 2 + + P T w T + + g 1 b 1 + g 2 b 2 + + g T 1 b T 1
Problema Minimizzare il costo complessivo Σ t=1,..,t [P t (x t )+ G t (s t )] con l ipotesi di non avere backlog ( b t > 0 per t = 1,, T ) e il vincolo di soddisfare la domanda (equazioni di stato)
Problema min Minimizzare p 1 u 1 + p 2 uil 2 + costo complessivo + p T u T + + P 1 w Σ 1 + P 2 w 2 + + P T w T + + g t=1,..,t [P t (x t )+ G t (s t )] 1 b 1 + g 2 b 2 + + g T 1 b T 1 soggetto ai vincoli con l ipotesi di non avere backlog ( b t > 0 per t = 1,, T ) u t + w t + b t 1 b t = a t e il uvincolo t di soddisfare < qla t domanda u t, w t,(equazioni b t di > stato) 0 per t = 1,, T
Esempio (dati) Periodi gen-feb mar-apr mag-giu lug-ago set-ott nov-dic Costo produzione 25 25 30 40 20 20 Costo straordinario 40 45 45 50 40 45 Costo giacenza 25 20 30 30 30 30 Capacità impianto 100 100 100 100 120 120 Domanda 80 210 315 270 240 120
Esempio (vincoli) Periodi gen-feb mar-apr mag-giu lug-ago set-ott nov-dic Domanda 80 210 315 270 240 120 Capacità impianto 100 100 100 100 120 120 u w b Produzione ordinaria Produzione straord. Scorta attuale Scorta precedente Equazioni di stato Riferimento 1 1 1 1 1 1 1 1 1 1 1 1-1 -1-1 -1-1 -1 1 1 1 1 1 1 0 = MATR.SOMMA.PRODOTTO(C13:C16;C8:C11) = 80
Esempio (costo) Periodi gen-feb mar-apr mag-giu lug-ago set-ott nov-dic Costo produzione 25 25 30 40 20 20 Costo straordinario 40 45 45 50 40 45 Costo giacenza 25 20 30 30 30 30 u w b Produzione ordinaria Produzione straord. Scorta attuale Scorta precedente Costo totale 0 = MATR.SOMMA.PRODOTTO(C4:H6;C8:H10)
Un modello concavo In genere il costo della produzione nel generico periodo t non dipende solo dalla quantità prodotta: produrre una qualsiasi quantità, anche minima, comporta un costo fisso, e lo stesso si può dire della giacenza (nel cui costo possiamo comprendere ad es. la movimentazione all interno dell impianto) Per economia di scala, tuttavia, passare da una produzione (giacenza) di 10 unità a una di 20 costameno che passare da una produzione nulla a una di 10 unità Possiamo infine immaginare che in qualche caso produzione e scorta del giorno non siano sufficienti a coprire la domanda. In questo caso (backlog = scorta negativa) gli ordini saranno soddisfatti facendo giungere, con un costo aggiuntivo, la merce da altri stabilimenti Per tener conto di tutti questi aspetti, la funzione di costo va modificata
Un modello concavo In questo modello assumiamo che i costi associati alle attività del giorno t siano così strutturati: P t (x t ) G t (s t ) Costi di produzione P t (x t ) π t costo fisso per attivare la produzione nel periodo t + costo per unità prodotta β t π t Costi di giacenza G t (x t ) γ t β t costo fisso di stoccaggio + costo per unità immagazzinata costo fisso di backlog + costo per unità ordinata all esterno γ t x t, b t
Proprietà del poliedro x 1 = a 1 + b 1 x 2 + b 1 = a 2 + b 2 x 3 + b 2 = a 3 + b 3 x T + b T 1 = a T x x 1 + x 2 + x 3 = Σ a i 3 i=1 x 1, x 2, x 3 > 0 T Σ x t = Σ a t t=1 T t=1, x t > 0 x t < b t = Σ x t Σ a t b t < k<t k<t Proprietà1 Il poliedro del problema è limitato (NB: anche se b t non è vincolata in segno)
Proprietà del poliedro Proprietà2 Una funzione concava definita in un poliedro limitato ammette un punto di minimo corrispondente a un vertice del poliedro f (x) * P punto di minimo
Dimostrazione Dato un poliedro limitato P, siano v 1,, v p i suoi vertici: P = conv(v 1,, v p ) cioè ogni y P, e in particolare un punto y* di minimo per f in P, si può esprimere come combinazione convessadei vertici di P: Ma se f è concava si ha p y* = Σ λ i v i con Σ λ i = 1, λ i > 0 i=1 f(y*) = f (Σ i=1..p λ i v i ) > Σ i=1..p λ i f(v i ) Se dunque v* un punto di minimo per f in {v 1,, v p }, si ha p p i=1 f (v*) <Σλ i f (v i ) = f (y*) perciò anche v* è un punto di minimo per f in P i=1
Proprietà delle soluzioni ottime z* = (x*, b*) vertice z* soluzione di base di Az = a z > 0 con A matrice T (2T 1) In altre parole, al più T componenti di z* sono > 0 Se per la scorta iniziale si ha b 0 = 0, deve anche aversi x 1 > a 1 > 0 b t 1 + x t > a t > 0 cioè almeno una tra b t 1 e x t deve essere > 0 per t = 2,, T In altre parole, almeno T componenti di z* sono > 0 Esattamente una tra b t 1 e x t deve essere > 0 per t = 2,, T
Proprietà delle soluzioni ottime Dal ragionamento precedente si deduce che ogni soluzione ottima è strutturata come segue: periodi di produzione x i x k 1 b k 1 b k b t 1 i k 1 k t a i a k 1 a k a t e periodi di stasi
Algoritmo (Wagner-Whitin, 1958) 1) Si calcola la quantità x i che ènecessario produrre per soddisfare la domanda da i a t x i = a i + a i+1 + + a t i b i b i+1 b t 1 i+1 t a i a i+1 a t
Algoritmo 2) Si calcolano le quantità b i, b i+1,, b t 1 che ènecessario immagazzinare per soddisfare a i+1, a i+2,, a t x i b i = a i+1 + + a t b i+1 = a i+2 + + a t i b t 1 = a t i+1 t a i a i+1 a t
Algoritmo 3) Si calcola quanto costa produrre (immagazzinare) al tempo i per soddisfare la domanda da i a t: C(i, t) = P i (x i ) + G i (b i ) + G i+1 (b i+1 ) + + G t 1 (b t 1 ) 4) Immaginiamo di conoscere i valori minimi c 0, c 1,, c k 1 del costo da sostenere per soddisfare la domanda in un orizzonte di pianificazione lungo 0, 1,, k 1 (inizialmente, c 0 = 0) 5) Allora il costo sostenuto per soddisfare tutta la domanda fino al periodo k èdato da c k = min i=1,,k {c i 1 + C(i, k)}
Calcolo di c k+1 Minimo tra: c 0 = 0 + C(1, k) 1 2 k 2 k 1 k 1 c 1 + C(2, k) 2 k 2 k 1 k 1 2 c 2 + C(3, k) 3 k 2 k 1 k 1 k 2 c k 1 k k 2 + C(k 1, k) 1 k 1 c k k 1 + C(k, k)
Esempio 1 livello costi 1/2 2/3 2/3 2/3 1/6 1 1/3 1/3 1/6 = 10 x 1 x 2 x 3 x 4 x 5 1 b 1 2 b 2 3 b 3 4 b 4 5 5 3 4 6 2
Esempio 1 livello costi 1/2 2/3 2/3 2/3 1/6 1 1/3 1/3 1/6 = 10 Costruiamo la matrice C dei valori C(i, t) P 1 (a 1 ) P 1 (a 1 + a 2 ) + G 1 (a 2 ) P 1 (a 1 + a 2 + a 3 ) + G 1 (a 2 + a 3 ) + G 2 (a 3 ) P 2 (a 2 ) P 2 (a 2 + a 3 ) + G 2 (a 3 ) C = P 3 (a 3 ) Produzione nel periodo 1 della domanda dei periodi 1, 2 e 3 Giacenza nel periodo 1 della domanda dei periodi 2 e 3 Giacenza nel periodo 2 della domanda del periodo 3
Esempio 1 livello costi 1/2 2/3 2/3 2/3 1/6 1 1/3 1/3 1/6 = 10 P 1 (a (5) 1 ) P 11 (a (8) 1 + a+ 2 ) + G 11 (3) (a 2 ) P 1 (a (12) 1 + + a 2 G+ 1 (7) a 3 ) + G 21 (4) (a 2 + a 3 ) + G 2 (a 3 ) P 22 (a (3) 2 ) P 2 (a (7) 2 + + a 3 G) 2 + (4) G 2 (a 3 ) P 3 (4) C = P 3 (a 3 ) a 1 = 5 a 2 = 3 a 3 = 4 a 4 = 6 a 5 = 2
Esempio 1 livello costi 1/2 2/3 2/3 2/3 1/6 1 1/3 1/3 1/6 = 10 C = 1 2 1 2 1 3 1 3 (15 C(1,1) + = 5) 17,5(15 + C(1,2) 8) + (10 = 30,0 + 3) (15 + C(1,3) 12) = + 41,0 (10 + 7) + (5 + 4) (10 + C(2,2) 3) = 11,0 (10 + C(2,3) 7) = + 20,0 (5 + 4) 1 2 1 3 2 3 (15 + C(3,3) 4) = 17,7 1 3 2 3 2 3 a 1 = 5 a 2 = 3 a 3 = 4 a 4 = 6 a 5 = 2
Esempio 1 livello costi 1/2 2/3 2/3 2/3 1/6 1 1/3 1/3 1/6 = 10 Sulla base dei valori di C(i, t) è ora possibile calcolare: c 1 = C(1, 1) = 17,5 c 2 = min{c(1, 2); c 1 + C(2, 2)} = min{30,0; 17,5 + 11,0} = 28,5 c 3 = min{c(1, 3); c 1 + C(2, 3); c 2 + C(3, 3)} = = min{41,0; 17,5 + 20,0; 28,5 + 17,7} = 37,5 eccetera
Esempio 1 5 Fino a T = 1 la soluzione ottima è ovviamente Fino a T = 2 la soluzione ottima è Fino a T = 3 la soluzione ottima è eccetera 5 1 5 7 2 1 4 3 5 3 4 5 1 5 3 2 3 Sulla base dei valori di C(i, t) è ora possibile calcolare: c 1 = C(1, 1) = 17,5 c 2 = min{c(1, 2); c 1 + C(2, 2)} = min{30,0; 17,5 + 11,0} = 28,5 c 3 = min{c(1, 3); c 1 + C(2, 3); c 2 + C(3, 3)} = = min{41,0; 17,5 + 20,0; 28,5 + 17,7} = 37,5 eccetera
Esempio 2 (dati) gen-feb mar-apr mag-giu lug-ago set-ott nov-dic fisso 25 25 30 40 20 20 Costo di produzione per unità fino a Q 400 450 540 500 400 420 per unità oltre Q 120 140 180 170 140 150 Costo di giacenza per unità 250 200 300 300 300 Q 300 250 250 200 200 200 Domanda 80 210 315 270 240 120 200.000 180.000 160.000 140.000 120.000 100.000 80.000 60.000 40.000 20.000 0 50 150 250 350 450 550 650 750 costo di produzione nel primo bimestre costo di giacenza nel primo bimestre
Esempio 2 (calcolo di P t ) gen-feb mar-apr mag-giu lug-ago set-ott nov-dic fisso 25 25 30 40 20 20 Costo di produzione per unità fino a Q 400 450 540 500 400 420 per unità oltre Q 120 140 180 170 140 150 Costo di giacenza per unità 250 200 300 300 300 2 3 4 Domanda 80 210 315 270 240 120 da 1 a t 80 290 605 875 1115 1235 da 2 a t 210 525 795 1035 1155 da 3 a t 315 585 825 945 Dom. cumulativa da 4 a t 270 510 630 da 5 a t 240 360 da 6 a t 120 9 Q 300 250 250 200 200 200 15 Costo di produzione da 1 a t da 2 a t da 3 a t da 4 a t da 5 a t da 6 a t Costo_produzione(2,4) E G = SEGNO(G9)*$E$2 + SE(G9 <= $E$15; $E$3*G9; $E$3*$E$15 + $E$4*(G9 $E$15))
Esempio 2 (calcolo di G t ) gen-feb mar-apr mag-giu lug-ago set-ott nov-dic fisso 25 25 30 40 20 20 Costo di produzione per unità fino a Q 400 450 540 500 400 420 per unità oltre Q 120 140 180 170 140 150 Costo di giacenza per unità 250 200 300 300 300 Domanda 80 210 315 270 240 120 da 1 a t 80 290 605 875 1115 1235 da 2 a t 210 525 795 1035 1155 da 3 a t 315 585 825 945 Dom. cumulativa da 4 a t 270 510 630 da 5 a t 240 360 da 6 a t 120 5 9 Q 300 250 250 200 200 200 Costo di giacenza da 1 a t da 2 a t da 3 a t da 4 a t da 5 a t da 6 a t D E = MATR.PRODOTTO(D$5:D$5;E9:E9)
Esempio 2 (calcolo di G t ) gen-feb mar-apr mag-giu lug-ago set-ott nov-dic fisso 25 25 30 40 20 20 Costo di produzione per unità fino a Q 400 450 540 500 400 420 per unità oltre Q 120 140 180 170 140 150 Costo di giacenza per unità 250 200 300 300 300 5 Domanda 80 210 315 270 240 120 da 1 a t 80 290 605 875 1115 1235 da 2 a t 210 525 795 1035 1155 da 3 a t 315 585 825 945 Dom. cumulativa da 4 a t 270 510 630 da 5 a t 240 360 da 6 a t 120 9 10 Q 300 250 250 200 200 200 Costo di giacenza da 1 a t da 2 a t da 3 a t da 4 a t da 5 a t da 6 a t D E F = MATR.PRODOTTO(D$5:E$5;F9:F10)
Esempio 2 (calcolo di G t ) gen-feb mar-apr mag-giu lug-ago set-ott nov-dic fisso 25 25 30 40 20 20 Costo di produzione per unità fino a Q 400 450 540 500 400 420 per unità oltre Q 120 140 180 170 140 150 Costo di giacenza per unità 250 200 300 300 300 5 Domanda 80 210 315 270 240 120 da 1 a t 80 290 605 875 1115 1235 da 2 a t 210 525 795 1035 1155 da 3 a t 315 585 825 945 Dom. cumulativa da 4 a t 270 510 630 da 5 a t 240 360 da 6 a t 120 9 10 11 12 13 Q 300 250 250 200 200 200 Costo di giacenza da 1 a t da 2 a t da 3 a t da 4 a t da 5 a t da 6 a t D E F G H I = MATR.PRODOTTO(D$5:H$5;I9:I13)
Esempio 2 (calcolo di G t ) gen-feb mar-apr mag-giu lug-ago set-ott nov-dic fisso 25 25 30 40 20 20 Costo di produzione per unità fino a Q 400 450 540 500 400 420 per unità oltre Q 120 140 180 170 140 150 Costo di giacenza per unità 250 200 300 300 300 Domanda 80 210 315 270 240 120 da 1 a t 80 290 605 875 1115 1235 da 2 a t 210 525 795 1035 1155 da 3 a t 315 585 825 945 Dom. cumulativa da 4 a t 270 510 630 da 5 a t 240 360 da 6 a t 120 5 10 11 Q 300 250 250 200 200 200 Costo di giacenza da 1 a t da 2 a t da 3 a t da 4 a t da 5 a t da 6 a t Costo_giacenza(2,4) E F G = MATR.PRODOTTO(E$5:F$5;G10:G11)
Esempio 2 (calcolo di C(i, t)) gen-feb mar-apr mag-giu lug-ago set-ott nov-dic fisso 25 25 30 40 20 20 Costo di produzione per unità fino a Q 400 450 540 500 400 420 per unità oltre Q 120 140 180 170 140 150 Costo di giacenza per unità 250 200 300 300 300 Domanda Q 80 210 315 270 240 120 300 250 250 200 200 200 C(i, t) Gen-Feb Mar-Apr Mag-Giu Lug-Ago Set-Ott Nov-Dic Gen-Feb Mar-Apr Mag-Giu Lug-Ago Set-Ott Nov-Dic C(2, 4) = Costo_produzione(2, 4) + Costo_giacenza(2, 4)
Esempio 2 (soluzione) gen-feb mar-apr mag-giu lug-ago set-ott nov-dic fisso 25 25 30 40 20 20 Costo di produzione per unità fino a Q 400 450 540 500 400 420 per unità oltre Q 120 140 180 170 140 150 Costo di giacenza per unità 250 200 300 300 300 Domanda 80 210 315 270 240 120 Q 300 250 250 200 200 200 C(i, t) Gen-Feb Mar-Apr Mag-Giu Lug-Ago Set-Ott Nov-Dic Gen-Feb C(1, 1) C(1, 2) C(1, 3) C(1, 4) C(1, 5) C(1, 6) Mar-Apr C(2, 2) C(2, 3) C(2, 4) C(2, 5) C(2, 6) Mag-Giu C(3, 3) C(3, 4) C(3, 5) C(3, 6) Lug-Ago C(4, 4) C(4, 5) C(4, 6) Set-Ott C(5, 5) C(5, 6) Nov-Dic C(6, 6) c1 c2 c3 c4 c5 c6 costo minimo 12 D = D$12
Esempio 2 (soluzione) gen-feb mar-apr mag-giu lug-ago set-ott nov-dic fisso 25 25 30 40 20 20 Costo di produzione per unità fino a Q 400 450 540 500 400 420 per unità oltre Q 120 140 180 170 140 150 Costo di giacenza per unità 250 200 300 300 300 Domanda 80 210 315 270 240 120 Q 300 250 250 200 200 200 C(i, t) Gen-Feb Mar-Apr Mag-Giu Lug-Ago Set-Ott Nov-Dic Gen-Feb C(1, 1) C(1, 2) C(1, 3) C(1, 4) C(1, 5) C(1, 6) Mar-Apr C(2, 2) C(2, 3) C(2, 4) C(2, 5) C(2, 6) Mag-Giu C(3, 3) C(3, 4) C(3, 5) C(3, 6) Lug-Ago C(4, 4) C(4, 5) C(4, 6) Set-Ott C(5, 5) C(5, 6) Nov-Dic C(6, 6) c1 c2 c3 c4 c5 c6 costo minimo 12 13 19 D E = MIN(E$12; D19 + E$13)
Esempio 2 (soluzione) gen-feb mar-apr mag-giu lug-ago set-ott nov-dic fisso 25 25 30 40 20 20 Costo di produzione per unità fino a Q 400 450 540 500 400 420 per unità oltre Q 120 140 180 170 140 150 Costo di giacenza per unità 250 200 300 300 300 Domanda 80 210 315 270 240 120 Q 300 250 250 200 200 200 C(i, t) Gen-Feb Mar-Apr Mag-Giu Lug-Ago Set-Ott Nov-Dic Gen-Feb C(1, 1) C(1, 2) C(1, 3) C(1, 4) C(1, 5) C(1, 6) Mar-Apr C(2, 2) C(2, 3) C(2, 4) C(2, 5) C(2, 6) Mag-Giu C(3, 3) C(3, 4) C(3, 5) C(3, 6) Lug-Ago C(4, 4) C(4, 5) C(4, 6) Set-Ott C(5, 5) C(5, 6) Nov-Dic C(6, 6) c1 c2 c3 c4 c5 c6 costo minimo 12 13 14 19 D E F = MIN(F$12; D$19 + F$13; E$19 + F$14)
Modelli per la gestione delle scorte Claudio Arbib Università di L Aquila Terza Parte
Sommario Gestione di più scorte risorse multiple ad assorbimento irregolare: formulazione come programmazione lineare intera esempio di applicazione
Gestione di più scorte I modelli visti in precedenza non consentono in generale di ottimizzare la gestione simultanea di più scorte Per superare l inconveniente si può tuttavia ricorrere a un modello di ottimizzazione basato sulla programmazione lineare intera Relativamente al giorno t si indichi con a it b it r it = l assorbimento = il livello di scorta = il rifornimento g it = il costo unitario di giacenza della risorsa i (i = 1,, m)
Gestione di più scorte Le risorse vengono acquisite da p magazzini distinti: sia R h l insieme di risorse acquisite dal magazzino h Customer R 1 Supplier 1 Relativamente al giorno t si indichi con a it b it r it = l assorbimento = il livello di scorta = il rifornimento g it = il costo unitario di giacenza della risorsa i (i = 1,, m) R p Supplier p
Gestione di più scorte Il costo di spedizione dipende dal magazzino di provenienza: sia c 0h il costo sostenuto per spedire fino a δ h unitàdi risorsa dal magazzino h costo kc 0h per (k 1)δ h < r < kδ h 0 10 20 30 40 50 60 quantità Relativamente al giorno t si indichi con a it b it r it = l assorbimento = il livello di scorta = il rifornimento g it = il costo unitario di giacenza della risorsa i (i = 1,, m) Sia x ht = numero di spedizioni dal magazzino h il giorno t
Gestione di più scorte Il problema si formula: min p Σ c 0h Σ x ht + Σ Σ g it b it h=1 t T i=1 t T b i,t = b i,t 1 + r i,t 1 a i,t (per i = 1,, m, t T) Σ r it i R h < δ h x ht (per h = 1,, p, t T) x ht, r it, b it > 0 x ht intero m Relativamente al giorno t si indichi con a it b it r it = l assorbimento = il livello di scorta = il rifornimento g it = il costo unitario di giacenza della risorsa i (i = 1,, m) Sia x ht = numero di spedizioni dal magazzino h il giorno t
Esempio Un impianto assorbe 3 tipi di risorse. Nei prossimi 12 giorni si prevede che il loro valore fluttui secondo la tabella seguente giorno 1 2 3 4 5 6 7 8 9 10 11 12 20 20 20 19 19 19 18 17 17 17 17 16 g1 10 12 12 12 12 12 14 14 14 14 15 16 g2 costo 15 14 14 14 12 10 9 9 10 11 12 14 g3 andamento del costo di giacenza 25 20 costo 15 10 5 Risorsa 1 Risorsa 2 Risorsa 3 0 1 2 3 4 5 6 7 8 9 10 11 12 giorno
Esempio La domanda di prodotto nei vari giorni induce il seguente assorbimento di risorse 1, 2 e 3 giorno 1 2 3 4 5 6 7 8 9 10 11 12 20 20 20 19 19 19 18 17 17 17 17 16 g1 10 12 12 12 12 12 14 14 14 14 15 16 g2 costo 15 14 14 14 12 10 9 9 10 11 12 14 g3 2,0 2,1 2,1 1,8 1,0 1,2 1,6 2,2 0,3 1,0 a1 3,0 3,0 3,0 3,0 4,0 1,0 3,0 a2 assorbimento 2,0 2,1 2,6 4,0 1,0 5,0 a3
Esempio La domanda di prodotto nei vari giorni induce il seguente assorbimento di risorse 1, 2 e 3 giorno 0 1 2 3 4 5 6 7 8 9 10 11 12 20 20 20 19 19 19 18 17 17 17 17 16 g1 10 12 12 12 12 12 14 14 14 14 15 16 g2 costo 15 14 14 14 12 10 9 9 10 11 12 14 g3 2,0 2,1 2,1 1,8 1,0 1,2 1,6 2,2 0,3 1,0 a1 3,0 3,0 3,0 3,0 4,0 1,0 3,0 a2 assorbimento 2,0 2,1 2,6 4,0 1,0 5,0 a3 5,0 b1 4,0 b2 scorta residua 2,0 b3 Questo è il livello iniziale delle scorte.
Esempio La domanda di prodotto nei vari giorni induce il seguente assorbimento di risorse 1, 2 e 3 giorno 0 1 2 3 4 5 6 7 8 9 10 11 12 20 20 20 19 19 19 18 17 17 17 17 16 g1 10 12 12 12 12 12 14 14 14 14 15 16 g2 costo 15 14 14 14 12 10 9 9 10 11 12 14 g3 2,0 2,1 2,1 1,8 1,0 1,2 1,6 2,2 0,3 1,0 a1 3,0 3,0 3,0 3,0 4,0 1,0 3,0 a2 assorbimento 2,0 2,1 2,6 4,0 1,0 5,0 a3 5,0 b1 4,0 b2 scorta residua spedizioni 2,0 b3 400 c0a 500 c0b Le risorse 1 e 2 provengono dal magazzino A, la risorsa 3 dal magazzino B. Una spedizione da A costa c 0A = 400, una da B c 0B = 500
Esempio La domanda di prodotto nei vari giorni induce il seguente assorbimento di risorse 1, 2 e 3 giorno 0 1 2 3 4 5 6 7 8 9 10 11 12 20 20 20 19 19 19 18 17 17 17 17 16 g1 10 12 12 12 12 12 14 14 14 14 15 16 g2 costo 15 14 14 14 12 10 9 9 10 11 12 14 g3 2,0 2,1 2,1 1,8 1,0 1,2 1,6 2,2 0,3 1,0 a1 3,0 3,0 3,0 3,0 4,0 1,0 3,0 a2 assorbimento 2,0 2,1 2,6 4,0 1,0 5,0 a3 5,0 b1 4,0 b2 scorta residua spedizioni capienza 2,0 b3 400 c0a 500 c0b 20 delta1 18 delta2 In una spedizione si possono trasportare fino a 20 unità (di risorsa 1 e 2) da A e fino a 18 (di risorsa 3) da B
Esempio Le variabili di decisione del modello sono, per ogni giorno, le spedizioni da ciascun magazzino i livelli di scorta e i quantitativi trasportati di ciascuna risorsa giorno 0 1 2 3 4 5 6 7 8 9 10 11 12 20 20 20 19 19 19 18 17 17 17 17 16 g1 10 12 12 12 12 12 14 14 14 14 15 16 g2 costo 15 14 14 14 12 10 9 9 10 11 12 14 g3 2,0 2,1 2,1 1,8 1,0 1,2 1,6 2,2 0,3 1,0 a1 3,0 3,0 3,0 3,0 4,0 1,0 3,0 a2 assorbimento 2,0 2,1 2,6 4,0 1,0 5,0 a3 5,0 b1 4,0 b2 scorta residua 2,0 b3 r1 r2 rifornimento r3 400 c0a spedizioni 500 c0b 20 delta1 capienza 18 delta2 Le prime variabili sono intere, le altre reali, tutte non negative
Esempio Il costo si ottiene sommando il numero di spedizioni dai magazzini moltiplicato per i risp. costi i livelli di scorta moltiplicati scalarmente per i costi di giacenza giorno 0 1 2 3 4 5 6 7 8 9 10 11 12 20 20 20 19 19 19 18 17 17 17 17 16 g1 10 12 12 12 12 12 14 14 14 14 15 16 g2 costo 15 14 14 14 12 10 9 9 10 11 12 14 g3 2,0 2,1 2,1 1,8 1,0 1,2 1,6 2,2 0,3 1,0 a1 3,0 3,0 3,0 3,0 4,0 1,0 3,0 a2 assorbimento 2,0 2,1 2,6 4,0 1,0 5,0 a3 5,0 b1 4,0 b2 scorta residua 2,0 b3 r1 r2 rifornimento r3 400 c0a spedizioni 500 c0b 20 delta1 capienza 18 delta2 MATR.SOMMA.PRODOTTO(C2:N4;C8:N10) + N$14$*SOMMA(B14:M14) + N$15$*SOMMA(B15:M15)
Esempio Introdotti i vincoli di bilanciamento: b i,t 1 + r i,t 1 b i,t = a i,t capienza: δ h x ht Σ Rh r it > 0 si risolve il problema ottenendo giorno 0 1 2 3 4 5 6 7 8 9 10 11 12 20 20 20 19 19 19 18 17 17 17 17 16 g1 10 12 12 12 12 12 14 14 14 14 15 16 g2 costo 15 14 14 14 12 10 9 9 10 11 12 14 g3 2,0 2,1 2,1 1,8 1,0 1,2 1,6 2,2 0,3 1,0 a1 3,0 3,0 3,0 3,0 4,0 1,0 3,0 a2 assorbimento 2,0 2,1 2,6 4,0 1,0 5,0 a3 5,0 b1 4,0 b2 scorta residua 2,0 b3 r1 r2 rifornimento r3 400 c0a spedizioni 500 c0b 5 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 bilanciamento 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 delta1 capienza 0 0 0 0 0 0 0 0 0 0 0 0 18 delta2
Esempio Introdotti i vincoli di bilanciamento: b i,t 1 + r i,t 1 b i,t = a i,t capienza: δ h x ht Σ Rh r it > 0 si risolve il problema ottenendo giorno 0 1 2 3 4 5 6 7 8 9 10 11 12 20 20 20 19 19 19 18 17 17 17 17 16 g1 10 12 12 12 12 12 14 14 14 14 15 16 g2 costo 2676 15 14 14 14 12 10 9 9 10 11 12 14 g3 2,0 2,1 2,1 1,8 1,0 1,2 1,6 2,2 0,3 1,0 a1 3,0 3,0 3,0 3,0 4,0 1,0 3,0 a2 assorbimento 2,0 2,1 2,6 4,0 1,0 5,0 a3 5,0 3,0 0,9 2,8 1,0 1,0 0,0 5,1 3,5 1,3 1,3 1,0 0,0 b1 4,0 1,0 1,0 3,0 0,0 0,0 0,0 8,0 4,0 3,0 3,0 3,0 0,0 b2 scorta residua 2,0 2,0 0,0 0,0 0,0 12,6 10,0 10,0 10,0 6,0 5,0 5,0 0,0 b3 0,0 0,0 4,0 0,0 0,0 0,0 6,3 0,0 0,0 0,0 0,0 0,0 r1 0,0 0,0 5,0 0,0 0,0 0,0 11,0 0,0 0,0 0,0 0,0 0,0 r2 rifornimento 0,0 0,0 0,0 0,0 14,7 0,0 0,0 0,0 0,0 0,0 0,0 0,0 r3 0 0 1 0 0 0 1 0 0 0 0 0 400 c0a spedizioni 0 0 0 0 1 0 0 0 0 0 0 0 500 c0b 2 2 2 2 0 1 1 2 2 0 0 1 3 0 3 3 0 0 3 4 1 0 0 3 bilanciamento 0 2 0 0 2 3 0 0 4 1 0 5 0 0 11 0 0 0 3 0 0 0 0 0 20 delta1 capienza 0 0 0 0 3 0 0 0 0 0 0 0 18 delta2
Esempio Dalla lettura della soluzione si deducono le operazioni giornaliere di assorbimento, ricognizione scorta residua e rifornimento giorno 0 1 2 3 4 5 6 7 8 9 10 11 12 20 20 20 19 19 19 18 17 17 17 17 16 g1 10 12 12 12 12 12 14 14 14 14 15 16 g2 costo 2676 15 14 14 14 12 10 9 9 10 11 12 14 g3 2,0 2,1 2,1 1,8 1,0 1,2 1,6 2,2 0,3 1,0 a1 3,0 3,0 3,0 3,0 4,0 1,0 3,0 a2 assorbimento 2,0 2,1 2,6 4,0 1,0 5,0 a3 5,0 3,0 0,9 2,8 1,0 1,0 0,0 5,1 3,5 1,3 1,3 1,0 0,0 b1 4,0 1,0 1,0 3,0 0,0 0,0 0,0 8,0 4,0 3,0 3,0 3,0 0,0 b2 scorta residua 2,0 2,0 0,0 0,0 0,0 12,6 10,0 10,0 10,0 6,0 5,0 5,0 0,0 b3 0,0 0,0 4,0 0,0 0,0 0,0 6,3 0,0 0,0 0,0 0,0 0,0 r1 0,0 0,0 5,0 0,0 0,0 0,0 11,0 0,0 0,0 0,0 0,0 0,0 r2 rifornimento 0,0 0,0 0,0 0,0 14,7 0,0 0,0 0,0 0,0 0,0 0,0 0,0 r3 0 0 1 0 0 0 1 0 0 0 0 0 400 c0a spedizioni 0 0 0 0 1 0 0 0 0 0 0 0 500 c0b 2 2 2 2 0 1 1 2 2 0 0 1 3 0 3 3 0 0 3 4 1 0 0 3 bilanciamento 0 2 0 0 2 3 0 0 4 1 0 5 0 0 11 0 0 0 3 0 0 0 0 0 20 delta1 capienza 0 0 0 0 3 0 0 0 0 0 0 0 18 delta2
Esempio Dalla lettura della soluzione si deducono le operazioni giornaliere di assorbimento, ricognizione scorta residua e rifornimento 25 scorta residua 20 rifornimento 20 16 15 12 10 8 5 4 0 0 1 2 3 4 5 6 7 8 9 10 11 0 0 1 2 3 4 5 6 7 8 9 10 11 scorta 1 scorta 2 scorta 3 rifornimento 1 rifornimento 2 rifornimento 3