Sei sulla pagina 1di 191

DISPENSE DI RICERCA OPERATIVA

(Metodi e strumenti per la modellizzazione aziendale)






(versione 2.2 - preliminare)

(revisione al 25/07/2004)








1
1 - OBIETTIVI DELLA R.O. E CENNI STORICI

E molto diIIicile dare una deIinizione accettabile di "Ricerca Operativa", dato che nella sua
non lunghissima vita questa disciplina ha subito varie trasIormazioni e puo quindi essere vi-
sta sotto diversi punti di vista.

Invece di tentare di Iormulare una discutibile deIinizione, tenteremo di identiIicare cosa Ia
la ricerca operativa (R.O.) e quali sono i Iondamenti che giustiIicano le tecniche che saranno
presentate nel seguito; questi contenuti verranno integrati da un breve inquadramento stori-
co che dovrebbe cosi completare il quadro di insieme della disciplina.

La R.O. cerca di risolvere in modo quantitativo problemi di decisione, sia con lo scopo di
ottenere il meglio (qualunque cosa voglia dire 'il meglio per chi deve decidere) dal possi-
bile comportamento derivante dalle decisioni, sia con lo scopo di ottenere una descrizione di
quello che, nel Iuturo, sara l'ambiente nel quale le decisioni devono essere prese.

Il presupposto di questo approccio e che le tecniche quantitative possano essere integrate
proIittevolmente in ogni processo non triviale di decisione: una volta che l'aspetto quantita-
tivo e stato inserito in un problema decisionale, tutti i vantaggi derivanti dalla metodologia
scientiIica applicabile alla tecnica quantitativa sono assai piu Iacilmente trasIeribili nel pro-
blema a cui dobbiamo dare una risposta.

Fornire la soluzione ad un problema signiIica quindi trattarlo secondo il paradigma tipico
della R.O. (che verra descritto piu avanti) con l'obiettivo di ottenere risultati concreti
(intesi come sinonimo di applicativi).

L`aspetto applicativo e di grandissimo rilievo.

La R.O. ha inIatti due anime:

- una scientiIica, che privilegia l'aspetto "astratto"
- una concreta, che privilegia l'aspetto "pratico", nel senso di ricercare problemi pratici
(concreti) a cui applicare la metodologia scientiIica

Se le due anime non si Iondono, non abbiamo un'applicazione di R.O. ma, a seconda di qua-
le delle componenti prende il sopravvento, abbiamo un'esercitazione di tecnica matematica
o una applicazione che, mancando delle metodologie tipiche, non puo essere classiIicata
come applicazione di R.O..

Un altro aspetto che non deve essere dimenticato e l'interdisciplinarit della R.O., cioe il
Iatto che, normalmente, un lavoro di R.O. viene svolto da un gruppo di persone esperte in
varie discipline scientiIiche (matematica, statistica , economia ecc.), che lavorano coordina-
te per dare una risposta al problema che deve essere aIIrontato: l'elemento uniIicante del
gruppo e appunto costituito dalla metodologia scientiIica che viene utilizzata.

E interessante notare che tutti i precedenti elementi sono individuabili sin dal primo mo-
mento in cui si e cominciato a parlare di R.O. e cioe nella Seconda Guerra Mondiale, quan-
do un nucleo di scienziati (soprattutto Iisici e biologi), hanno cominciato a costituire un
gruppo di lavoro con il compito di identiIicare il modo migliore per aIIrontare gli U-Boat
tedeschi che stavano inIliggendo severe perdite all'esercito alleato: i risultati di questo grup-
2
po Iurono estremamente rilevanti, tanto che appari opportuno continuare a sviluppare le
nuove metodologie anche in tempo di pace.

Incidentalmente, e interessante osservare che le tecniche ed i modelli utilizzati erano, da un
punto di vista matematico, estremamente semplici.

La R.O. varco quindi l'Atlantico e comincio a svilupparsi negli Stati Uniti, che iniziarono ad
inserire la nuova disciplina nell'industria e nelle universita; man mano che la R.O. acquista-
va maturita, allargava il suo campo di inIluenza, divenando una vera e propria Scien:a della
gestione (Management Science) , termine che e spesso diventato un sinonimo della dizione
originaria, ma che sostanzialmente identiIica la stessa disciplina.

Man mano che la R.O. diventava popolare ed era aggiunta al curriculum scolastico delle va-
rie Iacolta scientiIiche (matematica, ingegneria economia ecc.,) aumentavano gli strumenti
tecnici utilizzabili ed i settori che, teoricamente, avrebbero potuto trarre vantaggio da questa
disciplina.

Occorre tuttavia rilevare che, contrariamente a quanto ci si sarebbe potuto aspettare, il ri-
svolto applicativo della R.O. non ha avuto quello sviluppo che la maturazione della teoria
avrebbe Iatto supporre.

Il risultato di questo processo evolutivo ha Iatto si che oggi ci si trovi di Ironte a una vera e
propria dicotomia Ira teoria e applicazione che, a parere nostro, e una contradizione rispetto
alle caratteristiche e all'origine della materia.

L'obiettivo di questo lavoro e quello di Iornire una visione degli strumenti di R.O. finalizza-
ti ad un loro concreto utilizzo, essendo ben convinti che il passare dalla teoria ad un'appli-
cazione concreta e tutt'altro che lavoro banale e che, anzi, l'attuale disponibilita di strumenti
di calcolo a prezzo bassissimo, sia destinata a rivoluzionare soprattutto l'aspetto applicativo
della disciplina.

1.1 - I modelli di R.O.

Il passo Iondamentale per l'applicazione delle tecniche di R.O. ad un problema e quello di
ottenere un modello della realta che si deve studiare.

Con il termine modello si intendera una descrizione semplificata della realta (e quindi piu
Iacile da maneggiare del vero problema), ma che sia in grado di evidenziare gli aspetti di
rilievo da studiare (e quindi non Iaccia perdere di vista il problema da risolvere).

E ovvio che per potere dire quali sono gli aspetti di rilievo di un problema occorre avere Iis-
sato degli obiettivi a cui si vuole arrivare, senza i quali non e possibile neppure immaginare
quali sono gli "aspetti di rilievo".

Fatte queste osservazioni, appare evidente la diIIicolta di identiIicare il modello del proble-
ma da risolvere; il problema dell'identiIicazione si complica ulteriormente se si riIlette che
la R.O. e una materia da specialisti e che, normalmente, colui che si occupa delle tecniche
non e colui che ha il reale problema e che quindi valuta, alla luce dei propri obiettivi, la va-
lidita del modello.

3
D'altra parte, la deIinizione del modello non esaurisce certamente gli obiettivi che si pone la
R.O., dato che, come detto precedentemente, il risultato Iinale che si intende raggiungere e
quello di un miglioramento dei risultati reali e che tale miglioramento deve derivare dalle
inIormazioni disponibili dal modello.

Il modello deve anche Iornire strumenti per migliorare le decisioni ed in ultima analisi le a-
zioni di chi si trova ad operare con il problema originale che, come detto e normalmente
una entita diversa da chi ha creato il modello.

Si possono quindi comprendere le diIIicolta applicative di una disciplina che richiede un'at-
tivita cosi complessa con varie parti (dotate di diverse competenze) implicate nel processo
risolutivo!

Lo schema di realizzazione di un lavoro di R.O. puo allora essere riassunto mediante un pa-
radigma generale che vede coinvolto un utente ed un esperto di R.O. (eventualmente un
gruppo), che si trovano a percorrere un cammino standard composto da vari passi (even-
tualmente ripetibili e saltabili).

I passi che compongono questo paradigma sono i seguenti:

- Riconoscimento del Iatto che la realta corrente puo essere modiIicata
- Descrizione del problema
- IdentiIicazione e Iormalizzazione del modello
- Raccolta dei dati reali relativi al modello
- Soluzione del modello
- Validazione del modello e analisi di sensitivita
- Interpretazione dei risultati ottenuti ed implicazioni applicative degli stessi
- Applicazioni e controllo delle normative deducibili dal modello

Tutti i passi precedenti sono ottenuti dalla collaborazione Ira utente ed esperto di R.O., an-
che se il ruolo e le Iunzioni di ciascuno e diverso in relazione allo speciIico passo che deve
essere svolto.

L'insieme dei passi sopra riportati (talvolta piu o meno accentuati, ma tutti essen:iali per un
reale lavoro di R.O.) e noto con il nome di ciclo della R.O. e verra sviluppato nel dettaglio
nel prossimo paragraIo.

1.2 - Il ciclo della R.O.

Lo schema di Iunzionamento del ciclo della R.O. e riepilogato nella Fig. 1, dove viene enIa-
tizzato anche il ruolo Iondamentale degli obiettivi, che inIluenzano (e sono inIluenzati) dai
vari passi che compongono il ciclo.








FIG. 1 - SCHEMA DEL CICLO DELLA R.O.
4





















Si osservi, innanzi tutto, che gli obiettivi sono al centro del ciclo, dato che tutto il ciclo ha
senso nella misura che sia conIorme agli obiettivi da raggiungere ed essi vengono costante-
mente aggiornati dall`avanzamento del ciclo stesso.

E anche importante osservare che il ciclo parte dall`avere identiIicato nel mondo reale un
sotto-sistema su cui verra concentrata l`attenzione: poiche il risultato Iinale deve produrre
una modiIica alla realta corrente, l`identiIicazione di uno spazio ristretto e circoscritto e es-
senziale per evitare velleitarismi destinati a produrre Iallimenti.

Passo 1 - Riconoscimento del fatto che la realt pu essere modificata

Da un punto di vista applicativo, questo e il passo piu diIIicile: per potere avvenire e concre-
tizzarsi occorre che una serie di condizioni (generalmente mal strutturate) prendano corpo.

Innanzi tutto occorre che colui che deve decidere Iaccia una valutazione dello stato esistente
rispetto ai propri obiettivi presenti e Iuturi.

Vedremo successivamente che una Iormulazione esplicita e rigorosa degli obiettivi e condi-
zione indispensabile per la Iormulazione di una certa categoria di modelli (la programma-
:ione matematica): nella realta concreta la Iormulazione esplicita degli obiettivi non e mai
cosi netta e Iacile da realizzare.

Gli obiettivi (e qui utilizzeremo indiIIerentemente anche tutti i sinonimi di questo termine
quali: criteri, aspira:ioni e cosi via, proprio per evidenziarne la genericita della Iormulazio-
ne) non sono mai nettamente deIiniti e sovente sono anzi in contrasto Ira di loro; sovente gli
obiettivi non riguardano solo persone Iisiche ma entita sovra personali, che quindi hanno
propri obiettivi che devono adattarsi a quelli dei propri componenti.

Mssis
.ss|s
B||ett||
|stsms
|s
sssms
||ssssss|mssts
|s.ma|st|sss
,.s||sms
|sst.at|sss
msis||s
|ssss|ts
ist|
s|at|sss
msis||s
/ss||s| |sts.,.stst|sss
.|sa|tst|
/tt|.st|sss
Passa |
Passa Z Passa B
Passa 4
Passa 5
Passa B Passa 7
iss|s|ss|
Passa B
Msis||s
.ss|ts
ssssss|ts
ssss|t|.|ts
5
Colui che deve decidere, non solo deve riconoscere gli obiettivi, ma altresi valutarli nel loro
complesso (e quindi, bene o male, dare loro una dimensione quantitativa) e deve dare una
valutazione della situazione attuale nel complesso negativa rispetto ad una situazione Iutura.

Si osservi che il paradigma viene realizzato in presenza di un modello utente-esperto, per
cui non e aIIatto garantito che chi deve decidere abbia una chiara idea di quello che sono le
prospettive in presenza di una modiIica nei contenuti metodologici di risoluzione dei pro-
blemi, che spesso dovranno trascendere i contenuti personali; in altre parole occorre che il
decisore capisca che la situazione negativa possa essere migliorata mediante metodologie
quantitative (spesso sena capire esattamente cosa sono!).

L'esperto di R.O. , per contro, ha diIIicolta a percepire la realta nel suo complesso: normal-
mente il suo e un mondo di modelli e di tecniche ed il processo decisorio non Ia parte delle
sue competenze.

Probabilmente sono proprio questi tipi di diIIicolta ad avere reso diIIicile l'aspetto applicati-
vo della R.O., che peraltro presenta, da questo punto di vista dei reali problemi di didattica,
nel senso che le percezioni del tipo sopra richiamato maturano soprattutto con l'esperienza.

Il criterio generale da utilizzare in questi casi e quello di ritagliare nella realta un ambiente
ristretto, ben deIinito e tale comunque da caretterizzare meglio le implicazioni sopra accen-
nate: come abbiamo detto, il ciclo puo essere ripetuto piu e piu volte e certamente i passi
successivi del paradigma concorreranno ad identiIicare piu chiaramente le necessita.

Passo 2 - Descrizione del problema

Se il passo di identiIicazione delle necessita vede un contributo preponderante dell'utente,
quello di descrizione del problema coinvolge in modo tendenzialmente paritetico sia l'utente
che l'esperto: il primo deve descrivere il mondo reale in termini "comuni", il secondo deve
ricevere questa descrizione e preparare il terreno per la trasIormazione del problema nel suo
modello.

Dato che il linguaggio standard della R.O. e quello matematico, in questa Iase vengono de-
Iiniti i blocchi Iondamentali del modello in termini di variabili, parametri e vincoli e se e
necessario, viene identiIicata la funzione obiettivo del problema (che non sempre coincide
con l`obiettivo del problema, che normalmente e piu ampio).

Per variabili si intendono aspetti misurabili del problema che sono normalmente divise in
variabili controllabili e variabili non controllabili: le prime sono sotto il diretto controllo
del decisore (ad es. il prezzo di vendita di un proprio prodotto); le seconde non possono
normalmente essere Iissate dal decisore (ad es. il prezzo mondiale della soia).

I parametri sono anch'essi condizioni misurabili, ma che hanno riIerimento alla struttura
stessa del problema e ne rappresentano i valori osservabili.

I vincoli sono restrizioni che devono essere poste alle variabili che caratterizzano il proble-
ma.
La fun:ione obiettivo del problema rappresenta un modo surrogato di descrivere gli obiettivi
del decisore (normalmente in modo piu semplice) ed e inIluenzata dalle variabili, i parame-
tri ed i vincoli individuati.
Passo 3 - Identificazione e formalizzazione del modello
6

Nel terzo passo l'utente diminuisce il suo coinvolgimento mentre viene accentuato quello
dell'esperto: e questa, probabilmente, la ragione per la quale (erroneamente) questo passo
viene identiIicato con l'applicazione stessa.

La descrizione del modello eIIettuata al passo precedente deve essere trasIormata esplicita-
mente in una struttura matematica in grado di rappresentare adeguatamente la realta esami-
nata: quale e il migliore modello matematico da utilizzare per raggiungere questo obiettivo?

Contrariamente a quanto si puo pensare, la risposta non e solo di tipo tecnico ma richiede
un'attenta valutazione degli obiettivi identiIicati al momento dell'inizio del ciclo.

Detto in altre parole, il modello viene Iatto per raggiungere dei risultati e non per permettere
l`applicazione di tecniche matematiche.

Da questo punto di vista e certamente sbagliato l'approccio (purtroppo assai diIIuso), di va-
lutare la bonta del modello sulla base della "matematica" in esso contenuta.

E ovvio che un modello complesso richiede strumenti matematici soIisticati, ma non e aIIat-
to detto, soprattutto nelle Iasi di avvio del ciclo, che il modello debba essere complesso.

D'altra parte l'interpretazione ed implicazione dei risultati che deve essere svolta al passo 7
richiede che la struttura del modello sia compresa almeno in modo generale da parte dell'u-
tente, che dovra utilizzare il modello per prendere decisioni nel mondo reale.

Un aspetto rilevante che viene identiIicato dagli obiettivi del lavoro e il livello di aggrega-
zione del modello e cioe la quantita di dettagli che devono essere inseriti nella sua Iormaliz-
zazione: l'aspetto ciclico di un lavoro di R.O. suggerisce una metodologia di successivi raI-
Iinamenti dei dettagli che pero devono essere sviluppati in un contesto di compatibilita Ira i
vari livelli di sviluppo.

Passo 4 - Raccolta dei dati reali relativi al modello

Una volta Iormulato, il modello acquisisce la sua vitalita mediante l'attribuzione di speciIici
valori da assegnare ai blocchi costitutivi caratterizzati al passo 2.

Da questo punto di vista e interessante osservare che la disponibilita di dati e un Iattore con-
dizionante della struttura del modello e gioca un ruolo almeno pari a quello degli obiettivi
del modello stesso.

Senza dati, il modello non puo avere nessuna validita concreta e talvolta la disponibilita de-
gli stessi condiziona tutti i passi precedentemente esposti.

La raccolta dei dati implica la deIinizione di un sistema di misurazione, che a sua volta de-
Iinisce il tipo di scala da utilizzare e cioe: nominale, ordinale, intervallo o rapporto.
La scala nominale evidenzia categorie Ira loro esclusive, quali, ad es. le squadre di calcio e i
produttori di automobili.

La scala ordinale evidenzia ancora categorie esclusive, ma all'interno di tali categorie esiste
un ordinamento relativo ed i valori quantitativi eventualmente associati a tale ordinamento
hanno valore relativo e non assoluto; ad es., se identiIichiamo la qualita di un prodotto co-
7
me scadente, media e buona e associamo a questi tre giudizi i numeri 1, 2 e 3, non possia-
mo concludere che la qualita buona sia 3 volte migliore di quella scadente.

La scala ad intervallo ha l'ulteriore proprieta che diIIerenze uguali Ira i numeri rappresenta-
no diIIerenze uguali Ira gli attributi che vengono misurati dai numeri; inoltre, la scala ad in-
tervallo identiIica in modo arbitrario un'origine da cui vengono misurate le diIIerenze.

Nella scala a rapporto, inIine, i numeri associati alle proprieta hanno la caratteristica di es-
sere proporzionali alle proprieta che rappresentano ed il punto di origine non e piu arbitra-
rio.

I dati da inserire in un modello possono essere il risultato di una osservazione diretta o di
una stima: da questo punto di vista viene accentuato quell'aspetto di interdisciplinarita a cui
si accennava all'inizio, con un notevole ricorso agli strumenti statistici che sono certamente
una condizione indispensabile per la realizzazione di un'applicazione di R.O.

E interessante notare come la mancata osservanza dei giusti criteri di raccolta dei dati possa
rendere del tutto irrilevante il contenuto del modello stesso, che tuttavia, dal punto di vista
Iormale apparira perIettamente Iormulato.

La problematica relativa alla creazione di modelli inadeguati ai risultati attesi e talmente
nota che nel mondo anglosassone e stata addirittura coniata una sigla per identiIicarli: sono i
ben noti modelli GIGO, derivanti dal termine Garbage In - Garbage Out, dove la parola
garbage (spazzatura) indica appunto la mancanza di attenzione (tecnica) nella raccolta dei
dati.

Un modello, come tale, non sara mai in grado di produrre risultati migliori dei dati che rice-
ve!

Passo 5 - Soluzione del modello

Perche il modello possa essere utilizzato, occorre che vengano attribuiti valori numerici alle
variabili decisionali che lo caratterizzano: questo signiIica che accanto allo sIorzo concet-
tuale associato alla descrizione e Iormulazione del modello, deve essere prevista una proce-
dura risolutiva (algoritmo) che generalmente implica una mole rilevante di calcoli (e di po-
tenziali errori).

Va da se che in questa Iase ha estremo interesse l'utilizzo di elaboratori elettronici, un argo-
mento sul quale ritorneremo piu oltre.

Quello che e interessante rilevare e che nella sua storia la R.O. ha sviluppato una serie di
tecniche in grado di oIIrire, accanto ad una ottima capacita descrittiva, una potente capacita
di risoluzione, una volta che il problema sia stato inquadrato nel modello prescelto.

Questa e la ragione per la quale una padronanza dei modelli esistenti e condizione necessa-
ria per l'approIondimento della R.O. ed e l'aspetto che piu di ogni altro si e sviluppato nel
corso degli anni.
Purtroppo, contrariamente a quanto pensano in molti, non e condizione suIIiciente per ga-
rantire i risultati.

8
Come e Iacile aspettarsi, gran parte della possibilita dei contenuti risolutivi di un modello e
legata alla sua natura, il che richiede una classiIicazione dei modelli esistenti: un argomento
sul quale ritorneremo successivamente.
Passo 6 - Validazione del modello e analisi di sensitivit

Se nei passi di Iormalizzazione, raccolta dati e soluzione la Iigura dell'esperto di R.O. ha un
ruolo preponderante rispetto all'utente, la Iase di validazione del modello e analisi di sensi-
tivita coinvolge proIondamente l'utente.

La validazione del modello e la Iase nella quale viene valutata l'adeguatezza della rappre-
sentazione della realta tramite il modello stesso: cio e evidentemente connesso agli obiettivi
che l'utente si era posto quando il ciclo e cominciato.

Soprattutto per le prime esperienze nell'utilizzo delle metodologie della R.O., la Iase succes-
siva alla soluzione del modello presenta aspetti molto creativi rispetto agli obiettivi rag-
giungibili.

Mentre normalmente viene evidenziata la capacita di un modello di oIIrire risultati migliori
in termini quantitativi rispetto al processo decisionale, l'esperienza dimostra invece che la
validita del modello e legata anche a una serie di sottoprodotti che oIIrono un miglioramen-
to qualitativo generale.

E questa la capacita associata ad un modello di oIIrire una soluzione non solo ai problemi
diretti per il quale e stato pensato, ma anche a soluzioni alternative che non erano state
prese in considerazione.

E la cosidetta sensitivit del modello alle variazioni della sua struttura: questa e una caratte-
ristica del modello come tale che normalmente non viene Iacilmente percepita dall'utente.

Il Iatto di avere creato un modello della realta e quindi avere esplicitamente Iormulato delle
ipotesi sull'interazione delle componenti che questa realta descrivono e probabilmente la ve-
ra essenza della metodologia: nuove ipotesi non sono piu svincolate e totalmente impreve-
dibili, ma hanno una relazione con le scelte gia esistenti e il limite dei cambiamenti sono au-
tomaticamente quantiIicati, migliorando nel complesso il processo decisionale.

Come vedremo, in taluni casi l'analisi di sensitivita del modello ha raggiunto il livello di so-
Iisticazione del modello stesso e ne e parte integrante: e ovvio quindi che questo non e piu
solo un problema tecnico ma che l'aspetto dell'analisi di sensitivita deve essere intimamente
percepito dall'utente.

Passo 7 - Interpretazione dei risultati ottenuti ed implicazioni degli stessi

Come abbiamo accennato precedentemente, ogni modello viene creato per un'obiettivo:
quando i suoi risultati sono disponibili occorre valutare se questi obiettivi sono raggiungibili
e quali sono le modiIiche da apportare alla struttura reale che avra la competenza del settore
che e stato rappresentato nel modello.
In eIIetti, se si considera che l'intero ciclo di sviluppo e partito da una valutazione di miglio-
rabilita della situazione esistente, occorre valutare se l'introduzione del nuovo approccio
giustiIica la modiIica che il modello presuppone e i cui contenuti non sono solo di natura
tecnica.

9
Passo 8 - Applicazioni e controllo delle normative deducibili dal modello

Una volta deciso che il modello ha sulla realt i risultati che si volevano ottenere, la nuova
situazione venutasi a creare con la realizzazione del lavoro del gruppo di R.O. (utente e spe-
cialisti) deve essere inserita nei meccanismi normali dell'ente destinatario.
E questa una Iase tutt'altro che semplice dato che, normalmente, ogni organizzazione ha un
grado (talvolta elevato) di resistenza alle innovazioni.

Il livello di rigetto e normalmente inverso rispetto alla capacita dell'utente di capire le ra-
gioni per le quali le modiIiche sono attuate.

E interessante osservare che nelle applicazioni piu recenti e soIisticate, l'ambito della inter-
disciplinarita della R.O. e stato ampliato, aggiungendo al gruppo di lavoro uno specialista in
psicologia, la cui Iunzione e proprio quella di rendere meno traumatiche le innovazioni.

In ogni caso la realizzazione del passo 8, prima di essere soddisIacientemente attuata, puo
richiedere un periodo di tempo piuttosto lungo, per permettere al modello di operare su uno
spettro di problematiche suIIicientemente ampio per essere dichiarato soddisIacente.

Solo dopo questa Iase e possibile valutare la concreta eIIicienza dell'applicazione delle me-
todologie della R.O.

1. 3 - Classificazione dei modelli

Come abbiamo detto precedentemente, la disponibilita di un bagaglio di conoscenze asso-
ciata alle tecniche di soluzioni applicabili ai vari tipi di modelli e indispensabile per Iacilita-
re sia la Iase di Iormulazione che quella di soluzione dei modelli.

Non esiste oggi una classiIicazione di modelli universalmente accettata.

Ogni classiIicazione ha lo scopo di chiarire meglio la modalita di utilizzo delle tecniche piu
diIIuse.

Da questo punto di vista e largamente accettata un distinzione basata sul modo di conoscere
i dati relativi ai parametri e alle variabili del modello: pertanto i modelli sono classiIicati in
deterministici, probabilistici e ibridi.

I modelli deterministici prevedono che i dati ad essi relativi siano noti con certezza; a parte
la diIIicolta di chiarire in modo deIinitivo cosa si intende con questo termine, dato che il
mondo reale e non deterministico (cioe ad ogni dato attuale e associato un certo livello di
incertezza e ad ogni dato Iuturo e associabile un certo livello di probabilita), sembrerebbe
assurdo Iare riIerimento a strutture di questo tipo.

Si puo osservare che, innanzi tutto, se il livello di variabilita (cioe incerto e/o probabile) e
suIIicientemente ridotto, il dato associato puo concretamente essere considerato come un
dato certo; inoltre, l'introduzione di concetti probabilistici puo introdurre un tale livello di
complessita analitica e di calcolo da impedire l'utilizzo a Iini pratici del modello ad essi as-
sociati.

10
Questa e la ragione per la quale si ricorre ad una specie di modello nel modello e si accetta
di buon grado l'utilizzo di tecniche deterministiche che, come si puo bene immaginare, sono
Ira le piu diIIuse.
La maggior parte dei modelli di tipo deterministico puo essere riassunta in modo generale
da una struttura del tipo seguente:

ottimizzare:
zI(X,Y) 1.1

soggetto a:

G(X,Y) __ b


Nella struttura generalizzata precedente, z rappresenta una misura dell'eIIicienza delle scelte
eIIettuate sulle variabili controllabili (X) e su quelle non controllabili (Y); l'assoggettamento
relativo __ indica che le variabili controllabili e no sono vincolate a speciIici valori limitati-
vi b.

La Iorma 1.1 rappresenta il modello generale della cosiddetta programmazione matema-
tica, che e uno dei modelli piu importanti della R.O. grazie anche all'elevato numero di
algoritmi risolutivi disponibili per i vari modelli Iormulabili.

Ai modelli deterministici si contrappongono quelli probabilistici (o stocastici), dove i dati
costitutivi del modello sono composti da valori casuali derivanti da speciIiche distribuzioni
di probabilita.

Mentre dai modelli derivanti dalla programmazione matematica e in genere desumibile un
comportamento speciIico che viene valutato dalla Iunzione obiettivo (e tale comportamento
e in genere ottimizzato in senso matematico), dai modelli probabilistici non e normalmente
desumibile questo comportamento normativo.

L'obiettivo di un modello stocastico e in genere la conoscenza del comportamento Iuturo del
sistema sotto esame: per enIatizzare questo aspetto, abbiamo preIerito inserire il trattamento
dei modelli stocastici nella categoria piu ristretta dei modelli previsionali.

InIine, la categoria dei modelli ibridi accoglie i modelli che uniscono le caratteristiche della
programmazione matematica a quella dei modelli tipicamente stocastici.

In questa categoria e normalmente inclusa la simulazione, che abbiamo preIerito inserire Ira
i modelli previsionali proprio a causa delle osservazioni sopra accennate.





1.4 - R.O. ed elaboratori elettronici

11
Prima di iniziare il trattamento tecnico dei singoli modelli, ci sembra indispensabile soIIer-
marci sugli strumenti al contorno della ricerca operativa ed in particolare alla Iunzione e al
ruolo degli elaboratori elettronici rispetto alla R.O.
Come abbiamo accennato inizialmente, la R.O. e un insieme di attivita e di tecniche orienta-
te al raggiungimento di un obiettivo speciIico e basate sulla convinzione che la quantiIica-
zione dei problemi e l'utilizzo della metodologia scientiIica siano, in genere, l'approccio mi-
gliore per risolvere problemi complessi.

Per potere raggiungere questo obiettivo vengono utilizzati una serie di strumenti di natura
matematica che spesso vengono identiIicati con la R.O., ma che nella realta non sono che un
supporto per la parte piu semplice dell'intero lavoro.

Il rapporto tra l'applicazione di R.O., l'insieme degli strumenti utilizzabili e le applicazioni
puramente scientiIiche che stanno dietro alle tecniche utilizzate puo essere schematizzato
come nella Iig. 2.

FIG. 2 - RAPPORTO TRA STRUMENTI, TEORIA E APPLICAZIONI DI R.O.






















Si osservi che il livello "Applicazioni", il livello "Approccio scientiIico" e quello "Ricerca
scientiIica" non hanno una separazione netta: spesso non e chiaro il momento in cui un li-
vello entra nell'altro e talvolta non e neppure particolarmente interessante (dal punto di vista
della R.O.) approIondire piu di tanto la distinzione.

Il passaggio che trasIorma la metodologia in applicazione e dato proprio dalla soluzione del
modello, cioe dalla Iase in cui i valori delle variabili vengono deIiniti ed il problema astratto
diventa una realizzazione.

Tuttavia, questa trasIormazione non e solo di natura numerica: nella realta, quello che viene
ottenuto e un approccio sistemistico al problema, dove una molteplicita di modelli e di com-
ponenti interagiscono Ira di loro.
||ss|,||ss s
tsss|s|s
|ss||ttst|ss|
s|at|ss|
Msis||s
|.s||sm Mstsi|
||ss.ss
ss|sst|l|ss
/,,.sss|s
ss|sst|l|ss
/,,||sst|ss|
12

La realizzazione concreta di questo approccio, in relazione ai volumi di dati, di calcoli e di
problematiche gestite, non puo certamente essere ottenuta manualmente, ma richiede l'uti-
lizzo di elaboratori elettronici.
Ecco quindi che l'elaboratore elettronico diviene una parte integrante della R.O. come ap-
plicazione ed e anzi lo strumento indispensabile per la sua concreta esistenza.

Ma se questa integrazione disciplina / strumento e vera, la disciplina stessa non puo non es-
sere inIluenzata dalle evoluzioni e dalle modiIiche che il settore inIormatico ha subito in
questi ultimi anni.

ModiIiche ed evoluzioni che hanno riguardato sia l'hardware che il soItware.

Le modiIiche dell'hardware hanno messo a disposizione dell'utente una potenza di calcolo
tale da stravolgere la stessa struttura organizzativa della realta a cui la R.O. si indirizza.

Questa potenza grezza di calcolo e stata solo parzialmente sIruttata dal soItware disponibile,
che con i nuovi concetti di interIaccia utente ha eliminato quasi totalmente la Iigura dell'o-
peratore che si inseriva Ira l'utente Iinale e l'elaboratore e che allungava il ciclo di elabora-
zione, rendendolo scarsamente utilizzabile per il processo decisionale.

Il soItware e diventato quindi uno strumento a disposizione di tutti, talvolta banalizzando la
soluzione tecnica dei problemi.

Con la nascita del soItware orientato agli oggetti (OOPS), questa tendenza viene raIIorzata
e si apre una nuova tecnica di sviluppo del soItware basato sul raIIinamento costante dei
prototipi.

Questo approccio innovativo al soItware altro non e se non la diretta realizzazione del ciclo
della R.O. precedentemente delineato, dove il modello si integra con il concetto stesso di
programma e il paradigma di sviluppo corrisponde al raIIinamento del prototipo mediante
una serie di strumenti tecnici a disposizione dello sviluppatore.

Le prospettive derivanti da questa stretta connessione sono tutte da veriIicare, ma tali co-
munque da rendere ancora piu allettanti gli sviluppi della R.O. come strumento risolutore di
problemi reali.

A causa di questa stretta relazione Ira nuove tecnologie di sviluppo del soItware e ciclo del-
la R.O. ed in considerazione anche del Iatto che l'origine della tecnologia orientata agli og-
getti e da individuare nella simulazione, che e una delle tecniche piu diIIuse della R.O., ci e
sembrato opportuno inserire tra gli argomenti trattati anche un accenno alla OOPS, ben con-
sci che questo argomento trova approIondimenti in altre discipline.

E nostra convinzione che nel Iuturo tale argomento avra per la R.O. lo stesso peso che rive-
ste oggi la strumentazione statistica e che dovra Iare parte degli strumenti a disposizione del
proIessionista di questa disciplina e di tutti coloro che (sempre piu spesso) introdurranno
metodologie quantitative in problemi che oggni vengono aIIrontati in modo diverso.
BibliograIia

Handbook of O.R. - Edited by J.J. Moder and S.E.Elmaghraby
Ed. Van Nostrand Reinhold Company (1978)
13

Principles of O.R. for Management - F.S. Budnick, R. Mojena, T.E. Vollmann
Ed. R.D. Irwin, Inc. (1977)

Priciples of O.R. - H.M. Wagner
Ed. Prentice-Hall, Inc. (1969)

Smalltalk-80 - A.Goldberg, D. Robson
Ed. Addison-Wesley Publishing Company ( 1983)

Stage by stage - Nolan, Norton & Co
Vol. 9, Number 2 (1989)
14
2 - DECISIONI

Nella parte introduttiva abbiamo aIIermato che la R.O. e uno strumento che Iacilita il pro-
cesso decisionale mediante un approccio di tipo quantitativo.

Tuttavia, non e stato chiarito cosa si intende per decisione, anche se tutti ne hanno un'idea
intuitiva.

Ci e sembrato utile iniziare dall'approIondimento del concetto di decisione per esempliIicare
la modalita di approccio della R.O. ai problemi e contemporaneamente per cominciare la
descrizione dei modelli piu diIIusi e consolidati.

La decisione e l'argomento di una speciIica teoria che, deIinendo in senso tecnico il termine,
oIIre tracce per un comportamento razionale nell'eIIettuare scelte alternative.

Come Iaremo spesso anche per gli altri modelli che esamineremo, introdurremo il problema
mediante un caso speciIico che ci servira come strumento di approIondimento.

2.1 - Teoria della decisione

Si supponga di dovere iniziare un'attivita di vendita di un certo prodotto acquistabile a lotti
discreti di 100 pezzi ad un costo unitario per lotto di 30 euro, Iino ad un massimo di 400
pezzi e si ipotizzi che il prodotto possa essere venduto, sempre a lotti di 100 pezzi ad un
prezzo di 50 euro per lotto.

Se il prodotto non puo essere venduto sul mercato nello stesso giorno dell'acquisto, puo es-
sere venduto il giorno successivo ad un prezzo di 20 euro per lotto; si supponga inoltre che
non sia possibile vendere in quantita superiore alle disponibilita, ma che questo non com-
porti nessun tipo di penalizzazione.

In queste condizioni, come dobbiamo comportarci?

L'esempio precedente contiene gli elementi Iondamentali per la deIinizione di un problema
decisionale e cioe una serie di alternative su cui si ha il controllo (le quantita da acquista-
re), una serie di alternative su cui non si ha il controllo (le quantita vendibili) e un risul-
tato associato ad ogni copia alternativa controllabile/non controllabile.

Gli elementi costitutivi di un problema di decisione sono quindi:

- l'insieme delle possibili scelte (o strategie) (decisioni controllabili) S
i
}
- l'insieme dei possibili stati attesi (decisioni non controllabili) E
j
}
- il risultato condizionato di ogni copia scelta/stato CP(S
i
,E
j
)

Il risultato condizionato puo assumere sia valori positivi che negativi e viene presentato in
una tavola che prende normalmente il nome di matrice dei pagamenti: i valori positivi in-
dicano un proIitto (e quindi desiderabile) per il decisore e i valori negativi indicano una per-
dita (e quindi non desiderabile) per il decisore.

Un ulteriore elemento di classiIicazione che approIondiremo successivamente e il tipo di
conoscenza che possiamo avere sugli stati attesi.
15
Per il momento limitiamoci a Iormalizzare in modo piu compatto il problema.

TAB. 1 - FORMALIZZAZIONE DEL PROBLEMA DI DECISIONE

E
j

S
i

0,00 100,00 200,00 300,00 400,00
0,00 0,00 0,00 0,00 0,00 0,00
100,00 -10,00 20,00 20,00 20,00 20,00
200,00 -20,00 10,00 40,00 40,00 40,00
300,00 -30,00 0,00 30,00 60,00 60,00
400,00 -40,00 -10,00 20,00 50,00 80,00

I dati della matrice dei pagamenti sono costituiti dalla diIIerenza Ira costo di acquisto e ri-
cavo di vendita:

Es: CP(S
5
,E
2
) |(50 - 30) * (4 - 3)| |(20 - 30) * (4 - 1)| -10
1


La matrice dei pagamenti sintetizza il punto di vista del decisore nei conIronti delle alterna-
tive possibili: per decidere il comportamento supporremo che il decisore abbia nei conIronti
di queste alternative un atteggiamento razionale.

InIatti, se si suppone di essere certi quelli che saranno i possibili risultati, il modello cosi
Iormulato ci da elementi per prendere una decisione (intesa come scelta Ira le alternative
controllabili).

Tuttavia, non sempre l'inIormazione su quelli che potranno essere gli stati attesi (che, ricor-
diamo, non sono controllabili da parte del decisore) e completa.

Il modello generale di decisione viene allora completato con un ulteriore elemento e cioe la
valutazione delle probabilit degli stati attesi p(E
j
)}; questo tipo di conoscenza inIluenza
la procedura da seguire per eIIettuare la scelta.

Le decisioni trattate dalla relativa teoria sono quindi classiIicabili in:

- decisioni in condizione di certezza (abbiamo una conoscenza completa degli stati attesi)
- decisioni in condizioni di incertezza (non abbiamo nessuna conoscenza sul veriIicarsi de-
gli stati attesi)
- decisioni in condizioni probabilistiche (o di rischio), quando possiamo associare i risul-
tati attesi a distribuzioni di probabilita.

Decisioni in condizioni di certezza

In condizioni di certezza, la scelta della strategia migliore e assai semplice: si cerca il valore
positivo piu alto per ogni stato della matrice dei pagamenti e si eIIettua la scelta associata a
tale valore.


Decisioni in condizioni di incertezza
2


1
Per evitare conIusioni, la moltiplicazione verra indicata mediante il simbolo '* anziche mediante il simbolo
'x oppure mediante l`utilizzo delle parentesi quando questo non genera incertea di interpretazione
16

In condizioni di incertezza il problema diventa molto piu complicato e deve essere tenuto
presente l'atteggiamento psicologico del decisore.

La scelta viene eIIettuata in relazione a vari possibili criteri e cioe:

- Criterio pessimistico (max-min o min-max, a seconda si tratti di costi o ricavi)
- Criterio ottimistico (max-max o min-min, a seconda si tratti di costi o ricavi)
- Criterio dell'equi-risultato
- Criterio della minima perdita di opportunit (o rimpianto)

Criterio del max-min (min-max)

La scelta con criterio pessimistico viene eIIettuata scegliendo il risultato minimo ottenibile
per ogni possibile strategia e da questo insieme viene scelta la strategia che da il risultato
massimo.

Nell'esempio precedente, l'insieme dei valori minimi associati alle scelte e:
S
1
0;S
2
-10;S
3
-20;S
4
-30;S
5
-40}; tra questi valori viene scelta la strategia S
1
, che ha il
massimo risultato.

Criterio del max-max (min-min)

La scelta con criterio ottimistico viene eIIettuata scegliendo il risultato massimo ottenibile
per ogni possibile strategia e da questo insieme viene scelta la strategia che da il risultato
massimo.

Nell'esempio precedente, l'insieme dei valori massimi associati alle scelte e:
S
1
0;S
2
20;S
3
40;S
4
60;S
5
80}; tra questi valori viene scelta la strategia S
5
, che ha il
massimo risultato.

Criterio dell'equi-risultato

In mancanza di altri elementi, tutti i possibili stati hanno la stessa importanza e il ritorno as-
sociato ad ogni strategia e sostituito dalla media aritmetica di tutti i risultati associati agli
stati; da questo insieme viene scelto il valore massimo.

Nell'esempio precedente, l'insieme dei valori medi per ogni strategia e:
S
1
0;S
2
14;S
3
22;S
4
24;S
5
20}; tra questi valori viene scelta la strategia S
4
, che ha il
massimo ritorno medio.

Criterio della minima perdita di opportunita

Il criterio della minima perdita di opportunita (proposto dall'economista Savage) suggerisce
di modiIicare la matrice dei pagamenti per eIIettuare la scelta.


2
Si noti la diIIerenza Ira incertezza e probabilit: la prima riguarda una situazione attuale (che come tale, si
sta veriIicando), mentre la seconda riguarda una situazione futura (che potrebbe anche non veriIicarsi mai)
17
Come abbiamo visto, normalmente la matrice dei pagamenti contiene i costi (o i ricavi): Sa-
vage suggerisce di sostituirla con una matrice dei rimpianti (o perdita di opportunit, in
inglese opportunity loss), deIinita come segue:
- per ogni elemento della matrice dei pagamenti, sostituire il dato originario con la diIIeren-
za Ira il massimo dei risultati ottenibili dalla strategia corrispondente all'elemento considera-
ro ed il valore dell'elemento stesso.

I valori cosi ottenuti rappresentano il rimpianto rispetto al miglior risultato per ogni scelta
ottima oIIerta dalla strategia e rappresentano gli elementi della nuova matrice dei pagamen-
ti; sulla matrice cosi ottenuta viene applicato il criterio del max-min (trattandosi di costi, an-
che se il valore e ovviamente positivo).

La matrice del rimpianto per l'esempio precedente e riportato nella Tab. 2; i valori massimi
per ogni strategia sono: S
1
80;S
2
60;S
3
40;S
4
30;S
5
40}; mediante questi valori viene
scelta la strategia S
4
, che ha il valore minimo.

TAB. 2 - MATRICE DEL RIMPIANTO

E
j

S
i

0,00 100,00 200,00 300,00 400,00
0,00 0,00 20,00 40,00 60,00 80,00
100,00 10,00 0 20,00 40,00 60,00
200,00 20,00 10,00 0,00 20,00 40,00
300,00 30,00 20,00 10,00 0,00 20,00
400,00 40,00 30,00 20,00 10,00 0,00

Decisioni in condizioni di rischio

Le decisioni in condizioni di rischio partono dall'attribuzione di un peso p(E
j
) al veriIicarsi
(nel Iuturo) di ognuno dei possibili stati; il peso da assegnare deriva da un'opportuna distri-
buzione di probabilita, per cui avremo
j
p(E
j
) 1.

In condizioni di incertezza, la scelta viene eIIettuata su valore medio di ogni strategia cioe:

EMV(S
i
)
j
CP(S
i
,E
j
) p(E
j
) 2.1

Tra i possibili valori delle varie strategie viene poi scelto quello ottimo che indicheremo con
EMV
*

Si osservi che il punto Iondamentale della decisione in condizione di rischio e l'assegnazio-
ne di una valutazione al veriIicarsi degli stati; questa valutazione puo avvenire mediante un
giudizio soggettivo oppure puo essere ottenuta mediante lo svolgimento di una ricerca: e
ovvio che, in questo caso, l'aumento di inIormazione corrisponde ad un costo che si deve
sostenere.

E interessante chiedersi quanto dovrebbe essere il valore massimo di tale costo: la teoria
delle decisioni e in grado di oIIrire questa risposta.

Cominciamo a deIinire il valore della nostra decisione se Iossimo in grado di eIIettuare la
scelta migliore (se Iossimo cioe perIettamente inIormati, prima di decidere, quale sara lo

18
stato che si veriIichera), che chiameremo valore atteso con informazione perfetta; il suo
valore sara:
EPPI
j
CP*
j
(E
j
) p(E
j
) 2.2
(con CP*
j
(E
j
) miglior risultato possibile di ciascun stato)

Se dal valore di 2.2 sottraiamo il valore ottimo della scelta in condizioni di incertezza
EMV*, otteniamo il costo dell'informazione perfetta:

EVPI EPPI - EVM*
2.3

Il valore EVPI corrisponde alla scelta ottimale in condizioni di incertezza eIIettuata non
sulla normale matrice dei pagamenti, ma su quella del rimpianto.

InIatti, indicando con EOL* il valore ottimo della scelta eIIettuata sulla matrice del rim-
pianto, avremo:

EPPI EMV* EOL* 2.4

e quindi:

EVPI EMV* EOL* - EMV* EOL* 2.5

2.2 - Gli alberi decisionali
3


Come e ovvio, la parte piu interessante da un punto di vista applicativo della teoria delle de-
cisioni e quella relativa alle condizioni di incertezza, dato che gli altri due estremi (certezza
assoluta ed incertezza assoluta) si veriIicano assai raramente.

Dal punto di vista applicativo capita sovente di trovarsi a dovere aIIrontare non un singolo
problema decisionale ma diversi problemi correlati tra di loro.

In questo caso, la struttura del modello decisionale si complica ulteriormente e da origine ai
cosiddetti alberi decisionali, che aIIrontano appunto il problema di scegliere non piu in pre-
senza di un unico modello di decisione, ma in presenza di una serie di modelli correlati Ira
di loro.

Per iniziare la loro trattazione, cominciamo innanzi tutto a riconsiderare le schema probabi-
listico utilizzato per le decisioni in condizione di incertezza.

Fino a questo momento, abbiamo considerato che la probabilita di ciascuno stato Iosse asse-
gnata dalla natura stessa del problema che, proprio per questa ragione prende il nome di
probabilit a priori.
E intuitivo che una veriIica dell'attendibilita delle ipotesi probabilistiche Iormulate puo por-
tare ad una diverse assegnazione di probabilita ai vari stati: questo secondo tipo di probabi-
lita, proprio perche nato da un maggior numero di inIormazioni man mano che sono dispo-
nibili, prende il nome di probabilit a posteriori.
Per illustrare il concetto e le modalita di calcolo, vediamo un esempio.

3
Questa parte richiede conoscenza di terminologia e concetti statistici

19
Si supponga di dovere immettere sul mercato un nuovo prodotto: i ritorni associati dipenda-
no dal grado di accettazione dello stesso; per quantiIicare l'accettazione del prodotto, si sia-
no Iatte tre Iasce di percentuale di accettazione:

- una pessimistica (dal 2,5 al 7,5 del mercato), con una perdita di 2 unita di valore
- una realistica (oltre il 7,5 Iino al 12,5), con un guadagno di 1 unita di valore
- una ottimistica (oltre il 12,5 Iino al 17,5), con un guadagno di 5 unita di valore

a quest'ultima accettazione e stata attribuita una probabilita pari al 50 delle altre due, per
le quali e stato valutato lo stesso livello di probabilita.

Il problema decisionale associato e caratterizzato dai seguenti elementi:

- S
1
introdurre il prodotto sul mercato
- S
2
non introdurre il prodotto sul mercato (con ritorni e costi nulli)

- E
1
accettazione pessimistica da parte del mercato accettazione del 5 (punto medio
dell'intervallo di probabilita)
- E
2
accettazione media accettazione del 10
- E
3
accettazione ottimistica accettazione del 15

- p(E
1
) 0.4
- p(E
2
) 0.4
- p(E
3
) 0.2

Si supponga che la matrice dei pagamenti sia quella riportata in Tab. 3; da questa tabella si
ottiene che il valore medio atteso di S
1
e 0.6 e quello di S
2
e 0, dal che parrebbe conveniente
lanciare il prodotto sul mercato

TAB. 3 - MATRICE DEI PAGAMENTI PER IL LANCIO DI UN PRODOTTO

E
1
: m 0.05 E
2
: m 0.10 E
3
: m 0.15
p(E
1
) 0.4 p(E
2
) 0.4 p(E
3
) 0.2
S
1
: introdurre......... -2 1,00 5,00
S
2
: non introdurre.. 0,00 0,00 0,00

Ora si supponga che, per conIermare le ipotesi Iatte sul livello di accettazione, sia stato Iatto
un campionamento, presentando un prototipo del prodotto a 100 persone e che solo 3 abbia-
no risposto positivamente alla presentazione.

E ovvio che, avendo un'accettazione di solo il 3, le nostre valutazioni a priori dovrebbero
essere riviste, sulla base di questa nuova inIormazione; ma in che modo?

La risposta a questo problema e la cosidetta formula di Bayes, che e in grado di darci una
nuova valutazione quantitativa delle probabilita a priori alla luce delle nuove inIormazioni
disponibili.

La probabilita a posteriori valutata dalla Iormula di Bayes e costituita dal prodotto di due
eventi indipendenti (la probabilit a priori e la probabilit di ottenere il risultato osser-
20
vato se la probabilit a priori vera), rapportata a tutti i modi di veriIicarsi del risultato
osservato.

La Iormula di Bayes e la seguente:

I(E,x) (I(E)* I(x,E)) / I(x)
2.6
dove:

E stato di natura
x valore della variabile casuale rilevata, desunta dalla distribuzione X, da cui la nuova
inIormazione proviene
I(E,x) probabilita condizionata di E al veriIicarsi di x (probabilita a posteriori)
I(E) probabilita a priori dello stato
I(x,E) probabilita condizionata di ottenere il valore x ipotizzando lo stato E
I(x) probabilita marginale di x _I(x,E)

Per continuare il nostro esempio, immaginiamo di avere ottenuto il valore sperimentale (i 3
casi Iavorevoli) da una variabile casuale distribuita secondo la distribuzione di Bernulli,
cioe:

p(x)
n
C
x
p
x
(1-p)
n-x
2.7

con


n
C
x
n! / ((n-x)!x!) 2.8

Ad esempio, la probabilita I(3,E
1
) e data da: p(3)
100
C
3
* 0.05
3
* 0.95
97


(il valore di p e corrispondente al livello di mercato raggiungibile e quindi 0.05, 0.10 e 0.15)

I calcoli per la determinazione delle probabilita sono riportati nella Tab. 4; sulla base dei va-
lori di probabilita a posteriori, il valore atteso di S
1
e -1,876 e quello di S
2
e 0.

TAB. 4 - CALCOLO DELLE PROBABILIT A POSTERIORI

E I(E) I(3,E) I(E).I(3,E) I(E,3)

E
1
...................................... 0.4 0.1396 0.05584 0.95912
E
2
...................................... 0.4 0.0059 0.00236 0.04054
E
3
...................................... 0.2 0.0001 0.00002 0.00034

1.0 I(3) 0.05822 1.00000

Dalla sperimentazione, che ha dato un risultato positivo del 3, viene assai rinIorzata l'ipo-
tesi pessimistica, a scapito di quella media e ottimistica, la cui probabilita di veriIicarsi vie-
ne ora considerata praticamente trascurabile.

Come si vede, la disponibilita di inIormazioni puo modiIicare in modo sostanziale lo sche-
ma di scelte razionali.
21

Quando prendiamo in considerazione non piu un semplice problema decisionale ma una se-
quenza di decisioni Ira loro correlate, le inIormazioni derivanti dai risultati di una decisione
inIluenzano il modo di valutare quelle successive.

Di conseguenza, quando vengono aIIrontati problemi di decisioni articolate e correlate l'una
con l'altra, gli elementi da tenere in considerazione non sono piu solo le strategie e gli stati
del sistema, ma anche i risultati intermedi che si osservano.
Il problema e allora quello di correlare Ira loro sistematicamente gli elementi decisionali per
potere giungere ad una soluzione ottima: questo viene Iatto mediante la Iormulazione dei
cosidetti alberi decisionali.

Un albero decisionale e una sequenza di nodi e di archi che collegano Ira loro gli elementi
costitutivi del processo decisionale (stati, decisioni e osservazioni).

Gli archi rappresentano possibili valori degli stati (E), delle decisioni (S) o delle osserva-
zioni (x); i nodi identiIicano il tipo di alternativa (se dipendente dalle decisioni o
dall`osservazione).

Anche in questo caso inizieremo da un esempio per spiegare i concetti.

Si supponga che sia quasi completata una centrale nucleare del costo di 1000 miliardi e che
si debba porla in attivita: non tutti sono d'accordo che la licenza per il Iunzionamento sia
concessa a causa dei rischi sismici che minacciano la zona dove l'impianto dovrebbe Iun-
zionare.

Mentre alcuni ritengono che le garanzie siano suIIicienti, altri ritengono che l'autorizzazione
non debba essere concessa a causa dei rischi relativi ed altri inIine sostengono che l'autoriz-
zazione dovrebbe essere condizionata ad un raIIorzamento delle strutture per portare l'im-
pianto a resiste da scosse Iino al 7 grado della scala Richter (come e attualmente) Iino a
scosse dell'8 grado.

La matrice dei pagamenti e riportata nella Tab. 5; gli stati e le strategie sono le seguenti:

S
1
Autorizzare l'impianto a Iunzionare nelle condizioni attuali
S
2
Autorizzare l'impianto a Iunzionare dopo un raIIorzamento
S
3
Non autorizzare l'impianto a Iunzionare
E
1
Durante la vita dell'impianto si veriIicheranno scosse non superiori al 7 grado Richter
E
2
Durante la vita dell'impianto di veriIicheranno scosse Iino all'8 grado Richter
E
3
Durante la vita dell'impianto si veriIicheranno scosse maggiori dell'8 grado Richter

Gli elementi della matrice dei pagamenti sono costituiti dal valore attualizzato dei costi del-
l'impianto: la diIIerenza Ira 70 e 8000 rappresenta il costo sociale della catastroIe (cioe se si
veriIica un terremoto che l'impianto non e in grado di sopportare); la diIIerenza Ira la prima
e la seconda riga (0.1) rappresenta il costo di ristrutturazione dell'impianto per metterlo in
grado di sopportare scosse piu Iorti; la terza riga rappresenta il costo associato all'abbando-
no della costruzione e del riciclo dell'impianto ad altri Iini (tutte le ciIre sono espresse in mi-
liardi).

Una rilevazione campionaria ha attribuito le seguenti probabilita a priori ai 3 possibili stati:
22
(d'ora in poi utilizzeremo indiIIerentemente p(E) o I(E) per identiIicare la probabilita a prio-
ri)

I(E
1
) 0.999990
I(E
2
) 0.000009
I(E
3
) 0.000001

In queste condizioni, si puo veriIicare che la strategia migliore e S
1
.

Si osservi che il vantaggio ottenibile da una inIormazione perIetta e piu di 792 miliardi, per
cui si valuta positivamente una spesa per un approIondimento della valutazione della proba-
bilita da attribuire agli stati.

La ricerca deve valutare la probabilita di avere stimato correttamente gli stati e quindi, per
ogni possibile alternativa, sono ipotizzabili 3 risultati, che valutano la conIerma dell'ipotesi
o quelle delle due altre alternative (che sia stato sotto o sopra stimato).

Le probabilita dei risultati della sperimentazione, dati gli stati di natura, sono sintetizzate
nella Tab.6 delle probabilita condizionate I(x,E); nella Tab.7 delle probabilita congiunte
I(E) I(x,E) e inIine nella Tab.8 sono riportate le probabilita a posteriori per ognuno degli
stati e dei possibili risultati della sperimentazione.

Con l'utilizzo della probabilita a posteriori la scelta ottima e S
2
.

In generale, il problema complessivo e di valutare l'ipotesi di non Iare ulteriori ricerche (e in
questo caso utilizzare le probabilita a priori), oppure di eIIetture la sperimentazione (e in
questo caso utilizzare le probabilita a posteriori): questo problema complessivo e rappresen-
tato nell'albero decisionale riportato nella Fig. 3.

L'albero va da sinistra a destra: inizia con un nodo che rappresenta la prima alternativa (spe-
rimentare o no); nel caso di non sperimentazione, il nodo successivo e ancora una decisione,
da cui escono i rami corrispondenti alle 3 strategie; a ogni decisione si collega un nodo cor-
rispondente agli stati di natura, a cui sono associate le probabilita a priori.
Nel caso di sperimentazione, il nodo successivo rappresenta l'uscita dei possibili risultati
sperimentali: all'uscita di ogni risultato c'e un nodo di decisione dal quale escono le possibili
strategie; ad ogni strategia e associato il nodo corrispondente agli stati di natura; questa vol-
ta a ciascuno stato sono collegate le probabilita a posteriori corrispondenti al risultato della
sperimentazione; si noti che all'arco della decisione relativa deve essere associato il costo
della sperimentazione.

Una volta strutturato l'albero, la sua valutazione va da destra a sinistra: quindi, associato a
ciascun risultato e il valore di ogni strategia condizionata all'evento, moltiplicata per la pro-
babilita relativa.

Il conIronto Ira i valori prodotti dalle decisioni permette la scelta delle strategie.

Le strategie eliminate sono caratterizzate da una X sull'arco relativo.

La decisione Iinale ha un costo atteso di 70.06058 (l'altra alternativa ha un costo atteso di
70.0793).
23
Vedremo nella parte riguardante la programmazione dinamica in condizioni probabilisti-
che tecniche alternative a quelle presentate per Iormulare la strategia migliore.

TAB. 5 - MATRICE DEI PAGAMENTI PER L'IMPIANTO NUCLEARE (IN
TERMINI DI COSTI)

E
1
E
2
E
3

S
1
................70.0 8000.0 8000.0
S
2
................70.1 70.1 8000.1
S
3
..............100.0 100.0 100.0


TAB. 6 - PROBABILIT CONDIZIONATE f(x[E)

Sperimentazione
Stato x
1
x
2
x
3


E1.................................................................0.7 0.2 0.1
E2.................................................................0.3 0.5 0.2
E3.................................................................0.0 0.1 0.9

(x
1
sottostima
x
2
stima realistica
x
3
sovrastima)

TAB. 6 - PROBABILIT CONGIUNTE

x
1
x
2
x
3
Mar. I(E)

E1.................................0.6999930 0.1999980 0.0999990 0.999990
E2.................................0.0000027 0.0000045 0.0000018 0.000009
E3.................................0.0000000 0.0000001 0.0000009 0.000001

Marginale I(x).......... 0.6999957 0.2000026 0.1000017 1.000000


TAB. 8 - PROBABILIT A POSTERIORI f(E[x)

x
1
x
2
x
3


E1......................................0.9999961 0.9999770 0.9999730
E2......................................0.0000039 0.0000225 0.0000180
E3......................................0.0000000 0.0000005 0.0000090

Totale...................... 1.0000000 1.0000000 1.0000000




24
FIG. 3 - ALBERO DECISIONALE PROBLEMA IMPIANTO NUCLEARE



25
2.3 - Teoria dei giochi

Mentre nella teoria della decisione viene aIIrontato il problema di un decisore che si trova a
Ironteggiare un oppositore (la natura) che ha un atteggiamento neutro nei conIronti del de-
cisore stesso (non ha cioe nessuna preIerenza nello scegliere le sue "strategie"), nella teoria
dei giochi vengono prese in considerazione situazioni di conIlitto: situazione cioe dove esi-
stono due o piu parti che operano per ottenere un vantaggio di tipo competitivo.

Le situazioni di competizione che possono essere aIIrontate mediante la teoria dei giochi
sono di vario tipo: noi ci occuperemo in particolare dell'aspetto che riguarda i giochi a due
persone a somma nulla.

Il nome di questo tipo di gioco dipende dal Iatto che cio che viene perso (o guadagnato) dal
giocatore 1, viene guadagnato (o perso) dal giocatore 2.

Giochi a due persone a somma nulla

I giochi di questo tipo vedono due soli oppositori e sono caratterizzati dal Iatto che cio che
un giocatore perde, viene guadagnato dall'altro; il giocatore 1 dispone di m strategie ed il
giocatore 2 di n strategie (con m __ n).

I risultati delle m.n strategie del giocatore 1 e del giocatore 2 potranno essere positivi, ne-
gativi o nulli e potremo portarli su una matrice dei pagamenti, esattamente analoga a quella
che abbiamo gia visto per la teoria delle decisioni.

Considerando che stiamo trattando il caso del gioco a somma nulla, per rappresentare com-
pletamente il gioco sara suIIiciente utilizzare una matrice dei pagamenti unica per i due gio-
catori, dato che cio che guadagna uno viene pagato dall'altro; in particolare verra presa in
considerazione quella del giocatore 1.

Il gioco a due persone a somma nulla e quindi caratterizzata da:

- due giocatori (G
1
e G
2
)

- le strategie a disposizione del giocatore 1 (numerate da 1 a m)
- le strategia a disposizione del giocatore 2 (numerate da 1 a n)
- la matrice dei pagamenti del giocatore 1, che per ogni valore p
ij
mette in evidenza il risul-
tato della strategia i per il giocatore 1 quando il giocatore 2 usa la strategia j; questo valore
e opposto per il giocatore 2: quindi, se questo valore e positivo, signiIica un guadagno
del giocatore 1 e una perdita per il giocatore 2, il contrario se negativo.

L'obiettivo della teoria dei giochi e quello di identiIicare il valore v del gioco in condizioni
di razionalita, cioe quello che il giocatore 1 deve ricevere (o dare) al giocatore 2 se entram-
bi i giocatori si comportano razionalmente.

Questa condizione e di estrema importanza anche per la struttura stessa del problema, dato
che questo permette (eventualmente) di ridurre il numero di strategie delle due parti da tene-
re presenti per la scelta.

Si immagini di avere una matrice dei pagamenti come quella riportata nella Tab.9: la stra-
tegia 2 non verra mai utilizzata dal giocatore 1 (che deve massimizzare i suoi risultati), dato
26
che la strategia 2 e peggiore della strategia 1 per qualsiasi strategia utilizzata dal giocato-
re 2.

La strategia 2 prende il nome di strategia dominata e puo essere eliminata dalle strategie a
disposizione del giocatore 1 e dalla matrice dei pagamenti, proprio perche nessuno dei due
giocatori la utilizzera a causa del loro comportamento razionale.

TAB. 9 - MATRICE DEI PAGAMENTI CON STRATEGIA DOMINATA

G
2

G
1

1,00 2,00 3,00
1,00 -3,00 -2,00 6,00
2,00 -3,00 -6,00 2,00
3,00 2,00 0,00 2,00
4,00 5,00 -2,00 -4,00

Utilizzando la matrice dei pagamenti, il giocatore 1 cerchera di massimizzare i propri ritorni
(e il giocatore 2 conosce questo suo desiderio, essendo entrambi razionali); per raggiungere
questo obiettivo utilizzera la regola del min-max, simile a quella gia deIinita nella teoria
delle decisioni: tale valore rappresenta il limite superiore v+

del gioco.

Il giocatore 2 cerchera di minimizzare le proprie perdite ed identiIichera il limite inIeriore v-

del gioco mediante la regola del max-min.

(La scelta del tipo di strategia deriva naturalmente dal comportamente razionale dei due gio-
catori).

Se v+ v-, allora il gioco ha una valore v v+ v- che non e migliorabile modiIicando le
scelte, dato che ognuno dei due contendenti sa come si comporta l'altro: il gioco possiede il
cosiddetto punto di sella che corrisponde alle strategie ottime dei due giocatori che hanno,
in questo caso a disposizione delle strategie pure, delle strategie cioe che devono essere
sempre utilizzate se si vuole ottimizzare il risultato e quindi il comportamento nei conIronti
del gioco; una scelta alternativa peggiora il risultato.

Si supponga di avere un gioco caratterizzato dalla matrice dei pagamenti riportati nella
Tab.10; in questo caso il punto di sella corrisponde all'elemento p
22
e la strategia pura per i
giocatori 1 e 2 e la strategia 2.













27
TAB. 10 - MATRICE DEI PAGAMENTI CON PUNTO DI SELLA

G
1

G
2

1,00 2,00 3,00 Minimo


1,00 -3,00 -2,00 6,00 -3,00
2,00 2,00 0,00 2,00 0,00
3,00 5,00 -2,00 -4,00 -4,00
Massimo 5,00 0,00 6,00


Strategia max-min
per G
2
Strategia min-max
per G
1



Se v- e

v+ non sono uguali, allora il problema e quello di stabilire un valore v del gioco u-
guale per entrambi i giocatori; in questo caso i giocatori non possono piu utilizzare una sola
strategia, ma devono utilizzare un insieme di strategie (strategie miste) ed il problema e
quello di determinare la Irequenza delle strategie disponibili per raggiungere la stabilita del
gioco, il cui valore atteso sara v.

Se i giocatori hanno a disposizione due sole strategie ciascuno, allora il problema puo essere
risolto graIicamente.

Si supponga di avere un gioco caratterizzato dalla matrice dei pagamenti riportata nella
Tab.11.

Considerato che la strategia 3 del giocatore 1 e dominata dalla 2, restano a disposizione del
giocatore 2 le 3 strategie originali, mentre per il giocatore 1 restano la strategia 1 e 2.

Supponiamo ora che il giocatore 1 scelga di giocare x
1
volte la strategia 1 e 1 - x
1
volte la
strategia 2 e il giocatore 2 giochi y
1
volte la strategia 1, y
2
volte la strategia 2 e y
3
volte la
strategia 3; per ciascuna delle stategie utilizzabili dal giocatore 2, il valore atteso del gioca-
tore 2 e riportato nella seguente tabella:

(y
1
, y
2
, y
3
) Valore atteso

(1,0,0) 0x
1
5(1 - x
1
) 5 - 5x
1
(0,1,0) -2x
1
4(1 - x
1
) 4 - 6x
1
(0,0,1) 2x
1
- 3(1 - x
1
) -3 5x
1

La soluzione graIica del gioco e riportata nella Fig.4, il valore del gioco e 2/11 e per essere
raggiunto, il giocatore 1 deve giocare 7/11 di volte la strategia 1 e 4/11 di volte la strategia
3; il giocatore 2 deve giocare 0 volte la strategia 1, 5/11 di volte la strategia 2 e 6/11 di volte
la strategia 3.

Se il numero di strategie a disposizione e superiore, il gioco puo venire Iormulato in Iorma
di programmazione lineare e risolta mediante le relative tecniche: torneremo sull'argomen-
to quando parleremo della programmazione matematica.



28
TAB. 11 - MATRICE DEI PAGAMENTI DI GIOCO RISOLVIBILE
GRAFICAMENTE

G
2

G
1

1,00 2,00 3,00
1,00 0,00 -2,00 2,00
2,00 5,00 4,00 -3,00
3,00 2,00 3,00 -4,00


FIG. 4- SOLUZIONE GRAFICA DEL GIOCO DI TAB. 11





















2.4 - Automazione del processo decisionale

Come si vede, la razionalizzazione del processo decisionale mediante la sua Iormalizzazione
modellistica permette l'individuazione del tipo di comportamento da tenere al veriIicarsi di
ciascuna delle alternative che sono state ipotizzate.

Questo tipo di decisione, proprio per il suo contenuto "razionale" e qualiIicabile come "in-
telligente" da un osservatore esterno che valuta il comportamento del decisore.

Si osservi che il processo decisionale e realizzabile mediante un preciso algoritmo che, Iis-
sati gli obiettivi del comportamento, scorra la matrice dei pagamenti per eIIettuare la scelta
ottimizzante.

Il risultato di questa osservazione e che, nel senso sopra precisato, l'intelligenza non e piu
una peculiarita caratteristica del comportamento umano, ma puo essere trasIerita ad uno
strumento (come l'elaboratore elettronico) in grado di applicare l'algoritmo ipotizzato.

|
+

I
I

\
|
+

|
- \
|
||sssts.s I
||sssts.s |
29
Questo tipo di considerazione e la base su cui poggia uno dei Iiloni di ricerca delle applica-
zioni degli elaboratori elettronici che sono stati sviluppati in questi anni e cioe quello dei si-
stemi esperti, che sono una delle ramiIicazioni del vasto dominio delle applicazioni dell'in-
telligenza artiIiciale.

Sistemi esperti

Anche se non e Iacile Iornire una deIinizione sintetica di intelligenza artiIiciale (IA), in mo-
do alquanto sommario, si puo dire che l'IA e una disciplina che ha lo scopo di mettere in
grado gli elaboratori di Iare le cose in cui, per il momento, gli esseri umani sono piu abili:
tra queste cose c'e, ovviamente, anche l'attivita decisoria.

Lo svolgimento di questo tipo di attivita e normalmente delegata agli esperti, i quali, utiliz-
zando le loro conoscenze possono districarsi nel modo migliore tra le varie alternative, in
modo da ottimizzare il loro comportamento: quando questa attivita viene svolta da un elabo-
ratore elettronico, siamo nel dominio dei sistemi esperti (SE).

Questi programmi hanno esattamente lo scopo di aIIrontare problematiche Iornendo solu-
zioni che un osservatore esterno valuterebbe come Iornite da un essere umano esperto della
materia.

La struttura dei programmi (software) che realizzano un sistema esperto, dopo l'esposizione
dei modelli di decisione, puo Iacilmente essere intuita:

- si tratta di identiIicare un obiettivo da raggiungere (nel nostro caso si trattava di rendere
massimo il ricavo o minimo il costo del nostro comportamento), di identiIicare le copie
stato di natura/comportamento e da queste ottenere la valutazione delle alternative accet-
tabili e trattare in modo sistematico le inIormazioni cosi ottenute, allo scopo di determi-
nare il comportamento da tenere in corrispondenza alle varie alternative che possono ve-
riIicarsi.

Le componenti di tale modello sono state standardizzate dalla tecnologia di realizzazione
dei SE, che vengono normalmente strutturati mediante una base di conoscenze e un motore
inferenziale.

La base di conoscenza e la raccolta sistematica di tutte le inIormazioni che costituiscono la
deIinizione del dominio di conoscenza (nel nostro caso la caratterizzazione degli stati di
natura o delle strategie dell'avversario e la matrice dei pagamenti); naturalmente in problemi
reali (e quindi non sempliIicati come negli esempi precedentemente esaminati) la Iormula-
zione della base di conoscenza e assai complicata e tale da giustiIicare la Iigura di uno spe-
cialista (l'ingegnere della conoscenza) che ha appunto il compito di creare questa parte del
modello.

Alla base della conoscenza viene esplicitamente o implicitamente associato un obiettivo da
raggiungere (nel nostro caso l'ottimizzazione del comportamento), che serve come guida al
motore inIerenziale.

Il motore inIerenziale e la parte piu tipicamente "intelligente" del SE e ha il compito di col-
legare i Iatti speciIici che si realizzano al suo esterno (nel nostro caso gli stati di natura o il
comportamento dell'avversario o della natura) e di scorrere la base di conoscenza per rico-
30
noscere se il Iatto rilevato e "riconoscibile" nella base di conoscenza e quindi, mediante il
modello associato e gli obiettivi Iormulati, giungere a Iornire le risposte "esperte".
La scansione della base di conoscenza non avviene mediante un semplice collegamento ta-
bellare Ira i Iatti rilevati e quelli ipotizzati, ma il motore inIerenziale, con varie tecniche (u-
na delle quali esamineremo piu oltre), e in grado di desumere dai Iatti noti e dalle cono-
scenze esistenti nuove inIormazioni che gli permettono di risolvere problemi Iormulati in
modo non rigorosamente uguale alla esperienza gia disponibile, in questo imitando il model-
lo umano.

Per poter risolvere problemi di utilita reale e non problemi giocattolo come quelli ipotizzati,
l'esperienza ha dimostrato che un SE deve avere almeno due auspicabili caratteristiche:

- deve essere in grado di spiegare quale e stato il "ragionamento" che ha seguito per giunge-
re alle conclusioni
- deve essere in grado di aggiungere in modo autonomo nuove conoscenze, allargando in tal
modo la sua "esperienza" iniziale man mano che viene utilizzato

Non riteniamo opportuno, in questa sede, ampliare l'analisi della struttura di un SE, anche
perche la materia e competenza di speciIiche discipline che la trattano con ben altro livello
di approIondimento: ci sembra invece importante rilevare come la Iormulazione di un mo-
dello, soprattutto in un campo complesso come il processo decisionale, sia lo strumento base
per permettere l'approIondimento dello studio e, talvolta, risolvere il problema.

2.5 - Fuzzy sets e SE

Parlando del motore inIerenziale dei SE, e stato sottolineato che esso non si limita a scandi-
re con i Iatti osservati la base di conoscenza esistente, ma e in grado di manipolare Iatti e
base di conoscenza per dedurre nuove osservazioni, mediante le quali, eventualmente, giun-
gere alla valutazione di un'azione coerente con gli obiettivi Iormulati.

Lo strumento Iondamentale per giungere alle conclusioni e la logica classica; cosi, un SE
che possegga nella sua base di conoscenza l'inIormazione che ogni uomo e mortale e recepi-
sca il Iatto che Socrate e un uomo, e in grado di Iormulare il celebre sillogismo.

La risposta e naturalmente basata sull'appartenza di Socrate all'insieme degli uomini; esi-
stono tuttavia molte situazioni in cui questa appartenenza (o non appartenenza) non e Ia-
cilmente decidibile: in questi casi gli strumenti classici
4
non sono in grado di Iornirci un
valido strumento per la Iormulazione e la risoluzione del problema.

Ad esempio, molto diIIicilmente un SE esperto potrebbe valutare quello che, a prima vista,
potrebbe sembrare un sillogismo simile al precedente:

Socrate e sano
Le persone sane vivono a lungo
Socrate vivra a lungo


4
Con il termine classico Iaremo riIerimento alla logica aristotelica che si basa su due soli stati di appartenenza
ad un insieme (incluso o escluso); la logica classica si contrappone alle logiche multivariate che prevedono
un grado ai appartenenza (in genere Ira 0 e 1) ad un insieme
31
Il problema in questo caso e legato al concetto di "sano"; mentre inIatti il concetto di appar-
tenere o non appartenere all'insieme degli esseri umani ammette una risposta di tipo bina-
rio, l'appartenenza all'insieme degli esseri sani non ammette immediatamente la stessa rispo-
sta: se Socrate ha il raIIreddore, e sano oppure no? e se Socrate ha una grave malattia?
L'insieme degli esseri umani sani richiede, per poter essere trattato secondo l'approccio clas-
sico, un notevole processo di precisazione; se questo processo (ovviamente complesso e diI-
Iicile da riprodurre in un SE) non e sviluppato, l'insieme dei sani risulta un insieme con con-
torni indeIiniti e tali da ammettere, oltre al concetto di appartenenza o non appartenenza ti-
pico degli insiemi classici, un concetto di "grado" di appartenenza.

Negli ultimi anni le caratteristiche di questi tipi di insiemi dotati di un contorno non ben de-
Iinito e stato studiato a Iondo con l'intento di allargare la teoria degli insiemi classici a que-
sti tipi di insiemi "sIumati", dando origine, attraverso le opere pionieristiche di L.A. Zadeh
alla cosidetta teoria degli insiemi sfumati (in inglese fuzzy set), che si occupa appunto di di
sviluppare strumenti in grado di aIIrontare decisioni basate su concetti sIumati.

Lo stimolo per avanzare nello studio dei Iuzzy set e sintetizzato da Zadeh in quello che lui
chiama il Principio di incompatibilit che puo essere cosi Iormulato:

Pi si guarda attentamente ad un problema reale, tanto pi sfumata (nel senso sopra
riportato) diventa la sua soluzione.

Espresso in modo inIormale, l'essenza del principio e che, aumentando la complessita del
sistema, la possibilita di Iormulare aIIermazioni precise ma tuttavia signiIicative circa il
suo comportamento diminuisce Iino a raggiungere un livello oltre il quale precisione e si-
gniIicato diventono caratteristiche alternative.

Come si puo ben capire, questo e un concetto di non trascurabile importanza per lo sviluppo
e lo studio dei SE.

L'idea di associare una Iunzione caratteristica ad un elemento appartenente ad un Iuzzy set,
in modo da potere disporre di un coeIIiciente di appartenenza variante nell'intervallo |0,1| e
abbastanza intuitivo, ma il suo utilizzo richiede una serie di precisazioni se vogliamo ottene-
re per i Iuzzy sets lo stesso grado di applicabilita degli insiemi classici.

Dobbiamo cioe essere in grado di ottenere dai Iuzzy sets le stesse possibilita oIIerte dagli
insiemi ordinari: quindi dobbiamo essere in grado di valutare il complemento, l'unione o
l'intersezione dei Iuzzy set.

Per potere raggiungere questo risultato, debbono esistere almeno i seguenti vincoli:

(con Px identiIicheremo l'elemento x appartenetnte al Iuzzy set caratterizzato dalla pro-
prieta P con un grado di appartenenza compreso Ira 0 e 1)

Ax 0 Ax 1 2.9
Ax 1 Ax 0 2.10
Ax 0 , Bx 0 A U Bx 0 , A Bx 0 2.11
Ax 0 , Bx 1 A U Bx 1 , A Bx 0 2.12
Ax 1 , Bx 1 A U Bx 1 , A Bx 1 2.13

32
C'e un ulteriore vincolo se vogliamo che l'ordinamento numerico del grado di appartenenza
sia coerente con il nostro concetto di unione e intersezione e cioe che il grado di appartenza
nell'unione di due Iuzzy sets sia non minore del grado di appartenenza a ciascuno dei due:
A U Bx _ Ax e A U Bx _ Bx
e quindi:

A U Bx _ max (Ax , Bx) 2.14

per l'intersezione si deve veriIicare: A Bx _ Ax e A Bx _ Bx

e quindi:

A Bx _ min (Ax , Bx) 2.15

Analogamente, per coerenza tra la semantica delle piccole variazioni nel grado di apparte-
nenza e delle piccole variazioni nel valore numerico della Iunzione, occorre che se Ax varia
con continuita nell'intervallo 0 - 1, A U Bx e A Bx siano non decrescenti e continue per
Bx costante; cioe:

A U Bx , A Bx continue e non decrescenti in Ax, Bx 2.16

Per completare le coerenza con gli insiemi ordinari, sono inoltre richiesti i vincoli
di associativita, idempotenza e distribuzione sull'unione e intersezione dei Iuzzy sets:

(A U B) U Cx A U (B U C)x, (A B) Cx A (B C)x 2.17
A U Bx B U Ax, A Bx B Ax 2.18
A U Ax Ax, A Ax Ax 2.19
(A U B) Cx (A C) U (B C)x, (A B) U Cx
(A U C) (B U C)x 2.20

Si puo dimostrare che le relazioni (2.9)-(2.20) sono coerenti Ira loro e permettono di deIini-
re la Iunzione di unione e intersezione per i Iuzzy sets:

A U Bx max(Ax , Bx), A Bx min(Ax , Bx) 2.21

Per quanto riguarda la complementarita, considerando ancora la semantica dell'ordinamento
numerico, occorre che la complementarita inverta l'ordine della relazione:

Ax ~ BxAx < B x 2.22
Complementando due volte un Iuzzy set, dobbiamo ritornare al set originario:

Ax Ax
2.23

Queste due relazioni sono insuIIicienti a deIinire una Iunzione unica per la complementarita,
che puo essere ottenuta imponendo una condizione di simmetria nella complementarita Ira 0
e 1:

Ay 1 Ax Ay 1 - Ax 2.24

33
Le relazioni (2.22), (2.23) e (2.24) implicano:

Ax 1 - Ax 2.25

La rappresentazione graIica dell'unione e intersezione degli insiemi ordinari e quelli Iuzzy e
riportato nella Fig.5 :

FIG. 5 - RAPPRESENTAZIONE GRAFICA DEGLI INSIEMI FUZZY E ORDINARI




































(A,B rappresentano insiemi ordinari; a,b rappresentanto insiemi Iuzzy)

Caratterizzate nel modo precedente l'operativita dei Iuzzy sets, vediamo in Fig. 6 il Iunzio-
namento di un sistema esperto basato su relazioni Iuzzy.


FIG. 6 - FUNZIONAMENTO DI UN S.E. FUZZY
s
s
s
s
|
|
|
|
|
|
s
s
s
s
|
|
/
|
/ |
|
/ |
/
/
|
a
b
/ |
ss
a b
| /
b a
34

La speciIica del sistema esperto avviene mediante la deIinzione delle regole (stessa opera-
zione da Iarsi utilizzando anche gli insiemi ordinari) e mediante la deIinizione delle Iunzioni
di appartenenza per il Iuzzy set che viene utilizzato.

La Iunzione di appartenenza "mappa" i valori numerici del Iuzzy set con le sue deIinizioni
Iuzzy.

Cosi, se dovessimo deIinire un sistema che tratta le temperature e intendessimo utilizzare un
Iuzzy set (temperatura), i suoi stati potrebbero essere:

- Freddo
- Fresco
- Caldo
- Bollente

(si osservi che gli stati precedenti sono utilizzati per deIinire la base di conoscenza, che
quindi potra utilizzare una regola del tipo: "Se Ia Ireddo, mettiti il cappotto" oppure "Se Ia
Iresco, mettiti l'impermeabile").

Il grado di appartenza potrebbe essere desunto da Iunzioni del seguente tipo:






La Iunzione degli stati di appartenenza potrebbe essere di qualsiasi tipo, anche se da un pun-
to di vista pratico, una Iunzione trapezoidale (da cui i valori di un insieme ordinario sono
Iacilmente ottenibili) e la piu diIIusa ed in grado di approssimare un gran numero di Iunzio-
ni teoriche.
Finita la Iase di deIinizione del sistema, il suo utilizzo richiede la raccolta dei dati di input
(fatti); i valori di input vengono "sIumati", determinando il loro grado di appartenenza al
|s,at is|
s|stsms
|at,at is|
s|stsms
|ast|sss s,,s.tssssts
|sss ssssssssts
lamsta.s
|s,at
|.sis \s|atst|sss |sss
ssssssssts
\s|atst|sss

sat,a
|sl|s|t|sss
sat,at
s,,s.tssssts
|rea Bala Balleate |resca
0 12 24 40
35
Iuzzy set: cosi, nell'esempio precedente, supponendo di avere rilevato una temperatura di 6
gradi, questa avra un grado 1 di appartenenza allo stato "Freddo" e 0 a qualsiasi altro; una
temperatura di 12 gradi apparterrebbe con un certo grado allo stato "Freddo" e con altro gra-
do allo stato "Fresco".

La valutazione della base di conoscenza avviene utilizzando l'algebra dei Iuzzy sets sopra
descritta, in modo tale che la valutazione avvenga, ad esempio, secondo il seguente schema:

Regola 1: se A and B allora Z & X
Regola 2: se C and D allora Z & Y

Applicazione regola 1 min(A,B)
Applicazione regola 2 min(C,D)

X peso regola 1
Y peso regola 2
Z max(peso regola 1, peso regola 2)
max(min(A,B),min(C,D))

Il passo di valutazione del SE si occupa di collegare i Iatti alle Iunzioni di appartenenza del-
la base di conoscenza e da questo dedurre un peso da assegnare alle varie regole deIinite; la
pesatura delle regole permette di:

- assegnare un peso speciIico ad ogni risposta Iuzzy
- risolvere conIlitti tra componenti Iuzzy che possono essere stati utilizzati nella Iormula-
zione delle risposte che il SE puo Iornire

La deIinizione dell'output e la risposta del sistema esperto ai Iatti Iorniti come input al si-
stema; anche in questo caso il sistema esperto potrebbe essere dotato di meccanismi di auto-
apprendimento, in grado di ampliare le conoscenze del sistema sulla base del suo utilizzo
(cioe i risultati ottenuti entrano esplicitamente a Iare parte della base di conoscenza).

Per rendere piu concreti i concetti di realizzazione sopra presentati, utilizziamo l'esempio di
un sistema Iuzzy applicato ad un controllo di processo bi-dimensionale.

Il problema e di tenere bilanciato un pendolo costituito da un'asta con un peso applicato ad
una estremita e poggiato su una base mobile: se l'asta del pendolo cade a sinistra o destra
della base (per eIIetto di una spinta), alla stessa viene applicata una Iorza che la sposta in
modo tale da riportarla in equilibrio rispetto all'asta oscillante.

Lo schema di Iunzionamento del meccanismo e riportato nella Fig.7.







FIG. 7 - SCHEMA DI FUNZIONAMENTO DEL PENDOLO


36














Le variabili da controllare sono l`angolo e la velocita del pendolo; lo schema del sistema
Iuzzy e il seguente:






Per tutte le variabili (angolo, velocita e Iorza) stabiliamo le seguenti deIinizioni Iuzzy:

FN Fortemente negativo
MN Mediamente negativo
LN Lievemente negativo
ZE Zero
FP Fortemente positivo
MP Mediamente positivo
LP Lievemente positivo

La deIinizione quantitativa delle due Iunzioni Iuzzy e simile a quella identiIicata preceden-
temente per la temperatura; le regole per il controllo del sistema sono le seguenti:

Regola1: IF (angolo FN) AND (velocita ZE) THEN (Iorza LP)
Regola2: IF (angolo ZE) AND (velocita FN) THEN (Iorza LP)
Regola3: IF (angolo MN) AND (velocita ZE) THEN (Iorza MP)
Regola4: IF (angolo ZE) AND (velocita MN) THEN (Iorza MP)
Regola5: IF (angolo LN) AND (velocita ZE) THEN (Iorza LP)
Regola6: IF (angolo ZE) AND (velocita LN) THEN (Iorza LP)
Regola7: IF (angolo LN) AND (velocita LP) THEN (Iorza LP)
Regola8: IF (angolo ZE) AND (velocita ZE) THEN (Iorza ZE)
Regola9: IF (angolo ZE) AND (velocita LP) THEN (Iorza LN)
Regola10: IF (angolo LP) AND (velocita ZE) THEN (Iorza LN)
Regola11: IF (angolo LP) AND (velocita LN) THEN (Iorza LN)
Regola12: IF (angolo ZE) AND (velocita MP) THEN (Iorza MN)
Regola13: IF (angolo MN) AND (velocita ZE) THEN (Iorza MN)
Regola14: IF (angolo ZE) AND (velocita LP) THEN (Iorza LN)
Regola15: IF (angolo LP) AND (velocita ZE) THEN (Iorza LN)
|stsms latt,
/ss|s
\s|ss|ts
|s.ts
37

Data la rilevazione numerica di angoli e velocita applicate al pendolo, il sistema esperto ini-
zia a trasIormarli nelle relative valutazioni Iuzzy (mediante la Iase di sIumatura dell`input);
le valutazioni Iuzzy delle variabili osservate saranno riportate nella tabella delle regole (me-
diante la Iase di valutazione della base di conoscenza), determinando il relativo peso delle
attivita Iuzzy di controllo del sistema (movimento della base del pendolo); in conseguenza
della valutazione, il SE sara in grado di determinare il valore numerico della Iorza da appli-
care per il controllo del pendolo (mediante la Iase di valutazione dell`output).


38
BibliograIia

Principles of O.R. for Management - F.S. Budnick, R. Mojena, T.E. Vollmann
Ed. R.D. Irwin, Inc. (1977)

Introduction to O.R. - F.S. Hillier, G.J. Lieberman
Ed. Holden-Day, Inc. (1970)

Quantitative Decision Making for Business - G. Gordon, I. Pressman
Ed. Prentice-Hall, Inc. (1983)

Games and Decisions - R.D. Luce, H. RaiIIa
John Wiley & Sons, Inc. (1967)

Teoria dei Giochi - O. Morgenstern
Ed. Universale scientiIica Boringhieri (1969)

Intelligenza Artificiale - E. Rich
Ed. McGraw-Hill (1986)

Fuzzy Automata and Decision Processes - Edited by M.M.Gupta, G.N.Saridis, B.R.Gaines
Ed. North-Holland (1977)

Fuzzy Logic in C - G. Viot
Dr. Dobb's Journal #197 February 1993

Fuzzy Systems Design Principles - R.C. Berkan, S.L. Trubatch
Ed. IEEE Press (1997)

Adaptive Fuzzy Systems and Control - Li-Xin Wang
Ed. Prentice-Hall (1994)

Fuzzy Thinking - B. Kosko
Hyperion (1993)


39
3 - PROGRAMMAZIONE MATEMATICA

Abbiamo gia precedentemente accennato alla struttura generale del modello di programma-
zione matematica, che e caratterizzato da una Iunzione obiettivo e da un insieme di vincoli
che limitano il valore attribuibile alle variabili decisionali.

Questo tipo di problema ha un ben preciso riscontro di natura economica: se disponiamo di
un certo numero di attivit produttive, che per essere attivate richiedono l'utilizzo di risor-
se disponibili in quantita limitata, il problema puo venire Iormulato come programmazione
matematica.

La Iunzione obiettivo ha in questo caso il compito di misurare l'eIIicienza dell'attribuzione
delle risorse alle varie attivita ed i vincoli hanno il compito di individuare i limiti della di-
sponibilita delle risorse.

Fino a questo momento non abbiamo Iatto alcuna ipotesi circa la natura sia della Iunzione
obiettivo che delle Iunzioni che deIiniscono i vincoli; se ipotiziamo che tutte queste Iun-
zioni siano di tipo lineare, allora abbiamo un tipo particolare di programmazione matemati-
ca che, proprio per le sue caratteristiche, prende il nome di programmazione lineare
(P.L.).

La programmazione lineare e probabilmente al secondo posto nella "classiIica" applicativa
dei modelli (il primo posto appartiene alla simulazione) sia per la completezza della teoria
che la supporta, ma soprattutto per la disponibilita di programmi che sono in grado di risol-
vere numericamente i modelli una volta che siano stati Iormulati.
5


Per questa ragione, oltre ad occuparci degli aspetti teorici e applicativi del modello, ci occu-
peremo anche dell'algoritmo del simplesso, che e lo strumento universalmente utilizzato per
risolvere numericamente i modelli di P.L.

3.1 - Programmazione lineare

Per inquadrare i modelli di P.L., cominciamo a Iormulare un esempio di allocazione di ri-
sorse scarse.

Siano disponibili 3 risorse:

- R1 con 200 unita
- R2 con 100 unita
- R3 con 50 unita

Le 3 risorse in questione permettono l'ottenimento di 3 prodotti:

- P1 vendibile con un utile unitario di 20 euro
- P2 vendibile con un utile unitario di 6 euro
- P3 vendibile con un utile unitario di 8 euro

La produzione di una unita dei precedenti prodotti richiede l'assorbimento delle risorse:

5
Al sito www.lindo.com e disponibile gratuitamente un add-on di Excel che permettera di provare diretta-
mente tutti gli esempio riportati
40
- P1: 8 unita di R1, 4 unita di R2 e 2 unita di R3
- P2: 2 unita di R1 e 3 unita di R2
- P3: 3 unita di R1 e 1 unita di R3

Le domande tipiche che possiamo porci di Ironte ad un problema di questo genere sono:

- Quanto produrre in modo di massimizzare l'utile?
- Quanto produrre se, oltre a massimizzare l'utile, non si desiderano piu di 20 unita del
prodotto 3?

A domande di questo tipo (e come si vedra, anche ad altre) sono in grado di rispondere i
modelli di P.L.

Il modello generale della programmazione linerare

Un modello di P.L. e Iormulato come segue:

Opt Z
j
c
j
x
j
3.1

soggetto a:


j
a
ij
x
j
__

b
i
(i 1,2,.....m) 3.2

e
x
j
_

0 (j 1,2,....n) 3.3

Opt signiIica che puo essere richiesta sia la massimizzazione che la minimizzazione di Z, la
misura dell'eIIicienza dell'allocazione eIIettuata; gli altri simboli hanno il signiIicato se-
guente:

- x
j
j-ma variabile decisionale
- c
j
coeIIiciente associato ad ogni variabile decisionale
- a
ij
coeIIiciente della j-ma variabile nell'i-mo vincolo
- b
i
costante associata a ciascun vincolo
- n numero delle variabili decisionali
- m numero dei vincoli

Dal punto di vista economico i simboli hanno il seguente signiIicato:

- x
j
livello della j-ma variabile decisionale
- c
j
coeIIiciente unitario di ricavo (se massimizzazione) o costo (se minimizzazione)
associato ad ogni variabile decisionale
- a
ij
quantita della risorsa i-ma utilizzata per produrre una unita della j-ma attivita (la
matrice dei vincoli prende il nome di matrice tecnologica, dato che esprime la struttura
tecnologica per produrre le attivita)
- b
i
quantita disponibile della risorsa i
- n numero di attivita
- m numero di risorse


41
L'esempio introduttivo viene quindi Iormulato come segue:

Z 20P1 6P2 + 8P3

R1 8P1 2P2 3P3 _ 200
R2 4P1 3P2 _ 100
R3 2P1 1P3 _ 50

P1 _ 0; P2 _ 0; P3 _ 0

Qualora Iosse introdotto anche il vincolo che la quantita del prodotto 3 sia non superiore a
20, dovremmo introdurre la diseguaglianza:

R4 P3 _ 20

Si osservi che per potere essere Iormulato come P.L., un problema deve rispondere ad una
serie di condizioni implicite dalla Iormulazione precedente e cioe:

- i coeIIicienti da utilizzare sia per la Iunzione obiettivo che per i vincoli devono essere di
tipo deterministico, come si era gia accennato a proposito della classiIicazione dei model-
li
- il problema deve essere proporzionale, come implica l'utilizzo di condizioni lineari per
Iormularlo; e tuttavia possibile imporre condizioni che siano approssimate mediante
segmenti lineari
- il problema deve essere addittivo; cio signiIica che non esistono eIIetti congiunti delle
componenti del problema e quindi il contributo globale delle attivita e pari alla somma del
contributo di ogni singola attivita
- il problema deve essere divisibile; cio signiIica che hanno senso Irazioni del livello delle
variabili decisionali.

Se nell'esempio le attivita Iossero state costituite da automobili, questa ultima proprieta non
era veriIicata.

Dal punto di vista applicativo, molte volte la proprieta della divisibilita del problema e supe-
rata dall'utilizzo di una opportuna unita di misura per valutare il livello di attivita e troncan-
do quindi i valori ottenuti (il che non garantisce l'ottimo matematico); quindi, nel nostro
problema, avremmo potuto, ad esempio, valutare in decine (o centinaia) di automobili da
produrre le attivita da scegliere.

Come abbiamo detto, uno dei piu grossi vantaggi dei modelli di P.L. e che una volta Iormu-
lati sono, in genere, risolvibili mediante una procedura generalizzata che e in grado di de-
terminare i valori numerici della soluzione; l`alternativa a questo approccio e l`utilizzo di
una tecnica piu soIisticata di P.L. (Programmazione lineare a numeri interi).

Nel suo approccio piu diIIuso, la soluzione viene ottenuta mediante una algoritmo iterativo
che sIrutta le proprieta algebriche del modello.

Per comprenderne completamente il Iunzionamento iniziamo a considerare un modello suI-
Iicientemente ridotto da potere essere risolto, oltre che algebricamente, anche da un punto di
vista graIico.
42



Il metodo grafico di soluzione

Supponiamo di dovere risolvere il seguente problema:

Max Z 3x
1
5x
2

soggetto a:
x
1
_ 4
x
2
_ 6
3x
1
2x
2
_ 18

x
1
_ 0; x
2
_ 0

Trattandosi di un problema con due variabili, e molto semplice Iormularlo graIicamente,
come e stato Iatto nella Fig. 8.

Le soluzioni che soddisIano l'insieme dei vincoli sono contenute nello spazio che identiIica
un insieme convesso (spazio ammissibile del problema) e che, come tale, non ci sarebbe
di grande utilita pratica se intendessimo risolvere il problema mediante l'enumerazione delle
sue soluzioni, dato che e composto da inIiniti punti.

FIG. 8 - SPAZIO AMMISSIBILE DELL'ESEMPIO GRAFICO DI P.L.















Tuttavia, se alle inIormazioni derivanti dai vincoli aggiungiamo quelle derivanti dalla Iun-
zione obiettivo, riusciamo a migliorare parecchio la situazione.

La Iunzione obiettivo rappresenta un Iascio di rette parallele che, aggiunte al graIico prece-
dente, danno origine alla Fig. 9.

Da essa si vede chiaramente che, allontanando la Iunzione obiettivo dall'origine, il valore
corrispondente a Z aumenta, esattamente come e richiesto dal nostro problema, che ricerca
il massimo della Iunzione.

Ma Iino a quando possiamo allontanare la Iunzione obiettivo dall'origine?
|
|
I

+


| I +
\
|
= +
\
|
\
I
\
I
=
\
|
- I\
I
= |e
43

La risposta e molto semplice: possiamo allontanarla Iino a quando la Iunzione obiettivo e
tangente allo spazio ammissibile.

Ma se cio e vero, non dobbiamo considerare tutti i punti dello spazio ammissibile ma solo
quelli di Irontiera o meglio ancora, solo i punti di vertice.

Questo e di importanza Iondamentale, perche ora l'identiIicazione di un eventuale punto di
ottimo non e piu da ricercarsi Ira un numero inIinito di punti, ma in un insieme Iinito e pre-
cisamente quello corrispondente ai vertici dello spazio convesso deIinito dai vincoli.

FIG. 9 - SPAZIO AMMISSIBILE CON L'AGGIUNTA DELLA FUNZIONE
OBIETTIVO

















L'algoritmo del simplesso

La soluzione graIica e illuminante per quanto riguarda la procedura risolutiva dei modelli di
P.L.: supponendo l'esistenza di uno spazio ammissibile (normalmente, se questo non si ve-
riIica siamo in presenza di una Iormulazione sbagliata del modello) e supponendo altresi che
la Iunzione obiettivo non sia parallela ad un vincolo (nel qual caso si hanno inIinite soluzio-
ni), il problema puo essere risolto mediante una enumerazione dei vertici che costituiscono
lo spazio ammissibile e una valutazione della Iunzione obiettivo in ciascuno dei vertici.

Fra tutti i valori, viene scelto quello ottimo (massimo o minimo secondo il tipo di proble-
ma), che corrisponde alla soluzione cercata.

Ma quante sono le possibili soluzioni da enumerare?

Nel nostro caso, abbiamo n variabili decisionali ed m vincoli che supporremo per il momen-
to del tipo _; considerato che, come abbiamo gia visto, se la soluzione ottima esiste, questa
si trova su un vertice, alle disequazioni dobbiamo sostituire delle equazioni.

Per ottenere questa trasIormazione, aggiungiamo a ciascun vincolo una variabile (anch'essa
_ 0; piu oltre generalizzaremo le considerazioni sui tipi di vincoli che possiamo trattare).

|
|
I

+


| I +
\
|
=
\
|
\
I
\
I
=

|
- I\
I
=

|
- \
I
= || =
44
In conseguenza delle precedenti considerazioni, ci troviamo di Ironte a un sistema composta
da n m variabili e da m equazioni, dove il valore di m variabili puo essere ottenuto po-
nendo a zero le restanti n.

Cio signiIica prendere le n m variabili a gruppi di m; le possibili soluzioni da esaminare,
nel caso si intenda Iare una elencazione esaustiva delle soluzioni, diventa:

(n m)! / (n! * m!) 3.4

Come si vede, basta che il numero di variabili ed equazioni diventi anche solo modestamen-
te rilevante e la possibilita di elencare i punti di soluzione diviene praticamente inIattibile.

Il problema diviene allora quello di ottenere una procedura che non vada ad esaminare tutti i
vertici dello spazio ammissibile, ma che li esamini in modo selettivo per garantire (l'even-
tuale) raggiungimento dell'ottimo in un tempo "ragionevole".

Questo problema viene risolto mediante l'algoritmo del simplesso che evita di dover tratta-
re in modo esaustivo tutte le soluzioni, ma riesce ad elencarle una dopo l'altra Iino a quando
possono migliorare; quando questo non e piu possibile siamo in presenza della soluzione
cercata (si ricordi che stiamo trattando uno spazio convesso).

L'algoritmo del simplesso e una procedura per il trattamento algebrico sia della Iunzione o-
biettivo che dei vincoli, il cui Ilusso logico puo essere sintetizzato nei seguenti passi:

1 - Normalizzare il problema
2 - Trovare una soluzione di partenza
3 - La soluzione trovata puo essere migliorata?
3.1 - Se no, Iermarsi: e stata trovata una soluzione (probabilmente ottima)
3.2 - Se si andare al passo 4.
4 - IdentiIicare la variabile che deve entrare nella soluzione corrente
5 - IdentiIicare la variabile che deve uscira dalla soluzione corrente
6 - Rinormalizzare il problema e trovare una nuova soluzione
7 - Ritornare al passo 3

Normalizzare il problema

La normalizzazione di un modello di P.L. richiede che siano veriIicate 3 condizioni:

1 - Tutti vincoli devono essere espressi in Iorma di equazioni
2 - Tutti i termini noti devono essere positivi
3 - Tutte le variabili devono essere non negative

45
La prima condizione Ia si che il modello generale della P.L. diventi:

Max Z
j
c
j
x
j


soggetto a:


j
a
ij
x
j
S
i
b
i
i 1,2.....m 3.5

e
x
j
_ 0 j 1,2.....n
S
i
_ 0 i 1,2.....m

Le variabili S
i
prendono il nome di variabili differenza (contrapposte alle x
j
che sono va-
riabili reali o decisionali) o, in inglese, variabili slack.

La seconda condizione richiede che tutte le b
i
siano non negative; nel caso il problema ori-
ginale le proponga come negative, la moltiplicazione per -1 di entrambi i membri del vinco-
lo puo risolvere il problema, ma cambiera anche il segno della disequazione, con implica-
zioni che vedremo piu avanti.

InIine, la terza condizione richiede che tutte le variabili siano non negative, come gia richie-
sto, del resto, dal modello generale di P.L.

Se siamo in presenza di variabili non vincolate, queste dovranno essere trasIormate in som-
ma di due variabil non negative e quindi vincolate; naturalmente, in questo caso, il problema
sara composto da n 1 variabili reali.

Trovare la soluzione di partenza

Normalizzato il modello, occorre trovare una soluzione da cui Iare partire l'algoritmo.

Iniziamo a deIinire vari tipi di soluzione del modello:

- Soluzione accettabile: una soluzione che non violi i vincoli imposti al problema
- Soluzione di base: una soluzione che identiIichi un vertice dello spazio
- Soluzione ottima: la soluzione migliore del problema, che come abbiamo visto, sara tra le
soluzioni di base

Quello che dobbiamo Iare e di spostarci sulle soluzioni accettabili di base Iino a quando non
abbiamo individuato la soluzione ottima.

Se supponiamo di partire da una soluzione che abbia tutte le variabili decisionali a zero e
quelle aggiunte diverse da zero, siamo ovviamente su una soluzione accettabile di base: sup-
porremo che questa sia la soluzione di partenza (iniziando da un altro punto, tuttavia, la ri-
cerca dell'ottimo potrebbe essere abbreviata).

Questo approccio e valido se tutti i vincoli originali sono in Iorma di disuguaglianza del ti-
po
_; inIatti, in questo caso, avremmo esattamente m variabili i cui valori sono _ 0.

46
Abbiamo gia visto che potremmo trovarci di Ironte alla necessita di trasIormare la disequ-
zione nel caso il termine noto Iosse negativo: i problemi reali possono proporre sia vincoli
del tipo _ o addirittura vincoli di equaglianza (anche se i vincoli di eguaglianza possono es-
sere Iacilmente trasIormati in diseguaglianze).

Consideriamo cosa succede nei due casi.

Se le disequazioni erano nella Iorma _, allora deve essere introdotta una variabile sovrap-
pi (in inglese surplus); purtroppo, le variabili sovrappiu non possono essere utilizzate co-
me le variabili diIIerenza per identiIicare una soluzione di base, dato che queste variabili
devono essere sottratte e non sommate nel vincolo e pertanto non siamo in grado di trovare
immediatamente una soluzione di base.

Per ritornare a identiIicare immediatamente una soluzione di base, nelle disequazioni origi-
nariamente del tipo _, aggiungiamo una nuova variabile artificiale (in inglese artificial),
appositamente aggiunta allo scopo di ottenere una base.

Ovviamente, possiamo comportarci nella stessa maniera per quanto riguarda i vincoli in Ior-
ma di equazione.

Il risultato di questa manipolazione che ci permette di ottenere una base e riportato in
Tab.12 e mette in evidenza il numero totale di variabili che dobbiamo trattare per ottenere in
nostro problema di PL in Iorma normalizzata.

TAB. 12 - RIEPILOGO DELLE VARIABILI DI UN MODELLO DI P.L.

Tipo vincolo N.vincoli Tipo variabile aggiunta Numero

_ ...............................................m
1
DiIIerenza (S
i
) m
1
_ ...............................................m
2
Sovrappiu (E
i
) e 2m
2

ArtiIiciali (A
i
)
............................................... m
3
ArtiIiciali (A
i
) m
3

Variabili aggiunte m
1
2m
2
m
3

Non sara naturalmente sIuggito che, aggiungendo le variabili artiIiciali, non stiamo piu stu-
diando il problema originale, ma uno imparentato a quello di partenza.

Tuttavia, se nella soluzione ottima le variabili artiIiciali che sono state aggiunte hanno un
valore nullo, la soluzione puo essere applicata al nostro problema nella sua Iorma primitiva,
trovando in tal modo una soluzione per il problema originale.

Esistono vari metodi per garantire che le variabili artiIiciali vengano eliminate nella solu-
zione Iinale; il piu comune (e intuitivo) e il cosiddetto metodo della penalizzazione (in
inglese big M), che consiste nell'introdurre le variabili artiIiciali nella Iunzione obiettivo e
associare a tali variabili un peso rilevante M negativo (rilevante rispetto ai coeIIicienti
delle variabili decisionali): trattandosi di una procedura di ottimizzazione, se la situazione
ottima esiste, questa richiede che le variabili associate ai coeIIicienti penalizzanti vadano a
zero.
Un esempio chiarira quanto detto sino a questo momento:
47
Massimizzare Z 2x
1
4x
2

Soggetto a:
x
1
5x
2
_ 80
4x
1
2x
2
_ 20
x
1
x
2
10

x
1
,x
2
_ 0;

La Iorma standard diventa:

Massimizzare Z 2x
1
4x
2
- MA
2
- MA
3

Soggetto a:
x
1
5x
2
S
1
80
4x
1
2x
2
- E
2
A
2
20
x
1
x
2
A
3
10

x
1
,x
2
,S
1
,E
2
,A
2
,A
3
_ 0

(M e un valore molto alto rispetto ai coeIIicienti delle altre variabili; nel nostro esempio po-
trebbe essere 5000)

L'ultima normalizzazione necessaria e il cambio dei segni della Iunzione obiettivo, che di-
viene quindi nella Iorma:

Z - x
1
- x
2
.............. 0

I coeIIicienti del problema possono essere riportati in una tabella strutturata opportunamente
per agevolare lo svolgimento dell'algoritmo del simplesso; la struttura della tabella del sim-
plesso e riportata nella Tab.13.

Si osservi che, da come e stato strutturato il problema, le variabili che costituiscono la base
si trovano, ciascuna con coeIIiciente 1, in una sola riga della tabella, mentre hanno un coeI-
Iiciente zero in tutte le altre righe (Iunzione obiettivo compresa).

In questo modo, il modello di P.L. e detto in forma canonica e i dati da essa desumibili oI-
Irono assai Iacilmente il valore della soluzione del problema, che e leggibile sulla riga corri-
spondente alla Iunzione obiettivo in corrispondenza alla colonna dei termini noti.

A questa Iorma ci riporteremo all'inizio di ogni passo dell'algoritmo per decidere se il risul-
tato e ulteriormente migliorabile.

48
TAB. 13 - STRUTTURA DELLA TAVOLA DEL SIMPLESSO

Criterio Variabili decisionali Variabili
aggiunte
Termini
noti
Z x
1
x
2
................. x
n
S
n1
...S
nm
b
i

Obiettivo 1,00 -c
1
-c
2
.................-c
n
0 ........ 0 0,00
0,00 a
11
a
12
................ a
1n
1 ......... 0 b
1

Vincoli 0,00 a
21
a
22
................a
2n
0 1 ...... 0 b
2

... ...................... ....... .....
0,00 a
m1
a
m2
............... a
mn
0 ......... 1 b
m


3 - La soluzione puo essere migliorata?

Per rispondere a questa domanda, ritorniamo un momento al signiIicato economico della
P.L. ed in particolare a quello della Iunzione obiettivo (supporremo di essere di Ironte ad un
problema di massimi::a:ione, a cui potremo sempre ricondurci eventualmente invertendo i
segni dei coeIIicienti della Iunzione obiettivo).

Abbiamo detto che le x
j
rappresentano il livello di un'attivita svolta allo scopo di produrre
un risultato positivo: ogni unita (o Irazione) ha un ritorno unitario misurato dal coeIIiciente
della variabile associata.

Ricordandoci di avere Iormulato il problema in Iorma canonica, nella Iunzione obiettivo le
variabili fuori dalla base (cioe poste arbitrariamente a zero) sono quelle con un coeIIiciente
non nullo.

Ricordandoci altresi la trasIormazione operata sulla Iunzione obiettivo, le variabili in grado
di Iare aumentare il ritorno complessivo delle nostre scelte, sono quelle che hanno un coef-
ficiente negativo.

Di conseguenza, l'ispezione della Iunzione obiettivo e in grado di dirci se la soluzione cor-
rente puo essere migliorata: la risposta e positiva se almeno una variabile Iuori dalla base ha
il coeIIiciente negativo; la risposta e negativa se nessuno dei coeIIicienti e negativo.

Se nessuno dei coeIIicienti e negativo, allora la soluzione ottima, se esiste, e stata individu-
ta.

Come abbiamo gia avuto modo di osservare, questa aIIermazione e vera in relazione al tipo
di spazio individuato dai vincoli, che ci Ia escludere di trovarci di Ironte ad un massimo lo-
cale.

Se invece la soluzione e migliorabile, (cioe ci sono coeIIicienti negativi nella Iunzione o-
biettivo) dobbiamo proseguire nel nostro esame dei vari vertici.

3.1 - La soluzione non e migliorabile

Quando l'algoritmo si arresta, normalmente viene trovata la soluzione ottima.

49
Vedremo che, oltre alla soluzione ottima, sono disponibili una serie rilevante di altre inIor-
mazioni; tuttavia, puo anche capitare che la soluzione ottima non esista.
Si possono veriIicare quattro tipi di condizioni che impediscono l'ottenimento di una solu-
zione ottima e cioe:

- Esistono inIinite soluzioni ottime
- La soluzione non e vincolata
- Non esiste una soluzione accettabile
- La soluzione di base e degenerata

Siamo in presenza di infinite soluzioni quando la Iunzione obiettivo e parallela ad una delle
condizioni, purche questa sia vincolante; per vincolante si intende un vincolo che, nella so-
luzione Iinale, abbia azzerato le eventuali variabili diIIerenza o sovrappiu associate al vin-
colo stesso.

Un esempio chiarira il concetto:

Max Z x
1
2x
2

soggetta a:
2x
1
4x
2
_ 9
3x
1
x
2
_ 12

x
1
,x
2
_ 0

Come si vede, la Iunzione obiettivo e parallela al vincolo 1, che e vincolante.

La soluzione non vincolata quando lo spazio deIinito dai vincoli non e chiuso e il proces-
so di ottimizzazione va nella direzione della parte non vincolata dello spazio; quindi, per i-
dentiIicare una soluzione non vincolata non e suIIiciente che lo spazio ammissibile non sia
chiuso, ma che non sia chiuso nella direzione dell'ottimizzazione.

Si supponga di avere il seguente problema:

Z -2x
1
x
2


soggetto a:
5x
1
- x
2
_ 20
x
1
_ 5

x
1
,x
2
_ 0

Se il problema e una massimi::a:ione, allora siamo in presenza di una soluzione non vinco-
lata; se si tratta di una minimi::a:ione , allora il problema oIIre una soluzione ottima.

Vedremo successivamente come e possibile individuare questa condizione.

Non esiste una soluzione quando lo spazio accettabile non esiste; un modo di segnalare que-
sta circostanza e l'esistenza di una base con una variabile artiIiciale.

50
Si supponga di avere il seguente problema:

Max Z 2x
1
3x
2


soggetto a:
x
1
x
2
_ 10
x
1
x
2
_ 20

x
1
,x
2
_ 0

I due vincoli identiIicano uno spazio non comune e quindi non esiste uno spazio ammissibi-
le.

InIine, la soluzione di base degenera quando una o piu variabili di base hanno valore zero:
cio puo accadere quando al passo precedente dell'algoritmo esistono piu valori uguali per la
scelta delle variabili che devono lasciare la base, come vedremo oltre.

In questo caso la scelta e Iatta in modo arbitrario, ma il Iorzare a zero la variabile scelta,
provoca un azzeramento anche dell'altra (o altre) variabile associata che e rimasta in base.

In conseguenza di cio puo capitare:

- che si abbia una soluzione degenere temporanea e che questa non inIluisca sul
proseguimento dell'algoritmo
- che si abbia una soluzione ottima degenere
- che l'ottimo non venga raggiunto perche l'algoritmo continua a ciclare sulla soluzione
degenere

Il primo caso non inIluisce sullo svolgimento dell'algoritmo, mentre il terzo caso, anche se
dal punto di vista teorico e rilevante, nella pratica e assai raro e sono stati del resto messi a
punto strumenti per il suo superamento

3.2 - Proseguire nell'algoritmo

Se l'ispezione della Iunzione obiettivo indica che la soluzione puo essere migliorata, si tratta
di spostarsi sul vertice successivo, muovendosi sullo spigolo del simplesso che individua lo
spazio del problema.

Questa operazione corrisponde all'identiIicazione di una nuova base Iacendo entrare una
delle variabili Iuori base e Iacendo uscire una di quelle che gia ne Iacevano parte.

La scelta della variabile uscente e di quella entrante e Iatta in modo da consentire un'esplo-
razione mirata dei vari vertici e non una semplice enumerazione.

Questa operazione e proprio il cuore della procedura del simplesso, che ci evita di dover a-
nalizzare in modo esaustivo tutti i vertici dello spazio individuato ed e quindi il procedimen-
to che, in genere, rende concretamente risolvibile un problema di PL.

51
4 - IdentiIicare la variabile che deve entrare nella nuova base

Ricordando il signiIicato dei coeIIicienti della Iunzione obiettivo, diviene molto semplice
individuare il criterio con il quale selezionare la variabile che deve entrare in base:
(questo criterio e noto con il nome di criterio di ottimalit)

- se si deve massimizzare il problema, viene scelta la variabile con il coeIIiciente pi
negativo
- se si deve minimizzare il problema, viene scelta la variabile con il coeIIiciente pi positi-
vo

Nel caso si abbiano piu variabili con lo stesso coeIIiciente, scegliere arbitrariamente.

5 - IdentiIicare la variabile che deve uscire dalla base

IdentiIicata in questo modo la colonna corrispondente alla variabile decisionale che deve en-
trare in base, si tratta ora di decidere il vincolo in corrispondenza del quale la variabile deve
uscire e quale deve essera il livello della variabile entrante in modo tale che non solo si sia
in presenza di una nuova base, ma che questa sia altresi accettabile.

Si tratta quindi di determinare la massima quantita della nuova variabile che puo essere in-
trodotta al posto di ciascuna delle variabile potenzialmente uscenti in modo che queste va-
dano a zero; la speciIica variabile che uscira sara quella che avra la minima di queste quan-
tita.

Il criterio con cui viene scelta la variabile uscente e detto criterio di accettabilit.

In Iorma algoritmica questo criterio e esprimibile come segue:

- calcolare i rapporti r
1
,r
2
,....r
m
dividendo i termini noti della riga corrispondente al vincolo
che si sta esaminando per i coeIIicienti corrispondenti alla colonna della variabile entrante;
cioe:

r
i
b
*
i
/ a
*
ij
3.6

- tra tutti gli r
i
scegliere il minimo _ 0; r
i
rappresenta il livello della variabile entrante.

Si noti che b
*
i
e a
*
ij
identiIicano i valori correnti nella tabella del simplesso degli originali b
i

e a
ij
.

Se il massimo degli r
i
e 0, la variabile entrante non e vincolata.

6 - Rinormalizzare il problema

IdentiIicata la nuova base, l'elemento a
*
ij
(che prende il nome di elemento perno o, in ingle-
se pivot) corrispondente alla colonna j-ma (che identiIica la variabile entrante) e la riga i-ma
(che identiIica la variabile uscente) che deve dare origine a una nuova Iorma canonica per
proseguire nell'algoritmo.


52
Per ottenere questo risultato e suIIiciente sommare algebricamente le varie righe della tabel-
la, opportunamente moltiplicate per il coeIIiciente a
*
ij
e quindi dividere tutti gli elementi
della riga i-ma per il coeIIiciente stesso.

7 - Ritornare al passo 3

La normalizzazione eIIettuata al passo 6 ha riportato nella tabella del simplesso le inIorma-
zioni necessarie che gia erano state individuate all'inizio dell'algoritmo e quindi questo puo
proseguire con l'ispezione della Iunzione obiettivo.

Consideriamo ora un esempio sempliIicato in cui sono illustrati i passi dell'algoritmo.

Sia da trovare:

Max Z 7x
1
10x
2


soggetto a:
5x
1
4x
2
_ 24
2x
1
5x
2
_ 13

x
1
,x
2
_ 0

Quindi:

Max Z 7x
1
10x
2

soggetto a:
5x
1
4x
2
S
1
24
2x
1
5x
2
S
2
13

x
1
,x
2
,S
1
,S
2
_ 0

La soluzione mediante l'algoritmo del simplesso viene sviluppata come segue:

- Tabella iniziale

Base Z x
1
x
2
S
1
S
2
b
i

1,00 -7 -10 0 0 0,00
S
1
0,00 5 4 1 0 24,00
S
2
0,00 2 5 0 1 13,00

- IdentiIicazione della nuova base

Base Z x
1
x
2
S
1
S
2
b
i
r
i

1,00 -7 -10
`
0 0 0,00
S
1
0,00 5 4 1 0 24,00 24/4 6

S
2
0,00 2 5 0 1 13,00 13/5 2.6

53
Gli elementi con il quadratino corrispondono alle basi considerate; quello con l'asterisco
nella Iunzione obiettivo corrisponde all'elemento scelto sulla base del criterio di ottimalita;
l'elemento nella colonna r
i
con il piu () corrisponde all'elemento scelto sulla base del crite-
rio di accettabilita; l'elemento con un cerchietto corrisponde all'elemento perno.

- tabella canonica al secondo passo

Base Z x
1
x
2
S
1
S
2
b
i

1,00 -3 0 0 2 26,00
S
1
0,00 17/5 0 1 -4/5 68/5
x
2
0,00 2/5 1 0 1/5 13/5

- Sulla base del criterio di ottimalita, l'algoritmo prosegue e si ottiene la seguente soluzione
ottima

Base Z x
1
x
2
S
1
S
2
b
i

1,00 0 0 15/17 22/17 38,00
x
1
0,00 1 0 5/17 -4/17 4,00
x
2
0,00 0 1 -2/17 5/17 1,00

Contrariamente a quanto comunemente si pensa, probabilmente la risposta piu importante
che deriva da un modello di P.L. non la scelta ottima, ma la possibilita di avere risposte
analitiche sulle relazioni esistenti nel problema.

Questo e il vantaggio derivante dall'aver Iatto un modello della realta a cui possiamo appli-
care delle ipotesi di variazioni dei nostri dati.

D'altra parte, come abbiamo gia detto, la raccolta dei dati introduce sempre una componente
di potenziale errore, per cui e sempre legittima la domanda "Iino a che punto sono valide le
risposte del mio modello?".

Da questo punto di vista, la P.L. e un modello particolarmente interessante, dato che ha svi-
luppato un coerente sistema di analisi di post-ottimalita (ovviamente basata sulla particolare
struttura matematica del modello) che puo essere applicata ai valori che rimangono nella ta-
bella del simplesso quando e stata identiIicata la strategia ottima.

L'analisi di sensitivita e condotta normalmente:

- sulla Iunzione obiettivo
- sui termini noti presi ad uno ad uno, dei coeIIicienti delle equazioni che compongono la
tabella

Si ossevi che quelle sopra ricordate non sono le uniche analisi di variabilita che possono es-
sere condotte sul modello (quando vengono Iatti variare contemporaneamente piu elementi,
l'analisi si Ia molto piu complessa).

Supponiamo di avere il seguente problema:



54
Max Z 20x
1
10x
2

soggetto a:
5x
1
4x
2
_ 24
2x
1
5x
2
_ 13

x
1
,x
2
_ 0

Le tabelle iniziali e Iinali del simplesso sono le seguenti:

- Tabella iniziale

Base Z x
1
x
2
S
1
S
2
b
i

1,00 -20 -10 0 0 0,00
S
1
0,00 5 4 1 0 24,00
S
2
0,00 2 5 0 1 13,00

- Tabella Iinale

Base Z x
1
x
2
S
1
S
2
b
i

1,00 0 6 4 0 96,00
x
1
0,00 1 4/5 1/5 0 24/5
s
2
0,00 0 17/5 -2/5 1 17/5

La Fig. 10 riporta la soluzione graIica del problema.

FIG. 10 - SOLUZIONE GRAFICA DELL'ESEMPIO



















Dalla tabella Iinale rileviamo che la scelta ottima corrisponde a 4.8 unita dell'attivita x
1
e 0
unita dell'attivita x
2
; ma se avessimo sbagliato la valutazione del coeIIiciente di x
2
, la solu-
zione sarebbe la stessa? Che errore possiamo Iare sul coeIIiciente di x
2
e continuare ad ave-
re la stessa soluzione ottima?
|
|
I

+

I
e


| I + I e
\
|
\
I
|
|ast|sss s||stt|.s. t = I|\ - ||\
| I
\|sss|s (|). \ - +\ = I+
| I
\|sss|s (I). I\ - \ = |
| I
55
La risposta e legata al coeIIiciente angolare della Iunzione obiettivo:

m -c
1
/ c
2
3.7

Nella Fig. 11 e riportato l'eIIetto di una diminu:ione e di un aumento di c
2
.

FIG. 11 - VARIAZIONE DI C
2



















Dalla Fig. 11 abbiamo una conIerma di cio che doveva essere evidente in modo intuitivo: se
c
2
diminuisce, la soluzione rimane quella identiIicata, se c
2
aumenta, la soluzione puo cam-
biare.

Ma quanto deve variare c
2
perche x
2
entri in base in sostituzione di S
2
?

Supponiamo che il coeIIiciente di x
2
non sia c
2
, ma di (c
2
A); la tabella iniziale del sim-
plesso diventa:

Base Z x
1
x
2
S
1
S
2
b
i

1,00 -20 -(10A) 0 0 0,00
S
1
0,00 5 4 1 0 24,00
S
2
0,00 2 5 0 1 13,00

Ricordando come viene ottenuta la tabella canonica ad ogni sostituzione di variabile, la ta-
bella Iinale diventa:

Base Z x
1
x
2
S
1
S
2
b
i

1,00 0 6- A 4 0 96,00
x
1
0,00 1 4/5 1/5 0 24/5
S
2
0,00 0 17/5 -2/5 1 17/5

Se si veriIica la condizione:
6 - A ~ 0
|
|
I

+

I
e


| I + I e
\
|
\
I
|
s i|m|sa|sss
I
s samssts
|
(|
(I)
56
e quindi:

A 6

nessun cambiamento si veriIica nella soluzione ottima; se

A ~ 6

saremmo stati in presenza di un coeIIiciente negativo e quindi avremmo proseguito l'itera-
zione dell'algoritmo.

In generale, possiamo dire che i coeIIicienti delle variabili decisionali non in base, cosi co-
me li troviamo nella tabella Iinale del simplesso, rappresentano la variazione necessaria al
coeIIiciente originale perche la variabile Iuori base entri nella base stessa.

In modo analogo (anche se computisticamente un po piu complicato), possiamo determinare
la variabilita delle variabili decisionali in base.

Come prima, supponiamo di non avere il coeIIiciente c
1
ma (c
1
A); la tabella Iinale del
simplesso diviene:

Base Z x
1
x
2
S
1
S
2
b
i

1,00 -A 6 4 0 96,00
x
1
0,00 1 4/5 1/5 0 24/5
S
2
0,00 0 17/5 -2/5 1 17/5

da cui otteniamo la tabella con la stessa base:

Base Z x
1
x
2
S
1
S
2
b
i

1,00 0 6 (4/5)A 4 (1/5)D 0 96 (24/5)A
x
1
0,00 1 4/5 1/5 0 24/5
S
2
0,00 0 17/5 -2/5 1 17/5

Come si vede, se abbiamo:

6 (4/5)A ~ 0

o

A ~ -7.5

la soluzione rimane invariata (per quanto riguarda x
2
); in modo analogo se A ~ -20, la solu-
zione rimane invariata rispetto a S
1
.

Quindi la soluzione rimane invariata per aumenti di c
1
o diminuzioni sino a che c
1
~ 12.5.

La Fig. 12 sintetizza la situazione.



57
FIG. 12 - VARIAZIONI IN C
1

























Si osservi che in questo caso i coeIIicienti a
*
ij
rappresentano il peso da attribuire a A per va-
lutare la sostituzione tra la i-ma variabile in base e la j-ma variabile (Iuori dalla base); il va-
lore cosi ottenuto deve esse aggiunto (o sottratto) al coeIIiciente (originale) della variabile i-
ma variabile (in base) per determinare il limite della variazione che la porterebbe Iuori dalla
base, Iacendola sostituire con la variabile j-ma.

Oltre all'analisi della variabilita del tipo di quella utilizzata per i coeIIicienti della Iunzione
obiettivo, sui termini noti dei vincoli possono essere svolte altre interessanti osservazioni.

Come e ovvio, il risultato del problema dipende dal livello di risorse che si hanno a disposi-
zione.

La prima circostanza che possiamo rilevare dalla tavola Iinale del simplesso e se le risorse
disponibili sono vincolanti o no per la combinazione di attivita di cui estato trovato l'otti-
mo.

Ricordando il signiIicato delle variabili diIIerenza, e Iacile rispondere alla domanda se la ri-
sorsa considerata e vincolante o meno per il problema considerato:

- se la variabile diIIerenza associata ad una risorsa non si trova in base, la risorsa e
totalmente utilizzata per il processo produttivo, in quanto la diIIerenza rispetto
all'utilizzazione possibile e zero e quindi la risorsa e vincolante;

- se la variabile diIIerenza si trova in base, la risorsa non e totalmente utilizzata nel processo
produttivo e quindi non vincolante.
/
/ I| (c
|

I| || | || I| | +|
/
I| || | || I| | +|
/ I. (c
|
|I.)
S
|
sss sst.s |s |sss
t
I
sss sst.s |s |sss
58

E ovvio che se una risorsa e vincolante, il valore assoluto derivante dall'attivita realizzata
potrebbe essere aumentato se disponessimo di una quantita maggiore della risorsa in que-
stione (inIatti potrebbe essere aumentato il livello di produzione).

Ma l'onere che dobbiamo sopportare per aumentare la risorsa e compensato dal proIitto che
ne ricaveremmo aumentando la disponibilita della risorsa vincolante?

Questo tipo di problema e ben noto agli economisti, che studiano il problema dal punto di
vista marginale (cioe legato alla variazione di una unita di risorse e una unita di produzio-
ne) ed e una delle inIormazioni disponibili dalla tabella Iinale del simplesso; come vedremo
e anche l'elemento di base per aIIrontare i problemi di P.L. sotto un altro punto di vista.

Ma cominciamo a vedere in che modo puo essere impostata l'analisi della variabilita dei
termini noti: anche in questo caso siamo interessati alla variazione dei termini noti che tiene
immutata la soluzione ottima.

Nella Fig. 13 sono riportati gli eIIetti della variazione dei termini noti.

FIG. 13 - VARIAZIONI IN B
i

|
|
I

+

I
e


| I + I e
\
|
\
I

|ast|sss s||stt|.s
\|sss|s (|'). \ - +\ = I.
| I
\|sss|s
\|sss|s (|''). \ - +\ = ||.+
| I
\|sss|s (I)
59
Come precedentemente, supponiamo di avere:

b
1
24 A

La nuova tabella iniziale diventa:

Base Z x
1
x
2
S
1
S
2
b
i

1,00 -20 -10 0 0 0,00
s
1
0,00 5 4 1 0 24A
S
2
0,00 0 5 0 1 13,00

Per comprendere gli eIIetti di questa variazione senza dovere rielaborare l'algoritmo, consi-
deriamo che i termini noti possono essere espressi come segue:

b
i


0 0A
24 1A
13 0A

Si vede che i coeIIicienti associati alle variazioni sono gli stessi della variabile di base corri-
spondente al vincolo variato; di conseguenza, i valori esistenti nella tabella Iinale del sim-
plesso nella colonna relativa alla variabile di base del vincolo iniziale (cioe nell'esempio S
1
),
rappresentano i pesi da attribuire alla variazione del termine noto, esattamente come aveva-
mo Iatto per la variabilita dei coeIIicienti delle variabili in base.

RiIerendoci quindi alla tavola Iinale del simplesso, otteniamo i valori che permettono a x
1
e
S
2
di restare positivi (e quindi in base):

x
1
24/5 (1/5)A ~ 0 sino a che A ~ -24

e

S
2
17/5 - (2/5)A ~ 0 sino a che A 8.5

Da questo possiamo ricavare che:

-24 A 8.5

e quindi:

0 b
1
32.5

Consideriamo ora l'aspetto marginale delle risorse.

Se consideriamo una risorsa non vincolante, la variabile diIIerenza (o sovrappiu), sara in
base (avra cioe un valore diIIerente da zero, che rappresenta appunto la parte non utilizzata):
osserviamo che, in questo caso, l'utilita di una nuova unita della risorsa e nullo.

60
Se la risorsa e invece vincolante, la variabile non decisionale associate ad essa sara zero
(perche Iuori dalla base): in questo caso nell'ambito della variabilit A, il coeIIiciente del-
la variabile non decisionale nella tavola Iinale del simplesso identiIica l'aumento nella Iun-
zione obiettivo in relazione all'aumento di una unita nelle risorse disponibili.

Tale valore (vero se la risorsa e vincolante o no) rappresenta il costo teorico che dovrebbe
avere un'unita addizionale della risorsa per essere interessante nel nostro processo produt-
tivo
(caratterizzato dalla matrice tecnologica a
ij
) e proprio per questa ragione e noto con il nome
di prezzo ombra della risorsa (in inglese shadow price) e rappresenta il costo (per proble-
mi di massimizzazione), che e conveniente pagare per aumentare la disponibilita delle risor-
se vincolanti (ovviamente zero per le risorse non vincolanti).

3.3 - Il modello duale

Fino a questo momento ci siamo occupati di problemi di massimizzazione, anche se abbia-
mo chiarito in partenza che il processo di ottimizzazione puo riguardare anche minimizza-
zioni.

Tuttavia, al di la dell'aspetto speciIico del tipo di ottimizzazione che si deve operare, e inte-
ressante osservare che ogni problema di massimizzazione ha associato un problema di mi-
nimizzazione che e il suo duale.

Questo e vero sia sotto l'aspetto matematico che sotto l'aspetto economico.

Cominciamo a considerare l'aspetto economico: precedentemente ci eravamo posti il pro-
blema di trovare il livello ottimo delle attivita, in modo da ottenere il massimo del nostro
processo produttivo.

Invece di porci questo problema, potremmo porci quello di identiIicare il costo minimo da
associare ad ogni risorsa in modo tale che le attivita derivanti dal loro utilizzo abbiano un
proIitto unitario maggiore o uguale al valore che il mercato attribuisce a ciascuna attivita.

In questo caso, il problema sarebbe Iormulato come segue:

Min W i b
i
y
i
3.8

soggetto a:

a
ji
y
i
_ c
j
j 1,2,.....n 3.9

y
i
_ 0 i 1,2,.....m 3.10

Il signiIicato delle b
i
, a
ij
e c
j
e lo stesso che era stato loro attribuito nel modello di massimiz-
zazione (che chiameremo modello primale) e cioe quantita della risorsa i-ma disponibile,
coeIIiciente tecnologico per produrre una unita di attivita j-ma utilizzando una unita della
risorsa i-ma e rendimento unitario dell'attivita j-ma.

Ma se guardiamo piu attentamente, vediamo che questo tipo di problema di minimizzazione
e ottenibile, secondo regole ben precise dal primale (che era di massimizzazione):

61

- abbiamo trasIormato il processo di massimizzazione in minimizzazione
- nella Iunzione obiettivo, dove prima avevamo i coeIIicienti unitari delle attivita, abbiamo
messo i termini noti (livello delle risorse)
- abbiamo invertito (trasposto) le righe con le colonne della matrice tecnologica
- abbiamo messo al posto dei termini noti i coeIIicienti unitari di rendimento dei Iattori
produttivi della Iunzione obiettivo primale
- dove prima avevamo relazioni del tipo _ abbiamo messo relazioni _

Ma questo e esattamente la deIinizione matematica del problema duale associato all'origina-
le problema di massimizzazione.

Naturalmente il signiIicato delle variabili decisionali (che proprio per questo nel problema
duale abbiamo chiamato y
i
) non hanno piu il signiIicato di livello di attivit che avevamo
loro attribuito nel problema primale; vedremo successivamente quale e il loro signiIicato.

Ma concentriamoci ora sugli aspetti Iormali di trasIormazione del problema primale in dua-
le.

Le relazioni che esistono Ira primale e duale sono le seguenti:

Variabili
Variabili Primali
Duali
x
1
_0 x
2
_0 ....x
n
_0 Relazione

primale

Min W
y
1
_0 a
11
a
12
.............. a
1n
_ b
1

y
2
_0 a
21
a
22
............... a
2n
_ b
2

............
............
............
..............................................
..............................................
................................................
........
........
........
......
......
......
y
n
_0 a
m1
a
m2
............. a
mn
_ b
m

Relazione duale ~ ~ .............. ~
Max Z c
1
c
2
c
n



In generale le realazioni esistenti tra vincoli e variabili del problema primale e duale sono le
seguenti:

Primale (Max) Duale (Min)

i
mo
vincolo _ i
ma
variabile _ 0
i
mo
vincolo _ i
ma
variabile _ 0
i
mo
vincolo i
ma
variabile non vincolata
j
ma
variabile _ 0 j
mo
vincolo _
j
ma
variabile _ 0 j
mo
vincolo _
j
ma
variabile non vincolata j
mo
vincolo

InIine, per quanto riguarda le condizioni di risolvibilita dei problemi, le relazioni sono le
seguenti:
Primale con soluzione accettabile Duale con soluzione accettabile
Primale con soluzione accettabile non vincolata Duale con soluziona inaccettabile
62
Primale con soluzione inaccettabile Duale con soluzione accettabile non vin-
colata
oppure Duale con soluzione inaccettabile

Resta ora da stabilire la natura delle variabili decisionali y
i
che abbiamo introdotto nella Ior-
ma duale del problema di P.L.: dato che i coeIIicienti della Iunzione obiettivo delle variabi-
li decisionali del duale sono rappresentati dai termini noti del primale (cioe le risorse di-
sponibili), se questi termini noti hanno un incremento unitario, la Iunzione obiettivo del
duale misura la variazione del primale ad una variazione marginale dei termini noti.

Ma questa e esattamente la deIinizione che avevamo dato nel problema primale dei pre::i
ombra e questo completa la descrizione dei rapporti primale/duale: i prezzi ombra del pri-
male sono le variabili decisionali del problema duale.

Esiste quindi la seguente proprieta di complementarita Ira problema primale e duale:

- se una variabile non decisionale e nella soluzione ottima del primale, allora la
corrispondente variabile duale (decisionale) e a zero nella soluzione ottima del duale
- se nella soluzione ottima ottenuta dal problema duale una variabile non decisionale e in
base, allora la corrispondente variabile decisionale del primale a zero

Oltre alla precedente, vale anche la seguente proprieta:

- se x
1
, x
2
,.......x
n
e una soluzione del processo di massimizzazione e y
1
,y
2
,.....y
m
e una
soluzione del processo di minimizzazione, si avra c
1
x
1
c
2
x
2
......c
n
x
n
_ b
1
y
1
b
2
y
2

......b
m
y
m
: in altre parole, il valore della Iunzione obiettivo del primale e sempre minore o
uguale della Iunzione obiettivo del duale.

In particolare, se esiste una soluzione ottima per il primale, questa corrisponde alla solu-
zione ottima del duale.

Al di la dell'aspetto analitico del rapporto primale/duale (che vedremo applicato a problemi
speciIici), questa proprieta e importante dal punto di vista del tempo necessario a risolvere
numericamente il problema.

Consideriamo inIatti un problema composto da 20 variabili decisionale, 50 vincoli del tipo _
e 30 vincoli del tipo _.

La tavola iniziale del simplesso del problema primale sara composta da 81 righe per 152
colonne (80 righe di vincoli e una per la Iunzione obiettivo; 150 colonne di variabili, una
per la Z e una per i termini noti) per un totale di 12312 elementi; se supponiamo che tutti i c
j

siano diversi da zero, la tabella iniziale del problema duale e composta da 21 righe e 122
colonne pari a 2562 elementi.






3.4 - La soluzione dei giochi a due persone a somma nulla mediante la P.L.
63

Nella parte relativa alla teoria dei giochi a due persone a somma nulla, avevamo iniziato a
parlare del problema di determinare la Irequenza delle strategie da utilizzare per un gioco a
strategia mista: siamo ora in grado di risolvere questo problema Iormulandolo come model-
lo di P.L.

Il valore atteso per il giocatore 1 e:

EV
i j
a
ij
y
i
x
j
3.11

(dove a
ij
e il valore della matrice dei pagamenti quando il giocatore 1 gioca la strategia i e il
giocatore 2 gioca la strategia j, y
i
e la Irequanza con la quale il giocatore 1 gioca la strategia
i e x
j
e la Irequenza con la quale il giocatore 2 gioca la strategia j; si osservi che nell'esem-
pio, si sono invertiti i simboli utilizzati per le Irequenze delle scelte rispetto alla soluzione
graIica della Fig. 4; la ragione sara evidente nel seguito).

La strategia (y
1
, y
2
.........y
m
) per il giocatore 1 e ottima rispetto alla strategia (x
1
,x
2
.......x
n
)
del giocatore 2 se EV _ v
-
v (ignoto) per tutte le strategie del giocatore 2.

Dal punto di vista del giocatore 1, questo corrisponde a Iormulare il gioco come:


j
x
j
(
i
a
ij
y
i
) _
j
x
j
v v 3.12

e quindi, dato che:


j
x
j
1 3.13

otteniamo:

i
a
ij
y
i
_ v 3.14

con

i
y
i
1 (y
i
_ 0 per ogni i) 3.15

il che rappresenta la matrice tecnologica di una P.L.

Perche questa sia completa, manca ovviamente la Iunzione obiettivo, che tuttavia puo essere
identiIicata dalla massimizzazione dell'ignoto valore v del gioco.

In conseguenza della precedente osservazione, possiamo concludere che la scelta della stra-
tegia ottima per il giocatore 1 e un problema costituito da m 1 variabili, la cui Iormulazio-
ne sotto Iorma di P.L. e la seguente:

Max Z y
m1
(Min W -y
m1
) 3.16

soggetto a:

a
11
y
1
....... a
m1
y
m
_ y
m1
3.17

........

64
a
m
y
1
....... a
mn
y
m
_ y
m1



y
1
....... y
m
1

con:
y
i
_ 0 per i 1, m (y
m1
non e invece vincolata) 3.18

il problema del giocatore 2 sara il duale di quello del giocatore 1.

Supponiamo di essere in presenza del gioco caratterizzato dalla matrice dei pagamenti della
Tab. 14.

TAB. 14 - MATRICE DEI GIOCHI RISOLVIBILE MEDIANTE P.L.

G
2

G
1

S
1

x
1

S
2

x
2

S
3

x
3

Min Max
S
1
y
1
30,00 40,00 60,00 30,00
30
S
2
y
2
60,00 10,00 30,00 10,00
Max 60,00 40,00 60,00
Min 40,00


Come si vede, questo gioco non ha un punto di sella e quindi non e risolvibile mediante l'u-
tilizzo di strategie pure.

Come abbiamo detto, il giocatore 1 scegliera le strategie con una Irequenza y
1
e y
2
che, in-
dipendentemente dalle strategie utilizzate dal giocatore 2 massimizzi il ritorno v+ del gioco
(ignoto), mentre il giocatore 2 scegliera le strategie con una Irequenza x
1
, x
2
e x
3
che, indi-
pendentemente dalle strategie del giocatore 1 minimizzi il costo v
-
del gioco (ignoto).

Se consideriamo il giocatore 2, il suo problema potra essere Iormulato (in termini di costi)
come:

Min W v (Max Z -v)

soggetto a:

-30x
1
- 40x
2
- 60x
3
_ v
-60x
1
- 10x
2
- 30x
3
_ v
x
1
x
2
x
3
1

cioe:

30x
1
40x
2
60x
3
v _ 0
60x
1
10x
2
30x
3
v _ 0
x
1
x
2
x
3
1
x
1
,x
2
,x
3
_ 0 (v non vincolato)
Se prendiamo il giocatore 1, il suo problema (Iormulato in termini di ricavi) diventa:
Max Z v

65
soggetto a:

30y
1
60y
2
_ v
40y
1
10y
2
_ v
60y
1
30y
2
_ v
y
1
y
2
1
cioe:
30y
1
60y
2
- v _ 0
40y
1
10y
2
- v _ 0
60y
1
30y
2
- v _ 0
y
1
y
2
1
y
1
,y
2
_ 0 (v non vincolato)

Come si vede, il modello del giocatore 2 e il duale di quello del giocatore 1 e v (ottimo per
entrambi) e il valore del gioco.

Da quanto detto, dovrebbe essere chiara la ragione dei simboli:

- il giocatore 1 (che utilizza la strategia min-max) vuole che il suo ritorno sia maggiore o
uguale a v; quindi la sua matrice tecnologica e quella tipica del duale e quindi e apparso
opportuno Iormulare il suo problema in termini duali (minimizzazione del negativo della
Iunzione obiettivo) e di conseguenza si e voluto esprimere questa circostanza utilizzando il
simbolo y
j
per le variabili decisionali, cosi come era stato Iatto per la presentazione del
duale.

Ovviamente, se l'enIasi Iosse stata posta sulla Iunzione obiettivo anziche sulla matrice tec-
nologica, la Iormulazione sarebbe inversa.

3.5 - Programmazione dinamica
6


Abbiamo visto che l'utilizzo dei modelli di P.L. impone ben precise limitazioni al problema
da risolvere, imponendo che tutto il problema sia Iormulato mediante Iunzioni lineari; tali
limitazioni non devono essere considerate se il problema viene risolto mediante algoritmi di
programmazione dinamica (P.D.).

Abbiamo gia avuto modo di osservare che la P.L. e uno strumento che permette l'enumera-
zione "eIIiciente" delle soluzioni ricercate e che, in deIinitiva, rende computabile un pro-
blema di tipo combinatorio.

La P.D. svolge la stessa Iunzione in modo diverso, che vedremo successivamente nei detta-
gli.

Sembra ragionevole pensare che la P.D. sia in grado di soppiantare totalmente la P.L., dato
che, oIIrendo gli stessi risultati, non ne implica le limitazioni.

Le ragioni per le quali la P.L. continua ad avere il suo valido ruolo tra i modelli di R.O. so-
no sostanzialmente due:


6
Questa parte richiede una conoscenza elementare della teoria dei graIi
66
- la validita della sua struttura generale, che la rende interessante al di la degli aspetti
risolutivi (ad esempio, tutta l`analisi duale)
- la disponibilita di algoritmi risolutivi generali che, una volta Iormulato il problema, ne
garantiscono la sua risolvibilita

Soprattutto questo aspetto manca nella P.D.: una volta che un problema e stato inquadrato in
un modello di P.D., occorre realizzare, normalmente sotto Iorma di programma per l'elabo-
ratore, l'algoritmo per la sua soluzione; e questo e certamente un lavoro assai pesante.

La soluzione dei modelli di P.D. non e inIatti basata su uno speciIico algoritmo, ma su un
principio (dovuto a R. Bellman), noto con il nome di principio di ottimalit che aIIerma:

Indipendentemente dal risultato della i-ma decisione, le decisioni successive devono
produrre un risultato ottimo, se vogliamo che l'insieme delle decisioni sia ottimo.

Unitamente alla natura ricorsiva della P.D., questo principio e in grado di generare in modo
addittivo anziche combinatorio le possibili soluzioni di un problema.

Struttura del modello di programmazione dinamica

Dal punto di vista del calcolo, l'aspetto Iondamentale degli algoritmi di P.D. e la ricorsivit,
che si contrappone all'iterativit gia vista per l'algoritmo del simplesso.

Dal punto di vista Iormale, un algoritmo e di natura ricorsiva se richiama se stesso per pro-
durre una soluzione al problema; dal punto di vista contenutistico, una procedura ricorsiva
utilizza le inIormazioni del passo precedente per risolvere il problema nel suo complesso;
naturalmente, anche il simplesso utilizza le inIormazioni del passo precedente per procede-
re, ma la diIIerenza e che in questo caso, ogni passo rappresenta una soluzione deIinitiva,
seppure non ottimale.

Data questa sua natura, i problemi che appaiono immediatamente adatti ad essere aIIrontati
mediante la P.D. sono quelli che richiedono una sequenza di decisioni interrelate, il che ha
dato anche il nome allo strumento.

Altre volte, l'aspetto dinamico del problema viene ottenuto non su una base temporale ma,
ad es. da una relazione Ira le variabili, per cui, Iorse, il nome di ottimizzazione ricursiva
potrebbe dare meglio l'idea dei modelli trattabili con la P.D.

La soluzione mediante la P.D. passa attraverso tre passi:

- decomposizione del problema: il problema complessivo viene suddiviso in
sotto-problemi aventi tutti la medesima natura del problema principale per poterlo
Iormulare come problema dinamico; questi sotto problemi prendono il nome di fasi.
- ricursivamente, per ogni Iase, viene svolto il processo decisionale, valutando i risultati
secondo una speciIica Iunzione obiettivo; le scelte ottimizzanti vengono svolte in
conIormita del principio di ottimalita.
- i risultati di ogni Iase sono collegati Ira loro con un processo di ricomposizione, che
risolve il problema nel suo complesso; l'operazione di ricomposizione identiIica la
sequenza di scelte che prende il nome di politica.

67
Nell'ambito di ciascuna Iase sono normalmente identiIicati degli stati (cioe condizioni spe-
ciIiche del sistema quantitativamente misurabili), attraverso i quali si sposta il processo de-
cisionale; il collegamento Ira questi stati e normalmente deIinito da una relazione che pren-
de il nome di funzione di transizione.

Un esempio chiarira le idee generali caratteristiche della P.D.

Supponiamo di doverci trasIerire da una citta ad un'altra mediante un lungo viaggio che ri-
chieda complessivamente 3 giorni; il primo giorno siano raggiungibili un certo numero di
citta intermedie, la stessa cosa accada al secondo giorno e, inIine, il terzo si possa raggiun-
gere la meta Iinale.

Per raggiungere le varie citta nelle tre tappe sia da sopportare un costo, misurabile, ad es.
dalla distanza da percorre: il nostro problema e allora quello di trovare il cammino minimo
che sia in grado di collegare la citta di partenza con quella d'arrivo (si noti che questo pro-
blema potrebbe essere Iormulata come P.L.).

La Fig. 14 riporta una rappresentazione reticolare del problema, particolarmente adatta ad
evidenziare la struttura del modello di P.D. risolutivo.

FIG. 14 - RETICOLO DELL'ESEMPIO DI VIAGGIO

I nodi del reticolo (rappresentati graIicamente da cerchi) sono le citta raggiungibili in cia-
scuna giornata; gli archi (rappresentati graIicamente dalle Irecce) sono i collegamenti am-
messi Ira le varie citta e i numeri riportati sopra gli archi indicano la distanza Ira le varie cit-
ta.
Il riIerimento in testa al reticolo rappresenta le giornate in cui il viaggio e suddiviso.

Supponiamo di dovere compiere l'ultimo passo del viaggio ed arrivare al nodo VIII; se arri-
viamo dal nodo V, il percorso totale (ignoto), viene aumentato di 4; se arriviamo dal nodo
VI, il percorso totale viene aumentato di 1; se arriviamo dal nodo VII, aumentiamo di 3.

A queste distanze dobbiamo aggiungere le distanze gia percorse precedentemente.
| |
I

|ssss | |ssss I
(lsss |) (lsss I)
|ssss
(lsss )
|
||
|
\
\
\|
\||


+

I
I
+

+
|

|
68

Se scegliamo come punto di partenza il nodo V, dobbiamo avere gia percorso una distanza
di 11; se scegliamo come punto di partenza il noto VI, dobbiamo aggiungere il piu corto dei
cammini che arrivano al nodo VI, (5 2 oppure 3 7) che ha una lunghezza di 7; se arri-
viamo dal nodo VII, la distanza gia percorsa e di 7; di conseguenza, il miglior percorso e
quello che parte dal nodo VI, che produce una distanza totale di 8.

Si osservi che in questa scelta ci siamo comportati in modo conIorme al principio di ottima-
lita, dato che non abbiamo inIormazioni sulla modalita con la quale siamo arrivati al punto
VI; inoltre, il criterio base per eIIettuare le scelte e stato legato alla seguente equazione ri-
cursiva:

Distanza complessiva in 3 passi Distanza da percorrere al 3 passo
Distanza ottima percorsa Iino al passo 2

o piu genericamente:

Distanza complessiva in n passi Distanza da percorrere al passo n
-mo

Distanza ottima percorsa Iino al passo n-1
-mo


Applicando il principio di ottimalita dal primo passo, siamo allora in grado di risolvere il
problema nel suo complesso.

La procedura di identiIicazione del cammino minimo puo essere svolta mediante l'utilizzo di
tavole, correlate Ira di loro, che rappresentano la struttura del problema.

TAB. 15 - SOLUZIONE TABULARE DELL'ESEMPIO DI VIAGGIO

Fase 1 - Distanza cumulata percorsa alla Iine della Iase 1
Distanza percorsa alla Iase 1 Distanza percorsa Iino alla Iase 0

Politica ottima Decisione:
andare a
Viaggiare da nodo
I Decisione Distanza cumulata
II 5 0 5 I
*
5,00
III 3 0 3 I 3,00
IV 4 0 4 I 4,00






Fase 2 - Distanza cumulata percorsa alla Iine della Iase 2
Distanza percorsa alla Iase 2 Distanza percorsa Iino alla Iase 1

Viaggiare da nodo Politica ottima Decisione:
andare a II III IV Decisione Distanza
cumulata
V 6 5 11 II 11,00
VI 2 5 7 7 3 10 II
*
7,00
69
VII 4 3 7 5 4 9 III 7,00

Fase 3 - Distanza cumulata percorsa alla Iine della Iase 3
Distanza percorsa alla Iase 3 Distanza percorsa Iino alla Iase 2

Viaggiare da nodo Politica ottima Decisione:
andare a V VI VII Decisione Distanza
cumulata
VIII 4 11 15 1 7 8 3 7 10 VI
*
8,00

Arrivati ad ottenere la soluzione ottima, si tratta di ricomporre il problema che era stato de-
composto per ottenere la politica ottima; quindi, si arriva al VIII dal nodo VI, al nodo VI
dal nodo III e al nodo III dal nodo I.

FIG. 15 - SCHEMA DI DECOMPOSIZIONE DI UN MODELLO DI P.D

I simboli utilizzati hanno il seguente signiIicato:

i Numero di Iase
n Numero complessivo di Iasi in cui e suddiviso il problema
x
i
Variabile di decisione nella Iase i
s
i
(s
i-1
,x
i
) Stato del sistema dopo la Iase i
r
i
(s
i
,x
i
) Ritorno associato ad una combinazione stato-decisione (s
i
,x
i
) nella Iase i
f
i
(s
i
,x
i
) Valore della Iunzione obiettivo per una combinazione stato-decisione (s
i
,x
i
) nella
Iase i
f
*
(s
i
) Valore ottimo della Iunzione obiettivo per lo stato (s
i
) nella Iase i

La Fig. 16 riporta la decomposizione dell'esempio con i valori di ogni simbolo; si osservi
che all'inizio del viaggio il sistema parte dallo stato I e la Iunzione obiettivo f
0
(s
0
,x
0
) vale
zero.



FIG. 16 - DECOMPOSIZIONE DELL'ESEMPIO DI VIAGGIO
\
. (s .\ )
l (s .\ )
\
. (s .\ )
l (s .\ )
\ \
......
| I
s
|
s
|
s
s|
s
sI
s
s
s| s
| | |
| | |
I I I
I I I
. (s .\ )
l (s .\ )
. (s .\ )
l (s .\ )
s| s| s|
s| s| s|
s s s
s s s
|sss | |sss I |sss s| |sss s
70

Le equazioni ricursive e la funzione di trasformazione

All'uscita di ogni speciIica combinazione stato-decisione in ciascuna Iase, la Iunzione obiet-


tivo ricursiva vale:

f
i
G(r
i
,f
*
i-1
) 3.19

dove G rappresenta una Iorma Iunzionale; si osservi che f
*
i-1
e Iunzione del suo stato di usci-
ta, cioe in realta f
*
i-1
(s
i-1
); in generale, il valore ottimo della Iunzione obiettivo nella Iase i e
deIinita selezionando i possibili valori x
i
che ottimizzano f
i
; quindi

f
*
i
ottimo |f
i
| 3.20
tutti x
i


"tutti x
i
" signiIica tutti i valori di x
i
che sono permessi tenendo conto delle relazioni, vincoli
ecc.

Combinando le relazioni 3.19 e 3.20, otteniamo l'equazione ricursiva di base del processo:

f
*
i
ottimo |G(r
i
,f
*
i-1
)| 3.21
tutti x
i



Nell'esempio presentato, l'equazione ricursiva di base era di tipo additivo:

f
i
r
i
f
*
i-1
3.22

e quindi:

f
*
i
min |r
i
f
*
i-1
| 3.23
tutti x
i

Come abbiamo detto, il passaggio da uno stato all'altro avviene generalmente valutando la
Iunzione di trasIormazione, che lega lo stato che si lascia con quello in cui si entra, nonche
la decisione presa alla Iase i; cioe:

s
i-1
T(s
i
,x
i
) 3.24

dove T rappresenta un'opportuna Iorma Iunzionale della relazione considerata.
Nell'esempio presentato, la Iunzione di trasIormazione era ottenuta, anziche da una Iorma
Iunzionale, mediante la semplice ispezione del reticolo.
\
. (s .\ ) =
l (s .\ ) =
\
. (s .\ ) =
l (s .\ ) = I-
\
| I
s
|
s
|
s
s
| | |
| | |
I I I
I I I
. (s .\ ) = |
l (s .\ ) = I-|
|sss | |sss

I

= = I = e
|sss
71

Riepilogando, il processo risolutivo opera come segue:

- determina successivamente:
(Insieme f
*
1
) (Insieme f
*
2
) ......... (Insieme f
*
n
)
- dato uno stato Iinale s
n
il valore f
*
n
rappresenta la soluzione del problema
- dato s
n
la politica ottima e identiIicata all'indietro ottenendo:
x
*
n
x
*
n-1
....... x
*
1

Si osservi che tutto il processo risolutivo non fa nessuna ipotesi circa i tipi di Iunzione
trattati: questo signiIica che, problemi normalmente non risolvibili mediante la P.L., posso-
no essere aIIrontati con la P.D.

Vediamo la soluzione di un esempio in cui la Iunzione obiettivo ed i vincoli non sono linea-
ri.

Si supponga di dovere costruire uno strumento elettronico mediante 4 componenti collegate
Ira loro in serie, in modo tale che la rottura di una componente comporta l'arresto dell'intero
strumento.

L'aIIidabilita dello strumento stesso puo essere migliorata mettendo una o piu componenti
(massimo 3) in parallelo (in parallelo signiIica che una componente rotta viene automati-
camente sostituita da quella ad essa parallela).

Lo schema di Iunzionamento dello strumento e riportato nella Fig. 17; le probabilita di Iun-
zionamento delle componenti e il loro costo sono riportati nella Tab. 16 (rispettivamente
nella prima e seconda riga della tabella delle componenti).

Se, ad es., si sceglie di costruire lo strumento utilizzando 2 unita per la prima componente, 1
per la seconda, 3 per la terza e la quarta, il costo dello strumento e 4 1 5 2 e l'aIIidabi-
lita complessiva dello strumento e 0.96 . 0.5 . 0.94 . 0.97.

Supponendo di disporre di una ciIra complessiva di 10 per la costruzione del pezzo, come
deve essere la struttura della 4 componenti, il loro costo e l'aIIidabilita ottime?














FIG. 17 - STRUTTURA DELLE COMPONENTI DELLO STRUMENTO
ELETTRONICO
72


TAB. 16 - COSTI E AFFIDABILIT DELLE COMPONENTI

Numero componente Numero di unita parallele
(x
i
)

(i) 1 2 3

1 c
1
............................... 3 4 5
r
1
................................ 0.80 0.96 0.99

2

c
2
............................... 1 2 3
r
2
................................ 0.50 0.75

0.88
3 c
3
................................. 2 4 5
r
3
................................. 0.60 0.84 0.94
4 c
4
................................. 1 2 2
r
4
..................................0.70 0.91 0.97

La Iunzione obiettivo da ottimizzare diventa:

Max Z r
i
(x
i
)

soggetto a:


i
c
i
(x
i
) _ b (nel nostro caso: b 10)

x
i
_ u
i
i 1,2,.......,n
x
i
_ 1 i 1,2,.......,n
x
i
interi positivi

|
I

+
| I
Kams.s
ssm,sssst|
Kams.s as|ts ,s.s||s|s

73
(u
i
rappresenta il numero massimo di componenti in parallelo per l'unita i)

Si osservi che in ambiente P.L. il problema sarebbe stato a numeri interi, dato che la x
i
puo
assumere solo i valori 1,2,3

Gli stati del sistema sono:

s
i
Costo cumulativo per le componenti 1,2,.....,n
c
i
s
i-1


La Iunzione di trasIerimento e quindi:


s
i-1
s
i
- c
i
La Iunzione ricursiva da ottimizzare diventa:

f
*
i
Max(r
i
f
*
i-1
) x
i
1,2,3

Naturalmente, anche problemi risolvibili mediante la P.L. possono essere aIIrontati median-
te la P.D.; anzi, alcuni che potrebbere introdurre diIIicolta a causa, ad esempio del vincolo
di integrita da porre alle variabili decisionali, possono essere proIittevolmente aIIrontati con
la P.D.

Prendiamo il cosiddetto problema del sacco da montagna (knapsack problem in inglese),
uno dei modelli "classici" della R.O. (e a cui l'esempio precedente puo essere ricondotto).

Si abbia a disposizione un "contenitore" (un sacco da montagna) con un volume limitato (b)
e si abbiano a disposizione n oggetti, ognuno che occupa uno speciIico spazio unitario (a
j
) e
in grado di Iornirci una speciIica utilita unitaria (u
j
) se lo inseriamo; come riempiamo il no-
stro contenitore?

Il problema puo essere deIinito come:

max Z
j
u
j
x
j


soggetto a:


j
a
j
x
j
_ b

x
j
_ 0 intero j 1,2,......n

La Iormulazione come problema di P.D. diventa:

f
*
i
Max (u
i
x
i
f
*
i-1
)

x
i
1,2,......n

Gli stati sono i possibili pezzi che si possono inserire:

s
i
0,1,.......b

74

La Iunzione di trasIerimento e :

T(s
i
,x
i
) I
i
(s
i
- u
i
)

(T(s
i
,x
i
) 0 per ogni indice non accettabile)

Questa volta non presentiamo la soluzione mediante tabelle coordinate, ma descriviamo l'al-
goritmo risolutivo, supponendo di indicare il valore ottimo di una soluzione identiIicata nel-
la Iase corrente mediante il segno meno (che non puo creare ambiguita dato che tutte le so-
luzioni devono essere non negative).

- passo 1: inizializzare i 0, f
i
0 per tutti i possibili stati; andare al passo 2
- passo 2: porre i i 1. Per tutti gli s
i
a
i
porre f
i
f
i-1
- passo 3: calcolare r
i
(s
i
,x
i
) u
i
T(s
i
,x
i
);
se r
i
(s
i
,x
i
) ~ f
i-1
porre f
i
-r
i
(s
i
,x
i
), altrimenti porre f
i
f
i-1

- passo 4: se s
i
b porre s
i
s
i
1 ed esaminare il prossimo stato al passo 3
- passo 5: se i n esaminare la prossima Iase al passo 2, altrimenti porrei K 0 (K e il
contatore per i valori ottimi di x
i
, cioe il numero di pezzi dell'oggetto i da inserire
nel sacco)
- passo 6: se f
i
(s
i
,x
i
) e negativo, porre K K 1 e andare al passo 7, altrimenti andare al
passo 8
- passo 7: porre b b - a
i
x
i
e ritornare al passo 6
- passo 8: porre x
i
K e K 0;
se i ~ 1 porre i i - 1 e ritornare al passo 6, altrimenti terminare

(I passi da 1 a 4 costituiscono il processo di massimizzazione; quelli da 5 a 8 l'identiIicazio-
ne delle politiche).

L'algoritmo presentato puo essere applicato al problema:

max Z 11x
1
7x
2
5x
3
x
4

6x
1
4x
2
3x
3
x
4
_ 10

x
1
,x
2
,x
3
,x
4
_ 0 interi

La soluzione e riportata nella Tab. 17.









TAB. 17 - RISOLUZIONE DEL PROBLEMA DEL SACCO DA MONTAGNA

s f
1
(s) r
1
f
2
(s) r
2
f
3
(s) r
4
f
4
(s)
75

0 0 - 0 - 0 - 0
1 0 - 0 - 0 1 0 -1
2 0 - 0 - 0 1 1 -2
3 0 - 0 5 0 -5 1 2 5
4 0 7 0 -7 5 0 7 1 5 7
5 0 7 0 -7 5 0 7 1 7 -8
6 -11 7 0 11 5 5 11 1 8 11
7 -11 7 0 11 5 7 -12 1 11 12
8 -11 7 7 -14 5 7 14 1 12 14
9 -11 7 7 -14 5 11 -16 1 14 16
10 -11 7 11 -18 5 12 18 1 16 18

Il valore massimo e 18; x
2
e x
3
sono messi a zero dato che il primo valore negativo si trova
in corrispondenza di x
2
; togliendo il coeIIiciente di x
2
(4), si ottiene il valore di x
1
in corri-
spondenza di s 7.

Si osservi l'approccio all'analisi di sensitivita della P.D. totalmente diverso da quello Iornito
dalla P.L.; la P.D. risolve il problema per tutta la gamma di soluzioni, in modo che non e so-
lo disponibile la soluzione ottima, ma anche la soluzione per tutti gli altri valori.

La ricursione in avanti e in dietro

Fino a questo momento, quando abbiamo analizzato i problemi risolvibili con la P.D. ab-
biamo implicitamente inteso che l'esame delle Iasi partisse dalla Iase 0 e proseguisse sino al-
la Iase n, indicando in tal modo che stavamo esaminando le Iasi mancanti alla soluzione del
problema; tuttavia, trattandosi di un algoritmo di tipo ricursivo, la soluzione avrebbe potuto
essere trovata posizionandosi alla Iase n e arrivando sino alla Iase 0, esaminando sequen-
zialmente le Iasi gia percorse per risolvere il problema.

Nel primo caso si parla di ricursione in avanti e nel secondo di ricursione all'indietro.

Nel caso di ricursione all'indietro, la Iormula ricursiva Iondamentale diventa naturalmente:

f
*
i-1
ottimo |G(r
i
,f
*
i
)| 3.25
tutti x
i


Fino a questo momento sono stati considerati problemi di natura puramente deterministica:
in questo caso la scelta Ira l'utilizzo della ricursione in avanti o indietro e, normalmente, una
questione di gusto personale.

In questo caso, il passaggio Ira lo stato di una Iase e lo stato di una successiva e rappresen-
tabile mediante un albero decisionale, come evidenziato nella Fig. 18, dove, utilizzando uno
schema di ricursione allindietro, sono presentate le decisioni successive per la soluzione del
problema.

FIG. 18 - ALBERO DECISIONALE PER LA P.D. IN CONDIZIONI
DETERMINISTICHE

tsts |ss|s|sss tsts |ss|s|sss tsts
76

















Come si vede, dato uno speciIico stato, una speciIica decisione conduce ad un nuovo stato
totalmente deIinito.

Tutt'altro discorso si ha quando introduciamo la possibilita di veriIicarsi di eventi casuali
che non sono sotto il controllo del risolutore.

In questo caso, il risultato associato ad ogni Iase dipende anche dall'evento aleatorio e~
i
e la
Iunzione di ritorno ad essa associata diventa:

f
i
(s
i
,x
i
,e~
i
) Valore della Iunzione obiettivo per una combinazione stato-decisione (s
i
,x
i
)
nella Iase i in presenza della variabile casuale e~
i
la cui legge di ripartizione
probabilistica (condizionata) e data da:

p
i
(e~
i
,s
i
,x
i
) 3.26

In questo caso non e piu, evidentemente, possibile utilizzare la ricursione in avanti, dato che
non si conosce completamente il cammino che si potra utilizzare, ma si dovra Iare ricorso
alla ricursione all'indietro che sara schematizzata come in Fig. 19.
77
FIG. 19 - ALBERO DECISIONALE PER LA P.D. IN CONDIZIONI
PROBABILISTICHE
E la tecnica di identiIicazione della soluzione ottima per gli alberi decisionali a cui abbiamo
accennato precedentemente e che riprenderemo con il seguente esempio.
tsts |ss|s|sss |.ssts ||sa|tsts
s i s s
I
I
I I
s i s- s s
| | |
| | |
78
Si supponga di dovere decidere la politica per i prossimi due mesi di un prodotto carratte-
rizzato da un costo di produzione unitario di 1000 e da un prezzo di vendita di 2000, che
causi un costo di giacenza pari a 100 per unita/mese per ogni prodotto che sia in magazzino
alla Iine del mese.

Si supponga che la produzione sia suIIicientemente rapida da garantire che una richiesta del
mercato possa essere immediatamente soddisIatta con un costo trascurabile di preparazione.

Attualmente non si abbia nessuna giacenza e si sappia che il prodotto invenduto per un pe-
riodo di due mesi debba essere rivenduto ad un prezzo ridotto di 500 per unita.

La richiesta del prodotto e nota con la seguente distribuzione di probabilita:

Domanda Probabilita

0 0.25
1 0.40
2 0.20
3 0.15

Si supponga altresi che le vendite perse nel mese non possano poi essere recuperate.

Il problema e quindi quello di decidere quanto produrre durante il primo mese e, sulla base
della domanda verificata nel primo mese, decidere quante unita produrre durante il se-
condo mese.

DeIiniamo con f
n
(I
n
) il ritorno massimo associato ad un inventario I
n
quando mancano n
mesi alla Iine del periodo di pianiIicazione (n 0,1,2).

Quando mancano 0 mesi alla Iine, considerando che dovremo vendere sotto costo i prodotti
rimanenti, avremo:

I
0
I
0
(I
0
)

0 0
1 500
2 1000
3 1500

Per determinare il ritorno ottimo quando manca un mese, dobbiamo identiIicare ogni livello
di inventario (stato alla fase), il ritorno associato ad ogni possibile produzione (decisione)
tenendo presente quali possono essere le vendite del periodo (evento casuale).

Gli elementi riepilogativi dell`esempio sono riportati nella Tab. 18
79
TAB.18 - TABELLA DEGLI STATI PER LA FASE 1

Stato Prod. Ven. Probabilita Stato Costo Ricavo Costo I
0
(I
0
) Valore Ritorno
I
1
d
1
s
1
(s~
1
s
1
) I~
0
Produ. Vendita Maga. Atteso Atteso

0 0 0 1. 0 0 0 0 0 0 0
1 0 .25 1 -1000 0 -100 500 -150
1 .75 0 -1000 2000 0 0 750 600*
2 0 .25 2 -2000 0 -200 1000 -300
1 .40 1 -2000 2000 -100 500 160 560
2 .35 0 -2000 4000 0 0 700
3 0 .25 3 -3000 0 -300 1500 -450
1 .40 2 -3000 2000 -200 1000 -80
2 .20 1 -3000 4000 -100 500 280 200
3 .15 0 -3000 6000 0 0 450

1 0 0 .25 1 0 0 -100 500 100 1600*
1 .75 0 0 2000 0 0 1500
1 0 .25 2 -1000 0 -200 1000 -50
1 .40 1 -1000 2000 -100 500 560 1560
2 .35 0 -1000 4000 0 0 1050
2 0 .25 3 -2000 0 -300 1500 -200
1 .40 2 -2000 2000 -200 1000 320
2 .20 1 -2000 4000 -100 500 480 1200
3 .15 0 -2000 6000 0 0 600

2 0 0 .25 2 0 0 -200 1000 200
1 .40 1 0 2000 -100 500 960 2560*
2 .35 0 0 4000 0 0 1400
1 0 .25 3 -1000 0 -300 1500 50
1 .40 2 -1000 2000 -200 1000 720
2 .20 1 -1000 4000 -100 500 680 2200
3 .15 0 -1000 6000 0 0 750

3 0 0 .25 3 0 0 -300 1500 300
1 .40 2 0 2000 -200 1000 1120
2 .20 1 0 4000 -100 500 880 3200*
3 .15 0 0 6000 0 0 900

La struttura della tabella serve anche per la Iase 2, dove pero lo stato possibile e solo uno
(partiamo inIatti con un magazzino vuoto).

N.B. Il valore atteso per ogni decisione e:

(costo di produzione ricavo vendita costo magazzino ) * probabilita;

Il ritorno atteso e:

_ valori attesi per ogni decisione

TAB.19 - TABELLA DEGLI STATI PER LA FASE 2
80

Stato Prod. Ven. Probabilita Stato Costo Ricavo Costo I
1
(I
1
) Valore Ritorno
I
2
d
2
s
2
(s~
2
s
2
) I~
1
Produ. Vendita Maga. Atteso Atteso

0 0 0 1. 0 0 0 0 600 600 600
1 0 .25 1 -1000 0 100 1600 125
1 .75 0 -1000 2000 0 600 1200 1325
2 0 .25 2 -2000 0 -200 2560 90
1 .40 1 -2000 2000 -100 1600 600 1600*
2 .35 0 -2000 4000 0 600 910
3 0 .25 3 -3000 0 -300 3200 -25
1 .40 2 -3000 2000 -200 2560 544
2 .20 1 -3000 4000 -100 1600 500 1559
3 .15 0 -3000 6000 0 600 540

Come si vede, la Iunzione di transizione Ira uno stato e l'altro e:

I~
n-1
I
n
d
n
s~
n


L'albero decisionale del problema e riportato nella Fig. 20

FIG. 20 - ALBERO DECISIONALE PER L`ESEMPIO DELLE SCORTE




BibliograIia

I | |
|ss| is ssm,|sts.s
tsts
|s|t|s|s)
|ss|s|sss
(|tast|sss (|.siat|sss) (|smssis (|smssis)
,sss||||s)
|.ssts ||sa|tsts tsts |ss|s|sss |.ssts ||sa|tsts tsts
I
|
|
|
|
|
|
|
|
|
|
|
I
|
|
|
I
|
(|.s|. |.I)
|
(|.s|.|.+|)
(|.s|. |.)
|
|
|
|
(|.s|. |.I) |
(|.s|. |.+|) I
(|.s|. |.I|)
(|.s|. |.|)
|
(|.s|. |.I) |
(|.s|. |.+|) I
(|.s|. |.I|)
(|.s|. |.|)
|
(|.s|. |.I) |
(|.s|. |.+|) I
(|.s|. |.I|)

(|.s|. |.|)
= I
81
Applied Dynamic Programming - R.E. Bellman, S.E. DreyIus
Princeton University Press (1962)

Introduction la combinatorique en vue des applicationes - A. KauImann
Dunod (1968)

Introduction to Mathematical Programming - W. Winston
Duxburry Press (1995)

Integer Programming - R.S. GarIinkel, G.L. Nemhauser
John Wiley & Sons (1972)

Algorithms - R. Sedgewick - Addison Wesley

Applied mathematical programming - S.P. Bradley, A.C. Hax, T.L. Magnanti - Addison
Wesley

Principles of O.R. for management - F.S. Budnick, R. Mojena, T.E. Vollmann - R.D. Ir-
win, Inc

Principles of. O.R.with applications to managerial decisions - H.M. Wagner - Prentice-
Hall, Inc

Introduction to O.R. - F.S. Hillier, G.J. Lieberman - Holden-Day, Inc

Applied dynamic programming - R.E. Bellman, S.E. DreyIus - Priceton University Press

Integer programming - R.S. GarIinkel, G.L. Nemhauser - John Wiley & Sons

Introduction to O.R.: a computer-oriented algorithmic approach - B.E. Gillett -
McGraw-Hill

Quantitative decision making for business - G.Gordon, I. Pressman - Prentice-Hall, Inc

Ottimizzazione combinatoria - curato da F. MaIIioli - CLUP

Applied combinatorics - A. Tucker - John Wiley & Sons

I prezzi ombra come strumento di valutazione delle risorse limitate - L. Schiavina - in
Contabilita Finanza e Controllo - N. 10 ottobre 92 - Pirola Editore


82
4 - TECNICHE RETICOLARI

Uno degli strumenti matematici piu utilizzati in R.O. e il grafo, mediante il quale vengono
sovente analizzati i problemi per risolverli attraverso la teoria relativa.

Un graIo G(N,A), consiste di un insieme Iinito di nodi e un insieme Iinito di archi che
collegano tra loro i nodi (i nodi rappresentano una generica entita e gli archi rappresentano
relazioni eventuali Ira queste entita).

Non e nostra intenzione approIondire l'argomento dei graIi, per i quali esistono trattazioni
speciIiche, ma mettere in evidenza che, attraverso questo strumento, viene studiato un pro-
blema particolare che e quello dei cosiddetti progetti complessi, che identiIicano una ca-
tegoria di problemi composti da un numero rilevante di lavori (o attivit), aventi una
durata, una data di inizio e una data di fine e correlati tra loro in vari modi.

Per chiarire meglio la possibile complessita di un progetto, bastera ricordare che le tecniche
di controllo che verranno presentate sono state utilizzate per la prima volta negli Stati Uniti
per la realizzazione del missile Polaris, un progetto composto da circa 22.000 Iasi di lavoro
coordinate e che queste tecniche vengono normalmente utilizzate (tra gli altri) dalla NASA
per il controllo dei progetti spaziali.

Supponiamo di identiIicare con un nodo l'istante di inizio e di Iine di un'attivita, a sua volta
rappresentata da un arco: allora, Iacendo coincidere il nodo di partenza di un'attivita succes-
siva con il nodo di arrivo della precedente, potremo trattare come nella Fig.21 i collegamen-
ti di base Ira due attivita e cioe il collegamento seriale (a) e il collegamento parallelo (b).

FIG.21 - COLLEGAMENTI FRA ATTIVIT CORRELATE



La tecnica che stiamo per presentare (PERT - Program Evaluation and Review Technique)
ha proprio lo scopo di suddividere e controllare sistematicamente un progetto complesso
correlando nel modo sopra presentato le attivita elementari che lo compongono.






Il PERT
|| |I
/|
||
|I
|
/|
/I
(s
(|
83

Abbiamo gia detto delle origini del PERT, i cui obiettivi sono i seguenti:

- determinare il tempo minimo necessario alla realizzazione di un progetto complesso
- identiIicare lo slittamento delle attivit non critiche, cioe il ritardo che ad esse puo esse-
re attribuito senza che il progetto nel suo complesso sia ritardato.
- controllare l'avanzamento del progetto, permettendo una corretta valutazione probabilistica
della durata delle attivita relative (si osservi che questa analisi, assai rilevante dal punto di
vista teorico, e stata in pratica sostituita da una continua interazione uomo/macchina nelle
realizzazioni del PERT per sistemi di calcolo interattivi su elaboratori elettronici).

In termini di graIo abbiamo gia identiIicato le componenti Iondamentali del PERT e cioe gli
eventi e le attivit, che ora deIiniremo in modo in modo piu speciIico.

Per evento si intende un accadimento al quale puo essere associata una data: qualsiasi pro-
getto (sia o no complesso) e caratterizzato al minimo da due eventi e cio inizio e fine del
progetto; la data di accadimento e normalmente espressa in unita di tempo a partire dall'ini-
zio del progetto.

Per attivit intenderemo l'utilizzo di risorse atte al raggiungimento degli obiettivi del pro-
getto, alla quale possa essere associata una durata temporale, espressa in una opportuna uni-
ta di misura (minuti, ore giorni ecc.).

Abbiamo gia avuto modo di osservare che gli eventi vengono rappresentati mediante nodi
del reticolo che rappresenta l'intero progetto, mentre le attivita vengono rappresentate me-
diante gli archi che collegano gli eventi (per la verita, nei primi anni di sviluppo del PERT,
erano utilizzate anche rappresentazioni che riportavano sugli archi gli eventi e sui nodi le at-
tivita, ma la prima rappresentazione e quella normalmente utilizzata).

Dal punto di vista della Iormalizzazione del modello, l'intero progetto viene scomposto in
componenti, costituiti dai lavori elementari, che sono collocati nel tempo mediante il loro
evento iniziale e Iinale, i quali sono a loro volta collegati dall'attivita che simboleggia il la-
voro da svolgere.

La tecnica di analisi inizia con un elenco dei lavori da svolgere per realizzare il progetto
complesso e da questo elenco vengano raccolti e Iormalizzati gli elementi necessari ad otte-
nere il reticolo PERT realtivo.

Un esempio chiarira la modalita di sviluppo del modello.

Si supponga di volere avviare un'attivita di ristorazione, creando ex-novo il locale relativo
con tutto il necessario per lanciarlo sul mercato; i lavori necessari alla realizzazione di que-
sto progetto e le loro connessioni sono riportate nella Tab.20.

84
TAB.20 - ELENCO LAVORI REALIZZAZIONE RISTORANTE

L a v o r i Precedene Durata
(in giorni)

A Acquistare i mobili - 10
B Acquistare le attrezzature - 3
C Assumere il personale - 1
D Scegliere il luogo - 2
E Ottenere le licenze D 7
F Preparare il luogo E 3
G Portare i mobili A,F 5
H Installare i servizi G 4
I Installare le attrezzature B,H 4
1 Preparare i locali B,H 3
K RiIornire bar e cucina I,1 6
L Fare pubblicita G 3
M Addestrare il personale C,I 4
N Avviare l'attivita K,L 7

Si osservi che la lista dei lavori oltre ad identiIicare la durata delle singole attivita, riporta
anche l'elenco delle precedenze, cioe delle relazioni tecniche (in relazione al tipo di proget-
to complesso da sviluppare), che legano i lavori stessi.

Queste precedenze svolgono la Iunzione di vincoli del progetto e in pratica ne determinano
la struttura.

Come detto precedentemente, ad ogni lavoro corrisponde un'attivita, mentre l'inizio e la Iine
di ciascuna attivita costituisce un evento.

Si osservi altresi che la presenza dei vincoli implica la presenza di archi orientati per la
rappresentazione delle attivita, in modo da evidenziare le precedenze richieste.

Il passaggio dall'elenco dei lavori al reticolo avviene seguendo due semplici regole:

- Ogni lavoro corrisponde ad una e una sola attivita, la quale a sua volta corrisponde ad un
solo arco
- Nessuna ttivita puo iniziare e finire con gli stessi due eventi (nodi)

Mentre la prima regola e ovvia, la seconda e richiesta per rappresentare in modo sintattica-
mente semplice e coerente il progetto in termini di reticolo: inIatti, imponendo questa rego-
la, ogni evento puo essere numerato progressivamente ed ogni attivita puo cosi essere rap-
presentata mediante due numeri che rappresentano l'evento iniziale e Iinale dell'attivita stes-
sa.

Per la rappresentazione del progetto in questione, l'osservazione della regola 2 puo richiede
l'introduzione delle cosidette attivit fittizie (dummy activities).

Queste sono attivita non corrispondenti a speciIici lavori elencati per la realizzazione del
progetto, ma sono attivita che vengono introdotte tra le altre per rendere realizzabile la me-
85
todologia: le attivita Iittizie sono caratterizzare da una durata nulla, il che le rende irrilevanti
al Iine della determinazione della durata del progetto.

L'introduzione delle attivita Iitizie per l'osservazione della regola 2, Ia si che i lavori I e J
del nostro progetto siano rappresentati nel modo (b) anziche (a) della Fig. 22.

FIG. 22 - USO DELLE ATTIVIT FITTIZIE PER NOTAZIONE CORRETTA
Oltre che per ragioni sintattiche, le attivita Iittizie vengono utilizzate per rappresentare cor-
rettamente le precedenze tecniche evidenziate nell'elenco dei lavori.

Teniamo inIatti presente che una attivita partente da un nodo puo essere avviata quando tut-
te le attivita che entrano nel nodo iniziale dell'attivita considerata sono concluse.

Questo puo produrre notevoli diIIicolta nella rappresentazione del reticolo.

Si osservi, ad esempio, la connessione dei lavori C,M,I,1 e K (nonche l'attivita Iittizia D
1

che e stata introdotta per ragioni sintattiche Ira I e 1); la rappresentazione (a) della Fig. 23 e
errata, perche, secondo l'elenco dei lavori, solo I e 1 devono precedere K e non C.

La Iormulazione corretta puo avvenire mediante l'introduzione dell'attivita Iittizia D
2
che ci
permette di Iormulare il reticolo come nella parte (b) della Fig. 23.

















|
1
| I |
I

|
1
(s
(|
|
|
86
FIG. 23 - USO DELLE ATTIVIT FITTIZIE PER LA PRESENTAZIONE DI
PRECEDENZE


Tenendo presente le osservazioni sopra riportate, il reticolo del nostro progetto viene allora
Iormulato come in Fig. 24.

FIG. 24 - RETICOLO DEL PROGETTO RISTORANTE













Il reticolo e stato ottenuto numerando gli eventi iniziali e Iinali di ogni attivita ed aggiun-
gendo le due attivita Iittizie (D
1
e D
2
) in modo che Iosse osservata la condizione 2 e che Ios-
sero rispettate le precedenze enunciate; per deIinizione D
1
e D
2
hanno associato una durata
di 0 giorni.

Si osservi che nel precedente reticolo l'identiIicazione delle attivita potra essere Iatta me-
diante il nodo iniziale e Iinale; quindi, ad es. A d
14
(1,4)

Sostituendo alle attivita indicate la loro durata, otteniamo il reticolo base del PERT riportato
nella Fig.25.





I


I

e

|
M
|
1
|
|
|
|
M
|
I
|
|
|
1
|
(| (s
|
I
+


I
e

||
|
|
|
|
/
|
|
|
1
|
|
K
M
|
|
|
I
87
FIG.25 - RETICOLO BASE DEL PROGETTO


Come detto, uno degli obiettivi del PERT e quello di determinare il tempo minimo necessa-
rio per completare l'intero progetto; per arrivare alla sua valutazione iniziamo deIinendo due
concetti Iondamentali associabili a ciascun evento e cioe:

- tempo di pi prossimo inizio (earliest starting time): per tutte le attivita che escono da
un certo nodo e il tempo in cui le attivita stesse possono iniziare perche sono terminate
tutte le attivita che le precedono; tale tempo verra indicato con E
i

- tempo ultimo di completamento (latest finishing time): per tutte le attivita che entrano
in un certo nodo e il tempo entro il quale deve veriIicarsi l'evento Iinale delle attivita per
evitare che le attivita successive creino un ritardo nel progetto; tale tempo verra indicato
con L
j

Dalle deIinizioni precedenti, si comprende che il tempo di completamento del progetto e il
tempo di pi prossimo inizio dell'evento corrispondente al completamento del proget-
to.

Questo tempo viene ottenuto con una scansione in avanti (cioe partendo dal nodo corri-
spondenta all'evento iniziale del progetto, che avra, per deIinizione, E
1
0) e movendosi
verso il nodo corrispondente all'evento Iinale identiIicando per ciascun evento il valore del
tempo di piu prossimo inizio.

Osservando il reticolo di Fig.25, siamo in grado di determinare immediatamente che E
2
e 2,
cioe il tempo necessario a realizzare l'attivita D, che E
3
e 9, ossia la somma della durata del-
le attivita D e E; ma quale e il tempo di piu prossimo inizio di E
4
, dove terminano sia la ca-
tena D,E,F che l'attivita A?

Dalla deIinizione di tempo di piu prossimo inizio otteniamo che E
4
e 12, cioe il tempo piu
lungo Ira tutti i possibili cammini che terminano nel nodo in questione.

In generale, quindi, possiamo determinare la seguente regola per la determinazione del tem-
po di piu prossimo inizio di ogni attivita d
ij
:

E
j
max E
i
d
ij
} 4.1
i

|
I
+


I
e

||
|
I
I

|

+

|
+
|
|
+



I
88
Cosi, nel nostro esempio otterremo:
E
6
max E
1
d
16
, E
5
d
56
}
max 0 3 , 17 4}
max 3 , 21}
21

Dalle precedenti osservazioni si puo concludere che il tempo di completamento del progetto
e quello corrispondente al pi lungo cammino che collega l'evento iniziale a quello fina-
le.

La determinazione del tempo ultimo di completamento e un processo che avviene all'indie-
tro, cioe partendo dall'evento Iinale e risalendo Iino a quello iniziale.

Una volta determinato il tempo di piu prossimo inizio per l'evento Iinale, vediamo, ad e-
sempio, che le attivita che entrano nel nodo 10 (cioe le attivita (9,10) (5,10)) dovranno
terminare a una data che permetta l'esecuzione dell'attivita (10,11), che ha una durata di 7
giorni.
Quindi l'evento Iinale (10) non potra avere una data di completamento superiore a:
(38 - 7) 31.

In generale, la data ultima di completamento per ciascun evento puo essere determinata co-
me segue:

L
i
min L
j
- d
ij
} 4.2
j

Cosi nel nostro esempio otterremo:

L
8
min L
9
- d
89
, L
7
- d
87
}
min 25 - 0 , 34 - 0}
min 25 , 34}
25

Nella Tab.21 sono riportati i tempi di piu prossimo inizio e di ultimo completamento per
ciascuno degli eventi del progetto ristorante.
















89

TAB.21 - TEMPI DI P.P.I. E U.C. DEL PROGETTO RISTORANTE

Evento E
i
L
i

i

1................................................0 0
2................................................2 2
3................................................9 9
4..............................................12 12
5..............................................17 17
6...............................................21 21
7...............................................25 34
8...............................................25 25
9...............................................25 25
10.............................................31 31
11.............................................38 38

Ci resta ora da determinare un altro importante aspetto di ciascuna attivita e cioe la sua cri-
ticit rispetto al progetto: con questo termine intenderemo indicare se un ritardo nello svol-
gimento dell'attivita conduce ad un ritardo nel progetto complessivo o meno.

Per arrivare a questa individuazione, iniziamo a deIinire lo slittamento totale (total slack)
per l'attivita (i,j) come la diIIerenza Ira il tempo di ultimo completamento dell'evento Iinale
e il tempo di piu prossimo inizio dell'evento iniziale dell'attivita meno la durata dell'attivita
ij.

Questo tempo identiIica il ritardo (in numero di unita di tempo) che puo essere associato al-
l'attivita in questione senza ritardare l'intero progetto.

Cioe:

TS
ij
L
j
- E
i
- d
ij
4.3

Ad esempio (i dati sono nella Tab.20 e Tab.19):

TS
16
L
6
- E
1
- d
ij

21 - 0 - 3
18

La Fig.26 riporta piu marcato il cosidetto cammino critico, cioe la sequenza delle attivita
critiche (quelle che determinano la lunghezza del progetto).
90
FIG.26 - CAMMINO CRITICO DEL PROGETTO RISTORANTE

Il concetto di slittamento totale e associato ad una sequenza di attivita; se siamo interessati
allo slittamento ammissibile per una attivit specifica, e allora interessante lo slittamento
libero (free slack), deIinito come:

FS
ij
E
j
- E
i
- d
ij

Gli elementi riassuntivi per la deIinizione del PERT del progetto ristorante sono riportati
nella Tab.22

TAB.22 - TEMPI PER IL PROGETTO RISTORANTE

Attivita IdentiIicativo Durata E
i
L
j
TS
ij
FS
ij

attivita (in giorni)
(i,j) d
ij


A...............................(1,4) 10 0 12 2 2
B...............................(1,6) 3 0 21 18 18
C...............................(1,7) 1 0 34 33 24
D...............................(1,2) 2 0 2 0 0
E...............................(2,3) 7 2 9 0 0
F...............................(3,4) 3 9 12 0 0
G...............................(4,5) 5 12 17 0 0
H...............................(5,6) 4 17 21 0 0
I.................................(6,8) 4 21 25 0 0
J.................................(6,9) 3 21 25 1 1
D
2
..............................(8,7) 0 25 34 9 0
D
1
..............................(8,9) 0 25 25 0 0
K...............................(9,10) 6 25 31 0 0
L...............................(5,10) 3 17 31 11 11
M..............................(7,11) 4 25 38 9 9
N...............................(10,11) 7 31 38 0 0

Normalmente, oltre al reticolo e ai tempi del progetto, il modello PERT oIIre anche stru-
menti per il controllo del progetto mediante rappresentazioni graIiche: tra questi strumenti
ricordiamo il diagramma dei tempi (time chart), che mette in evidenza la successione del-
le attivita critiche e lo slittamento di quelle non critiche.
|
I
+


I
e

||
|
I
I

|

+

|
+
|
|
+



I
91
Il graIico dei tempi del progetto ristorante e riportato nella Fig.27.

FIG.27 - DIAGRAMMA DEI TEMPI DEL PROGETTO RISTORANTE

Il diagramma dei tempi riporta nella parte superiore la successione delle attivita critiche che
determinano la lunghezza del progetto; nella parte inIeriore le attivita non critiche posizio-
nate in modo da evidenziare sia il tempo ultimo di completamento, il tempo di piu prossimo
inzio, lo slittamento libero e la durata: il posizionamento sull'asse dei tempi permette una
Iacile identiIicazione delle date associate ai vari tempi.

Al di la dell'aspetto descrittivo, il reticolo PERT e di grande utilita per indicare un interven-
to che, ad esempio, serva a raccorciare il tempo totale di realizzazione del progetto: l'indivi-
duazione delle attivita critiche identiIica inIatti gli interventi prioritari da svolgere ed evi-
denzia gli aspetti piu importanti da controllare nella realizzazione del progetto complesso.

Queste condizioni spostano l'attenzione su un elemento che Iino a questo punto non e stato
esplicitamente richiamato ma che e ovviamente di grande importanza nella realizzazione di
un progetto e cioe quello delle risorse.

E ovvio che la realizzazione di un'attivita e legata alle risorse disponibili che vengono im-
piegate per l'attivita stessa; le risorse utilizzate possono essere incorporate in un reticolo
PERT, oIIrendo uno strumento per il controllo e la pianiIicazione di questo importante a-
spetto di gestione dei progetti.

Si immagini, ad esempio, che la realizzazione del progetto richieda le persone indicate nella
Tab. 23; allora il carico di lavoro delle attivita non critiche in caso di realizzazione delle at-
tivita sulla base dei tempi di p.p.i. e di u.c. e riportato nella Fig.28.

Dall'allocazione dei due estremi e possibile trarre elementi per decidere la sequenza dei la-
vori quando, ad esempio, sono disponibili solo 7 unita/uomo nel corso dell'intero progetto.


| | I| I | |
| | | | H | | K
/tt|.|ts s.|t|s|s
/tt|.|ts sss s.|t|s|s
/
|
|
1
|
M
92
TAB.23 - FABBISOGNO DI TEMPO UOMO PER LA REALIZZAZIONE
RISTORANTE

Attivita: A B C D E F G H I 1 K L M N

Numero persone: 4 2 1 2 1 3 2 4 5 2 3 1 2 2

FIG.28 - PIANIFICAZIONE DEI CARICHI DI LAVORO

Dato che il cammino critico rappresenta il piu lungo dei cammini che collegano l'evento ini-
ziale a quello Iinale e che i tempi di esecuzione delle attivita rappresentano i vincoli al pro-
getto (e quindi sono lineari), viene naturale chiedersi se il PERT puo essere collegato alla
programmazione matematica e piu precisamente alla programmazione lineare.

La risposta e aIIermativa, anche se nella pratica l'utilizzo del modello reticolare e assai piu
diIIuso a scopi applicativi che non la corrispondente Iormulazione in Iorma di PL; tuttavia
questa e assai interessante da un punto di vista analitico e pertanto ci sembra opportuno e-
saminare almeno un esempio.

Si supponga di dovere trattare il progetto riportato nella Fig.29; i nodi rappresentano il tem-
po al piu presto delle attivita d
ij
e quindi il nostro obiettivo e quello di minimizzare il tempo
di
completamento del progetto rappresentato dall`evento E
5
in modo tale che i vincoli rappre-
sentati dagli eventi E
j
non siano violati: cio signiIica che E
j
deve essere maggiore o uguale
della somma delle durate che conducono all'evento j (in termini di reticolo, l'evento E
j
deve
essere alla Iine di tutti i cammini che conIluiscono nel nodo j).

| | I| I | |
I
+

e
|
| | I| I | |
I
+

e
|
93
FIG.29 - RETICOLO PER P.L.












Per esempio, l'evento E
4
deve soddisIare la seguente relazione:

E
4
_ E
2
d
24

e

E
4
_ E
3
d
34

Allora, il reticolo in questione puo essere Iormulato in Iorma di PL come segue:

Minimizzare:

Z E
5

Soggetto a:

E
2
_ d
12

E
3
_ d
13

-E
2
E
4
_ d
24

-E
3
E
4
_ d
34

-E
3
E
5
_ d
35

-E
4
E
5
_ d
45


E
j
_ 0 per ogni j

Come si vede, il numero di vincoli che costituiscono il problema e pari al numero di attivita;
le variabili duali del problema (cioe le variabili decisionali del problema di massimizzazio-
ne) indicano se l'attivita e critica (valore unitario) o non critica (valore zero); quindi, il
prezzo ombra associato al vincolo 1 indica se l'attivita d
12
e critica o meno.








|
I

+

i
|I
i
|
i
I+
i
+
i
+
i

94
BibliograIia

Operations Management - E.S. BuIIa
John Wiley & Sons (1963)

Fundamentals Of O.R. - R.L. AckoII, M.W. Sasieni
John Wiley & Sons (1968)

Microsoft Project - Manuale e documentazione

Flows in Networks - L.K. Ford,Jr, D.K. Fulkerson
Princeton University Press (1962)

Introduction la combinatorique en vue des applicationes - A. KauImann
Dundod (1968)

95
5 - TEORIA DELLE SCORTE

Mentre i modelli di ottimizzazione gia visti (PL e PD) si adattano a problematiche assai ge-
nerali e non prevedono situazioni standard a cui riIerirsi, la teoria delle scorte prevede una
situazione tipica di applicazione e cioe quella di un deposito alimentato da un Ilusso in in-
gresso e scaricato da un Ilusso di uscita.

La Fig.30 evidenzia lo schema di base dei modelli di scorte.

FIG.30 - SCHEMA BASE DEI MODELLI DI SCORTE











Nel modello delle scorte, il Ilusso di ingresso (di tipo discontinuo) e costituito da "beni"
(cioe attivita con un valore) di qualsiasi natura, che abbiano la proprieta di poter essere con-
servati.

L'ingresso del bene nel deposito Ia aumentare il livello delle scorte, (la cui conservazione
causa normalmente un costo); il livello della scorta permette la generazione del Ilusso in u-
scita, al quale e associabile un ritorno.

Come si vede, questo schema generale e realizzato spessissimo nella vita di tutti i giorni, ad
es. nei negozi, nelle Iabbriche ecc..

Il problema e quello di coordinare il Ilusso di ingresso (sul quale e stata inserita una valvola,
cioe uno strumento di controllo) con quello in uscita in modo tale che il livello del bene nel
deposito (a cui, come detto, e oneroso), sia minimo in relazione alle esigenze del Ilusso di
uscita.

Detto in altre parole, il modello di scorte deve rispondere a due tipi di domanda:

- quando aprire il Ilusso in ingresso (quando ordinare)
- quale deve essere la dimensione di questo Ilusso (quanto ordinare)

Per potere rispondere alle suddette domande, occorre analizzare le caratteristiche degli ele-
menti che costituiscono il nostro modello e cioe il flusso dei beni in entrata, il livello delle
scorte e il flusso dei beni in uscita.

Rileviamo innanzi tutto che il Ilusso in entrata e di tipo discontinuo, nel senso che l'ingresso
e attivato per periodi deIiniti; oltre a cio puo intercorrere un intervallo di tempo Ira l'istante
in cui e richiesta l'attivazione del Ilusso in ingresso (viene Iatto l'ordine) e quello in cui i be-
||asss |s |s.ssss |s,ss|ts
||.s||s sss.ts
||asss |s ass|ts
96
ni entrano nel deposito, creando la scorta: la durata di questo intervallo (eventualmente nul-
lo) puo essere noto con certezza oppure soggetto a valutazione probabilistica.
Analogamente, per quanto riguarda il Ilusso di uscita, la sua dimensione quantitativa puo
essere nota con certezza (uscita deterministica) oppure non controllabile da parte del ge-
store del sistema di scorte (domanda probabilistica).

Ricordando la classiIicazione dei modelli precedentemente Iatta, queste osservazioni ci Ian-
no comprendere che il modello di scorte puo essere visto da un punto di vista deterministico
o probabilistico.

La teoria classica delle scorte aIIronta i due precedenti problemi (quando e quanto ordinare)
mediante un modello deterministico (il cosiddetto modello del lotto economico), che inizie-
remo a prendere in considerazione.

5.1 - Il modello del lotto economico

Nel modello classico delle scorte, in un determinato periodo di tempo deve essere soddisIat-
ta una domanda preIissata e nota; i beni necessari sono presi dalle scorte esistenti, che sono
alimentate dal Ilusso in ingresso dopo un opportuno intervallo di tempo rispetto alla richie-
sta.

I costi associati a tale attivita (e che il modello intende minimizzare) sono quelli relativi al-
l'emissione dell'ordine e quelli di conservazione dei beni tra il momento dell'ingresso nel
deposito e la loro consegna al richiedente.

Se iniziamo ad eIIettuare alcune ipotesi restrittive sulla struttura di questo tipo di problema,
siamo in grado di rispondere alle due domande Iondamentali e cioe quando eIIettuare l'ordi-
ne e che dimensione questo deve avere.

Le ipotesi di partenza sono le seguenti:

- La domanda del periodo a cui si riIerisce il nostro modello (D) e nota con certezza
- Il tempo intercorrente Ira un ordine e la sua consegna (tempo di riordino in inglese
lead time) e noto con certezza e supporremo in particolare che sia nullo
- L'intera quantita ordinata viene consegnata in una sola volta, senza possibilita di
Irazionamenti
- La quantita che costituisce un ordine (Q) e sempre uguale per l'intero periodo preso in
considerazione
- Il costo unitario di ciascuna unita del bene trattato e costante (nessuno sconto per
quantita)
- La domanda, il tempo di riordino e la struttura dei costi rimangono costanti in tutto
l'intervallo di tempo di riIerimento

La richiesta e normalmente soddisIatta dalla giacenza esistente presso il deposito; puo tutta-
via capitare che quanto richiesto non possa essere Iornito per mancanza di beni: in questo
caso possono veriIicarsi due alternative:

- la richiesta non puo piu essere soddisIatta nel Iuturo
- la richiesta viene rimandata nel Iuturo, dando origine a nuovi costi oltre a quelli di riordino
e di giacenza
97
Le due alternative danno origine a due possibili Iormulazioni del modello sempliIicato e
cioe uno in cui le mancate Iorniture non possono essere recuperate (senza conservazione
degli ordini) e uno in cui le Iorniture non soddisIatte vengono rimandate al prossimo riIor-
nimento (con conservazione degli ordini).

Il modello delle scorte senza conservazione degli ordini

L'andamento delle giacenze rispetto al tempo e riportato nella Fig.31

FIG.31 - ANDAMENTO DEL MODELLO DI BASE DELLE SCORTE

In questo primo modello di base si vuole minimizzare il costo totale della gestione delle
scorte composto da due componenti: il costo di riordino e il costo di conservazione dei
beni nel deposito.

Rispetto al tempo, il modello base e costituito da vari cicli di magazzino t
c
, determinati dal-
l'ingresso di due riIornimenti successivi nel deposito.

Entrambi i costi dipendono dalla quantita di beni ordinati e pertanto la Iormulazione del co-
sto totale di gestione delle scorte e:

C(Q) I
1
(Q) I
2
(Q) 5.1

La Iunzione I
1
identiIica i costi associati all`emissione dell`ordine, la Iunzione I
2
identiIica i
costi associati alla conservazione dei prodotti nel magazzino.

Economicamente, I
1
(Q) e un costo che puo talvolta essere trascurabile (la teleIonata al Ior-
nitore per ordinare nuovi prodotti) oppure essere estremamente rilevante, richiedendo giorni
di preparazione (l'allestimento di un alto Iorno per cambio di produzione).

Tra le componenti di costo della Iunzione I
2
(Q) e invece importante l'immobilizzo delle
componenti Iinanziarie associate alla conservazione dei beni nei depositi.

Se deIiniamo con C
o
il costo unitario per l'eIIettuazione di un ordine (sia questo a Iornitori
o per produzione), il costo di riordino e:


Costo totale per periodo di tempo Numero di ordini per periodo * Costo unitario
|
|ssll|s|ssts sss|s.s |
t
s
|asst|ts
Ism,s
98
Numero di ordini per periodo * C
o

Il numero di riordini da eIIettuarsi nel periodo sara dato dal rapporto Ira la domanda totale
(D) e la quantita unitaria (Q) ordinata ogni volta; quindi:

N numero di volte che vengono piazzati ordini
quantita richiesta nel periodo di tempo / quantita unitaria di un riordino
D / Q

Quindi:

I
1
(Q) N * C
o
(D / Q) * C
o
5.2

Se deIiniamo con C
h
il costo unitario di giacenza (il costo per conservare un pezzo per un
periodo unitario) il costo di giacenza totale

e:

Costo di conservazione Numero medio di pezzi conservati nel magazzino nel ciclo t
c
*
Numero di cicli * Costo unitario di giacenza

Il numero medio di pezzi conservato nel periodo t
c
(come puo essere calcolato in vari modi)
e pari a Q / 2; il numero di cicli, come detto, e D / Q; pertanto:

Costo di conservazione (D / Q) * (Q / 2) * t
c
* C
h


Osserviamo che t
c
(periodo intercorrente Ira un riIornimento e il suo completo utilizzo) e
dato da Q / D, per cui abbiamo:

I
2
(Q) (D / Q) * (Q / 2) * (Q / D) * C
h

(Q / 2) * C
h

5.3

Il costo totale e quindi:

C(Q) |(D / Q) * C
o
| |(Q / 2) * C
h
| 5.4

L'andamento della Iunzione del costo di gestione delle scorte e riportato nella Fig. 32

99
FIG. 32 - ANDAMENTO E COMPONENTI DEL COSTO DI GESTIONE DELLE
SCORTE

La variabile decisionale e quindi la quantit da riordinare in ciascun ciclo; questa puo es-
sere determinata diIIerenziando la Iunzione del costo totale rispetto alla quantita e ponendo-
la uguale a zero.

Questo conduce alla Iormula base dei modelli di scorte (la cosidetta Iormula del lotto eco-
nomico)

Q*
h o
C DC / 2 5.5

Nel caso ipotizzato di un tempo di riordino nullo, si vede immediatamente che la quantita
Q* deve essere riordinata quando il deposito ha totalmente esaurito le sue scorte; pertanto,
nelle ipotesi precedentemente Iormulate, le risposte ai nostri problemi di base sono di rior-
dinare la quantita Q* (quanto riordinare) all'istante in cui il magazzino non ha piu giacenza
(quando riordinare).

Se eliminiamo l'ipotesi che il tempo di riordino sia zero (ma conserviamo l'ipotesi che sia
deterministico e stazionario), il modello di base si complica lievemente.

DeIiniamo con t
L
il tempo intercorrente Ira l'emissione di un'ordine e il suo ingresso nel de-
posito (tempo di riordino) e osserviamo che la quantita ottima Q* non dipende da t
L
e che
l'istante nel quale l'ordine deve essere eIIettuato deve essere tale che l'istante di consegna
corrisponda all'inizio di un ciclo di magazzino.

Due casi sono possibili: t
L
t
c
* e t
L
~ t
c
*, dove t
c
* e il tempo di magazzino corrispondente
alla quantita ottima Q*.

Nel primo caso, la quantita consumata nel tempo t
L
e Dt
L
Q*, dato che Q* t`D; cio si-
gniIica che l'odine di riIornimento deve essere eIIettuato quando nel magazzino esiste la
quantita R* Dt
L
; questo garantisce che il riIornimento arrivera all'istante di completo e-
saurimento del lotto corrente.

Se t
L
~ t
c
*, l'ordine dovra tenere conto del numero di lotti riordinati che dovranno
essere consumati nel tempo di riordino, oltre alla quantita consumata nel lotto corrente.

La quantita totale consumata nel tempo di riordino e inIatti:
|(|
l
|
(|
l
I
(|
|
'
|asst|ts
\s|s.s
2

L
/

&

100

Dt
L
R` Q`
5.6

e quindi l'istante di riordino e:

R` Dt
L
- Q` 5.7

I casi esaminati sono riportati nella Fig.33

FIG. 33 - PUNTO DI RIORDINO PER TEMPO DI RIORDINO MAGGIORE DI
ZERO


Il modello delle scorte con conservazione degli ordini

Abbiamo detto che nel modello di base non e possibile soddisIare successivamente richieste
non evase.

Se accettiamo l'ipotesi di poter disporre di un portaIoglio ordini (ovviamente costituito so-
stenendo un costo), la Iunzione da minimizzare non dipende piu dalla sola quantita (che co-
me abbiamo visto e la variabile indipendente per il costo di riordino e di giacenza) ma anche
dal livello delle richieste inevase (che possono essere soddisIatte al momento del nuovo ri-
Iornimento).

La struttura graIica del modello base dove e possibile la conservazione di ordini e riportato
nella Fig.34

|ssll|s|ssts sss|s.s |
t
c
|asst|ts
Ism,
B '
P
'
'
t
|
|
t t
'
c
|ssll|s|ssts sss|s.s |
t
c
|asst|ts
Ism,
B '
P
'
t
|
'
t
|
t
'
c






& && &






& && &

101
FIG. 34 - MODELLO BASE CON CONSERVAZIONE DEGLI ORDINI


















Osserviamo che in questo tipo di modello il tempo di magazzino t
c
(che e l'intervallo Ira due
riIornimenti successivi) e suddiviso in due parti:

- t
1
tempo nel quale il deposito e provvisto di beni (e quindi non si crea il portaIoglio di
ordini inevasi)
- t
2
tempo nel quale il deposito e sprovvisto di beni (e quindi si creano ordini inevasi)

t
1
e il periodo di tempo di rilievo per la determinazione del costo di giacenza e t
2
e quello
che serve per determinare il costo associato agli ordini inevasi, la cui dimensionalita e la
stessa del costo di giacenza e cioe associata ad una unita per periodo di tempo.

DeIiniamo quindi C
s
il costo unitario associato alla mancata disponibilita di una unita di
bene per un periodo unitario e identiIichiamo la nuova Iunzione I(Q,S) che dobbiamo mi-
nimizzare.

La componente di riordino non cambia rispetto al modello precedente, dato che dipende an-
cora unicamente dal numero di riordini eIIettuati e quindi:

I
1
(Q,S) (D / Q*) C
o
5.8

Il costo di conservazione e questa volta proporzionale a t
1
e non piu a t
c
; la quantita da con-
servare non e piu Q*, ma L*, cioe la quantita che viene consumata nell'intervallo t
1
; quindi
il costo di conservazione di un ciclo e:

(L* / 2) t
1
C
h
5.9

Osserviamo che:

t
1
L* / D 5.10

poiche L* Q - S, abbiamo:
B
|asst|ts
Ism,
t
t
t
c
S
|
'
Z
|
102
((Q - S)
2
/ 2D) C
h
5.11

Moltiplicando il precedente costo unitario per il numero di cicli, abbiamo:

I
2
(Q,S) ((Q - S)
2
/ 2Q) * C
h
5.12

Il costo per ciclo di mancata Iornitura e dato da:

(S / 2)t
2
C
s
5.13

In modo analogo a quanto detto per il costo di stoccaggio, osserviamo che:

t
2
(S / Q) (t
1
t
2
) 5.14

e quindi:

t
2
(S / Q) (Q / D) S / D 5.15

Il costo per ciclo diviene:

(S
2
C
s
) / (2D) 5.16

Moltiplicando per il numero di cicli otteniamo:

I
3
(Q,S) (S
2
C
s
) / 2Q 5.17

Il costo totale del modello diviene:

C(Q,S) I
1
(Q,S) I
2
(Q,S) I
3
(Q,S)
5.18

Facendo le derivate parziali della precedente Iunzione rispetto alla quantita e agli ordini i-
nevasi e ponendole uguali a zero, otteniamo la quantit ottima di riordino e la
dimensione ottima del portafoglio ordini sospesi:

Q*
s s h h o
C C C C DC / ) )(( / 2 ( + 5.19
e

S*
2
/( ) 2 (
s s h h o
C C C DC C + 5.20

Come si vede, entrambi i modelli presentati si basano su una serie di ipotesi assai restrittive:
vedremo piu avanti come lo stesso problema della gestione delle scorte possa essere aIIron-
tato con il metodo della simulazione quando le ipotesi restrittive non possano piu essere os-
servate nella concreta realta alla quale il modello viene applicato





103

BibliograIia

Principles of O.R. - H.M. Wagner
Prentice-Hall (1969)

Operations Management - E.S. BuIIa
John Wiley & Sons (1963)

Principles of O.R. for Management - F.S. Budnick, R. Mojena, T.E. Vollmann
Richars D. Irwin, Inc.(1977)
104
6 - TECNICHE PREVISIONALI
7


Con la sola eccezione delle tecniche reticolari (che peraltro abbiamo visto possono essere
ricondotte allo stesso problema), Iino a questo momento ci siamo sostanzialmente occupati
di modelli di ottimizzazione; cioe di modelli destinati a Iornire principalmente una norma-
tiva di comportamento volta a permettere una scelta ottima (in senso matematico) Ira opzio-
ni alternative.

Puo capitare che il problema principale del decisore non sia quello di avere indicazioni per
un comportamento ottimizzante ma quello di avere un quadro della realta Iutura (Iatta evi-
dentemente per tenere un comportamento razionale, ma in un contesto piu ampio di quello
speciIicamente matematico), senza che l'ottimizzazione sia il Iine esplicito richiesto.

In questo secondo caso, l'obiettivo non e tanto di sapere come comportarsi, ma di capire
come si evolvera il Iuturo data la storia presente e passata dell'ambiente oggetto di anali-
si.

E importante rilevare che la condizione implicita per la Iormulazione della previsione e che
la storia passata e attuale hanno in se gli elementi che permettono di valutare la storia Iutura:
se questa condizione non viene correttamente valutata, i modelli ottenibili non potranno a-
vere nessuna utilita per il decisore.

Si badi che questo non vuole dire che tra passato presente e Iuturo debba necessariamente
esserci un rapporto di causa/eIIetto: quello che si vuole dire e che l'indagine della struttura
degli accadimenti del passato e lo strumento essenziale per valutare come si potra presentare
il Iuturo; dipendera poi dalla potenza degli strumenti utilizzati riuscire ad esplicitare in mo-
do eIIiciente (e utile) l'esperienza passata a Iini applicativi.

6.1 - I modelli stocastici

Un modello stocastico e un modello associato ad un processo stocastico, che e sinonimo di
processo di osservazione ripetuta di un Ienomeno in grado di produrre diIIerenti risultati per
ragioni di tipo casuale.

Per diIIerenziare i processi stocastici rispetto alla piu generale teoria della probabilita (che
potrebbe essere inclusa nella precedente descrizione), supporremo che le osservazioni del
Ienomeno siano Iatte rispetto ad uno speciIico indice (in genere il tempo), in modo tale che i
risultati di un processo stocastico siano identiIicabili rispetto ai valori dell'indice scelto.

Pertanto, il processo stocastico e l'osservazione di una variabile casuale in corrisponden-
za a determinati valori dell'indice di riferimento.

La deIinizione di un processo stocastico avviene mediante l'insieme dei risultati dell'esperi-
mento casuale X
t
}, dove t rappresenta il parametro (indice) rispetto un deteminato insieme
T.

Ad esempio, l'osservazione del numero di persone in attesa alla cassa di un grande magazzi-
no alla Iine di ciascuna ora della giornata lavorativa, rappresenta un processo stocastico;

7
Questa parte richiede una discreta conoscenza dei concetti e delle tecniche statistich
105
l'insieme X
1
,X
2
,X
3
,X
4
,X
5
,X
6
,X
7
,X
8
} rappresenta il generico processo, mentre i valori
2,5,3,6,10,4,3,5} rappresentano una realizzazione del processo stesso.

Nella terminologia dei processi stocastici, il valore speciIico per la variabile casuale e deIi-
nito come Stato della variabile casuale e la variabile casuale X
t
e deIinita come Variabile
di stato; l'insieme di tutti i valori di X
t
lo Spazio degli stati (S).

La classiIicazione di un processo stocastico puo avvenire in relazione allo spazio degli stati
e alle caratteristiche dell'insieme T da cui e ottenuto l'indice t del processo; la classiIicazio-
ne dei processi stocastici puo quindi essere la seguente:

DeIinizione di T
DeIinizione di S Parametro discreto Parametro continuo
Stato a valori discreti X
t
clienti in attesa alla
cassa alla fine di un'ora
X
t
clienti in attesa in un
istante del giorno
Stato a valori reali X
t
chili di prodotto in
giacenza alla fine di
un mese
X
t
chili di prodotto in
giacenza in un istante
del mese

Quando e possibile identiIicare una relazione Ira le variabili casuali che costituiscono il pro-
cesso stocastico, si dice che lo stesso e ben definito; in questo caso il processo puo essere
descritto analiticamente e possono essere ottenuti elementi Iondamentali per valutarne la sua
evoluzione.

Processi Markoviani

Uno dei processi stocastici ben deIiniti piu noti e costituito dalla categoria dei cosidetti pro-
cessi markoviani (o processi di Markov).

Si tratta di un processo che presenta la propriet Markoviana: supponendo di conoscere lo
stato attuale di un processo stocastico, la probabilita condizionata del prossimo stato non di-
pende dagli stati precedenti quello attuale.

SpeciIicatamente, in un processo a stati e a parametro discreto, la probabilita di un prossimo
stato speciIico (cioe X
t1
x
t1
) dato lo stato corrente (cioe X
t
x
t
) e dati tutti gli stati che
hanno preceduto quello attuale (cioe X
0
x
0
, X
1
x
1
,.......... X
n-1
x
n-1
), abbiamo:

P(X
t1
x
t1
, X
0
x
0
, X
1
x
1
,........... X
t
x
t
) P(X
t1
x
t1
, X
t
x
t
) 6.1

per t 0,1..... e tutte le possibili sequenze dei valori degli stati.

Se il processo Iosse stato a stati reali e parametro continuo, la relazione precedente sarebbe
stata:

P(a X
t
k1
_ b , X
t
0 x
0
, X
t
1 x
1
,...... X
t
k x
k
)
P(a X
t
k1
_ b , X
t
k x
k
) 6.2

Le probabilita condizionate date dalla parte destra della relazione precedente Iormano le
probabilit di transizione del processo; quindi il processo, dato il suo stato attuale, si tro-
106
vera in Iuturo in uno speciIico stato che dipende unicamente dallo stato corrente (si dice
che il processo e senza memoria).

Queste probabilita prendono anche il nome di probabilit di transizione a un passo e pos-
sono essere assai eIIicacemente rappresentate in Iorma matriciale che prende il nome di ma-
trice di transizione:

1 2 ........... n
Da stato
1 p
11
p
12
......... p
1n


2 p
21
p
22
......... p
2n
.
P .
.
n p
n1
p
n2
......... p
nn


n e il numero totale degli stati possibili e p
ij
rappresenta la probabilita, trovandosi nello sta-
to i-mo, di trasIerirsi nello stato j-mo; quindi le righe rappresentano gli stati attuali e le co-
lonne rappresentano i possibili stati della prossima osservazione.

Gli elementi di P godono delle seguenti due proprieta:

0 _ p
ij
_ 1 per tutti gli i,j 6.3


j
p
ij
1 i 1,2,.......,n

Quando il processo Markoviano e a stati discreti e la sua matrice di transizione a un passo
rimane costante nel tempo, siamo in presenza delle cosidette catene Markoviane, che costi-
tuiscono un aspetto rilevante dei processi markoviani soprattutto per le loro caratteristiche
applicative.

Gli aspetti applicativi di rilievo sono relativi alla possibilita di valutare le probabilita degli
stati Iuturi in un determinato istante (soluzione transiente del sistema) oppure di valutare il
sistema quando il parametro del processo stocastico tende all'inIinito e quindi il sistema e
indipendente dal parametro stesso (soluzione stabile del sistema).

Vediamo degli esempi prima di entrare nei dettagli.

Un'azienda ha osservato la circostanza di essere stata ispezionata dal Iisco negli ultimi 10
anni e ha rilevato la seguente sequenza:

Anno (t) '82 (1) '83 (2) '84 (3) '85 (4) '86 (5) '87 (6) '88 (7) '89 (8) '90 (9) '91 (10)

Ispezione No No No Si No No Si Si Si No

Come si vede, siamo in presenza di un processo stocastico con parametro discreto e compo-
sto da uno spazio di 2 stati; il valore numerico dei due stati puo essere ottenuto ponendo No
0 e Si 1; la probabilita di transizione ad un passo e determinata come segue:

107
Stato nell'anno Iuturo
Stato nell'anno cor-
rente
Non ispezi-
one
Ispezione Totale
riga
Non ispezione............ 3,00 2,00 5,00
Ispezione................... 2,00 2,00 4,00

Da queste rilevazioni otteniamo:



Anche senza utilizzare la matrice di transizione ad un passo, utilizzando le precedenti pro-
babilita siamo in grado di valutare la probabilita di avere un'ispezione ad es. negli anni
11,12 e 13, dato lo stato "non ispezionato" nell'istante 10; la probabilita "non ispezionati"
all'anno 11 (X
11
0), dato lo stato "non ispezionato" all'anno 10 (X
10
0) e inIatti data da:

P(X
11
0 , X
10
0) p
11
0.6

La probabilita "non ispezionato" all'anno 12 (X
12
0) dato lo stato "non ispezionato" al-
l'anno 10 (X
10
0) e data da:

P(X
12
0 , X
10
0) P(X
11
0 , X
10
0) * P(X
12
0 , X
11
0)
P(X
11
1 , X
10
0) * P(X
12
0 , X
11
1)
(0.6) * (0.6) (0.4) * (0.5)
0.36 0.20 0.56

(Il precedente risultato e semplicemente ottenuto applicando le regole di addizione e molti-
plicazione delle probabilita di eventi complessi).

In generale, la probabilita di un evento Iuturo, dato lo stato attuale del sistema e determina-
bile mediante l'albero di probabilita riportato nella Fig. 35

FIG.35 - ALBERO DELLE PROBABILIT DELL'ESEMPIO ISPEZIONE

Lo stesso risultato puo essere ottenuto utilizzando in modo opportuno la matrice di transi-
zione ad un passo: inIatti, la matrice di transizione ad un passo, moltiplicata per se stessa ci
da la probabilita di transizione Ira due periodi:

In modo analogo, le probabilita di transizione Ira 3 periodi sono:
/sss || | |I |
l
|
= |
l
|
l
|
l
|I
l
|I
l
|I
l
|I
l
|
l
|
l
|
l
|
l
|
l
|
l
|
l
|
|.
|.
|.
|.
|.
|.+
= |
= |
= |
= |
= |
= |
= |
= |
= |
= |
= |
= |
= |
= |
, =
, =
, =
, =
, =
, =


1 1

1 2

2 1

2 2
=


108






La matrice di transizione cosi ottenuta prende il nome di matrice di transizione a k passi e
ci da la probabilita condizionata di trovarci in uno stato speciIico p
ij
(k)
; nel caso sia necessa-
rio conoscere la probabilita non condizionata (o assoluta) di uno stato, la precedente matrice
di probabilita condizionata, deve essere moltiplicata per il vettore delle probabilita non con-
dizionate che costituiscono gli stati del sistema; cioe:

u
(k)
u
(0) *
P
k
6.4

dove u
(k)
(u
1
(k)
, u
2
(k)
, ...... u
n
(k)
) e il vettore delle probabilita non condizionate degli n
stati dopo k passi , P
k
e la matrice delle probabilita condizionate dopo k passi precedente-
mente deIinita e u
(0)
e un vettore riga delle probabilita non condizionate (o assolute) iniziali.

I modelli Markoviani si sono dimostrati particolarmente adatti ad aIIrontare il cosidetto pro-
blema della fedelt alla marca (un tipico problema di marketing).

Useremo un esempio di questo tipo per precisare i concetti sopra esposti ed altre caratteristi-
che delle catene Markoviane.

Si supponga di avere Iatto un campione di 500 consumatori di una categoria di prodotti rea-
lizzati da 3 produttori e si sia osservata la seguente tabella di passaggio Ira un produttore
(marca) e l'altro (sempre pero nello stesso mercato):

Marca (j)
(i)
1,00 2,00 3,00 Totale
1,00 90,00 7,00 3,00 100,00
2,00 5,00 205,00 40,00 250,00
3,00 30,00 18,00 102,00 150,00
Totale 125,00 230,00 145,00 500,00

Da questa rilevazione e determinabile la matrice di transizione ad 1 passo p
ij
:

Marca (j)
(i)
1,00 2,00 3,00
1,00 90/100 0.9 7/100 0.07 3/100 0.03
2,00 5/250 0.02 205/250 0.82 40/250 0.16
3,00 30/150 020 18/150 0.12 102/150 0.68

Si osservi che la matrice di transizione puo essere rappresentata anche mediante il graIo di
Fig.36




Fig. 36 - GRAFO ASSOCIATO ALLA MATRICE DI TRANSIZIONE AD 1 PASSO
I
|.|I
|.eI

2
=






3
=


109















Oltre alle probabilita condizionata, dal campione osservato e possibile rilevare la quota di
mercato di ciascuna marca (125/500, 230/500 e 145/500), che rappresenta la probabilita non
condizionata di ciascun prodotto sul mercato; quindi, nel nostro caso, abbiamo:

u
(0)
(0.25 0.46 0.29)

Abbiamo quindi tutti gli elementi per eIIettuare previsioni sul nostro mercato: se siamo inte-
ressati alla quota di mercato (assoluta) di ciascuna marca Ira 2 periodi (si osservi che in que-
sto caso i periodi rappresentano un atto di acquisto da parte dei consumatori), questa sara
data da:


u
(2)
u
(0)
P
2
(0.25 0.46 0.29)


(0.25 0.46 0.29)

(0.3273 0.40604 0.26673)

Si sara certamente osservato che, man mano che vengono trovate le matrici di transizione
dei vari passi, i valori delle probabilita cambiano con variazioni sempre piu piccole: questo
implica che man mano che k cresce, la matrice di transizione tende ad un valore asintotico
che prende il nome di stato stabile del sistema (in inglese steady state).

Non solo, ma aumentando il valore di k, tutte le righe della matrice tendono a diventare u-
guali: questo mette in evidenza che il sistema tende ad uno stato che non e piu Iunzione del
tempo e dove le probabilita di transizione non sono piu condizionate, ma diventano proba-
bilit assolute.

Cio non signiIica che il sistema non si muova piu, ma signiIica che la probabilita di trovare
il sistema in un certo stato dopo un numero suIIicientemente alto di passi tende ad un valore
di probabilita indipendente dallo stato di partenza e che identiIicheremo con u
j
* e che e in-
dipendente da come il sistema e partito.

La Fig. 37 evidenzia graIicamente questo aspetto.
%
0 . 9 0 0 . 0 7 0 . 0 3
0 . 0 2 0 . 8 2 0 . 1 6
0 . 2 0 0 . 1 2 0 . 6 8
2
%
0 . 8 1 7 4 0 . 1 2 4 0 0 . 0 5 8 6
0 . 0 6 6 4 0 . 6 9 3 0 0 . 2 4 0 6
0 . 3 1 8 4 0 . 1 9 4 0 0 . 4 8 7 6
110

FIG. 37 - COMPORTAMENTO ASINTOTICO DELLE PROBABILIT
CONDIZIONATE















Sulla base delle precedenti osservazioni, e vera la seguente relazione:

u* u* P 6.5

tale relazione, unita al Iatto che la somma estesa a tutti i valori di u* e uguale a 1, rende
semplice il calcolo della probabilita stabile del sistema; riprendiamo il nostro esempio:


u* (u
1
* u
2
* u
3
*) (u
1
* u
2
* u
3
*)


La precedente relazione origina 4 equazioni in 3 incognite:

u
1
* 0.90u
1
* 0.02u
2
* 0.20u
3
*
u
2
* 0.07u
1
* 0.82u
2
* 0.12u
3
*
u
3
* 0.03u
1
* 0.16u
2
* 0.68u
3
*

1 u
1
* u
2
* u
3
*

Poiche la soluzione u* (0 0 0) e resa inaccettabile dalla quarta equazione, segue che esiste
una equazione ridondante tra le prime 3; scartando arbitrariamente l'equazione 3 e risolven-
do per le restanti, otteniamo:

u
1
* 0.474 u
2
* 0.321 u
3
* 0.205

che mettono in evidenza le quote "limite" di mercato man mano che atti di acquisto vengono
riepetuti.

Prima di proseguire nell'analisi di ulteriori inIormazioni che possono essere ottenute me-
diante una catena Markoviana, occorre mettere in evidenza che il valore asintotico sopra de-
scritto dipende dalla struttura della matrice di transizione ad un passo e che esistono casi in
cui le caratteristiche della matrice di transizione impediscono di arrivare ai risultati prece-
|
,
|
(|
|
,
|
,
|
a
'
j
,
|
a
'
j
,
|
a
'
j
%
0 . 9 0 0 . 0 7 0 . 0 3
0 . 0 2 0 . 8 2 0 . 1 6
0 . 2 0 0 . 1 2 0 . 6 8
111
denti: e quindi necessario eIIettuare una classiIicazione degli stati descrivibili dalla matrice
di transizione per completare la descrizione del comportamento asintotico delle catene Mar-
koviane.

DeIiniamo chiuso un insieme S di stati se non esiste un cammino che sia in grado di portare
uno degli stati contenuti in S Iuori dall'insieme stesso; un insieme di stati e irriducibile se e
chiuso e non contiene sotto insiemi chiusi di stati; in questo caso si dice che anche la catena
e irriducibile.

Nella Fig.38 sono riportati esempi: nell'esempio (a) l'insieme 5,6,7}, 2,3,4}, 8} e
1,2,3,4} sono insiemi chiusi, mentre non lo e l'insieme 2,3}; l'insieme 1,2,3,4} non e ir-
riducibile, dato che puo essere estratto l'insieme 2,3,4}; gli stati singoli come lo stato 8, dal
quale non e possibile uscire, Iormano un insieme irriducibile particolare che prende il nome
di stato assorbente.

Come si vede, se si inizia dallo stato 8, la probabilita di essere nello stesso stato, aumentan-
do il numero di passi, e 1; quindi, in generale, la probabilita P(X
k
8 , X
0
8) tende a 1 al-
l'aumentare di k; se si inizia dallo stato 1, la catena esce immediatamente e permanentemen-
te; pertanto la probabilita di trovare il sistema nello stato 1 nei passi successivi e 0: deIini-
remo questo tipo di stato come transiente; in generale, P(X
k
1 , X
0
1) tende a 0 all'aumen-
tare di k; sono solo gli stati irriducibili 2,3,4} e 5,6,7} che sono di rilievo per valutare il
comportamento asintotico del sistema.

Iniziando da uno di questi stati, il sistema, man mano che aumenta il numero di passi, ritor-
nera su uno stato gia visitato, che proprio per questo prende il nome di ricorrente (se tutti
gli stati sono ricorrenti, la catena e ergodica); la probabilita asintotica non condizionata di
una catena Markoviana e la Irazione di tempo dell'intero processo passata nello stato relati-
vo.

DeIiniamo inIine il concetto di accessibilit dello stato j partendo da i come la possibilita di
identiIicare un cammino che parta dallo stato i e raggiunga lo stato j in k passi.

Nell'esempio (b) di Fig.38, si vede che lo stato 1 e uno stato transiente, dato che esiste una
probabilita di 3/4 che il sistema, partendo dallo stato 1, non ritorni piu allo stato di partenza;
lo stato 2 e ricorrente, perche partendo dallo stato 2 il sistema ritorna immediatamente allo
stato 2 o va allo stato 3: arrivato allo stato 3, la probabilita di restarci tende a zero e quindi
la catena puo ritornare allo stato 2; lo stato 6 e ricorrente, perche raggiunto lo stato 6 il si-
stema si sposta sugli stati 4 e 5 e da qui ritorna allo stato 6.

Osserviamo che in questo caso il sistema ha due classi di ricorrenza, una costituita dagli
stati 2,3} e l'altra costituita dagli stati 4,5,6}.

112
FIG. 38 - ESEMPI DI STATI


































ClassiIicato in questo modo gli stati di una matrice di transizione, osserviamo che puo esse-
re interessante sapere il numero medio (n) di passi necessari perche il sistema, nel suo
cammino asintotico, passi per la prima volta dallo stato i allo stato j.

Questo valore e evidentemente una variabile casuale e quindi e importante determinare la
sua distribuzione di probabilita, che indicheremo con f
ij
(n)
.

Per n 1, la precedente distribuzione e ovviamente:

f
ij
(1)
p
ij
(1)
p
ij

per n _ 2, la probabilita sara quella della matrice di transizione a n passi meno la probabilita
che il sistema, arrivato nel passo precedente allo stato j, rimanga nello stato stesso (e quindi
ci metta meno passi di quanto richiesto); cioe:

I
|

+


I
e
(s
|
I

+


|/I
/+
/+
|/
I/
|/
|
I/
(|
|/ |/
|/
|/
113
f
ij
(2)
p
ij
(2)
- f
ij
(1)
p
jj

f
ij
(3)
p
ij
(3)
- p
jj
(f
ij
(2)
f
ij
(1)
p
jj
) p
ij
(3)
- f
ij
(2)
p
jj
- f
ij
(1)
p
jj
(2)

in generale:

f
ij
(n)
p
ij
(n)
- f
ij
(n-1)
p
jj
- f
ij
(n-2)
p
jj
(2)
- ......... f
ij
(1)
p
jj
(n-1)
6.6

Ritornando al nostro esempio, avremo:

f
12
(1)
0.07

f
12
(2)
0.1240 - 0.07
.
0.82 0.068

Per i e j preIissati, f
ij
(n)
sono numeri non negativi tali che:


n
I
ij
(n)
_ 1

SIortunatamente, come si vede, questa somma puo essere inIeriore a 1 dato che puo capitare
(come visto precedentemente), che il sistema, partendo dallo stato i non raggiunga mai lo
stato j.

Di conseguenza, la variabile casuale cercata m
ij
, che e costituita dalla lunghezza del cammi-
no per la probabilita di realizzarsi del cammino stesso puo assumere i seguenti valori:


m
ij

=
<

=
1 1
1 n
1 se
1 se
n n
n
nf

6.7


Quando la lunghezza media del tempo di primo passaggio e Iinita, questa puo essere ottenu-
ta risolvendo l'equazione:

m
ij
1 p
ik
m
kj
6.8

che esprime la circostanza che per passare dallo stato i allo stato j e necessario almeno un
passo piu la media ponderata dalla probabilita di transizione di tutti i cammini medi che col-
legano lo stato i e lo stato j.

Nel nostro esempio, se vogliamo sapere la lunghezza media dei cammini che portano, ad es.
allo stato 1, avremo:

!
114
m
31
1 p
32
m
21
p
33
m
31

m
31
1 0.12m
21
0.68m
31


m
21
1 p
22
m
21
p
23
m
31
m
21
1 0.82m
21
0.16m
31


Da cui: m
31
5.2 m
21
5.5

6.2 - I modelli regressivi

Abbiamo visto nelle catene Markoviane che le inIormazioni previsionali sono ottenute sIrut-
tando le relazioni strutturali che caratterizzano la dinamica del nostro sistema.

Vedremo ora come la previsione possa essere Iormulata associando una variabile (o piu )
sotto il controllo del previsore ai valori di un Ienomeno di cui occorre Iormulare la previsio-
ne e cercando di determinare il modello che le lega.

Quando prendiamo in considerazione un solo predittore, questa tecnica prende il nome di
regressione semplice; quando i predittori sono piu di uno si parla di regressione multipla.

Nella regressione semplice, l'obiettivo e quello di trovare una relazione matematica Ira il
predittore e il Ienomeno e la relazione e del tipo:

y I(x) 6.9

La Iorma piu semplice e nota e certamente la relazione lineare:

y a bx 6.10

Si tratta, in questo caso, di determinare i parametri a e b del modello in modo tale che il va-
riare di x permetta la valutazione di y; ma se questo problema e semplicemente realizzabile
come procedura matematica, nel caso in esame si tratta di aggiungere una valutazione stati-
stica dell'eIIicienza del modello identiIicato per valutarne la capacita come strumento di
previsione.

Consideriamo il seguente esempio:

Si sia posta in relazione la domanda di un bene rispetto al suo prezzo e si siano osservate le
seguenti relazioni:

Prezzo Domanda

25 10.0
20 12.6
15 14.9
10 17.4
5 20.1

Si voglia determinare un modello generale che permetta la valutazione della domanda in re-
lazione alla variazione del prezzo.
115
Come abbiamo detto, il primo problema e quello di identiIicare il modello matematico che
pone in relazione i due Ienomeni (e che supporremo essere di tipo lineare) e successivamen-
te si tratta di valutare:

- il contenuto quantitativo del modello ipotizzato
- la sua validita ad essere un modello predittivo nell'ipotesi considerata

Il modo piu utilizzato per la determinazione quantitativa dei parametri del modello e piutto-
sto semplice e basata su un metodo ben noto: quello dei minimi quadrati.

Si tratta di identiIicare una retta che sia in grado di rendere minimo il quadrato degli scarti
Ira i dati teorici e quelli osservati; cioe:

Min Z |y
i
- (a bx
i
)|
2
6.11

Nel caso particolare la Iormula risolutiva della relazione precedente e:


i i i i

= + y b x a ) ( n 6.12


i
i i i i i i
x y b x a x

= + ) ( ) (
2
6.13

da cui si ottiene a 45; b -1.

Il problema e ora di valutare la bonta della rappresentazione del Ienomeno esaminato e di
determinare se la relazione individuata e un modello della realta o e solo l'applicazione di
una tecnica matematica.

Ovviamente, il modello matematico determinato mediante la tecnica precedente non e in
grado di riprodurre esattamente i dati osservati, ma li approssimera, come accade per tutti i
modelli.

Si tratta di valutare se lo scarto osservato Ira i dati reali rilevati e quelli Iorniti dal modello e
suIIicientemente ridotto per giustiIicare l'ipotesi che la diIIerenza Ira i dati sia dovuta al ca-
so: se i dati osservati sono troppo distanti da quelli che il modello e in grado di produrre, l'i-
potesi di casualita della diIIerenza viene rigettata ed il modello trovato non viene ritenuto
una valida rappresentazione della realta.

La metodologia statistica standard mediante la quale viene valutata l'ipotesi di casualita e
l'analisi della varianza, che e in grado di scomporre la variabilita dei dati in due compo-
nenti:

- quella spiegata dal modello
- il residuo che il modello non riesce a spiegare e che quindi e da ritenersi eIIetto del caso

L'analisi viene svolta secondo lo schema riportato nella Tab.24

116
TAB. 24 - ANALISI DELLA VARIANZA PER REGRESSIONE BIVARIATA

Origine della Somma dei Gradi di Valore medio F
variazione quadrati liberta dei quadrati

Regressione....................... EV 1 MEV EV / 1
MEV
Residui...............................UV n - 2 MUV UV / (n - 2) F
MUV
Totale...................TV n - 1

La parte spiegata dalla regressione (EV) rappresenta la porzione di variabilita che il modello
identiIicato e in grado di giustiIicare.

In un modello "perIetto", tutta la variabilita dei dati verrebbe spiegata dal modello stesso e
avremmo quindi EV TV; la somma dei quadrati degli scarti (spiegati e residui), viene di-
visa per i gradi di libert ad essi associati per ottenere il valore medio (i gradi di liberta di
un campione sono determinati dalla dimensione del campione stesso meno i parametri che
identiIicano il tipo di distribuzione utilizzata per studiarlo, includendo tra i parametri il tota-
le n delle Irequenze del campione).

La distribuzione statistica F utilizzata ci permette di valutare la cosidetta ipotesi nulla, cioe
se il coeIIiciente di regressione della popolazione (, ignoto) sia nullo; (si osservi che il co-
eIIiciente di regressione del campione e b).

Se l'ipotesi nulla e vera, non esiste relazione lineare Ira y e x e in questo caso F vale 1; ov-
viamente, anche in presenza dell'ipotesi nulla, i valori di F o di b possono essere diIIerenti
dai valori attesi per eIIetto del caso; viceversa, maggiore il valore di F, tanto migliore e l'a-
dattamento del modello alla realta.

Un altro indicatore della bonta del modello (intesa nel senso precedente), e dato dal coeffi-
ciente di determinazione (r
2
), che rappresenta la parte di variazione spiegata dal modello;
la sua Iormula e inIatti:

r
2
EV / TV 6.14

La radice quadra del coeIIiciente di determinazione (il coefficiente di correlazione), mette
in evidenza una mancanza totale di relazione (r 0), una perIetta relazione tra x e y (r 1)
o una relazione inversa (r -1); si osservi che il segno di r e in relazione a quello di b.

Un modo alternativo di valutare l`ipotesi nulla e data dall`utilizzo della Iunzione t, che met-
te in relazione il coeIIiciente di regressione del campione b con la stima dell`errore standard
del coeIIiciente di regressione
b

`


Applichiamo quanto sopra al nostro esempio per valutare se il modello y 22.5 - 0.5x e da
ritenersi valido; nella Tab. 25 sono riportati gli elementi per la valutazione

117
TAB.25 - SINTESI DEL MODELLO DI REGRESSIONE LINEARE

Prezzo Volume Volume stimato Residuo
x
i
y
i
y
ci
(y
i
- y
ci
)

25 10.0 10.0 0.0
20 12.6 12.5 0.1
15 14.9 15.0 -0.1
10 17.4 17.5 -0.1
5 20.1 20.0 0.1

15 t 15

EV 62.5 MEV 62.5
UV 0.04 MUV 0.013333 F 4687.5

Totale 62.54

L'accettazione del modello identiIicato viene svolta secondo la procedura del test statistico
delle ipotesi: come detto viene valutata l'ipotesi nulla.

Per Iare questo, il primo passo e quello di identiIicare un livello di significativit cioe un
valore di probabilita da attribuire all'evento da esaminare.

Nel nostro caso, l'evento a cui dobbiamo attribuire una probabilita e che ci sia un livello nul-
lo di correlazione Ira i dati esaminati; l'ipotesi che esista una correlazione e l'ipotesi alterna-
tiva.

Ogni volta che eIIettuiamo un test statistico delle ipotesi possiamo commettere un errore di
valutazione: inIatti possiamo non accettare l'ipotesi di nullita quando nella realta esiste cor-
relazione oppure di accettarla quando nella realta non esiste.

Nel primo caso commetteremmo un errore del primo tipo e nel secondo caso un errore
del secondo tipo: il livello di signiIicativita evidenzia la probabilita con la quale siamo di-
sposti ad accettare l'errore di primo tipo.

Il valore corrispondente all'ipotesi da testare viene conIrontata con riassunti standard (nel
nostro caso la distribuzione F) dal quale siamo in grado di determinare la probabilita di veri-
Iicarsi del risultato ottenuto: se questo e inIeriore al livello di signiIicativita richiesto, riIiu-
tiamo l'ipotesi, altrimenti la accettiamo.

Nel nostro esempio, supponiamo di avere Iissato al livello dell'1 l'ipotesi di nullita e veri-
Iichiamo che, con i gradi di liberta previsti, il valore critico della Iunzione F (cioe quello
che ci Iarebbe accettare l'ipotesi di nullita) e di 34.1; dato il valore rilevato di 4684.7, siamo
propensi ad riIiutare l'ipotesi di nullita e quindi a considerare signiIicativo il modello identi-
Iicato.

Il modello identiIicato e in grado di eIIettuare la previsione della variabile dipendente (y) in
relazione alla variazione di quella indipendente (x).

118
Quindi, in corrispondenza di un prezzo di 26, ci possiamo aspettare un volume di 22.5 -
0.5(26) 9.5.

Tuttavia, come abbiamo visto, i dati non hanno particolare signiIicato per il loro contenuto
puntuale, ma appare piu interessante identiIicare un intervallo di variabilita entro il quale il
valore da prevedere puo muoversi: la previsione viene quindi ottenuta identiIicando, intorno
al valore Iornito dal modello, un valore Iiduciario determinato sulla base dell'errore standard
del modello stesso.

Quindi, la previsone viene ottenuta come:


m c i
i
v ` * ) atteso ( t = y 6.15

dove t e il valore ottenuto dalla Iunzione t precedentemente richiamata e
m
` e un'opportuna
valutazione della stima dell'errore standard atteso della media (simile alla stima dell'errore
standard del coeIIiciente di correlazione precedentemente indicato); per regressioni bivaria-
te con n - 2 gradi di liberta, tale stima e data da:

+ =
2
2
) (
) ( 1
` `
x x
x x
n
i
e m
6.16

con
2
`

=
n
UJ
e


analogamente si puo ottenere la stima dell'errore standard atteso dell`individuo y della pre-
visione:


f i
` y e) individual (
i
c
' t = y

Con

+ + =
2
2
) (
) ( 1
1 ` `
x x
x x
n
i
e f
6.17

Ritornando al nostro esempio, otteniamo dalle tavole della distribuzione t che il valore criti-
co per 3 gradi di liberta al livello 99 e 5.841; se vogliamo stimare gli intervalli di probabi-
lita di validita della nostra previsione abbiamo:

y
i
|22.5 - 0.5(12)| + (5.841)(0.116)|1/5 ((12 - 15)
2
/ 250)|
1/2
}

16.5 + (5.841)(0.056)

16.5 + 0.33

L'errore di previsione sulla singola previsione:

y
i
16.5 + (5.841)(0.116) |1 1/5 ((12 - 15)
2
/ 250)|
1/2
}


16.5 + (5.841)(0.129)
119
16.5 + 0.75

La lettura dei precedenti dati e la seguente:

- mantenendosi la stessa relazione prezzi / volumi, il prezzo di 12 ci porta un volume di
16.5; con probabilita del 99 il valore reale si collochera Ira 16.17 e 16.83; inoltre, una
singola osservazione si collochera con la stessa probabilita Ira i valori 15.75 e 17.25.

Naturalmente, la metodologia indicata deve essere raIIinata per rappresentare realta piu
complicate quali, ad esempio, quelle caratterizzate da elementi di stagionalita o altri Iattori
ed inoltre i dati di previsione possono essere stimati mediante altre tecniche.

In particolare accenneremo alla cosidetta tecnica dell'attenuazione esponenziale (in inglese
exponential smoothing)
8
che si raccomanda per la sua semplicita di applicazione.

L'attenuazione esponenziale non e altro che una somma pesata dell'osservazione attuale del
Ienomeno e delle n precedenti osservazioni, ognuna valutata con un opportuno peso (talvol-
ta di non Iacile determinazione); la previsione viene quindi ottenuta dalla Iormula:


n t
n
t t t
v v v v

+ + = ) 1 ( ....... ) 1 ( `
1
A A A A A
6.18

dove A (0 A 1) rappresenta appunto il coeIIiciente di pesatura.

Fattorizzando il termine (1 - A), e possibile ottenere la Iorma compatta:


1
` ) 1 ( `

+ =
t t t
v v v A A 6.19

che mette in evidenza uno dei pregi Iondamentali di questo metodo e cioe la possibilita di
eIIettuare la previsione utlizzando due sole inIormazioni e cioe la rilevazione attuale e la
previsione eIIettuata al periodo precedente.

Si osservi che:

- le osservazioni piu vecchie hanno sempre meno importanza
- n (cioe gli atti di previsione) deve essere suIIicientemente grande (almeno oltre a 30
osservazioni) per soddisIare ai presupposti teorici della tecnica
- valori alti di A attribuiscono piu valore alle previsioni passate
- la scelta del valore A e critica per la bonta dei risultati

Nella Tav.26 e riportato un esempio di applicazione del metodo.








8
Al sito www.inIotechmarketing.net e disponibile un add-on di Excel che vi permettera di sperimentare diret-
tamente la tecnica previsionale
120
TAV.26 - ESEMPIO DI ATTENUAZIONE ESPONENZIALE

Valori attenuati Errore di previsione

A 0.1 A 0.8 A 0.1 A 0.8
t y
t

t
v`
t
v`

1 5 5 5 - -
2 7 5.2 6.6 2.0 2.0
3 8 5.5 7.7 2.8 1.4
4 10 5.9 9.5 4.5 2.3
5 10 6.3 9.9 4.1 0.5

6.3 - Le code

I modelli di code sono in grado di rappresentare una grande vastita di Ienomeni caratterizza-
ti dall'esistenza di una domanda che supera la disponibilita.

La struttura di un modello di code e riportato nella Fig. 39, che mette in evidenza le compo-
nenti essenziali e cioe:

- il processo di arrivo
- la configurazione della fila d'attesa
- la disciplina della coda
- la disciplina del servizio
- la caratteristica del servizio

FIG.39 - SCHEMA DI SISTEMA DI CODE












Il processo di arrivo caratterizza il modo con il quale le unita che desiderano il servizio si
presentano al sistema per riceverlo.

Il processo di arrivo puo essere cosi sintetizzato:

- i richiedenti possono costituire una popolazione singola o multipla rispetto ai servizi oIIer-
ti
- i richiedenti possono essere in numero Iinito o virtualmente inIinito
- l'arrivo dei richiedenti puo essere di singole unita o di gruppi
|stsms i| ssis
|ssts
.|s||ssts
|s|t
|s s..|.s
|||s
i| sttsss
||ss|,||ss
ssis
s
ss..|t|
s..|t|
|s|t
|
ass|ts
121
- le unita in arrivo possono essere controllate in modo completo, parziale o non essere
controllabili
- il numero di unita richiedenti puo essere previsto in modo probabilistico o deterministico
- il numero di arrivi probabilistici puo essere descritto mediante una distribuzione di
probabilita teorica o empirica
- gli arrivi dei richiedenti possono essere indipendenti o condizionati da vari Iattori, quali,
ad esempio, la numerosita delle unita in attesa
- puo esistere o no uno stato stabile del Ilusso d'arrivo, dove per stato stabile (come gia
detto), si intende un processo indipendente dal tempo

La configurazione della linea di attesa si riIerisce ad elementi quali il numero di Iile di at-
tesa nel sistema, le relazioni delle Iile d'attesa con le stazioni di servizio e agli aspetti Iisici
di sistemazione delle unita in attesa, le cui caratteristiche possono essere di tipo fisico (ad
esempio le persone davanti ad uno sportello) o concettuale (le teleIonate ad un centralino).

La disciplina della coda identiIica la modalita con la quale le unita in arrivo vanno a collo-
carsi nella Iila di attesa:

- se il sistema ha una Iila di attesa con capacita limitata, quando questa e completa, le unita
richiedenti sono riIiutate dal sistema
- se il richiedente ritiene che la Iila di attesa sia troppo lunga, puo esistere la possibilita di
non entrare nella coda
- se il richiedente, una volta entrato nella coda puo eventualmente abbandonarla
- se le unita presenti nella coda possono trovare accordi per l'ottenimento del servizio, come
capita, ad esempio, nell'acquisto di biglietti
- in code multiple, se esite la possibilita di spostarsi Ira Iile di attesa
- se puo essere scelta la coda nella quale entrare, sia mediante scelte di tipo razionale che
casuali

La disciplina del servizio indica la modalita con la quale vengono scelte le unita in attesa
nella Iila per oIIrire loro il servizio previsto.

- primo arrivato primo servito (in inglese first in first out, Fifo), dove il primo arrivato
nel sistema riceve per primo il servizio
- ultimo arrivato primo servito (o pila) (in inglese last in first out, Lifo), dove l'ultimo
arrivato e il primo servito
- servizi in ordine casuale, dove le unita vengono scelte casualmente per oIIrire loro il
servizio
- servizio parziale ripetuto (in inglese round-robin), dove il servizio viene oIIerto a turno
per piccoli intervalli di tempo per tutte le unita del sistema
- servizi con priorit, dove le unita vengono servite sulla base delle loro caratteristiche,
interrompendo eventualmente il servizio gia prestato ad un'altra unita (in inglese
preemptive)

La caratteristica del servizio identiIica la struttura mediante la quale il servizio viene pre-
stato; cosi si hanno:

- servizi con zero, uno o piu canali, eventualmente presenti contemporaneamente nel siste-
ma
122
- i canali di servizio multipli possono operare in modo seriale o parallelo; i canali paralleli
possono essere cooperativi (quando i canali inutilizzati supportano quelli utilizzati), co-
stanti o variabili nel tempo
- come per il Ilusso di arrivo, il tempo di servizio puo essere probabilistico o deterministico
- anche per i servizi, l'operativita puo dipendere o meno dallo stato del sistema
- possono veriIicarsi o meno interruzioni del servizio

Nella Fig.40 sono riportati esempi di strutture di servizio.

FIG.40 - CONFIGURAZIONI DI STAZIONI DI SERVIZIO






























Come ci si puo ben rendere conto dalla numerosita delle situazioni tratteggiate, la realta dei
sistemi di code non puo essere sempre Iormalizzata in modello e, anche se il modello e otte-
nibile, questo puo essere di diIIicile soluzione numerica.

Per aIIrontare questo aspetto del problema, approIondiamo la classiIicazione dei modelli di-
sponibili.

Lo statistico Kendall ha proposto una classiIicazione dei modelli basata su una terna di ca-
ratteristiche X/Y/Z, dove X rappresenta la distribuzione di probabilita dei tempi intercorren-
ti Ira due arrivi successivi, Y rappresenta la distribuzione dei tempi di servizio, Z rappresen-
ta il numero di canali di servizio paralleli.
.
. .
.
. .
.
. .
.
. .
.
. .
.
. .
.
. .
.
. .
.
. .
.
. .
.
. .
.
. .
. . . .
|
|
I
s
|
I
s
| I s
|
I

|
I
(s
|ss|s ssiss|ss|s ss..|t|s
(|
|sis s ss..|t| ma|t|,||
(s)
|sis s|ss|sss..|t| ,s.s||s||
(i
|sis s ss..|t| |s ss.|s
(s
s..|t| ma|t|,|| s|s |s ss.|s s|s ,s.s||s||
123

Tra gli altri, sono stati assegnati i seguenti valori ai parametri sopra indicati, caratterizzando
cosi modelli speciIici:
M Tempo Ira arrivi o servizi distribuiti in modo esponenziale (corrispondenti ad arrivi o
servizi distribuiti secondo Poisson)
D Tempi Ira arrivi e servizi deterministici
E
k
Distribuzione secondo la Iamiglia di curve di Erlang, che per k 1 corrisponde alla
distribuzione esponenziale

Cosi il modello M/M/1 rappresenta un sistema di code i cui arrivi e servizi sono distribuiti
secondo la Iunzione di densita probabilistica di Poisson e composto da un solo canale di ser-
vizio.

Data la sua importanza, questo tipo di distribuzione sara ulteriormente approIondita, identi-
Iicando analiticamente la modalita di ottenimento delle variabili casuali (tempo medio di at-
tesa, lunghezza della coda ecc.) che caratterizzano il sistema.

Un'ultima osservazione va Iatta sullo stato stabile del sistema, un concetto gia introdotto a
proposito delle catene Markoviane.

Anche in questo caso, stato stabile identiIica la dinamica del sistema non piu dipendente
dall'istante di osservazione, mentre lo stato transiente (contrapposto allo stato stabile), rap-
presenta tipicamente l'"avvio" del sistema, dove lo stato viene osservato tenendo presente
l'istante di osservazione; la Fig.41 rappresenta schematicamente l'evoluzione di un sistema
di code.

FIG.41 - SITUAZIONE TRANSIENTE E STABILE DI CODE
ApproIondiamo ora le condizioni del modello M/M/1 che ne permettono un soluzione anali-
tica.

|sss
t.sss|ssts
|sss sts|||s
Kams.s i| as|ts
ss||s ssis
Ism,s
124
- Processo di arrivo: popolazione singola con un numero inIinito di unita; arrivo singolo
non controllato delle unita nel sistema; il numero di arrivi e distribuito secondo la Iunzio-
ne di densita di Poisson; esiste lo stato stabile del sistema
- Configurazione della linea di attesa: una sola linea di attesa senza restrizioni sulla sua
lunghezza massima
- Disciplina della coda: nessun riIiuto di unita in arrivo; nessuna uscita delle unita che
raggiungono la coda
- Disciplina del servizio: Fifo
- Servizi: un solo canale di servizio; tempo di servizio distribuito secondo la Iunzione di
densita esponenziale; servizi indipendenti e stazionari; nessuna interruzione nei servizi

Per un sistema di questo tipo, e possibile ottenere in modo analitico le distribuzioni di pro-
babilita del modello che permettono la valutazione delle variabili casuali di interesse.

Il modello nascite-morti

Come abbiamo detto, il sistema in considerazione e caratterizzato dal Iatto che arrivi e ser-
vizi sono variabili casuali distribuite secondo la Iunzione di Poisson: cio signiIica che, scel-
to un opportuno intervallo di tempo A
t
, la probabilita del veriIicarsi di un evento nell'inter-
vallo e valutata dalla Iunzione:

I(x) x 0,1,2...... 6.20

dove e il numero medio di eventi che si veriIicano nell'intervallo A
t
(ad es. il numero di ar-
rivi); quindi, se vogliamo valutare, ad es. la probabilita di avere 5 arrivi in un sistema di co-
de basato da un arrivo medio di 2 unita nell'intervallo considerato avremo:

I(x) (2)
5
e
-5
/ 5! 0.001797

In un sistema caratterizzato da arrivi nell'unita di tempo, la distanza Ira un arrivo e l'altro e
dato dal reciproco del numero medio di arrivi; cioe

tempo medio Ira arrivi 1/ 6.21

Ma 1/ e il valore medio di una Ienomeno la cui densita probabilistica e data da:

I(x) e
-zx
6.22

La distribuzione cumulata della precedente Iunzione di densita probabilistica (nota come di-
stribuzione esponenziale negativa) e:

F(x) 1 e
-zx
6.23

Quindi, dire che una coda presenta arrivi o servizi la cui Iunzione di densita probabilistica e
Poissoniana, corrisponde ad aIIermare che il tempo medio Ira la realizzazione di due eventi
successivi si distribuisce in modo esponenziale.

Fatte queste premesse, la probabilita di un arrivo nell'intervallo A
t
e dato da:

F(A
t
) 1 - e
-x
6.24
( 2 22 2 )


2 22 2

125
di conseguenza, la probabilita di nessun arrivo nel precedente intervallo e:

P(nessun arrivo in A
t
) 1 - 1 e
-x
e
-x
6.25

Il valore della precedente probabilita e calcolabile mediate espansione in serie:
e
-x

1 zx (zx)
2
/2! (zx)
3
/3! .. 6.26

trascurando i temini dopo i primi due, otteniamo:

P(nessun arrivo in At) 1 - zAt
6.27

e quindi:

P(un arrivo in At) 1 1 zAt zAt
6.28

In modo analogo, supponendo un tasso medio di servizio, abbiamo:

P(servizio in At) At 6.29

Stabilito in questo modo il tasso medio di arrivo nell'intervallo At, cerchiamo di stabilire
qual'e la probabilita di avere nel sistema n unita all'istante t; se prendiamo At suIIiciente-
mente piccolo, in questo intervallo di tempo possiamo considerare "improbabili" eventi
multipli e pertanto possiamo considerare che nell'intervallo considerato si veriIichino esclu-
sivamente i seguenti eventi alternativi:

- non arriva e non parte nessuna unita
- arriva una sola unita
- parte una sola unita

(Se vogliamo essere piu rigorosi, la probabilita che si veriIichi un evento multiplo nell'inter-
vallo At e un inIinitesimo di ordine superiore rispetto a At quando At 0)

Pertanto, la probabilita ricercata dell'evento complesso sara la probabilita somma dei 3 e-
venti precedenti e quindi:

P
n
(t At) P
n
(t)(1 At)(1 At)
P
n-1
(At)(1 At)
P
n1
(At)(1 At) 6.30

Sviluppando e trasIerendo P
n
(t)

a sinistra, dividendo per At e Iacendo At 0, abbiamo:

P`
n
(t) P
n1
(t)

- P
n
(t) se n 0
P`
n
(t) P
n1
(t) P
n-1
(t) ( )P
n
(t) se n ~ 0 6.31

Quando il sistema raggiunge lo stato stabile, P'
n
(t) diventa zero per n 0,1,2,...n e quindi:


P
1
- P
0
0
126
P
n1


P
n-1
( )P
n
0 6.32
Risolvendo ricursivamente le precedenti relazioni abbiamo:

P
1
(/)P
0
6.33

Ponendo (/) , siamo in grado di deIinire il cosiddetto tasso di traffico del sistema, un
parametro che, se maggiore o uguale a 1, mette in evidenza che nel sistema si creera una Iila
d'attesa di lunghezza inIinita; inIatti, per n 1 abbiamo:

P
2


P
0
( )P
1
0 6.34

P
0
-(/)P
0
(( ) / )(P
0
) 6.35


P
2
-P
0

2
P
0
P
0
6.36


P
2

2
P
0
6.37

e, in generale:

P
n

n
P
0
6.38

Poiche abbiamo:

P
n
1 6.39

sara:

P
0

n
1 6.40

e quindi:

P
0
(1
2

3
...
n
) 1 6.41

se e 1 avremo:

P
0
(1 / (1 )) 1 6.42

e quindi:

P
0
1 6.43

Da questo possiamo calcolare il numero atteso di unita nel sistema:

L
s
nP
n
6.44

(la variabile casuale precedente mette in evidenza le unit totali nel sistema, cioe le unita
nella Iila d'attesa e quelle in corso di servizio)

L
s
P
0
n
n


(1 )(0 2
2
3
3
....)
=


=


=

127

(1
2

3
....
n
)
/ (1 ) / ( ) 6.45

La tav. 27 presenta i parametri caratteristici del modello M/M/1

TAV. 27 - CARATTERISTICHE DEL MODELLO M/M/1

Caratteristica del sistema Formula

Probabilita di zero unita nel sistema (non impegnato) P
0
1 -
Probabilita di sistema impegnato P(n ~ 0)
Probabilita di avere n unita nel sistema P
n
P
o

n

Funzione di densita probabilistica per il
tempo nel sistema I(w) ( )e
-(-)w
, _ 0
Numero atteso di unita nel sistema L
s
/ ( )
Varianza del numero atteso di unita nel sistema V
Ls
/ ( )
2

Numero atteso di unita nella Iila di attesa L
q
/ ( )
Numero atteso unita nella Iila per sistema impegnato L
b
/ ( )
Tempo atteso nel sistema Ws 1 / ( )
Varianza del tempo atteso Ws 1 / ( )
2

Tempo atteso nella Iila Wq / ( )
Tempo atteso nella Iila per sistema impegnato Wb 1 / ( )

6.4 - I modelli di simulazione

La metodologia presentata Iino a questo momento e stata quella di trasIormare un problema
nel suo modello corrispondente (in genere approssimando la realta aIIinche i modelli si a-
dattassere meglio al problema) e risolvendo il modello stesso mediante metodi analitici o
algoritmi speciIici.

Questo tipo di approccio sIrutta sostanzialmente le caratteristiche matematiche dei modelli
utilizzati per dare una risposta al problema studiato.

Come abbiamo gia evidenziato, non sempre e possibile ottenere la soluzione cercata, dato
che talvolta il modello utilizzato non presenta metodi adatti per la complessita del problema
in questione.

Quando il problema e troppo complesso per essere rappresentato mediante un modello tra-
dizionale, la sua soluzione avviene mediante un approccio diIIerente e cioe mediante la
simulazione del suo modello: in questo caso, non dovendo utilizzare metodi risolutivi
particolari, il modello stesso puo essere molto piu aderente alla realta; la soluzione, in
questo caso, non e piu ottenuta mediante metodi analitici, ma proviene dalla
sperimentazione del modello stesso.

Come ci si puo ben rendere conto, proprio a causa della sua assoluta generalita, l'utilizzo
della simulazione e adatto ad aIIrontare tutti i tipi di problemi che abbiamo deIinito di pre-
visione.

L'approccio simulativo e valido sia per sistemi Iisici (si pensi alla galleria del vento per va-
lutare il comportamento di una vettura, largamente diIIuso nel settore automobilistico), sia
128
per sistemi simbolici, come i modelli della R.O., dove il problema e rappresentato dalla sua
Iormulazione matematica.

Mediante la simulazione di modelli simbolici possono essere analizzati sia sistemi di tipo
deterministico che probabilistico, che vengono riprodotti su un elaboratore (indispensabile
per la concreta applicazione della metodologia) per ottenere la soluzione numerica speri-
mentale del problema analizzato.

L'attuale disponibilita della potenza di calcolo a poco prezzo, unita alla possibilita di avere
strumenti soItware particolarmente adatti allo sviluppo dei modelli Ia si che la simulazione
sia di gran lunga il metodo della R.O. piu utilizzato nelle applicazioni reali, soprattutto
quando non si voglia limitare la realta con modelli troppo riduttivi.

In particolare il metodo risulta interessante quando la problematica da analizzare presenta
componenti probabilistiche che, come abbiamo visto, spesso introducono elementi di grande
complessita nei modelli analitici che le prendono in considerazione.

Anzi, la simulazione e ormai talmente diIIusa per questa categoria di problemi, che il termi-
ne simulazione e in genere sinonimo di simulazione di tipo probabilistico: nel seguito ci a-
degueremo a questa prassi intendendo in questa accezione generale la tecnica di simulazio-
ne, di cui presentiamo le metodologie tipiche.

Il metodo di Montecarlo

Come abbiamo detto, la simulazione ottiene i suoi risultati sperimentando per un tempo suI-
Iicientemente lungo il modello del Ienomeno sotto analisi.

Nel caso della R.O., il modello in questione e di tipo matematico e lo strumento che permet-
te la realizzazione della simulazione e l'elaboratore elettronico.

Data la natura dell'elaboratore, mentre appare intuitivamente semplice la sperimentazione di
Ienomeni deterministici, appare concettualmente diIIicile capire come sia possibile speri-
mentare Ienomeni probabilistici: come si puo riprodurre Ienomeni casuali su uno strumento
intrinsecamente deterministico come l'elaboratore che lavora solo mediante istruzioni pre-
programmate e quindi per loro natura tipicamento non casuali?

La risposta viene Iornita dal cosidetto metodo di Montecarlo, che e lo strumento che per-
mette la generazione di eventi pseudo-casuali (cioe non intrinsecamente casuali ma che so-
no in grado di riprodurre tutte le caratteristiche della casualita) nello sviluppo della simula-
zione.

Iniziamo a presentare un tipico problema che viene aIIrontato mediante la simulazione per
vedere quali sono i presupposti concettuali del metodo in questione.

Supponiamo di dovere risolvere un modello di code relativo al pronto soccorso di un ospe-
dale: la disciplina del servizio e ovviamente quella della priorita ai pazienti piu gravi, il che
ci impedisce di risolvere il problema mediante uno dei modelli "tradizionali" della teoria
delle code.

129
Supponiamo di avere Iatto una rilevazione sistematica del Ienomeno e avere osservato i dati
riportati nella Tav. 28, che evidenzia le caratteristiche del processo di arrivo del nostro si-
stema.



TAV.28 - DISTRIBUZIONE DEGLI ARRIVI AL PRONTO SOCCORSO

Numero arrivi per ora Frequenza Funzione di Funzione
(x) densita probabilistica cumulata
I(x) F(x)

0 10 0.10 0.10
1 28 0.28 0.38
2 29 0.29 0.67
3 16 0.16 0.83
4 10 0.10 0.93
5 6 0.06 0.99
6 1 0.01 1.00

100 1.00

La prima colonna mette in evidenza i valori osservati della variabile causale X numero di
arrivi nell'unit di tempo; la seconda colonna evidenzia le Irequenze osservate della la
Iunzione di densita associata alla variabile casuale in questione e la quarta e la Iunzione di
densita cumulata.

Per potere sperimentare (simulare) la situazione degli arrivi del nostro sistema, occorre ri-
produrre gli arrivi in questione: cio signiIica essere in grado di attivare una Ionte di arrivi
che continui a generare gli eventi casuali simulati secondo la densita probabilistica rilevata.

Ci aspettiamo quindi di ritrovare, aumentando il tempo di simulazione, nel 10 delle ore
simulate 0 arrivi, nel 28 un arrivo e cosi via.

La caratteristica del nostro Ienomeno e quindi racchiusa nella sua distribuzione di probabili-
ta, che deve essere riprodotta per permetterne la simulazione.

Se disponessimo di una nuova variabile casuale in grado di presentarsi secondo la densita di
quella in oggetto, potremmo utilizzare questa nuova variabile per rappresentare gli arrivi nel
nostro sistema di code, dato che entrambe hanno la stessa probabilita di realizzarsi; se poi
questa nuova variabile avesse la caratteristica di essere Iacilmente calcolabile, il nostro mo-
dello sarebbe immediatamente riproducibile sull'elaboratore.

Ma l'identiIicazione di una variabile casuale sostitutiva con le precedenti caratteristiche e
semplicissima: basta prendere in considerazione una variabile casuale U uniIormemente di-
stribuita nell'intervallo 0-1 e, per deIinizione avremo:

P(0.00 U _ 0.10) 0.10
P(0.10 U _ 0.38) 0.28
P(0.38 U _ 0.67) 0.29
130
ecc.

Ricordiamo che una variabile casuale uniIormemente distribuita nell'intervallo a-b ha le se-
guenti caratteristiche:

I(X)

altrimenti 0
per
1
b x a
a b 6.46

con:

F(X)
) (
) (
a b
a x

per a _ x _ b 6.47

con media

E(X)
2
) ( a b +
6.48

e varianza

V(X)
12
) (
2
a b
6.49

Questa nuova variabile casuale U puo sostituire la nostra variabile X secondo lo schema ri-
portato nella Fig.42

FIG.42 - EQUIVALENZA FRA LE VARIABILI CASUALI U e X

















E vero che siamo in grado di generare una variabile casuale distribuita come gli arrivi del
nostro problema, ma questo in che modo ci aiuta a simularli?

|. |. |.I |. |. |. |. |.I |.e |. |.
|.| |
l=|
|.|| | |.e
l=|
|.e | |.I
l=I
|.I | |.e
l=
|.e | |.
l=+
|. | |.
l=
|. | |.|
l=
131
Come abbiamo visto, siamo in grado di mappare uno speciIico valore di X in uno di U me-
diante la Iunzione F(X); cioe:

F(X) u 6.50

supponiamo di essere in grado di generare il valore u; da questo possiamo ottenere il valore
x (che rappresenta il valore numerico dell'evento simulato ed e quindi un evento pseudo-
casuale) mediante la relazione:

X F
-1
(u)
6.51
(questo spiega perche perche il metodo e talvolta identiIicato con il termine trasformazione
inversa)

Si vede quindi che la disponibilita di numeri casuali uniIormemente distribuiti nell'intervallo
0-1 e la chiave di volta per la generazione degli eventi da utilizzare per la simulazione del
nostro modello; supponendo per il momento di utilizzare quale strumento di generazione le
tavole di numeri casuali, la Tav.29 mette in evidenza una possibile simulazione del modello
esempliIicato

TAV.29 - EVENTI PSEUDO-CASUALI GENERATI MEDIANTE TAVOLE DI
NUMERI CASUALI
Ore simulate Variata casuale in 0-1 Evento
(ottenuta dalle tavole) pseudo-casuale
(u) (X)

10-11 0.246 1
11-12 0.514 2
12-13 0.898 4
13-14 0.030 0
14-15 0.152 1
15-16 0.573 2

(si osservi che il numero casuale scelto e stato chiamato variata casuale per distinguerlo
dalla variabile casuale originale)

La Fig.43 rappresenta graIicamente il metodo di trasIormazione inversa













132





FIG.43 - RAPPRESENTAZIONE GRAFICA DEL METODO DI
TRASFORMAZIONE INVERSA




















La variabile pseudo casuale associata alla variata casuale puo essere direttamente calcolata
quando ci si trova a trattare distribuzioni teoriche di probabilita; ad esempio, supponiamo di
trattare una variabile casuale con Iunzione di densita di tipo esponenziale; cioe:

I(x) e
-x
con x _ 0 6.52

allora:
F(x) P(X _ x)
I(x)dx

x
e
0
,


1 e
--x
6.53

poiche F(x) u, abbiamo:

u 1 e
-x

e
-x

1 - u
-x ln(e) ln(1 u)
x (-ln(1 u)) / 6.54

Resta da osservare che l'utilizzo delle tavole dei numeri casuali e scomodo per applicazioni
basate su elaboratori: le tavole dovrebbero essere memorizzate e l'accesso ai singoli valori
potrebbe essere assai oneroso per l'esecuzione dei programmi, che potrebbero dovere gene-
rare migliaia di variate casuali.
|.
|.
|.I
|.
|.
|.
|.I
|.e
|.
|.
|.
| | I +
|.|+
l
|(\) =
|
133

Per superare questo problema si ricorre a metodi numerici di generazione delle variate ca-
suali che, in questo caso, per evitare conIusione, prendono il nome di numeri pseudo casua-
li; non intendiamo qui approIondire la metodologia di generazione dei numeri pseudo casua-
li; ci basta osservare che:

- i generatori di numeri pseudo casuali sono normalmente disponibili per tutti gli elaboratori
- le sequenze di numeri casuali generati hanno le stesse caratteristiche di "casualita" proprie
delle tavole dei numeri casuali che intendono sostituire
- i numeri casuali vengono generati partendo da un numero speciIicato, detto seme della
sequenza; questo approccio (che evidentemente evita una reale generazione di osserva-
zioni casuali) e assai interessante per un uso sull'elaboratore dato che permette di
controllare la correttezza del programma realizzato
- il periodo dei numeri (cioe la successione di numeri che si ripetono dopo un certo numero
di generazioni) e suIIicientemente lungo per aIIrontare problemi reali

L'ampia disposizione degli strumenti concettuali e stato il punto di partenza per la diIIusione
della simulazione come strumento risolutivo dei modelli.

Mentre alcuni anni Ia la realizzazione di modelli di simulazione avveniva mediante linguag-
gi tradizionali (soprattutto FORTRAN), successivamente sono stati messi a punto linguaggi
specializzati, in grado di sempliIicare la realizzazione di modelli anche assai complessi e
rendendo sempre piu appetibile l'utilizzo della simulazione e piu approIondita la casistica
dei modelli trattabili.

Tra i linguaggi disponibili, ricordiamo il GPSS (General Purpose Simulation System), il
Simula e il DYNAMO, linguaggio destinato alla simulazione di sistemi dinamici (sistemi
operanti sotto condizioni dinamiche, cioe dipendenti dall'istante di osservazione).

Ritorneremo successivamente sull'importanza dei linguaggi di simulazione per evidenziare
il loro contributo (in particolare di Simula, unanimemente riconosciuto come l'ispiratore di
alcune importanti caratteristiche) per lo sviluppo delle tecniche di programmazione orientate
agli oggetti, che promettono di essere gli strumenti Iuturi di realizzazione del moderno soI-
tware.

Come abbiamo detto, il risultato della simulazione viene ottenuto sperimentando il modello
per un tempo suIIicientemente lungo: i risultati ottenuti dalla sperimentazione sono in grado
di rappresentare, in media, i risultati reali del problema.

Nella simulazione non e, in genere, necessario ricorrere ad approssimazioni eccessive della
realta, che puo essere sostanzialmente riprodotta sull'elaboratore mediante il suo modello:
tuttavia, una rappresentazione Iinalizzata alla simulazione puo essere importante per rappre-
sentare in modo eIIiciente il modello.

Proprio per chiarire che il modello e strutturato per la simulazione, identiIicheremo le sue
componenti con il termine entit, con il quale intenderemo identiIicare un "pezzo" (talvolta
anche complesso) del modello che deve essere rappresentato e che puo essere composto, nel
suo insieme, da una pluralita di questi pezzi: ognuno di questi pezzi sara composto da una
rappresentazione piu o meno Iormalizzata del modello piu tutto quanto sara necessario per
la concreta realizzazione della simulazione.

134
Le proprieta di queste entita prendono il nome di attributi, che e l'insieme delle caratteristi-
che che permettono alle entita di operare.
La simulazione rende dinamiche queste entita, che interagiscono Ira di loro al veriIicarsi di
eventi, cioe di particolari condizioni del sistema: la realizzazione degli eventi Ia si che le
entita svolgano le loro Iunzioni, attivando cosi la simulazione.

Come si comprende, per il Iunzionamento di un modello di simulazione e essenziale l'esi-
stenza di un meccanismo di avanzamento del tempo di simulazione che scandisca il veriIi-
carsi degli eventi di rilievo: questo avanzamento puo essere di tipo costante, nel qual caso
la situazione delle entita viene valutata ad incrementi periodici di tempo per veriIicare i ri-
sultati, oppure variabile; in questo secondo caso il contatore viene avanzato, per deIinizio-
ne, alla Iine dell'intervallo di tempo considerato, quando avviene una interazione Ira le enti-
ta del modello: la scelta del tipo di Ilusso temporale spesso dipende dal linguaggio utilizzato
per la simulazione e puo essere un importante Iattore per l'eIIiciente realizzazione dell'ela-
borazione.

Per chiarire meglio i concetti sopra esposti, consideriamo un modello di produzione che o-
peri con intervalli di tempo variabili.

Si supponga di dovere rappresentare un sistema produttivo in grado di operare su 5 tipi di
prodotti mediante 3 tipi di macchine, tutte capaci di lavorare ognuno dei prodotti esistenti.

I prodotti da lavorare entrano casualmente nel sistema: se, all'arrivo del pezzo nel sistema
risulta libera una delle 3 macchine, il pezzo viene immediatamente lavorato, occupandola
per un tempo variabile, altrimenti il pezzo rimane in attesa sino a quando la macchina non
risulta disponibile; dopo di che il pezzo esce dal sistema, che non lo segue ulteriormente.

Nel sistema in questione, ci sono due tipi di entita:

- le macchine
- i pezzi

Gli attributi delle prime sono il Iatto di essere libere o occupate, l'eventuale identiIicativo, il
tempo di inizio della lavorazione.

Gli attributi dei pezzi sono: il tipo di prodotto, l'istante di ingresso nel sistema e la durata
della lavorazione.

La simulazione deve Iornire i risultati tenendo conto dell'incontro Ira pezzi e macchine che
li lavorano: l'istante di realizzazione di questo incontro dipende dalle variabili casuali corri-
spondenti all'arrivo del pezzo nel sistema e quella corrispondente alla durata della lavora-
zione, che identiIicano il realizzarsi di eventi di rilievo.

La simulazione e quindi "il Iilm" dell'intero processo: al veriIicarsi di ogni evento e possibi-
le "IotograIare" il sistema con una rappresentazione come quella riportata nella Tav. 30, do-
ve sono riportate le entita piu un elemento Iondamentale del sistema e cioe l'orologio simu-
lato che scandisce il tempo della simulazione.



135


TAV.30 - RAPPRESENTAZIONE DEL SISTEMA PRODUTTIVO

Tipo
prod.
Tempo di
lavorazione
Tempo di arrivo
nel sistema
Tempo del
prossimo evento
Pross. arrivo 2 75 1002 1002
Prodotti in at-
tesa
4
3
52
84
992
976
-
-
Prodotti in la-
vorazione
3
1
2
43
21
62
972
936
896
1040
1017
1003
Istante sim.to 1000
1 2 3 4 5 Prodotti lav.ti
12 22 20 31 15

(a)

Tipo
prod.
Tempo di
lavorazione
Tempo di arrivo
nel sistema
Tempo del
prossimo evento
Pross. arrivo 1 68 1018 1018
Prodotti in at-
tesa
2
4
3
75
52
84
1002
992
976
-
-
-
Prodotti in la-
vorazione
3
1
2
43
21
62
972
936
896
1040
1017
1003
Istante sim.to 1002
1 2 3 4 5 Prodotti lav.ti
12 22 20 31 15

(b)

Tipo
prod.
Tempo di
lavorazione
Tempo di arrivo
nel sistema
Tempo del
prossimo evento
Pross. arrivo 1 68 1018 1018
Prodotti in at-
tesa
2
4

75
52

1002
992

-
-
Prodotti in la-
vorazione
3
3
1
84
43
21
976
972
936
1087
1040
1017
Istante sim.to 1003
1 2 3 4 5 Prodotti lav.ti
12 23 20 31 15

(c)




136

Tipo
prod.
Tempo di
lavorazione
Tempo di arrivo
nel sistema
Tempo del
prossimo evento
Pross. arrivo 1 68 1018 1018
Prodotti in at-
tesa
2


75


1002


-

Prodotti in la-
vorazione
3
4
3
84
52
43
976
992
972
1087
1069
1040
Istante sim.to 1017
1 2 3 4 5 Prodotti lav.ti
13 23 20 31 15

(d)

Come si vede, la simulazione precedente aIIronta un sistema di code che non eravamo in
grado di Iormalizzare nei suoi parametri essenziali.

Per presentare un modello con avanzamento costante del tempo, riprendiamo il problema
della gestione delle scorte che gia avevamo aIIrontato: come si ricordera il risultato del lotto
economico era stato ottenuto ponendo pesanti condizioni sulla realta, che ci avevano per-
messo di arrivare ad una Iormulazione analitica suIIicientemente semplice da poter essere
risolta.

Vediamo quale e l'approccio mediante il metodo simulativo.

Supponiamo di essere in presenza di un sistema caratterizzato da una domanda e tempo di
Iornitura (lead time) probabilistici, entrambi desumibili da una rilevazione della storia pas-
sata del sistema di scorte; la storia della domanda e riportata nella Tav.31, mentre la storia
del tempo di Iornitura e riportata nella Tav.32.

TAV. 31 - DISTRIBUZIONE DELLA DOMANDA

Unita richieste Frequenza Variata I(d) F(d) Numero 0-1
giornalmente (d)

50 - 70 24 60 0.07 0.07 0.00 - 0.07
70 - 90 50 80 0.14 0.21 0.07 - 0.21
90 - 110 65 100 0.18 0.39 0.21 - 0.39
110 - 130 103 120 0.29 0.68 0.39 - 0.68
130 - 150 59 140 0.16 0.84 0.68 - 0.84
150 - 170 41 160 0.11 0.95 0.84 - 0.95
170 - 190 18 180 0.05 1.00 0.95 - 1.00

360 1.00





137
TAV. 32 - TEMPO DI CONSEGNA

Giorni Ira ordine Frequenza Variata I(t
L
) F(t
L
) Numero 0-1
e consegna (t
L
)

1 3 1 0.06 0.06 0.00 - 0.06
2 10 2 0.20 0.26 0.06 - 0.26
3 20 3 0.40 0.66 0.26 - 0.66
4 10 4 0.20 0.86 0.66 - 0.86
5 7 5 0.14 1.00 0.86 - 1.00

50 1.00

Le altre ipotesi sono le seguenti:

- il costo di stoccaggio per una giornata (H) si basa sulla situazione del magazzino (I) alla
Iine della giornata; in particolare, se I ~ 0, si avra H C
h
I; se I _ 0, H 0

- il costo di mancata vendita di una giornata e pari al valore delle vendite perse nella
giornata; cioe se I _ 0, allora S C
s
,I, e le vendite non vengono conservate
- se la giacenza Iinale alla Iine di una giornata e inIeriore al punto di riordino, allora e
piazzato un ordine al costo C
o
per una quantita Q, che verra consegnata con un ritardo
determinata mediante variata casuale
- la consegna avviene all'inizio del giorno determinato casualmente come sopra speciIicato,
in modo tale che la quantita consegnata sia disponibile per la stessa giornata

Il diagramma a blocchi puo avere una struttura simile a quella riportata nella Fig.44























138
FIG.44 - DIAGRAMMA A BLOCCHI DEL SISTEMA DI SCORTE
La logica di Iunzionamento del sistema e la seguente:

Inizializzazione sistema

- Inserimento dei dati della domanda (Tav.31)
- Inserimento dei dati delle consegne (Tav.32)
- Inserimento dei parametri del sistema: C
h
costo di giacenza
C
o
costo di riordino
C
s
costo di mancata Iornitura
- Inserimento del seme del generatore di numeri casuali
- Inserimento degli elementi iniziali del sistema: I giacenza iniziale
ts.t
|.s,s.s | ist|
is||s
s|ma|st|sss
|s|t|s||tts s|ss|
|sss.s ismssis
||
.|ss.
ms.ss
Ks |
|s.ssts.|s
| = | i
|s.ssts.|s
| = | i - |
| |
Ks
|
Ksssass s.i|ss
| = |
|.i|s|
s..|.
Ks
|sss.s .|ts.is
sssssss
|
Ksssas s.i|ss
| = |
||stts s.i|ss
|ssts = |s
| |
Ks
|ssts |s.ssts
H = || |. = |
|
|ssts |s.ssts
H = | . = |s |
||t|ms
|s.ss
| = |
/|s.ss s|ss|
|s|ss|s msi|s
|s.ss||s.s
| Ks
||ss
139
Q lotto di riordino
R scorta di sicurezza
n numero di giornate da simulare
- Inizializzazione orologio del sistema sulla prima giornata j numero della giornata
(j 1,.......,m)
- Azzeramento dei totali: H costo giornata di giacenza (valore / giorni)
O costo giornata per riordini (valore / giorni)
S costo giornata mancata Iornitura (valore / giorni)

Trattamento della domanda

- Generazione della variata casuale per la domanda (d) per la giornata j
- Viene ricevuto un ordine piazzato nei giorni precedenti ?
- Si: calcola la giacenza alla Iine della giornata j: I I Q - d
- No: calcola la giacenza alla Iine della giornata j: I I - d
- La giacenza e minore della scorta di sicurezza (I R)?
- No: non viene Iatto alcun ordine: O 0
- Calcola il costo della giornata: H C
h
I ; S 0 e cumula per il periodo
- Prosegui con il test di Iine simulazione
- Si: Prosegui con il blocco di trattamento delle consegne

Trattamento delle consegne

- C'e un ordine in sospeso?
- Si: non viene Iatto alcun ordine: O 0
- Si sono persi ordini (I 0)?
- No: calcola il costo della giornata: H C
h
I ; S 0 e cumula per il periodo
- Prosegui con il test di Iine simulazione
- Si: calcola il costo della giornata: H 0 ; S C
s
Abs(I) ; I 0 e cumula per il
periodo
- Prosegui con il test di Iine simulazione
- No: genera una variata casuale per il ritardo dell'ordine (t
L
)
- Piazza l'ordine e calcola il costo degli ordini: O C
o
- Si sono persi ordini (I 0)?
- No: calcola il costo della giornata: H C
h
I ; S 0 e cumula per il periodo
- Prosegui con il test di Iine simulazione
- Si: calcola il costo della giornata: H 0 ; S C
s
Abs(I) ; I 0 e cumula per il
periodo
- Prosegui con il test di Iine simulazione

Ottenimento delle statistiche

- Calcola i valori medi di H,O,S e il costo totale medio CHOS
- Stampa i risultati

Il tipo di risultati ottenuto da una ipotetica simulazione e riportato nella Tav.33; le ipotesi
sono:

- giacenza iniziale (I) 500
- scorta minima (R) 300
140
- lotto (Q) 400
- C
h
1 giorno/pezzo
- C
o
20 per ordine
- C
s
5 per pezzo

TAV. 33 - RISULTATI SIMULAZIONE

Giorno Inventario Quantita u
d
Domanda u
L
Ritardo H O S
Ricevuta

1 500 0 0.104 80 - - 420 - -
2 420 0 0.223 100 - - 320 - -
3 320 0 0.241 100 0.150 2 220 20 -
4 220 0 0.421 120 - 100 - -
5 100 400 0.375 100 - - 400 - -
6 400 0 0.779 140 0.465 3 260 20 -
7 260 0 0.995 180 - - 80 - -
8 80 0 0.963 180 - - 0 - 500
9 0 400 0.895 160 0.483 3 240 20 -

Come si puo ben capire, la capacita dei dati ottenuti dalla simulazione a rappresentare il
problema reale dipende in modo sostanziale dalla lunghezza del periodo simulato; tornere-
mo piu tardi sull'argomento: ora ci interessa evidenziare che, cosi come presentato, il mo-
dello aIIronta un problema intrinsecamente diIIerente da quello aIIrontato dalla teoria delle
scorte.

La simulazione inIatti, si limita a rappresentare il Ienomeno esaminato (senza darci speciIi-
che indicazioni comportamentali), mentre la Iormula del lotto economico era in grado di oI-
Irirci le indicazioni per comportarci in modo ottimale: sembra quindi che la simulazione non
sia adatta ad ottenere gli stessi risultati che ci possono oIIrire i modelli analitici.

Cio non e vero ed anzi, la simulazione e uno strumento adatto a Iornirci anche quell'analisi
di sensitivita che abbiamo identiIicato come uno degli aspetti piu importanti dell'utilizzo
della modellistica; non solo, ma la simulazione puo utilizzare proprio i risultati derivanti
dalla teoria analitica per raggiungere questo risultato.

Nel problema esposto, le variabili controllabili sono ovviamente il livello R del punto di
riordino e la quantita Q riordinata quando si presenta la necessita: sarebbe quindi interessan-
te valutare le varie alternative per identiIicare la politica ottima.

Ma in che modo possiamo cercare di ridurre la dimensione di questo problema che, se non
corretamente strutturato, puo essere di diIIicile soluzione?

La risposta puo essere proprio la Iormula del lotto economico, pur con tutte le sue limitazio-
ni e approssimazioni che gia sono state sottolineate.

Partendo dai valori medi di domanda e ritardo, possiamo Iormulare il lotto economico del
nostro problema come:

Q
*
(2C
o
E(D) / C
h
)
1/2
6.55
141
e
R E(D) * E(t
L
) 6.56
(si osservi che addirittura abbiamo preso in considerazione la Iorma piu semplice di lotto
economico, trascurando completamente i costi di mancata vendita)

Da queste Iormule otteniamo Q
*
68 e R ~ 370.

La nostra simulazione ha quindi degli intervalli di riIerimento a cui appoggiarsi: inIatti, po-
tremmo iniziare a simulare valori di R da 0 a 700, con intervalli di 100 unita, incrociandoli
con valori di Q Ira 100 e 700 (sempre con intervalli di 100) e questo ci permettera di ottene-
re un panorama al contorno della soluzione ottima (ignota) di cui il lotto economico rappre-
senta un'approssimazione.

I risultati del costo delle politiche simulate rappresentano quindi un'interessante analisi di
sensitivita del nostro problema e sono riportati nella Tav. 34 per periodi simulati di 1000
giorni.

TAV. 34 - ANALISI DI SENSITIVIT INIZIALE DEL PROBLEMA DI SCORTE

Quantita ordinata (Q)

Riordino (R) 100 200 300 400 500 600 700

0 449.1 376.9 346.3 333.3 354.7 357.8 386.7
100 435.7 329.8 303.7 302.5 315.4 342.0 365.3
200 425.0 307.6 260.6 267.6 289.1 322.3 360.5
300 433.3 293.8 240.0 257.2 289.8 327.8 368.2
400 433.0 301.4 233.2 275.4 325.2 371.1 421.1
500 433.3 310.3 234.2 327.0 402.2 453.0 524.6
600 430.9 303.1 239.1 370.4 488.0 561.7 583.4
700 432.4 300.4 256.1 415.9 576.4 626.0 703.9

La scelta migliore ha un costo di 233.2 e corrisponde a una politica composta da un punto di
riordino di 400 e una quantita da ordinare di 300; la simulazione permette di "zoomare" il
valore trovato, sia aumentando le ripetizioni, sia trovando un intorno piu dettagliato del va-
lore trovato.

Nella Tav.35 sono riportati gli approIondimenti del valore trovato, con una simulazione di
5000 giorni e passi di 50 pezzi anziche 100.
142
TAV. 35 - APPROFONDIMENTO DEI RISULTATI DELLE SCORTE

Quantita ordinata (Q)
250 300 350
Riordino (R)

250 262.6 240.2 246.9
300 261.5 235.9 240.9
350 258.6 236.4 240.8
400 257.5 235.3 249.6
450 258.1 239.9 255.0
500 258.8 238.3 266.0
550 258.7 240.8 279.3

L'approIondimento dei risultati conIerma la politica precedentemente identiIicata, eviden-
ziando un costo complessivo di 235.3, sostanzialmente simile a quello precedente, ma diver-
so in valore assoluto: cio mette in evidenza il problema a cui abbiamo accennato preceden-
temente e cioe quello della dimensione del campione simulato.

La dimensione del campione da utilizzare in relazione alla precisione desiderata puo essere
ottenuta sulla base delle osservazioni iniziali simulate dal modello; la Tav.36 mette in evi-
denza i paramteri richiesti.

TAV. 36 - PARAMETRI STATISTICI DEL MODELLO DI SCORTE

Domanda Tempo di consegna

Stima della media teorica 117.2 3.2
Stima della deviazione standard 31.0 1.1
Dimensione (m) per un errore dell'1 2688 4540
Dimensione (m) per un errore del 5 108 182
Dimensione (m) per un errore del 10 27 46

La dimensione del campione con i valori di errori richiesti e determinato dalla variabilita del
campione osservato; le Iormule utilizzate per l'ottenimento dei valori precedenti sono:

Media E(X) ) (
1

=
k
f
f f
x f x 6.57

Deviazione standard V(X)
1/2

=
=
k
f
x f f
x f X E x
1
2
) ( )| ( | 6.58

Dimensione (m)

2
)
E
(
x
:

6.59

con

E
n
:
x

6.60
(z e una variabile casuale standardizzata)
143
Si osservi la crescita esponenziale della dimensione del campione necessaria per aumentare
la precisione.
















































144
BibliograIia

Principles of Operations Research for Management - F. S. Budnick, R. Mojeno, T. E.
Vollmann
R. D. Irwin Inc.

Modern Statistical, Systems, and GPSS Simulation - Z. A. Karian, E. J. Dudewicz Com-
puter Science Press

Introduction to Operations Research: a computer oriented algorithmic approach - B.
E. Gillet
McGraw-Hill

Forcasting Economic Time Series - C. W. J. Granger, P. Newbold
Academic Press

Criteri applicativi di tecniche previsionali - S. Corbi, L. Schiavina
FORRAD

Industrial Dynamics - J.W. Forrester
M.I.T. Press

Urban Dynamics - J.W. Forrester
M.I.T. Press


145
7 - LA PROGRAMMAZIONE AD OGGETTI

Come ben si puo immaginare, i programmi che svolgono simulazioni di sistemi reali sono
certamente Ira i piu complessi da realizzare, in relazioni alle caratteristiche che devono esse-
re in grado di riprodurre; talvolta, appare assai conveniente che i programmi stessi siano in
grado di presentare non solo gli aspetti applicativi del modello, ma anche una visualizzazio-
ne dell'evolversi della simulazione i corso.

Come abbiamo gia detto, per rendere piu agevole il compito dei programmatori, sono stati
sviluppati appositi strumenti che consentono di ridurre le diIIicolta realizzative e di riportare
entro limiti accettabili i costi associati all'ottenimento dei modelli su elaboratore.

L'idea centrale che e associata ai linguaggi di simulazione e che li contrappone a quelli tra-
dizionali, e quella di avere come aspetto principale non piu l'istruzione elementare (e impli-
citamente l'elaboratore), ma l'entita logica che costituisce il blocco di base della simulazio-
ne; in questo modo il programmatore (o meglio l'analista) tende a trascurare completamente
i dettagli realizzativi sulla macchina, che diventano competenza del linguaggio di simula-
zione, che si propone quindi ad un livello nettamente superiore a quello dei linguaggi tradi-
zionali.

Con il continuo calo del costo dell'hardware ed il corrispondente aumento della sua potenza,
questo approccio e risultato interessante non solo per problematiche specializzate come
quelle della R.O., ma ha cominciato ad interessare anche il settore generale dell'ingegneria
del soItware, che ha generalizzato il concetto di entit (tipica dell'approccio simulativo) per
arrivare alla realizzazione dei cosidetti linguaggi orientati agli oggetti (OOPS), (dove, ap-
punto, l`oggetto e la generalizaione ed astrazione del concetto di entita) che si sono svilup-
pati dopo che la XEROX, presso il suo centro di ricerche di Palo Alto, aveva sviluppato il
primo linguaggio object oriented e cioe Smalltalk.

Come si vede dalla Fig.45, Smalltalk deriva direttamente da Simula, un linguaggio speciIi-
camente sviluppato per la realizzazione di modelli di simulazione.

146
FIG.45 - DERIVAZIONE DEI LINGUAGGI ORIENTATI AGLI OGGETTI

Ma cosa e un oggetto? Come abbiamo detto, e una generalizzazione del concetto di entita: e
un "pezzo" completo in grado di riprodurre sull'elaboratore una parte del mondo reale.

Come ci si puo rendere conto, la metaIora dell'oggetto e suIIicientemente generale da per-
mettere di inglobare in questo concetto tutto quanto deve essere realizzato sull'elaboratore.

Ed e proprio questa generalita che rappresenta la Iorza e la debolezza della programmazione
per oggetti: ogni modello puo essere presentato come un oggetto assai generale, ma questa
astrazione rende talvolta ancora piu diIIicile immaginare come realizzare un modello.

Trattandosi poi di entita che devono essere riprodotte sull'elaboratore, l'oggetto puo essere
rappresentato in un modo piu tecnico, che mette in evidenza i suoi aspetti realizzativi come
linguaggio di programmazione; nella Fig. 46 e riportata la rappresentazione concettuale di
un oggetto, tipico dei linguaggi OOP.

|
|e
|
/|s|
||s,
|ma|
ms||ts|
||s.s.s
|
|ssss|
/is
|ss,s
||lls|

/sts.


|--

|||ssss|
||ss
||sas| sss s.|sstst| s|| sstt|
||sas| || ||.|i|
||sas| || ,a.|
||jsst|.s |
|I
Msia|s
1s.
147
FIG.46 - RAPPRESENTAZIONE DI UN OGGETTO














Come si vede, un oggetto (dal punto di vista statico) e un'entita isolata composta da dati e
da comportamenti che operano sui dati propri dell'oggetto a cui si riIeriscono; dal punto di
vista dinamico, gli oggetti si scambiano l'un l'altro dei messaggi; attraverso questi messaggi
viene richiesta l'esecuzione di operazioni che gli oggetti sono in grado di svolgere mediante
i loro comportamenti ed i loro dati.

Questa e l'esatta metaIora della realta, dove gli oggetti che ci circondano vengono seleziona-
ti per la Iunzione che sono in grado di svolgere, mentre e di scarso rilievo (per chi lo deve
usare) come viene svolta questa attivita.

Spesso il risultato raggiunto dall'oggetto e ottenuto mediante l'utilizzo di strutture assai
complesse, ma la possibilita dell'oggetto di essere utile dipende proprio dalla sua capacita di
"nascondere" le diIIicolta al suo utente.

Queste idee di base associate agli oggetti e mutuate dalla simulazione, sono state raIIinate
mediante una serie di concetti tecnici che realizzano gli oggetti inIormatici sull'elaboratore.

I concetti Iondamentali associati ad un oggetto
9
(e che quindi lo caratterizzano) sono:

- Incapsulamento
- Polimorfismo
- Ereditariet
- Astrazione

L'incapsulamento e il concetto che gia era stato espresso presentando l'aspetto strutturale
degli oggetti e cioe quello del loro isolamento rispetto al mondo circostante: grazie a questo
isolamento, l'utente non puo richiamare un oggetto per quello che contiene, ma per quello
che Ia: l'azione viene svolta su sollecitazione dei messaggi, che costituiscono il protocollo
di comunicazione del mondo esterno con l'oggetto.

Il messaggio e l'identiIicatore di una serie di operazioni svolte dall'elaboratore sui dati del-
l'oggetto ricevente: l'insieme di queste operazioni (presentate in modo algoritmico secondo
la sintassi del linguaggio), costituisce il metodo del messaggio stesso.

9
I riIerimenti concettuali e la nomenclatura sono quelle tipiche di Smalltalk, il piu diIIuso dei linguaggi ad
oggetti 'puri e contemporaneamente il piu innovativo rispetto all`approccio procedurale
|stts
Mssss|
|st
|sm,s.tsmsst|
148

Questa struttura evita totalmente la possibilita di applicare operazioni sbagliate su dati giu-
sti, ma indipendenti da essi, come puo accadere nelle elaborazioni tradizionali: il legame in-
scindibile dati/comportamenti Ia si che, rispetto ai linguaggi procedurali, gli oggetti si pre-
sentano in modo "intelligente": l'oggetto "conosce" i suoi contenuti e pertanto l'utente non
ha la necessita di preoccuparsi della loro gestione.

Il vantaggio oIIerto dalla possibilita di isolare completamente un oggetto e quello di ridurre
le interazioni Ira gli elementi dell'ambiente di elaborazione, con il risultato di controllare la
complessita delle applicazioni, che dipende della numerosita delle sue componenti.

In ambiente tradizionale la complessita dell'applicazione cresce in modo esponenziale ri-
spetto alle componenti man mano che il sistema si sviluppa, rendendo ben presto il sistema
non piu controllabile, mentre cresce solo linearmente in ambiente OOP, permettendo la rea-
lizzazione di sistemi assai complessi che, del resto, era stata proprio la ragione per la quale
sono nati gli antenati di questa tecnologia.

Una conseguenza dell'"intelligenza" degli oggetti e di permettere la realizzazione del con-
cetto di polimorfismo per i messaggi destinati agli oggetti.

In ambiente tradizionale (ad esempio in FORTRAN), un programmatore deve preoccuparsi
di identiIicare la corretta routine da utilizzare per i proprie dati: cosi, se intende Iare la radi-
ce di un numero reale, dovra richiamare il programma destinato a svolgere tale Iunzione,
che dara un risultato corretto nel caso speciIico; se il lavoro deve essere svolto su un numero
reale, la routine sara identiIicata da un nome speciIico e il programmatore deve preoccuparsi
di scegliere (eventualmente sbagliando) secondo le circostanze quale programma utilizzare.

Ovviamente, come detto, se cambia la natura del dato, la routine utilizzata produrra risultati
sbagliati.

Nella programmazione per oggetti, il programmatore identiIica la Iunzione che deve essere
svolta e sara l'oggetto stesso, sulla base dei suoi contenuti, che decidera quale dei metodi
evocati dal messaggio ricevuto (che grosso modo corrispondono all`identiIicatore della rou-
tine nell'ambiente tradizionale) e applicabile in relazione agli eIIettivi dati contenuti nell'og-
getto, ottenendo il risultato (corretto) relativo.
Cosi, se dico ad un oggetto "raditi" e il ricevente del messaggio e un uomo, il risultato sara
che il ricevente si rade il viso; se il destinatario e una donna, il risultato sara quello di Iarle
radere le gambe.

Nel caso OOP non e necessario cambiare l'identiIicativo del messaggio, che e quindi poli-
morIico rispetto agli oggetti destinatari.

Se i concetti di incapsulamento e di polimorIismo hanno dei corrispondenti piu o meno
stretti negli ambienti tradizionali, il concetto di ereditarieta e assolutamente innovativo.

Come abbiamo detto, nel mondo simulato dell'OOP, il risultato richiesto viene ottenuto Io-
calizzandosi sugli oggetti che hanno un comportamento adatto a raggiungere gli obiettivi
previsti e inviando a questi oggetti messaggi che attivano le azioni richieste; le azioni sono
ovviamente il risultato di caratteristiche speciIiche dell'oggetto: cosi, una penna scrive piu o
meno sottile in relazione al tipo di pennino che utilizza.

149
Oggetti simili condividono caratteristiche comuni: due uomini hanno entrambi una testa,
due braccia ecc.

Le caratteristiche degli oggetti sono conservate nelle classi
10
a cui gli oggetti appartengono
e che deIiniscono (una sola volta) tutti gli attributi che identiIicano gli oggetti provenienti
da esse (incidentalmente, l`idea di classe e stato sviluppato per la prima volta proprio in Si-
mula).

Ogni oggetto che e attivo nell'ambiente OOP proviene quindi da una classe, che e una specie
di Iabbrica in grado di generare gli oggetti richiesti che prendono le caratteristiche della
classe di appartenenza ed e un`astrazione delle caratteristiche dell`oggetto stesso.

Il risultato di questo approccio e ovvio: l'analista deIinisce una sola volta le caratteristiche
(astratte) degli oggetti che intende utilizzare e quindi li genera in modo uniIorme da questo
modello
11
.

Le classi che deIiniscono gli oggetti possono essere strutturate in gerarchie ordinate dal ge-
nerale al particolare: il meccanismo dell'ereditariet delle gerarchie permette di attribuire ai
Iigli le caratteristiche delle classi superiori (padri), permettendo quindi di creare nuove clas-
si deIinendo unicamente le diIIerenze Ira gli oggetti che dovranno esere utilizzati e che
prenderanno il nome di istanze della classe.

Se il concetto di ereditariet permette un concreto risparmio nel lavoro di programmazione
grazie alla possibilita di deIinire una sola volta le caratteristiche che identiIicheranno gli og-
getti, l'idea dell'astrazione permette di raggruppare eventuali comportamenti (parzialmente)
comuni Ira oggetti appartenenti a classi diIIerenti e riportare questo nuovo comportamento
in classi astratte
12
che permettono la creazione di nuovi concetti con caratteristiche piu ge-
nerali e di conseguenza con possibilita piu ampie dei singoli oggetti materiali che costitui-
ranno un`applicazione.

Come si vede dalla Fig.45, alcuni linguaggi non sono aIIatto orientati agli oggetti, altri in-
cludono alcuni dei concetti introdotti (ma non tutti) e sono quindi "parzialmente orientati a-
gli oggetti o ibridi", mentre quelli con icone bianche rappresentano linguaggi OOP "puri".

Questi ultimi linguaggi si appoggiano al solo concetto di oggetto: tutto il loro ambiente e
costituito da oggetti, oIIrendo quindi una metaIora uniIorme ed estremamente potente.

Considerando le loro potenzialita graIiche, i linguaggi puri OOP, rappresentano uno stru-
mento assai adatto alla realizzazione concreta delle problematiche della R.O.


BibliograIia

Smalltalk - 80 The language and its implementation - A. Goldberg, D. Robson
Addison-Wesley

10
Non tutti i lingiaggi ad oggetti trattano il concetto di classe o sono basati sulla loro esistena
11
Si noti che questo e una generalizazione del concetto di 'modello introdotto inizialmente come trave por-
tante della R.O.
12
Una classe astratta e una classe che, in qualsiasi momento, non avra delle istane
150

Object-Oriented software - A. L. Winblad, S. D. Edwards, D. R. King
Addison-Wesley

An introduction to Object-Oriented Programming and Smalltalk - L. J. Pinson, R. S.
Wiener
Addison-Wesley

Object-Oriented Programming - An evolutionary approach - B. J. Cox
Addison-Wesley

Inside Smalltalk - W.R. LaLonde, J.R. Pugh
Prentice Hall

Simula and Smalltalk: A Social and Political History - B. Dugan
http://www.cs.washington.edu/homes/dugan/history.html


151
8 - I MODELLI DEL SOFT COMPUTING

L`incredibile aumento della potena di calcolo dell`elaboratore ha reso popolari alcuni nuovi
modelli applicativi basati su concetti alternativi rispetto alla matematica piu tradizionale e
implementabili mediante l`utilizzo di rilevante potenza elaborativa.

Si tratta di 3 modelli che, all`inizio degli anni 2000, hanno dato origine a quello che ha pre-
so il nome di soft computing: si tratta della logica fuzzy, delle reti neurali e degli algo-
ritmi genetici.

Della logica Iuzzy abbiamo gia parlato a proposito del processo di automazione delle deci-
sioni; le reti neurali sono un paradigma di calcolo basato sull`idea di riprodurre
sull`elaboratore il Iunzionamento del cervello; gli algoritmi genetici sono strumenti adatti a
Iornire l`ottimo di problemi basandosi su criteri mutuati dalla biologia piuttosto che
dall`anlisi matematica.

Come si vedra successivamente, la logica Iuzzy converge con con le reti neurali per essere
direttamente utilizzata allo scopo di produrre strumenti altamente evoluti, in grado di cam-
biare proIondamente i limiti stessi dell`applicabilita dei modelli della R.O.

8.1 - Le reti neurali
13


Una rete neurale e una struttura soItware che riproduce due elementi Iondamentali del cer-
vello e cioe:

- il neurone
- la sinapsi

La sinapsi e il 'canale su cui viaggiano le inIormazioni; il neurone e la 'centrale dove le
inIormazioni sono elaborate.

A diIIerenza dei modelli tradizionali, le inIormazioni vengono gestite in parallelo anziche
in sequenza; inIatti, il modello di base del neurone e riportato nella Fig.47.














FIG. 47 - IL MODELLO DEL NEURONE DI McCULLOCH-PITTS

13
Alcuni dei concetti relative alle reti neurali ed ai sistemi Iuzzy sono ripresi dall`appendice B, che per como-
dita del lettore sono stati inseriti in questo capitolo
152
Il neurone riceve una serie di n input
if
(f identiIica il numero del segnale e varia da 1 a n, i
identiIica il neurone a cui viene inviato il segnale); ad ogni input
f
viene attribuito il peso
f, che identiIica la Iorza della connessione al neurone (la sua sinapsi).

Ad ogni neurone e associata una soglia O, che deve essere raggiunta o superata dalla somma
della pesatura dei segnali; veriIicandosi questa condizione, il neurone generera a sua volta
un segnale in uscita
i
, a cui verra applicata una Iunzione non lineare
i
, che rappresenta il
segnale inviato attraverso la sinapsi di collegamento agli altri neuroni connessi a quello ela-
borato.

Il segnale generato dal neurone i e quindi:


i

i

=
n
f
if if
1
t w
8.1

La condizione che permette la generazione di
i
e la seguente:


i
n
f
=

=
| |j |j
P t w
1

8.2



La Iunzione
i
e normalmente costituita da una trasIormazione non lineare in grado di mo-
dulare il segnale generato e renderlo quindi controllabile nell`intero reticolo; la Iorma gene-
ralmente utilizzata e una sigmoide del tipo:

)) ( exp 1 /( 1 ) ( x x f + = 8.3

Che modula il segnale di uscita nell`intrvallo 1

Nella Fig. 48 e riportato l`esempio del comportamento di un neurone con 2 input.


FIG. 48 - ESEMPIO DI ATTIVAZIONE DI UN NEURONE
x
i1
w
i1

|j |j
w t

=
n
f 1

O
i
R
i
F
i
O
i
x
in w
in

x
1
w
1
1
1 1
5
153

















Una rete neurale e un insieme connesso di neuroni, in cui le connessioni possono essere sia
in avanti che indietro, come rappresentata nella Fig. 49.

FIG. 49 - RETE NEURALE FEEDFORWARD / BACKWARD

I neuroni sono raggruppati in strati (in inglese layers); il primo, cominciando da sinistra,
identiIica lo strato di input (quello che riceve i segnali dal mondo esterno); l`ultimo costi-
tuisce lo strato di output (quello che restituisce i segnali elaborati dalla rete neurale).

Tra lo strato di input e quello di output si trovano gli strati interni (quelli dove avviene
l`elaborazione); l`insieme della struttura degli strati e la loro numerosita dei neuroni costi-
tuisce la topologia della rete: l`esperienza ha dimostrato che sono suIIicienti un massimo di
3 strati interni per il Iunzionamento di una rete neurale.

Al di la del valore concettuale e modellistica delle reti neurali, il loro interesse risiede nel
Iatto che le reti neurali (proprio come il cervello), possono essere addestrate a correlare i
segnali di input con un segnale di output in modo tale da riprodurre i segnali di input e ri-
produrre l`output richiesto.

154
L`addestramento della rete neurale avviene mediante un algoritmo in grado di assegnare pe-
si alle connessione del reticolo.
L`algoritmo di gran lunga piu diIIuso per l`addestramento delle reti neurali e l`algoritmo no-
to con il nome di back-propagation, che vedremo nei dettagli.

In presenza di un algoritmo di addestramento, il Iunzionamento della rete neurale viene mo-
diIicato come indicato nella Fig. 50.

FIG. 50 - RETE NEURALE CON ADDESTRAMENTO



















Come detto, l`addestramento di una rete neurale presuppone l`identiIicazione della risposta
obiettivo (in inglese target) che ci aspettiamo dalla rete neurale al veriIicarsi dei segnali di
input Iorniti.

Supponendo che il ciclo di addestramento sia costituito da m passi (m _ 1), come appare
dalla Iigura 50, durante la Iase di addestramento, viene valutata la differenza Ira la risposta
obiettivo (1
i
) e la risposta Iornita dalla rete al passo di addestramento considerato (O
i
):
l`obiettivo dell`algoritmo e di minimizzare e rendere stabile questa diIIerenza (E
i
) operan-
do sui pesi delle sinapsi.

Il risultato dell`addestramento e una memoria associativa che permette alla rete neurale di
Iornire la risposta richiesta al veriIicarsi degli speciIici segnali in ingresso.

L'algoritmo di back-propagation

Per la realizazione dell`algoritmo di back-propagation, occorre determinare:

- la topologia della rete
- i segnali di input
- la risposta obiettivo
- il valore del tasso di apprendimento (un parametro che, come vedremo, condiziona il
comportamento dell`algoritmo)
x
i1
x
in

Addestramento
w
i1
w
n1
Soglia
_
Non linearit
x
i1
Algoritmo
Addestr.to
Generatore
errore
|
!
| |
t w P =
f(.)
)
|
( t w f B
!
| |
=
| | |
B ! E =
x
n1
1
i
155
- il criterio di conclusione dell`algoritmo
- la metodologia di aggiornamento dei pesi delle sinapsi
- il tipo di Iunzione O
- i pesi iniziali dei collegamenti

I passi dell`algoritmo sono i seguenti:

1 Inizializzazione

Tutti i pesi delle sinapsi sono impostati a piccoli valori casuali

2 Fissare i valori di input ed obiettivo

Fornire i valori di input (
-
d e
-
t ) allo strato iniziale della rete e Iissare in
-
il risultato richie-
sto; ogni accoppiata puo essere Iornita per i vari cicli di addestramento o modiIicata

3 Calcolare il risultato Iornito dalla rete (vedi Fig. 50)

Applicare le Iormule indicate per calcolare O

4 Adattare i pesi

Adattare i pesi utilizzando un algoritmo ricursivo iniziando dallo strato di output, muoven-
dosi verso lo strato di input attraverso lo (gli) strato nascosto; l`algorimo ricursivo e il se-
guente:

- Supponiamo di avere L strati nel reticolo ed ogni strato l sia composto da N
l
nodi
- Il peso del collegamento Ira il nodo i dello strato l 1 e il nodo j dello strato l sia w
lif

- La risposta di ogni neurone sia O
lf
(x) e dipenda dall`utilizzo della Iunzione di modulazione
sopra riportata

Avremo:

) ) ( ( ) (
1
1
+
=
+
=

l
i
N
f
l
f | B w | B
|
j
|
|j
| |
|

+
=
1
1
( (
l
N
f
f ))
j
| B w
l l
|j
8.4
(il valore della soglia
1 + l
i
e stato inserito nella sommatoria)

L`errore totale e:

) )| ( ) (
2
1
k k
K
k
K

= = =
= =
|
| |
|
| |
|
B ! E E |
I
|
(
|
|
8.5

L`obiettivo dell`algoritmo e identiIicare l`insieme dei pesi in tutti gli strati che rendano mi-
nimo l`errore ; la regola di addestramento e quindi quella di rendere la modiIica dei pesi
proporzionale alla derivata negativa dell`errore rispetto ai pesi:

156

|
sm
| |
sm
w
E
w

8.6

Calcoliamo la variazione dell`errore attraverso le sue componenti:


|
sm
|
|
sm
|
w
B
B
E
w
E
|
|
|
|

) (
) (
k
k
8.7

Quindi:


|
sm
|
| |
|
| |
|
sm
|
w
B
B !
w
E
|
|


=
) (
)) ( ) (
k
k k ( 8.8

Introducendo la derivata della sigmoide di modulazione f(x)(1-f(x)), (allo strato l L-1,
cioe allo strato di output) avremo:


| |
m
|
s
|
s
|
s s
|
sm
|
B B B B !
w
E
) 1 ( ) ( =

8.9

Pertanto, la Iormula di aggiustamento dei pesi dell`ultimo strato e:



| |
m
|
s
|
s
|
s s
|
sm
B B B B ! w )| 1 ( ) |( = 8.10

dove il Iattore di proporzionalita p prende il nome di tasso di apprendimento (in inglese
learning rate).

Viceversa, se siamo ad uno strato l / L-1, il valore
| |
m
B dipende da
|
sm
w e la dipendenza degli
errori dai pesi e:



=
+
=

L L
N
i
N
f
f
1
1
1
1
) ( ' ) (
|
sm
|
|
|
s s
|
sm
|
w
B
w B B !
w
E
| - |
j
| - |
|j
8.11

All`ultimo strato nascosto il valore e:



I |
m
| |
s
|
|
|
| s
|
sm
|
B B w B B !
w
E
| - |
|a
=
=

l
i
f f
1
) ( ' ) ( ' ) (


I |
m
|
|
|
| s
| |
m
B w B B ! B
|
|a
=
=
N
i
f f
1
| ) ( ' ) ( )| ( ' 8.12

L`aggiustamento dell`ultimo strato nascosto e:

=
=
L
N
i
f f
1
| ' ) ( ( ' |
I |
|s
|
|s
|
|
|
| s
| |
s
I |
sm
B w B B ! B w 8.13
157

In sintesi, la Iormula generale di aggiustamento diventa:


| |
j
|
|j
B w
l
i
= 8.14

Allo strato Iinale avremo:

) 1 ( ) (
|
|
|
|
|
| |
B B B ! =
L
i
8.15

Agli strati interni avremo:

) 1 ( ) (
1
1 |
|
|
|
B B w
| l
r| r
=

=
+ +
L
N
r
l l
i
8.16

5 Ritornare al passo 2

8.2 - I fuzzy sets come reti neurali
14


Abbiamo avuto gia modo di parlare della logica Iuzzy e della sua possibilita di essere umi-
liata per lo sviluppo di sistemi esperti, che da molti punti di vista hanno la stessa Iunzione
svolta dalle reti neurali.

L`obiettivo di entrambe le tecnologie e quello di Iornire lo stesso tipo di risposta che Iorni-
rebbe un esperto umano interrogato sull`argomento che costituisce il dominio di applicazio-
ne.

Ognuno dei due strumenti oIIre vantaggi e debolezze rispetto all`altro:

- il vantaggio Iondamentale che le reti neurali oIIrono rispetto ai sistemi Iuzzy e la possibili-
ta di essere addestrati, il che sempliIica enormemente la creazione del motore inIerenziale
del sistema esperto
- il vantaggio dei sistemi Iuzzy e quello di oIIrire un motore che puo essere Iacilmente con-
trollato, grazie alla semplicita e leggibilita delle regole e soprattutto di permettere
l`inserimento di regole in grado di riprodurre la diretta esperienza dell`esperto umano

Quest`ultimo aspetto crea uno schema di utilizzo di un sistema Iuzzy come quello riportato
nella Fig. 51






FIG. 51 - SCHEMA DI FUNZIONAMENTO DEL TIPICO PROBLEMA DOVE LA
LOGICA FUZZY OFFRE I MASSIMI VANTAGGI



14
I dettagli matematici che giustiIicano alcune delle aIIermazioni del presente capitolo sono riportati
nell`appendice B; una parte dei suoi contenuti sono stati ripresi per comodita di lettura
Problema cos complicato
da non permettere una for-
mulazione matematica accet-
tabile
158

















E` ovvio quindi che, se le caratteristiche delle due tecnologie potessero convivere, il sistema
esperto avrebbe il livello massimo di prestazione.

Proprio per raggiungere questo risultato, la tecnologia del soIt-computing ha portato alla
creaione dei sistemi neuro-fuzzy, che prendono il meglio dei due ambienti.

La dimostrazione di questa convergenza e legata al Iatto che, in presenza di circostane spe-
ciIiche, un sistema Iuzzy puo essere presentato come un reticolo neurale a cui possono esse-
re applicate le tecniche di addestramento sopra riportate.

La Iormula di un sistema Iuzzy deIuzziIicato con il metodo del centroide e:


( ) ( )
( ) ( )

=
=
=
M
l
l
B
M
l
l
B
l
v
v v
v
l
l
1
1

8.17

se utilizziamo il prodotto algebrico per l`intersezione degli antecedenti, avremo:

) ( ) (
1

=
=
n
i
i
F
l
B
x v
l
i
l
) exp(
2
1

n
i
f
i
f
i i
x x


l
: 8.18

ponendo b :
M
l
l
=

=1
e a : v
l
M
l
l
=

=
) (
1
, avremo espresso il nostro sistema Iuzzy in modo oppor-
tuno per rappresentarlo come rete neurale, schematizzata come nella Fig. 52



FIG. 52 - STRUTTURA RETICOLARE DI UN SISTEMA FUZZY
Input
159































Come si vede, siamo in presenza di una rete neurale a tre livelli; dove il livello interno e co-
stituito dai passi di aggregazione degli antecedenti e di mappaggio sui conseguenti.

Data l`accoppiata input-output (x,d), la Iunzione da minimizzare diventa:


[ ]
2
2
) ( d x f
e

= 8.19

ed i parametri da addestrare
l l
x v , e
l
i


L`algoritmo di addestramento, per ciascuno dei tre parametri, e il seguente:


l
l
l l
:
b
d f k
v
e
k v k v
1
) ( , ) ( ) 1 ( =

= + 8.20


( )
2
2
) ( , ) ( ) 1 (
l
i
l
i
p
i l
l
l
i
l
i
l
x x
:
b
f v
d f k
x
e
k x k x

= + 8.21


































fa/b
l
v
l
v


..


( ) [ ]
2
2
/ exp
f
l
f
l
x x = =
x
b
a
Strato 1
Strato 2
Strato 3
.
M
: l
:

1
x m
x

160


( )
) (
) ( 2
) ( , ) ( ) 1 (
3
2
k
k x x
: f v
b
d f
k
e
k k
l
i
l
i
p
i l l
l
i
l
i
l
i

= + 8.22

Per addestrare il sistema Iuzzy puo essere utilizzato l`algoritmo di back-propagation sopra
illustrato nei dettagli oppure altri tipi di algoritmi, talvolta piu eIIicienti dal punto di vista
computistico.

8.3 - Gli algoritmi genetici

Gli algoritmi genetici (G.A.) rappresentano il piu recente degli strumenti di calcolo orientati
all`identiIicazione della condizione di ottimo all`interno di uno spazio di deIinizione di un
problema.

La diIIerenza Iondamentale rispetto agli altri strumenti di ottimizzazione gia presentati
(P.L., P.D. ecc.) consiste nell`ispirazione dell`algoritmo, che non deriva da strumenti mate-
matici (derivabilita, struttura dello spazio ecc.) ma dal comportamento naturale delle specie
che sopravvivono.

L`idea di base degli algoritmi genetici e quella che in natura i migliori sopravvivono e que-
sti migliori` rappresentano l`ottimo del problema descritto mediante una popolazione che
deIinisce la specie in cui ricercare la soluzione.

Applicando i criteri di sopravvivenza utilizzati in natura a questa trasIormazione del pro-
blema e Iacendo evolvere la specie nel tempo, il risultato Iinale identiIica l`ottimo richiesto.

I criteri di deIinizione degli algoritmi genetici sono pertanto completamente diversi da quelli
visti per gli algoritmi precedentemente presentati.

Non richiedendo particolari caratteristiche strutturali del problema, l`utilizzabilita degli al-
goritmi genetici e assai vasta e, dal punto di vista computistico, molto piu interessante di
quella della programmazione dinamica (che a sua volta non presenta richieste particolari)
che puo presentare notevoli diIIicolta applicative in presenza di problemi che operino in
spazi di dimensione rilevante.

L`utilizzo degli algoritmi genetici richiede semplicemente di essere in grado di rappresenta-
re il problema in Iorma di popolazione (cioe di individui diIIerenti ma con caratteristiche
simili) e di Iare evolvere questa popolazione secondo i principi genetici naturali di evolu-
zione, valutando per ogni passo evolutivo la qualita degli individui che compongono la po-
polazione rispetto agli obiettivi del problema: quando uno o piu individui della popolazione
raggiungono la qualita richiesta, l`algoritmo si arresta, avendo trovato la soluzione del pro-
blema.

Per capire la struttura ed il Iunzionamento dell`algortimo, cominciamo ad esaminare un e-
sempio abbastanza banale.

Supponiamo di volere trovare il massimo della Iunzione I(x) x
2
nell`intervallo 0-31.

Il primo punto che dobbiamo aIIrontare e quello della opportuna rappresentazione del pa-
ramtro x per il suo utilizzo mediante gli algoritmi genetici.
161

La tecnica che normalmente viene utilizzata e di rappresentare i valori che il parametro puo
assumere mediante una combinazione di valori binari (0,1): supponiamo di rappresentare i
valori di x con una stringa binaria di lunghezza Iissa (5 elementi).

Quindi, il valore 00100 rappresenta un possibile valore del parametro che intendiamo mas-
simizzare.

Si osservi che la trasIormazione operata e qualcosa di piu della rappresentazione di un valo-
re in numerazione binaria: la stringa rappresenta inIatti un individuo della popolazione di
soluzioni che ci portera, mediante il processo evolutivo, all`identiIicazione della soluzione
ottima.

IdentiIicata la modalita di rappresentazione del parametro del nostro problema, iniziamo a
generare la popolazione iniziale che dovra evolversi verso la soluzione ottima.

Per Iare questo, dovremo decidere la dimensione della popolazione da prendere in conside-
razione (ad es. 10 elementi), ognuno dei quali sara costituito da una sequena casuale di 0 e
1, ad esempio ottenuta dal lancio di una moneta.

Supponiamo che Iacciano parte della prima generazione i seguenti individui:

...
01101
11000
01000
10011
....

Ognuno degli individui generati rappresenta un punto nello spazio di deIinizione del nostro
problema.

Supponiamo che per ogni individuo sia possibile identiIicare un grado di adattamento agli
obiettivi che cerchiamo di raggiungere (in inglese: fitness).

Immaginiamo che gli individui generati abbiano la seguente Iitness (in questo momento non
ci interessa come il grado venga stabilito):

......
169
576
64
361
...

L`obiettivo dell`algoritmo e quello di ottenere nuove generazioni in cui venga migliorato il
grado di adattamento, Iacendo sopravvivere le caratteristiche degli individui piu adatti.

Le caratteristiche degli individui sono identiIicate con la sequenza di 0 e 1 che li rappresen-
tano.

162
Le nuove generazioni ottenute dalla generaione di partenza (sviluppata casualmente), impli-
cano i tre concetti Iondamentali dell`algoritmo e cioe:

- Riproduzione
- Incrocio (in inglese: Crossover)
- Mutazione

La riproduzione e l`accoppiamento di individui che dara origine a nuovi individui.

L`incrocio e lo scambio di caratteristiche Ira gli individui che si accoppiano per dare origine
alle caratteristiche del nuovo individuo generato.

La mutazione e la modiIicazione casuale delle caratteristiche di un individuo.

Il punto Iondamentale degli algoritmi genetici e la riproduione: aIIinche l`algoritmo identi-
Iichi i piu adatti (che devono sopravvivere) occorre che i piu adatti della corrente
generazione abbiano la massima probabilita di sopravvivere.

Si osservi che nei G.A. (esattamente come in natura) si parla di probabilit di sopravvi-
venza (e quindi di un evento non deterministico) per il processo di accoppiamento degli in-
dividui di una generazione: si tratta quindi di trovare un meccanismo casuale che crei il 'Ii-
danzamento, ma che contemporaneamente Iaccia si che questo incontro porti all`unione
degli individui piu adatti.

Questo puo essere Iatto in vari modi: il piu noto (e concettualmente il piu semplice) e quello
di ipotizzare una ruota di roulette che generi l`indicazione degli individui da accoppiare ma
che tale indicazione sia Iatta in modo da Iavorire gli individui piu adatti.

La tavola 37 mette in evidenza gli elementi per la creazione della ruota della roulette


TAV. 37 - DETERMINAZIONE DELLA PROBABILITA` DEI COMPONENTI
DELLA POPOLAZIONE

Numero Stringa Fitness del totale
1 01101 169 14.4
2 11000 576 49.2
3 01000 64 5.5
4 10011 361 30.9
Totale 1170 100.0




FIG. 53 - ROULETTE PER LA GENERAZIONE DEGLI ACCOPPIAMENTI

163


Facendo 'girare la roulette vengono identiIicati gli individui destinati ad accopiarsi; ov-
viamente le probabilita sono a Iavore di accoppiamenti di individui che hanno un alto grado
di adattamento, senza che questo sia una garanzia di accoppiamento degli individui piu adat-
ti.

L`accoppiamento delle stringhe signiIica semplicemente riprodurre una copia esatta dei due
individui selezionati per procedere alla generazione dei loro discendenti.

La generazione dei discendenti avviene mediante l`operazione di incrocio che puo essere
Iatta in due modi:
- Casualmente, quando le caratteristiche dei due genitori vengono estratte casualmente per
generare il discendente
- Mediante scambio, quando viene selezionato un punto k Ira 1 e l-1 (la lunghezza della
stringa) e vengono generate due nuove stringhe ottenute dallo scambio delle caratteristiche
dalla posizione k a l (estremi compresi).

Per completare l`analogia con lo schema naturale, nel passaggio Ira una generazione ad
un`altra puo veriIicarsi che, durante la sua vita, un individuo subisca una mutazione.

La probabilita del veriIicarsi di questo evento e uno degli elementi da Iissare per utilizzare
l`algoritmo.

Il caso di mutazione identiIica semplicente uno scambio della sequenza delle caratteristiche
che contraddistinguo l`individuo.

I passi di creazione di nuove generazioni (accoppiamento, incrocio e mutazione) continuano
Iino al criterio scelto per l`arresto dell`algoritmo: normalmente il numero di generazioni o il
raggiungimento di un livello preIissato di adattamento.

Si osservi che, a diIIerenza di altri algoritmi, non siamo normalmente orientati ad un ottimo
assoluto, ma ad un livello di adattamento soddisIacente per il nostro problema
15
il che, da
un punto di vista del ricercatore operativo, non e certamente un diIetto rilevante.

Come si e visto, gli algoritmi genetici sono concettualmente estremamente semplici e con-
temporaneamente estremamente diIIerenti dagli algoritmi piu tradizionali.
Le diIIerenze possono essere cosi riassunte:


15
Naturalmente, la soluzione identiIicata da un algoritmo genetico puo essere la base da cui partire per appli-
care algoritmi in grado di dare la soluzione dell`ottimo assoluto
Zona 4
30.92
Zona 3
5.5
Zona 1
14.4
Zona 2
49.2
164
- Gli algoritmi genetici operano su una trasformazione dei parametri del problema e non
sui parametri stessi
- Gli algoritmi genetici trattano una popolazione di punti e non il singolo punto
- Il concetto di adattamento (una Iorma implicita di funzione obiettivo) evita il ricorso alle
derivate o altre conoscenze estranee al problema
- L`algoritmo si svolge attraverso passi di natura probabilistica anziche deterministica

E` anche interessante notare la Iunzione della mutazione, che permette la 'perturbazione
di evoluzioni dell`algoritmo orientate esclusivamente verso un punto speciIico, permettendo
l`eventuale identiIicazione di altri punti di ottimalita in uno spazio assolutamente generico e
che potrebbe Iacilmente portare all`identiIicazione di ottimi locali.

Il modello Iondamentale di ispirazione degli algoritmi genetici (la natura), garantisce che
l`approccio e equilibrato ed efficiente, un concetto che identiIicheremo con il termine ro-
busto, che e uno degli aspetti piu importanti per una larga applicabilita degli strumenti che
siano concretamente utilizzabili per soluzione di problemi applicativi.

Probabilmente l`aspetto piu diIIicile degli algoritmi genetici e legato alla diIIicolta di tra-
sIormazione (codifica) dei parametri del problema, che rappresenta un serio ostacolo a chi
si avvicina per la prima volta allo strumento.
16


Ricordiamo tuttavia che la codiIica richiesta dagli algoritmi genetici non e una codiIica 'a-
stratta, ma serve a riprodurre il problema in termini genetici il problema.

Vale quindi la pena di considerare la corrispondenza Ira componenti del problema e elemen-
ti genetici naturali riportato nella tavola 38, che puo essere utilizzata come traccia per una
codiIica piu eIIiciente.

TAV. 38 - CORRISPONDENZA DEI TERMINI UTILIZZATI IN G.A. E GENETICA
~NATURALE

Naturale G.A.
Cromosoma Stringa
Gene Bit, carattere, componente
Alele Valori ammissibili dei caratteri
Locus Posizione nella stringa
Genotipo Struttura
Fenotipo Insieme dei parametri, soluzioni alternative,
struttura decodiIicata
Epistasi Non linearita




16
La codiIica dei programme di implementazione degli algoritmi genetici mediante un approccio OOP con i
suoi tipici vantaggi modellistici e strutturali puo sempliIicare il problema.
Il lettore interessato che abbia una buona conoscenza di Smalltalk trovera sul sito www.edor.it una implemen-
tazione (derivata da quella originalmente sviluppata da Diego Gomez Deck per l`ambiente Squeak, disponibi-
le al sito www.squeak.org) degli algoritmi genetici che gli permettera di utilizzarli con uno sIorzo relativa-
mente ridotto
165
L`esempio introduttivo ha Iatto riIerimento ad un caso assai semplice dove il problema era
quello di trovare il valore di una semplice Iunzione caratterizzata da un solo parametro in un
intervallo preIissato.

Naturalmente gli algoritmi genetici possono essere applicati a problemi di qualsiasi tipo di
complessita.

Per quanto riguarda la soluzione di Iunzioni complesse, la letteratura riporta esempi di solu-
zione di Iunzioni con un`ampia gamma di caratteristiche,
17
che possono essere riassunte
come segue:

- Continue / discontinue
- Concave / convesse
- Unimodali / multimodali
- Quadratiche / non quadratiche
- Bassa dimensionalit / alta dimensionalit
- Deterministiche / stocastiche

Oltre che a problemi non vincolati, gli algoritmi genetici possono essere applicati a proble-
mi caratterizzati dalla presenza di vincoli.

In generale, i problemi vincolati possono essere aIIrontati in due modi:

- Semplicemente valutando gli individui che vengono generati: se le caratteristiche
dell`individuo sono Iuori dai vincoli speciIicati, l`individuo non partecipa alla valutazione
dell`indice di adattamento
- Utilizzando un metodo di penalizazione in relazione alla gravita della violazione del vin-
colo da parte dell`individuo

Utilizzando il metodo di penalizazione, il problema originale viene ristrutturato.

Se abbiamo un problema del tipo:

Opt g()
Soggetto a: h
i
() _ 0 i 1,2, .. ,n 8.23
con vettore di m elementi

il problema da ottimizzare diventa:

Opt g() )| ( h |
1
i
t

n
i
r 8.24
Con 4 Iunzione di penalizzazione
e r coeIIiciente di penalizzazione

Un approccio di questo genere permette di risolvere il tipo di problema sotto riportato, che
puo essere aIIrontato con gli strumenti precedentemente presentati.

17
Questo tipo di studio e stato svolto da K.A. De 1ong, che ha applicato gli algoritmi genetici a 5 tipi di Iun-
zioni, la cui valutazione puo essere eIIettuata con gli strumenti riportati alla nota precedente
166
Supponiamo di avere 5 macchine e 5 prodotti che possano essere assegnate a queste mac-
chine secondo la tavola 39, che mette in evidenza il costo (da minimizare) assegando il pro-
dotto i alla macchina j.

TAV. 39 - MATRICE TECNOLOGICA DEL PROBLEMA DI ASSEGNAZIONE

M1 M2 M3 M4 M5
P1 10 25 15 5 20
P2 - 10 25 - 35
P3 20 - 30 25 -
P4 - 30 35 40 25
P5 15 15 - 30 40

(le caselle con un trattino indicano assegnazioni vietate)

L`assegnazione di un prodotto ad una macchina elimina, ovviamente, la stessa da ulteriori
assegnazioni.

La soluione ottima (con un costo di 90) e costituita dalla seguente assegnazione:

P1M4 5, L2M3 25, P3M1 20, P4M5 25, P5M2 15

Nell`approccio ad oggetti utilizzato per l`algoritmo risolutivo e interessante osservare
l`allele utilizzato, che ha sempliIicato il problema di identiIicazione dei cromosomi utilizati
per gli individui della popolazione: ogni cromosoma e costituito da un aparametro numerico
che associa prodotto e macchina con un costo corrispondente all`incrocio della tabella per le
assegnazioni accettabili ed una penalizzazione molto superiore al costo di assegnazione per
le relazioni vietate.






















167
BibliograIia

Understanding neural networks and fuzzy logic S.V. Kartalopoulos
IEEE Press

Adaptive fuzzy system and control L. Wang
Prentice-Hall

FuzzyWorld: un framework per oggetti fuzzy L. Schiavina
http://www.siIorge.org

Genetic algorithms D.E. Goldberg
Addison-Wesley

Using genetic algorithms for concept learning K.A. DeJong, W.M. Spears, D.F. Gordon

Fuzzy model optimization by genetic algorithm M. Hammer, T. Koslovsky, P. Kra-
tochvil

Genetic algorithms P.Billes
http://www.ecst.csuchico.edu





























168
APPENDICE A - LE METODOLOGIE DELLA R.O. PER LO SVILUPPO DI
APPLICAZIONI INFORMATICHE

Come e ovvio e naturale, la R.O. ha subito dalla sua nascita una evoluzione ed una integra-
zione con altre discipline che, in molti casi, hanno modiIicato l'applicabilita e l'interesse pra-
tico di alcuni dei suoi modelli.

Ma se alcuni dei suoi modelli hanno riscontrato diIIicolta legate alla diretta applicazione, le
sue metodologie ed i suoi metodi, come si e visto, hanno inIluenzato proIondamente il mon-
do dell'inIormatica, che spesso ha utilizzato le idee della R.O. se non i suoi modelli speciIi-
ci.

Poiche, come gia rilevato precedentemente, il mondo dell'inIormatica sara sempre piu in-
Iluenzato dalle tecnologie della programmazione per oggetti, Iiglia diretta della R.O. e te-
nendo conto del tagli applicativo che e stato dato al presente lavoro, ci e sembrato interes-
sante, oltre che utile, evidenziare come le metodologie della R.O. siano la base su cui si ap-
poggia l'analisi ed il disegno di applicazioni inIormatiche OOP.

Il legame e costituito da tutto il bagaglio culturale e metodologico che e legato al concetto di
modello e alla convinzione che un approccio basato sul metodo scientiIico sia la strada mae-
stra per la soluzione di problemi complessi e che la Iormalizzazione logico-matematica sia
lo strumento essenziale per Iavorire il processo di astrazione che sta diventando elemento
essenziale per la soluzione di problemi inIormatici.

In particolare Iaremo riIerimento ai metodi di analisi di sistemi complessi aIIrontati utiliz-
zando le caratteristiche del comportamento degli oggetti che modellizzano la realta.

Concetto di metodologia

La realizzazione di un progetto complesso (cioe un'applicazione in cui siano coinvolte una
pluralita di attivita e/o di persone), puo avvenire razionalmente solo mediante l'utilizzo di
un'opportuna metodologia, cioe un'insieme di regole di comportamento volte a deIinire sia
lo svolgimento delle singole attivita che costituiscono il progetto, sia le loro interrelazioni.

In particolare, se il progetto complesso riguarda la realizzazione di un'applicazione inIorma-
tica, si distinguono quattro obiettivi a cui una metodologia deve soddisIare e cioe:

- l'analisi del progetto, volta a deIinire in modo completo il dominio dell'applicazione
- il disegno della struttura inIormatica che rappresentera il sistema reale sull'elaboratore e
che quindi ne rappresentera il modello
- la realizzazione del disegno sull'elaboratore
- l'evoluzione dell'applicazione una volta che questa sia stata installata

Ovviamente, come ogni progetto complesso, anche la realizzazione inIormatica prevede una
Iase di gestione del progetto, volta a Iare si che la realizzazione avvenga nei limiti delle ri-
sorse (soprattutto di tempo), che caratterizzano l'ambiente di realizzazione.

Anche se la Iase di gestione e evidentemente di importanza assolutamente Iondamentale, es-
sa puo essere scorporata dalle tradizionali metodologie applicate a progetti inIormatici, che
169
si concentrano dunque, da un punto di vista tecnologico, soprattutto sui quattro aspetti pre-
cedenti.

Nel seguito verranno in particolare evidenziate le metodologie applicabili allo studio di pro-
getti inIormatici che siano basati su un paradigma OOP, inteso come alternativo al para-
digma tradizionale basato sul modello di Van Neumann.

Applicazioni tradizionali e applicazioni OOP

Sin dalla sua nascita, il settore dell'elaborazione dati e stato basato sul modello concettuale
noto come modello di Van Neumann; sulla base di questo modello, ogni processo che vie-
ne automatizzato su un elaboratore elettronico e suddiviso in due componenti:

- i dati, che rappresentano la parte statica del processo
- le procedure, che rappresentano la parte dinamica da applicarsi al dominio dei dati

L'elaborazione e concettualmente suddivisa in due parti corrispondenti alle due componenti
Iondamentali del modello; l'obiettivo della metodologia applicabile a questo tipo di modello
e quindi quello di identiIicare la struttura dei dati da elaborare (modello dei dati) e quindi
applicare ai dati una serie di programmi (procedure automatizzate) che siano in grado di
ottenere delle nuove inIormazioni attraverso la trasIormazione dei dati originali.

In questo modello e di conseguenza Iondamentale il concetto di archivio, inteso come il
luogo di reperimento dei dati che devono essere elaborati e di deposito delle nuove inIorma-
zioni ottenute.

I concetti Iondamentali associabili a questo tipo di approccio sono quindi quelli di struttura
dati e di algoritmo, inteso come processo da applicarsi ai dati per ottenere nuove inIorma-
zioni.

Si osservi che in questo modello, dato che non c'e nessuna garanzia che gli algoritmi siano
applicati a dati corretti (poiche le due componenti sono separate), gran parte dello sIorzo
tecnologico e orientato alla gestione degli archivi, che sono lo strumento tecnico mediante il
quale il processo puo essere realizzato.
L'elaborazione derivante dall'applicazione di questo modello e di natura tipicamente digita-
le, poiche il dato e di rilievo non in quanto appartenente ad un contesto, ma in quanto rap-
presentabile all'interno dell'elaboratore mediante la sua codiIica.

Al tradizionale modello di V.N. si contrappone da alcuni anni il modello Object Oriented.

In questo modello alternativo, la dicotomia dati-programmi e sostituita da una entita aggre-
gante e cioe l'oggetto.

L'oggetto e una entita che riunisce sia i dati che i programmi, che non sono piu scindibili; si
osservi che, in questo nuovo paradigma, il concetto di archivio e svanito: l'oggetto stesso e
in grado di conservare le inIormazioni, senza dovere ricorrere ad un supporto esterno (si ba-
di bene di non conIondere questo aspetto, del tutto concettuale, con la problematica tipica
della programmazione ad oggetti della permanenza dell'oggetto stesso, un aspetto su cui
torneremo successivamente).
170
Mentre il modello di V.N. e un modello tecnologico, nel senso di essere totalmente orientato
allo strumento (l'elaboratore) destinato a realizzarlo, il modello OOP e un modello assai piu
generale, volto a riprodurre concettualmente la struttura della realta.
Da questo punto di vista, ad esempio, ogni persona puo essere considerata un oggetto, dato
che ogni persona contiene dei dati (la sua data di nascita, il suo nome, le sue conoscenze
ecc.), unitamente ai processi necessari alla loro elaborazione (ad esempio, rispondendo il
proprio nome quando richiesto).

In questo senso, il modello OOP e puo essere considerato come un approccio analogico alla
soluzione dei problemi, nel senso che l'obiettivo e quello di risolvere i problemi riproducen-
do sull'elaboratore la realta esterna mediante gli oggetti che la caratterizzano.

Proprio perche gli oggetti sono costituiti sia dai dati che dai processi, rispetto ad un osserva-
tore esterno, questi riproducono lo stesso tipo di "intelligenza" che maniIestano le loro con-
troparti reali; questo tipo di comportamento non e piu legato a considerazioni tecniche che
derivano dal collegamento di dati corretti ad algoritmi corretti, ma deriva semplicemente
dalla cristallizzazione di conoscenza che ogni oggetto rappresenta.

In un ambiente ad oggetti assume quindi grande rilievo non solo il contenuto in termini di
dati degli oggetti (visti in questo caso come alternativa agli archivi), ma anche il loro com-
portamento, inteso come capacita di un oggetto di cambiare stato in conseguenza di solle-
citazioni esterne.
E quindi evidente che se entrambi i modelli presentati hanno l'obiettivo di realizzare un'ap-
plicazione inIormatica (cioe risolvere problemi utilizzando un elaboratore), la modalita con
cui questo puo avvenire segue strade totalmente separate, anche se il risultato Iinale otteni-
bile puo essere assolutamente identico.

E questa una situazione che si veriIica spesso anche in altri campi; si pensi, ad esempio, al-
l'utilizzo per le operazioni di calcolo, dell'approccio basato sui numeri romani o arabi: per
entrambi il risultato di 12 x 12 e sempre 144, ma il metodo utilizzato per ottenerlo e assolu-
tamente diIIerente nei due casi.

Il metodo di soluzione di un problema basato sul modello ad oggetti puo essere incentrato
sia sulla sua componente di dati (come nel modello tradizionale) sia sull'aspetto innovativo
del comportamento degli oggetti, che come abbiamo visto rappresenta un contributo legato
alla struttura concettuale piu complessa del modello.

Il vantaggio del primo punto di vista e evidentemente rappresentato dalla continuita rispetto
al modello di base, mentre l'approccio basato sul comportamento presenta il vantaggio di es-
sere speciIicamente Iinalizzato e utilizzabile per il modello ad oggetti.

Per potere capire perche l'approccio basato sul comportamento si adatta in modo particolare
al paradigma OOP, occorre capire come avviene l'interazione, all'interno di un'applicazione,
degli oggetti che lo deIiniscono.

Esattamente come si veriIica nel mondo reale, un oggetto si rivolge all'altro chiedendone
una prestazione mediante l'invio di un messaggio; il messaggio e il protocollo di comunica-
zione Ira oggetti ed e il modo mediante il quale all'oggetto ricevente del messaggio viene ri-
chiesto di realizzare un comportamento speciIico attraverso il metodo associato al messag-
gio ricevuto.
171
L'esecuzione del metodo associato al messaggio ha il compito di modiIicare i dati privati
dell'oggetto ricevente e di causare (alla Iine dell'esecuzione del metodo) il ritorno di un og-
getto, il quale e il destinatario dell'eventuale messaggio successivo (message passing) che
costituisce la Irase dello speciIico linguaggio OOP mediante il quale e realizzata l'applica-
zione.

E ovvio quindi che tale schema puo essere realizzato solo quando l'ambito di responsabilita
di ogni oggetto (comportamento) e totalmente deIinito.

Il primo metodo orientato al comportamento che ha avuto una concreta applicazione e il
quello noto come CRC cards, sviluppato dapprima per scopi didattici e successivamente
raIIinato quale strumento di analisi e disegno di applicazioni ad oggetti.

Il metodo basato sulle CRC cards parte da una descrizione verbale del problema; l'analisi
dei sostantivi contenuti in tale descrizione (eventualmente raIIinata da vari cicli di messa a
punto) permette di identiIicare assai semplicemente gli oggetti che costituiranno l'applica-
zione; i verbi che a questi sostantivi Ianno riIerimento, identiIicano comportamenti che tali
oggetti dovranno maniIestare (si osservi che, contrariamente a quanto avviene nell'approc-
cio tradizionale, il modello dei dati e assolutamente ignorato in questa Iase di analisi).

Gli oggetti cosi identiIicati devono quindi essere collocati in uno spazio tridimensionale:
quello delle Classi, delle Responsabilit e delle Collaborazioni, le cui sigle identiIicano
appunto il metodo.
Degli oggetti identiIicati nell'analisi viene dapprima collocata la classe, cioe la matrice dalla
quale gli oggetti stessi verranno generati.

Della classe che generera l'oggetto viene deIinita la responsabilita, cioe l'insieme delle com-
petenze che ad essa Iaranno capo.

Per evitare di creare delle responsabilita troppo generiche, una regola empirica e che la sua
descrizione debba essere contenuta in una scheda di ben speciIiche dimensioni (cio spiega
l'intero nome del metodo).

Ovviamente non tutte le richieste indirizzate all'oggetto verranno soddisIatte autonomamen-
te dalla classe, che potra avere la conoscenza di altre classi con le quali collaborare per Ior-
nire il risultato richiesto.

L'analisi ed il modello di un'applicazione basata sull'approccio CRC si sviluppa dunque se-
condo i seguenti passi:
- identiIicazione degli oggetti coinvolti nell'applicazione
- identiIicazione dei messaggi a cui gli oggetti devono rispondere
- identiIicazione delle classi dalle quali gli oggetti saranno ottenuti
- descrizione sintetica ma dettagliata della responsabilita della classe
- identiIicazione delle collaborazioni mediante le quali le responsabilita possono essere
soddisIatte

Tenendo presente il modello delle interazioni Ira oggetti, la realizzazione dell'applicazione
avviene mediante contratti Ira gli oggetti coinvolti nell'invio e nel ricevimento del messag-
gio: l'oggetto che lo invia si impegna a richiedere un comportamento che l'oggetto ricevente
e in grado di tenere; l'oggetto ricevente si impegna a realizzare le collaborazioni per il quale
e stato progettato.
172
L'intera metodologia CRC e supportata dal prodotto Object System CRC sviluppato da Pal-
ladio e distribuito da Rational.

Il raIIinamento dei precedenti concetti ha portato alla deIinizione della metodologia Object
Behavior Analysis (OBA) messa a punto da ParcPlace e supportata da MethodWorks, uno
strumento che supporta sia il ciclo di analisi che la realizzazione del disegno di applicazioni
OOP.

La metodologia OBA
18


La metodologia OBA parte dal presupposto che il comportamento di un oggetto e l'aspetto
essenziale da prendere in considerazione quale strumento di problem-solving; dopo la Iase
di analisi, la metodologia OBA si orienta, mediante uno speciIico paradigma alla Iase di di-
segno del sistema, non prendendo nessuna speciIica posizione per quanto riguarda l'ambien-
te ad oggetti da utilizzare per l'implementazione dell'applicazione.

Concetti Iondamentali

Partendo dalle idee della metodologia CRC, l'approccio OBA introduce una serie di concetti
e di strumenti atti a realizzare l'intero ciclo di analisi e di disegno di applicazioni destinate
ad essere realizzate in ambiente OOP.

I concetti Iondamentali su cui si basa OBA sono i seguenti:

- Ruoli
- Responsabilita
- Regole
- Tipi di controlli
- Sistema a cui la metodologia e applicata
- Eventi

Lo sviluppo dell'analisi e realizzato mediante un ciclo di raIIinamenti succesivi volto a deIi-
nire il comportamento del sistema e a Iornirne il disegno.

L'intero ciclo, sia di analisi che di disegno, e supportato da strumenti inIormatici destinati ad
essere utilizzati mediante semplici scripts che deIiniscono e modellizzano l'applicazione da
sviluppare.

Nell'approccio OBA, gli oggetti che costituiscono l'applicazione sono identiIicati indiretta-
mente mediante l'utilizzo di ruoli che vengono svolti all'interno del sistema; il concetto di
ruolo e lo stesso che normalmente attribuiamo in contesti non inIormatici ed e quindi desu-
mibile dalle azioni che vengono svolte all'interno del sistema.
L'idea di base e quindi che il comportamento del sistema (derivabile, come vedremo, da
scenari che vengono evidenziati durante il ciclo di sviluppo) e causato da entita che inter-
pretano istituzionalmente varie parti; il comportamento del sistema e il risultato della loro

1
18
Il riIerimento alla metodologia OBA e puramente indicativo di un approccio diIIerente
da quello 'tradizionale; dopo la nascita di OBA hanno acquisito popolarita approcci piu
completi e diIIusi, come UML (UniIied Modeling Language) e soprattutto l`approccio me-
diante il concetto dei patterns, mutuato da altre disciplin
173
attivita ed e immediatamente percepibile; il raggruppamento di tali ruoli identiIica in modo
diretto gli oggetti che dovranno essere riprodotti nell'applicazione.

Poiche il comportamento del sistema e causato da uno speciIico ruolo, questo e responsabile
del comportamento, nel senso che il ruolo stesso esiste perche questo comportamento si ve-
riIichi.

I vari ruoli possono essere raggruppati, nella metodologia OBA, in due categorie e cioe:

- Ruolo di iniziatore
- Ruolo di partecipante

Il ruolo di iniziatore ha la responsabilita di un'azione, che richiedera una risposta dal parte-
cipante, il quale avra la responsabilita di Iornire un servizio.

OBA concettualizza qualsiasi comportamento all'interno del sistema mediante l'interazione
Ira un iniziatore ed un partecipante ed identiIica questa interazione come contratto.

Si osservi che il ruolo di iniziatore e di partecipante puo essere svolta dalla stessa entita in
perIetta analogia a quanto puo capitare nel mondo reale ad un attore che in una recita puo
svolgere varie parti.
Il terzo concetto Iondamentale di OBA e quello di regola: la regola e la speciIica di come
deve avvenire un determinato comportamente che e costituito da una condizione e due azio-
ni associate; quando la condizione viene veriIicata, viene eseguita la prima azione; se la
condizione non viene veriIicata, viene eseguita la seconda azione.

Quando il sistema analizzato comprende piu comportamenti, si pone il problema dell'ordine
di esecuzione e quindi del controllo del sistema; esistono sei tipi di controllo dei compor-
tamenti:

- sequenziale: (il controllo per diIetto) i comportamenti sono eseguiti in successione
- iterativo: ogni volta che uno o piu comportamenti devono essere ripetuti
- selettivo: quando viene eseguito uno solo Ira vari comportamenti possibili
- parallelo: quando due o piu comportamenti sono eseguiti contemporaneamente
- opzionale: quando un o piu comportamenti possono non essere eseguiti
- condizionale: quando un comportamento viene eseguito solo se si veriIica una condizione

Tutti i termini e gli elementi che speciIicano il problema da risolvere identiIicano un siste-
ma, cioe tutto quanto e di interesse nel dominio del problema da risolvere.

Il conIine del dominio del sistema e rappresentato dagli eventi, cioe degli accadimenti che
producono una risposta da parte del sistema o che causa una modiIica nel sistema ma che
non e generato da uno dei ruoli che nel sistema sono stati identiIicati.




Ciclo di analisi e disegno

174
La metodologia OBA riguarda sia la Iase di analisi (OOA), sia quella del disegno (OOD)
dell'applicazione da sviluppare.

Il ciclo di analisi e di disegno di OBA e particolarmente adatto all'approccio di sviluppo ti-
pico dell'OOP e cioe il ciclo evolutivo di realizzazione.

Il ciclo evolutivo e caratterizzato dal Iatto che lo sviluppo dell'applicazione puo partire da
un prototipo che viene successivamente raIIinato man mano che i dettagli del sistema ven-
gono evidenziati e disegnati nel suo modello; il ciclo evolutivo di vita di un'applicazione si
contrappone al modello a cascata, tipico delle applicazioni tradizionali.

Il ciclo di analisi e di disegno parte dalla deIinizione degli obiettivi del ciclo, in grado di de-
terminarne il livello di aggregazione dell'analisi e del disegno delle componenti che si vo-
gliono ottenere.

Le componenti che vengono disegnate mediante la metodologia OBA sono le seguenti:

- Modello degli scripts
- Modello dei ruoli e delle collaborazioni
- Modello della semantica dei ruoli
- Modello delle interconnessioni degli scripts
- Modello del contesto degli eventi

Il ciclo di analisi e di disegno e articolato sui seguenti passi:
- Determinazione dei comportamenti Iondamentali dell'applicazione
- Riorganizzazione dei comportamenti Iondamentali
- Normalizzazione delle richieste
- Sviluppo in Iorma di scripts del modello del sistema
- Sviluppo di un vocabolario standard del sistema
- Sviluppo del modello dei ruoli e delle collaborazioni
- Sviluppo del modello semantico dei ruoli
- Sviluppo del modello incrociato degli scripts di deIinizione
- Sviluppo del modello contestuale del sistema mediante i suoi eventi

La realizzazione completa del ciclo di sviluppo avviene mediante una serie di strumenti
(tools), che sono messi a disposizione dell'analista dall'implementazione di OBA (Metho-
dsWork).

Quello che e importante evidenziare e che ciascun passo e inIluenzato ed inIluenza gli obiet-
tivi di partenza dello sviluppo del modello e che l'intero ciclo puo essere ripetuto piu e piu
volte e che la sua implementazione a livello di linguaggio OOP puo avvenire anche quando
l'intero ciclo non e stato completato.




I passi del ciclo
Passo1 - I comportamenti Iondamentali dell`applicazione
175

L'obiettivo di questo passo e l'identiIicazione dei comportamenti (piu o meno aggregati) del
sistema, al Iine di averne una descrizione complessiva; l'analisi inizia identiIicando cio che
il sistema Ia e raccogliendo le inIormazioni Iondamentali delle esigenze del sistema, di deIi-
nizione dei suoi obiettivi e delle responsabilita Iondamentali del sistema nel suo complesso.

Uno degli strumenti Iondamentali per descrivere il sistema e l'utilizzo degli scenari, che so-
no in grado di descrivere gli utilizzi tipici del sistema.

In genere, gli obiettivi ed i Iabbisogni generali del sistema riguardano:

- il sistema nel suo complesso
- gli obiettivi della speciIica attivita che e descritta dal sistema
- gli obiettivi speciIici per i quali il sistema viene descritto

Passo 2 - Riorganizzazione dei comportamenti Iondamentali

L'obiettivo di questo passo e una rielaborazione delle inIormazioni raccolte al passo 1 per
raggiungere una comprensione strutturale del sistema e permetterne una suddivisione in fasi
che possano essere ripartite Ira vari gruppi di lavoro.

La realizzazione di questo passo avviene identiIicando Ira i comportamenti generali del si-
stema le aree che costituiscono attivita Iondamentali; il livello di disaggregazione delle atti-
vita Iondamentali dipende dagli obiettivi dell'analisi e puo evolversi nel corso dell'analisi.

Passo 3 - Normalizzazione delle richieste

L'obiettivo di questo passo e la Iormulazione del problema mediante scripts, cioe una specie
di pseudo-codiIica che oIIra un livello intermedio di standardizzazione della descrizione del
problema; in questo passo, inoltre, dai comportamenti vengono ottenute le identiIicazioni
delle responsabilita e dei ruoli che vengono utilizzati nei passi successivi.

Dal punto di vista operativo, questo e il passo Iondamentale, dato che gli elementi raccolti
nella Iase di analisi vengono riorganizzati per Iormulare il complesso dei modelli.
E in questa Iase che vengono identiIicati gli eventi, le responsabilita e le regole; ognuno di
questi elementi viene Iormulato medianti opportuni scripts che serviranno successivamente
per controllare e raIIinare l'analisi svolta.
Le responsabilita sono ottenute normalizzando le varie attivita nelle loro componenti Ion-
damentali; una volta identiIicata, la responsabilita e assegnata ai giusti ruoli mediante uno
script standardizzato.

Nello script sono riportate le quattro componenti Iondamentali che costituiscono il contratto
e cioe:

- L'iniziatore (un ruolo)
- L'azione svolta dall'iniziatore (una responsabilita)
- Il partecipante al contratto (un ruolo)
- Il servizio oIIerto dal partecipante (una responsabilita)

La Iormulazione delle responsabilita puo essere svolta in modo evolutivo, man mano che lo
svolgimento dell'analisi sta procedendo elementi per la loro deIinizione.
176

La Iormulazione delle responsabilita richiede l'applicazione di alcune regole empiriche che
Iacilitano lo svolgimento di questo passo:

- Formulare le responsabilta in modo conciso
- Assegnare le responsabilita ad un ruolo
- Memorizzare le ragioni per le quali il ruolo e stato scelto
- Descrivere accuratamente le caratteristiche della responsabilita

Una descrizione concisa della responsabilita potra essere riportata piu Iacilmente in Iase di
codiIica, eventualmente lasciandola completamente inalterata se il linguaggio di program-
mazione e suIIicientemente potente.

La responsabilita deve essere a carico di qualcuno all'interno del sistema; questa e la ragione
per la quale deve essere identiIicato un ruolo che prenda carico della responsabilita; tuttavia,
non sempre e Iacile identiIicare il ruolo a cui la responsabilita deve essere attribuita.

L'identiIicazione della responsabilita implica la revisione critica dei ruoli gia deIiniti ed una
loro evenuale rideIinizione; se nessuno dei ruoli gia deIiniti si adatta alla nuova responsabi-
lita, il nuovo ruolo deve venire aggiunto e deIinito.

Oltre alla deIinizione delle responsabilita, la scansione dei comportamenti identiIicati e in
grado di generare gli eventi tipici del sistema.
Gli eventi del sistema sono caratterizzati da comportamenti per i quali non e possibile iden-
tiIicare uno speciIico ruolo, il comportamento e generato dal sistema stesso o non e speciIi-
cato all'interno del sistema la causa per la quale il ruolo ha generato il comportamento.

Dato che gli eventi non hanno una catena di causalita da cui sono generati, e importante i-
dentiIicare il pre-contesto ed il post-contesto in cui gli eventi stessi sono veriIicati.

Per pre-contesto si intende la situazione in cui si deve trovare il sistema aIIinche l'evento si
veriIichi; per post-contesto si intende la situazione in cui si trovera il sistema quando l'even-
to si e veriIicato.

Le regole sono una deIinizione Iormalizzata delle modalita con le quali i comportamenti si
veriIicano e vengono ottenute manipolando in modo opportuno gli obiettivi e le richieste del
sistema.

E da osservare che taluni dei vincoli che costitiscono la Iormalizzazione degli obiettivi e dei
Iabbisogni del sistema non andranno a Iormare delle regole, ma continueranno ad essere Ior-
mulate come semplici elementi di deIinizione del sistema in quanto puo mancare una delle
due alternative che costituiscono la condizione.

In OBA, come detto, la Iormulazione del modello dall'analisi avviene mediante scripts, cioe
una Iormulazione semi Iormale dei concetti rilevati durante l'analisi; la Iormulazione degli
scripts avviene seguendo alcune regole che riguardano i contratti, il controllo della loro ese-
cuzione e l'identiIicazione delle condizioni di pre e post-contesto.

Tutti i contratti devono essere identiIicati anche se non ne e indicata l'intera struttura al
momento della rilevazione (si osservi che nella Iormulazione dello scripts si ipotizza la rea-
lizzazione completa del contratto e non e previsto nessun meccanismo di gestione delle ec-
177
cezioni); per mantenere una uniIormita a livello di Iormulazione degli scripts, e opportuno
che il ruolo iniziatore dei contratti sia unico, a meno che non si tratti di eventi; dettagli su-
perIlui possono essere Iormulati mediante scripts di livello piu elevato collegato allo script
principale.

La speciIicazione dello script deve essere Iatto in modo tale da tenere conto della sequenza
di realizzazione dei contratti; in conseguenza lo script deve Iormulare i contratti mediante le
strutture di controllo previste con OBA.

Il completamento di questo passo permette il passaggio dalla Iase di analisi a quella del di-
segno.

Passo 4 - Sviluppo in Iorma di scripts del modello del sistema

Il passo precedente permette la deIinizione di una struttura di scripts di base, che devono
venire rivisti nel corso del passo 4 per Iormare una coerente descrizione del sistema; in par-
ticolare, durante questo passo gli scripts Iormulati possono essere completati con una serie
di scripts collegati che permettono di deIinire completamente il modello degli scripts che
viene generato in questo passo.

Alla Iine di questo passo e stato creato il Modello degli Scripts del Sistema.

Passo 5 - Sviluppo di un vocabolario standard del sistema

Avendo completato il modello degli scripts che deIiniscono il sistema, e possibile Iormulare
un vocabolario dei termini sia speciIici che generali dell'applicazione da sviluppare; e que-
sto uno strumento Iondamentale soprattutto in presenza di gruppi multipli di lavoro che so-
no incaricati dello sviluppo.

Passo 6 - Sviluppo del modello dei ruoli e delle collaborazioni

Questo passo e composto dai seguenti sottopassi:

- identiIicazione dei ruoli del sistema, delle resposabilita e delle collaborazioni realizzate
mediante i contratti
- veriIica delle responsabilita assegnate a ciascun ruolo
- veriIica delle collaborazioni e revisione delle responsabilita

In questo passo avviene la revisione globale degli scripts che erano stati generati localmente
durante il passo 3 e 4 per veriIicarne la correttezza a livello del sistema globale.

Alla Iine di questo passo viene creato il Modello dei Ruoli e delle Collaborazioni.




Passo 7 - Sviluppo del modello semantico dei ruoli

Durante i passi precedenti, il rapporto dei ruoli era stato visto Iondamentalmente da un pun-
to di vista contrattualistico; lo scopo del passo 7 e lo sviluppo di altri tipi di relazioni Ira i
ruoli identiIicati; in particolare vengono evidenziate le seguenti relazioni:
178

- is-a-kind-oI (e un tipo di)
- is-a-speciIic-example-oI (e un esempio speciIico di)
- is-partitioned-into (e suddiviso in)

La relazione is-kind-oI esiste tra due o piu ruoli quando uno e una specializzazione di un al-
tro; tale ruolo potrebbe anche non essere stato elencato tra quelli evidenziati dall'analisi,
madovrebbe essere introdotto per aumentare il livello di generalita (e quindi di riusabilita)
dell'applicazione.
La relazione is-a-speciIic-example-oI esiste quando un ruolo identiIicato nel sistema rappre-
senta un esempio speciIico di un ruolo piu generale; utilizzando gli scenari come strumento
di analisi, e possibile che questa relazione esita: sostituendo all'esempio speciIico il caso
generale, il modello acquista in generalita.

La relazione is-partitioned-into esiste ogni volta che viene deIinito un ruolo/responsabilita
di alto livello e ruoli/responsabilita operative che ad esso corrispondono; l'identiIicazione di
questo tipo di relazione mette in evidenza le modalita di realizzazione di un ruo-
lo/responsabilita.

Alla Iine di questo passo e stato sviluppato il Modello Semantico dei Ruoli.

Passo 8 - Sviluppo del modello incrociato degli scripts di deIinizione

Lo scopo di questo passo e simile a quello del passo 6 e cioe valutare complessivamente il
modello degli scripts sviluppati e veriIicarne la coerenza complessiva, identiIicando even-
tuali Iabbisogni del sistema che non siano stati trasIormati in scripts ecc.
Alla Iine di questo passo e stato sviluppato il Modello Incrociato degli Scripts.

Passo 9 - Sviluppo del modello contestuale del sistema mediante i suoi eventi

Fino a questo passo, il disegno si e concentrato sui dettagli interni del sistema; nel passo 9
viene analizzato il comportamento al contorno del sistema collocando opportunamente gli
eventi.

Per ogni evento occorre deIinire le condizioni di pre e post-contesto che lo caratterizzano e
che di Iatto causano la dinamica del sistema stesso.

Le condizioni di pre e post-contesto devono essere Iormulate come segue:

- identiIicare opportunamente ogni contesto
- identiIicare lo script dell'evento che deve essere associata al contesto
- veriIicare che ogni evento sia associato sia ad un pre-contesto che lo precede sia ad un
post-contesto che lo segue; creare dei nuovi contesti se non esistono; se risulta diIIicile
identiIicarli, creare scenari che li ipotizzino
- veriIicare che ogni contesto sia raggiungibile
- veriIicare i contesti che abbiano eventi identici ed eventualmente uniIicarli

Alla Iine di questo passo e stato sviluppato il Modello Contestuale degli Eventi.

Conclusioni

179
Come detto piu volte, il ciclo di analisi e modellizzazione e un'attivita che puo essere ripetu-
ta piu e piu volte prima di raggiungere un livello deIinitivo; la sua complessita e articolazio-
ne richiede ovviamente un supporto inIormatico al Iine di una corretta e agile gestione.

Come si vede, durante il suo ciclo di sviluppo il modello dei dati non e mai stato espressa-
mente menzionato ed e, di Iatto, delegato al momento della realizzazione della sua imple-
mentazione mediante un opportuno linguaggio ad oggetti.

Appare particolarmente interessante osservare che gli elementi necessari ad eIIettuare una
veriIica di accettabilita del sistema nascono durante il passo 4; cio e in perIetta sintonia con
la logica di sviluppo dei linguaggi ad oggetti che permettono una rapida prototipazione delle
applicazioni da sviluppare per permettere un'anticipata valutazione del sistema da utilizzare
da parte degli utenti Iinali.

Una volta veriIicato il Iunzionamento del sistema nel suo complesso, il raIIinamento dell'a-
nalisi e del modello (nonche la loro implementazione sull'elaboratore) potra avvenire con la
collaborazione di chi dovra utilizzare l'applicazione Iunzionante.



180
Definizione dei termini

Algoritmo: regole da utilizzare per risolvere uno speciIico problema; in ambiente OOP vie-
ne realizzato mediante un metodo
Analogico: approccio alla soluzione dei problemi mediante il quale e possibile ottenere co-
me risposta una grandezza Iisica al posto di una soluzione numerica (approccio
digitale)
Archivio: supporto per la memorizzazione delle inIormazioni, in genere inteso in senso Iisi-
co
Azione: nel modello OBA l'azione e l'attivita svolta dall'iniziatore di un contratto; mediante
l'azione l'iniziatore di un contratto interagisce con il partecipante
Ciclo evolutivo: sinonimo di raIIinamento della realizzazione di un'applicazione; e tipica
delle applicazioni ad oggetti, dove lo sviluppo avviene sulla base delle in-
Iormazioni esistenti; l'utilizzo dell'applicazione stessa oIIre nuova cono-
scenza per innescare il ciclo evolutivo
Classe: nell'ambiente OOP la classe e il modo di astrarre le proprieta di oggetti simili per
struttura e comportamento; la classe e lo strumento in grado di generare speciIici
oggetti (istanze della classe), aventi la stessa struttura ma dati privati diIIerenti
Collaborazioni: sinonimo di attivita coordinata Ira vari oggetti al Iine di oIIrire un servizio
(comportamento) speciIicato
Comportamento: maniIestazione speciIica di un oggetto mediante il quale e possibile otte-
nere un servizio
Contratti: nell'analisi OBA indica il rapporto Ira due oggetti, uno dei quali richiede un ser-
vizio e l'altro lo Iornisce; per poter essere realizzato, il contratto deve riguardare
dei servizi che il partecipante e in grado di Iornire
Controllo: scelta Ira comportamenti alternativi di un sistema
CRC cards: metodologia di analisi basata sull'utilizzo di schede che mettono in relazione le
classi, le responsabilita delle stesse e le loro relazioni al Iine di descrivere il
comportamentodel sistema da analizzare
Digitale: approccio alla soluzione dei problemi basato sul concetto di binary digit; sinonimo
di soluzione di tipo numerico
Dominio: nell'ambito di un sistema da analizzare, deIinisce l'area dove il sistema stesso e
stato dettagliato e approIondito
Evento: accadimento dal quale dipende una modiIica al sistema; nell'ambito della metodo-
logia OBA un evento identiIica il passaggio Ira il sistema generale (dove l'evento
non ha una speciIica conseguenza) ed il dominio, dove l'evento causa modiIiche a
componenti speciIiche
Fasi: ripartizione in componenti di un progetto complesso con l'obiettivo di ripartirlo Ira
gruppi multipli di realizzazione al Iine di permetterne una realizzazione in parallelo
Gestione di un progetto: insieme di tutte le attivita tecniche e di controllo necessarie a rea-
lizzare il progetto nei tempi e nelle modalita previste
Message passing: tecnica di esecuzione di un programma OOP mediante la quale la Irase di
elaborazione viene spezzata in vari messaggi che vengono inviati agli
oggetti derivanti dalle elaborazioni di ogni singolo componente
Messaggio: protocollo di accesso ad un messaggio, in grado di realizzare un comportamento
previsto mediante l'algoritmo ad esso associato
Metodo: insieme delle istruzioni in gradi di realizzare un determinato comportamento su un
oggetto; nell'ambiente tradizionale, il metodo era una routine; in ambiente OOP, il
metodo viene invocato mediante il messaggio che lo identiIica
181
Metodologia: insieme delle tecniche e degli strumenti necessari a realizzare progetti com-
plessi; in genere la metodologia deIinisce come analizzare, disegnare, installa-
re e manutenere progetti complessi, cioe progetti costituiti da un numero rile-
vante di attivita e di partecipanti
Metodologia OBA: metodologia basata sull'idea che il comportamento di un sistema sia il
modo migliore per analizzare e disegnare un sistema inIormatico
Modello: riproduzione della realta dove solo gli elementi giudicati importanti sono conser-
vati per rappresentarla
Modello a cascata: modello di sviluppo di sistemi inIormatici tradizionali dove il ciclo di
vita di un sistema veniva rappresentato mediante passi da svolgere in
sequenza, uno al termine dell'altro
Modello dei dati: rappresentazione dei dati di un sistema volto a metterne in evidenza le c
ratteristiche e relazioni
Modello di Von Neumann: modello di elaborazione delle inIormazioni basato sull'esisten-
za di due componenti separate: i dati e le procedure
Oggetto: componente di un modello basato sull'accoppiamento di dati e di comportamenti
che le componenti stesse possono realizzare
Paradigma OOP: metodo di soluzione dei problemi basato sul concetto di oggetto; la solu-
zione puo essere basata unicamente sugli oggetti (paradigma puro) o e-
ventualmente anche su altri concetti accessori (paradigma misto)
Permanenza: in un ambiente di elaborazioni dati, l'oggetto che viene trattato vive normal-
mente nella RAM dell'elaboratore e scompare alla Iine di una sessione di la-
voro: la permanenza indica la proprieta di sopravvivere alla singola sessione
di lavoro ed essere scambianto Ira piu sessioni temporalmente distanti
Post-contesto: nella metodologia OBA indica lo stato del sistema dopo il veriIicarsi di un
evento
Pre-contesto: nella metodologia OBA indica lo stato del sistema prima del veriIicarsi di un
evento
Procedure automatizzate: processi i cui algoritmi sono realizzati mediante un elaboratore
Progetto complesso: progetto composto da vari passi di realizzazione e alla cui realizzazio-
ne partecipano piu persone Iisiche
Prototipo: realizzazione di un'applicazione in cui i dettagli sono sviluppati in modo aggre-
gato con l'obiettivo di Iornire elementi di valutazione sulla realizzazione piu che
di risolvere in modo deIinitivo un problema
Regola: nella metodologia OBA identiIica le speciIiche di realizzazione di un contratto
Responsabilit: insieme dei comportamenti che un oggetto e in grado di maniIestare e at-
traverso i quali e possibile risolvere problemi speciIici
Ruoli: nella metodologia OBA l'insieme dei comportamenti che un oggetto e in grado di
svolgere
Ruolo iniziatore: richiesta di esecuzione di un contratto
Ruolo partecipante: Iornitura di un servizio sulla base di un ruolo iniziatore
Scenari: descrizione del comportamento del sistema, visto dalla parte dell'utente
Script: strumento semi-strutturato per la Iormalizzazione dei contratti identiIicati mediante
la metodologia OBA; lo script ha il compito di trasIormare le rilevazioni delle carat-
teristiche del sistema in modo piu strutturato al Iine della realizzazione Iinale dei
programmi
Script collegato: script di dettaglio di un contratto legato ad una descrizione di livello supe-
riore; serve per permettere un raIIinamento a passi successivi della rappre-
sentazione mediante scripts dell'applicazione
182
Servizio: nella metodologia OBA e la prestazione eIIettuata dal partecipante al contratto; e
da osservare che il servizio rappresenta il protocollo per il suo ottenimento e non
l'algoritmo di realizzazione, che non e di rilievo al momento dell'identiIicazione
del contratto
Sistema: insieme delle entita e delle relazioni che costituiscono il modello di un'applicazio-
ne e ne identiIicano il suo dominio
Stato: caratteristica dei dati di un sistema in un determinato istante
Strumenti: insieme dei programmi che permettono di supportare (ed eventualmente auto-
matizzare) il ciclo di analisi e di sviluppo
Struttura dati: realizzazione Iisica del modello dati orientato ad uno speciIico contesto ap-
plicativo (ad es., mediante un data base)
.




































183
BibliograIia

MethodWorks - Manuale utilizzatore
ParcPlace-Digitalk

Designing Object-Oriented Software - R. WirIs-Brock, B. Wilkerson, L. Wiener
Prentice Hall

Object-Oriented Software Engineering: A use case driven approach - I. Jacobson et al.
Addison-Wesley

Succeeding with Objects - Decision frameworks for project management - A. Goldberg,
K.S. Rubin
Addison-Wesley

Design Patterns - Elements of Reusable OO Software - E. Gamma, R. Helm, R. Johnson,
J. Vlissides
Addison-Wesley

The Timless Way of Building - C. Alexander
OxIord University Press

Rapid Software Development with Smalltalk - M. Lorenz
SIGS Book


























APPENDICE B - TECNICA DEI FUZZY SETS
184

Questa appendice presenta le caratteristiche dei Iuzzy sets da un punto di vista matematico;
per la sua comprensione non sono richieste conoscenze particolarmente soIisticate, ma ri-
chiede un interesse speciIico
19
.

In particolare questa appendice servira a giustiIicare l`aIIermazione che un sistema Iuzzy
permette la matematicizzazione dell`incertezza legata al linguaggio non matematico, per-
mettendone un utilizzo Iinalizzato all`ottenimento di risultati rigorosi seppure basati su Ior-
mulazioni eIIettuate da esperti umani.

Definizione 1: Sia U una collezione di oggetti (ad esempio
n
R U = ), che chiameremo uni-
verso del discorso; un Iuzzy set F deIinito in U e caratterizzato da una funzione di appar-
tenenza [ ] 1 , 0 : U
F
, dove
F
identiIica il grado di appartenenza di U u
nel Iuzzy set F.

Un Iuzzy set puo essere visto come la generalizzazione di un set 'tradizionale (che chiame-
remo insieme crisp), nel quale la Iunzione di appartenenza puo assumere due soli valo-
ri0,1}.

Definizione 2: L`insieme di tutti i punti U u per i quali sia abbia ( ) 0 > u
F
prende il nome
di supporto del F.S. F; il punto(i) U u dove ) (u
F
raggiunge il suo valore massimo pren-
de il nome di centro del F.S. F; se il supporto di F e un unico punto in cui 1 =
F
, F prende
il nome di singleton.

Definizione 3: Siano A e B due Iuzzy sets in U; allora, l`intersezione B A di A e B in U di
ogni U u ha la Iunzione di appartenenza:

)} ( ), ( min ) ( u u u
B A B A
=



L`unione di A e B ha la Iunzione di appartenenza:

)} ( ), ( max ) ( u u u
B A B A
=



Normalmente le operazioni di intersezione ed unione verranno identiIicate con i simboli
e .

Il complemento A di A in U ha la Iunzione di appartenenza:

) ( 1 ) ( u u
A
A
=

Occorre osservare che gli operatori per l`intersezione, l`unione ed il complemento possono
essere diIIerenti a seconda delle necessita per cui sono applicati; in generale, gli operatori
possono essere scelti in corrispondenza della deIinizione 4.


19
Questa appendice rappresenta le basi tecniche del generatore di sistemi neuro-Iuzzy FuzzyWorld, sviluppa-
to dalla EDOR Metodi Quantitativi di Milano.
Notizie speciIiche su questo prodotto soItware sono disponibili al sito www.edor.it
185
Definizione 4: Prendiamo in considerazione una Iunzione da |0,1| x |0,1| in |0,1| identiIi-
candola con ; questa Iunzione deIinisca le seguenti operazioni:

min{x,v} intersezione Iuzzy
xv prodotto algebrico
x v max{0,xv-1} prodotto vincolato

x se v1
v se x1 prodotto drastico
0 se x,v1 1

IdentiIicheremo questa Iunzione come T-norma; in modo analogo deIiniremo come
T-conorma e la denoteremo con il simbolo ; le operazioni deIinite sono le seguenti:

max{x,v} unione Iuzzy
xv-xv somma algebrica
x v min{1,xv} somma vincolata

x se v0
v se x0 somma drastica
1 se x,v1 0

Definizione 5: Siano U e J due universi di discorso e sia f un mappaggio da U a J; se ab-
biamo A in U; avremo una Iunzione di appartenenza:

( )
( )
( ) [ ] u v
A
v f u
B

1
sup

=

per il principio di estensione; quindi ( ) u
B
e il valore superiore di ( ) u
A
per tutti gli
U u tali che f(u)v con J v ; supporremo che ( ) v f
1
non sia vuoto; se ( ) v f
1
e vuoto
per qualche J v , sara ( ) 0 = v
B
.

Definizione 6: Siano U e J due universi del discorso; la relazione Iuzzy R e un Iuzzy set
nello spazio prodotto U x J; R avra Iunzione di appartenenza:

( ) v u
R
, con U u e J v

e sara indicato come relazione fuzzy

Definizione 7: Siano R e S due relazioni Iuzzy in U x J e J x W; la composizione di R e di S
e una relazione Iuzzy con Iunzione di appartenenza:

( ) ( ) ( ) [ ] w v v u v u
S R J v S R
, , sup , =



con W w U u , e qualsiasi operatore deIinito nella t-norma; questa relazione verra indi-
cata come composizione sup-stella

Definizione 8: sia deIinita una quintupla (x,T(x),U,G,M), nella quale x sia il nome di una va-
riabile, T(x) sia l`insieme di deIinizione di x, cioe l`insieme dei nomi di valori linguistici di
x, ognuno dei quali sia un Iuzzy set deIinito in U, G sia una regola sintattica per deIinire i
186
nomi dei valori di x e G sia una regola semantica per associare ogni valore al suo signiIica-
to; in questo caso, parleremo di variabile linguistica formale

Definizione 9: per variabile linguistica intuitiva intenderemo una variabile x in grado di
assumere valori deIinibili nel linguaggio comune, dove tali valori sono normalmente il mo-
do di individuare i Iuzzy sets della variabile; una variabile linguistica intuitiva puo assumere
valori numerici o identiIicati dalla notazione comune; poiche nel linguaggio comune i Iuzzy
sets appartenenti ad una variabile linguistica possono avere 'sIumature, di cui le piu note
ed utilizzate sono molto (in inglese: very) e pi o meno (in inglese: more or less), occorre
dare una deIinizione anche di questi concetti

Definizione 10: sia F un Iuzzy set in U, con il termine sfumatura (in inglese: hedge) indi-
cheremo una trasIormazione Iunzionale di ( ) u
F
; in particolare avremo:

( ) ( ) ( )
2
u u
F moltoF
=

e

( ) ( ) ( )
2 / 1
om
u u
F enoF piu
=

Definizione 11: nella logica tradizionale esistono due importanti procedure per la genera-
zione di inIerenze logiche: Modus Ponens e Modus Tollens; nella logica Iuzzy deIiniremo
un Modus Ponens Generalizzato (MPG):

Premessa 1: x IS A
Premessa 2: IF x IS A THEN v IS b

Conseguenza: v IS B

Dove A, A, B e B sono Iuzzy sets e x e v sono variabili linguistiche.

187
La seguente tabella mette in evidenza criteri intuitivi di generazione del Modus Ponens Ge-
neralizzato

x IS A (premessa) v IS B (conseguenza)
Criterio 1 x IS A v IS B
Criterio 2-1 x IS molto A v IS molto B
Criterio 2-2 x IS molto A v IS B
Criterio 3-1 x IS piu o meno A v IS piu o meno B
Criterio 3-2 x IS piu o meno A v IS B
Criterio 4-1 x IS not A v IS indeterminato
Criterio 4-2 x IS not A v IS not B


Definizione 12: deIiniremo Modus Tollens Generalizzato (MTG):

Premessa 1: v IS B
Premessa 2: IF x IS A THEN v IS b

Conseguenza: x IS A

Dove A, A, B e B sono Iuzzy sets e x e v sono variabili linguistiche.

La seguente tabella mette in evidenza criteri intuitivi di generazione del Modus Tollens Ge-
neralizzato

v IS B (premessa) x IS A (conseguenza)
Criterio 5 v IS not B x IS not A
Criterio 6 v IS not molto B x IS not molto A
Criterio 7 v IS not piu o meno B x IS not piu o meno A
Criterio 8-1 v IS B x IS indeterminato
Criterio 8-2 v IS B x IS A


Definizione 13: siano A e B due Iuzzy sets in U e J; deIiniremo implicazione fuzzy (indica-
ta da B A una speciale Iorma di relazione in U x J con le seguenti Iunzioni di apparte-
nenza
:
Congiunzione Iuzzy: ( ) ( ) ( ) v u v u
B A B A
=

,
Disgiunzione Iuzzy: ( ) ( ) ( ) v u v u
B A B A
=

,
Implicazione materiale: ( ) ( ) ( ) v u v u
B
A
B A
=

,
Calcolo proposizionale: ( ) ( ) ( ) v u v u
B A
A
B A
= ,
Modus Ponens General.: ( ) [ ] ( ) ( )} , 1 , 0 sup , v c u c v u
B A B A
=


Modus Tollens General.: ( ) [ ] ( ) ( )} , 1 , 0 inI , u c v c v u
A B B A
=



L`implicazione Iuzzy puo essere realizzata mediante una regola del tipo: IF x IS ATHEN v
IS B basata sui criteri intuitivi evidenziati nelle deIinizioni 11 e 12

188
Prima di trattare in modo piu approIondito le deIinizioni presentate, occorre descrivere la
struttura del sistema Iuzzy di riIerimento, che e noto in letteratura come un sistema Iuzzy
del tipo fuzzificazione / defuzzificazione.

La sua struttura e la seguente:




















La base di conoscenza e costituita da una collezione di regole del tipo IF-THEN che pos-
sono essere descritte in modo generico come:

( ) l
R : IF
1
x is
l
F
1
and . and
n
x is
l
n
F , THEN v is
l
G

dove
l
F
1
e
l
G sono Iuzzy sets in R U
i
e R J e x ( )
n
T
n
xU x U x x .... ...
1 1
e J v sono
variabili letterali.

La Iorma precedente di regola puo essere specializzata per ogni speciIico tipo di regola, ivi
comprese regole appartenenti alla logica tradizionale.

E` importante osservare che le regole che costituiscono il motore inIerenziale possono avere
due origini:

L`esperto umano che le Iormula sulla base della sua conoscenza
Una serie di osservazioni storiche, sulla base delle quali il sistema Iuzzy genera diretta-
mente le regole da utilizzare

FuzzyWorld e in grado di trattare entrambe le Ionti e la parte relativa all`apprendimento sara
approIondita piu avanti.

Nel motore inferenziale, principi e regole della logica Iuzzy sono utilizzati per realizzare
una mappatura dei Iuzzy sets in U nei Iuzzy sets in J; in questo caso il problema Iondamen-
























fuzzy sets in U
Base conoscenza
Motore inferenziale fuzzy
Defuzzificatore Fuzzificatore
x in U
fuzzy sets in J
v in J
189
tale e di capire in quale modo le regole della base di conoscenza devono essere interpretate
per soddisIare i criteri intuitivi speciIicati nelle deIinizioni 11 e 12.

Ogni regola della base di conoscenza e interpretata come un`implicazione Iuzzy.

Sia A in U l`input al motore inIerenziale; allora, ogni regola IF-THEN determina un Iuzzy
set
l
B in J utilizzando la composizione sup-stella:

( ) ( ) ( ) [ ] x v x v
A G xF x F
U x
B
l l
n
l l '
1
, sup
...
=



Come si e visto dalla deIinizione 13, esistono sei possibili interpretazioni dell`implicazione
Iuzzy, ognuna delle quali puo utilizzare gli operatori delle dIinizioni 4; sono quindi possibili
diIIerenti interpretazioni dell`implicazione ottenuta; ad esempio:

Mini-operazione: ( ) ( )} , min v x
B A B A
=


Prodotto-operazione: ( ) ( ) v x
B A B A
=



Esaminando il risultato delle equazione composizionali R A B ' ' = e ' ' B R A = applicati a
MPG e MTG per i valori speciIici A A, A molto A, A piu o meno A e A A, po-
tremo osservare che le due implicazioni precedenti risultano le piu adatte a soddisIare i cri-
teri intuitivi che sono stati evidenziati nelle deIinizioni 11 e 12.

In conseguenza di tale osservazione, FuzzyWorld utilizza le precedenti implicazioni per le
operazioni del motore inIerenziale.

Il fuzzificatore e la componente che trasIorma i valori crisp provenienti dall`esterno del si-
stema Iuzzy in gradi di appartenenza.

Il IuzziIicatore eIIettua un mappaggio del valore crisp ( ) U x x x
n
= ,...,
1
nel Iuzzy set A in
U; ci sono almeno due scelte per eIIettuare questo tipo di mappaggio:

Il mappaggio di un singleton: in questo caso A e un singleton con supporto x ;
( ) 1 '
'
= x
A
per x x =
'
e ( ) 0 '
'
= x
A
per tutti i valori U x
'
per i quali sia x x '
Il mappaggio di un non singleton: si avra un valore 1 in corrispondenza di ( ) x
A'
e quin-
di ( ) '
'
x
A
diminuira man mano che
'
x si allontana da x ; in generale, supporremo che sia
( )
( ) ( )


=
2
' '
'
exp

x x x x
x
T
A
, dove
2
e un parametro che caratterizza la Iorma del
Iuzzy set.

Il defuzzificatore eIIettua il mappaggio dei i Iuzzy sets in J in un valore crisp J v ; ci so-
no almeno tre modi per eIIettuare questo tipo di mappaggio:

DeIuzziIicatore massimo: ( ) ( ) v v
B J v '
sup arg

=

190
Centroide
( ) ( )
( ) ( )

=
=
=
M
l
l
B
M
l
l
B
l
v
v v
v
l
l
1
1




Centroide modiIicato
( ) ( )
( ) ( )

=
=
=
M
l
l
l
B
M
l
l
l
B
l
v
v v
v
l
l
1
1
/
/




Queste due ultime Iorme hanno un`importanza particolare, perche permettono di utilizzare
un sistema Iuzzy come rete neurale e quindi di permetterne l`addestramento mediante dati
storici di sperimentazione.