Sei sulla pagina 1di 97

Modelli di Sistemi di Produzione

2
Indice

1 I sistemi di produzione 1
1.1 Generalità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 I principi dei sistemi manifatturieri . . . . . . . . . . . . . . . 4
1.3 Descrizione dei principali sistemi produttivi . . . . . . . . . . 7

2 I modelli matematici per il supporto alle decisioni 27


2.1 L’approccio modellistico-ottimizzatorio. . . . . . . . . . . . . . 27
2.2 La formulazione dei modelli. . . . . . . . . . . . . . . . . . . . 30
2.2.1 Alcune convenzioni. . . . . . . . . . . . . . . . . . . . . 31
2.2.2 Le 9 regole della formulazione. . . . . . . . . . . . . . . 32

3 Ottimizzazione dei sistemi di produzione. 35


3.1 Parametri strategici dei sistemi produttivi . . . . . . . . . . . 35
3.2 La gestione dei sistemi di produzione . . . . . . . . . . . . . . 36
3.3 Il ruolo dei modelli matematici. . . . . . . . . . . . . . . . . . 39
3.4 La gestione dei flussi produttivi: le logiche push e pull . . . . . 40

4 La linea di produzione 45
4.1 Il carico lavorativo, il tasso di produzione, le relazioni di in-
compatibilità . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2 Dimensionamento di una linea . . . . . . . . . . . . . . . . . . 46
4.2.1 Stime sul numero minimo di stazioni . . . . . . . . . . 51
4.2.2 Complessità del problema . . . . . . . . . . . . . . . . 52
4.2.3 L’euristica RPWT . . . . . . . . . . . . . . . . . . . . 54
4.2.4 L’euristica COMSOAL . . . . . . . . . . . . . . . . . . 57
4.3 Alcune note pratiche in merito alla natura stocastica delle
durate dei lavori . . . . . . . . . . . . . . . . . . . . . . . . . . 59

i
ii INDICE

4.4 Bilanciamento dei carichi in una linea di produzione . . . . . . 60


4.4.1 Trade-off tra dimensionamento e bilanciamento . . . . 63
4.5 Rappresentazione e soluzione di un problema di bilanciamento 64
4.5.1 Trasformazione di formati . . . . . . . . . . . . . . . . 65
4.6 Ulteriori vincoli in fase progettuale . . . . . . . . . . . . . . . 68
4.7 Formulazioni di vincoli logici . . . . . . . . . . . . . . . . . . . 69
4.8 Alcuni casi di studio . . . . . . . . . . . . . . . . . . . . . . . 72
4.8.1 Analisi di alcuni aspetti dei problemi proposti . . . . . 75
4.9 Coefficienti di inattività e di efficienza . . . . . . . . . . . . . . 78
4.10 Work in process e tempo di attraversamento . . . . . . . . . . 78
4.11 Bilanciamento Multi-Prodotto e a Prodotto Misto . . . . . . . 79
4.11.1 Linee Multi-prodotto . . . . . . . . . . . . . . . . . . . 80
4.11.2 Linee a Prodotto Misto . . . . . . . . . . . . . . . . . . 80
4.12 Vincoli temporali. Linee push e pull . . . . . . . . . . . . . . . 83
4.13 Sequenziamento in una linea di produzione . . . . . . . . . . . 85
4.14 Gestione dei tempi di set up . . . . . . . . . . . . . . . . . . . 89
4.15 Determinazione della linea più corta . . . . . . . . . . . . . . . 92
Capitolo 1

I sistemi di produzione

1.1 Generalità
Per sistema si intende un insieme di elementi interagenti, coesi al raggiungi-
mento di un obiettivo. In particolare un sistema è caratterizzato da:
Obiettivi: l’insieme degli scopi che giustificano l’esistenza del sistema;
Struttura: gli elementi che lo compongono, raggruppabili in diversi sotto-
sistemi;
Processi: le attività svolte dagli elementi della struttura, i cui effetti sono
rivolti sia all’interno del sistema stesso, che all’esterno;
Interrelazioni: le relazioni che intercorrono fra i sotto-sistemi, fra i processi,
fra i sotto-sistemi e i processi.
In generale, qualsiasi tipo di organizzazione può essere descritta secondo
un approccio sistemico, specificandone gli obiettivi, le parti, i processi e le
interrelazioni. Comprendere il sistema cosı̀ descritto, allora, corrisponderà a
comprendere il comportamento dell’organizzazione nel suo insieme.
Gli obiettivi di una azienda sono i suoi fini istituzionali e variano a secon-
da della tipologia d’azienda: per un’azienda pubblica di servizi, l’obiettivo
è quello di fornire alle migliori condizioni possibili di qualità e di costo un
insieme di servizi (di trasporto, di comunicazione, etc.); per un’azienda pri-
vata l’obiettivo è quello di ottenere degli utili, attraverso la progettazione, la
produzione e la vendita di beni.

1
2 CAPITOLO 1. I SISTEMI DI PRODUZIONE

Per un’azienda di produzione, in particolare, si può senza dubbio affer-


mare che il principale obiettivo sia quello di creare valore, sia per i clienti
che soddisfano una propria utilità nell’acquisizione dei beni, sia per se stessa,
con l’ottenimento di un profitto monetario dalla vendita dei prodotti.
Le parti di una azienda sono gli elementi costitutivi dell’azienda stessa.
E’ utile notare come tra questi non vi sono solo gli elementi fisici (macchine,
impianti, etc.), ma anche delle pure unità organizzative (direzioni, servizi,
uffici, etc.). Un sistema di produzione è costituito da insiemi interagenti di
operazioni (task), di materiali, di risorse, di prodotti, di piani e di eventi. I
piani contengono i piani di processo, ovvero i percorsi (routing) degli elementi
nel sistema, e i piani di produzione.
I processi sono tutte le funzioni necessarie per conseguire gli obiettivi
operativi che l’azienda si prefigge, e si attuano all’interno della struttura.
L’obiettivo operativo di un sistema manifatturiero è la produzione, ovvero il
processo di trasformazione di materie prime in prodotti finiti.
Per poter quindi comprendere meglio i processi di una azienda, è oppor-
tuno approfondire il concetto di risorsa. Per risorsa aziendale si intende ogni
entità che l’azienda utilizza nei suoi processi per perseguire i propri obiettivi
operativi. Sono risorse i prodotti o i servizi offerti dall’azienda, i materiali
utilizzati, gli immobili, ma sono risorse anche il denaro e le persone utiliz-
zate per produrre. Oltre alle risorse citate, che sono esempi delle cosiddette
risorse interne, si devono anche considerare le risorse esterne, sulle quali
l’azienda opera soltanto in maniera indiretta quali, ad esempio, l’ambiente
sociale e gli operatori economici.
L’acquisizione delle risorse per una azienda manifatturiera è un momento
fondamentale del processo produttivo dato che ad ogni risorsa è associato
un costo. Inoltre, la scelta di una risorsa tecnologicamente più avanzata di
un’altra può voler significare una maggior rapidità di esecuzione e precisione
del processo a cui essa viene associata.
Nella letteratura si trovano un gran numero di classificazioni delle risorse
di una azienda. Specificatamente per un sistema manifatturiero le risorse
possono distinguersi in:

Risorse materiali: sono tutte le risorse previste dalla distinta base di un


prodotto, ovvero le risorse necessarie sui diversi livelli di lavorazione
per la realizzazione del prodotto. La quantità di risorsa da acquisire
1.1. GENERALITÀ 3

o da produrre, e l’istante in cui ciò vada fatto (funzione del tempo di


consegna del prodotto) viene stabilita tramite dei sistemi di pianifica-
zione del fabbisogno, che si avvalgono di vari criteri decisionali (MRP,
JIT, etc.).

Risorse produttive proprietarie: sono tutte le risorse impiantistiche e


macchinarie gestite direttamente e utilizzate per realizzare la produ-
zione stessa. Il costo di disponibilità di tali risorse è fisso e può com-
prendere i costi di ammortamento, i costi di manutenzione ed i costi di
alimentazione. L’ambito operativo non può intervenire sensibilmente
su tali costi, ma può perseguire la massima produttività; tale obiettivo
viene tipicamente definito “saturazione delle risorse produttive.

Risorse operative: sono le risorse necessarie e non strettamente produttive


(risorse umane). Il loro utilizzo è commisurato al fabbisogno. Compito
della programmazione operativa è gestire gli impegni di risorse uma-
ne in maniera flessibile e coerente con quella delle risorse produttive.
Inoltre risorse operative e risorse produttive costituiscono i centri di la-
voro che rappresentano un vincolo importante sulla capacità produttiva
stessa.

Risorse strumentali: sono risorse la cui gestione riveste importanza stra-


tegica per il vincolo sulla capacità produttiva. La programmazione
operativa deve gestire tutte le situazioni di contemporaneità dal mo-
mento che un particolare attrezzo, del quale esiste un solo esemplare,
è in grado di penalizzare la capacità produttiva di più centri di lavoro.

Risorse produttive esterne: i motivi per i quali si adotta una lavorazione


in conto terzi possono essere sistematici o temporanei; nel caso della
pianificazione e programmazione della produzione si ricorre a questo
tipo di soluzione, dopo avere saturato le risorse produttive interne,
qualora la capacità produttiva dovesse risultare insufficiente. A livello
di programmazione aggregata vengono stipulati accordi preliminari con
i terzisti cosı̀ da poterli considerare, in fase di programmazione opera-
tiva, come unità di lavorazione con capacità, tempi medi di risposta e
costi già definiti.
4 CAPITOLO 1. I SISTEMI DI PRODUZIONE

A partire dalle risorse è possibile costruire un modello del sistema di


produzione e dei suoi processi, e definire poi le unità strutturali nelle quali
avvengono i processi e sono quindi gestite le risorse.
Una volta costruito il modello del sistema, per comprenderne il compor-
tamento, si devono individuare le interrelazioni tra gli elementi. La caratte-
ristica privilegiata in questo senso è il flusso di spostamento degli elementi
(materiali, prodotti, informazioni, risorse) all’interno dei confini del siste-
ma, e quindi l’analisi del cambiamento di stato del sistema stesso che questo
genera nel tempo.
I materiali, vengono spostati attraverso il personale impiegato, i mezzi
di movimentazione, le macchine, e subiscono le lavorazioni tali da essere
trasformati in prodotti. Le risorse sono assegnate ai task, che ne hanno
bisogno per effettuare tali trasformazioni. Gli eventi sono gli istanti di tempo
in cui le risorse iniziano e terminano un task. L’informazione sullo stato delle
risorse, dei materiali e dei prodotti, indica lo stato del sistema in ogni istante
di tempo.

1.2 I principi dei sistemi manifatturieri


Come per tutta l’ingegneria, anche lo studio dei sistemi manifatturieri si
basa su dei principi o leggi. Questi che seguono sono le principali leggi che
regolono tale studio.

• Prima legge: Legge di Little. Il work in progress nei sistemi ma-


nifattuerieri è dato dal prodotto tra il tasso di produzione ed il tempo
di attraversamento nel sistema. Tale legge prende il nome di legge di
Little (Little 1961) ed è probabilmente la più conosciuta nei sistemi
manifatturieri. Il WIP ed il tempo di attraversamento sono intesi come
valori medi. La legge si applica a tutti i livelli del sistema e va intesa
a regime nel sistema. Quindi, fissato un tasso di produzione, il WIP
varia in modo direttamente proporzionale al valore del tempo di at-
traversamento. La minimizzazione del WIP passa quindi attraverso la
minimizzazione del tempo di attraversamento che si ottiene attraverso
lo spostamento del carico massimo del sistema a monte e attraverso la
riduzione del carico massimo del sistema. La minimizzazione del WIP
comporta una riduzione della quantità di materiale nel sistema con una
1.2. I PRINCIPI DEI SISTEMI MANIFATTURIERI 5

conseguente riduzione dei costi associati al mantenimento a scorta e al


controllo del processo produttivo.

• Seconda legge: La materia si conserva. I modelli manifatturieri


sono progettati con l’ipotesi di soddisfare equazioni di bilanciamento
mostrando che la differenza tra il materiale che entra in un’area di
lavoro e quello che esce deve essere uguale alla quantità accumulata in
magazzino. La legge vale ad ogni livello, sia di area di lavoro che di
sistema complessivo.

• Terza legge: Più grande è lo scopo del sistema, meno affidabile


è il sistema. Sistemi produttivi di grandi dimensioni sono per loro
natura difficili di progettare, coordinare e mantenere. Un semplice
risultato dalla teoria dell’affidabilità è che se nel nostro sistema abbiamo
n componenti indipendenti ciascuno con affidabilità ri , con i = 1, . . . , n,
allora la probabilità che l’intero sistema sia operativo è ni=1 ri . Dato
Q

che ri ≤ 1 aggiungere componenti al sistema implica una riduzione


dell’affidabilità complessiva. Naturalmente, si possono fare aggiunte in
parallelo e miglioramenti locali sui singoli componenti per aumentarne
l’affidabilità, ma la direzione generale dell’affidabilità rimane quella di
diminuire all’aumentare della complessità del sistema. Supponiamo di
raddoppiare lo scopo del sistema, vale a dire i componenti che devono
essere operativi nel sistema per il suo funzionamento. Il nuovo sistema
avrà quindi n0 = 2n componenti. Assumiamo inoltre che l’affidabilità di
questi sia uguale per tutti ovvero ri = r ed ri0 = r0 . Il nuovo sistema avrà
la stessa affidabilità del precedente se rn = r02n . Questo si raggiunge
quando rn = r0.5 . Se per esempio r = 0.9 allora si dovrà avere r0 '
0.95. Raddoppiare quindi la dimensione del sistema implicherà che
l’inattività dei suoi componenti dovrà essere ridotta della metà.

• Quarta legge: Gli oggetti decadono. Nella progettazione dei si-


stemi manifatturieri si deve tenere conto che i sistemi decadono al pari
dei macchinari che lo compongono. Quindi anche un sistema flessibile
progettato per durare il più a lungo nel tempo tenderà a usurarsi nel
tempo al pari delle macchine obsolete. La flessibilità aiuta nell’adat-
tamento al cambiamento dell’ambiente nel ciclo di vita, ma il ciclo di
vita è scarsamente influenzato dalla flessibilità.
6 CAPITOLO 1. I SISTEMI DI PRODUZIONE

• Quinta legge: La complessità cresce esponenzialmente. Se un


sistema ha m componenti, ciascuno dei quali può trovarsi in n stati
differenti, allora il sistema ha nm possibili stati complessivi. Ciscuno
di questi deve essere considerato nella progettazione del sistema.

• Sesta legge: La tecnologia migliora. In contrapposizione con la


quarta legge dove gli oggetti che compongono il sistema decadono in
termini di efficacia e capacità di soddisfare la domanda del mercato, bi-
sogna tenere in conto il fatto che all’esterno c’è un continuo lavoro verso
il miglioramento delle tecnologie e quindi quello che oggi rappresenta
la frontiera in questi termini domani sarà superato e andrà aggiornato.

• Settima legge: I componenti del sistema si comportano in mo-


do casuale. Le operazioni che eseguiamo nel sistema non avranno mai
la stessa durata, anche se sono esattamente le stesse ad ogni ciclo pro-
duttivo. Inoltre, proprio per la natura degli eventi, è difficile predirre
con precisione la durata di ogni evento. Possiamo associare ad esso un
valore atteso ed una varianza. Ciononostante spesso si assumerà che
la variabilità rispetto al valor medio sarà poco significativa e quindi si
potrà modellare il sistema in prima approssimazione sotto un’ipotesi di
determinismo.

• Ottava legge: La razionalità umana è limitata. Simon (1969)


discusse ampiamente questo concetto di razionalità limitata ed i limi-
ti della capacità del ragionamento umano. Noi tendiamo ad avere un
pensiero lineare che considera un’attività alla volta. La nostra memoria
di breve termine è limitata a sette item e la nostra visione concettuale
è limitata alle esperienze del mondo che ci circonda. Questo, unito al-
l’esponenzialità riportata nella quinta legge, ci porta a dire che spesso
bisogna tendere non all’ottimalità di una soluzione ma al soddisfaci-
mento dei requisiti che essa deve soddisfare e chiedersi quando una
soluzione è sufficientemente buona, almeno per quel momento, e poi
capire gli spazi per un possibile suo miglioramento.

• Nona legge: Combinare, semplificare e eliminare permettono


di risparmiare tempo, denaro ed energia. Il concetto legato ai
vantaggi che si hanno dalla combinazione e semplicazione di attività
1.3. DESCRIZIONE DEI PRINCIPALI SISTEMI PRODUTTIVI 7

necessarie e all’eliminazione di quelle non necessarie è evidente e non


serve stressarlo ulteriormente. Ogni attività consuma tempo, denaro ed
energia e quindi tali concetti sono strettamente legati ad un risparmio
in ognuna di queste direzioni.

1.3 Descrizione dei principali sistemi produt-


tivi
I sistemi manifatturieri possono essere classificati in base a diverse caratte-
ristiche. Tra queste, quella riferita al flusso dei materiali che viaggiano nel
sistema è una delle più diffuse ed efficaci, in quanto il flusso caratterizza l’in-
terazione tra gli elementi ed i processi del sistema stesso. In questa ottica un
sistema di produzione si può classificare secondo quattro differenti categorie:

• sistemi orientati al prodotto,

• sistemi orientati al processo,

• tecnologie di gruppo,

• sistemi a postazioni fisse.

I sistemi orientati al prodotto sono progettati attorno al prodotto.


Essi sono noti anche come linee di produzione dato che il prodotto, una volta
entrato nel processo, subisce le operazioni in modo sequenziale, senza mai
tornare su macchine o risorse in generale che hanno già effettato lavorazioni
sul prodotto. Quindi i materiali entrano nella linea e procedono nello stes-
so verso fino all’uscita del sistema. Indubbiamente, le linee di produzione
sono i più efficienti ed i più efficaci “layout” produttivi quando si ha a che
fare con elevati volumi produttivi. Formare una disposizione delle macchine
e delle risorse orientata al prodotto significa rendere dedicati i processi ri-
chiesti da quest’ultimo; quindi c’è una tendenza di questi sistemi ad essere
economicamente più costosi in termini di macchine complessive utilizzate,
a meno che il prodotto abbia un volume tale da assorbire il costo per riar-
rangiare le varie “facility” in una linea e il costo dovuto al deprezzamento
dell’equipaggiamento mentre la linea è in essere.
8 CAPITOLO 1. I SISTEMI DI PRODUZIONE

Spesso però molti prodotti non hanno una domanda sufficiente per giu-
stificare una linea. Infatti, le macchine scelte per un processo in linea non
sono facilmente adattabili per altri prodotti. La risposta a necessità diverse,
dove si può avere a che fare con prodotti a domanda bassa o che richiedono
variazioni sostanziali in tempi decisamente brevi, è data dall’uso di job shop
o dei cosı̀ chiamati sistemi produttivi orientati al processo. In questo
tipo di layout i “reparti” o “centri” di lavoro sono composti da macchine in
grado di poter eseguire lo stesso tipo di lavorazione. In un sistema produt-
tivo di questo tipo, ad esempio, un reparto può essere formato da torni, un
altro da presse ed un altro ancora da macchinari per test termici. Parti di
un prodotto assegnate ad uno stesso centro di lavoro possono richiedere lo
stesso tipo di lavorazione con attrezzaggi diversi e tempi di set-up diversi.
Sistemi produttivi di tipo group technology possono essere utilizzati per
convertire sistemi orientati al processo in sistemi pseudo orientati al prodotto.
Parti simili di un prodotto, ovvero parti che richiedono processi lavorativi
simili, sono raggruppati insieme in quantità sufficienti da giustificare le loro
macchine “personali”. Tale raggruppamento forma una cella di lavorazione
che è atta a produrre esclusivamente questo insieme di parti.
Un sistema a postazioni fisse si realizza in caso di prodotti, quali una
nave, un palazzo, un aeroplano, che a causa della loro elevata dimensione
rendono impraticabile (spesso impossibile come nel caso di un edificio) lo
spostamento del prodotto tra le operazioni da processare. A differenza delle
altre tipologie di sistemi produttivi appena discussi, nei sistemi a postazioni
fisse tutti i processi produttivi “girano” attorno al prodotto.
La classificazione dei sistemi produttivi può essere fatta attraverso lo
schema riportato in Figura 1.1
In base allo schema in figura si possono utilizzare tre principali caratte-
ristiche per classificare un sistema di produzione:

• Il modo di rispondere alla domanda;

• Il modo di realizzare il prodotto;

• Il modo di realizzare il volume di produzione.

Relativamente al modo di rispondere alla domanda possono essere indi-


viduati tre differenti scenari:
1.3. DESCRIZIONE DEI PRINCIPALI SISTEMI PRODUTTIVI 9

Figura 1.1: Classificazione dei sistemi di produzione.


10 CAPITOLO 1. I SISTEMI DI PRODUZIONE

• Produzione su commesse singole: l’azienda riceve ordini per diversi


prodotti o lotti di piccole dimensioni per i quali elabora il processo
produttivo che può andare dalla progettazione (totale o parziale) allo
sviluppo dei cicli di lavorazione fino alla produzione finale.

• Produzione su commesse ripetitive: l’azienda lavora su catalogo o co-


munque su una gamma di prodotti ben definiti; vengono definiti anti-
cipatamente tutte le caratteristiche progettuali e tecnologiche del pro-
dotto, ma la produzione inizia solo dopo il manifestarsi dell’ordine del
cliente.

• Produzione per magazzino (su previsione): l’azienda realizza, in gene-


re prima del maniferstarsi degli ordini, volumi elevati di prodotti che
colloca in un magazzino da cui successivamente servirà i clienti.

Nello schema assume particolare rilievo la classificazione secondo il modo


di realizzare il prodotto. A volte gli elementi che costituiscono il bene fina-
le non possono essere facilmente identificati: il prodotto non può pertanto
essere scomposto a ritroso, poichè i componenti originali non sono più distin-
guibili o hanno cambiato natura. In questi casi si parla di produzione per
processo, ne sono un esempio i procedimenti utilizzati per ottenere acciaio,
carta e cemento. Altre volte il bene ottenuto è costituito da un certo numero
di componenti, o parti, in genere di diversa natura. Si può parlare allora di
produzione per parti o manifatturiera; si pensi per esempio a prodotti quali
automobili, elettrodomestici e apparecchiature elettroniche. Una caratteri-
stica immediata di questo tipo di produzione è che un prodotto richiede una
fase di assemblaggio con la conseguenza che il processo produttivo associato
comprende quindi sia fasi di fabbricazione che fasi di montaggio. In genere il
primo tipo di produzione (per processo) è caratterizzata da un ciclo tecnolo-
gico ben definito e vincolante, si parla perciò di ciclo tecnologico obbligatorio.
I procedimenti del secondo tipo invece sono caratterizzati da una grande va-
rietà nei cicli tecnologici delle parti componenti, cicli che spesso ammettono
numerose varianti, e possono essere pertanto definiti come cicli tecnologici
non obbligati.
L’ulteriore classificazione che ci rimane da analizzare è quella in base
alla realizzazione del volume di produzione. Anche in questa classificazione
possiamo individuare tre tipologie di produzioni:
1.3. DESCRIZIONE DEI PRINCIPALI SISTEMI PRODUTTIVI 11

Figura 1.2: Classificazione delle tipologie di sistemi di produzione.


12 CAPITOLO 1. I SISTEMI DI PRODUZIONE

• Unitarie: la variabilità dei cicli di produzione è molto elevata e l’attività


produttiva è organizzata per ottenere le quantità richieste dai singoli
ordini.

• Per lotti: i cicli sono meno variabili nel tempo, i prodotti vengono rea-
lizzati per lotti di dimensioni anche superiori ai fabbisogni immediati
in modo da formare delle scorte destinate a soddisfare eventuali richie-
ste quando gli impianti saranno impegnati per la realizzazione di altri
prodotti.

• Continue: i cicli restano costanti nel tempo anche per periodi estesi, si
ha quindi la produzione ininterrotta di un prodotto dalle caratteristiche
omogenee nel tempo e un magazzino polmone.

Le correlazioni esistenti tra caratteristiche del prodotto e le tipologie del


processo di fabbricazione da impiegare sono ben rappresentate dalla matrice
prodotto - processo, vedi Figura 1.3.
Le condizioni ideali sono quelle corrispondenti ai punti della diagonale
principale (area di coerenza). In tal senso un’azienda che lavora pezzi con
caratteristiche assai variabili e ciascuno in serie pressochè uniche, è oppor-
tuno che impieghi un processo di lavorazione discontinuo di tipo job shop.
Un’azienda la cui produzione è di tipo standard, limitata ad un numero non
elevato di modelli, ciascuno però fabbricato in grandi quantità, fa ricorso ad
un processo produttivo di tipo ripetitivo organizzato su linee di assemblag-
gio. La produzione di beni di largo consumo, o comunque richiesti in grandi
quantità, dovrà necessariamente operare mediante processi di lavorazione
continui.
Il posizionamento dell’azienda in punti al di sopra o al di sotto della
diagonale principale è indicativo di condizioni di lavoro non perfettamente
bilanciate, sulle quali si possono formulare le considerazioni che seguono:

• Un punto al di sopra della diagonale indica che:

– Gli investimenti fissi realizzati sono limitati;


– Il sistema produttivo ha una struttura sufficientemente flessibi-
le da consentire variazioni abbastanza rapide dell’assetto produt-
tivo in caso di mutamento della domanda. Infatti la parte al-
1.3. DESCRIZIONE DEI PRINCIPALI SISTEMI PRODUTTIVI 13

Figura 1.3: Matrice prodotto - processo.


14 CAPITOLO 1. I SISTEMI DI PRODUZIONE

ta della matrice è caratterizzata da macchine “general purpose”


organizzate in base al layout “di processo”.
– I costi di fabbricazione sono elevati giacchè vengono impiegate
nella produzione macchinari ed attrezzature non specialistiche.

• Un punto al di sotto della diagonale indica che:

– Gli investimenti fissi realizzati sono molto elevati in quanto sono


stati installati impianti e macchinari “specialistici”, costruiti su
misura per lo specifico processo che si intende sviluppare.
– Il sistema produttivo ha una struttura scarsamente flessibile, do-
vuta alla natura specialistica delle risorse utilizzate. In tal senso
risulta difficile adeguare la produzione ad eventuali mutamenti
nelle caratteristiche del prodotto desiderato.
– I costi unitari di fabbricazione sono ovviamente i più bassi pos-
sibili, in virtù delle attrezzature e delle macchine specialistiche
impegnate nella produzione.

In definitiva la matrice prodotto processo dà l’idea del corretto equilibrio


tra economia di scala e flessibilità operativa. L’automazione flessibile con-
sente di realizzare anche piccoli volumi di produzione in maniera rapida ed
economica. In tal senso l’automazione flessibile induce ad uno spostamento
a destra della diagonale principale; ossia rende l’organizzazione del lavoro di
tipo discontinuo job shop conveniente anche nel caso di produzione di articoli
in piccole quantità ma molto numerosi e diversificati.
Dopo aver classificato i vari tipi di sistemi produttivi e dopo avergli dato
locazione all’interno della matrice prodotto - processo, ora analizzeremo la
disposizione delle stazioni operative, ovvero studieremo il loro layout.
La scelta del layout, per quanto riguarda i processi di produzione mani-
fatturiera viene presa in base a vari parametri che possono essere:

1. Numero di movimentazioni (materiali - uomo -macchina)

• Layout a posizione fissa;


• Layout per reparti e linee di lavorazione o montaggio.

2. Altro:
1.3. DESCRIZIONE DEI PRINCIPALI SISTEMI PRODUTTIVI 15

Figura 1.4: Disposizione delle stazioni operative.


16 CAPITOLO 1. I SISTEMI DI PRODUZIONE

• Mix relativi al prodotto;


• Standardizzazione del prodotto e ripetitività delle produzioni;
• Servizio al cliente;
• Complessità della produzione;
• Flessibilità del sistema produttivo;
• Produttività e grado di automazione.

Nella produzione per reparti (job shop) ogni unità di lavoro o ordine di
lavorazione (costituito da un unico pezzo o da un certo numero di pezzi -
lotto o batch - che si muovono assieme, per esempio in un contenitore o pal-
let), richiede l’esecuzione di una serie di operazioni da parte di un gruppo
di centri di lavoro (macchine, stazioni, gruppi di operatori) in una sequenza
preassegnata (ciclo tecnologico) che eventualmente può ammettere alternati-
ve. In queste organizzazioni produttive la varietà dei cicli da realizzare è tale
che l’unica forma di ordinamento possibile è quella di aggregare i macchinari
in reparti per il tipo di lavorazione realizzabile, vedi Figura 1.5
I flussi produttivi tendono pertanto ad essere via via più intrecciati pas-
sando da job shop impiegati in qualche misura per commesse ripetitive (ci-
cli con qualche interferenza) all’impiego in produzioni su commesse singole
(possibilità di cicli con sensibili interferenze), vedi Figura 1.6
La creazione di reparti dotati di omogeneità tecnologica, oltre a facilitare
lo scambio di competenze fra operatori e la supervisione da parte dei capi
di primo livello, mette a disposizione una potenzialità produttiva (espressa
per esempio in ore macchina disponibili per l’esecuzione di una data classe
di operazioni tipiche del reparto) variamente utilizzate per le produzioni che
la richiedono, a tutto vantaggio della flessibilità operativa (tipica di questa
soluzione).
La produzione per celle manifatturiere si ha quando è possibile individua-
re delle famiglie di pezzi con cicli di lavorazione sufficientemente omogenei
(secondo i criteri della tecnologia a gruppi, o Group Technology), si possono
creare gruppi (celle) di macchine (questa volta di natura diversa) adibite alle
lavorazioni necessarie per ottenere l’intera famiglia di pezzi, vedi Figura 1.7
Si riduce cosı̀ fortemente il grado di intreccio dei flussi produttivi rispet-
to alle soluzioni del job shop (con vantaggi in termini di semplificazione dei
trasporti e della gestione della produzione); in parallelo diminuisce però la
1.3. DESCRIZIONE DEI PRINCIPALI SISTEMI PRODUTTIVI 17

Figura 1.5: Schema produzione per reparti.


18 CAPITOLO 1. I SISTEMI DI PRODUZIONE

Figura 1.6: Schema produzione per reparti.


1.3. DESCRIZIONE DEI PRINCIPALI SISTEMI PRODUTTIVI 19

Figura 1.7: Schema produzione per celle.


20 CAPITOLO 1. I SISTEMI DI PRODUZIONE

flessibilità dell’impianto (ogni cella è infatti dedicata alla lavorazione di una


sola famiglia). In questo tipo di processo (flow shop), tutti i lavori da ese-
guire richiedono l’intervento di una stesso numero di macchine, l’ordine delle
operazioni è fisso ed uguale per tutti (routing fisso), i tempi di lavorazione su
ogni macchina possono essere differenti da job a job, il flusso di lavorazione
è unidirezionale. Si possono, inoltre, classificare diversi tipi di flow shop:

• Flow shop puro: tutti i lavori richiedono un’operazione su ogni mac-


china.

• Flow shop generico: i lavori possono non utilizzare qualche macchina


tra quelle appartenenti al flusso di lavorazione.

• Flow shop con sorpasso tra i lavori: la sequenza di lavorazione sulle


macchine non è la stessa.

• Flow shop senza sorpasso: la sequenza di lavorazione sulle macchine è


la stessa.

I punti di forza di una produzione per celle possono essere i seguenti:

• Semplificazione dei flussi di materiali;

• Maggiore semplicità gestionale;

• Riduzione dei tempi di set-up;

• Riduzione dimensione lotti;

• Riduzione tempi di attraversamento riduzione WIP;

• Riduzione occupazione spazio;

• Riduzione variabilità dei tempi di consegna

• Allargamento delle mansioni;

• Arricchimento delle mansioni;

• Identificazione delle responsabilità di prodotto e responsabilità di pro-


cesso;
1.3. DESCRIZIONE DEI PRINCIPALI SISTEMI PRODUTTIVI 21

• Maggiore livello di conformità qualitativa del prodotto.

Mentre i vari punti di debolezza possono essere:

• Difficoltà di bilanciamento dei carichi fra celle;

• Maggiore rigidità a variazioni di mix, di volume, e a introduzione di


nuovi prodotti;

• Impiego, in alcuni casi, di un numero di macchine superiore rispetto


all’organizzazione a reparti;

• Presenza di operazioni fuori cella difficili da gestire;

• Maggiore esposizione ai guasti;

• Problemi di coesistenza con sistemi non organizzati in celle;

Le linee di produzione sono costituite da un insieme di macchine proget-


tate per realizzare rigidamente una sequenza prefissata di lavorazioni, per
prodotti da ottenere in grandi quantità e con varianti limite, vedi Figura 1.8
In questo caso il flusso dei materiali è lineare ed è incorporato nel processo
(in genere automatizzato). La gestione della produzione è certamente più
semplice, ma la flessibilità dell’impianto è minima.
Le scelte del tipo di layout vengono fatte in base ai campi di applicazione
delle tecnologie Nello schema riportato in Figura 1.9 è possibile vedere i
diversi campi di applicazione dei vari tipi di assetti al variare del mix e del
volume dei prodotti realizzati.
Mentre nello schema in Figura 1.10 è possibile vedere i diversi campi di
applicazione dei vari tipi di assetti al variare della flessibilità di automazione:
Il confronto fra le varie soluzioni è riportato nella tabella in Figura 1.11.
22 CAPITOLO 1. I SISTEMI DI PRODUZIONE

Figura 1.8: Schema produzione per linea.


1.3. DESCRIZIONE DEI PRINCIPALI SISTEMI PRODUTTIVI 23

Figura 1.9: Trade-off volumi e mix di produzione.


24 CAPITOLO 1. I SISTEMI DI PRODUZIONE

Figura 1.10: Trade-off automazione e flessibilità.


1.3. DESCRIZIONE DEI PRINCIPALI SISTEMI PRODUTTIVI 25

Figura 1.11: Confronto produzione in linea e produzione per reparti.


26 CAPITOLO 1. I SISTEMI DI PRODUZIONE
Capitolo 2

I modelli matematici per il


supporto alle decisioni

2.1 L’approccio modellistico-ottimizzatorio.


Nell’atto di prendere delle decisioni, cioè di scegliere la migliore alternativa
tra quelle disponibili, l’uomo si avvale sempre, in modo conscio o più spesso
inconscio, di un modello, ovvero di una rappresentazione semplificata
ma efficace della realtà.
Tra i vari modelli generabili dal decisore, risultano rilevanti i modelli
matematici, la cui caratteristica è quella di fornire al problema una strut-
tura matematica, se non proprio algebrica, che consente di esaminare
un numero elevato di alternative, di analizzare la sensibilità alla
variazione dei parametri ambientali e di valutare l’esistenza e la
computabilità di una soluzione.
Un gran numero di problemi concernenti l’individuazione di decisioni sog-
gette a vincoli di diversa natura può essere modellato e risolto con i metodi
propri della programmazione matematica, termine con cui si indica la
ricerca di una soluzione ottimale mediante l’uso di modelli ma-
tematici. Le applicazioni che essa trova nel mondo reale spaziano dalla
finanza all’agricoltura, dalla pianificazione della produzione industriale alla
distribuzione di energia elettrica e allo studio delle reti.
L’approccio logico-risolutivo ai problemi decisionali tramite programma-
zione matematica è noto come approccio modellistico-ottimizzatorio, e preve-

27
28CAPITOLO 2. I MODELLI MATEMATICI PER IL SUPPORTO ALLE DECISIONI

de due distinte ma integrate fasi di analisi al problema reale:

1. Rappresentazione tramite un modello matematico in grado di iden-


tificare i parametri e le variabili significative del problema, e le relazioni
che intercorrono tra essi;

2. Utilizzo di algoritmi di soluzione per determinare una soluzione del


problema e valutarne l’ottimalità.

La Figura 2.1 mostra tale processo in modo schematico.

Figura 2.1: Dal problema alla soluzione.


2.1. L’APPROCCIO MODELLISTICO-OTTIMIZZATORIO. 29

La prima fase del processo riguarda la definizione e l’analisi del problema.


In ambito industriale, in particolare per i sistemi di produzione, si tratta di
comprendere la natura del problema e identificare le decisioni che si devono
intraprendere in funzione del livello organizzativo cui afferisce il decisore, ma
su questo si tornerà con più precisione nel Capitolo 3.
Analizzato il problema, si identifica il modello decisionale di riferimento,
individuando le strategie decisionali che sembrano più idonee, quindi i para-
metri significativi per il problema in questione, e le relazioni logico-funzionali
che sussistono tra questi. Questa fase del processo analitico-risolutivo è mol-
to importante e va eseguita con molta cura, perchè dalla definizione degli
obiettivi e delle strategie mediante le quali raggiungerli dipende la consisten-
za del modello.

Nella fase successiva si provvede alla formulazione matematica del mo-


dello, ovvero alla descrizione formalizzata mediante linguaggio algebrico dei
parametri significativi e delle relazioni che tra essi sussistono. In particolare,
i parametri caratteristci del problema saranno tradotti in variabili e
le relazioni in vincoli.

L’utilizzo di tecniche risolutive, quali algoritmi, tecniche di simulazio-


ne o classiche tecniche analitiche, consentono di dedurre una soluzione (più
frequentemente un insieme di soluzioni) per il problema. Questa fase del pro-
cesso risolutivo è stata appositamente distinta dalla fase di analisi e studio
della soluzione, perchè l’utilizzo delle tecniche risolutive prevede una robu-
sta analisi iniziale sulle caratteristiche della soluzione e degli obiettivi che si
intendono raggiungere, al fine di “selezionare” la tecnica più idonea. Per-
tanto, si può affermare: non esiste una tecnica risolutiva “migliore”
in assoluto, ma la “bontà” di una tecnica è funzione delle soluzio-
ni e degli obiettivi che si intende perseguire, nonchè (ovviamente)
della corretta implementazione delle precedenti fasi nel processo
analitico-risolutivo.
La successiva fase prevede la caratterizzazione delle soluzioni trovate, lo
studio delle relative proprietà analitiche nonchè la analisi della stabilità di
tali soluzioni al variare delle caratteristiche del problema.
La fase di validazione ha infine una funzione rilevante, in quanto prevede:
30CAPITOLO 2. I MODELLI MATEMATICI PER IL SUPPORTO ALLE DECISIONI

• una analisi più approfondita della soluzione e della coerenza che questa
presenta rispetto alla applicazione pratica per cui si è sviluppato il
modello. Eventuali inammissibilità (pratiche e non analitiche) sono
fondamentali per poter “correggere” il modello stesso;

• analisi della “bontà” del modello nel suo complesso: in funzione dei
risultati ottenuti è importante chiedersi se il modello elaborato è effet-
tivamente adeguato alla soluzione del problema in esame.

Si noti infine come ogni fase del processo, seppur distinta, sia integrata
con le altre, e come il controllo delle fasi permetta un feedback essenziale per
il continuo miglioramento e sviluppo del modello logico-matematico.

2.2 La formulazione dei modelli.


In termini molto generali un problema di programmazione matematica può
essere formulato nel modo seguente:

max f (a)
st a∈A (2.1)

dove A è l’insieme finito o infinito delle alternative o azioni possibili, a è


l’alternativa generica e la funzione f (a) è la funzione obiettivo che esprime
l’utilità della alternativa a per il decisore. Il problema consiste quindi nel
determinare un’alternativa a∗ ottima, per la quale cioè si abbia:

f (a) ≤ f (a∗ ) ∀a ∈ A

Si noti che l’aver scritto max f (a) non è per nulla restrittivo in quanto un
problema di minimizzazione può essere ricondotto ad uno di massimizzazione
semplicemente cambiando il segno della funzione obiettivo (e naturalmente
viceversa).

Se il numero degli elementi dell’insieme A è finito il problema è concet-


tualmente banale: si tratta di esaminare tutte le alternative e selezionare la
migliore. Dal punto di vista computazionale tuttavia questo modo di proce-
dere che viene detto metodo esaustivo è utilizzabile solo quando il numero
2.2. LA FORMULAZIONE DEI MODELLI. 31

delle alternative è molto limitato. Nel caso contrario, quando cioè il numero
delle alternative è elevato o infinito (in questo caso sorgono anche problemi
di esistenza del massimo: a rigore l’espressione max f (a) andrebbe sostituita
con sup f (a) può tuttavia essere possibile determinare il massimo della f (a)
in un tempo ragionevole sfruttando una qualche particolarità di A e di f (a),
usando cioè qualche particolare metodo di ottimizzazione.

Molto spesso la dimensione e la complessità del problema sono tali che,


anche con l’ausilio di un efficace metodo di ottimizzazione, non è possibile
determinare con sicurezza la soluzione ottima del problema. In tal caso si fa
ricorso ad un metodo euristico cioè ci si limita a cercare una “buona” solu-
zione del problema. Naturalmente può verificarsi il caso in cui la soluzione
determinata attraverso il metodo euristico sia anche ottima, ma la natura
stessa del metodo non fornisce garanzie in tal senso.

La formulazione di un modello è un processo molto delicato, che richede


di individuare gli aspetti più significativi del problema reale che siano anche
facilmente formalizzabili in termini matematici. Tali operazioni non sono
spesso riconducibili ad un procedimento sistematico, e dipendono fortemente
dalla abilità e dalle conoscenze del decisore. Nelle sezioni che seguono, si
indicheranno alcune “regole” di base per la formulazione di modelli mate-
matici. Queste sono da ritenersi puramente indicative, e non costrittive, pur
rappresentando un valido ausilio, o quantomeno un punto di riferimento, per
chi intenda cimentarsi nella elaborazione di modelli per il supporto alle deci-
sioni. Si noti che queste regole, pur essendo di carattere del tutto generale,
sono orientate alla formulazione di modelli per l’ottimizzazione dei sistemi di
produzione, in accordo con il tema generale di questo testo.

2.2.1 Alcune convenzioni.


Indici. Sono usati per numerare gli items (domande di prodotto, scenari,
periodi, prodotti, stazioni lavorative). Si indicano con lettere in ca-
rattere minuscolo, di solito si parte da quelle che si trovano nel mezzo
dell’alfabeto (i, j, k).

Parametri. Sono i valori che si assumono noti prima del momento di rife-
32CAPITOLO 2. I MODELLI MATEMATICI PER IL SUPPORTO ALLE DECISIONI

rimento a cui si riferisce il problema, o che possono essere facilmente


desumibili da altri parametri noti (i vettori di domanda, i costi, le pro-
babilità, le distanze). Si indicano con lettere in carattere minuscolo,
partendo da quelle prossime all’inizio dell’alfabeto (a, b, c).

Variabili decisionali. Sono le informazioni che si vogliono conoscere tra-


mite l’implementazione del modello (localizzazione delle facilities, as-
segnamento, quantità di produzione ottima). Si indicano con lettere
in carattere maiuscolo, di solito si usano quelle localizzate alla fine
dell’alfabeto (x, y, z).

Funzioni obiettivo. Sono le funzioni che si vogliono ottimizzare (cioè mi-


nimizzare o massimizzare). Possono essere costituite anche da una sola
variabile decisionale, ma più spesso si tratta di funzioni di un insieme
di variabili decisionali.

2.2.2 Le 9 regole della formulazione.


1. Definire chiaramente tutti gli indici e gli insiemi. Ad esempio:

I: l’insieme dei prodotti, indicati con l’indice i;


K: l’insieme dei possibili scenari, indicati con l’indice k;
T : l’insieme degli intervalli temporali, indicati con t.

2. Definire distintamente e chiaramente gli indici e gli insiemi, i


parametri e le variabili decisionali.

3. Nel descrivere i parametri e le variabili decisionali a parole,


se un indice appare nella descrizione analitica, deve anche
essere presente in quella verbale. Ad esempio, tra le due seguenti
definizioni:

- dij = distanza tra il sito produttivo i e il cliente j;

- dij = distanza;

solo la prima è corretta.


2.2. LA FORMULAZIONE DEI MODELLI. 33

4. Non lasciare indefiniti gli indici nella funzione obiettivo. Ad


esempio, tra le due seguenti funzioni obiettivo:
P P
min i∈I j∈J hi dij yij

P
min i∈I cij xij
solo la prima è corretta.
5. Deve apparire almeno una variabile decisionale nella funzio-
ne obiettivo e in ciascun vincolo. Ad esempio nella seguente
formulazione:
XX
min hi dij yij
i∈I j∈J
st dij ≥ 0
la funzione obiettivo è scritta correttamente, mentre il vincolo potrebbe
essere sbagliato se dij fosse un valore di distanza in input, e non una
variabile decisionale.
6. Assicurarsi che ogni variabile sia collegata in qualche modo
con le altre. Se cosı̀ non fosse, il problema risulterebbe separabile e con
molta probabilità si avrebbe un errore. Ad esempio, nella formulazione:
X
min hi zi
i∈I
X
st xj = P
j∈J
zi ∈ {0, 1}, ∀i ∈ I
xj ∈ {0, 1}, ∀j ∈ J
le variabili x e z non sono collegate fra loro. Ci sarebbe allora bisogno
di un vincolo di collegamento addizionale, ad esempio del tipo:
X
zi − aij xj ≤ 0, ∀i ∈ I
j∈J

Si osservi, che la regola fornita non impone che ogni variabile sia col-
legata direttamente alle altre, situazione che potrebbe anche portare
alla presenza di vincoli ridondanti, ma altresı̀ richiede che gruppi di
variabili collegate fra loro siano a loro volta collegati.
34CAPITOLO 2. I MODELLI MATEMATICI PER IL SUPPORTO ALLE DECISIONI

7. Se una variabile o una costante inclusa in un vincolo pre-


senta qualche indice, allora deve avvenire una delle seguenti
operazioni:

• Sommare su tutti i valori dell’indice;


• Specificare per quali valori dell’indice è applicato il vin-
colo;

ma non avvenire le operazioni contemporaneamente. Ad esem-


pio, il seguente vincolo:
X
yij = 1, ∀i ∈ I
j∈J

è scritto correttamente, mentre il vincolo:


X
hik dijk yijk ≤ D, ∀i ∈ I
j∈J

non è scritto correttamente, perchè non fornisce indicazioni sull’uso


dell’indice k.

8. Cercare di formulare il problema linearmente (quando possi-


bile!). Questo significa:

• Cercare di evitare moltiplicazioni tra le variabili decisionali, sia


nella funzione obiettivo, che nei vincoli;
• Cercare di utilizzare variabili decisionali lineari;
• Evitare funzioni logaritmiche e trigonometriche;
• Cercare di essere “creativi” nelle trasformazioni delle variabili.

9. Disaggregare i vincoli, quando è possibile. Ad esempio in:

yij ≤ xj , ∀i ∈ I, ∀j ∈ J

c’è una effettiva disaggregazione dei vincoli, che non è presente invece
in: X
yij ≤ |I|xj , ∀j ∈ J
i∈I
Capitolo 3

Ottimizzazione dei sistemi di


produzione.

3.1 Parametri strategici dei sistemi produt-


tivi
La struttura di un sistema produttivo è fortemente condizionata da tre
variabili fondamentali:

• L’interazione a monte con i fornitori.

• L’interazione a valle con i clienti.

• Le caratteristiche del prodotto.

Le prime due rappresentano l’interazione del sistema produttivo con l’e-


sterno e generano un mutamento della struttura interna per un migliore inter-
facciamento con l’ambiente. La terza rappresenta la specificità dell’oggetto
della produzione, attorno alla quale viene costruito il processo produttivo al
fine del conseguimento della conformità del prodotto alle specifiche richieste.
I parametri strategici della produzione sono le variabili interne sulle
quali l’impresa può operare per costruire un’azione che generi all’esterno un
vantaggio competitivo nei confronti dei concorrenti.
Nel 1984 Hayes e Wheelwright, e in seguito Gunn nel 1987, hanno pro-
posto alcuni fattori chiave origine del vantaggio competitivo:

35
36 CAPITOLO 3. OTTIMIZZAZIONE DEI SISTEMI DI PRODUZIONE.

– Capacità Produttiva;

– Livello di servizio;

– Livello Tecnologico;

– Grado di Integrazione;

– Forza Lavoro;

– Qualità;

– Pianificazione della produzione;

– Organizzazione;

– Flessibilità;

– Indice di rotazione delle scorte.

Caratteristica fondamentale di questi parametri è quella di essere indica-


tori quantitativi, essendo possibile migliorare, quindi ottimizzare, la perfor-
mance aziendale solo qualora questa sia misurabile (ricorda: si può migliorare
solo ciò che è misurabile).

3.2 La gestione dei sistemi di produzione


La decisioni prese al fine di ottimizzare la gestione dei sistemi di produzione
svolgono un ruolo di primaria importanza. Solo individuando le strategie da
adottare e pianificando le operazioni da effettuare, infatti si può riuscire a
sopravvivere in un contesto competitivo come quello industriale.
L’attività di pianificazione delle azioni è naturale per l’uomo, che co-
stantemente si trova ad effettuare scelte cercando di prevederne gli effetti
futuri.
A meno che i decisori non abbiano, però, una idea abbastanza chiara su
quale possa essere il futuro, non c’è modo di formulare piani accurati. La
motivazione è che molti fattori determinanti sull’esito delle azioni future su-
biscono variazioni, più o meno apprezzabili. È il caso, ad esempio, di una
3.2. LA GESTIONE DEI SISTEMI DI PRODUZIONE 37

industria manifatturiera che produce e commercializza dei prodotti con carat-


teristiche stagionali, la cui domanda varia notevolmente nel corso dell’anno.
Il problema che si pone il management dell’azienda è:

• Si deve produrre ad un tasso costante, in modo da minimizzare il tur-


nover lavorativo e stabilizzare il flusso di operazioni, o si deve produrre
seguendo la fluttuazione stagionale della domanda per ridurre i costi di
magazzino?

• Supponendo che si decida di seguire la fluttuazione della domanda,


quali sono le azioni giuste da intraprendere in un’ottica di lungo e
medio periodo?

• Quale è il migliore approccio per schedulare le operazioni?

• È più conveniente produrre ogni parte del prodotto, o acquistare alcuni


componenti di questo da terzi?

A tutte queste domande si cerca di fornire una risposta accurata attra-


verso una mirata attività decisonale e di gestione.
Più in dettaglio, la gestione delle aziende manifatturiere avviene attraver-
so l’individuazione delle scelte che, secondo l’orizzonte temporale in cui sono
proiettate, e secondo il coinvolgimento dei diversi livelli aziendali, si possono
suddividere in:

Strategiche : sono le scelte effettuate al livello decisionale più alto. L’obiet-


tivo è determinare le strategie da intraprendere, quindi le caratteristiche
del progetto che si intende realizzare.

Tattiche : sono le scelte effettuate al livello decisionale intermedio, relative


alla gestione della domanda e dei servizi. In questo livello tipicamente
si pianifica il layout di impianto, la gestione di materiali, l’allocazione
delle risorse.

Operative : sono le scelte effettuate al livello decisionale più interno, re-


lative alla realizzazione fisica del prodotto. Tipicamente le decisioni
coinvolgono la scelta del dimensionamento di impianto e lo scheduling
della produzione.
38 CAPITOLO 3. OTTIMIZZAZIONE DEI SISTEMI DI PRODUZIONE.

Nel caso di organizzazioni complesse, quali sono ordinariamente i sistemi


produttivi, però gli obiettivi strategici non possono essere raggiunti in modo
immediato ma necessitano di essere tradotti in sotto-obiettivi sempre più
operativi e dettagliati: formulazione di politiche aziendali, piani operativi,
procedure e regole.
Nel processo di gestione si possono perciò distinguere diversi livelli ge-
rarchici: passando da un livello al successivo gli obiettivi superiori (decisioni
strategiche) vengono frammentati in più sotto-obiettivi; decresce il grado di
astrazione (astrazione dai particolari di realizzazione) e aumenta invece il
carattere operativo e procedurale (passaggio dal che cosa al come). Ogni
fase ha il compito di perseguire gli obiettivi del livello gerarchico superiore,
avvalendosi degli strumenti forniti da quello inferiore.
Gli obiettivi strategici sono strumenti ad ampio raggio d’azione con un
lontano orizzonte di previsione, mentre i piani, i programmi, e le procedure
hanno un livello di dettaglio sempre più spinto.
La gestione è, dunque, un processo dinamico che fa uso di livelli di astra-
zione e aggregazione differenti sia per semplificare la complessità del proble-
ma, sia per far fronte al diverso grado di informazioni disponibili lungo l’asse
temporale.
Informazioni abbondanti sono disponibili solo nell’immediata prossimità
temporale degli eventi; mentre sono molto scarse al momento della formula-
zione delle strategie, a causa della distanza temporale che separa queste dal
dal loro obiettivo.
Il piano strategico è quello che dista maggiormente dal suo obiettivo e
l’ordine di grandezza tipico del suo orizzonte temporale è di 3-5 anni. Il sod-
disfacimento del piano passa attraverso la formulazione e il conseguimento
dei diversi piani aziendali: piano delle vendite e del marketing, piano della
ricerca e sviluppo, piano finanziario, piano della produzione. Per ognuno di
essi si ha una ulteriore frammentazione; nel caso del piano di produzione si ha
un piano aggregato (1 anno), un programma principale di produzione (Master
Production Schedule, 3-6 mesi), un eventuale programma di assemblaggio (1
mese) e infine il controllo operativo (continuo).

In funzione dei livelli di scelta tattici e operativi, in ogni fase della gestione
si possono individuare tre momenti fondamentali:
3.3. IL RUOLO DEI MODELLI MATEMATICI. 39

La pianificazione. Per pianificazione si intende la funzione della gestione, il


cui compito è di selezionare gli obiettivi di un’organizzazione e stabilire
le strategie, le politiche, le procedure, i programmi e i progetti necessari
al loro raggiungimento. Più specificatamente per pianificazione della
produzione si intende la funzione che definisce il livello complessivo di
produzione.

La programmazione. Compito della programmazione è la traduzione di


un obiettivo in un piano, utilizzando gli strumenti a disposizione di un
determinato livello gerarchico. La programmazione è dunque l’attività
che definisce che cosa deve essere effettuato, in che quantità, e in quali
scadenze temporali. L’attività di programmazione segue logicamente
a quella di pianificazione perchè il suo scopo è rendere operativo un
obiettivo di cui si conosce la realizzabilità. Il programma elaborato deve
essere fattibile e il migliore tra le possibili alternative, in grado cioè di
sfruttare al meglio le risorse assegnate. Il programma elaborato ad un
determinato livello, oltre a rappresentare l’output di una determinata
fase, costituisce anche l’input (gli obiettivi) del livello successivo.

Il controllo. Lo scostamento tra programmi e realtà è inevitabile e occorre


quindi inserire una fase di controllo che ha come scopo fornire le in-
formazioni necessarie per dirigere le azioni di correzione. Il controllo
avanzamento di produzione è la funzione di produzione che controlla
l’andamento delle attività in relazione al programma di produzione,
evidenzia tempestivamente le divergenze gravi ed attua gli interventi
indicati dalla direzione.

3.3 Il ruolo dei modelli matematici.


I modelli matematici sono un strumento essenziale di ausilio per il supporto
alle decisioni.
I vantaggi dell’utilizzo di tali modelli in ambito industriale sono molte-
plici:

• Durante la formulazione e l’implementazione del modello la conoscenza


che si ha del sistema aumenta considerevolmente: emergono proprietà
strutturali del sistema che altrimenti non sarebbero evidenti;
40 CAPITOLO 3. OTTIMIZZAZIONE DEI SISTEMI DI PRODUZIONE.

• Molti problemi possono essere risolti all’ottimo, pur non presentando


a prima vista degli elementi che guidino all’individuazione della scelta
migliore;

• Si possono effettuare delle simulazioni: si ha l’opportunità di valuta-


re gli effetti di un insieme di deciosioni, senza doverle costosamente
implementare nella realtà;

Sono presenti, tuttavia, anche dei potenziali svantaggi, di cui però è


importante tener conto. Senza scendere nello specifico dei singoli casi, gli
svantaggi che generalmente risultano più rilevanti nell’adozione di modelli
matematici sono:

• Non sempre i parametri che sono significativi per il problema da analiz-


zare possono essere descritti appropriatamente con un formalismo ma-
tematico (si pensi ad esempio al costo sociale che genera la produzione
di un certo tipo di prodotto in una certa zona);

• I dati introdotti nel modello potrebbero non essere coerenti con le spe-
cifiche richieste dal modello stesso: la risposta fornita potrebbe essere
distorta.

3.4 La gestione dei flussi produttivi: le logi-


che push e pull
Le tecniche di gestione dei flussi produttivi all’interno dei sistemi di produ-
zione sono tipicamente classificate secondo due logiche distinte in gestione di
tipo pull e gestione di tipo push.

Una gestione di tipo pull è caratterizzata dal fatto che l’ingresso delle
risorse materiali nel sistema è regolato da valle del processo produttivo (let-
teralmente pull significa tirare, e infatti l’ingresso delle risorse è tirato dagli
ordini di realizzazione).

Una gestione di tipo push è invece caratterizzata dall’anticipo dell’ingres-


so di risorse materiali nel sistema allo scopo di garantire il tempo di consegna
3.4. LA GESTIONE DEI FLUSSI PRODUTTIVI: LE LOGICHE PUSH E PULL41

richiesto dal mercato; l’avanzamento è regolato non sui fabbisogni a valle ma


sulla base di previsioni di tali fabbisogni.

Per capire, però, con precisione cosa si intende con sistemi produttivi di
tipo push e di tipo pull, è necessario prima definire le caratteristiche temporali
dei flussi produttivi, definendo dei parametri caratteristici:

Production Time. La produzione manifatturiera può essere generalmente


pensata come una successione di fasi di fabbricazione/approvvigionamento
e assemblaggio, separate da eventuali buffers di scorte. Per ogni fase
si può definire il tempo di attraversamento T A (lead time o throughput
time). Il tempo di attraversamento di una fase di un proces-
so produttivo è l’intervallo di tempo che intercorre dal mo-
mento in cui sono disponibili i materiali/componenti in input,
a quando è disponibile il componente/prodotto in output (il
primo elemento del lotto). Il lead time di approvvigionamento
viene definito invece come l’intervallo di tempo che intercorre dal
momento in cui viene ordinata la merce a quando essa è dispo-
nibile per la produzione. Si definisce quindi il Production Time
come il tempo di attraversmento cumulativo di un prodotto, dal
momento in cui vengono ordinate le materie prime, a quello in cui esse
vengono trasformate in prodotto finito, passando attraverso le varie fasi
del processo. Il Production Time è l’orizzonte temporale minimo con
il quale la produzione deve guardare al mercato finale determinando la
lunghezza del piano principale di produzione

Delivery Time. E’ il tempo di consegna, ovvero l’intervallo di tempo


compreso tra il momento in cui il cliente ordina un prodotto e
il momento in cui vuole che questo prodotto gli venga conse-
gnato. Il suo valore è generalmente fissato dal cliente o dal mercato ed
è quindi un dato non modificabile dalla produzione. Il Delivery Time
dipende strettamente dal tipo di business considerato. Nel caso di pro-
duzione per il magazzino, può risultare estremamente breve, dell’ordine
di poche ore, mentre nei casi di produzioni su commessa assume valori
maggiori dello stesso Production Time. Nella maggior parte dei casi il
Production Time è maggiore del Delivery Time, e sono neccessarie di
42 CAPITOLO 3. OTTIMIZZAZIONE DEI SISTEMI DI PRODUZIONE.

conseguenza delle previsioni per approvvigionare i materiali e realizzare


le operazioni produttive.

A questo punto si possono definire in maniera più dettagliata i sistemi di


tipo push e pull. Un sistema produttivo si definirà di tipo push se presenterà
un Production Time strettamente maggiore del Delivery Time, viceversa si
dirà di tipo pull.
In un sistema pull, pertanto, i materiali vengono “tirati” dentro al siste-
ma dagli ordini presenti in portafoglio; ciò è possibile in quanto tali ordini
coprono il tempo di attraversamento di produzione e approvvigionamento.
Viceversa in un sistema push è necessario anticipare l’ingresso dei mate-
riali nel sistema e gli ordini di lavorazione perchè il tempo di attraversamento
è più lungo dell’orizzonte del portafoglio ordini.
Sistemi pull puri sono molto rari nelle tipologie produttive manifatturiere
e prevalgono invece le situazioni in cui il portafoglio ordini è completato da
previsioni di vendita, almeno nella parte iniziale. L’inconveniente maggiore
per tali sistemi, infatti, risulta il Delivery Time a volte troppo elevato.
Un sistema di tipo pull è governato interamente da ordini e dunque sembra
non necessitare di previsioni. Ciò in realtà non è vero, perchè oltre alle risorse
materiali si devono considerare gli impianti e la forza lavoro, ovvero le risorse
che definiscono la capacità produttiva di un processo manifatturiero, che
devono essere approvvigionate con l’anticipo sufficiente a renderle disponibili
al momento dell’utilizzo.
Il principale inconveniente dei sistemi push è legato alle eventuali varia-
zioni del piano di produzione: se esso cambia, i materiali che sono stati già
lavorati risultano non più necessari e devono quindi essere messi a magazzino
in attesa di un loro eventuale futuro utilizzo.
Si osservi infine che la realtà è costituita nella maggioranza dei casi da
sistemi misti push-pull. Per ovviare infatti agli inconvenienti della gestione
in una logica piuttosto che nell’altra, si possono gestire i materiali in logica
pull sino ad una determinata posizione del flusso produttivo, e mantenere la
logica push nelle precedenti fasi. In particolare, essendo per definizione un
sistema pull quello in cui il Delivery Time è maggiore del Production Time,
si possono gestire pull le fasi terminali del processo, e realizzare in un’ottica
push i semilavorati attraverso le prime fasi del processo. Si definisce cerniera
3.4. LA GESTIONE DEI FLUSSI PRODUTTIVI: LE LOGICHE PUSH E PULL43

il punto di collegamento che segna la transizione tra le due logiche nel flusso
produttivo.
La cerniera funziona da elemento di disaccoppiamento delle fasi gestite
pull da quelle gestite push, e pertanto è costituita da un buffer (magazzino)
di semilavorati opportunamente dimensionato. Si possono individuare due
dimensioni per localizzare la cerniera lungo il processo produttivo:

T A del processo produttivo. E’ necessario collocare la cerniera nell’istan-


te pari alla differenza tra il Production Time e il Delivery Time. Se
fosse più a monte non permetterebbe il rispetto dei tempi di conse-
gna; se fosse più a valle non sfrutterebbe al meglio le potenzialità del
sistema.

Volume e gamma di prodotto. Nella pratica in funzione della struttura


di prodotto si possono individuare 3 forme di riferimento:

• A cono: caratterizzata da molti componenti in entrata al proces-


so (materie prime) e pochi articoli in uscita (prodotti finiti), ad
esempio il cantiere navale.
• A cono rovesciato: caratterizzata da pochi articoli in entrata e
molti in uscita, ad esempio la cartiera.
• A coni affacciati: si ha una diminuzione degli articoli in una po-
sizione intermedia all’interno del flusso produttivo, ad esempio
l’industria automobilistica.
44 CAPITOLO 3. OTTIMIZZAZIONE DEI SISTEMI DI PRODUZIONE.

Figura 3.1: Sistemi misti.


Capitolo 4

La linea di produzione

Una linea di produzione è un sistema produttivo caratterizzato dalla sequen-


zialità delle operazioni che si svolgono per la realizzazione delle unità finite.
Nella sezione successiva daremo le definizioni dei parametri di base che “gio-
cano” un ruolo determinante nella valutazione delle prestazioni di tali sistemi.
Nella Sezione 4.2 introdurremo il dimensionamento di una linea di produzio-
ne come problematica fondamentale nella scelta del numero di stazioni di
lavoro in cui la linea deve essere suddivisa. La trattazione prevederà l’intro-
duzione di vincoli che risulteranno caratteristici di un processo produttivo
in linea e delle variabili decisionali che gestiscono tale problematica. Questi
due ingredienti daranno origine alla formulazione matematica del problema
del minimo numero di stazioni lavorative. Nella Sezione 4.4 si affronterà un
problema successivo a quello della scelta delle stazioni lavorative, ovvero il
bilanciamento dei carichi di lavoro delle stazioni di una linea, che porterà alla
definizione di coefficienti quali l’inattività della linea e l’efficienza della linea
stessa. A partire da questo problema, nella sezione successiva, daremo spa-
zio a come si possa passare da un formato di un problema decisionale ad un
altro, problematica che nei sistemi manifatturieri trova molta applicabilità.

45
46 CAPITOLO 4. LA LINEA DI PRODUZIONE

4.1 Il carico lavorativo, il tasso di produzio-


ne, le relazioni di incompatibilità
Una linea di produzione è formata da una sequenza di stazioni lavorative
all’interno delle quali si svolgono le operazioni necessarie per la realizzazione
fisica del prodotto. Definiamo come carico di lavoro di una stazione il tempo
in cui essa è in lavorazione durante un ciclo, ovvero per la realizzazione di una
unità di prodotto. Una volta che abbiamo associato ad ogni stazione un cari-
co, possiamo individuare la stazione più lenta del processo produttivo come
la stazione a cui corrisponde il carico massimo. L’importanza di quest’ulti-
mo parametro sta nella definizione del tasso di produzione (o production rate)
della linea, dato proprio dal reciproco di tale valore. Per esempio se il carico
massimo è pari a 10 ore per pezzo il tasso di produzione è pari banalmente
a 1 pezzo ogni 10 ore. Infine definiamo una relazione di precedenza tra due
operazioni (k, k 0 ), che indichiamo con k → k 0 , il vincolo che non consente di
cominciare il processamento di k 0 se prima non sia terminato quello di k.

4.2 Dimensionamento di una linea


Il problema del dimensionamento di una linea di produzione è fondamental-
mente legato alla ricerca del numero minimo di stazioni lavorative da attivare
in linea. Il problema è il seguente:

Dati: un insieme di lavorazioni che la linea è incaricata di effettuare per


la realizzazione di una unità di prodotto finito; i rispettivi tempi di proces-
samento delle suddette operazioni; le specifiche di produzione; un insieme A
di coppie di operazioni legate da relazioni di precedenza.

Trova: un assegnamento delle operazioni a stazioni di lavoro.

Tale che: siano verificate le specifiche di produzione, i vincoli di incom-


patibilità tra coppie di operazioni siano rispettati e sia minimo il numero di
stazioni attivate.
Supponiamo che le precedenze tra le operazioni siano rappresentabili tra-
mite un grafo delle precedenze G(V, A), in cui all’insieme dei vertici V sia-
4.2. DIMENSIONAMENTO DI UNA LINEA 47

no associate le operazioni, e gli archi orientati dell’insieme A indichino le


precedenze dirette tra le operazioni stesse.
Introduciamo una variabile decisionale binaria xij che assume valore 1 se
l’operazione i viene assegnata alla stazione j e assume valore 0 altrimenti, e
analizziamo vincoli ed obiettivi.
La natura di una linea suggerisce una prima osservazione e cioè che ogni
operazione deve essere assegnata ad una unica stazione lavorativa. Que-
sto vincolo si può tradurre in termini di programmazione matematica come
segue:

|T |
X
xij = 1 ∀i ∈ T (4.1)
j=1

ovvero, fissata un’operazione i, la variabile xij deve valere 1 (e quindi i


deve essere assegnata) in corrispondenza di una ed una sola stazione lavo-
rativa j. Il lettore può notare la scelta fatta di considerare per ipotesi che
esistano al più |T | stazioni lavorative da attivare, una per ognuna delle ope-
razioni. Questa scelta è fatta (come si può intuire dalla lettura dei vincoli)
per dare un limite alla valutazione delle sommatorie e al numero di vincoli
che si riferiscono alle stazioni stesse.

Avendo definito il carico di una stazione lavorativa j come il tempo che j


impiega ad eseguire le operazioni che le sono state assegnate, si può scrivere
un secondo vincolo di assegnamento come segue:

|T |
X
xij di = Cj ∀j = 1, . . . , |T | (4.2)
i=1

ovvero la somma delle durate delle operazione associate a j eguaglia il suo


carico (notate come in questo caso sia cambiato l’indice della sommatoria da
j ad i).
Dopo aver delineato i vincoli di assegnamento, possiamo definire i vincoli
sulle specifiche si produzione. Indichiamo con c.m.t., carico massimo teorico,
il parametro che definisce il tempo limite massimo che la stazione più lenta
(ovvero quella più carica) può aver associato affinchè siano verificate le speci-
fiche di produzione. Facciamo un esempio: immaginiamo che uno studio della
domanda sul nostro prodotto indichi che il mercato è in grado di assorbire
48 CAPITOLO 4. LA LINEA DI PRODUZIONE

una produzione di circa 1000 unità all’anno. Tale valore viene trasferito allo
stabilimento di produzione dove i progettisti stanno realizzando la linea. Il
parametro c.m.t. è ottenibile facilmente dalla trasformazione delle specifiche
di produzione (1000 unità l’anno) come segue:

356 giorni
anno ∼ ore
pezzi = 8 .
1000 anno pezzi

Una volta calcolato c.m.t. si può facilmente scrivere il vincolo sul rispetto
delle specifiche di produzione:

Cj ≤ c.m.t. ∀j = 1, . . . , |T | (4.3)
ovvero il carico Cj assegnato ad ogni stazione j deve essere non superiore
al carico massimo teorico c.m.t..
Passiamo ora ai vincoli di precedenza tra operazioni. Come detto nella
definizione del problema in esame, sia A l’insieme delle coppie di operazioni
legate da vincoli di precedenza, ovvero:

A := {(k, k 0 ) : k → k 0 , k, k 0 ∈ T }.

Per ogni coppia (k, k 0 ) ∈ A si deve scrivere una relazione secondo cui l’opera-
zione k 0 deve essere assegnata ad una stazione che non sia a monte di quella
a cui è stata assegnata k. La relazione che cerchiamo è la seguente:
j
∀j = 1, . . . , |T |, ∀(k, k 0 ) ∈ A
X
xk 0 j ≤ xkj 0 (4.4)
j 0 =1

Analizziamo la correttezza del vincolo, con l’ausilio della Figura 4.1.


Sia (k, k 0 ) ∈ A. Se l’operazione k 0 è stata assegnata alla stazione 3
(xk0 3 = 1), affinchè sia verificato il vincolo di precedenza tra (k, k 0 ) deve neces-
sariamente verificarsi che l’operazione k sia stata assegnata ad una qualunque
delle stazioni precedenti o al limite alla stazione 3 stessa. Dato il vincolo (1)
questo corrisponde alla scrittura di un or ovvero al verificarsi della seguente
situazione: o k è assegnato alla stazione 1, o k è assegnato alla stazione 2,
o k è assegnato alla stazione 3. Questo si traduce in 3j 0 =1 xkj 0 = 1. Si può
P

facilmente verificare che la relazione (4) soddisfa tale requisito: infatti, se


il termine di sinistra della disuguaglianza vale 1, necessariamente anche il
4.2. DIMENSIONAMENTO DI UNA LINEA 49

Figura 4.1: Relazione di precedenza.

termine a destra dovrà valere 1 (1 non può essere minore od uguale a zero).
Nel caso in cui il primo termine sia uguale a zero, ovvero nel caso in cui k 0
non sia stata assegnata alla stazione j, allora il termine di destra potrà (come
prevede la disuguaglianza) valere sia 0 che 1, ovvero l’operazione k potrà o
meno essere stata assegnata nelle stazione a monte di j.
Definiti anche i vincoli sulle relazioni di precedenza, possiamo passare alla
definizione della funzione obiettivo. Come specificato, il nostro obiettivo sta
nella minimizzazione del numero di stazioni da attivare. Per raggiungere que-
sto obiettivo, possiamo pensare ad una funzione di costo fittizia cij associata
all’assegnamento di un task i ad una stazione j (se vogliamo il minor nu-
mero di stazioni, dobbiamo assegnare più task possibili alle prime stazioni).
Per forzare l’apertura del minor numero possibile di stazioni, progettiamo
una funzione di costo con una struttura tale per cui il costo aumenta all’au-
mentare del numero di stazioni utilizzate. Una configurazione possibile è la
seguente:

cij = cj , ∀i ∈ T
|T |cj ≤ cj+1 , ∀j = 1, . . . , |T |
ovvero, il costo di associare una operazione ad una stazione non dipende
dal tipo di operazione, ma dal numero di stazioni attivate. I vincoli sono tali
50 CAPITOLO 4. LA LINEA DI PRODUZIONE

per cui risulta più economico attivare il minimo numero di stazioni. Con tale
funzione di costo, la funzione obiettivo può scriversi nella forma:

|T | |T |
X X
M in cij xij
i=1 j=1

Una formulazione alternativa, che non tenga conto del costo associato al-
l’apertura di una stazione, ma solo del numero minimo di stazioni da attivare
è la seguente.
Introduciamo una variabile decisionale yj che assume valore 1 se la sta-
zione j viene attivata e assume valore zero altrimenti. La funzione obiettivo
si può facilmente scrivere come segue:

|T |
X
M in yj
j=1

A questo punto, però, l’introduzione di una nuova variabile (nella formu-


lazione precedente si costruiva solo una funzione di costo assegnando delle
costanti cij ), ci obbliga a trovare una relazione che leghi la variabile decisio-
nale xij con la yj . Infatti, se non lo facessimo, la soluzione ottima sarebbe
zero, in quanto tutte le yj si disporrebbero a zero senza violare nessun vinco-
lo. Per poter definire tale relazione è sufficiente imporre che, qualora venga
assegnata alla stazione j una qualunque operazione i, la stazione j debba
essere attivata, ovvero yj = 1. In termini matematici:

xij ≤ yj ∀i ∈ T, ∀j = 1, . . . , |T | (4.5)

Infatti, se xij vale 1 in corrispondenza di una certa operazione i e stazione


j, yj varrà necessariamente 1, non potendo essere 1 ≤ 0. Nel caso in cui
xij = 0, si può verificare che yj = 1 (un’altra operazione attiverà j) o yj = 0
(nessuna altra operazione attiverà j).
Riepiloghiamo quindi la formulazione generale del problema di dimensio-
namento di una linea di produzione:
4.2. DIMENSIONAMENTO DI UNA LINEA 51

|T |
X
M in yj
j=1

|T |
X
s.t. xij = 1 ∀i ∈ T
j=1
|T |
X
xij di = Cj ∀j = 1, . . . , |T |
i=1

Cj ≤ c.m.t. ∀j ∈ T
j
X
xk 0 j ≤ xkj 0 ∀j = 1, . . . , |T |, ∀(k, k 0 ) ∈ A
j 0 =1

xij ≤ yj ∀i ∈ T, ∀j = 1, . . . , |T |
xij ∈ {0, 1} ∀i ∈ T, ∀j = 1, . . . , |T |
yj ∈ {0, 1} ∀j = 1, . . . , |T |

4.2.1 Stime sul numero minimo di stazioni


In un problema di minimizzazione possiamo trovare una sovrastima al pro-
blema, semplicemente calcolando una soluzione ammissibile. In altre parole,
se utilizziamo una tecnica euristica otteniamo un valore che è maggiore od al
limite uguale alla soluzione ottima (che indichiamo con N ∗ ) data dal modello
di programmazione lineare a numeri interi presentato nella precedente sezio-
ne. Una sottostima invece, può essere calcolata rilassando uno o più vincoli
nel modello e calcolando poi la soluzione ottima della funzione obiettivo sui
vincoli rimanenti. Di seguito diamo due sottostime di N ∗ .
P|T |
Sia T O = i=1 di il tempo delle operazioni, ovvero la somma delle du-
rate di tutte le operazione che costituiscono il processo. Una sottostima sul
numero minimo di stazioni produttive è data dal seguente valore LB1N ∗ :

TO
 
LB1N ∗ = .
c.m.t.
52 CAPITOLO 4. LA LINEA DI PRODUZIONE

In sostanza è come se cercassimo di saturare ogni stazione con il carico


massimo teorico consentito c.m.t., essendo T O il tempo complessivo da di-
stribuire. La parte intera superiore è conseguenza del fatto che anche una
frazione di c.m.t. implica l’apertura di una stazione lavorativa. Se volessimo
ricondurre tale valore alla soluzione ottima di un rilassamento del programma
precedente, otterremmo il seguente rilassamento:

|T |
X
M in yj
j=1

|T |
X
s.t. xij = 1 ∀i ∈ T
j=1
|T |
X
xij di = Cj ∀j = 1, . . . , |T |
i=1

Cj ≤ c.m.t. ∀j ∈ T
xij ≤ yj ∀i ∈ T, ∀j = 1, . . . , |T |
xij ∈ [0, . . . , 1] ∀i ∈ T, ∀j = 1, . . . , |T |
yj ∈ {0, 1} ∀j = 1, . . . , |T |
Come si può notare sono stati rilassati due vincoli. Il primo, quello sulle
relazioni di precedenza, è stato completamente eliminato, mentre il secondo,
ovvero quello sulla“interezza” della variabile xij , è stato sostituito da una
relazione più debole data da xij ∈ [0, . . . , 1]. Infatti, la sottostima LBN ∗
ammette che un’operazione i possa essere assegnata in più stazioni come
“quota” del suo ammontare di , essendo tale quota proprio xij di . Cosı̀ il
P|T |
vincolo j=1 xij = 1 assumerà un diverso significato rispetto a prima: le
somme delle quote di i che sono assegnate a stazioni diverse devono essere
pari ad uno, ovvero la somma dei suoi contributi deve restituire il totale
ammontare di .

4.2.2 Complessità del problema


La formulazione matematica fornita al problema di dimensionamento di una
linea di produzione è della classe di programmazione a numeri interi (integer
4.2. DIMENSIONAMENTO DI UNA LINEA 53

programming). I problemi appartenenti a tale classe sono riconosciuti come


problemi difficili, essendo nella loro generalità appartenenti alla categoria
dei problemi N P -completi. Tuttavia, non è detto che una particolare for-
mulazione di un problema attraverso la programmazione a numeri interi non
risulti poi di facile risoluzione, o per alcune specifiche istanze, o per alcune
particolari proprietà strutturali del problema.
Per mostrare come il problema di dimensionamento di una linea sia in
effetti difficile, consideriamo un caso speciale del problema in cui non vi
siano relazioni di precedenza tra i task.
Il problema allora si riduce a inserire il maggior numero di task nel mi-
nor numero di stazioni, in qualsiasi ordine questo venga fatto, e pertan-
to è riconducibile al ben noto problema di bin packing, che risulta essere
N P -Hard.
Pertanto, anche il problema del dimensionamento di una linea appartiene
a detta categoria. Infatti, anche se non è da escludere del tutto che possa
esistere una formulazione più semplice, il problema è comunque riconduci-
bile ad un problema N P -Hard. Inoltre, i problemi di questa categoria sono
collegati fra loro in modo tale che, se fosse possibile trovare un metodo di
soluzione facile per uno di essi, allora sarebbe possibile trovarli per tutti gli
altri, e tale metodo non è mai stato individuato in molti anni di ricerca su
molti differenti problemi.
La difficoltà del problema giustifica quindi l’utilizzo di algoritmi euristici,
come l’RPWT o la COMSOAL descritte nei successivi paragrafi, per la
ricerca di una soluzione. Brevemente, si ricorda che il termine euristica, dal
greco euristikein = scoprire, indica un metodo (algoritmico) per la ricerca
di soluzioni ammissibili (non necessariamente ottime!) di un problema di
ottimizzazione.
In genere le tecniche euristiche si basano su una procedura che prevede i
seguenti passi logici:

• Assegna ad ogni task un peso

• Aggiorna l’insieme dei task ammissibili (ovvero quelli i cui predecessori


sono stati tutti già assegnati)
54 CAPITOLO 4. LA LINEA DI PRODUZIONE

• Assegna alla prima stazione disponibile il task ammisibile a cui corri-


sponde il peso maggiore senza violare la capacità massima della stazione
stessa ed i vincoli di precedenza.

Il terzo passo, che prevede una logica di tipo first fit, può prevedere una
logica di tipo next fit. In quest’ultimo caso, il task o viene assegnato alla
stazione corrente se soddisfa i vincoli di capacità o alla successiva stazione
vuota.

4.2.3 L’euristica RPWT


Attraverso un esempio di dimensionamento, si illustra di seguito l’euristica
RPWT.

Esempio. Si vuole progettare una nuova linea per l’assemblaggio di com-


puter. Questo lavoro richiede l’esecuzione di 14 operazioni legate tra loro da
vincoli di precedenza. Le durate delle operazioni e i vincoli di precedenza tra
esse sono:

Operazione Tempo richiesto (sec) Operazioni precedenti


A 55 -
B 30 A
C 50 A
D 42 A
E 20 -
F 25 -
G 45 A,E,F
H 60 B,C,D,G
I 36 H
J 42 H
K 30 H
L 40 J
M 36 J
N 40 I,K,L,M
4.2. DIMENSIONAMENTO DI UNA LINEA 55

La linea di assemblaggio deve produrre 300 computer al giorno, ed è ope-


rante per 420 minuti ogni giorno.

Il c.m.t. è di 84 secondi. Infatti, 420min∗60sec


300computer
dà il massimo tempo che si
può impiegare per assemblare un prodotto. Dunque, non più di 84 secondi di
lavorazione devono essere impiegati da ogni stazione di lavoro. Poichè, inol-
tre, T O = 551 secondi, il numero teorico di stazioni di lavorazione necessarie
è dato da d 551
84
e = d6, 56e = 7.

Questo risultato rappresenta un lower bound, cioè un limite inferiore, sul


numero di stazioni necessarie per realizzare la linea. Un metodo per trovare
una soluzione ammissibile al problema è quello di rappresentare i vincoli di
precedenza mediante un grafo orientato, e partendo dalle radici della foresta
cosı̀ ottenuta, assegnare ad ogni stazione di lavorazione richiesta il massimo
lavoro possibile.

L’idea è alla base dell’algoritmo euristico RPWT (Ranked Positional


Weight Technique). L’euristica procede nella seguente maniera:

Step 1. Si costruisce il grafo delle precedenze tra le operazioni.

Step 2. Per ogni operazione i si determina l’insieme Si delle operazioni che


la seguono, direttamente o indirettamente.

Step 3. Per ogni operazione i si calcola il peso posizionale, dato dalla somma
dei tempi di quella operazione e di quelle che appartengono a Si :
X
P W i = di + dk
k∈Si

Step 4. Si sceglie l’operazione con il peso posizionale più alto e la si assegna


alla prima stazione di lavoro.

Step 5. Si sceglie l’operazione con il successivo peso più alto e la si assegna


alla prima stazione di lavoro j ammissibile (quella per cui la somma
56 CAPITOLO 4. LA LINEA DI PRODUZIONE

dei tempi delle operazioni ad essa assegnati non superi la sua capacità
Cj ); se tale stazione non esiste, bisogna crearne una nuova.
Step 6. Si ripete lo Step 5 fino a che tutte le operazioni siano state assegnate.

Dal calcolo dei pesi posizionali si hanno i valori in tabella.

Operazione Tempo richiesto (sec) Peso posizionale (sec)


A 55 506
B 30 314
C 50 334
D 42 326
E 20 349
F 25 354
G 45 329
H 60 284
I 36 76
J 42 158
K 30 70
L 40 80
M 36 76
N 40 40

Si sceglie prima l’operazione A, avente il peso posizionale maggiore, e lo si


assegna alla stazione 1; si sceglie poi l’operazione F, avente il successivo peso
posizionale maggiore, e lo si assegna alla stazione 1. La successiva operazione
da scegliere è E e la si assegna alla stazione 2 in quanto la somma dei tempi
di A, F, E è maggiore della capacità di 1.
Continuando il procedimento, si ottiene l’assegnamento riportato in ta-
bella all’inizio della pagina seguente. La soluzione trovata richiede l’impiego
di 8 stazioni di lavoro. Il collo di bottiglia della linea è rappresentato dalla
stazione più carica, ossia la 6, e quindi il tempo di ciclo del sistema è dato
dal tempo impiegato su questa stazione, vale a dire 82 sec.
4.2. DIMENSIONAMENTO DI UNA LINEA 57

Operazione Stazione di lavoro assegnata


A 1
F 1
E 2
C 2
G 3
D 4
B 4
H 5
J 6
L 6
I 7
M 7
K 8
N 8

Si noti, infine, come allo Step 5 dell’euristica non sia stato necessario
specificare di scegliere il task con peso posizionale massimo tra quelli i cui
predecessori siano già stati assegnati, come logicamente imporrebbe l’esisten-
za di precedenze tra le operazioni, in quanto la struttura analitica di calcolo
indicata allo Step 3 assicura il rispetto di tale condizione (il P W di un task
è almeno uguale a quello dei suoi successori).

4.2.4 L’euristica COMSOAL


Sebbene l’euristica RPWT sia un modo per trovare delle soluzioni ammissibi-
li “ragionevolmente” buone, la soluzione trovata è unica, e spesso, dovendosi
considerare criteri di ottimizzazione che non richiedano necessariamente so-
lo il minimo numero di stazioni, risulta veramente importante ottenere un
insieme di soluzioni.
Un modo per ottenere questo risultato consiste nell’utilizzare un algoritmo
randomizzato. Tramite un algoritmo di questo tipo, si possono generare
58 CAPITOLO 4. LA LINEA DI PRODUZIONE

molte soluzioni ammissibili selezionando di volta in volta i task disponibili in


maniera random, e non scegliendo il task che risulti “migliore” secondo un
certo criterio.
L’euristica COMSOAL (COmputerized Method for Sequencing
Operations on Assembly Lines) utilizza questa strategia di ricerca. Ad
ogni iterazione dell’algoritmo viene determinato l’insieme di tutti i task che
potrebbero essere assegnati ad una stazione j senza violare il vincolo imposto
dal carico Cj di questa. Un task viene quindi scelto in maniera random,
essendo ad ognuno dei task associata la medesima probabilità di selezione.
L’algoritmo euristico opera nel seguente modo:

Step 1. Si costruisce il grafo delle precedenze tra le operazioni.

Step 2. Per ogni operazione i si determina l’insieme Pi delle operazioni che


la precedono, direttamente o indirettamente.

Step 3. Si associa ad ogni operazione la stessa probabilità di scelta.

Step 4. Si sceglie random una operazione e la si assegna alla prima stazione.

Step 5. Si determina l’insieme Fj delle operazioni k tali per cui ogni opera-
zione in Pk sia già stata assegnata, e tali da poter essere associate alla
corrente stazione j senza violare il vincolo sul carico Cj consentito. Si
seleziona in maniera random una operazione da Fj e la si assegna alla
stazione j; se Fj è vuoto, si apre un’altra stazione.

Step 6. Si ripete lo Step 5 fino a che tutte le operazioni siano state assegnate.

L’euristica viene ripetuta un certo numero di volte, ed ogni soluzione


trovata viene comparata con quelle trovate precedentemente. Il numero di
ripetizioni da effettuare dipende dal decisore. Si noti che la stessa soluzione
può essere ottenuta più di una volta.
Infine si noti che l’euristica potrebbe essere modificata per evitare che
la scelta delle operazioni sia puramente random, in modo da essere guidata
verso la determinazione di una “buona” soluzione.
Ad esempio, tenendo in considerazione il fatto che l’euristica RPWT
produce delle buone soluzioni, ad ogni iterazione dell’algoritmo si potrebbe
4.3. ALCUNE NOTE PRATICHE IN MERITO ALLA NATURA STOCASTICA DELLE DURATE DE

associare alla generica operazione i ∈ Fj la probabilità di selezione:

P Wi
P
k∈Fj P Wk

Oppure, utilizzando dei metodi euristici tipici dei problemi di bin packing,
per cui è meglio selezionare i task con maggiore tempo di durata, si potrebbe
associare la probabilità di selezione:

di
P
k∈Fj dk

4.3 Alcune note pratiche in merito alla natu-


ra stocastica delle durate dei lavori
Assumiamo che il tempo di processamento di una generica operazione i sia
una variabile aleatoria ti e sia nota una varianza σi2 per essa. Sia inoltre σij
la covarianza tra le durate dei task i e j. Assuminamo dapprima che i tempi
di processamento dei task siano indipendenti, cosa che implica che σij = 0.
Sia Sk l’insieme dei task assegnati alla stazione k. Sia inoltre sk la variabile
casuale associata al tempo richiesto dalla stazione k per processare i task
ad essa assegnati in un ciclo produttivo. Sappiamo che il suo valore atteso
E(sk ) = i∈Sk ti e la sua varianza V (sk ) = i∈Sk σi2 . Se si assume che ti ed sk
P P

siano variabili normali e che ciascuna stazione abbia task sufficienti affinchè
valga il teorema del limite centrale, allora le sk sono distribuite normalmente.
Un approccio possibile potrebbe essere quello di considerare una probabilità
del 99% di completare i task assegnati ad ogni ciclo. Una tabella relativa ad
una distribuzione normale ci direbbe quindi che, nel soddisfare il vincolo sul
carico massimo delle stazioni di lavorazioni, dobbiamo considerare oltre al
tempo medio un tempo aggiuntivo pari a 2.33 deviazioni standard. Quindi
il vincolo da soddisfare nell’assegnamento dei task ad una stazione di lavoro
k è il seguente:
E(sk ) + 2.33V (sk )1/2 ≤ C
Va notato che la probabilità che il sistema completi le operazioni in tem-
po è pari a 0.99m , dove m è il numero di stazioni di lavorazione. Quindi
60 CAPITOLO 4. LA LINEA DI PRODUZIONE

per linee di produzione “lunghe” bisogna prevedere un tempo di slack mag-


giore. Assumiamo ora che i task non siano indipendenti. Ad esempio se i
tempi di processamento all’interno di una stazione di lavorazione sono af-
fetti dall’abilità degli operai che sono ad essa assegnati all’interno si può
immaginare che esista una correlazione positiva tra la durate dei vari ta-
sk. Al contrario si può immaginare che esista una correlazione negativa dal
momento in cui gli operai accelerano le lavorazioni quando stanno sotto sca-
P
denza. In presenza di covarianza non nulla si avrà quindi E(sk ) = i∈Sk ti ,
V (sk ) = i∈Sk σi2 + 2 {(i,j):i,j∈Sk } σij .
P P

4.4 Bilanciamento dei carichi in una linea di


produzione
Una volta stabilito il numero di stazioni lavorative relative al processo produt-
tivo in linea, ci poniamo un problema immediatamente successivo in termini
di importanza, ovvero il problema del bilanciamento dei carichi delle stazioni
di una linea di produzione. Sia N ≥ N ∗ il numero di stazioni attivate, che
soddisfi comunque i vincoli di cui nella Sezione 4.2. Definiamo il carico medio
µ di una linea di produzione come segue:
PN
TO j=1 Cj
µ= = ,
N N
ovvero la media matematica sul numero di stazioni attivate del parametro
T O. Definiamo inoltre il concetto di sbilanciamento SBj di una stazione j
come lo scostamento del suo carico Cj dal suo valore medio, ovvero:

SBj = |Cj − µ|.

Analogamente si definisce sbilanciamento di una linea:


N
X
SBlinea = SBj ,
j=1

ovvero la somma degli sbilanciamenti delle singole stazioni. A questo punto


si può parlare di bilanciamento di una linea come una ripartizione dei
4.4. BILANCIAMENTO DEI CARICHI IN UNA LINEA DI PRODUZIONE61

carichi di lavoro più omogenea possibile, al limite (se questo è possibile)


esattamente uguali gli uni agli altri, ovvero:

Cj = µ ∀j = 1, . . . , N.

In quest’ultimo caso particolare parleremo di bilanciamento perfetto.


In questa sezione ci occuperemo di formulare il problema del bilanciamen-
to dei carichi in una linea di produzione. In questo caso, la funzione obiettivo
sarà immediatamente ottenibile dalle definizioni sopra date, e cioè:
N
X
M in |Cj − µ| = SBlinea .
j=1

Nel caso in cui esistesse un bilanciamento perfetto avremo un minimo pari


a zero. Il modello matematico nella definizione dei vincoli rimane a questo
punto molto simile a quello visto nella Sezione 4.2, semplificato dal fatto che
abbiamo una sola variabile decisionale. Ovvero:

N
X
M in |Cj − µ| = SBlinea
j=1

N
X
s.t. xij = 1 ∀i ∈ T
j=1
|T |
X (4.6)
xij di = Cj ∀j = 1, . . . , N
i=1
j
X
xk 0 j ≤ xkj 0 ∀j = 1, . . . , N, ∀(k, k 0 ) ∈ A
j 0 =1

xij ∈ {0, 1} ∀i ∈ T, ∀j = 1, . . . , N

Si può notare che la funzione obiettivo è non lineare dato che contiene
un modulo. Possiamo ovviare a questo problema, utilizzando una variabile
decisionale di “supporto”. Infatti, definendo

zj = |Cj − µ|,
62 CAPITOLO 4. LA LINEA DI PRODUZIONE

l’obiettivo diventa:
N
X N
X
M in |Cj − µ| = zj .
j=1 j=1

Ora dobbiamo legare la nuova variabile ai vincoli. Per fare questo, sfruttiamo
un passaggio intermedio e supponiamo che:

zj ≥ |Cj − µ|

. Questo vincolo è facilmente linearizzabile da questa coppia di vincoli:

zj ≥ Cj − µ,

zj ≥ µ − Cj .

A questo punto, facendo attenzione al fatto che stiamo minizzando zj , an-


dremo sempre a prendere il valore per cui

zj = |Cj − µ|.

Quindi i due vincoli sopra riportati con l’obiettivo modificato sono esatta-
mente gli oggetti che cercavamo, vale a dire quelli che rendono in forma
lineare la funzione M in N j=1 |Cj − µ|.
P

Si può notare come non abbiamo volutamente inserito il vincolo sul sod-
disfacimento delle specifiche di produzione. Infatti la funzione obiettivo del
problema garantisce l’implicito soddisfacimento di tale vincolo. Infatti, bi-
lanciare i carichi delle stazioni lavorative implica in qualche modo che si
spostino delle operazioni da stazioni più cariche verso stazioni meno cariche,
nel tentativo di ridistribuire i tempi di lavorazione. Questo tentativo implica
a sua volta in modo implicito la riduzione del carico massimo di lavorazione
della linea. Risulta chiaro allora che cosı̀ non rischieremo mai di superare il
c.m.t., visto che stiamo muovendo le soluzioni in senso esattamente opposto.
Si noti quindi che la formulazione di cui sopra può anche essere riscritta
in questi altri termini:
4.4. BILANCIAMENTO DEI CARICHI IN UNA LINEA DI PRODUZIONE63

M in Cmax

s.t. Cmax ≥ Cj ∀j = 1, . . . , N
N
X
xij = 1 ∀i ∈ T
j=1
|T |
X
(4.7)
xij di = Cj ∀j = 1, . . . , N
i=1
j
X
x k0 j ≤ xkj 0 ∀j = 1, . . . , N, ∀(k, k 0 ) ∈ A
j 0 =1

xij ∈ {0, 1} ∀i ∈ T, ∀j = 1, . . . , N

La differenza sostanziale tra l’utilizzo della prima e di quest’ultima for-


mulazione consiste esclusivamente nel fatto che, se esiste un bilanciamento
perfetto della linea, ambedue le formulazioni troveranno questa soluzione;
viceversa, potrebbero restituire soluzioni non perfettamente identiche, anche
se mai eccessivamente discordanti.

4.4.1 Trade-off tra dimensionamento e bilanciamento


L’obiettivo di dimensionamento di una linea di produzione non è in generale
ottenibile utilizzando un obiettivo di minimizzazione del carico massimo su
di un numero |T | di stazione lavorative. Questo è intuibile dal fatto che più
stazioni si hanno a disposizione e più ne verranno utilizzate dato che questo
comporta un minor carico di lavoro per le stazioni e quindi un conseguente
riduzione del carico massimo. Il caso limite delle |T | stazioni è quello a cui
corrisponde il minor carico possibile per stazioni attivate, dato che il carico
massimo coinciderebbe con la massima durata delle operazioni e non può
essere più piccolo di questo valore.
Dall’altra parte meno sono le stazioni lavorative attivate e più queste
saranno “cariche”, fino ad arrivare al caso limite di avere un’unica stazione
che rappresenta il massimo carico assoluto che si può avere, e che corrisponde
al tempo delle operazioni T O.
64 CAPITOLO 4. LA LINEA DI PRODUZIONE

4.5 Rappresentazione e soluzione di un pro-


blema di bilanciamento
Un problema di bilanciamento può essere rappresentato e risolto come segue.

1 2

d1=2, d2=3, d3=5

Figura 4.2: Bilanciamento di una linea.

Supponiamo di avere tre operazioni di durata rispettivamente d1 = 2,


d2 = 3 e d3 = 5, da assegnare a due stazioni lavorative, e supponiamo che il
grafo delle precedenze sia una catena (1 precede 2, 2 precede 3). Si costruisce
un grafo avente due livelli, uno per ogni stazione lavorativa, e ciascun livello
è formato da un numero di nodi pari al numero di sottoinsiemi ammissibili
(che rispettano le precedenze) dell’insieme delle operazioni. Nel nostro caso
sono sei: {1}, {1, 2}, {1, 2, 3}, {2}, {2, 3}, {3}, e sono rispettivamente rappre-
setati dai nodi riportati in figura. Si introducono poi due nodi fittizi (una
supersorgente e un superpozzo). La supersorgente è legata a tutti i nodi che
4.5. RAPPRESENTAZIONE E SOLUZIONE DI UN PROBLEMA DI BILANCIAMENTO65

hanno come operazione più piccola 1, e il superpozzo è raggiunto da tutti i


nodi dell’ultimo livello che hanno come operazione più grande 3 (ovvero l’ul-
tima della catena). A questo punto esiste un arco tra un nodo di un livello
i e un livello i + 1 se e solo se, chiamata h l’operazione più grande del nodo
nel livello i, il nodo nel livello i + 1 ha come operazione più piccola h + 1.
Ogni arco viene pesato con un valore pari a |Cj − µ|, dove Cj si riferisce al
carico della stazione a cui appartiene il nodo puntato dall’arco ed è ottenuto
dalla somma delle operazioni rappresentate da quel nodo. Nel caso in esame,
l’arco che parte dalla supersorgente e punta vetrso il nodo del primo livello
più in alto, ha un peso pari a |2 − 5| = 3, dove 2 è la somma dei tempi
associati alle operazioni rappresentate dal nodo puntato e cioè l’operazione
1 (d1 = 2), mente 5 è il carico medio (µ = 2+3+5 2
= 5). Inoltre, ogni arco che
parte da un nodo nell’ultimo livello verso il superpozzo ha peso nullo.
Sul grafo cosı̀ costruito è sufficiente calcolare il cammino minimo dalla su-
persorgente al superpozzo in quanto esso minimizzerà N j=1 |Cj − µ|. I nodi
P

appartenenti al cammino minimo in corrispondenza ad ogni livello indiche-


ranno le operazioni da assegnare alle stazioni corrispondenti. Nell’esempio
in esame il cammino minimo avente come sorgente la supersorgente, passa
per il nodo del primo livello corrispondente all’insieme {1, 2}, per il nodo
del secondo livello corrispondente all’insieme {3}, e termina nel superpozzo.
Tale soluzione è un bilanciamento perfetto.

4.5.1 Trasformazione di formati


Un primo tipo di trasformazione che presentiamo è quella legata alla riso-
luzione di un problema di cammino minimo con un risolutore di modelli di
assegnamento. Questo può essere utile nei casi in cui il solver che utilizziamo
sia dedicato a questa classe di problemi piuttosto che a problemi di cammino
su reti.
Supponiamo allora di voler trasformare il problema esaminato nella pre-
cedente sezione in un problema di assegnamento a minimo costo. Dopo aver
numerato topologicamente i nodi dei grafo originario, costruiamo un nuovo
grafo “bipartito” cosı̀ fatto:

L’insieme dei nodi V1 di sinistra contiene i nodi del grafo origi-


nario dal numero 1 al numero n − 1, e l’insieme V2 dei nodi di
66 CAPITOLO 4. LA LINEA DI PRODUZIONE

destra contiene i nodi dal numero 2 al numero n. Esiste un ar-


co tra coppie di nodi da V1 a V2 se e solo se esisteva nel grafo
origiario e inoltre si aggiungono n − 2 archi fittizi a costo zero,
rispettivamente da 2 verso 2, da 3 verso 3, . . . , da n − 1 a n − 1.

Si verifica facilmente che un assegnamento a costo minimo su tale gra-


fo è un cammino minimo sul grafo precedente. Infatti, dall’assegnamento
ottimo ottenuto rimuovendo gli archi fittizi a costo zero (che non danno nes-
sun contributo alla funzione obiettivo), rimangono degli archi che formano
una catena rappresentante proprio il cammmino cercato. Cosı̀ il problema
originario di bilanciamento può essere riformulato come segue:

V1 X
X V2
M in cij xij
i=1 i=j

V1
X
s.t. xij = 1 ∀j ∈ V2 (4.8)
i=1
V2
X
xij = 1 ∀i ∈ V1
j=1

xij ∈ {0, 1} ∀i ∈ V1 , ∀j ∈ V2

Un’altra interessante trasformazione di formati è quella relativa all’equi-


valenza tra variabili decisionali. Sia xij la variabile di assegnamento usata
fino ad ora, e sia ykk0 una variabile che assume valore 1 se l’operazione k
viene eseguita prima di k 0 , e assume valore zero altrimenti. Ora definiamo
il vincolo di precedenza tra due operazioni utilizzando ambedue le variabili.
Nel caso di una variabile di assegnamento si avrà:

j0 j 0

∀j 0 = 1, . . . , N, ∀(k, k 0 ) ∈ A,
X X
xkj ≥ xk 0 j
j=1 j=1

mentre nel caso di una variabile di tipo ykk0 la relazione è più immediata:

ykk0 = 1 ∀(k, k 0 ) ∈ A
4.5. RAPPRESENTAZIONE E SOLUZIONE DI UN PROBLEMA DI BILANCIAMENTO67

Esaminiamo il primo vincolo per una coppia (k, k 0 ) di operazioni incom-


patibili (ovvero non eseguibili simultaneamente ma non è stabilito a priori se
sia k a dover essere eseguita prima o dopo di k 0 ) supponendo che k → k 0 :
j0 j0

∀j 0 = 1, . . . , N
X X
xkj ≥ xk 0 j
j=1 j=1

Portando a sinistra il secondo termine di ha:


j0 j0

∀j 0 = 1, . . . , N
X X
xkj − xk 0 j ≥ 0
j=1 j=1

Inoltre sommando tutti i vincoli si ha


j 0 j0
N X
X X
( xkj − xk 0 j ) ≥ 0
j 0 =1 j=1 j=1

A questo punto “esplodiamo” le somme come segue:

j0 = 1 → xk1 − xk0 1
j0 = 2 → xk1 + xk2 − xk0 1 − xk0 2
.. ..
. .
j 0 = N → xk1 + . . . + xkN − xk0 1 − . . . − xk0 N
Sommando i valori si ottiene:
N (xk1 − xk0 1 ) + (N − 1)(xk2 − xk0 2 ) + . . . + (xkN − xk0 N ) ≥ 0
Definiamo αkk0 pari alla quantità N (xk1 − xk0 1 ) + (N − 1)(xk2 − xk0 2 ) + . . . +
(xkN − xk0 N ). Poichè sia xkj che xk0 j possono valere 1 in corrispondenza di
una sola j allora si avrà che 0 ≤ αkk0 ≤ (N − 1). Questo ci porta a stabilire
che:
ykk0 = 1 → αkk0 ≥ 0
che equivale a:
αkk0 ≥ (ykk0 − 1)(N − 1),
e
ykk0 = 0(yk0 k = 1) → αkk0 ≤ 0
che equivale a:
αkk0 ≤ (1 − yk0 k )(N − 1)
68 CAPITOLO 4. LA LINEA DI PRODUZIONE

4.6 Ulteriori vincoli in fase progettuale


Talvolta può accadere che a causa di problemi di sicurezza, di richiesta di
particolari equipaggiamenti o di “skill” di operatori, si vogliano assegnare
coppie di operazioni a stesse stazioni di lavoro. Dall’altra parte certe coppie
di operazioni non devono essere assegnate alla stessa stazione di lavoro. Si
può considerare, ad esempio, un prodotto che necessita di alcune operazioni
su un lato e di altre operazioni sul lato opposto.
Indichiamo con SS e con SD rispettivamente l’insieme delle coppie di
operazioni che devono essere eseguite nella stessa stazione e delle coppie che
invece devono essere eseguite in stazioni diverse. Siamo interessati adesso
alla determinazione di vincoli che regolino i suddetti insiemi.
Nel caso di coppie (k, k 0 ) di operazioni in SS si deve verificare che un
assegnamento dell’operazione k alla stazione j deve f orzare l’assegnamento
di k 0 a j e viceversa. Mentre il non assegnamento di k a j deve forzare il non
assegnamento di k 0 a j e viceversa. Quindi sarà sufficiente imporre che le
variabili di assegnamento associate alle operazioni k e k 0 assumano gli stessi
valori (o entrambe 1 o entrambe 0), vale a dire:

xkj = xk0 j ∀j = 1, . . . , N, ∀(k, k 0 ) ∈ SS.

La formulazione del vincolo sulle coppie DS non è più complicata. Ba-


sterà infatti scrivere un vincolo di or esclusivo sulle variabili di assegnamento
legate alle coppie (k, k 0 ) ∈ DS su ognuna delle stazioni, ottenendo:

xkj + xk0 j ≤ 1 ∀j = 1, . . . , N, ∀(k, k 0 ) ∈ DS,

cioè xkj e xk0 j non possono valere contemporaneamente 1.


Un’ultima osservazione ci porterà ad introdurre la prossima sezione. Nel
caso di SS avremmo potuto utilizzare anche un’espressione equivalente del
tipo:
N
∀(k, k 0 ) ∈ SS,
X
xkj xk0 j = 1
j=1

In questa riscrittura del vincolo si può notare come sia scomparso ∀j =


1, . . . , N , essendo questo incorporato nella sommatoria. Nonostante questo
si traduca in un minor numero di vincoli, il lettore si può facilmente accor-
gere della presenza di una non linearità, ed in particolare di come il vincolo
4.7. FORMULAZIONI DI VINCOLI LOGICI 69

sia diventato quadratico. Questa apparente difficoltà può essere superata


linearizzando i vincoli al prezzo di introdurre ulteriori variabili (vedi anche
quanto fatto nella Sezione 4.4).

4.7 Formulazioni di vincoli logici


Prendiamo le mosse dal problema sollevato nella sezione precedente, ovvero
della linearizzazione del vincolo N 0
j=1 xkj xk0 j = 1, ∀(k, k ) ∈ SS. Facendo
P

attenzione al suo significato ci accorgiamo che esso altro non è che un vin-
colo and. Vogliamo sostituire il vincolo N 0
j=1 xkj xk0 j = 1, ∀(k, k ) ∈ SS con
P
PN j 0
j=1 zkk0 = 1, ∀(k, k ) ∈ SS. Per rendere la trattazione più semplice faremo
uso di tabelle di verità.
j
xkj xk 0 j zkk 0

0 0 0
0 1 0
1 0 0
1 1 1

La tabella si legge per riga: i primi due valori sono i possibili valori
assegnabili a xkj e xk0 j ed il terzo valore nella colonna è quello che deve
j
assumere zkk 0 nella conversione. Ovviamente solo quando xkj = 1 e xk 0 j = 1,
j
zkk0 varrà 1.
Possiamo scrivere i seguenti due vincoli:

j xkj + xk0 j
zkk 0 ≤
2
j
zkk 0 ≥ xkj + xk 0 j − 1.

Il primo vincolo verifica le prime tre righe ed è “indifferente” alla quarta,


mentre il secondo vincolo verifica la quarta riga ed è “indifferente” alle prime
tre.

In Figura 4.3 è riportata la rappresentazione geometrica della relazione


and, dove i punti cerchiati indicano le soluzioni ammissibili.
70 CAPITOLO 4. LA LINEA DI PRODUZIONE

Figura 4.3: Relazione logica and.

Volendo generalizzare al caso in cui una variabile z è legata da una re-


lazione di tipo and ad un insieme di n variabili xi , è possibile utilizzare i
seguenti vincoli:
Pn
i=1 xi
z≤
n

n
X
z≥ xi − (n − 1).
i=1

Passiamo ora alla formulazione di una relazione che abbiamo già incotrato
nella Sezione 4.4 quando abbiamo “legato” le due variabili xij e yj : l’impli-
cazione. La relazione di implicazione tra due variabili (ad esempio xij e yj )
ha la seguente tabella di verità:
4.7. FORMULAZIONI DI VINCOLI LOGICI 71

xij yj
0 0
0 1
1 1

Ricordandoci di quanto detto nella sezione di cui sopra, il vincolo lineare


che soddisfa l’implicazione si può quindi scrivere:

xij ≤ yj .

Di seguito consideriamo la tabella di verità dell’or tra due variabili x e y:

x y z
0 0 0
0 1 1
1 0 1
1 1 1

Le relazioni sono:

z ≤x+y
x+y
z≥ .
2
La prima soddisfa la prima riga e non inflenza le altre tre, mentre la
seconda soddisfa le seconde tre righe senza violare la prima riga. Volendo
anche qui estendere il discorso alla relazione or definita su n variabili xi ,
analogamente al caso della relazione and avremo due vincoli del tipo:
n
X
z≤ xi
i=1
Pn
i=i xi
z≥ .
n
Passiamo ora alla tabella di verità dell’or esclusivo tra x e y:
72 CAPITOLO 4. LA LINEA DI PRODUZIONE

x y z
0 0 0
0 1 1
1 0 1
1 1 0

Le relazioni sono:
z ≤x+y
z ≥y−x
z ≥x−y
z ≤ 2 − x − y.
In quest’ultimo caso abbiamo usato quattro iperpiani per tagliare via le solu-
zioni non ammissibili. Ciascuno verifica una relazione della tabella di verità
(il primo la prima, il secondo la seconda, e cosı̀ via) senza violare le altre.

4.8 Alcuni casi di studio


Questa sezione contiene tre problemi ciascuno dei quali richiede sia l’uso di
informazioni già esaminate che l’elaborazione di nuove. Può essere un buon
esercizio quello di risolvere tali problemi. A valle è presente una discussione
sulle soluzioni dei tre casi di studio.

Problema 1. Un’azienda produce componentistica elettronica. Il processo


produttivo prevede l’esecuzione di un certo numero di operazioni in linea
O = {op1 , op2 , . . . , opm } parzialmente preordinato. Viene definito quindi un
insieme P O che identifica coppie di operazioni ordinate:

P O = {(i, j) : l’operazione i deve precedere l’operazione j}


Per poter eseguire le suddette operazioni O, sono disponibili K stazioni
di lavoro. Per problemi di richiesta di particolari attrezzaggi, coppie di ope-
4.8. ALCUNI CASI DI STUDIO 73

razioni devono essere eseguite necessariamente nella stessa stazione di lavoro;


tali coppie di operazioni vengono indicate con SS:

SS = {(i, j) : i e j devono essere eseguite nella stessa stazione}

Per problemi relativi al particolare processamento di alcuni operazio-


ni, coppie di queste devono essere eseguite su differenti stazioni di lavoro:
indichiamo con DS le coppie di operazioni sottoposte a tali vincoli:

DS = {(i, j) : i e j devono essere eseguite su due differenti stazioni}

1. Formulare il problema di dimensionamento dell’impianto al numero


minimo di stazioni lavorative;

2. Supponendo che l’assegnamento di una operazione i ad una stazione


di lavoro k comporti un costo cik formulare il problema della mini-
mizzazione del costo totale (somma dei costi di assegnamento) dove
alle stazioni k = 1, . . . , K non è consentito superare un certo carico di
lavoro C;

3. Dare una rappresentazione del problema su grafo, motivando successi-


vamente una possibile soluzione del problema.

Problema 2. In una linea di produzione con 4 centri di lavoro [CL1 , CL2 ,


CL3 , CL4 ] deve essere prodotto un tipo di componente che richiede, per ogni
unità prodotta, una sequenza di 10 operazioni che possono essere eseguite
su uno o più CL. (Vedi il grafo di compatibilità in Figura 4.4, con le du-
rate in minuti delle operazioni, supposte indipendenti dal CL cui sono state
eseguite).
Il production rate richiesto è tale da saturare la linea: 1 componente ogni
12 minuti. Il problema è quello di assegnare le operazioni ai CL in modo da
perseguire i seguenti obiettivi:
74 CAPITOLO 4. LA LINEA DI PRODUZIONE

Figura 4.4: Grafo di compatibilità.

1. Bilanciamento dei carichi di lavoro;

2. Minimizzazione del work in progress;

3. Motivare gli obiettivi scelti;

4. Individuare le possibili soluzioni e confrontarle.

Problema 3. Un’azienda produce macchine da giardinaggio. Il proces-


so produttivo prevede l’esecuzione di un certo numero di operazioni in linea
O = {op1 , op2 , . . . , opm } preordinato in modo tale che ogni operazione opi ∈ O
precede l’operazione immediatamente successiva opi + 1. Le suddette opera-
zioni devono essere eseguite da una linea di produzione avente n stazioni di
lavoro. Il numero di operazioni m è maggiore del numero di stazioni di lavoro
della linea. Sono assegnati i tempi di processamento di ogni operazione ti .

1. Formulare il problema di dimensionamento della linea al numero mi-


nimo di stazioni lavorative attivate con il vincolo di non superare un
certo carico massimo Cmax per ognuna delle stazioni e considerando che
le operazioni op∗i e op∗i + 1 devono essere eseguite necessariamente nella
stessa stazione lavorativa.
4.8. ALCUNI CASI DI STUDIO 75

2. Supponete che esista un insieme S ⊆ O di operazioni tale che viene


generato un costo c se un’operazione i ∈ S venga assegnata ad una
stazione di lavoro come ultima operazione da processare. Formulare il
problema di bilanciamento della linea con il vincolo di non superare un
costo fissato B.

4.8.1 Analisi di alcuni aspetti dei problemi proposti


Un’analisi particolare viene riservata al problema 2 ed al punto 2 del problema
3. Per quanto riguarda il problema 2 viene rischiesto di bilanciare i carichi
di lavoro sulla linea ed al tempo stesso di minimizzare il work in progress
(WIP). Come verrà descritto in dettaglio nella Sezione 4.10 possiamo definire
i concetti di tempo di attraversamento T A e W IP come segue:
N
X
T A = p ∗ Cmax + Cj ,
j=p+1

dove p rappresenta la posizione della stazione a cui corrisponde il carico


massimo Cmax e
W IP = T A ∗ (production rate).
Dunque, noti il carico massimo Cmax ed il production rate, la minimizza-
zione del work in progress può essere realizzata minimizzando il tempo di at-
traversamento T A che dipenderà eslusivamente dalla posizione della stazione
bottleneck lungo la linea.
Sfruttando il fatto che le stazioni di lavorazione sono disposte in linea, è
possibile confrontare il carico di lavoro Ci di ciascuna stazione i con il carico
Cj delle stazioni j successive: se Cj ≥ Ci a regime il carico di lavoro della
stazione i sarà pari alla stazione più lenta j davanti ad essa sulla linea, in caso
contrario no. Questo può essere modellizzato associando ad ogni stazione di
lavoro i una variabile zi ed una coppia di vincoli:

zi ≥ Ci ∀i, ∀j > i

zi ≥ Cj ∀i, ∀j > i
76 CAPITOLO 4. LA LINEA DI PRODUZIONE

Confrontando ciascuna stazione con quelle successive, se la stazione i si


trova prima della stazione a cario massimo allora zi = Cmax , in caso contrario
zi = Ci . La minimizzazione del T A si ottiene con la seguente funzione
obiettivo:
N
X
M in zi
i=1
.
Una formulazione alternativa, anche se più artificiosa, consiste nel mini-
mizzare la posizione della stazione a carico massimo al fine di ridurre il tempo
di attraversamento T A. Si può pensare, dunque, di confrontare il carico di
ciascuna stazione i con quello delle altre stazioni ed associare una variabile
binaria che assume valore 1 se e solo se Ci è maggiore. Formalmente:
Ci − Cj ≥ 0 ⇔ zij = 1 ∀i, ∀j con j 6= i
Questa relazione può essere ottenuta attraverso la seguente coppia di vincoli
lineari:
M zij ≥ Ci − Cj + 
M (zij − 1) ≤ Ci − Cj
dove M è una costante positiva sufficientemente grande e  una costante
positiva sufficientemente piccola. Il primo vincolo si “attiva” quando Ci ≥ Cj
forzando la variabile zij ad assumere valore 1, mentre è banalmente verificato
in caso contrario grazie alla presenza della costante M . Si noti che nel caso
in cui Ci = Cj la variabile zij = 1 grazie alla presenza della costante . Il
secondo vincolo, al contrario, garantisce che se Ci ≤ Cj allora zij = 0 e risulta
sempre verificato in caso contrario. A questo punto è possibile introdurre
una variabile Zi defita come and di tutte le variabili zij come descritto nella
Sezione 4.7: in altre parole Zi assume valore 1 se e solo se confrontando il
carico della stazione i con quello di tutte le altre stazioni, Ci risulta essere
il carico massimo. L’obiettivo di minimizzazione del W IP , come detto, si
ottiene facendo in modo che la stazione a carico massimo sia posizianata il
più possibile a monte della linea. Dunque introduciamo un parametro αi = i,
una variabile di “supporto” w e minimizziamo la seguente funzione obiettivo:
M in w
con i vincoli:
w ≥ αi Zi ∀i = 1 . . . N
4.8. ALCUNI CASI DI STUDIO 77

Passiamo adesso ad analizzare il punto 2 del problema 3. In questo con-


testo vogliamo bilanciare i carichi di lavoro di una linea dove il grafo delle
precedenze tra le operazioni è una catena, con un vincolo particolare di costo:
viene generato un costo c qualora un’operazione i ∈ S (dove S ⊂ O) venga
assegnata ad una stazione di lavoro come ultima operazione da processare.
Prima di capire come tale vincolo possa essere formulato, diamo un esempio
in quale contesto questa situazione può verificarsi.
Uno scenario possibile può essere quello in cui ci sia la necessità di dover
mantenere il pezzo in lavorazione tra l’operazione opi e opi + 1 ad una elevata
temperatura, mentre durante il trasporto da una stazione ad un’altra la sua
temperatura potrebbe abbassarsi, con il conseguente bisogno di innalzare la
sua temperatura (e quindi un costo di lavorazione maggiore).
Paghiamo un costo c quando xij = 1 e x(i+1)(j+1) = 1, ovvero quando
assegnamo i ∈ S ad una stazione j e i + 1 alla stazione successiva j + 1.
Infatti, poichè i e i + 1 sono strettamente sequenziali, aver assegnato i a j
e i + 1 a j + 1 implica che i è l’ultima operazione in j e i + 1 è la prima in
j + 1 (vedi Figura 4.5).

Figura 4.5: Sistemi misti.

Sommando tutte le occorrenze di questo and sulle stazioni da 1 fino a


N − 1 pesandole ogni volta con c si ottiene il costo totale :
78 CAPITOLO 4. LA LINEA DI PRODUZIONE

N
X −1
c xij x(i+1)(j+1) .
j=1

Il vincolo di costo è quindi il seguente:

X N
X −1
(c xij x(i+1)(j+1) ) ≤ B.
i∈S j=1

Si può pensare ad una linearizzazione di tipo and, come esposto nella Sezio-
ne 4.7.

4.9 Coefficienti di inattività e di efficienza


Definiamo coefficiente di inattività di una stazione:
Cmax − Cj
Ij = ,
Cmax
e analogamente il coefficiente di inattività di una linea:
PN
j=1 Ij
Ilinea = ,
N
ovvero la media dei coefficienti di inattività delle singole stazioni. Da qui si
definisce l’efficienza della linea:

ν = 1 − Ilinea .

E’ rilevante notare che nel caso in cui la linea sia perfettamente bilanciata,
ν = 1 ovvero l’efficienza è massima dato che Ilinea = 0.

4.10 Work in process e tempo di attraversa-


mento
Definiamo tempo di attraversamento T A di un pezzo in una linea di produ-
zione come la differenza tra il suo tempo di uscita dalla linea e il suo tempo di
ingresso. Una sua sottostima è chiaramente data da T O dato che ogni pezzo
4.11. BILANCIAMENTO MULTI-PRODOTTO E A PRODOTTO MISTO79

deve “subire” tutte le operazioni. Ovviamente, questa rimane una sottosti-


ma a causa dei tempi di attesa che il pezzo può avere sulla linea dovuti alla
presenza di collo di bottiglia a valle della sua attuale posizione di lavorazione.
In generale vale la seguente relazione:
N
X
T A = p ∗ Cmax + Cj ,
j=p+1

dove p rappresenta la posizione della stazione a cui corrisponde il carico


massimo Cmax . Da questa relazione si deduce che, se la stazione più carica
si trova a valle, si avrà un tempo di attraversamento più svantaggioso (più
alto) e al limite pari a N ∗ Cmax , mentre se si trova a monte si avrà un T A
vantaggioso (più basso) al limite pari proprio a T O.
A partire dal tasso di produzione e dal tempo di attraversamento è pos-
sibile stabilire una delle più importanti relazioni che regolano i sistemi ma-
nifatturieri, nota come legge di Little dal suo autore (Little 1961): work in
process=(tempo di attraversamento)*(tasso di produzione).

4.11 Bilanciamento Multi-Prodotto e a Pro-


dotto Misto
Nelle sezioni precedenti si è considerato il problema del bilanciamento di una
linea di produzione in cui si produca una sola tipologia di prodotto. La
criticità maggiore per questo tipo di configurazione si presenta quando la
domanda varia nel tempo e quando ci si trova a produrre prodotti di una
tipologia differente da quelli per cui si è progettata la linea stessa.
Quando la domanda di un prodotto varia, o le esigenze di mercato lo
richiedano, ci si trova di fronte alla necessità di fabbricare nuovi prodotti, e
la linea progettata per uno di questi può non operare efficientemente per tutti
gli altri. Allora, si potrebbe pensare di acquisire una nuova linea dedicata per
ogni nuovo prodotto, ma questa è una alternativa molto costosa, che risulta
praticamente insostenibile quando le fluttuazioni della domanda nel tempo
sono molto frequenti.
Due soluzioni proposte a questo problema sono le linee multi-prodotto e
le linee a prodotto misto.
80 CAPITOLO 4. LA LINEA DI PRODUZIONE

4.11.1 Linee Multi-prodotto


Questo approccio gestionale permette di progettare la linea come una risorsa
riconfigurabile, che produce più prodotti a lotti consecutivi. Tra un lotto di
un prodotto e quello consecutivo di un altro prodotto, la linea deve essere
riconfigurata (attrezzata), e questo comporta un costo economico e di tempo
(tempi di set-up) di immobilizzo (durante la riconfigurazione la linea non
lavora).
Le problematiche principalmente connesse a questo tipo di linee di pro-
duzione riguardano il come bilanciare la linea in modo da bilanciare sepa-
ratamente le levorazioni per ogni prodotto, e il come sequenziare i lotti in
lavorazione al fine di minimizzare le perdite connesse alle fasi di riattrezzaggio
(set-up).

4.11.2 Linee a Prodotto Misto


La premessa di base a questo approccio è che più prodotti sono lavorati da
ogni stazione, senza cosı̀ dover affrontare periodi di immobilizzo per l’attrez-
zaggio. Le difficoltà che si riscontrano in questa configurazione riguardano il
fatto che ogni tipologia di prodotto richiede lavorazioni diverse, e con tempi
diversi, su ogni stazione di lavoro, e dal fatto che i tempi di fermo macchina
(idle time) dipendono da come le tipologie di prodotto sono sequenziate nelle
lavorazioni.
Il bilanciamento delle operazioni nelle linee a prodotto misto può essere
operato attraverso la procedura di Helgeson e Birnie nel modo seguente:

Passo 1. Considera tutti i dati e i parametri relativi alle differenti tipolo-


gie di prodotto (precedenze, tempi di processamento, risorse richieste,
etc.).

Passo 2. Considera i vettori di domanda per ogni singolo prodotto, e il


conseguente production rate.

Passo 3. Utilizza i dati considerati per realizzare la tabella dei tempi di


processamento composti, che contiene per ogni operazione il tempo
di processamento pesato proporzionalmente dal numero di prodotti che
necessitano detta operazione. Ad esempio, ad una operazione di 10
4.11. BILANCIAMENTO MULTI-PRODOTTO E A PRODOTTO MISTO81

minuti che coinvolge il 35% dei prodotti verrà assegnato un valore pari
a 3,5 minuti.

Passo 4. Calcola il Carico Massimo Teorico Aggregato e il minimo numero


di stazioni richieste.

Passo 5. Costruisci il grafo delle precedenze dei prodotti composti, te-


nendo in considerazione tutte le varianti di prodotto coinvolte.

Passo 6. Calcola il peso posizionale di ogni operazione, cosı̀ come per il


bilanciamento monoprodotto.

Passo 7. Assegna le operazioni alle stazioni in funzione del loro peso posi-
zionale.

Si noti come in effetti questa procedura si riduca a creare dei fittizi


prodotti composti, e ad applicare quindi le tecniche standard sui pesi
posizionali delle operazioni.

Esempio. Una linea di produzione è stata progettata per la realizzazione


di diversi kit di medicine. I kit sono realizzati con gli stessi elementi di base,
ma presentano delle varianti. Il kit di tipo “standard” contiene un insieme di
componenti; il kit “basic” contiene un insieme più ristretto di componenti;
il kit “lusso” contiene gli stessi componenti del kit standard, ma in quantità
maggiore e con una coppia di componenti addizionali.
Nella tabella seguente sono riportate le operazioni necessarie per la rea-
lizzazione dei tre tipi di prodotto, e i relativi tempi di processamento.
Al prodotto standard corrispondono il 50% delle vendite totali, al prodot-
to basic il 30%, e al kit lusso il restante 20%. In una settimana si vendono in
totale 6000 unità di prodotto (domanda di prodotto aggregata), e il tempo
di lavorazione disponibile è di 40 ore settimanali.
Per prima cosa calcoliamo i tempi di processamento dei prodotti composti,
moltiplicando i tempi di processamento di ogni prodotto per la porzione di
domanda che essi soddisfano. I risultati sono riportati nella seguente tabella:
82 CAPITOLO 4. LA LINEA DI PRODUZIONE

Operazione T. Standard T. Basic T. Lusso Operazioni precedenti


A 15 12 15 -
B 9 9 9 A
C 7 4 10 A
D 7 - 7 A (no Basic)
E 7 7 9 B,C,D
F 18 18 24 E
G 6 - 9 E (no Basic)
H 7 7 10 E
I 10 10 10 F,G,H
J 21 21 28 I

Op. Standard Basic Lusso T. Composti


A 7.5 3.6 3.0 14.1
B 4.5 2.7 1.8 9
C 3.5 1.2 2 6.7
D 3.5 - 1.4 4.9
E 3.5 2.1 1.8 7.4
F 9.0 5.4 4.8 19.2
G 3.0 - 1.8 4.8
H 3.5 2.1 2.0 7.6
I 5.0 3.0 2.0 10
J 10.5 6.3 5.6 22.4
4.12. VINCOLI TEMPORALI. LINEE PUSH E PULL 83

Quindi, calcoliamo il c.m.t. aggregato:


40 ∗ 3600
c.m.t. = = 24sec
6000
e il numero minimo di stazioni richieste:

14.1 + 9 + 6.7 + 4.9 + 7.4 + 19.2 + 4.8 + 7.6 + 10 + 22.4


 
LB1N ∗ = =5
24
Possiamo allora costruire il grafo delle precedenze dei prodotti composti:

Figura 4.6: Grafo delle precedenze.

Calcoliamo i pesi posizionali e assegnamo le operazioni alle stazioni:

4.12 Vincoli temporali. Linee push e pull


Siano dati m pezzi da lavorare su di una linea di produzione, e siano assagnati
i tempi dij di lavorazione di ogni pezzo in ogni stazione.
84 CAPITOLO 4. LA LINEA DI PRODUZIONE

Operazione Peso Posizionale Stazione di lavoro assegnata


A 106.1 1
B 80.4 1
C 78.1 2
D 76.3 2
E 71.4 2
F 51.6 3
G 37.2 3
H 40 4
I 32.4 4
J 22.4 5

Introduciamo le variabili wij e hij con il seguente significato: wij tempo


di ingresso del pezzo i nella stazione j, e hij tempo di uscita del pezzo i dalla
stazione j.
Possiamo scrivere l’equazione che gestisce i tempi di ingresso e uscita dalle
stazioni per il generico pezzo. Sia m, . . . , 1 la sequenza dei pezzi in input sulla
linea. Si ha che:
wij = max{hi(j−1) , h(i−1)j }
ovvero il tempo di ingresso del pezzo i nella stazione j è pari al massimo tra
il tempo di uscita di i dalla stazione precedente j − 1 (quando la stazione j è
libera) e il tempo di uscita del pezzo (i − 1), ovvero il pezzo che lo precede,
dalla stazione j (quando la stazione j è occupata dal pezzo (i − 1)).
A partire da queste variabili si possono caratterizzare due tipologie di
linee: la linea push e la linea pull. La linea push ha una autonomia decisionale
decentralizzata, ovvero ogni stazione lavora i pezzi appena possibile e li invia
alla stazione successiva. Questo prevede l’utilizzazione di buffer intermedi
dove immagazzinare i pezzi che non possono accedere alle stazioni successive.
Le linee pull invece sono caratterizzate da una maggiore automazione essendo
gestite in modo centralizzato: ogni stazione ha un ben preciso tempo di
inizio lavorazione di un pezzo e un ben preciso tempo i fine lavorazione di un
pezzo, che potrebbero permettere di operare senza scorte interoperazionali.
I tempi sono calcolti a partire dai tempi di consegna, confidando sui tempi
di lavorazione e sui tempi di disponibilità dei pezzi.
4.13. SEQUENZIAMENTO IN UNA LINEA DI PRODUZIONE 85

Quindi la linea push può essere associata al vincolo temporale:

hij = wij + dij

mentre la linea pull al vincolo:

hij ≥ wij + dij

Nella sezione successiva viene esaminato come definire una sequenza di


input dei pezzi per la minimizzazione del tempo di completamento.

4.13 Sequenziamento in una linea di produ-


zione
Il problema di sequenziamento tipico in un flow shop è il seguente. Siano
dati n pezzi da lavorare e k macchine; ogni pezzo richiede un tempo di lavo-
razione su ogni macchina: ad esempio per il pezzo i: (t1i , t2i , . . . , tki ). Trovare
il sequenziomento dei lavori che minimizza il tempo di fine. Il problema è
N P -completo, a meno che k = 2. In tal caso esistono delle condizioni di
ottimalità che ci consentono di risolvere il problema in tempo polinomiale
(teorema di Johnson). Supponiamo che i e j siano i primi due pezzi da la-
vorare (si suppone che tutti i pezzi siano disponibili in qualsiasi momento),
e indichiamo con αi e βi rispettivamente il tempo di lavorazione di i sulla
macchina 1 e 2. Se i → j, ovvero se i viene processato prima di j si ha:

αi + max{βi , αj } + βj ,
Se invece j → i si ha:

αj + max{βj , αi } + βi .

Conviene quindi eseguire i prima di j se:

αi + max{βi , αj } + βj ≤ αj + max{βj , αi } + βi =

αi + βj − max{βj , αi } ≤ αj + βi − max{βi , αj } =
min{αi , βj } ≤ min{αj , βi }.
86 CAPITOLO 4. LA LINEA DI PRODUZIONE

α_i α_j

β_i β_j

Max{α_j, β_i}

Figura 4.7: Sequenziamento se i → j.

α_j α_i

β_j β_i

Max{α_i, β_j}

Figura 4.8: Sequenziamento se j → i.


4.13. SEQUENZIAMENTO IN UNA LINEA DI PRODUZIONE 87

Passiamo alla formulazione del problema. Sia Fj il tempo di fine lavo-


razione dell’unità in posizione j sulla macchina 1, e sia Gj il tempo di fine
lavorazione dell’unità in posizione j sulla macchina 2. Sia inoltre xik uguale a
1 se l’unità i è assegnata alla posizione k, ed uguale a zero altrimenti. Poichè
vogliamo stabilire un assegnamento di unità a posizioni, scriveremo subito i
seguenti vincoli:
n
X
xik = 1 ∀i
i=1
n
X
xik = 1 ∀k.
k=1

Inoltre, in base alle considerazioni fatte, prima di passare alla formulazione


si ha che: n X
Fj = Fj−1 + xij αi (F0 = 0),
i=1
e n n
X X
Gj = max{Gj−1 + xij βi , Fj + xij βi } (G0 = 0),
i=1 i=1
ovvero: n
X
Gj ≥ Gj−1 + xij βi ,
i=1
n
X
Gj ≥ Fj + xij βi .
i=1

L’obiettivo sarà quello di minimizzare il tempo di fine del pezzo in ultima


posizione, ovvero:
M inGn

Esempio. Un’azienda lavora su una commessa relativa ad un prototipo


di un nuovo acceleratore di particelle. Tale prodotto si compone di cinque
componenti A, B, C, D, E prodotti da altrettante ditte subcommittenti. Si
tratta di componenti estremamente ingombranti e delicati, che richiedono,
per il trasporto, particolare cura. Un TIR dell’azienda verrà utilizzato per
ritirare ciascuno dei cinque componenti dalle rispettive ditte che li hanno pro-
dotti. A causa della delicatezza e dell’ingombro, viene dedicato un viaggio
88 CAPITOLO 4. LA LINEA DI PRODUZIONE

diverso al ritiro di ogni componente. Una volta portato ciascun componente


in azienda, questo deve essere collaudato da un macchinario apposito. Quan-
do tutti i componenti sono stati collaudati, è possibile finalmente effettuare
la fase finale di assiematura.

Dati i tempi necessari per prelevare A, B, C, D, E che sono rispettivamente


2, 3, 4, 5 e 7 giorni; i tempi di collaudo che sono rispettivamente 6, 6, 5, 3
e 5 giorni; inoltre la fase finale di assiematura e la consegna richiedono,
complessivamente, un altro giorno. L’azienda dispone di un solo TIR.

Trova il minimo tempo di consegna del prodotto finito. Il ritiro e il col-


laudo di ciascun componente sono assimilabili a due operazioni da effettuarsi
in sequenza su ogni componente, e dunque a un flow shop costituito da due
macchine. Il problema può essere risolto applicando l’algoritmo di John-
son (French, 1982). Dato un flow shop con due macchine, sia J l’insieme di
n lavori che devono essere effettuati. Per ogni lavoro j, si indichi con aj e bj
il tempo di lavorazione di j sulla prima macchina e sulla seconda macchina
rispettivamente. L’algoritmo di Johnson trova la sequenza che minimizza il
tempo di completamento, e può essere schematizzato come segue:

Step 1. k = 1, l = n.

Step 2. Sia S la lista di lavori non ancora assegnati alla sequenza.

Step 3. Trova, in S, il più piccolo valore dei tempi aj e bj .

Step 4. Se aj è il più piccolo:

– Assegna il lavoro Ji corrispondente alla k-esima posizione della se-


quenza.
– Elimina Ji da S.
– Poni k = k + 1.
– Vai allo Step 6.

Step 5. Se bj è il più piccolo:

– Assegna il lavoro Ji corrispondente alla l-esima posizione della se-


quenza.
4.14. GESTIONE DEI TEMPI DI SET UP 89

– Elimina Ji da S.
– Poni l = l − 1.

Step 6. Se l’insieme S non è vuoto vai allo Step 3, altrimenti stop.

La sequenza di Johnson si costruisce dagli estremi verso il centro. Il tem-


po più basso in assoluto è quello del ritiro di A (2 giorni), che dunque verrà
posto all’inizio della sequenza:

Quindi, abbiamo il ritiro di B e il collaudo di D che durano ambedue 3


giorni. Possiamo quindi porre B subito dopo A e D in fondo alla sequenza:

AB D

Il tempo più basso è ora il ritiro di C (4 giorni), che viene dunque posto
in coda a B. Si ottiene perciò:

ABCED
Il tempo di completamento è pari a 27.

4.14 Gestione dei tempi di set up


Nelle due sezioni precedenti si è supposto che i tempi di processamento dei
pezzi nelle stazioni comprendessero anche i tempi di set up, ovvero i tempi
di preparazione delle stazioni per le lavorazioni sul pezzo successivo. Ci sono
molte situazioni in cui i tempi di set up diventano invece rilevanti, e in questi
casi si vuole trovare il sequenziamento dei pezzi che minimizza il tempo di
completamento totale.
Si può ricondurre il problema ad un problema di Travelling Salesman
Problem (TSP): un commesso viaggiatore deve visitare un insieme di città,
passando per ogni città una sola volta, tornando alla città di partenza con
90 CAPITOLO 4. LA LINEA DI PRODUZIONE

l’obiettivo di minimizzare la distanza percorsa. È importante notare che stia-


mo considerando i tempi di lavorazione come un costo fisso che deve essere
necessariamente sostenuto qualunque sia l’ordine di visita prescelto. Risol-
vere il nostro problema equivale, quindi, a minimizzare la somma dei tempi
di set up. Sia G il grafo ottenuto considerando le stazioni (o le macchine)
come i nodi da visitare e i tempi di set up come le distanze da percorrere fra
un nodo e l’altro. L’unica differenza rispetto al problema del TSP è che, in
questo caso, non è previsto il ritorno al nodo iniziale. A ciò si può ovviare
facilmente aggiungendo un nodo 0 e per ogni nodo j = 1, . . . , n un arco di
ritorno con costo cj0 = 0. Il problema è, quindi, quello di trovare, sul grafo
G, un ciclo hamiltoniano (un cammino che passi per tutti i nodi di G una ed
una sola volta) di costo complessivo minimo. Una formulazione del problema
è ottenibile definendo le variabili intere xij pari ad 1 se l’operazione j viene
effettuata subito dopo l’operazione i, e 0 altrimenti. Sia Γ(i) l’insieme dei
successori (diretti) di un nodo i e sia Γ−1 (i) l’insieme dei predecessori (diret-
ti) di i. Ogni nodo i deve avere un ed un solo succesore, ed un ed un solo
precedessore. Valgono allora i seguenti vincoli:
X
xij = 1 ∀i = 0, . . . , n
j∈Γ(i)

X
xji = 1 ∀i = 0, . . . , n
j∈Γ−1 (i)

Inoltre, devono essere eliminati i sottocicli; definendo con (S, S 0 ) una generica
partizione dell’insieme dei nodi, il seguente vincolo deve essere soddisfatto:

∀i ∈ S, j ∈ S 0
XX
xij ≥ 1
i∈S i∈S 0

L’obiettivo è:
n X
X n
M in sij xij
i=1 j=1

dove sij è il tempo di set up per aver sequenziato i prima di j.


4.14. GESTIONE DEI TEMPI DI SET UP 91

Problema. Un reparto per la lavorazione di un semilavorato in legno è


costituito da un insieme di macchine semiautomatiche dedicate, posizionate
ad una certa distanza l’una dall’altra. Ogni semilavorato deve essere lavorato
su ogni macchina una ed una sola volta, e poi trasferito ad una delle macchine
non ancora visitate.

Dati il numero delle macchine del reparto pari a 6, i tempi di lavorazione,


in minuti, di ogni semilavorato per ogni macchina,

Macchina 1 2 3 4 5 6
Tempo di lavorazione 18 9 22 11 13 15

i tempi tij , in minuti, per trasportare un semilavorato dalla macchina i


alla macchina j. Per ogni coppia di operazioni (i, j) si ha tij = tji .

Macchina 1 2 3 4 5 6
1 0 1 4 2 1 3
2 1 0 4 1 2 2
3 4 4 0 2 5 5
4 2 1 2 0 4 5
5 1 2 5 4 0 3
6 3 2 5 5 3 0

Trova l’ordine con cui ogni semilavorato deve visitare le macchine.

Tale che sia minimo il tempo totale di completamento di ogni semilavo-


rato.
92 CAPITOLO 4. LA LINEA DI PRODUZIONE

4.15 Determinazione della linea più corta


Un’azienda produce due differenti prodotti e vuole determinare la dimensio-
ne della linea di produzione più corta ottenibile impiegando solo macchine
dedicate (special purpose). Facciamo un esempio.

Date due sequenze di lavorazione per i prodotti, indicando con caratteri le


operazioni, S1 = acbf a, S2 = abd.

Trova la sequenza di lavorazione di lunghezza k X = {x1 , x2 , . . . , xk }.

Tale che ogni sequenza di lavorazione sia una sottosequenza di X e k sia


minimo.
Data una sequenza alfanumerica, una sottosequenza, si ottiene eliminando
caratteri dalla sequenza. Viceversa una soprasequenza si ottiene aggiungendo
caratteri alla sequenza data. Il problema in esame è quello della ricerca della
soprasequenza più corta, e nel caso di due sequenze, equivale a trovare la
sottosequenza (relativa alle due sequenze) più lunga.

Alle due sequenze è possibile associare un grafo i cui nodi corrispondono


a coppie d’operazioni (una per ogni sequenza) e gli archi a caratteri della
soprasequenza. Gli archi diagonali corrispondono a elementi comuni alle due
sequenze.
4.15. DETERMINAZIONE DELLA LINEA PIÙ CORTA 93

La supersequenza più corta corrisponde al cammino più corto dal nodo


di nord-ovest al nodo di sud-est. Gli archi diagonali del cammino più corto
nel grafo corrispondono alla sottosequenza più lunga. Dalla figura si deduce
che le soprasequenze più corte sono: acbfad, acbdfa, acbfda.