Gestione delle scorte: SOLUZIONE

I costi coinvolti nel problema sono sostanzialmente di tre tipi

-costi di immagazzinamento (ovviamente mantenere elevati livelli di scorte, per garantirsi maggiore sicurezza, costa di più);

-costi di emissione di un ordine (più numerosi sono gli approvvigionamenti, maggiore è il numero delle pratiche da espletare);

-costi di “stock-out”, cioè perdite dovute all’incapacità di soddisfare la domanda.

In generale questi costi vengono assunti lineari nei loro rispettivi argomenti (livello delle scorte, numero di ordini, valore della domanda inevasa) tuttavia specialmente per l’ultimo termine andrebbero messe in luce le evidenti non linearità esistenti. Ad esempio, quando lo “stock-out” raggiunge valori molto elevati, l’intera attività dell’azienda risulta compromessa e quindi si può assumere che il costo di “stock-out” tenda all’infinito.

Il sistema in esame può essere visto semplicemente come un serbatoio contenente le scorte s(t), da cui escono certi prodotti che chiameremo vendite v(t), e in cui entrano gli approvvigionamenti u(t). Potremo quindi dire che il sistema è descritto dalla seguente equazione

s( t+1 ) = s( t ) - v( t ) + u( t )
in cui il tempo è stato discretizzato dato che, in pratica, tutte le operazioni hanno spesso scadenza giornaliera, settimanale o mensile. Inoltre
v( t ) = min ( d( t ), s( t ) )
cioè i prodotti venduti sono pari al minimo tra la domanda d( t ) e il valore delle scorte s( t ).

Il problema sarà dunque quello della minimizzazione dei costi su un certo orizzonte temporale, diciamo [0, T], fissata che sia la struttura del controllore (p-system o q-system) che determina i valori di u( t ).

In ogni caso l’obiettivo potrà essere espresso nel modo seguente:

in cui cm rappresenta i costi unitari del magazzino, co è il costo di emissione di un ordine, o(t) è una variabile binaria tale che 
  1    se   u(t) > 0 
o(t) =  
  0    se   u(t) = 0

che quindi corrisponde al fatto che venga o meno emesso un ordine all’istante t, e cs(d(t) - v(t)) rappresenta la funzione non lineare “costo dello stock-out”. Tale funzione sarà nulla quando v(t) coincide con d(t) e avrà un andamento crescente in modo più che lineare quando d(t) - v(t) > 0.

Dobbiamo ora definire la struttura dei due possibili controllori.

Cominciamo dal p-system. La sua struttura può essere definita attraverso due parametri S' e p. Il primo definisce il livello a cui si vogliono reintegrare le scorte. Il secondo il periodo tra un approvvigionamento e l’altro. Sarà dunque:

  S' - s(t)        se s(t) < S' e t = kp con k intero
u(t) =  
  0                  altrimenti

Anche il q-system può essere definito con due parametri: S" il livello di scorte a cui si provvede al riordino e q la quantità da riordinare. Il controllo può quindi essere definito da:

  q        se  s(t) < S"
u(t) =  
  0        se  s(t) ³ S"
In entrambi i casi si tratta dunque di controllori non lineari che però consentono, essendo fissata la struttura, di trasformare il problema funzionale della determinazione del valore ottimo della funzione u(·) in tutto l’intervallo [0,T] in un problema di ottimizzazione parametrica in cui vanno ottimizzati soltanto i due parametri S' e p o S" e q.

In pratica per la soluzione del problema si procede a ripetute simulazioni del sistema nell’intervallo [0,T] con valori fissati della domanda d(t) e con diverse coppie dei valori dei parametri. Variando opportunamente il valore di questi ultimi con un algoritmo di ricerca dell’ottimo si perviene in generale ad una buona soluzione subottima.  


ESERCIZIO PRECEDENTE
Testo
 ESERCIZIO SUCCESSIVO