273
Dispense del corso RICERCA OPERATIVA per i corsi di Laurea in Ingegneria BTRR e MMER a cura di Laura Palagi www.dis.unroma1.it/~ palagi 25 Gennaio 2010

Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

  • Upload
    haquynh

  • View
    226

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Dispense del corso

RICERCA OPERATIVAper i corsi di Laurea in Ingegneria BTRR e MMER

a cura di Laura Palagi

www.dis.unroma1.it/~ palagi

25 Gennaio 2010

Page 2: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Dimostrazioni non in programma

Lemma 4.1.1Teorema 5.1.6Teorema 5.3.3TeoremaTeorema 6.3.9Teorema 6.3.10Teorema 6.3.11teorema 7.4.1Teorema 7.4.4Corollario 7.6Teorema 8.2.1 (Lemma di Farkas)Teorema 10.1.10Teorema 10.2.1Teorema 10.4.2Teorema 13.5.1.

0

Page 3: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Capitolo 1

Introduzione

La Ricerca Operativa e una disciplina relativamente giovane. Il termine Ricerca Operativae stato coniato in ambito militare verso la fine degli anni ‘30 e deriva dal termine inglese“Operational Research”, ovvero la ”ricerca sulle operazioni (militari)”.

La Ricerca Operativa (di seguito indicata con l’acronimo RO) si occupa dello sviluppo edell’applicazione di metodi quantitativi per la soluzione di problemi di decisione che si presen-tano nella gestione di imprese e organizzazioni.

Quando la complessita dei sistemi era relativamente contenuta, e la quantita di dati disponi-bili estremamente limitata, il personale esperto era sufficiente a prendere le decisioni necessariealla conduzione dell’impresa.

La crescente complessita dei sistemi aziendali congiuntamente all’enorme quantita di datimessa a disposizione dall’informatizzazione capillare ha reso indispensabile l’utilizzo di stru-menti automatici di decisione che attraverso la modellazione matematica permettano la soluzionedi problemi di grandi dimensioni.

La RO, quindi, e caratterizzata dall’uso di modelli matematici definiti e risolti al fine difornire indicazioni ai “decisori” nell’atto della scelta. Non a caso, la RO e anche nota comemanagement science, e cioe la Scienza della Gestione, definizione che ne sintetizza finalita eambizioni.

1.1 Breve storia della Ricerca Operativa

Il termine Ricerca Operativa, si e detto, e legato alle prime applicazioni della RO per aumentarel’efficienza di operazioni militari della Seconda Guerra Mondiale. Tuttavia esistono esempi im-portanti di anticipazione dei metodi della RO in anni piu lontani; il piu famoso risale a F. Taylorche nel 1885 elaboro uno studio sui metodi di produzione; prima ancora, nel 1776, G. Mongeaveva studiato un problema di trasporti. Tuttavia la nascita della RO e legata agli studi chenegli anni immediatamente precedenti alla Seconda Guerra Mondiale vennero condotti in GranBretagna per risolvere problemi strategici e tattici in operazioni militari. Piu in particolarequesti studi erano legati all’uso efficiente di un nuovo strumento di difesa: il radar. Infatti nel

0A questo paragrafo sono associate le slide della lezione disponibili sul sitohttp://www.dis.uniroma1.it/~ or/meccanica/slide prima lezione09-10.pdf

1

Page 4: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

1937 la Royal Air Force inizio degli esperimenti di un sistema di controllo della difesa aereabasato sull’uso di una stazione radar situata a Bawdsey Research Station, nella costa est; gia daiprimi esperimenti si resero conto che era molto difficile gestire efficientemente le informazioniprovenienti dal radar. Nel luglio 1938 furono compiuti altri esperimenti con l’aggiunta di quat-tro stazioni radar lungo la costa nella speranza che il sistema di controllo migliorasse sia incopertura sia in efficienza; invece non fu cosı ; dai nuovi esperimenti emersero seri problemi:c’era la necessita di coordinare e correlare le tante informazioni, spesso anche in conflitto tra diloro, che venivano ricevute dalle stazioni radar aggiunte. Nell’imminenza della Guerra si resenecessario tentare qualche nuovo approccio; percio il sovrintendente della Bawdsey ResearchStation propose di sviluppare un programma di ricerca che riguardasse gli aspetti operativi delsistema e non piu solamente quelli prettamente tecnici che erano da considerare soddisfacenti.Il termine “Operational Research” – Ricerca nelle operazioni (militari) – fu coniato per descri-vere questa nuova branca delle scienze applicate. Fu quindi selezionato un gruppo di scienziatidi vari discipline per costituire un “OR team”; il progetto fu diretto dal comandante in capodella Royal Air Force, Air Chief Marshal Sir Hugh Dowding. Nell’estate del 1939 la GranBretagna effettuo l’ultima esercitazione pre-bellica dove si evidenzio un notevole miglioramentonelle operazioni di difesa aerea grazie al contributo del gruppo di scienziati. Nacque quindi unavera e propria sezione che piu tardi, nel 1941, prese il nome formale di “Operational ResearchSection”. Durante il conflitto mondiale furono molteplici e importanti i contributi strategici diquesta sezione permettendo di salvare piloti e aerei.

Al termine della guerra, alcuni degli scienziati coinvolti nel progetto formarono nuclei diricercatori per lo sviluppo post bellico e la loro attivita si estese a campi diversi da quellomilitare; in particolare, con l’espandersi delle iniziative industriali e con l’avvento dei com-puter che sono uno strumento essenziale per la risoluzione dei problemi, c’e stata un’espansionedell’utilizzo della RO all’interno di diverse realta applicative.

Dagli anni ’60 in poi le applicazioni della RO hanno avuto diffusione crescente, inizialmentenell’ambito di grandi gruppi industriali e succesivamente, grazie anche alla disponibilita digrandi potenze di calcolo a costi contenuti, in quasi ogni settore industriale, nei servizi e nelleamministrazioni pubbliche.

1.2 La Ricerca Operativa oggi

Ai nostri giorni la rilevanza applicativa delle tecniche della RO e riconosciuta e apprezzatain ambito industriale. Negli ultimi cinque anni il numero di addetti del settore e infatti cresciutodi un fattore 100. Contestualmente, si e allargata la richiesta di esperti di RO nelle impresemanifatturiere e di servizi: un laureato, esperto di tecniche della RO puo ragionevolmenteaspirare, per esempio, a ricoprire incarichi di responsabilita nelle industrie manifatturiere, nellaassicurazioni, nel marketing, nelle societa di consulenza aziendale, nella pianificazione e, sempredi piu, nelle telecomunicazioni.

Alcuni esempi di problemi possono essere risolti per mezzo delle tecniche della RO sono iseguenti:

• Finanza e Investimenti;si vuole rispondere a domande del tipo: quanto dobbiamo investire, e come? Doverimediare i capitali necessari? Quanto ci costera? Alcuni esempi sono:

2

Page 5: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

– Selezione degli investimenti:si tratta di scegliere, fra un vasto insieme di alternative di investimento, quali atti-vare e quali no in presenza di vincoli di budget e con l’obiettivo di massimizzare iricavi.

– Scelta del portafoglio;consiste nel decidere in quali titoli e con quali quote investire i nostri capitali inmodo da massimizzare il ricavo atteso, oppure minimizzare il rischio, etc.

– Determinazione del prezzo di derivati finanziari;si vuole determinare il prezzo di un prodotto derivato finanziario (per esempiodi un’opzione o di un future) in funzione del tempo e dell’andamento del titolosottostaste.

• pianificazione della produzione;come assegnare la forza lavoro alle varie attivita della nostra impresa? Su quali macchinee per quanto tempo ci conviene effettuare i nostri processi?Si tratta di pianificare i livelli di produzione e/o l’utilizzazione di risorse; si hanno spessoproblemi di allocazione ottima di risorse cioe problemi riguardanti la distribuzione dirisorse limitate tra alternative concorrenti in modo da minimizzare il costo complessivo omassimizzare il guadagno totale; tali risorse possono essere materie prime, manodopera,tempi di lavoro su macchine, capitali investiti.

• gestione ottima delle scorte;si tratta di determinare i livelli di produzione e di scorte nella gestione di materiali grezzi,prodotti in lavorazione etc.; quando e quanto conviene riordinare materiali o beni in mododa ottenere il miglior compromesso fra costi di riordino e di produzione/acquisto e costi diimmagazzinamento. Conviene, cioe, ordinare o produrre piu spesso minori quantita perfar fronte alla domanda corrente, oppure ordinare/produrre maggiori quantita e lasciarlein magazzino per soddisfare anche la domanda futura?

• localizzazione e dimensionamento di impianti;Quanti depositi di un’impresa di distribuzione alimentare costruire e dove localizzarli perservire i negozi a dettaglio in un’area d’interesse? Dove costruire degli ospedali (o scuoleo stazioni dei vigili del fuoco) in modo da ottimizzare il servizio fornito? Dove convienecostruire le stazioni di base di una rete GSM/UMTS per coprire soddisfacentementeterritorio e traffico, e con che potenza dovranno trasmettere? In senso lato, si trattadi problemi in cui si deve decidere dove istallare “impianti di produzione” in modo da“rifornire” in modo ottimale aree distribuite su un territorio.

• progetto di reti di comunicazione / telecomunicazione;si tratta di definire i collegamenti e dimensionare le capacita di una rete stradale, ditelecomunicazione, di trasmissione dati, etc., in modo da garantire il traffico tra le varieorigini e destinazioni e minimizzare il costo complessivo; ad esempio, per instradare lecomunicazioni telefoniche e dati fra Roma e Venezia, conviene costruire una nuova lineaad alta velocita in fibra ottica fra Firenze e Bologna oppure istallare un ponte radio alarga banda?

• determinazione di flussi ottimi; si devono inviare merci (informazioni, telecomunicazioni,corrente elettrica, etc.) da alcune sorgenti (origini) a un certo numero di destinazioniutilizzando una rete di strade (fibre ottiche, doppini telefonici, cavi coassiali, emettitori)in modo da soddisfare le richieste minimizzando i costi di trasporto.

3

Page 6: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

• assegnazione di frequenze di trasmissione;quali frequenze (prese da una banda limitata) devo assegnare a una rete di trasmetti-tori radio-televisivi in modo da minimizzare le interferenze reciproche o massimizzare lacopertura del territorio?

• sequenziamento;quali processo o operazione effettuare prima e quali dopo? Per esempio, come sequenziarei treni sulla rete in modo da evitare conflitti sulle tratte e minimizzare i tempi morti, leattese alle stazioni, etc.?

• project planning;come sequenziare le molteplici attivita di un progetto? Quanto durera il progetto? Comedevono essere gestite le risorse?

• allocazione ottima di componenti elettronici (VLSI design);come disegnare una piastra madre in modo da minimizzare le lunghezze dei percorsiseguiti dai segnali elettrici?

• determinazione dei turni del personale;si tratta, ad esempio, di assegnare ai convogli il personale viaggiante sui treni (conducenti,bigliettai, etc.) in modo da minimizzare il numero di viaggi ”a vuoto” (necessari perriportare il personale alla loro sede). Un problema analogo si presenta nell’assegnazionedi equipaggi (piloti, hostess, stewart) a voli.

• manutenzione di beni;cioe il problema di decidere quando e se effettuare la manutenzione di alcuni beni soggettiad usura, in modo da minimizzare il costo complessivo.

• istradamento di veicoli;quali percorsi devono seguire i veicoli di una flotta di automezzi per, ad esempio, rac-cogliere l’immondizia, o rifornire una rete di negozi, in modo da minimizzare le distanzecomplessive percorse?

• studi sulla struttura del DNA;come assegnare sequenze a geni minimizzando la probabilita dell’errore sperimentale?Come determinare un albero filogenetico massimizzando la verosimiglianza?

• progettazione di forme ottime;che forma deve avere una macchina in modo da presentare meno resistenza possibileall’aria? Che profilo deve evere l’ala di un aereo in modo da massimizzare la portanza?

• calcolo delle traiettorie ottime;qual e la traiettoria che permette ad un veicolo spaziale di arrivare sulla luna e tornareusando la quantita minima di carburante?

• ricostruzione di immagini;come si possono visualizzare le informazioni fornite, per esempio, da una TAC in mododa renderle piu leggibili possibili per il medico?

• progettazione strutturale ;qual e il progetto di un ponte o di un grattacielo che resiste meglio a venti molto forti oalle sollecitazioni derivanti da un terremoto?

4

Page 7: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

• yield management ;Letteralmente traducibile come ”Gestione del ritorno economico”. In una azienda carat-terizzata da varieta di servizi e di prezzi, domanda variabile nel tempo, stabilire quanti equali servizi vendere avendo incertezza sulla domanda futura, allo scopo di massimizzareil profitto globale. Si tratta di un problema diffuso tra le compagnie di trasporto aereo,ferroviario, marittimo, ma anche per catene alberghiere e di noleggio auto.

Questa lista, lungi dall’essere esaustiva, serve a mettere in evidenza le potenzialita deglistrumenti della RO nella risoluzione di problemi applicativi complessi e disparati.

In Italia la penetrazione della RO e stata piuttosto lenta. La situazione e rovesciata negliStati Uniti e nell’Europa Centro-Settentrionale ove la crescita del settore e stata formidabile. Leragioni del ritardo sono in primo luogo culturali: mancanza di conoscenze approfondite da partedelle aziende, insufficente disseminazione dei risultati da parte dell’accademia. Lentamente,questa situazione va modificandosi anche in Italia, e la sensibilita delle aziende e fortementecresciuta negli ultimi due-tre anni. In particolare ci si e resi conto che l’informatizzazione capil-lare e l’accresciuta potenza di calcolo non sono sufficienti a risolvere i problemi dell’organizzazioneaziendale in modo ottimale.

A confermare questo asserto si consideri il seguente, illuminante esempio (dovuto a G. B.Dantzig1): si supponga di essere a capo di un’azienda che impiega 70 dipendenti e deve assegnareciascuno di essi a 70 differenti mansioni; poiche le capacita lavorative di ogni singolo dipendentesono diverse, non e indifferente per l’azienda come effettuare l’assegnamento. Naturalmente sideve fare in modo che ciascun dipendente sia assegnato ad una sola mansione e che ciascunamansione sia svolta esattamente da un dipendente. Il problema consiste nel confrontare le70! possibilita che ci sono per selezionare quella migliore nel senso che permetta di ottenere ilmaggiore utile per l’azienda. Le possibilita sono un numero molto grande, piu grande di 10100.Ora si supponga di disporre di un calcolatore capace di effettuare un milione di calcoli al secondoe che sia in funzione dal tempo del big bang; avrebbe questo calcolatore oggi nell’anno 2000esaminato tutte le 70! combinazioni possibili ? La risposta e no. Supponiamo allora di disporredi un calcolatore che possa effettuare un bilione di assegnamenti per ogni nano secondo; larisposta sarebbe ancora no. Supponiamo allora di riempire la superficie terrestre di calcolatoridi questo tipo che lavorano in parallelo; la risposta sarebbe ancora no. Si dovrebbe disporre inverita di 1040 terre ciascuna ricoperta di calcolatori di questo tipo, in funzione dal tempo delbig bang fino a quando il sole si raffreddera.

Da questo esempio facile da enunciare si deduce come in certe situazioni sia assolutamenteimpossibile esaminare tutti i casi possibili per determinare qual e il migliore. Per questo,prima dell’avvento della RO, l’unica possibilita era affidarsi al buon senso di persone guidatedall’esperienza che stabilivano regole “ad hoc” di base che dovevano essere seguite per risolverei problemi (“ad hoc” ground-rule approach).

A questo tipo di approccio si contrappone la RO, il cui contributo centrale consiste nell’introduzionedel cosiddetto approccio modellistico-ottimizzatorio per la soluzione di un problema di decisione.In questo approccio si organizza l’analisi di un problema reale in due fasi:

• la rappresentazione del problema attraverso un modello matematico che ne astragga gli

1G.B. Dantzig - Linear Programming the story about it began: some legends, a little about historicalsignificance, and comments about where its many mathematical programming extensions may be headedin History of Mathematical programming - a collection of personal reminiscences, J.K. Lenstra, A.H.G.Rinnooy Kan and A. Schrijver eds., NOrth Holland (1991).

5

Page 8: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

aspetti essenziali e che schematizzi le interrelazioni esistenti tra i diversi aspetti delfenomeno che si sta studiando;

• lo sviluppo di metodi matematici efficienti (algoritmi di soluzione) per determinare unasoluzione ottima del problema o una sua buona approssimazione.

Naturalmente, per costruire correttamente un modello matematico-ottimizzatorio che rap-presenti un particolare fenomeno, si devono individuare i parametri di controllo significativi eun criterio per la valutazione della qualita della soluzione. La determinazione del modello eun’attivita complessa e non completamente formalizzabile, che deve far ricorso da una partea una conoscenza approfondita delle caratteristiche del problema in esame e dall’altra a stru-menti che provengono da diverse branche della matematica. Una volta determinato il modellocorretto, la RO si occupa di fornire una procedura esplicita per determinare una soluzione diun problema; tale procedura puo essere rappresentata da metodi matematici analitici o, comepiu spesso accade, da metodi numerici che determinano la soluzione del problema mediantespecifici algoritmi di calcolo. Da quanto detto si puo capire come la RO sia una metodologiatipicamente interdisciplinare, applicabile nei piu svariati contesti e come proprio dagli stimoliprovenienti da campi anche molto distanti tra di loro tragga una delle principlai ragioni dellasua attuale vitalita.

6

Page 9: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

1.3 L’approccio modellistico

Il termine modello e di solito usato per indicare una costruzione artificiale realizzata per ev-idenziare proprieta specifiche di oggetti reali. Esistono modelli concreti (come ad esempio iprototipi di aerei o automobili), ma piu spesso, come nella Ricerca Operativa, si consideranomodelli astratti cioe modelli matematici che usano il simbolismo dell’algebra per mettere inevidenza le relazioni principali dell’oggetto che deve essere modellato. I modelli di cui si trat-tera in seguito sono quindi modelli matematici, e sono costituiti da un insieme di relazioni chedescrivono in modo semplificato, ma rigoroso, uno o piu fenomeni del mondo reale. La nozionedi modello matematico per rappresentare il mondo reale non e certo nuova: gia Pitagora nel IVsecolo a.C. tentava di costruire un modello matematico dell’Universo. L’interesse per la mod-ellistica matematica e notevolmente cresciuto e attualmente si confida che attraverso modellimatematici sia possibile rappresentare molteplici aspetti del mondo reale e studiarne le pro-prieta. Cio ha portato ad un enorme sviluppo delle applicazioni della modellistica matematicaanche al di fuori delle tradizionali applicazioni alle scienze fisiche. Si e cosı avuta di fatto unavasta utilizzazione di modelli matematici in settori lontani dagli ambiti piu tradizionali come,ad esempio, le scienze sociali, la biologia, le scienze ambientali, la psicologia. Come esempiconcreti, si pensi agli studi sulla dinamica della popolazione, sulla diffusione delle epidemie,sul risanamento ambientale. Questa notevole diffusione della modellistica matematica e anchedovuta al fatto che l’evoluzione di un modello matematico puo essere rapidamente studiatagrazie all’uso di moderni calcolatori elettronici.

E evidente come in molti casi le situazioni rappresentate da un modello sono molto complessee alcune volte influenzate da fenomeni di natura aleatoria; per questa ragione, sono state definitediverse classi di modelli matematici: modelli stocastici che considerano grandezze che possonoessere influenzate da fenomeni aleatori e modelli deterministici che considerano grandezze esatte;inoltre a seconda che le interazioni tra le grandezze sono immediate o distribuite nel tempo, siparla di modelli statici e di modelli dinamici.

L’approccio modellistico per risolvere un problema di decisione o, piu in generale, l’impiegodi metodi matematici per la soluzione di problemi applicativi, viene di solito realizzato at-traverso diverse fasi. Tali fasi possono essere schematizzate nel seguente modo:

• Descrizione e Analisi del problema

• Costruzione del modello

• Analisi del modello

• Selezione di “buone” soluzioni (simulazione e/o ottimizzazione)

• Validazione del modello

Descrizione e Analisi del problemaLa prima fase consiste nell’analisi della struttura del problema e nell’individuazione dei datinecessari per una descrizione per una corretta definizione del problema. Si tratta cioe di in-dividuare i parametri di controllo e di individuare i legami logico-funzionali che definiscono ilproblema e lo/gli obiettivi.

Costruzione di un modello matematicoNella fase di costruzione del modello matematico si deve fornire una descrizione formalizzatadel problema di decisione facendo uso del linguaggio della matematica. Si dovra cercare, quindi,

7

Page 10: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

una corrispondenza tra relazioni del mondo reale (relazioni tecnologiche, leggi fisiche, vincoli dimercato, etc.) e relazioni matematiche (equazioni, disequazioni, dipendenze logiche, etc.).

relazioni del mondo reale ←→ relazioni matematiche

La costruzione di un modello richiede valutazioni e scelte non facilmente codificabili in un pro-cedimento standard. In particolare, per la costruzione di modelli soddisfacente e necessariauna conoscenza approfondita dell’applicazione d’interesse e dei metodi matematici di soluzione.La conoscenza dell’applicazione assicura che il modello sia soddisfacente e risponda alle do-mande concrete che l’utilizzatore gli porra. La conoscenza dei metodi permette la definizionedi modelli ”risolvibili”, cioe per i quali e possibile (al termine del processo di modellazione) ladeterminazione di soluzioni di buona ”qualita”.

E importante ribadire che un modello e definito per mezzo delle relazioni che lo costituisconoed e quindi necessario che tali relazioni siano il piu possibile indipendenti dai dati introdottinel modello; questo perche uno stesso modello deve poter essere usato in differenti occasionicon dati (cioe costi, disponibilita di risorse, limiti tecnologici, etc.) diversi. Lo studio di questoaspetto, come gia detto, rientra nella fase di analisi del modello sotto il nome di analisi dellastabilita del modello rispetto ai dati introdotti.

In generale, la costruzione formale di un modello di Programmazione Matematica si puo sinte-tizzare come segue:

1. Associare opportune variabili di decisione alle grandezze reali. Tali variabili costi-tuiscono le incognite del problema.

2. Esprimere quantitativamente i legami esistenti tra le variabili e le limitazioniderivanti da considerazioni di carattere fisico, economico, etc. Tali legami e limi-tazioni definiscono i vincoli. L’insieme dei valori delle variabili per cui i vincoli sonosoddisfatti costituisce l’insieme ammissibile.

3. Esprimere formalmente l’obiettivo che si intende minimizzare o massimizzare.

Analisi del modello matematicoSegue l’analisi del modello che prevede la deduzione per via analitica, in riferimento a determi-nate classi di problemi, di alcune importanti proprieta; le principali sono:

– esistenza della soluzione ottima;

– condizioni di ottimalita, cioe una caratterizzazione analitica della soluzione ottima;

– stabilita delle soluzioni al variare dei dati o di eventuali parametri presenti.

Lo studio delle condizioni di ottimalita ha sia motivazioni di natura teorica, sia motivazionidi natura algoritmica. Dal punto di vista teorico, una condizione di ottimalita puo servire a

8

Page 11: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

caratterizzare analiticamente le soluzioni di un problema di ottimo e quindi consentire di svol-gere analisi qualitative, anche in assenza di soluzioni numeriche esplicite; un esempio e l’analisidella sensibilita delle soluzioni di un problema di ottimo rispetto a variazioni parametriche.

Selezione di “buona” soluzioneLa successiva fase di selezione di “buona” soluzione corrisponde alla possibilita di determinaretra tutte le scelte possibili costituite dalle soluzioni ammissibili, quella ottima o una sua buonaapprossimazione.

I problemi di ottimizzazione che si presentano nella pratica sono di solito cosı complessiche non e possibile determinarne una soluzione per via analitica. La complessita e determinatainnanzi tutto dal numero di variabili e di vincoli, che definiscono la dimensione del problema;e poi dalla eventuale presenza di funzioni non lineari tra le funzioni che definiscono l’obiettivoe/o i vincoli.

Se il modello e molto semplice puo essere possibile risolvere le relazioni e utilizzare i dati adisposizione per determinare una soluzione analitica. La soluzione analitica e possibile solo nelcaso di poche variabili e di funzioni estremamente semplici, e cioe solo nei casi che si utilizzanocome esempi ed esercizi nei testi e sulla lavagna. Molto spesso, anche se esiste una soluzioneanalitica e estremamente complessa e la sua determinazione richiede molte risorse di calcolo; adesempio invertire una matrice e un banale esempio per il quale esiste una formula analitica, mache dal punto di vista numerico puo per certe istanze non essere affatto banale. Quindi, nellapratica, per determinare una “buona” soluzione di un problema di ottimizzazione occorre farericorso all’uso del calcolatore.I due aspetti piu importanti e in qualche modo complementari nella ricerca Operativa dell’usodel calcolatore per la soluzione di un modello matematico sono la simulazione e l’ottimizzazione.

Il processo di simulazione utilizza un modello matematico che consente di visualizzarel’effetto di alcune decisioni sul sistema in esame senza che queste debbano essere realizzateeffettivamente sul processo reale. La simulazione consiste quindi nella valutazione numericadelle funzioni che definiscono il modello per alcuni valori delle variabili di interesse allo scopodi verificare come influenzino alcune misure di performance dell’uscita. Molto spesso, i modelliper i quali si utilizza la simulazione includono qualche aspetto di natura stocastica e anchedinamica (di evoluzione nel tempo).La simulazione puo essere usata come strumento per l’ottimizzazione nel senso che colui cheprende le decisioni puo procedere per tentativi e scegliere la “migliore” tra varie alternativepossibile. Il modello matematico implementato nel simulatore consente di valutare l’effetto dellesue decisioni sul sistema nel suo complesso. Questo tipo di approccio e detto analisi di scenari.L’analisi di scenari e particolarmente utile nel caso di sistemi estremamente complessi e per iquali una rappresentazione analitica di tutti i legami logico-funzionali puo non essere possibile.La soluzione determinata tramite l’analisi di scenari possibili non ha pero alcuna garanziadi essere quella ottima o una sua approssimazione. L’uso della simulazione come strumentodi ottimizzazione puo essere poco significativo sebbene estremamente flessibile; viceversa puoavere un ruolo molto significativo nella successiva fase di validazione del modello in quantoconsente di individuare imprecisioni e/o errori nel modello stesso.Non si deve confondere quindi il ruolo di ottimizzazione e simulazione. Dato un modello, ilprocesso di ottimizzazione consiste nella determinazione della soluzione ottima, se esiste, oalmeno di una sua buona approssimazione. Nella pratica, per risolvere un problema di ottimiz-zazione occorre fare ricorso ad un algoritmo iterativo, cioe ad un programma di calcolo che, apartire da una approssimazione iniziale x0 della soluzione, determina, con una appropriata se-

9

Page 12: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

quenza di operazioni che definiscono una successione di valori xk, una nuova approssimazionex∗. La possibilita di realizzazione di algoritmi e fortemente legata alla capacita di definirecondizioni di ottimalita che caratterizzano la soluzione ottima di un certo modello.

L’analisi del modello matematico e la definizione di un algoritmo per la sua soluzione sonoaspetti fortemente legati tra di loro.Molto spesso software di ottimizzazione e di simulazione sono integrati con software statisticoo con fogli elettronici (spreadsheets). La combinazione di simulazione e/o ottimizzazione conla “visualizzazione” dei risultati e una combinazione vincente. La visualizzazione rende l’uscitadel processo di simulazione e/o di ottimizzazione molto piu comprensibile e aggiunge spessomaggior credibilita al modello, soprattutto nei confronti di un pubblico non tecnico.L’uso di fogli elettronici per la costruzione di modelli per l’uso di simulazione e di ottimizzazionesara discusso in un capitolo successivo.

Validazione del modelloLa soluzione numerica ottenuta al passo precedente deve poi essere valutata praticamente.Questa fase di costruzione del modello non deve essere sottovalutata. I motivi di inattendibilitadi un modello possono essere molti; in particolare la maggior difficolta consiste nell’ottenere datie/o informazioni validi. Spesso questo e legato al diverso linguaggio utilizzato dagli esperti delproblema reale e dagli esperti di ottimizzazione. Informazioni essenziali sono spesso trascurateperche talmente scontate per l’esperto del problema da non dover essere raccontate. O viceversamodelli matematici troppo dettagliati possono produrre soluzioni incomprensibili.La “validazione” del modello puo avvenire attraverso una verifica sperimentale oppure conmetodi di simulazione, allo scopo di ottenere, in questa fase di interazione con l’esperto, unmodello matematico sempre piu attendibile.

La definizione di un modello si configura quindi come un processo di raffinamento iterativo,che puo essere schematizzato come rappresentato in Figura 1.1.

10

Page 13: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

ANALISI DEL PROBLEMA

COSTRUZIONEDEL MODELLO

ANALISI DEL MODELLO

SOLUZIONENUMERICA

VALIDAZIONEDEL MODELLO

Figura 1.1: Fasi dell’approccio modellistico

Vantaggi dell’approccio modellisticoEsistono diverse ragioni per adottare l’approccio modellistico per la soluzione di problemi: siriassumono di seguito le principali.

– Maggiore comprensione del problema.Il modello e una rappresentazione semplificata del problema e spesso la sua costruzioneconsente di individuare proprieta strutturali del problema che altrimenti non sarebberoaffatto evidenti.

– Possibilita di risolvere matematicamente il problema.Grazie al modello e possibile analizzare matematicamente il problema ed ottenere cosı unasoluzione che, soprattutto in riferimento a scopi di pianificazione, permette di adottarestrategie che da una sola analisi strutturale del problema non apparirebbero evidenti oche a volte potrebbero essere perfino controintuitive.

– Deduzione analitica di importanti proprieta.Nella fase di analisi del modello e possibile dedurre per via analitica alcune importantiproprieta del problema sulla base dei risultati disponibili per la classe di problemi a cuisi fa riferimento.

11

Page 14: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

– Possibilita di simulazioni.Con un modello e possibile effettuare esperimenti che spesso non e possibile effettuare di-rettamente nella realta. La fase di simulazione e un passo fondamentale nella costruzionedi un modello che puo essere utilizzata per verificare l’effetto di una decisione, non nec-essariamente quella ottima, su un prototitpo del sistema e non sul sistema stesso; adesempio, l’uso di un modello consente di studiare gli effetti dell’adozione di una partico-lare misura economica in un paese senza la necessita di sperimentarla direttamente. Ildecision maker ha uno strumento che gli consente di valutare l’effetto di una sua decisionesenza essere necessariamente in grado di capire l’aspetto modellistico del problema.

Critiche all’approccio modellisticoLe principali critiche all’approccio modellistico possono essere sintetizzate nei seguenti duepunti:

– Impossibilita di quantificare soddisfacentemente con opportuni valori numerici alcuni datirichiesti dal modello; questo accade, ad esempio, nel tentativo di quantificare con un costoo con un profitto alcuni valori sociali soprattutto in relazione a scopi di pianificazione.

– La qualita delle risposte che un modello produce potrebbero dipendere profondamentedall’accuratezza dei dati introdotti.

La qualita delle risposte fornite dal modello dipende dall’accuratezza della sua definizione:la fase di validazione e cruciale per valutare la soluzione numerica ottenuta e completare ilmodello introducendo elementi trascurati in una prima fase.

1.4 Un primo esempio di costruzione di un modello matem-atico

Come primo esempio di costruzione di un modello matematico analizziamo un semplice prob-lema di pianificazione degli investimenti.

Esempio 1.4.1 – Capital Budgeting. Supponiamo di dover investire £1000 sul mercatofinanziario. Supponiamo inoltre che il mercato offra tre tipi diversi di investimenti A,B,Cciascuno caratterizzato da un prezzo d’acquisto e da un rendimento netto, che sono riassuntinella seguente tabella:

A B Ccosto 750 200 800rendimento 20 5 10

Si vuole decidere quali degli investimenti effettuare per massimizzare il rendimento sapendo chegli investimenti A, B, C non si possono effettuare in modo parziale cioa non sono frazionabili.

Analisi del problema e costruzione del modello.

Si tratta di un problema di pianificazione degli investimenti. Si devono definire formalmente levariabili di decisione, l’insieme delle soluzioni ammissibili e la funzione obiettivo.

12

Page 15: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

– Variabili di decisione. In questo caso il decisore vuole semplicemente sapere, per ogni investi-mento, se tale investimento deve essere effettuato oppure no. Una scelta naturale delle variabilidi decisione e la seguente:

xi = 0 non si effetua l’investimento i−esimo

1 si effettua l’investimento i−esimoi = A,B,C (1.1)

– Insieme ammissibile. In base alla definizione delle variabili, le possibili scelte compatibili conil nostro budget sono:

(0) non si effettuano investimenti xA = xB = xC = 0

(1) si effettua l’investimento A; xA = 1, xB = xC = 0

(2) si effettua l’investimento B; xA = 0, xB = 1, xC = 0

(3) si effettua l’investimento C; xA = xB = 0, xC = 1

(4) si effettuano gli investimenti A e B; xA = xB = 1, xC = 0

(5) si effettuano gli investimenti B e C; xA = 0, xB = xC = 1.

(6) si effettuano gli investimenti A e C; xA = 1, xB = 0, xC = 1.

(7) si effettuano gli investimenti A, B e C; xA = xB = xC = 1.

Tra queste solo alcune sono compatibili con il nostro budget. In particolare, notiamo che lepossibilita A, C e A, B, C non sono ammissibili in quanto il costo supera la nostra disponibilita,come si evince dalla Tabella 1.4.

L’insieme ammissibile oe costituito dalle scelte (0)− (5) ed e dato da:

S =

000

,

100

,

010

,

001

,

110

,

011

Si tratta quindi di un sottoinsieme dei vettori di IR3 a componenti 0− 1 ovvero

S ⊆ 0, 13

– Funzione obiettivo. L’obiettivo che ci proponiamo e la massimizzazione del rendimento totale.Quindi dobbiamo esprimere la funzione obiettivo che corrisponde al rendimento netto relativoalla scelta di x = (xA, xB , xC)T in S E possibile ottenere la soluzione ottima valutando esausti-vamente la funzione obiettivo per ogni elemento di S, ottenendo in relazione alle possibili sceltei valori riportati nella Tabella 1.4.La soluzione ottima e ovviamente quella corrispondente alla scelta (4), cioe all’effettuare gliinvestimenti A e B, con valore della funzione obiettivo pari a £25.

Questo rappresentazione del problema ha alcuni difetti, in particolare:

1. L’insieme ammissibile S e rappresentato in modo estensivo, cioe elencando tutte lesoluzioni ammissibili. In questo caso la cardinalita dell’insieme ammissibile e al piuquella di 0, 13 cioe 23, ma in generale, se la dimensione del problema fosse piu grandesarebbe impossibile valutare esaustivamente le soluzioni del problema. Se, ad esempio, ilnumero degli investimenti fosse stato 100 (che dal punto di vista delle applicazioni realie del tutto verosimile) la cardinalita dell’insieme ammissibile sarebbe stata 2100 e per la

13

Page 16: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Investimento(0) (1) (2) (3) (4) (5) (6) (7)

costi 0 750 200 800 950 1000 1550 1750rendimento 0 20 5 10 25 15 30 35

Tabella 1.1: Tabella costi e rendimenti relativi a tutte le possibili combinazioni diinvestimento

valutazione di 2100 possibilita anche supponendo di utilizzare un calcolatore che effet-tui 1010 valutazioni al secondo (velocita superiore a quella raggiungibile dai calcolatoriattuali) occorrerebbero 1020 secondi, cioe 3000 miliardi di anni !

2. Il modello non e indipendente dai dati del problema, cioe cambiando i dati del problema(prezzi e/o rendimenti) sarebbe necessario cambiare completamente il modello.

In genere si cerca di dare una rappresentazione intensiva dell’insieme ammissibile S, cioeindividuare le proprieta P (x) che consentono di distinguere le soluzioni ammissibili dagli ele-menti dell’insieme 0, 13 che non lo sono. Si vuole quindi scrivere l’insieme S in una forma deltipo:

S =x ∈ 0, 13 : vale la proprieta P (x)

.

Nell’esempio, la proprieta distintiva degli elementi di S e il costo complessivo che non deveessere superiore a £1000. Possiamo esprimere matematicamente questa relazione come:

P (x) : 750xA + 200xB + 800xC ≤ 1000

e quindi l’insieme ammissibile si puo scrivere

S =x = (xA, xB , xC)T ∈ 0, 13 : 750xA + 200xB + 800xC ≤ 1000

.

Anche la funzione obiettivo puo essere scritta in forma piu sintetica come:

f(x) = 20xA + 5xB + 10xC .

In conclusione, il problema di decisione puo essere posto nella forma:

max (20xA + 5xB + 10xC)750xA + 200xB + 800xC ≤ 1000xi ∈ 0, 1 i = A,B,C.

14

Page 17: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Capitolo 2

Modelli di Ottimizzazione

2.1 Introduzione

In questo capitolo ci occuperemo piu nel dettaglio di quei particolari modelli matematici noticome Modelli di Ottimizzazione che rivestono un ruolo centrale nella RO. In termini generali,data una funzione f : IRn −→ IR, ed S ⊆ IRn, un problema di Ottimizzazione puo essere formulatonella forma:

min f(x)x ∈ S.

(PO)

Quindi un problema di Ottimizzazione consiste nel determinare, se esiste, un punto di minimodella funzione f tra i punti dell’insieme S. I problemi di ottimizzazione sono spesso denominati,con terminologia equivalente, problemi di Programmazione Matematica.Osserviamo subito che un problema di massimo si puo sempre ricondurre a un problema diminimo, cambiando di segno la funzione obiettivo. Infatti, i punti di massimo (ove esistano)del problema

max f(x)x ∈ S

coincidono con i punti di minimo del problema

min −f(x)x ∈ S

e risulta: maxx∈S

f(x) = −minx∈S

(−f(x)).

In base a tale osservazione ci si puo riferire esclusivamente, senza perdita di gene-ralita, a problemi di minimizzazione.

La funzione f viene chiamata funzione obiettivo e l’insieme S insieme ammissibile cioel’insieme delle possibili soluzioni del problema. Un punto x ∈ S si chiama soluzione ammissibile.

15

Page 18: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

L’insieme ammissibile S e un sottoinsieme di IRn e quindi x = (x1, x2, . . . , xn)T e unavariabile vettoriale n-dimensionale e la funzione obiettivo f e una funzione di n variabili realif(x1, x2, . . . , xn).

2.2 Definizioni preliminari

Si riportano di seguito alcune definizioni fondamentali riguardanti i problemi di Ottimizzazione.

Definizione 2.2.1 (Problema inammissibile) Il problema di ottimizzazione (PO) si diceinammissibile se S = ∅, cioe se non esistono soluzioni ammissibili.

Definizione 2.2.2 (Problema illimitato) Il problema di ottimizzazione (PO) si dice il-limitato (inferiormente) se comunque scelto un valore M > 0 esiste un punto x ∈ S tale chef(x) < −M .

Un esempio di PO illimitato inferiormente e dato da f(x) = x3 e S = x : x ≤ 2. Infatti, altendere di x a −∞ la funzione obiettivo tende anch’essa a −∞. Notiamo che se, con la stessafunzione obiettivo, si cambia l’insieme S, e si pone S = x : x ≥ 0, il problema non e piuillimitato inferiormente.

Definizione 2.2.3 (Punto di minimo globale) Si dice che il problema di ottimizzazione(PO) ammette soluzione ottima (finita) se esiste un x? ∈ S tale che risulti

f(x∗) ≤ f(x), per ogni x ∈ S.

Il punto x? e detto soluzione ottima o minimo globale e il corrispondente valore f(x?) di dicevalore ottimo.

Per esempio, se si pone f = x2 e S = IR, l’ottimo e l’origine, e il corrispondente valore ottimoe zero. Se si prende S = x : x ≥ 2, l’ottimo e 2 e il valore ottimo 4.

In molti problemi di ottimo, in cui la ricerca di soluzioni globali puo risultare difficile, puoavere interesse anche la ricerca di soluzioni di tipo “locale”. Indichiamo allora con U(x) unintorno di un punto x e consideriamo la definizione seguente.

16

Page 19: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Definizione 2.2.4 (Punto di minimo locale) Un punto x∗ ∈ S si dice punto di minimolocale di f su S se esiste un intorno U(x∗) di x∗ tale che:

f(x∗) ≤ f(x), per ogni x ∈ S ∩ U(x∗),

e, in tal caso, si dice che f(x∗) e un minimo locale di f su S.Si dice che x∗ ∈ S e un punto di minimo locale stretto di f su S se esiste un intorno U(x∗)di x∗ tale che:

f(x∗) < f(x), per ogni x ∈ S ∩ U(x∗), x 6= x∗.

Per esempio, se si pone f = −x2 e S = x : −2 ≤ x ≤ 1, l’ottimo (minimo globale) e x = −2di valore ottimo -4, ed il punto x = 1 e un minimo locale di valore pari a 1.

E immediato rendersi conto del fatto che

un punto di minimo globale e anche un punto di minimo locale, ma non e vero in generale ilviceversa.

Naturalmente si puo anche presentare il caso in cui la funzione obiettivo e limitata inferiormentesu S ossia:

infx∈S

f(x) > −∞,

ma tuttavia non esistono punti di minimo globale di f su S.“Risolvere” un problema di ottimizzazione significa quindi, in pratica:

- stabilire se l’insieme ammissibile e non vuoto, oppure concludere che non esistono soluzioniammissibili;

- stabilire se esistono soluzioni ottime, oppure dimostrare che il problema non ammettesoluzioni ottime;

- determinare (eventualmente in modo approssimato) una soluzione ottima.

All’interno dei problemi di Ottimizzazione si possono distinguere le seguenti importanticlassi di problemi:

17

Page 20: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

• Problemi di Ottimizzazione Continua.

Le variabili possono assumere tutti i valori reali (x ∈ IRn); ed inoltre si parla diproblemi di ottimizzazione continua

– vincolata se S ⊂ IRn

– non vincolata se S = IRn.

• Problemi di Ottimizzazione Discreta.

Le variabili sono vincolate ad essere numeri interi (x ∈ Zn); si possono distinguereall’interno di questa classe di problemi altre due classi:

– programmazione a numeri interi se S ⊆ Zn

– ottimizzazione booleana se S ⊆ 0, 1n.

• Problemi misti.

Solo alcune delle variabili sono vincolate ad essere intere.

2.3 Problemi di Programmazione Matematica

Di solito l’insieme ammissibile S viene descritto da una numero finito di diseguaglianze deltipo g(x) ≤ 0, dove g e una funzione definita su IRn a valori reali. Cioe, formalmente, date mfunzioni gi : IRn → IR, i = 1, . . . , m si esprime S nella forma

S = x ∈ IRn | g1(x) ≤ 0, g2(x) ≤ 0, . . . , gm(x) ≤ 0 .

Ogni diseguaglianza gi(x) ≤ 0 prende nome di vincolo e l’insieme ammissibile e quindiformato da tutti quei punti x ∈ IRn che sono soluzione del sistema di diseguaglianze

g1(x) ≤ 0g2(x) ≤ 0g3(x) ≤ 0

...gm(x) ≤ 0

Osservazione 2.3.1 In questa formulazione dell’insieme S si sono utilizzati vincoli di dis-eguaglianza nella forma di minore o uguale, ma e chiaro che questa notazione include i casi incui i vincoli sono espressi con vincoli di disuguaglianza nella forma di maggiore o uguale e vin-coli di uguaglianza; infatti si puo sempre trasformare un vincolo di maggiore o uguale del tipog(x) ≥ 0 in un vincolo di minore o uguale semplicemente riscrivendolo nella forma −g(x) ≤ 0.Inoltre un vincolo di uguaglianza g(x) = 0 puo essere riscritto nella forma equivalente delle duediseguaglianze g(x) ≤ 0 e −g(x) ≤ 0.

18

Page 21: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Quindi si puo riscrivere il problema di ottimizzazione (PO) nella forma

min f(x)gi(x) ≤ 0, i = 1, . . . , m.

(2.1)

Un problema di questo tipo viene chiamato problema di Programmazione Matematica.

I problemi di Programmazione Matematica si possono classificare in base alle proprieta dellafunzione obiettivo e dei vincoli prendendo in considerazione, tra le piu significative la linearita,la convessita.Una prima distinzione e quella che fa riferimeno all’ipotesi di linearita. Da tale punto di vista,possiamo distinguere:

- problemi di Programmazione Lineare (PL), in cui l’obiettivo e una funzione lineare deltipo

c1x1 + c2x2 + · · ·+ cnxn,

e i vincoli sono espressi da un sistema di equazioni e disequazioni lineari, cioe esprimibilinella forma

ai1x1 + . . . + ainxn ≥ (≤ / =)bi

- problemi di Programmazione Non Lineare (PNL), in cui l’obiettivo oppure i vincoli nonsono tutti lineari.

I problemi di PNL corrispondono alla situazione piu generale. I problemi non vincolati rientranonella classe di PNL, infatti, in tal caso f e necessariamente una funzione non lineare da Rn inR; e facile verificare che se f fosse lineare il problema non ammetterebbe soluzione.Inoltre, in linea di principio, possono essere formulati come problemi di PNL anche i problemicombinatori.

La classificazione dei problemi di Programmazione Matematica in base alla proprieta diconvessita sara affrontata nel Capitolo 5.

Alcuni esempi di problemi di Programmazione Matematica sono i seguenti:

Esempio 2.3.2 Si consideri una funzione obiettivo di due variabili f(x1, x2) = 2x1 + x2 chesi vuole minimizzare, con i vincoli 2x1 + x2 ≤ 1, x1 ≥ 0, x2 ≥ 0. Si ottiene il problema

min 2x1 + x2

x1 + x2 ≤ 1x1 ≥ 0x2 ≥ 0

che e nella forma (2.1) dove g1(x1, x2) = x1 + x2 − 1, g2(x1, x2) = −x1, g3(x1, x2) = −x2.L’insieme ammissibile e descritto attraverso da tre vincoli. Poiche tutte le funzioni che com-paiono sono lineari nella variabili x1 e x2, questo problema e un problema di ProgrammazioneLineare.

Esempio 2.3.3 Si consideri una funzione obiettivo f(x1, x2) = (x1 − 12 )2 + (x2 − 1

2 )2 che sivuole massimizzare, con i vincoli x1 + x2 ≥ 1, x1 ≤ 1, x2 ≤ 1. Si ottiene il problema

min −(x1 − 12 )

2 − (x2 − 12 )

2

x1 + x2 ≥ 1x1 ≤ 1x2 ≤ 1

19

Page 22: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

che e nella forma (2.1) dove g1(x1, x2) = 1− x1 − x2, g2(x1, x2) = x1 − 1, g3(x1, x2) = x2 − 1.L’insieme ammissibile e un poliedro; la funzione obiettivo e quadratica. Si tratta quindi di unproblema di Programmazione Non Lineare.

Esempio 2.3.4 Si consideri una funzione obiettivo f(x1, x2) = 3x31 + 7x2

1 + x2 che si vuoleminimizzare, con vincoli x1 + x2 ≤ 1

2 , x1 ≥ 0, x2 ≥ 1. Si ottiene il problema

min 3x31 + 7x2

1 + x2

x1 + x2 ≤ 12

x1 ≥ 0x2 ≥ 1

che e un problema di Programmazione Non Lineare che puo essere facilmente ricondotto nellaforma (2.1) riscrivendo gli ultimi due vincoli nella forma −x1 ≤ 0 e −x2 ≤ −1.

Esempio 2.3.5 Si consideri una funzione obiettivo f(x1, x2) = x1+x2 che si vuole minimizzaresulla regione ammissibile descritta dal vincolo di uguaglianza 4x1 − x2 = −2. Il problemarisultante e:

min x1 + x2

4x1 − x2 = −2

che e un problema di Programmazione Lineare con un solo vincolo di uguaglianza.

2.4 Esempi di modelli di Programmazione Matematica

Come primi esempi di costruzione di modelli verranno ora analizzati dei semplici problemi dipianificazione della produzione e un problema di progettazione industriale.

Esempio 2.4.1 (Un problema di produzione (allocazione di risorse)) Un colorificio pro-duce due tipi di coloranti C1 e C2 utilizzando 3 preparati base in polvere P1, P2, P3 che ven-gono sciolti in acqua. La differente concentrazione dei preparati base da origine ai due diversitipi di coloranti. Le quantita (in ettogrammi) di preparati base necessarie per produrre un litrodi colorante di ciascuno dei due tipi e riportato nella seguente tabella

C1 C2

P1 1 1P2 1 2P3 - 1

Ogni giorno la quantita di ciascuno dei preparati base (in ettogrammi) della quale il colorificiopuo disporre e la seguente

P1 P2 P3750 1000 400

Il prezzo di vendita del colorante C1 e di 7 Euro al litro, mentre il colorante C2 viene vendutoa 10 Euro al litro. Determinare la strategia ottimale di produzione giornaliera in modo damassimizzare i ricavi ottenuti dalla vendita dei due coloranti.

20

Page 23: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Formulazione.Si vuole costruire il modello di Programmazione Lineare che rappresenti il problema in analisiconsiderando le limitazioni date dalle produzioni effettivamente realizzabili.

E immediato associare le variabili di decisione ai quantitativi di coloranti prodotti. Siano,quindi, rispettivamente x1 e x2 i quantitativi (in litri) da produrre giornalmente dei due col-oranti.

Nel formulare il modello di Programmazione Lineare si deve verificare che siano soddisfattele ipotesi fondamentali:

• Proporzionalita.I consumi dei preparati base e i ricavi ottenibili sono proporzionali ai quantitativi di col-oranti prodotti. Ad esempio, per produrre una quantita x2 di colorante C2 si consumano2x2 ettogrammi di P2 e dalla vendita di x2 litri di C2 si ricavano 10x2 migliaia di lireindipendentemente dalla quantita prodotta e venduta dell’altro tipo di colorante.

• Additivita.I consumi dei preparati base e i ricavi rispettivamente associati alla produzione dei duecoloranti sono additivi, nel senso che per produrre x1 litri di colorante C1 e x2 di C2 siconsumano x1+2x2 ettogrammi di preparato di base P2 e si ricavano 7x1+10x2 migliaiadi lire.

• Continuita.Ogni variabile introdotta nel modello puo assumere tutti i valori reali nell’intervallo diammissibilita.

– Variabili. Come gia detto, prendiamo come variabili di decisione x1 e x2, rispettivamente iquantitativi (in litri) di colorante C1 e C2 da produrre giornalmente.– Funzione obiettivo. E rappresentata dal profitto totale che per le ipotesi fatte e dato (in Euro)da 7x1 + 10x2.– Vincoli. Poiche il consumo di preparati base non puo essere superiore alla disponibilita sideve avere

x1 + x2 ≤ 750x1 + 2x2 ≤ 1000

x2 ≤ 400.

Inoltre si deve esplicitare il vincolo di non negativita sulle variabili

x1 ≥ 0, x2 ≥ 0.

Quindi la formulazione finale e

max 7x1 + 10x2

x1 + x2 ≤ 750x1 + 2x2 ≤ 1000x2 ≤ 400x1 ≥ 0, x2 ≥ 0.

21

Page 24: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Esempio 2.4.2 (Un problema di pianificazione della produzione industriale)) Un’industriachimica fabbrica 4 tipi di fertilizzanti, Tipo 1, Tipo 2, Tipo 3, Tipo 4, la cui lavorazionee affidata a due reparti dell’industria: il reparto produzione e il reparto confezione. Per ot-tenere fertilizzante pronto per la vendita e necessaria naturalmente la lavorazione in entrambi ireparti. La tabella che segue riporta, per ciascun tipo di fertilizzante i tempi (in ore) necessaridi lavorazione in ciascuno dei reparti per avere una tonnellata di fertilizzante pronto per lavendita.

Tipo 1 Tipo 2 Tipo 3 Tipo 4Reparto produzione 2 1.5 0.5 2.5Reparto confezionamento 0.5 0.25 0.25 1

Dopo aver dedotto il costo del materiale grezzo, ciascuna tonnellata di fertilizzante da i seguentiprofitti (prezzi espressi in Euro per tonnellata)

Tipo 1 Tipo 2 Tipo 3 Tipo 4profitti netti 250 230 110 350

Determinare le quantita che si devono produrre settimanalmente di ciascun tipo di fertilizzantein modo da massimizzare il profitto complessivo, sapendo che settimanalmente il reparto pro-duzione puo lavorare al piu 100 ore mentre il reparto confezionamento puo lavorare al piu 50ore settimanali.

Analisi del problema e costruzione del modello.Si tratta di un problema di pianificazione della produzione industriale. Costruiamo un mod-ello di Programmazione Matematica rappresentante il problema in analisi supponendo di volerpianificare la produzione settimanale.– Variabili di decisione. La scelta delle variabili di decisione e molto delicata: infatti la qualitadell’intero modello dipendera da essa. In genere, per stabilire l’opportuno insieme di variabilidi decisione, conviene porsi la seguente domanda: che cosa vuole sapere il decisore alla fine delprocesso di ottimizzazione? Ancora meglio, cosa gli e sufficiente sapere, per prendere le suedecisioni? In questo caso, ad esempio, tutto cio che il decisore deve conoscere sono le quantita difertilizzante da produrre per ciascun tipo. Dunque introduciamo le variabili reali x1, x2, x3, x4

rappresentanti rispettivamente le quantita di prodotto del Tipo 1, Tipo 2, Tipo 3, Tipo 4da fabbricare in una settimana.– Funzione Obiettivo. Ciascuna tonnellata di fertilizzante contribuisce al profitto totale secondola tabella data. Quindi il profitto totale sara

250x1 + 230x2 + 110x3 + 350x4. (2.2)

L’obiettivo dell’industria sara quello di scegliere le variabili x1, x2, x3, x4 in modo che l’espressione(2.2) del profitto sia massimizzata. La (2.2) rappresenta la funzione obiettivo.– Vincoli. Ovviamente la capacita produttiva della fabbrica limita i valori che possono assumerele variabili xj , j = 1, . . . , 4; infatti si ha una capacita massima lavorativa in ore settimanali diciascun reparto. In particolare per il reparto produzione si hanno a disposizione al piu 100 oresettimanali e poiche ogni tonnellata di fertilizzante di Tipo 1 utilizza il reparto produzione per2 ore, ogni tonnellata di fertilizzante di Tipo 2 utilizza il reparto produzione per 1.5 ore e cosıvia per gli altri tipi di fertilizzanti si dovra avere

2x1 + 1.5x2 + 0.5x3 + 2.5x4 ≤ 100. (2.3)

22

Page 25: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Ragionando in modo analogo per il reparto confezionamento si ottiene

0.5x1 + 0.25x2 + 0.25x3 + x4 ≤ 50. (2.4)

Le espressioni (2.3), (2.4) costituiscono i vincoli del modello. Si devono inoltre esplicitarevincoli dovuti al fatto che le variabili xj , j = 1, . . . 4 rappresentando quantita di prodotto nonpossono essere negative e quindi vanno aggiunti i vincoli di non negativita

x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0.

La formulazione finale sara quindi

max 25x1 + 23x2 + 11x3 + 35x4

2x1 + 1.5x2 + 0.5x3 + 2.5x4 ≤ 1000.5x1 + 0.25x2 + 0.25x3 + x4 ≤ 50x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0.

Questa formulazione e un problema matematico ben definito e costituisce il modello di Program-mazione Matematica rappresentante il problema di pianificazione della produzione industrialein analisi. Si tratta, in questo caso, di un problema di programmazione lineare.

Esempio 2.4.3 (Dimensionamento ottimo) Un’industria deve costruire un silos di formacilindrica. Tale silos deve essere posto in un magazzino appoggiato su una delle basi. Talemagazzino e a pianta rettangolare di dimensioni metri 20× 10 ed ha un tetto spiovente lungo illato di 10 metri, che ha altezza massima di metri 5 e altezza minima di metri 3. Per costruirequesto silos deve essere usato del materiale plastico sottile flessibile che puo essere tagliato,modellato e incollato saldamente. Sapendo che si dispone di non piu di 200 m2 di tale materialeplastico si costruisca un modello che permetta di determinare le dimensioni del silos (raggio dibase ed altezza) in modo da massimizzare la quantita di liquido che puo esservi contenuto.

Analisi del problema e costruzione del modello.

Si tratta di determinare il dimensionamento ottimale di un contenitore cilindrico per uso in-dustriale cercando di massimizzare il suo volume tenendo presente che deve essere contenuto inun magazzino di dimensioni fissate.

Si devono definire formalmente le variabili di decisione, l’insieme delle soluzioni ammissibilie la funzione obiettivo.– Variabili di decisione. E immediato introdurre due variabili x e y che rappresentano rispet-tivamente la lunghezza (in metri) del raggio di base e dell’altezza del contenitore cilindrico.

– Funzione obiettivo. La funzione obiettivo e rappresentata dal volume del contenitore cilindricoed e data da

πx2y.

– Vincoli. Il diametro della base non puo superare le dimensioni del magazzino e quindi deveessere

2x ≤ 10.

23

Page 26: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

La limitazione dell’altezza del contenitore varia al variare del diametro di base in quanto il tettoe spiovente. Dato che la pendenza del tetto e del 20%, dovra risultare

y ≤ 5− 0.2 · 2x.

Inoltre disponendo solo di una quantita limitata di materiale plastico la superficie totale delcontenitore cilindrico non puo superare 200m2 e quindi deve risultare

2πx2 + 2πxy ≤ 200.

Si devono infine esplicitare i vincoli di non negativita x ≥ 0, y ≥ 0.La formulazione complessiva risulta quindi

max x2yx ≤ 5y ≤ 5− 0.2 · 2x2πx2 + 2πxy ≤ 200x ≥ 0, y ≥ 0.

Il modello e quindi un modello di programmazione non lineare.

Esempio 2.4.4 (Discriminazione del prezzo)Consideriamo un monopolista che operi su due mercati distinti (ad es. nazionale ed estero)ciascuno con una diversa funzione di domanda. Indichiamo con xi l’offerta sul mercato i = 1, 2e con Pi = fi(xi) la funzione di domanda inversa sul mercato i. Supponiamo inoltre che il costodi produzione sia proporzionale con una costante c alla offerta complessiva x1 +x2. Il problemaconsiste nel massimizzare il profitto del monopolista.

Analisi del problema e costruzione del modello.– Variabili di decisione. E immediato considerare le due variabili x1, x2 che rappresentanol’offerta sui due mercati distinti del bene.

– Funzione obiettivo. Su vuole massimizzare il profitto, ovvero ricavo meno costi. La funzionericavo e

x1f1(x1) + x2f(x2),

mentre il costo e c(x1 + x2). Il profitto totale sara quindi

f(x) = x1f1(x1) + x2f(x2)− c(x1 + x2).

– Vincoli. Poiche le due variabili rappresentano un’offerta si tratta di quantita non negativexi ≥ 0 per i = 1, 2.

Piu in generale nel caso di n mercati distinti, posto x = (x1, . . . , xn)T si ha l’insieme ammissibile:

S = x ∈ Rn : x ≥ 0 .

Il problema di ottimizzazione corrispondente e

maxx∈S

n∑

i=1

xifi(xi)− c

n∑

i=1

xi.

24

Page 27: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Molto spesso le funzioni fi(xi) hanno un andamento lineare del tipo

fi(xi) = ai −mixi con mi > 0.

La funzione ricavo risulta essere quindi una funzione quadratica del tipo

n∑

i=1

xi(ai −mixi) = −xT Mx + aT x

con M matrice diagonale ad elementi positivi diagmini=1 e a = (a1 . . . , an)T .

Esempio 2.4.5 (Problemi di approssimazione o di curve fitting)Supponiamo assegnata una funzione continua φ : R → R e supponiamo di voler approssimareφ(t) su un intervallo assegnato [tmin, tmax] per mezzo di un polinomio di grado n:

pn(t; x) = x0 + x1t + x2t2 + x3t

3 + . . . + xntn,

in cui xj, per j = 1, . . . , n sono i coefficienti (incogniti) del polinomio. Supponiamo che lafunzione φ sia nota in modo ”discreto”, cioe si conoscono i valori φ(ti) che la funzione assumenei punti ti ∈ [tmin, tmax] per i = 1, . . . ,m. Si possono definire gli errori

ei(x) = φ(ti)− pn(ti; x), i = 1, . . . , m,

che rappresentano la differenza tra il valore efettivo della funzione φ(ti) e il valore ottenuto conla funzione approssimante pn(ti;x), dove si e posto

x = (x0, x1, . . . , xn) ∈ Rn+1.

E allora possibile considerare diverse funzioni di ottimo

1. minimizzazione dell’errore quadratico medio

minm∑

i=1

ei(x)2,

2. minimizzazione del massimo valore assoluto dell’errore

min max1≤i≤m

|ei(x)|.

3. minimizzazione della somma dei valore assoluto dell’errore

minm∑

i=1

|ei(x)|.

Analisi del problema e costruzione del modello.Si tratta di problemi di ottimizzazione non vincolata. Osserviamo che nel caso 1, la funzioneobiettivo e quadratica nelle incognite x. Successivamente vedremo che problemi del tipo 2 e 3possono essere ricondotti a problemi di programmazione lineare.

25

Page 28: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Capitolo 3

Modelli di ProgrammazioneLineare

In questo capitolo esaminiamo in modo piu dettagliato la Programmazione Lineare. In parti-colare saranno presentati alcuni modelli di PL piu o meno classici.

3.1 Struttura di un problema di Programmazione Lineare

Come abbiamo gia visto nel Capitolo 2 un problema di Programmazione Lineare e caratterizzatoda una funzione obiettivo lineare (da minimizzare o massimizzare) della forma

f(x) = c1x1 + . . . + cnxn =n∑

j=1

cjxj

e da un numero finito m di vincoli lineari della forma

a11x1+ . . . +a1nxn ' b1

a21x1+ . . . +a2nxn ' b2... . . .

......

am1x1+ . . . +amnxn ' bm.

(3.1)

dove con ' intendiamo ≤,≥ oppure =.Introducendo il vettore c ∈ IRn, definito c = (c1, . . . , cn)T , x ∈ IRn definito x = (x1, . . . , xn)T ,il vettore b = (b1, . . . , bm)T e la matrice (m× n)

A =

a11 . . . a1n...

...am1 . . . amn

un generico problema di Programmazione Lineare puo essere scritto nella forma

min cT xAx ' b.

26

Page 29: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Si osservi che, indicando con aTi , i = 1, . . . ,m, le righe della matrice A, ciascun vincolo del

problema, ovvero ciascuna disuguaglianza della (3.1) puo essere scritto nella forma aTi x ' bi,

i = 1, . . . ,m con ' pari a ≤,≥ oppure =.

Un problema di PL consiste nel minimizzare (massimizzare) una funzione obiettivo lineare suun poliedro.

Tra le forme di poliedri piu usate nella definizione di problemi di PL abbiamo le seguenti:

(a) S = x ∈ Rn : Ax = b(b) S = x ∈ Rn : Ax ≥ b(c) S = x ∈ Rn : Ax = b, x ≥ 0 (forma standard)

In R2 sono poliedri, ad esempio, gli insiemi definiti come segue.

x1

x2

a)

3

3

x1

x2

S

3

31 x1

x2

c)

3

3

S

S

b)

Figura 3.1: Esempi di poliedri in IR2.

(a) S = x ∈ R2 : x1 + x2 = 3 rappresentato in a) di Figura 3.1. La matrice A = (1 1) eb = 3.

(b) S = x ∈ R2 : x1 + x2 ≤ 3, x1 ≥ 1 rappresentato in b) di Figura 3.1.

La matrice A =(

1 11 0

)e b =

(30

)

27

Page 30: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

(c) (forma standard) S = x ∈ R2 : x1 + x2 = 3, x1 ≥ 0, x2 ≥ 0 rappresentato in c) diFigura 3.1. La matrice A = (1 1) e b = 3.

In generale pero e sempre possibile sempre riportarsi ad una delle forme (b) o (c) consemplici trasformazioni dei vincoli o delle variabili. E da notare che non e possibile ricondursinel caso generale a problemi con soli vincoli di uguaglianza del tipo

min cT xAx = b.

Tali problemi sono in effetti di scarsa rilevanza pratica in quanto e possibile dimostrare che seesiste una soluzione ammissibile e il problema non e illimitato allora tutte le soluzioni ammissibilisono ottime. In particolare vale il teorema 10.2.1.

Trasformazioni dei vincoli Osserviamo che si puo sempre supporre che il secondo mem-bro di un vincolo di uguaglianza o disuguaglianza sia non negativo. Infatti, se cosı non fosse,basta moltiplicare per (−1) (ovvero cambiare di segno) ad entrambi i membri del vincolo e,eventualmente cambiare il verso della disuguaglianza. Supponiamo quindi nel seguito, senzaperdere di generalita che bj ≥ 0.

Da disuguaglianza a uguaglianza Con l’introduzione di opportune variabili aggiuntivenon negative, ogni vincolo di disuguaglianza puo sempre essere posto nella forma di vincolo diuguaglianza. Infatti un vincolo del tipo

aTj x ≤ bj , (3.2)

puo essere riscritto nella forma

aTj x + xn+1 = bj , con xn+1 ≥ 0

ove la variabile xn+1 rappresenta la differenza, non negativa, tra il secondo e il primo membrodella disuguaglianza (3.2), e viene detta variabile di slack. D’altra parte una disuguaglianza deltipo

aTj x ≥ bj , (3.3)

puo essere posta nella forma

aTj x− xn+1 = bj , con xn+1 ≥ 0

ove la variabile xn+1 rappresenta la differenza, non negativa, tra il primo e il secondo membrodella disuguaglianza (3.3), e viene detta variabile di surplus. Quando la distinzione non enecessaria, le variabili slack e di surplus vengono chiamate variabili ausiliarie.

Esempio 3.1.1 Il sistema di vincoli

3x1 + 4x3 ≤ 5−5x1 + x2 − 6x3 = −78x1 + 9x3 ≥ 2

28

Page 31: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

puo essere riscritto nella forma

3x1 + 4x3 + x4 = 55x1 − x2 + 6x3 = 78x1 + 9x3 − x5 = 2x4 ≥ 0x5 ≥ 0

avendo introdotto la variabile slack x4 e la variabile di surplus x5, entrambe non negative. 2

Da uguaglianza a disuguaglianza E anche possibile trasformare vincoli di uguaglianza invincoli di disuguaglianza. Considerato il vincolo aT

j x = bj si pu]‘o trasformare in due vincoli didisuguaglianza

aTj x ≤ bj

−aTj x ≤ −bj

Trasformazioni delle variabili Nei problemi di programmazione lineare si puo sempreassumere che le variabili di decisione siano non negative, e cioe che per ogni i risulti xi ≥ 0.Infatti se per qualche i deve risultare xi ≤ 0, basta effettuare la sostituzione xi = −x′i ,con x′i ≥ 0; se per qualche i la variabile xi non e vincolata in segno, basta sostituire adessa la differenza tra due variabili aggiuntive entrambe vincolate in segno, cioe basta porrexi = x+

i − x−i , con x+i ≥ 0, e x−i ≥ 0.

Esempio 3.1.2 Sia dato il vincolox1 + 0.5x2 ≤ 3

con x2 ≤ 0 e con x1 non vincolata.Ponendo x1 = x1 − x3 e x2 = −x2, equivale al vincolo

x1 − 0.5x2 − x3 ≤ 3

con xi ≥ 0, i = 1, 2, 3. 2

3.2 Trasformazioni equivalenti

Consideriamo alcune formulazioni equivalenti di PL relative ad alcune importanti classi diproblemi. In particolare, analizziamo il caso in cui la funzione obiettivo e il massimo trafunzioni lineari oppure nella funzione obiettivo sono presenti dei valori assoluti.

3.2.1 Funzione obiettivo di tipo max

Si consideri il problema

minx∈S

(max

1≤i≤mcT

i x + di)

(3.4)

in cui S e un poliedro e cTi x+di, i = 1, . . . , m sono assegnate con x ∈ IRn, ci ∈ IRn. Il problema

(3.4) ha una funzione obiettivo che e della forma max1≤i≤m hi(x) con hi : Rn → R che, ingenerale, risulta non differenziabile e dunque non lineare. Un esempio di funzione di questo

29

Page 32: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

0

5

10

15

20

-10 -5 0 5 10

Figura 3.2: max2x,−x, 1

2x + 9

tipo per n = 1 e m = 3 e rappresentato in Figura 3.2. I problemi di questo tipo sono di solitochiamati problemi minimax.

Aggiungendo una variabile v ∈ R e possibile mostrare che tale problema e equivalente alproblema di Programmazione Lineare:

minx,v vx ∈ ScTi x + di ≤ v, i = 1, . . . , m.

(3.5)

Per dimostrare l’equivalenza dei problemi (3.4) e (3.5), dobbiamo fare vedere che data unasoluzione x∗ del problema (3.4) possiamo determinare una soluzione (x, v)∗∗ del problema (3.5)e viceversa.

Supponiamo di avere una soluzione x∗ del problema (3.4). Posto x∗∗ = x∗ e v∗∗ =max1≤i≤mcT

i x∗ + di abbiamo che la coppia (x, v)∗∗ e ammissibile per il problema (3.5),infatti

x∗∗ = x∗ ∈ S cTi x∗∗ + di ≤ v∗∗ = max

1≤i≤mcT

i x∗∗ + di.

Inoltre v∗∗ ≤ v per ogni (x, v) ammissibile.Viceversa, sia data una soluzione ottima (x, v)∗ del problema (3.5), una soluzione ammissibiledel problema (3.4) e x∗∗ = x∗ ∈ S. Si tratta anche della soluzione ottima perche‘

v ≥ v∗ = max1≤i≤m

cTi x∗ + di

30

Page 33: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

3.2.2 Funzione modulo

Si consideri il problemaminx∈S

|cT x| (3.6)

con x ∈ IRn, c ∈ IRn. Il problema (3.6) puo essere equivalentemente scritto nella forma

-10-5

05

10 -10

-5

0

5

10

0

5

10

15

20

Figura 3.3: Curve di livello della funzione f(x, y) = |x + y|

minx∈S

maxcT x,−cT x (3.7)

e dunque applicando la trasformazione descritta per il problema (3.4), si ottiene il problemaequivalente

minx,v vcT x ≤ vcT x ≥ −vx ∈ S.

(3.8)

Sono inoltre equivalenti i seguenti problemi:

minx∈S

(max

1≤i≤m|hi(x)|

) minx,v v−v ≤ hi(x) ≤ v, i = 1, . . . , mx ∈ S.

31

Page 34: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

3.3 Semplici esempi di problemi di programmazione lin-eare

Chiariremo meglio i concetti finora esposti con alcuni esempi. I problemi descritti hanno unafunzione essenzialmente esemplificativa. In casi concreti, un problema di programmazione lin-eare puo avere un numero di variabili di decisione e un numero di vincoli dell’ordine delle decinee centinaia di migliaia.

3.3.1 Problemi di miscelazione.

Si tratta di problemi in cui si hanno a disposizione un certo numero di sostanze ciascuna dellequali ha un certo costo ed un determinato contenuto di componenti utili. Si vuole ottenere lamiscela piu economica di queste sostanze tale che contenga una certa quantita di ciascuno deicomponenti.vediamo un semplice esempio.

Un problema di miscelazione

Un’industria conserviera deve produrre succhi di frutta mescolando polpa di frutta e dolcificanteottenendo un prodotto finale che deve soddisfare alcuni requisiti riguardanti il contenuto divitamina C, di sali minerali e di zucchero. La polpa di frutta e il dolcificante vengono acquistatial costo rispettivamente di Lire 400 e Lire 600 ogni ettogrammo. Inoltre dalle etichette si ricavache 100 grammi di polpa di frutta contengono 140 mg di vitamina C, 20 mg di sali minerali e25 grammi di zucchero, mentre 100 grammi di dolcificante contengono 10 mg di sali minerali,50 grammi di zucchero e non contengono vitamina C. I requisiti che il prodotto finale (cioeil succo di frutta pronto per la vendita) deve avere sono i seguenti: il succo di frutta devecontenere almeno 70 mg di vitamina C, almeno 30 mg di sali minerali e almeno 75 grammi dizucchero. Si devono determinare le quantita di polpa di frutta e di dolcificante da utilizzarenella produzione del succo di frutta in modo da minimizzare il costo complessivo dell’acquistodei due componenti base.

Formulazione.Si vuole costruire un modello di Programmazione Lineare che rappresenti il problema in analisitenendo presente i requisiti di qualita richiesti. Si verifica facilmente che le ipotesi fondamentalidi un modello di Programmazione Lineare sono soddisfatte.

– Variabili. E naturale associare la variabili di decisione alle quantita di polpa di frutta e didolcificante da utilizzare per la produzione del succo di frutta. Quindi siano x1 e x2 rispettiva-mente le quantita espresse in ettogrammi di polpa di frutta e di dolcificante che devono essereutilizzate.

– Funzione obiettivo. E rappresentata dal costo complessivo dell’acquisto dei due componentibase e quindi e data da 400x1+600x2. Questa espressione naturalmente deve essere minimizzata.

– Vincoli. Poiche un ettogrammo di polpa contiene 140 mg di vitamina C e il dolcificante noncontiene vitamina C, il primo vincolo da considerare riguardante il contenuto di vitamina C delsucco di frutta si puo scrivere nella forma

140x1 ≥ 70.

32

Page 35: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Analogamente per rispettare il requisito sul contenuto di sali minerali del succo di frutta sidovra imporre il vincolo

20x1 + 10x2 ≥ 30.

Infine il vincolo sul contenuto di zucchero del succo di frutta si puo esprimere nella forma

25x1 + 50x2 ≥ 75.

Infine si deve esplicitare il vincolo di non negativita sulle variabili cioe

x1 ≥ 0, x2 ≥ 0.

Quindi la formulazione finale e

min 400x1 + 600x2

140x1 ≥ 7020x1 + 10x2 ≥ 3025x1 + 50x2 ≥ 75x1 ≥ 0, x2 ≥ 0

Formalmente, supponiamo di disporre di n sostanze diverse che indichiamo con S1,S2, . . . ,Sn

ciascuna delle quali contenga una certa quantita di ciascuno degli m componenti utili cheindichiamo con C1,C2, . . . ,Cm. Supponendo che ogni sostanza Sj abbia costo unitario cj ,j = 1, . . . , n

S1 S2 · · · Sn

c1 c2 · · · cn

si desidera ottenere la miscela piu economica che soddisfi alcuni requisiti qualitativi, cioe con-tenga una quantita non inferiore a bi di ciascun Ci, i = 1, . . . , m

C1 C2 · · · Cm

b1 b2 · · · bm.

Si indichi con aij , i = 1, . . . , m, j = 1, . . . , n la quantita di componente Ci presente nella sostanzaSj. Si puo cosı costruire la seguente tabella

S1 · · · Sj · · · Sn

C1 a11 · · · a1j · · · a1n

......

......

Ci ai1 · · · aij · · · ain

......

......

Cm am1 · · · amj · · · amn

Supponendo che valgano le ipotesi di proporzionalita, additivita ed inoltre assumendo che lequantita di sostanze da utilizzare siano frazionabili, si puo formulare questo problema in terminidi un problema di Programmazione Lineare.

33

Page 36: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Generalizzando quanto fatto nell’esempio,e naturale introdurre le variabili di decisione x1, x2, . . . , xn

rappresentanti la quantita di ciascuna sostanza S1,S2, . . . ,Sn da utilizzare nella miscela. In-troducendo come spazio delle variabili lo spazio delle n−uple reali IRn si puo considerare unx ∈ IRn definendo x = (x1, . . . , xn)T .

La funzione obiettivo puo essere scritta

z = c1x1 + . . . + cnxn =n∑

j=1

cjxj .

Introducendo c ∈ IRn, definito c = (c1, . . . , cn)T , la funzione obiettivo puo essere scritta innotazione vettoriale

z = cT x.

Si devono introdurre i seguenti vincoli:

• Vincoli di qualita.Tenendo conto del fatto che la miscela deve contenere una quantita non inferiore a bi diciascun componente Ci si dovra avere

n∑

j=1

aijxj ≥ bi, i = 1, . . . , m.

• Si devono considerare i vincoli di non negativita sulle variabili cioe xj ≥ 0, j = 1, . . . , n.

Introducendo la matrice (m× n)

A =

a11 . . . a1n...

...am1 . . . amn

e il vettore b = (b1, . . . , bm)T la formulazione completa del problema puo essere scritta nellaforma

min cT xAx ≥ bx ≥ 0, x ∈ IRn.

(3.9)

Nella pratica, potrebbe essere necessario introdurre ulteriori vincoli:

• possono essere presenti limitazioni superiori o inferiori sulle variabili cioe xj ≥ L, xj ≤ M ,j = 1, . . . , n;

• se e richiesto anche che la miscela contenga una quantita non superiore ad un valore di diciascun componente Ci si dovra aggiungere alla formulazione un altro vincolo di qualita:

n∑

j=1

aijxj ≤ di, i = 1, . . . ,m;

• in alcuni casi si richiede che una certa sostanza appartenga alla miscela solo se un’altrasostanza vi appartiene (o non vi appartiene). Questi vincoli sono detti disgiuntivi e laloro formalizzazione matematica sara discussa nel Capitolo 12.

34

Page 37: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

3.3.2 Modelli di trasporto.

Sono definite m localita origini indicate con O1, . . . ,Om, e n localita destinazioni indicate conD1, . . . ,Dn. Ogni origine Oi, (i = 1, . . . ,m) puo fornire una certa disponibilita ai ≥ 0 di merceche deve essere trasferita dalle origini alle destinazioni

O1 · · · Om

a1 · · · am.

Ad ogni destinazione Dj, (j = 1, . . . , n) e richiesta una quantita bj ≥ 0 di merce.

D1 · · · Dn

b1 · · · bn.

Supponiamo che il costo del trasporto di una unita di merce da Oi a Dj sia pari a cij . Tali costinella realta sono spesso collegati alle distanze tra origini e destinazioni. Si puo cosı costruire laseguente tabella

D1 · · · Dj · · · Dn

O1 c11 · · · c1j · · · c1n

......

......

Oi ci1 · · · cij · · · cin

......

......

Om cm1 · · · cmj · · · cmn

Il problema consiste nel pianificare i trasporti in modo da soddisfare le richieste delle destinazioniminimizzando il costo del trasporto complessivo nella seguente ipotesi:

• la disponibilita complessiva uguaglia la richiesta complessiva, cioem∑

i=1

ai =n∑

j=1

bj ; (3.10)

si escludono possibilita di giacenze nelle origini, cioe tutta la merce prodotta in una originedeve essere trasportata in una delle destinazioni; si escludono possibilita di giacenze nelle des-tinazioni, cioe la quantita totale che arriva in una destinazione Dj deve uguagliare la richiestabj .

Formulazione.Si vuole dare una formulazione del problema in esame in termini di un problema di program-mazione lineare supponendo quindi che siano verificate le ipotesi di linearita e continuita.

– Variabili. Per ogni coppia di origine e destinazione Oi, Dj si introducono le variabili didecisione xij rappresentanti la quantita di merce da trasportare da Oi, a Dj. Si tratta di mnvariabili

D1 · · · Dj · · · Dn

O1 x11 · · · x1j · · · x1n

......

......

Oi xi1 · · · xij · · · xin

......

......

Om xm1 · · · xmj · · · xmn

35

Page 38: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

– Funzione obiettivo. La funzione obiettivo da minimizzare sara data da costo totale deltrasporto e quindi da

z =m∑

i=1

n∑

j=1

cijxij .

– Vincoli. Per le ipotesi fatte, si avranno due tipi di vincoli:

• vincoli di origine

n∑

j=1

xij = ai i = 1, . . . , m; (3.11)

impongono che tutta la merce prodotta in una origine sia trasportata alle destinazioni;si tratta di m vincoli;

• vincoli di destinazione

m∑

i=1

xij = bj j = 1, . . . , n; (3.12)

impongono che la quantita totale di merce che arriva in ciascuna delle destinazioniuguaglia la richiesta; si tratta si n vincoli.

Si devono infine considerare i vincoli di non negativita delle variabili

xij ≥ 0 i = 1, . . . , n; j = 1, . . . , m.

Si e cosı ottenuta una formulazione del problema dei trasporti con mn variabili e m+n+mnvincoli:

min

m∑

i=1

n∑

j=1

cijxij

n∑

j=1

xij = ai i = 1, . . . , m

m∑

i=1

xij = bj j = 1, . . . , n

xij ≥ 0 i = 1, . . . , n; j = 1, . . . , m.

(3.13)

Osservazione 1 E chiaro che per le ipotesi fatte dovra risultare

m∑

i=1

n∑

j=1

xij =n∑

j=1

m∑

i=1

xij =m∑

i=1

ai =n∑

j=1

bj .

Anzi vale il seguente risultato

36

Page 39: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Teorema 3.3.1 Condizione necessaria e sufficiente affinche il problema (3.13) ammetta soluzione,cioe che esista una soluzione ammissibile, e che risulti

m∑

i=1

ai =n∑

j=1

bj . (3.14)

Tale risultato chiarisce perche nella formulazione classica del problema dei trasporti si adottal’ipotesi (3.10) cioe che la disponibilita complessiva uguagli la richiesta complessiva.

Passiamo, ora, ad analizzare alcune varianti della formulazione classica del problema deitrasporti; puo infatti accadere che non tutte le rotte di trasporto siano disponibili: se non epossibile il trasporto da una certa origine Oi ad una destinazione Dj si pone, per convenzione,cij = ∞.Oppure possono esistere rotte di trasporto Oi − Dj in cui vi sono limitazioni sulle quantitamassima di merci trasportabili uij . Questo produce dei vincoli del tipo xij ≤ uij .

Infine, si puo supporre che la disponibilita complessiva possa essere superiore alla domandacioe

m∑

i=1

ai ≥n∑

j=1

bj . (3.15)

In tal caso, possono essere ammesse giacenze nelle origini e/o nelle destinazioni; se si accettadi avere giacenze nelle origini, allora i vincoli di origine diventano

n∑

j=1

xij ≤ ai i = 1, . . . , m;

se si accetta di avere giacenze nelle destinazioni, allora i vincoli di destinazione diventano

m∑

i=1

xij ≥ bj j = 1, . . . , n.

Anche nel caso in cui valga la (3.15), il problema dei trasporti puo essere posto nella suaformulazione classica, cioe con soli vincoli di uguaglianza, introducendo una destinazione fittiziache abbia una richiesta pari a

m∑

i=1

ai −n∑

j=1

bj

e ponendo uguale a zero il costo per raggiungere questa destinazione fittizia da qualsiasi origine.

Un problema di trasporto

Consideriamo un’industria che produce un bene di consumo in due stabilimenti di produzione,situati rispettivamente a Pomezia e a Caserta. La produzione viene prima immagazzinata indue depositi, situati uno a Roma e l’altro a Napoli. Quindi i prodotti vengono distribuiti allarete di vendita al dettaglio. Per ogni unita di prodotto, il costo del trasporto dallo stabilimentoal deposito e dato dalla Tabella:

37

Page 40: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Roma NapoliPomezia 1 3Caserta 3.5 0.5

Costi di trasporto euro/unita

La capacita produttiva dei due stabilimenti e limitata, per cui ogni settimana il bene inquestione non puo essere prodotto in piu di 10000 unita nello stabilimento di Pomezia e in piudi 8000 unita nello stabilimento di Caserta. Inoltre le statistiche di vendita informano che ognisettimana vengono vendute mediamente 11000 unita tramite il deposito di Roma e 4600 unitatramite il deposito di Napoli. L’industria vuole minimizzare il costo del trasporto della mercedagli stabilimenti ai depositi, assicurando che i depositi ricevano settimanalmente le quantitamedie prima indicate.

Le variabili di decisione sono le quantita del bene di consumo trasportate settimanalmente,che possiamo associare alle variabili x1, x2, x3, x4 nel seguente modo:

quantita trasportata da Pomezia a Roma x1

quantita trasportata da Pomezia a Napoli x2

quantita trasportata da Caserta a Roma x3

quantita trasportata da Caserta a Napoli x4

che corrisponde in forma di tabella a

Roma NapoliPomezia x1 x2

Caserta x3 x4

Variabili decisione

La funzione obiettivo e il costo sostenuto settimanalmente per il trasporto:

z(x1, x2, x3, x4) = x1 + 3x2 + 3.5x3 + 0.5x4.

Osserviamo che∑

i ai = 18000 e∑

j bj = 15600, dunque siamo nell’ipotesi (3.15) e supponiamodi accettare giacenze nelle origini.Poiche i due stabilimenti hanno capacita produttiva limitata deve essere

x1 + x2 ≤ 10000x3 + x4 ≤ 8000.

Poiche si vuole garantire il rifornimento medio settimanale (senza giacenza), deve essere

x1 + x3 = 11000x2 + x4 = 4600.

Infine evidentemente deve risultare xi ≥ 0, i = 1, 2, 3, 4, e quindi il problema di programmazionelineare per l’industria dell’esempio e il seguente:

min z = x1 + 3x2 + 3.5x3 + 0.5x4

x1 + x2 ≤ 10000x3 + x4 ≤ 8000x1 + x3 = 11000x2 + x4 = 4600xi ≥ 0, i = 1, 2, 3, 4.

38

Page 41: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

3.3.3 Un problema di Yield Management ferroviario

Una compagnia ferroviaria vende i biglietti per il treno che effettua il percorso dalla citta A(Roma) alla B (Bologna) effettuando una fermata intermedia F1 (Firenze).

1 2 3

x12 x23

x13

L1 L2

Figura 3.4: Un treno con percorso composto da due tratte L1, L2 e tre Origini-Destinazione(1,2), (2,3), (1,3)

Le tariffe sono fissate a priori e dipendono solo dalla distanza tra le origini-destinazioni. Inparticolare i prezzi in Euro (1a classe) per per ciascuna possibile Origine-Destinazione (O-D)coperta dal treno sono riportati nella Tabella 3.3.3.

O-D A-F1 A-B F1-BTariffa 42,35 53,20 18,59

Tabella 3.1: Tariffe per le tre possibili O-D coperte dal treno

Il numero di posti disponibili sul treno e pari a 700.All’inizio del periodo di prenotazione la domanda per ciascuna origine-destinazione (O-D)

e incerta, ma e nota una previsione sulla domanda il cui valor (medio) µ e riportato in Tabella3.3.3.

O-D A-F1 A-B F1-Bµ 420 355 335

Tabella 3.2: Domanda prevista per le tre possibili O-D coperte dal treno

Il problema consiste nel determinare quanti posti vendere su ciascuna Origine -Destinazione(O-D) coperta dal treno in modo da massimizzare il profitto.

Formulazione.Si vuole costruire un modello di Programmazione Lineare che rappresenti il problema in analisitenendo presente i requisiti richiesti. Si assume che la domanda effettiva per ciascuna origine-Destinazione sara almeno pari al valor medio µ.

39

Page 42: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

– Variabili. E naturale associare la variabili di decisione alle quantita di posti prenotabili suciascuna Origine-Destinazione possibile. In questo caso, sono le tre variabili x12, x13 e x23 cherappresentano rispettivamente i posti prenotabili sulla tratta A-F1, A-B, F1-B.

– Funzione obiettivo. E rappresentata dal profitto (atteso) relativo alla vendita e quindi e datada 42, 35x12 +53, 20x13 +18, 59x23. Questa espressione naturalmente deve essere massimizzata.

– Vincoli. Osserviamo innanzitutto che, poiche per ipotesi si avranno almeno µ domande perciascuna Origine-Destinazione, e necessario imporre i vincoli

x12 ≤ 420x13 ≤ 355x23 ≤ 335

in quanto non e sensato prenotare piu posti della domanda effettiva.Inoltre devono essere imposti i vincoli legato alla capacita di posti del treno. In particolare,

nel tratto da A ad F1 sono presenti sia i viaggiatori che si recano da A ad F1 che quelli chevanno da A ad B. cosı nel tratto dal F1 a B sono presenti sia i viaggiatori che vanno da A adB che quelli che vanno da F1 a B. Avremo quindi 2 vincoli

x12 + x13 ≤ 700x23 + x13 ≤ 700

Infine si deve esplicitare il vincolo di non negativita sulle variabili cioe x12, x23, x13 ≥ 0.In principio le variabili rappresentano dei posti, e quindi si dovrebbero esplicitare anche i vincolidi interezza. Questi vincoli possono essere omessi come sara chiarito in un prossimo capitolo.

Quindi la formulazione finale e

max 42, 35x12 + 53, 20x13 + 18, 59x23

x12 + x13 ≤ 700x23 + x13 ≤ 7000 ≤ x12 ≤ 4200 ≤ x13 ≤ 3550 ≤ x23 ≤ 335(x12, x23, x13 intere)

3.3.4 Minimizzazione dello scarto massimo

Un caso di particolare interesse nei problemi di approssimazione del tipo 2.4.5 consiste nel casoin cui sono noti n punti del piano (xi, yi) che possono corrispondere a dati sperimentali o amisurazioni e si vuole approssimare la funzione y = Φ(x) con un polinomio di primo grado(ovvero una retta) del tipo y = ax + b in cui vuole minimizzare

1. minimizzazione del massimo valore assoluto dell’errore

min max1≤i≤m

|ei(x)|.

2. minimizzazione della somma dei valore assoluto dell’errore

minm∑

i=1

|ei(x)|.

40

Page 43: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Soluzione Si vuole costruire un modello di Programmazione Lineare utilizzando le trasfor-mazioni nel paragrafo 3.2.

– Variabili. Le variabili sono naturalmente i valori di a, b ∈ R.– Funzione obiettivo minmax. Nel primo caso la funzione obiettivo e

f(m, q) = maxt=0,1,2,3

|at + b− y(t)| = max|b|, |a + b− 1|, |2a + b− 4|, |3a + b− 9|.

– Vincoli. Non ci sono vincoli espliciti, ma per poter ricondurre il problema di

mina,b

max|b|, |a + b− 1|, |2a + b− 4|, |3a + b− 9|

ad un problema di Programmazione Lineare e necessario introdurre una variabile aggiuntivax ∈ R ed i vincoli

max|b|, |a + b− 1|, |2a + b− 4|, |3a + b− 9| ≤ x.

Si ottiene il problema di PL:

mina,b,x x−x ≤ b ≤ x−x ≤ a + b− 1 ≤ x−x ≤ 2a + b− 4 ≤ x−x ≤ 3a + b− 9 ≤ xx ≥ 0.

osserviamo che il vincolo x ≥ 0 e implicato dagli altri vincoli e dunque puo‘ essere eliminato.

– Funzione obiettivo “somma di moduli”. Nel secondo caso la funzione obiettivo e

f(m, q) =∑

t=0,1,2,3

|at + b− y(t)| = |b|+ |a + b− 1|+ |2a + b− 4|+ |3a + b− 9|.

– Vincoli. Non ci sono vincoli espliciti, ma per poter ricondurre il problema di

mina,b

(|b|+ |a + b− 1|+ |2a + b− 4|+ |3a + b− 9|)

ad un problema di Programmazione Lineare e necessario introdurre le variabile aggiuntive xi ∈R, i = 1, . . . , 4 ed i vincoli

|b| ≤ x1 |a + b− 1| ≤ x2 |2a + b− 4| ≤ x3 |3a + b− 9| ≤ x4.

Si ottiene il problema di PL:

min(a,b)∈R2,x∈R4 x1 + x2 + x3 + x4

−x1 ≤ b ≤ x1

−x2 ≤ a + b− 1 ≤ x2

−x3 ≤ 2a + b− 4 ≤ x3

−x4 ≤ 3a + b− 9 ≤ x4.

osserviamo che anche in questo caso il vincolo x ≥ 0 e implicato dagli altri vincoli e dunquepuo‘ essere eliminato.

41

Page 44: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Capitolo 4

Soluzione grafica di problemi PMin 2 variabili

In questo paragrafo si vuole fornire una interpretazione geometrica di un problema di Program-mazione matematica. In particolare, quando un problema di Programmazione matematica edefinito solamente in due variabili, si puo rappresentare efficacemente il problema sul pianocartesiano e si puo determinare una sua soluzione in maniera elementare con semplici deduzionigeometriche. Le situazioni che verranno presentate nel seguito vogliono rappresentare un puntodi partenza intuitivo per la trattazione di problemi di Programmazione Lineare in n variabili; irisultati che verranno dedotti per via elementare nel caso bidimensionale trovano, infatti, unageneralizzazione consistente nel caso di un generico problema di Programmazione Lineare.

4.1 Rappresentazione di vincoli nel piano cartesiano

In questo paragrafo si richiamano le rappresentazioni geometriche nel piano di alcune curvenote in modo analitico.

4.1.1 Vincoli lineari

Nel piano cartesiano Ox1x2 l’equazione lineare

a1x1 + a2x2 = c (4.1)

rappresenta una retta che partiziona il piano in due semipiani. Ciascun semipiano e caratter-izzato da punti P (x1, x2) che soddisfano la disequazione ax1 + bx2 ≥ c oppure la disequazioneax1 + bx2 ≤ c. Quindi ogni disequazione del tipo

ax1 + bx2 ≥ c oppure ax1 + bx2 ≤ c

individua univocamente un semipiano. Si riporta, ora, un semplice risultato geometrico cheverra utilizzato nel seguito.

Lemma 4.1.1 Si considera una famiglia di rette parallele

a1x1 + a2x2 = c (4.2)

42

Page 45: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

con a1, a2 ∈ IR fissati e con c ∈ IR. Il vettore a =(

a1

a2

)individua una direzione ortogonale alle

rette della famiglia (4.2) ed e orientato dalla parte in cui sono le rette della famiglia ottenuteper valori crescenti della c, cioe verso il semipiano in cui risulta a1x1 + a2x2 ≥ c.

Dimostrazione. Sia x un vettore di componenti x1 e x2. La famiglia di rette (4.2) puo esserescritta in forma vettoriale

aT x = c.

Siano ora x e z due punti appartenenti alla retta aT x = c. Risulta quindi

aT z = c e aT x = c

e sottraendo membro a membro queste due uguaglianze si ottiene

aT (z − x) = 0.

Quindi il vettore a e ortogonale al vettore z− x che individua la direzione della famiglia di rettecioe il vettore a rappresenta una direzione ortogonale alla famiglia di rette (4.2).

Si consideri ora un punto x = (x1, x2)T appartenente alla retta aT x = c e un puntoy = (y1, y2)T tale che aT y ≥ c. Si vuole dimostrare che il punto y appartiene al semipianoindividuato dalla retta aT x = c verso il quale e orientato il vettore a. Infatti, per le ipotesifatte, si ha

aT y ≥ c e aT x = c

e sottraendo membro a membro queste due relazioni si ottiene

aT (y − x) ≥ 0

e questo significa che l’angolo θ che il vettore y − x forma con il vettore a deve essere acutoe quindi il vettore a deve essere orientato verso il semipiano ove si trova il punto y, cioe ilsemipiano individuato dalla diseguaglianza aT x ≥ c. (Figura 4.1)

Come esempio del risultato riportato dal lemma appena dimostrato, si consideri la disug-

uaglianza lineare 3x1+x2 ≥ 6. Il vettore a =(

31

)individua una direzione ortogonale alla retta

3x1 + x2 = 6 ed e orientato verso il semipiano individuato dalla disuguaglianza 3x1 + x2 ≥ 6(Figura 4.2).

Nella pratica, per determinare quale dei due semipiani e individuato dalla disuguaglianzalineare a1x1+a2x2 ≥ c si puo procedere semplicemente in questo modo: dopo aver rappresentatola retta a1x1 + a2x2 = c per individuare qual e il semipiano di interesse, si puo scegliere unpunto P del piano (l’origine degli assi e il piu semplice) e valutare l’espressione a1x1 + a2x2 inquesto punto; se il valore cosı ottenuto e maggiore o uguale di c allora il semipiano individuatodalla disuguaglianza lineare a1x1 + a2x2 ≥ c e quello contenente il punto P ; in caso contrarioe quello opposto.

4.1.2 Vincoli quadratici

Nel piano cartesiano Ox1x2 le equazioni quadratiche rappresentano delle coniche. Consideriamodelle equazioni del tipo h(x1, x2) = 0 polinomi di grado massimo pari a due. Ci limiteremo arichiamare le equazioni h = 0 della circonferenza e della parabola.

43

Page 46: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

a x T

a x T C≤

y

C

a

-

_

x

x1

2

x

θ

>

Figura 4.1: Interpretazione geometrica del Lemma 4.1.1

2

6

>3x + x 1

a

2 6

3x + x 1 2 ≤ 6

Figura 4.2: Rappresentazione del vincolo lineare 3x1 + x2 ≥ 6

44

Page 47: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Nel piano cartesiano Ox1x2 l’equazione quadratica

h(x1, x2) = (x1 − a1)2 + (x2 − a2)2 − r2 = 0 (4.3)

rappresenta una circonferenza di centro C=(a1 a2)T e raggio fissato r. Il gradiente di h e dato

∇h(x) =(

2(x1 − a1)2(x2 − a2)

)= 2

((x1

x2

)−

(a1

a2

))

Ad una circonferenza possono essere associati due insiemi

S≤ = x ∈ IR2 : (x1 − a1)2 + (x2 − a2)2 ≤ r2S≥ = x ∈ IR2 : (x1 − a1)2 + (x2 − a2)2 ≥ r2

la cui intersezione e la circonferenza stessa. S≤ e l’insieme dei punti ”interni“ alla circonferenza,mentre S≥ rappresenta i punti “esterni”.

Nel piano cartesiano Ox1x2 le equazioni quadratiche riconducibili alla forma

h(x1, x2) = x2 −(a1x

21 + a2x1 + a3

)= 0

h(x1, x2) = x1 −(a1x

22 + a2x2 + a3

)= 0

rappresentano rispettivamente una parabola con asse parallelo all’asse delle ordinate e ascissadel vertice pari a − a2

2a1e una parabola con asse parallelo all’asse delle ascisse e ordinata del

vertice pari a − a22a1

. Consideriamo senza perdere di generalita la prima delle due equazioni egli insiemi individuati dai due vincoli di disuguaglianza corrispondenti

S≤ = x ∈ IR2 : x2 ≤ a1x21 + a2x1 + a3

S≥ = x ∈ IR2 : x2 ≥ a1x21 + a2x1 + a3

S≤ e l’insieme dei punti che si trova “internamente” alla parabola stessa e S≥ e l’insieme deipunti “esterni”.

4.2 Rappresentazione di funzioni obiettivo

Quanto esposto nel paragrafo precedente e utile anche per esaminare la variazione di una fun-zione lineare/quadratica che rappresenta la funzione obiettivo di un problema di Program-mazione Matematica. In particolare, data una generica funzione obiettivo f(x1, x2), si rappre-sentano le curve di livello della funzione ovvero le curve

f(x1, x2) = k (4.4)

ottenuta al variare di k. Se il problema e di minimizzazione, si cerchera di ottenere un valorepiu basso possibile per la k in corrispondenza di valori ammissibili per x1 e x2; viceversa, se ilproblema e di massimizzazione, si cerchera ottenere un valore piu alto possibile per la k.

4.2.1 Funzioni lineari

In due variabili, la funzione obiettivo di un problema di Programazione Lineare e un’espressionedel tipo f(x1, x2) = c1x1 + c2x2 da massimizzare o da minimizzare. Per rappresentare questa

45

Page 48: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

funzione obiettivo su un piano cartesiano Ox1x2 si considera la famiglia di rette parallele (k =C)

c1x1 + c2x2 = C (4.5)

ottenuta al variare di C, che rappresentano le rette di livello della funzione. Sulla base di quantoesposto nel paragrafo precedente, valori superiori della C si determinano traslando le rette nel

verso individuato dal vettore(

c1

c2

)che rappresenta, quindi, una direzione di crescita per la

funzione c1x1 + c2x2. Ovviamente, la direzione opposta sara una direzione di decrescita.Quindi, geometricamente, un problema di massimizzazione consistera nel considerare la

traslazione nel verso della direzione di crescita della funzione obiettivo, mentre in un problemadi minimizzazione si considera la traslazione nel verso opposto (Figura 4.3)

1 22 x +x =12

1

2 x +x =8

2 3 4 5 6 x1

x 2

1

2

3

4

5

6

8

7

9

10

11

12

direzione di crescita

1 22 x +x =10

1 2

Figura 4.3: Rette di livello della funzione 2x1 + x2

4.2.2 Funzioni quadratiche

In due variabili, consideriamo la funzione obiettivo quadratica

f(x1, x2) = (x1 − a1)2 + (x2 − a2)2 (4.6)

Per rappresentare questa funzione obiettivo su un piano cartesiano Ox1x2 si considera la famigliadi curve (k = r2)

(x1 − a1)2 + (x2 − a2)2 = C2 (4.7)

46

Page 49: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

ottenuta al variare di C, che rappresentano circonferenze concentriche di raggio variabile C.Se il problema e di massimizzazione si vuole trovare il massimo valore di raggio ottenibilein corrispondenza di valori ammissibili per x1 e x2; viceversa se si tratta di minimizzazione.Osserviamo che se il centro della circonferenza base e ammissibile, esso costituisce il punto diminimo globale.

4.3 Esempi di risoluzione grafica

Verranno considerati alcuni esempi di problemi di Programmazione Matematica.

Esempio 4.3.1 Sia la funzione obiettivo da minimizzare:

f(x) = x1

e sia l’insieme ammissibile F definito dai vincoli:

(x1 − 3)2 + (x2 − 2)2 = 13(x1 − 4)2 + x2

2 ≤ 16

Determinare graficamente, se esiste, un punto di minimo.Soluzione. Questo esempio evidenzia geometricamente la definizione di minimo locale vinco-lato in un problema a 2 variabili.

x1

x2

A

B

C

Figura 4.4: Soluzione grafica in IR2 dell’Esempio 4.3.1.

L’insieme ammissibile F , rappresentato in Figura (4.4), ed e dato dall’arco di circonferenzaACB (tratteggiato in verde). Poiche esso e compatto e f e continua, in base al Teorema diWeierstrass, l’esistenza di un minino globale e assicurata.

47

Page 50: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Le curve di livello x1 = k sono rette parallele all’asse delle ordinate con valore crescenteall’aumentare di k. Si determina il punto di minimo globale nel punto A = (0, 0)T di valoref∗ = 0. Si osserva che il punto C e un massimo globale, mentre il punto B risulta essere unminimo locale.

Esempio 4.3.2 Sia dato il problema di ottimizzazione vincolata

min 2x1 + 3x2

6x1 + x22 − x2 ≤ 12

x1 − 4x2 ≤ −2x1, x2 ≥ 0

Determinare, se esiste, un punto di minimo globale.

Esempio 4.3.3 Si consideri la funzione obiettivo:

f(x) =12(x1

2 + x22)

e sia l’insieme ammissibile F definito dai vincoli:

x1 + x2 = 1(x1 − 1)2 + x2

2 ≤ 14

Determinare se esiste un punto di minimo.

Soluzione. L’insieme ammissibile F e dato dal segmento di retta che ha per estremi i punti

x =(1− 1

2√

2, 1

2√

2

)T

e x =(1 + 1

2√

2, 1

2√

2

)T.

L’esistenza di una soluzione e garantita dal Teorema di Weierstrass poiche la funzioneobiettivo e continua e l’insieme ammissibile e compatto.

Le curve di livello della funzione obiettivo

12(x1

2 + x22) = r2

sono circonferenze di centro l’origine e raggio r.

Esempio 4.3.4Si consideri ora il problema di allocazione ottima di risorse del Paragrafo 2.4.1 che e rappresen-tato dal seguente problema di Programmazione Lineare:

max 7x1 + 10x2

x1 + x2 ≤ 750x1 + 2x2 ≤ 1000x2 ≤ 400x1 ≥ 0, x2 ≥ 0.

Sul piano cartesiano Ox1x2 ciascun vincolo individua un semipiano. In particolare, in Figura 4.6e evidenziato il semipiano individuato dal primo vincolo x1 + x2 ≤ 750.

48

Page 51: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Figura 4.5: Soluzione grafica in IR2 dell’Esempio 4.3.3.

In Figura 4.7 e evidenziato il semipiano individuato dal secondo vincolo x1 + 2x2 ≤ 1000.Infine in Figura 4.8 e evidenziato il semipiano individuato dal terzo vincolo x2 ≤ 400.Ovviamente i vincoli di non negativita delle variabili x1 ≥ 0 e x2 ≥ 0 rappresentano

rispettivamente il semipiano delle ascisse non negative e il semipiano delle ordinate non negative.L’insieme ammissibile del problema di Programmazione Lineare che stiamo esaminando e

dato quindi dall’intersezione di tali semipiani e si puo indicare con

S =

(x1, x2) ∈ IR2 | x1 + x2 ≤ 750, x1 + 2x2 ≤ 1000, x2 ≤ 400, x1 ≥ 0, x2 ≥ 0

.

Tale regione di piano prende nome di regione ammissibile, e un insieme convesso ed e rappre-sentato in Figura 4.9.

Tutti i punti P (x1, x2) appartenenti a questa regione sono punti dell’insieme ammissibiledel problema e quindi tutti i punti di questa regione costituiscono soluzioni ammissibili delproblema.

Si consideri ora la funzione obiettivo 7x1 + 10x2 e si consideri la famiglia di rette

7x1 + 10x2 = C

ottenute al variare del parametro C. Esse costituiscono le curve di livello della funzione indue variabili f(x1, x2) = 7x1 + 10x2 che sono ovviamente delle rette come rappresentato inFigura 4.10.

In riferimento al problema di allocazione ottima rappresentato dal problema di Program-mazione Lineare che stiamo esaminando, il parametro C rappresenta il profitto totale che deve

49

Page 52: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Figura 4.6: Semipiano individuato dal vincolo x1 + x2 ≤ 750

Figura 4.7: Semipiano individuato dal vincolo x1 + 2x2 ≤ 1000

50

Page 53: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Figura 4.8: Semipiano individuato dal vincolo x2 ≤ 400

Figura 4.9: La regione ammissibile S

51

Page 54: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Figura 4.10: Curve di livello della funzione f(x1, x2) = 7x1 + 10x2 e punto di ottimo

essere massimizzato. Per C = 0 si ottiene la linea di livello passante per l’origine del pianoOx1x2. Ovviamente, scegliendo x1 = 0 e x2 = 0 (che e un punto ammissibile in quanto(0, 0) ∈ S) si ottiene il profitto totale nullo. All’aumentare del valore di tale profitto, cioeall’aumentare del valore della costante C, graficamente si ottengono rette parallele alla rettadi livello passante per l’origine traslate nella direzione di crescita della funzione 7x1 + 10x2

data dal vettore(

710

)(Figura 4.10). Poiche si desidera massimizzare la funzione obiettivo,

si cerchera di raggiungere il valore piu alto per la C ottenuto scegliendo per x1 e x2 valoriammissibili cioe tali che (x1, x2) ∈ S. Osservando la rappresentazione grafica della regioneammissibile S si deduce che all’aumentare di C, le rette di livello della funzione obiettivo inter-secano la regione ammissibile finche C ≤ 6000. Tale valore e ottenuto per x1 = 500 e x2 = 250e non esistono altri punti della regione ammissibile in cui la funzione obiettivo assume valorimaggiori. Il valore 6000 e, quindi, il massimo valore che la funzione obiettivo puo raggiungeresoddisfacendo i vincoli. Tale soluzione ottima e raggiunta in corrispondenza del punto P dicoordinate (x1, x2) = (500, 250); tale punto non e un punto qualsiasi, ma costituisce quello chenella geometria piana viene detto vertice del poligono convesso che delimita la regione ammissi-bile. Il fatto che l’ottimo del problema e raggiunto in corrispondenza di un vertice della regioneammissibile non e casuale, ma come si vedra in seguito, e una caratteristica fondamentale diun generico problema di Programmazione Lineare. Si osservi fin d’ora che la frontiera dellaregione ammissibile e definita dalle rette

x1 + x2 = 750, x1 + 2x2 = 1000, x2 = 400, x1 = 0, x2 = 0

52

Page 55: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

e che ogni intersezione di due di queste rette e un vertice della regione ammissibile; il numero diqueste possibili intersezioni (non tutte necessariamente appartenenti alla regione ammissibile)e ovviamente pari al piu a 10. Si osservi, infine, che nel punto di ottimo sono attivi i vincolix1 + x2 ≤ 750 e x1 + 2x2 ≤ 1000 mentre non e attivo il vincolo x2 ≤ 400.

Figura 4.11: Esempio di soluzione non unica

Nel caso particolare che abbiamo esaminando, la soluzione ottima determinata e unica,ma in generale puo accadere che le rette di livello della funzione obiettivo siano parallele adun segmento del perimetro del poligono che delimita la regione ammissibile; in questo casopotrebbe accadere che esistano piu punti ammissibili in cui la funzione assume lo stesso valoreottimo e quindi la soluzione non sarebbe piu unica; nel problema in esame, cio accadrebbe, adesempio, se la funzione obiettivo fosse cx1 + 2cx2 con c costante reale positiva (Figura 4.11);infatti, tutti i punti del segmento AB rappresentano soluzioni ottime.

Tuttavia, anche in questo caso si puo sempre trovare un vertice che costituisce una soluzioneottima.

Esempio 4.3.5Consideriamo ora un problema di miscelazione descritto nel paragrafo 3.3.1 che e rappresentato

53

Page 56: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

dal seguente problema di Programmazione Lineare:

min(400x1 + 600x2)140x1 ≥ 7020x1 + 10x2 ≥ 3025x1 + 50x2 ≥ 75x1 ≥ 0, x2 ≥ 0

Nelle figure che seguono rappresentati i vincoli lineari di questo problema; In particolare nellaFigura 4.12 e evidenziato il semipiano individuato dal vincolo 140x1 ≥ 70. Nella Figura 4.13

Figura 4.12: Semipiano individuato dal vincolo 140x1 ≥ 70

e nella Figura 4.14 sono evidenziati rispettivamente i semipiani individuati dai vincoli 20x1 +10x2 ≥ 30 e 25x1 + 50x2 ≥ 75.Ovviamente i vincoli di non negativita delle variabili x1 ≥ 0 e x2 ≥ 0 rappresentano rispettiva-mente il semipiano delle ascisse non negative e il semipiano delle ordinate non negative.

L’insieme ammissibile del problema di Programmazione Lineare che stiamo esaminando edato quindi dall’intersezione di tali semipiani e si puo indicare con

S =

(x1, x2) ∈ IR2 | 140x1 ≥ 70, 20x1 + 10x2 ≥ 30, 25x1 + 50x2 ≥ 75, x1 ≥ 0, x2 ≥ 0

.

L’insieme S rappresenta la regione ammissibile del problema di Programmazione Lineare inesame ed e rappresentata in Figura 4.15.

Tutti i punti P (x1, x2) appartenenti a questa regione sono punti dell’insieme ammissibile delproblema e quindi tutti i punti di questa regione costituiscono soluzioni ammissibili del prob-

54

Page 57: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Figura 4.13: Semipiano individuato dal vincolo 20x1 + 10x2 ≥ 30

Figura 4.14: Semipiano individuato dal vincolo 25x1 + 50x2 ≥ 75

55

Page 58: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Figura 4.15: La regione ammissibile S

lema. Si osservi che, a differenza della regione ammissibile del problema considerato nell’esempioprecedente, la regione ammissibile S e illimitata.

Ora, tracciando le curve di livello della funzione obiettivo 400x1+600x2 si ottiene la famigliadi rette

400x1 + 600x2 = C.

Trattandosi di un problema di minimizzazione si vuole determinare il valore piu basso di Cottenuto scegliendo per x1 e x2 valori ammissibili cioe tali che (x1, x2) ∈ S. Osservando larappresentazione grafica della regione ammissibile S e osservando che la direzione di decrescita

e quella opposta al vettore(

400600

), si deduce che al diminuire di C, le rette di livello della

funzione obiettivo intersecano la regione ammissibile finche C ≥ 1000 (Figura 4.16)Tale valore e ottenuto per x1 = 1 e x2 = 1 e non esistono altri punti della regione ammissibile

in cui la funzione obiettivo assume valori minori. Il valore 1000 e, quindi, il minimo valore chela funzione obiettivo puo raggiungere soddisfacendo i vincoli. Tale soluzione ottima e raggiuntain corrispondenza del punto P di coordinate (x1, x2) = (1, 1); si osservi che anche in questocaso tale punto e un punto particolare della regione ammissibile. Si osservi, infine che in questopunto sono attivi i vincoli 20x1 + 10x2 ≥ 30 e 25x1 + 50x2 ≥ 75 mentre risulta non attivo ilvincolo 140x1 ≥ 70.

Abbiamo esaminato due esempi di interpretazione geometrica e soluzione grafica di prob-lemi di Programmazione Lineare in due variabili. In entrambe i problemi e stato possibile

56

Page 59: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Figura 4.16: Curve di livello della funzione 400x1 + 600x2 e punto di ottimo

determinare una soluzione ottima. Tuttavia e facile dedurre, sempre per via geometrica, cheun problema di Programmazione Lineare puo non ammettere soluzione ottima. Ad esempio, senell’Esempio 4.3.4 sostituiamo il vincolo x2 ≤ 400 con il vincolo x2 ≥ 1000, la regione ammis-sibile sarebbe vuota nel senso che non esisterebbe nessun punto del piano che soddisfa tutti ivincoli. In questo caso il problema risulterebbe inammissibile e questo indipendentemente dallafunzione obiettivo e dal fatto che il problema e in forma di minimizzazione o massimizzazione.

Un altro esempio di problema di Programmazione Lineare che non ammette soluzione ot-tima si puo ottenere considerando il problema dell’Esempio 4.3.5 e supponendo che la funzioneobiettivo debba essere massimizzata anziche minimizzata. In questo caso nella regione ammis-sibile (che e illimitata) la funzione obiettivo puo assumere valori arbitrariamente grandi cioetali che comunque scelto un valore M > 0 esiste un punto in cui la funzione obiettivo assumevalore maggiore di M ; questo significa che il problema e illimitato superiormente e quindi nonpuo esistere una soluzione ottima.

Sulla base di queste considerazioni sulla geometria di un problema di ProgrammazioneLineare (PL) in due variabili si puo intuire che le situazioni che si possono verificare sono leseguenti:

57

Page 60: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

• il problema di PL ammette soluzione ottima (che puo essere o non essere unica) inun vertice del poligono convesso che delimita la regione ammissibile;

• il problema di PL non ammette soluzione ottima perche

– la regione ammissibile e vuota

– la regione ammissibile e illimitata e la funzione obiettivo e illimitata superi-ormente (se il problema e di massimizzazione) o illimitata inferiormente (se ilproblema e di minimizzazione).

Quindi se si suppone che esiste un punto ammissibile, cioe che la regione ammissibile sianon vuota, allora sembrerebbe di poter dedurre che o il problema di Programmazione Lineareammette soluzione ottima in un vertice del poligono convesso che delimita la regione ammissibileoppure e illimitato.

Questi asserti, ora semplicemente dedotti intuitivamente per via geometrica, hanno in effettiuna validita generale e verranno enunciati e dimostrati in maniera rigorosa nel capitolo 10.Come ultima considerazione intuitiva si vuole citare la possibilita che la regione ammissibile sia

x

2x

1

Figura 4.17: Regione ammissibile costituita da una striscia di piano

costituita da una striscia di piano, cioe dalla porzione di piano compresa tra due rette parallele(Figura 4.17). In questo caso non esistono vertici per la regione ammissibile e il problema risulta

58

Page 61: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

illimitato ad eccezione del caso particolare in cui le rette di livello della funzione obiettivo sonoparallele alle rette che delimitano la striscia di piano; in questo caso si hanno infinite soluzioni.

La non esistenza di vertici in questo caso si intuisce essere legata al fatto che la regioneammissibile costituita da una striscia di piano contiene rette. Infatti nei casi delle regioni am-missibili S e S dei problemi di Programmazione Lineare dell’Esempio 4.3.4 e dell’Esempio 4.3.5non esistono rette interamente contenute in S o in S. Anche la regione illimitata S puo conteneresemirette, ma non rette.

Nel caso in cui la regione ammissibile non contiene nemmeno semirette (che e il caso dellaregione S dell’Esempio 4.3.4), cioe la regione ammissibile sia chiusa e limitata, e possibilegarantire l’esistenza di un minimo (e un massimo) assoluto per funzioni continue grazie alteorema di Weierstrass.

59

Page 62: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Capitolo 5

Problemi di ottimizzazioneconvessa e concava

Tra i problemi di Ottimizzazione sono di particolare interesse i cosiddetti problemi convessi.Per poter definire correttamente cosa si intende per problema convesso e necessario introdurrealcuni concetti preliminari.

5.1 Insiemi Convessi

Definizione 5.1.1 Un vettore y in IRn si dice combinazione convessa di p ≥ 1 vettorix1, . . . , xp se risulta

y =p∑

i=1

λixi

p∑

i=1

λi = 1 λi ≥ 0 i = 1, . . . , p.

Possiamo allora introdurre la seguente definizione

Definizione 5.1.2 Siano x e y due punti in IRn. L’insieme dei punti di IRn ottenuti come

z = (1− β)x + βy,

al variare di β nell’intervallo [0, 1] viene definito come segmento chiuso di estremi x e y eviene sinteticamente indicato con [x, y].

Esempio 5.1.3 Nella figura 5.1 e rappresentato il segmento in IR2 avente per estremi i puntix = (1, 1)T e y = (8, 5)T . Per β = 0 ritroviamo il punto x, mentre per β = 1 ritroviamo il puntoy; i punti segnati nella figura come xa, xb e xc corrispondono rispettivamente a valori di β paria 0.25, 0.5 e 0.75.

60

Page 63: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

5

4

3

2

1x1

xa

xb

xc

x2

1 2.75 4.5 6.25 8

β = 0

β = 0.25

β = 0.5

β = 0.75

1 x

x2

Figura 5.1: Esempio di segmento.

Dalla figura 5.1 risulta ovvio che il concetto di segmento e la generalizzazione, al caso diIRn dell’ usuale concetto di segmento valido nel piano.

Notiamo anche come, nel caso in cui gli estremi appartengano ad IR1, e sono quindi duenumeri (scalari), diciamo a e b, il concetto di segmento di estremi a e b coincida con quello diintervallo [a, b], fatto che giustifica la notazione [x, y] impiegata per indicare il segmento.

Definizione 5.1.4 Un insieme X ⊆ IRn e convesso se per ogni coppia di punti appartenentiall’insieme, appartengono all’insieme anche tutti i vettori ottenibili come loro combinazioneconvessa.

Utilizzando il concetto di segmento chiuso, la definizione di insieme convesso puo essere rifor-mulata nel modo seguente:

Un insieme X e convesso se per ogni coppia di vettori x, y ∈ X si ha [x, y] ⊆ X.

Dalla definizione segue che l’insieme vuoto e l’insieme costituito da un solo vettore sono insiemiconvessi (banali). Il piu semplice insieme convesso non banale e il segmento di estremi x, y ∈IRn.

Esempio 5.1.5 In IR2 gli insiemi (a) , (b) della figura 5.2 sono convessi, mentre gli insiemi (c),(d) della stessa figura non lo sono. Infatti agli insiemi (c),(d) appartengono coppie di punti,quali quelle segnate nella figura, tali che il segmento che li congiunge presenta dei punti nonappartenenti all’insieme; cio non avviene invece comunque si prendano coppie di punti negliinsiemi (a) e (b).

Una importante proprieta degli insiemi convessi e espressa dal seguente teorema.

61

Page 64: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

a b cd

e

Figura 5.2: Insiemi convessi e non convessi.

Teorema 5.1.6 L’intersezione di due insiemi convessi e un insieme convesso.

Dimostrazione: Siano X1, X2 ⊆ IRn due insiemi convessi e sia X = X1∩X2 la loro intersezione.Siano x ed y due vettori in X, allora x, y ∈ X1 ed x, y ∈ X2. Poiche X1 ed X2 sono insiemiconvessi abbiamo che [x, y] ⊆ X1 e che [x, y] ⊆ X2. Ma allora [x, y] ⊆ X e l’insieme X econvesso 2

Esempio 5.1.7 L’insieme (e) della figura 5.2 e dato dall’intersezione di due insiemi convessied e convesso

Dal Teorema (5.1.6) si puo derivare, con un semplice ragionamento induttivo, il seguentecorollario.

Corollario 5.1.8 L’intersezione di un numero finito di insiemi convessi e un insieme convesso.

Passiamo ora a considerare dei particolari insiemi convessi che rivestono un ruolo importantenella teoria della programmazione lineare.Consideriamo l’espressione

a1x1 + . . . + anxn = b

che, con notazione vettoriale possiamo scrivere aT x = b, con a ∈ IRn e b ∈ IR. Possiamo alloradare le seguenti definizioni.

Definizione 5.1.9 Sia a un vettore di IRn e b un numero reale. L’insieme

H = x ∈ IRn : aT x = b

e detto iperpiano definito dall’equazione aT x = b. Gli insiemi

S≤ = x ∈ IRn : aT x ≤ bS≥ = x ∈ IRn : aT x ≥ b

sono detti semispazi chiusi definiti dalle disequazioni aT x ≤ b e aT x ≥ b.

Nel caso dello spazio IR2 il concetto di iperpiano coincide con quello di retta, mentre nel casodello spazio IR3 il concetto di iperpiano coincide con quello di piano. In maniera intuitiva, isemispazi possono essere pensati come l’ insieme dei punti che “giacciono” da una stessa parterispetto all’iperpiano.

62

Page 65: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

10x1 + 5x2 †25

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

10x 1 + 5x2 ‡25 5

4

3

2

1

10x + 5x =25

1 2 3 4 5 6 x 1

x 2

Figura 5.3: Retta e semipiani individuati da un’equazione lineare.

Esempio 5.1.10 Con riferimento alla figura 5.3, l’iperpiano (= retta) 10x1 + 5x2 = 25 dividelo spazio (= piano) in due semispazi: S≥ = x ∈ IR2 : 10x1 +5x2 ≥ 25, indicato in grigio nellafigura, e S≤ = x ∈ IR2 : 10x1 + 5x2 ≤ 25, indicato in bianco nella figura.

Notiamo che l’iperpiano H fa parte di tutti e due i semispazi e che l’intersezione dei duesemispazi coincide con l’iperpiano. In termini insiemistici abbiamo che

H ⊂ S≥, H ⊂ S≤, S≥ ∩ S≤ = H.

I semispazi e gli iperpiani sono insiemi convessi.

Teorema 5.1.11 Un semispazio chiuso e un insieme convesso.

Dimostrazione: Dimostreremo il teorema per un semispazio S≤ = x ∈ IRn : aT x ≤ b, ladimostrazione per il semispazio S≥ ottenuto invertendo il verso della disequazione e analoga.Consideriamo due generici vettori x ed y appartenenti ad S≤, vogliamo dimostrare che ognivettore z ∈ [x, y] appartiene ad S≤, ovvero soddisfa la relazione aT z ≤ b.

Sia z = βx + (1 − β)y con 0 ≤ β ≤ 1. Poiche x ed y appartengono ad S≤ abbiamo cheaT x ≤ b e aT y ≤ b. Inoltre, poiche β ed 1− β sono reali non negativi abbiamo che

aT (βx + (1− β)y) = βaT x + (1− β)aT y ≤ βb + (1− β)b = b

e quindi che aT z ≤ b 2

Utilizzando il Teorema (5.1.11) e il Teorema (5.1.6) e ora facile dimostrare che anche uniperpiano e un insieme convesso.

63

Page 66: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Corollario 5.1.12 Un iperpiano e un insieme convesso.

Dimostrazione: Un iperpiano e l’intersezione di due semispazi chiusi (S≤ e S≥). Per il Teorema(5.1.11) un semispazio chiuso e un insieme convesso mentre, per il Teorema (5.1.6), l’intersezionedi due insiemi convessi e un insieme convesso. 2

5.1.1 Poliedro e punti estremi di un insieme convesso

In particolare e usuale introdurre la seguente definizione:

Definizione 5.1.13 Un insieme P ⊆ IRn e un poliedro se e l’intersezione di un numero finitodi semispazi chiusi e iperpiani.

In IR3 possibili poliedri sono i cubi, i tetraedi ecc. In R2 sono poliedri, ad esempio, isegmenti, le rette, poligoni piani, ecc.

Naturalmente, risulta:

Un poliedro e un insieme convesso.

Introduciamo ora il concetto di punto estremo, che ha un ruolo molto importante nello studiodei problemi di Programmazione lineare.

Definizione 5.1.14 (Punto estremo) Sia C ⊆ Rn un insieme convesso. Un punto x ∈ C sidice punto estremo di C se non puo essere espresso come combinazione convessa di due puntidi C distinti da x, o, equivalentemente, se non esistono y, z ∈ C con z 6= y tali che

x = (1− λ)y + λz, con 0 < λ < 1.

Sono esempi di punti estremi: per un cerchio, i punti della circonferenza che lo delimita; per unsegmento [x1, x2], gli estremi x1, x2; per un triangolo, i suoi vertici (non sono punti estremi ipunti dei lati che non siano vertici). L’insieme dei punti estremi di un insieme convesso C verraindicato con il simbolo Ext(C), ossia:

Ext(C) = x ∈ C : x e punto estremo di C.

Un insieme convesso puo non ammettere punti estremi. Ad esempio, un iperpiano, un semis-pazio, una sfera aperta non hanno punti estremi.

Osserviamo inoltre che Ext(C) e contenuto nella frontiera di C e quindi nessun insieme convessoaperto puo ammettere punti estremi.

Esempio 5.1.15 Nell’insieme di figura 5.4 il punto A non e un punto estremo, in quanto einterno al segmento che congiunge i punti B e C, anch’essi appartenenti all’insieme; lo stessovale per il punto D, interno al segmento [E,F]. Sono invece punti estremi dell’insieme i punti E,F, G, H.

64

Page 67: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

HA

B

CF

D

E

G

Figura 5.4: Punti estremi di un insieme.

Nel caso in cui l’insieme convesso sia un poliedro, i punti estremi sono detti anche vertici.1

5.2 Funzioni convesse e concave

Definizione 5.2.1 Una funzione f(x) si dice convessa su un insieme convesso C se, presicomunque due punti y, z ∈ C risulta che:

f((1− β)y + βz) ≤ (1− β)f(y) + βf(z), β ∈ [0, 1]. (5.1)

La funzione f(x) si dice poi strettamente convessa se, per y, z ∈ C, y 6= z,risulta

f((1− β)y + βz) < (1− β)f(y) + βf(z), β ∈ (0, 1).

1In realta la definizione di vertice e concettualmente diversa, ma si dimostra che un punto di unpoliedro e punto estremo se e solo se e un vertice.

65

Page 68: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Definizione 5.2.2 Una funzione f(x) si dice concava su un insieme convesso C se, presi co-munque due punti y, z ∈ C risulta che:

f((1− β)y + βz) ≥ (1− β)f(y) + βf(z), β ∈ [0, 1]. (5.2)

La funzione f(x) si dice poi strettamente concava se, per y, z ∈ C, y 6= z,risulta

f((1− β)y + βz) > (1− β)f(y) + βf(z), β ∈ (0, 1).

Una funzione f(x) si dice (strettamente) concava su un insieme convesso C se la funzione−f(x) e (strettamente) convessa su C.

Nella (5.1) y, z, f(y), f(z) sono dati, e β varia tra 0 e 1. Se mettiamo in esplicita evidenzala dipendenza da β, introducendo la funzione

φ(β) = f((1− β)y + βz)

otteniamo per una funzione strettamente convessa che:

φ(β) < (1− β)φ(0) + βφ(1) β ∈ (0, 1)

Quest’ultima relazione mette in evidenza che, se si rappresenta graficamente nel piano (β, φ) lafunzione φ(β), il grafico della funzione nell’intervallo (0, 1) si trova al di sotto del segmento, dettosecante, che congiunge i punti (0, φ(0)) e (1, φ(1)) e coincide solo negli estremi del segmento. Sipuo concludere che una funzione strettamente convessa e caratterizzata dalla proprieta di avereil grafico sempre al di sotto di ogni sua secante.

Una funzione lineare del tipo cT x + b e sia convessa che concava (ma NON e strettamenteconvessa o strettamente concava).

5.3 Problemi di ottimizzazione

Dal punto di vista delle proprieta di convessita possiamo distinguere:

- problemi di programmazione convessa: sono i problemi di minimo in cui la funzioneobiettivo e convessa e l’insieme ammissibile e un insieme convesso (o anche i problemi dimassimo in cui la funzione obiettivo e concava e l’insieme ammissibile e convesso)

- problemi di programmazione concava: sono i problemi di minimo in cui la funzioneobiettivo e concava e l’insieme ammissibile e un insieme convesso (o anche i problemi dimassimo in cui la funzione obiettivo e convessa e l’insieme ammissibile e convesso)

- problemi generali, in cui non sono soddisfatte tali condizioni.

Riconoscere che un problema di ottimizzazione e convesso o concavo fornisce importantiinformazioni qualitative sulle sue soluzioni. Osserviamo che

Una problema con insieme ammissibile convesso S e funzione obiettivo lineare e sia convessoche concavo.

66

Page 69: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

e dunque

Una problema di Programmazione Lineare e sia convesso che concavo.

Esempio 5.3.1 Sia dato il problema

max x2

x2 − x31 ≥ 0

x1 + x2 ≤ 1x1, x2 ≥ 0,

dire se e convesso.Si tratta di un problema di massimo con funzione obiettivo lineare e quindi concava. L’insiemeammissibile e rappresentato in figura 5.5. Si tratta di un insieme convesso. Quindi il problemadato e convesso.

Notiamo che, poiche la funzione obiettivo e lineare, si tratta anche di un problema dimassimizzazione di una funzione convessa su insieme convesso e cioe di un problema concavo !

-0.2 0 0.2 0.4 0.6 0.8 1 1.2-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

S

Figura 5.5: Insieme ammissibile S dell’Esempio 5.3.1

Per riconoscere se un problema generale e convesso o concavo dobbiamo verificare che Ssia un insieme convesso, e che f(x) sia convessa/concava su S, il che non e sempre facile.Consideriamo un insieme S definito da vincoli di uguaglianza e disuguaglianza:

gi(x) ≤ 0, i = 1, . . . , mhj(x) = 0, j = 1, . . . , p.

(5.3)

67

Page 70: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Nel caso in cui gi per i = 1, . . . ,m e hj per j = 1, . . . , p siano funzioni lineari, S e un poliedroe quindi un insieme convesso. Se invece qualche gi o hj e non lineare possiamo utilizzare laseguente proposizione fornisce una condizione solo sufficiente per la convessita di S.

Teorema 5.3.2 Sia g : Rn → R e

S = x ∈ Rn : g(x) ≤ 0, .

Se la funzione g(x) e convessa in IRn, allora l’insieme S e convesso.

Dimostrazione. Siano y e z due punti appartenenti a S. Per la convessita di g si ha

g((1− β)y + βz) ≤ (1− β)g(y) + βg(z) con β ∈ [0, 1],

Quindi poiche g(y) ≤ 0 e g(z) ≤ 0, si ottiene

g((1− β)y + βz) ≤ 0 con β ∈ [0, 1],

Ovvero tutti i punti del segmento [y, z] sono in S che dimostra che l’insieme Si e convesso.

E possibile quindi enunciare la seguente condizione sufficiente.

Teorema 5.3.3 Sia

S = x ∈ Rn : gi(x) ≤ 0, i = 1, . . . , m hj(x) = 0, j = 1, . . . , p.

Se per ogni i le funzioni gi(x) sono convesse in IRn, e per ogni j le funzioni hj sono funzionidel tipo aT

j x− bj, allora l’insieme S e convesso.

Dimostrazione. L’insieme ammissibile S e ottenuto come intersezione degli insiemi Si = x ∈Rn : gi(x) ≤ 0 e Hj = x ∈ Rn : aT

j x − bj = 0 che nelle ipotesi poste sono convessi per laproposizione 5.3.2 e per il Corollario 5.1.12. Il risultato segue dal Corollario 5.1.8.

Otteniamo quindi la seguente condizione sufficiente per riconoscere se un problema e con-vesso o concavo.

Teorema 5.3.4 Sia dato il Problema

min f(x)gi(x) ≤ 0, i = 1, . . . ,mhj(x) = 0, j = 1, . . . , p.

(5.4)

Si assuma che i vincoli di disuguaglianza siano dati da funzioni gi(x) convesse in IRn, e che ivincoli di uguaglianza siani dati da funzioni del tipo aT

j x− bj.Se la funzione obiettivo f(x) e una funzione convessa in IRn, il Problema (5.4) e convesso.Se la funzione obiettivo f(x) e una funzione concava in IRn, il Problema (5.4) e concavo.

Notiamo che, la condizione sufficiente del Teorema 5.3.3 non e soddisfatta nell’Esempio5.3.1 a causa della non convessita del vincolo x3

1 − x2 ≤ 0.

68

Page 71: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

5.3.1 Problema di ottimizzazione convesso

I problemi di ottimizzazione convessi sono di particolare importanza per due motivi. Il primo eche la grande maggioranza dei problemi di ottimizzazione che si incontrano nella pratica sonoconvessi. Il secondo e che la convessita induce alcune proprieta che semplificano l’analisi e lasoluzione di un problema convesso.

Una delle proprieta piu significative e la seguente:

Teorema 5.3.5 [Assenza di ottimi locali] Sia S ⊆ Rn un insieme convesso e f una funzioneconvessa su S. Allora, il problema

min f(x)x ∈ S

o non ha soluzione, o ha solo soluzioni globali; non puo avere soluzioni esclusivamente locali.

Dimostrazione. La dimostrazione e per assurdo. Ammettiamo che esista un minimo globalex∗ e che x sia una soluzione locale, ma non globale, di minx∈Sf(x). Allora risulta f(x∗) < f(x).

La costruzione utilizzata nella dimostrazione e illustrata schematicamente nella figura 5.6.

Figura 5.6: Costruzione geometrica utilizzata nella dimostrazione del Teorema 5.3.5 N.B. nellafigura x∗ e il minimo locale, e x rappresenta il minimo globale

Consideriamo il segmento [x, x∗]: per la convessita di f , si ha:

f((1− β)x + βx∗) ≤ (1− β)f(x) + βf(x∗) = f(x) + β(f(x∗)− f(x)), per ogni β ∈ [0, 1].

Il termine β(f(x∗)− f(x)) risulta < 0, per ogni β ∈ (0, 1], e si annulla solo per β = 0. Quindi,poiche in ogni punto x ∈ (x, x∗] risulta f(z) < f(x), non esiste nessun intorno di raggio ρ > 0in cui x puo soddisfare la definizione di minimo locale.

69

Page 72: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

5.3.2 Problema di ottimizzazione concavo

I problemi di programmazione concava costituiscono una classe molto ampia di problemi nonconvessi, che include numerose classi di problemi inerentemente “difficili”. La difficolta princi-pale che si manifesta nella soluzione di problemi di tipo concavo risiede nel fatto che possonoesssere presenti molti punti di minimo locale che non sono punti di minimo globale. In casidel genere la ricerca delle soluzioni globali puo divenire un problema di natura combinatoria,che puo richiedere, nel caso peggiore, tempi di calcolo esponenzialmente crescenti con le dimen-sioni del problema (E possibile dimostrare, in particolare, che, sotto opportune ipotesi, moltiproblemi di ottimizzazione combinatoria possono essere riformulati come problemi (continui) diprogrammazione concava.).

Per i problemi di programmazione concava e possibile dimostrare che le soluzioni ottime, oveesistano, appartengono alla frontiera dell’insieme ammissibile. Piu precisamente vale il risultatoseguente.

Teorema 5.3.6 [Assenza di soluzioni ottime interne] Sia S ⊆ Rn un insieme convesso ef una funzione concava su S. Allora, se esiste un punto di minimo globale del problema

min f(x)x ∈ S

e se la funzione obiettivo non e costante su S, ogni punto di minimo globale appartiene allafrontiera di S.

Dimostrazione. Supponiamo che il problema ammetta soluzione e che x∗ sia una soluzioneottima. Poiche, per ipotesi, f non e costante su S deve esistere un punto x ∈ S tale che

f(x) > f(x∗) = minx∈S

f(x).

Supponiamo ora che z ∈ S sia un punto interno all’insieme ammissibile. Deve allora esistereuna sfera aperta B(z; ρ) con centro in z e raggio ρ > 0 tutta contenuta in S. Sulla rettacongiungente x con z possiamo allora determinare un y ∈ B(z; ρ) ⊆ S tale che z appartenga alsegmento [x, y] e risulti y 6= z, ossia possiamo trovare un λ con 0 ≤ λ < 1 tale che

z = (1− λ)x + λy.

Per la concavita di f e l’ipotesi che sia f(x) > f(x∗), tenendo conto del fatto che f(y) ≥ f(x∗)e che 1− λ > 0 (perche y 6= z), si ottiene:

f(z) ≥ (1− λ)f(x) + λf(y) > (1− λ)f(x∗) + λf(x∗) = f(x∗).

Cio dimostra che f(z) > f(x∗) e quindi che non puo esistere una soluzione ottima in un puntointerno. 2

Per quanto riguarda la Programmazione Lineare, poiche si tratta di un problema sia con-vesso che concavo, abbiamo, come immediata conseguenza, il seguente corollario

Corollario 5.3.7 Se un problema di Programmazione Lineare ammette soluzione, allora ilminimo globale si trova sulla frontiera del poliedro ammissibile.

Nel seguito vedremo che nel caso in cui l’insieme ammissibile sia un poliedro, vale una proprietapiu forte. In particolare, nel caso di problemi di Programmazione Lineare (Capitolo 10), almenoun punto di minimo globale deve trovarsi su un vertice del poliedro ammissibile.

70

Page 73: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

5.4 Caratterizzazione funzioni convesse continuamente dif-ferenziabili

Se f e una funzione convessa differenziabile possiamo dare condizioni necessarie e sufficientidi convessita espresse per mezzo delle derivate prime o seconde dalla funzione. Ci limitiamo ariportare i risultati seguenti.

Teorema 5.4.1 (Condizioni necessarie e sufficienti di convessita) Sia C un insieme con-vesso aperto, sia f : C → R e supponiamo che ∇f sia continuo su C. Allora f e convessa suC se e solo se, per tutte le coppie di punti x, y ∈ C si ha:

f(y) ≥ f(x) +∇f(x)T (y − x). (5.5)

Inoltre f e strettamente convessa su C se e solo se, per tutte le coppie di punti x, y ∈ C cony 6= x, si ha:

f(y) > f(x) +∇f(x)T (y − x). (5.6)

Dal punto di vista geometrico, la condizione del teorema precedente esprime il fatto che unafunzione e convessa su C se e solo se in un qualsiasi punto y ∈ C l’ordinata f(y) della funzionenon e inferiore alle ordinate dei punti del piano tangente al grafo della funzione in un qualsiasialtro punto x di C.

Nel teorema successivo riportiamo una condizione necessaria e sufficiente di convessita espressaper mezzo delle derivate seconde.

Teorema 5.4.2 (Condizioni necessarie e sufficienti di convessita) Sia C un insieme con-vesso aperto, sia f : C → R e supponiamo che la matrice Hessiana ∇2f sia continua su C.Allora f e convessa su C se e solo se, per ogni x ∈ C, la matrice ∇2f(x) e semidefinita positiva.

Se si prendono in considerazione le derivate seconde, non e vero, in generale, che unacondizione necessaria di convessita stretta e la definita positivita della matrice Hessiana (bastipensare alla funzione y = x4 in x = 0). Si puo stabilire tuttavia che se la matrice Hessiana edefinita positiva allora f e strettamente convessa.

Teorema 5.4.3 (Condizione sufficiente di convessita stretta) Sia C un insieme convessoaperto, sia f : C → R e supponiamo che la matrice Hessiana ∇2f sia continua e definita posi-tiva su C. Allora f e strettamente convessa su C.

5.4.1 Funzioni e forme quadratiche

Tra le funzioni di particolare interesse in problemi di Programmazione Matematica ci sono lefunzioni quadratiche. Una funzione quadratica e una funzione del tipo

q(x) =12xT Ax + cT x,

dove A e una matrice quadrata e simmetrica di dimensione (n×n), con elementi aij = aji, i, j =1, . . . , n. Il gradiente e la matrice hessiana sono

∇f(x) = Ax ∇2f(x) = A.

71

Page 74: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Data una matrice A si definisce forma quadratica associata alla matrice A la funzione

xT Ax =n∑

i=1

n∑

j=1

aijxixj . (5.7)

Una forma quadratica e quindi una particolare funzione quadratica in cui il termine lineare eidenticamente nullo (c = 0).

Si verifica facilmente che il gradiente e l’Hessiano della forma quadratica sono dati rispet-tivamente da 2Ax e 2A.

La forma quadratica xT Ax si dice:

- definita positiva, se risulta xT Ax > 0 ∀x ∈ IRn, x 6= 0;

- semidefinita positiva se risulta xT Ax ≥ 0 ∀x ∈ IRn;

- indefinita se per qualche x risulta xT Ax > 0, e per altri x risulta xT Ax < 0.

Corrispondentemente, si dice che la matrice A associata alla forma quadratica e rispettivamentedefinita positiva, semidefinita positiva, indefinita.

La forma quadratica xT Ax si dice (semi)definita negativa se −xT Ax e (semi)definita posi-tiva.

Nel caso di funzioni quadratiche, la matrice hessiana A e costante e la condizione di con-vessita dei Teoremi 5.4.2 e 5.4.3 diventa:

Teorema 5.4.4 Una funzione quadratica q(x) e convessa su IRn se, e solo se, risulta:

12yT Ay ≥ 0, per ogni y ∈ IRn;

inoltre, la funzione q(x) e strettamente convessa su IRn se e solo se risulta

12yT Ay > 0, per ogni y ∈ IRn.

Notare che nel caso di funzione quadratica la condizione di stretta convessita e condizionenecessaria e sufficiente.

Per verificare se una matrice A e definita positiva, si puo utilizzare un semplice test.

Criterio 1 Siano Ak, k = 1 . . . , n gli n minori principali della matrice A, detti sottomatriciprincipali di nord-ovest, cioe le n sottomatrici con elementi aij , i, j = 1, . . . , k,ottenute da Aeliminando le ultime n− k righe e colonne. Denotato con detAk il determinante di Ak, risultache:

- A e definita positiva se, e solo se, detAk > 0 , per k = 1, . . . , n.

Si osserva che se A e semidefinita positiva allora risulta detAk ≥ 0, ma non e vero in generaleil viceversa. Basta prendere come esempio la matrice

A =(

0 00 2a22

)

72

Page 75: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

con a22 < 0 e la forma quadratica associata

a11x21 + 2a12x1x2 + a22x

22

in cui a11 = a12 = 0. I minori principali A1 e A2 hanno determinante nullo, e quindi soddisfanoil criterio detAk ≥ 0, ma q(x) e semidefinita negativa !!!

Per verificare se una matrice A e semidefinita positiva si deve applicare un criterio moltopiu oneroso riportato di seguito.

Criterio 2 Siano Dik,jkle sottomatrici di A con elementi aij,ottenute da A eliminando n− k

righe e colonne in tutti i possibili modi, dette minori principali di A, ovvero le sottomatricicon elementi aij , i = i1, . . . , ik, j = j1, . . . , jk, per 1 ≤ k ≤ n. Denotato con detDik,jk

ildeterminante di Dik,jk

, si ha:

- A e semidefinita positiva se, e solo se, Dik,jk≥ 0 per ogni 1 ≤ k ≤ n.

Osserviamo che il criterio fornisce delle condizioni sufficienti di NON convessita. In parti-colare, data una matrice A quadrata e simmetrica, se risulta aii < 0 per qualche i = 1, . . . , nallora la matrice NON e semidefinita posiitva (ne dunque definita positiva). Analogamente serisulta

detDik,jk< 0

per un qualunque minore principale allora la matrice NON e semidefinita posiitva.

Per analizzare se una matrice A e definita/semidefinita negativa si possono applicare i criteriprecedenti alla matrice −A associata alla forma quadratica.

Un altro test per verificare il segno di una forma quadratica consiste nel determinare gliautovalori della matrice A, cioe’ i valori αi, i = 1, . . . , n che risolvono l’equazione di grado n:

det(A− αI) = 0,

ove I e la matrice identica di ordine n. Se la matrice A e simmetrica, si ha che gli autovalorisono tutti reali. Risulta che:

- A e definita positiva se, e solo se, αi > 0 , per i = 1, . . . , n;

- A e semidefinita positiva se, e solo se, αi ≥ 0 per i = 1, . . . , n;

- A e indefinita, altrimenti.

E evidente che il test basato sui minori e di piu semplice impiego di quello basato sugli auto-valori: infatti calcolare determinanti, fino all’ordine n, e piu’ semplice che risolvere un’equazionedi grado n.

Nel seguito indicheremo αmin(A) e αmax(A) rispettivamente il piu piccolo e il piu grandeautovalore di una matrice A.

Esempio 5.4.5 Un esempio di funzione quadratica strettamente convessa e la funzione

4x21 + 8x2

2 − x1

rappresentata in figura 5.7.

73

Page 76: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Figura 5.7: Grafico della funzione quadratica convessa Dell’Esempio 5.4.5.

74

Page 77: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Capitolo 6

Problemi di ottimizzazione nonvincolata

6.1 Introduzione

Con riferimento al problema di ottimizzazione minx∈Rn f(x), iniziamo in questo capitolo lo stu-dio delle condizioni di ottimalita. Nei successivi capitoli affronteremo lo studio delle condizionidi ottimalita in relazione alle classi di problemi vincolati di nostro interesse.In termini molto generali, una condizione di ottimalita e una condizione (necessaria, sufficiente,necessaria e sufficiente) perche un punto x∗ risulti una soluzione ottima (locale o globale)del problema. Ovviamente, una condizione di ottimalita sara significativa se la verifica dellacondizione risulta piu “semplice” o piu “vantaggiosa” (da qualche punto di vista) rispettoall’applicazione diretta della definizione. Le condizioni di ottimalita si esprimono infatti, tipi-camente, attraverso sistemi di equazioni, sistemi di disequazioni, condizioni sugli autovalori dimatrici opportune.

Lo studio delle condizioni di ottimalita ha sia motivazioni di natura teorica, sia motivazionidi natura algoritmica. Dal punto di vista teorico, una condizione di ottimalita puo servire acaratterizzare analiticamente le soluzioni di un problema di ottimo e quindi consentire di svol-gere analisi qualitative, anche in assenza di soluzioni numeriche esplicite; un esempio e l’analisidella sensibilita delle soluzioni di un problema di ottimo rispetto a variazioni parametriche.Dal punto di vista algoritmico, una condizione necessaria puo servire a restringere l’insieme incui ricercare le soluzioni del problema originario e a costruire algoritmi finalizzati al soddis-facimento di tale condizione; una condizione sufficiente puo servire a dimostrare che un puntoottenuto per via numerica sia una soluzione ottima del problema e quindi a definire criteri diarresto del procedimento risolutivo.

6.2 Direzioni di discesa

Allo scopo di definire condizioni di ottimalita e necessario introdurre la seguente definizione.

75

Page 78: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Definizione 6.2.1 (Direzione di discesa) Sia f : Rn → R e x ∈ Rn. Si dice che un vettored ∈ Rn, d 6= 0 e una direzione di discesa per f in x se esiste t > 0 tale che

f(x + td) < f(x), per ogni t ∈ (0, t ].

Il concetto di direzione di discesa ci consentira di caratterizzare i minimi locali di una funzione.Nel caso di funzione lineare f(x) = cT x, si ottiene facilmente applicando la definizione

cT (x + td) = cT x + tcT d < cT x per ogni t > 0

che una direzione e di discesa se e solo risulta cT d < 0 per ogni t > 0. Osserviamo che, inquesto caso particolare, la caratterizzazione di direzione di discesa non dipende dal punto x incui ci troviamo.

Se f e una funzione lineare, ossia se f(x) ≡ cT x allora d e una direzione di discesa (in unqualsiasi punto x ∈ IRn) se e solo se cT d < 0.

In generale, per funzioni continuamente differenziabili, e possibile caratterizzare la direzione didiscesa utilizzando informazioni sulle derivate prime della funzione.Vale in particolare la seguente condizioni sufficiente:

Teorema 6.2.2 (Condizione di discesa) Supponiamo che f sia continuamente differenzia-bile nell’intorno di un punto x ∈ Rn e sia d ∈ Rn un vettore non nullo. Se risulta

∇f(x)T d < 0,

allora la direzione d e una direzione di discesa per f in x.

Dimostrazione. E noto (vedi Appendice A) che per una qualunque funzione continuamentedifferenziabile possiamo scrivere

f(x + td) = f(x) + t∇f(x)T d + α(x, t) (6.1)

dove α(x, t) soddisfa limt→0

α(x, t)t

= 0. Per valori sufficientemente piccoli di t possiamo dunquescrivere

f(x + td)− f(x) ' t∇f(x)T d;

se ∇f(x)T d < 0 risulta allora f(x + td) − f(x) < 0 che quindi dimostra che d e una direzionedi discesa.

Ricordando che ∇f(x)T d = ‖∇f(x)‖‖d‖ cos θ dove θ e l’angolo compreso tra ∇f(x) e d, dalpunto di vista geometrico la condizione ∇f(x)T d < 0 esprime il fatto che se una direzione dforma un angolo ottuso con il gradiente di f in x, allora d e una direzione di discesa per f in x.

Sia f continuamente differenziabile e sia d ∈ Rn un vettore non nullo. Se l’angolo θ tra ∇f(x)e d soddisfa

θ > 90o

allora d e di discesa per f in x.

76

Page 79: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Tra le direzioni di discesa, un ruolo particolarmente importante e svolto dalla direzione dell’antigradiented = −∇f(x). Se ∇f(x) 6= 0, la direzione dell’antigradiente d = −∇f(x) e sempre una direzionedi discesa, infatti risulta

∇f(x)T d = −∇f(x)T∇f(x) = −‖∇f(x)‖2 < 0.

La definizione e illustrata nella figura 6.1, con riferimento agli insiemi di livello di una funzionein R2. La direzione dell’antigradiente e utilizzata per la definizione di un semplice algoritmo

f(x)=f( x*)x*

d

x*+t d f(x)<f( x*)

direzione di discesa x*

> 90o

f( x*)

Figura 6.1: Esempio di direzione d di discesa in IR2.

per la determinazione di punti di minimo (vedi il paragrafo 6.4).Naturalmente e possibile dare una condizione sufficiente analoga al teorema 6.2.2 affinche

una direzione sia di salita.

Sia f sia continuamente differenziabile nell’intorno di un punto x ∈ Rn e sia d ∈ Rn un vettorenon nullo. Se risulta

∇f(x)T d > 0,

allora la direzione d e una direzione di salita per f in x.

Naturalmente se ∇f(x) 6= 0, la direzione del gradiente d = ∇f(x) e sempre una direzione disalita in x.

77

Page 80: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Osserviamo che nel caso di funzione lineare f = cT x, risulta ∇f(x) = c, quindi la condizioneespressa dal Teorema 6.2.2 coincide con la caratterizzazione ottenuta in base della definizionedi direzione di discesa. Nel caso lineare, la relazione (6.1) vale con α(x, t) ≡ 0 e dunque lacondizione del Teorema 6.2.2 caratterizza tutte e sole le direzioni di discesa. Si tratta cioe diuna condizione necessaria e sufficiente, mentre nel caso generale e solo una condizione sufficiente.Nel caso di funzione lineare vale quindi la seguente caratterizzazione:

Sia f e una funzione lineare, ossia f(x) ≡ cT x allora

1. d e una direzione di discesa in x se e solo se ∇f(x)T d = cT d < 0;

2. d e una direzione di salita in x se e solo se ∇f(x)T d = cT d > 0;

3. d e una direzione lungo cui la funzione si mantiene costante rispetto al valore in x se esolo se ∇f(x)T d = cT d = 0.

Nel caso generale, la condizione di discesa enunciata e solo sufficiente, in quanto possono esisteredirezioni di discesa tali che ∇f(x)T d = 0. Illustriamo le varie possibilita nel seguente esempio.

Esempio 6.2.3 Consideriamo la funzione

f(x) = x31 + x2

2 − 3x1.

sia dato il punto x = (−1, 0)T e la direzione d = (−1, 0)T . Il gradiente della funzione vale

∇f(x) =(

3x21 − 32x2

).

Si verifica facilmente che il gradiente della funzione si annulla nel punto x, quindi la condizionesufficiente espressa dal teorema 6.2.2 non e soddisfatta in quanto ∇f(x)T d = 0. La direzione de pero di discesa in x. Infatti risulta x + td = (−1− t, 0)T e la funzione vale:

f(x + td) = (−1− t)3 − 3(−1− t) = −1− t3 − 3t− 3t2 + 3 + 3t = −t3 + 3t2 + 2.

Mostriamo che esiste un valore di t tale che −t3 − 3t2 + 2 < 2 = f(x) per ogni 0 < t ≤ t. Lacondizione che si ottiene e −t3 − 3t2 < 0 che risulta verificata per qualunque valore di t > 0,quindi effettivamente la direzione e di discesa nel punto.si consideri ora il punto x = (1, 0)T e la stessa direzione d = (−1, 0)T . Si verifica facilmenteche il gradiente della funzione si annulla nel punto x, e quindi la condizione sufficiente espressadal teorema 6.2.2 anche in questo caso non e soddisfatta in quanto ∇f(x)T d = 0. In questocaso pero la direzione d non e di discesa, risulta infatti x + td = (1− t, 0)T e la funzione vale:

f(x + td) = (1− t)3 − 3(1− t) = 1− t3 − 3t + 3t2 − 3 + 3t = −t3 + 3t2 − 2

Dobbiamo quindi verificare se esiste un t > 0 tale che per ogni t ∈ (0, t] risulta −t3 + 3t2 =t2(−t+3) < 0. Si verifica facilmente che la condizione e verificata solo per valori di t abbastanzagrandi (t > 3) e quindi d non e di discesa. Si tratta invece di una direzione di salita, infattiscegliendo t < 3, si ottiene che f(x + td) > f(x) per ogni t ∈ (0, t].Consideriamo ora il punto x = (0, 0)T in cui il gradiente di f vale ∇f(x) = (−3, 0)T . Risultache la direzione d = (−1, 0)T e di salita in x, mentre la direzione opposta −d = (1, 0)T e didiscesa.

78

Page 81: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Dall’esempio e dalle considerazioni precedenti risulta evidente che dato in un punto x eduna direzione d, sono possibili solo questi casi:

Sia f sia continuamente differenziabile nell’intorno di un punto x ∈ Rn e sia d ∈ Rn un vettorenon nullo.

1. se ∇f(x)T d < 0 allora la direzione e di discesa in x;

2. se ∇f(x)T d > 0 allora la direzione e di salita in x;

3. se ∇f(x)T d = 0 allora non si puo concludere se la direzione e di discesa o di salita in xo lungo la quale la funzione si mantiene costante.

La condizione del teorema 6.2.2 diventa anche necessaria nel caso di convessita della funzioneobiettivo.

Teorema 6.2.4 Se f e convessa allora una direzione d e di discesa in un punto x se e solo se

∇f(x)T d < 0.

Dimostrazione. Sia f convessa, dobbiamo solo dimostrare che la condizione ∇f(x)T d < 0 enecessaria (la sufficienza e data dal teorema 6.2.2). Sia x ∈ IRn e sia d una direzione di discesaper f in x. Possiamo scrivere per la convessita della funzione

f(x + αd) ≥ f(x) + α∇f(x)T d.

Se per assurdo fosse ∇f(x)T d ≥ 0 allora per α > 0 sufficientemente piccolo, si avrebbe f(x +αd) ≥ f(x) contraddicendo l’ipotesi che d sia di discesa.

Se f e differenziabile due volte e possibile caratterizzare l’andamento di f lungo una di-rezione assegnata tenendo conto anche delle derivate seconde e di cio si puo tener conto, comesi vedra in seguito, per stabilire condizioni di ottimo del secondo ordine.

Introduciamo la definizione seguente.

Definizione 6.2.5 (Direzione a curvatura negativa)

Sia f : Rn → R due volte continuamente differenziabile nell’intorno di un punto x ∈ Rn. Sidice che un vettore d ∈ Rn, d 6= 0 e una direzione a curvatura negativa per f in x se risulta

dT∇2f(x)d < 0.

Una direzione a curvatura negativa e quindi tale che la derivata direzionale seconda e negativain x, per cui diminuisce localmente la derivata direzionale del primo ordine. In particolare valeil risultato seguente.

79

Page 82: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Teorema 6.2.6 (Condizione di discesa del secondo ordine)

Sia f : Rn → R due volte continuamente differenziabile nell’intorno di un punto x ∈ Rn e siad ∈ Rn un vettore non nullo. Supponiamo che risulti

∇f(x)T d = 0,

e che d sia una direzione a curvatura negativa in x, ossia che

dT∇2f(x)d < 0.

Allora la direzione d e una direzione di discesa per f in x.

Dimostrazione. Poiche f e differenziabile due volte, si ha:

f(x + td) = f(x) + t∇f(x)T d +12t2dT∇2f(x)d + β(x, td)

in cui β(x, td)/t2 → 0. Essendo per ipotesi ∇f(x)T d = 0, si puo scrivere:

f(x + td)− f(x)t2

=12dT∇2f(x)d +

β(x, td)t2

e quindi, poiche

limt→0

β(x, td)t2

= 0,

per valori sufficientemente piccoli di t si ha f(x + td)− f(x) < 0, per cui d e una direzione didiscesa.

Esempio 6.2.7 Consideriamo la funzione del’esempio 6.2.3,

f(x) = x31 + x2

2 − 3x1.

nel punto x = (−1, 0)T . La direzione d = (−1, 0)T e tale che∇f(x)T d = 0, quindi la condizionesufficiente espressa dal teorema 6.2.2 non e soddisfatta. Verifichiamo la condizione del Teorema6.2.6. La matrice hessiana e

∇2f(x) =(

6x1 00 2

)x=

( −6 00 2

).

Risulta allora dT∇2f(x)d = −6 e quindi la direzione soddisfa la condizione sufficiente delTeorema 6.2.6, per cui si puo concludere che e di discesa.

6.3 Ottimizzazione non vincolata

Abbiamo gia osservato nel capitolo 2 che i problemi non vincolati sono una particolare classedi problemi non lineari, in cui S = Rn. Il problema in oggetto e quindi

minx∈IRn

f(x), (P −NV )

80

Page 83: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

con f : IRn → IR non lineare e continuamente differenziabile. Osserviamo preventivamente chein questo caso non si puo applicare in modo diretto il teorema di Weierstrass per l’esistenza diun minimo. Condizioni di esistenza possono essere comunque ottenute con riferimento ad uninsieme ammissibile “fittizio”. In particolare, dato un qualunque punto x in cui la funzione valef(x), e si considera l’insieme non vuoto (contiene almeno x)

L(x) = x ∈ IRn : f(x) ≤ f(x).

Possiamo allora considerare il problema ”vincolato”

min f(x)x ∈ L(x) (P −NV L)

Se x non e il minimo globale di (P-NV), allora il minimo globale x∗, se esiste, sicuramente sitrova in L(x). Infatti per definizione f(x∗) ≤ f(x) per ogni x e quindi in particolare vale anchef(x∗) ≤ f(x). Quindi risolvere (P-NV) e equivalente a risolvere (P-NVL).Per assicurare l’esistenza di un minimo globale di (P-NVL) (e quindi di (P-NV), possiamoutilizzare il teorema di Weierstrass. E sufficiente richiedere che esista un x per cui l’insiemeL(x) sia compatto.

Se esiste un x ∈ IRn per cui l’insieme L(x) e compatto,allora il problema (P-NV) ammette un minimo globale.

Deriviamo ora le condizioni di ottimo per (P-NV). Una conseguenza immediata della Definizione6.2.1 di direzione di discesa e la condizione necessaria di minimo locale enunciata nel teoremasuccessivo.

Teorema 6.3.1 (Condizione necessaria di minimo locale) Sia x∗ ∈ S un punto di mini-mo locale del problema (P) allora non puo esistere in x∗ una direzione di discesa per f .

La condizione necessaria puo consentire di selezionare tra tutti i punti ammissibili i poten-ziali candidati ad essere punti di minimo locale. Per ricavare delle condizioni di ottimalitadalla condizione enunciata nel Teorema 6.3.1 occorre utilizzare una caratterizzazione analiticadelle direzioni di discesa. In effetti la verifica della condizione espressa dal Teorema 6.3.1 eessenzialmente equivalente all’applicazione della definizione di minimo locale.Si puo pero specificare ulteriormente la condizione necessaria utilizzando la caratterizzazionedi direzione di discesa. Si ottiene allora la seguente condizione necessaria.

Se x∗ e un punto di minimo locale del del problema (P) non puo esistere una direzione d ∈ Rn

in x∗ tale che ∇f(x∗)T d < 0.

Tale condizione puo essere equivalentemente enunciata come segue.

Teorema 6.3.2 (Condizione necessaria di minimo locale) Se x∗ e un punto di minimolocale del del problema (P), allora risulta

∇f(x∗)T d ≥ 0 per ogni direzione d ∈ Rn.

81

Page 84: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Ricordando che ∇f(x∗)T d = ‖∇f(x∗)‖‖d‖ cos θ dove θ e l’angolo compreso tra ∇f(x∗) e d, dalpunto di vista geometrico la condizione ∇f(x∗)T d ≥ 0 richiede che 0o ≤ θ ≤ 90o per ogni d.

Se x∗ e un punto di minimo locale del del problema (P), allora per ogni d l’angolo θ formatocon ∇f(x∗) e

0o ≤ θ ≤ 90o.

Si ottiene quindi la seguente condizione necessaria.

Teorema 6.3.3 (Condizione necessaria di minimo locale non vincolato) Sia f : Rn →R continuamente differenziabile su Rn e sia x? ∈ Rn. Se x∗ e un punto di minimo locale nonvincolato di f in Rn allora si ha

∇f(x?) = 0.

Dimostrazione. Se x∗ ∈ Rn e un punto di minimo locale non possono esistere direzioni didiscesa in x∗. Se ∇f(x∗) 6= 0, esisterebbe una direzione d = −∇f(x∗) 6= 0 di discesa in x∗. Maquesto e assurdo.

Definizione 6.3.4 (Punto stazionario) Sia f : Rn → R continuamente differenziabile suRn. Un punto x tale che ∇f(x) = 0 si dice punto stazionario di f .

I possibili candidati ad essere punti di minimo locale del problema (P-NV) si determinanodeterminando le soluzioni di ∇f(x) = 0.

Esempio 6.3.5 Sia dato il problema

f(x1, x2) = x14 + x2

4 − 3x1x2,

sapendo che esiste un punto di minimo, determinarlo utilizzando le condizioni necessarie.Il gradiente della funzione e dato da:

∇f =(

4x31 − 3x2

4x32 − 3x1

).

Dall’annullamento del gradiente si ottiene il sistema

4x31 − 3x2 = 0

4x32 − 3x1 = 0

x2

(25627 x8

2 − 3)

= 0

x1 = 43x3

2

Si ottengono le soluzioni: A(0, 0), B(√

32 ,

√3

2

), C

(−√

32 ,−

√3

2

).

Le curve di livello della funzione sono nella Figura 6.2 da cui si individuano i tre punti stazionari.Il punto (0, 0)T e un punto di sella con valore della funzione f(0, 0) = 0.I punti B, C =

(±√

32 ,±

√3

2

)abbiamo

∇2f = 3(

3 −1−1 3

)

sono punti di minimo globale di valore della funzione obiettivo f = − 98 .

2

82

Page 85: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Figura 6.2: Curve di livello della funzione x41 + x4

2 − 3x1x2.

Senza ulteriori ipotesi sulla funzione obiettivo, la condizione e solo necessaria. Ricordando chese ∇f(x∗) 6= 0 la direzione d = ∇f(x∗) e di salita nel punto x∗, si ottiene che la condizione∇f(x∗) = 0 e anche necessaria di massimo locale. In generale si hanno questi possibili casi.

Sia f : Rn → R continuamente differenziabile su Rn e sia x? ∈ Rn tale che ∇f(x?) = 0 allorae vera una delle seguenti affermazioni:

1. x? e un minimo locale (non esistono in x? direzioni di discesa);

2. x? e un massimo locale (non esistono in x? direzioni di salita);

3. x? e un punto di sella (esistono in x? sia direzioni di discesa che di salita).

Un esempio di punto di sella e in Figura 6.3.

Teorema 6.3.6 (Condizione sufficiente di minimo globale non vincolato) Sia f : Rn →R continuamente differenziabile su Rn e sia x? ∈ Rn. Si supponga che f sia convessa. Se∇f(x?) = 0, allora x? e un punto di minimo globale di f su Rn. Inoltre, se f e strettamenteconvessa su Rn, allora x? e l’unico punto di minimo globale di f su Rn.

Dai teoremi 6.3.3 e 6.3.6 si ottiene quindi una condizione necessaria e sufficiente di minimoglobale non vincolato.

Teorema 6.3.7 (Condizione necessaria e sufficiente di minimo globale non vincolato)Sia f : Rn → R, con ∇f continuo su Rn e si supponga che f sia convessa. Allora x? e un puntodi minimo globale di f su Rn se e solo se ∇f(x?) = 0. Inoltre, se f e strettamente convessa suRn e se in x? si ha ∇f(x?) = 0, allora x? e l’unico punto stazionario di f e costituisce anchel’unico punto di minimo globale della funzione.

83

Page 86: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

salita

x*

discesa

x2 x1

f(x)

Figura 6.3: Esempio di punto di sella in IR2.

Possiamo dare delle condizioni che utilizzano la caratterizzazione del secondo ordine didirezione di discesa espressa al Teorema 6.2.6. In particolare quindi abbiamo:

Teorema 6.3.8 (Condizione necessaria del 2o ordine di minimo locale) Se x∗ e un puntodi minimo locale del del problema (P), allora per ogni d tale che ∇f(x∗)T d = 0 risulta

dT∇2f(x∗)T d ≥ 0 per ogni direzione d ∈ Rn

Se si considera la matrice Hessiana si ottiene una condizione necessaria del secondo ordine.

Teorema 6.3.9 (Condizione necessaria del secondo ordine)

Sia f : Rn → R due volte continuamente differenziabile in un intorno di x? ∈ Rn. Allora, sex? e un punto di minimo locale non vincolato di f si ha:

(a) ∇f(x?) = 0;

(b) ∇2f(x∗) e semidefinita positiva, ossia y′∇2f(x?)y ≥0, per ogni y ∈ Rn.

84

Page 87: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Dimostrazione. La (a) segue dalla caratterizzazione di direzioni di discesa del secondo ordinedata dal Teorema 6.2.6.

Se tuttavia ∇2f(x?) e definita positiva, si puo stabilire un risultato piu forte, che riportiamonel teorema successivo.

Teorema 6.3.10 (Condizione sufficiente del secondo ordine)

Sia f : Rn → R due volte continuamente differenziabile in un intorno di x∗ ∈ Rn.

Supponiamo che valgano le condizioni:

(a) ∇f(x?) = 0

(b) la matrice Hessiana e definita positiva in x?, ossia:

y′∇2f(x?)y > 0 per ogni y ∈ Rn, y 6= 0.

Allora x? e un punto di minimo locale stretto.

Dimostrazione. Utilizzando il Teorema di Taylor, e tenendo conto del fatto che ∇f(x?) = 0,possiamo scrivere:

f(x? + αd) = f(x?) +12α2d′∇2f(x?)d + o(α2),

e quindi si ottiene:f(x? + αd)− f(x?)

α2=

12d′∇2f(x?)d +

o(α2)α2

Quindi per valori di α piccoli, l’ultimo termine e trascurabile (o(α2)/α2 → 0 per α → 0), percui f(x? + αd)− f(x?) > 0 per ogni d, il che prova l’enunciato.

Dai risultati precedenti si possono dedurre facilmente condizioni necessarie e condizioni suffici-enti di massimo locale (basta infatti imporre condizioni di minimo su −f).

In particolare, la condizione che x? sia un punto stazionario, ossia tale che ∇f(x?) = 0 econdizione necessaria sia perche x? sia un punto di minimo, sia perche x? sia un punto dimassimo.

Una condizione necessaria del secondo ordine per un massimo locale e che∇f(x?) = 0 e∇2f(x?)sia semidefinita negativa. Una condizione sufficiente di massimo locale e che ∇f(x?) = 0 e∇2f(x) sia semidefinita negativa in un intorno di x?. Condizione sufficiente perche x? sia unpunto di massimo locale stretto e che ∇f(x?) = 0 e ∇2f(x?) sia definita negativa.

Se risulta ∇f(x?) = 0 e la matrice Hessiana ∇2f(x?) e indefinita (ossia, esistono vettori d percui d′∇2f(x?)d > 0 e altri per cui d′∇2f(x?)d < 0) allora si puo escludere che x? sia un puntodi minimo o di massimo locale e x? viene usualmente denominato punto di sella.

Un punto di sella e un punto stazionario in corrispondenza al quale esistono sia direzioni didiscesa (quando d′∇2f(x?)d < 0) sia direzioni di salita (quando d′∇2f(x?)d > 0).

o Se ∇f(x?) = 0 e ∇2f(x?) e semidefinita (negativa o positiva) non si puo determinare lanatura di x? in assenza di altre informazioni. Tuttavia se ∇2f(x?) non e semidefinita positiva(negativa) si puo escludere che x∗ sia un punto di minimo (massimo).

85

Page 88: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Una classe di particolare interesse di funzioni non lineari e quella delle funzioni quadratiche,ovvero del tipo

f(x) =12xT Qx + cT x

con Q matrice simmetrica n×n e c ∈ IRn. Poiche la matrice hessiana di una funzione quadraticae costante e facile verificare la convessita della funzione (vedi paragrafo 5.2 del Capitolo 5). Nelcaso quadratico e anche possibile formalizzare i risultati di esistenza di un minimo globale.

Vale in particolare la seguente caratterizzazione.

Teorema 6.3.11 (Minimizzazione di una funzione quadratica) Sia q(x) = 12xT Qx+cT x,

con Q simmetrica e c ∈ Rn. Allora:

1. q(x) ammette un punto di minimo se e solo se Q e semidefinita positiva ed esiste x? taleche Qx? + c = 0;

2. q(x) ammette un unico punto di minimo globale se e solo se Q e definita positiva;

3. se Q e semidefinita positiva ogni punto x? tale che Qx? + c = 0 e un punto di minimoglobale di q(x).

Dimostrazione. Ricordiamo che risulta ∇q(x) = Qx + c e ∇2f(x) = Q. Inoltre se risultaQ semidefinita positiva, q(x) e convessa, se risulta Q definita positiva, q(x) e strettamenteconvessa.Assegnati x?, x ∈ Rn e posto x = x? + s si puo scrivere:

q(x) = q(x? + s) = q(x?) + (Qx? + c)T s +12sT Qs. (6.2)

Supponiamo ora che Qx? + c = 0 e che Q sia semidefinita positiva; in tal caso dalla (6.2) segueq(x) ≥ q(x?) per ogni x ∈ Rn.Inversamente, se q ammette un punto di minimo x?, per il Teorema 6.3.3 deve essere ∇q(x?) = 0e risulta q(x) ≥ q(x?) per ogni x ∈ IRn. Dalla (6.2) segue 0 ≤ q(x) − q(x?) = 1

2sT Qs cons = x− x?, ovvero Q º 0. Cio prova la (1).La (2) segue dalla (1) e dal fatto che, sT Qs > 0 per ogni s se e solo se Q e definita positiva.Infine, la (3) segue ancora dalla (6.2) perche per ogni x? tale che ∇q(x?) = 0 si ha q(x) ≥ q(x?).

Illustriamo questo teorema con un esempio.

Esempio 6.3.12 Sia data la funzione

q(x1, x2) =12(αx2

1 + βx22)− x1.

Studiamo le esistenza e la natura dei punti estremali al variare dei parametri α e β.Scriviamo il gradiente e la matrice hessiana di q. Si ha

∇q =(

αx1 − 1βx2

)∇2q =

(α 00 β

)

86

Page 89: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

0

0.5

1

1.5

−1

−0.5

0

0.5

1−1

−0.5

0

0.5

1

Figura 6.4: Grafico di q(x1, x2) per α = β = 1.

Se α > 0 e β > 0, allora esiste un unica soluzione al sistema ∇q = 0 ed e(

, 0)T

. Inoltre la

matrice ∇2q e definita positiva; si tratta quindi dell’unico punto di minimo globale.Se α = 0 e β e qualsiasi, non esiste soluzione al sistema ∇q = 0. Notare che se β ≥ 0 la matricee semidefinita positiva, ma questo non assicura l’esistenza del minimo globale.

Se α > 0 e β = 0, esistono infinite soluzioni al sistema ∇q = 0 ed e(

, ξ

)T

con ξ qualsiasi.

Inoltre la matrice∇2q e semidefinita positiva; si tratta quindi di infiniti punti di minimo globale.

Se α < 0 e β > 0 si ha un’unica soluzione (1α

, 0). Ma la matrice hessiana e indefinita; si trattaquindi di un punto di sella.

Nel caso di α < 0 e β < 0 , allora esiste un unica soluzione al sistema ∇q = 0 ed e(

, 0)T

.

Inoltre la matrice ∇2q e definita negativa; si tratta quindi dell’unico punto di massimo globale.2

87

Page 90: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

0

0.5

1

1.5

−1

−0.5

0

0.5

1−3

−2

−1

0

1

Figura 6.5: Grafico di q(x1, x2) per α = 0 β = 1.

6.4 Utilizzo algoritmico delle condizioni di ottimo nonvincolate

Consideriamo il problema di ottimizzazione non vincolata:

minx∈Rn

f(x) (6.3)

in cui f : Rn → R e supponiamo verificata la seguente ipotesi che garantisce l’esistenza di unpunto di minimo x∗:

Ipotesi 1 La funzione f : Rn → R e una funzione continuamente differenziabile ed esiste unx0 ∈ Rn tale che l’insieme di livello Lx0 sia compatto.

Gli algoritmi per la soluzione del problema (6.3) consentono, in generale, soltanto la determi-nazione di punti stazionari di f , ossia di punti dell’insieme

Ω := ω ∈ Rn : ∇f(ω) = 0.In generale si riesce anche a garantire che, se x0 non e gia un punto stazionario, venganocomunque ottenuti punti in cui la funzione obiettivo assume un valore inferiore al valore assuntonel punto iniziale x0 e cio consente di ottenere soluzioni soddisfacenti in molte applicazioni.Se la funzione obiettivo e convessa, la determinazione di un punto stazionario risolve completa-mente il problema, poiche, come e noto, ogni punto stazionario di una funzione convessa e unpunto di minimo globale.

88

Page 91: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

0

0.5

1

1.5

−1

−0.5

0

0.5

1−1

−0.8

−0.6

−0.4

−0.2

0

Figura 6.6: Grafico di q(x1, x2) per α = 1 β = 0.

Gli algoritmi che ci proponiamo di studiare possono essere descritti per mezzo dello schemaconcettuale seguente:

Schema generico di algoritmo di ottimizzazione non vincolata

1. Si fissa un punto iniziale x0 ∈ Rn e si pone k = 0.

2. Se xk ∈ Ω stop.

3. Si calcola una direzione di discesa dk ∈ Rn.

4. Si calcola un passo αk ∈ R lungo dk;

5. Si determina un nuovo punto xk+1 = xk + αkdk. Si pone k = k + 1 e si ritorna alPasso 2.

Commentiamo brevemente lo schema considerato.

1. Scelta del punto iniziale. Il punto iniziale dell’algoritmo e un dato del problema edeve essere fornito in relazione alla particolare funzione che si intende minimizzare. Ilpunto x0 dovrebbe essere scelto come la migliore stima disponibile della soluzione ottima,eventualmente facendo riferimento a un modello semplificato della funzione obiettivo.Nella maggior parte dei casi, tuttavia, non esistono criteri generali per effettuare unabuona scelta di x0.

89

Page 92: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

−2−1.5

−1−0.5

00.5

−2

−1

0

1

2−2

−1

0

1

2

3

4

Figura 6.7: Grafico di q(x1, x2) per α = −1 β = 1.

Nella soluzione di problemi applicativi (non convessi) puo essere conveniente ripetere laricerca a partire da punti iniziali differenti, ad esempio generati casualmente, e sceglierepoi il punto stazionario migliore tra quelli cosı determinati.

2. Criterio di arresto. La verifica effettuata al Passo 2 sull’appartenenza di xk all’insiemeΩ equivale a controllare se ∇f(xk) = 0. In pratica, per l’utilizzo su calcolatore conprecisione finita, occorre specificare un criterio di arresto.Una possibilita consiste nell’arrestare l’algoritmo quando

‖∇f(xk)‖ ≤ ε (6.4)

in cui ε > 0 e un valore sufficientemente piccolo (valori standard richiedono ε ∈ [10−8, 10−3]).Per quanto riguarda la scelta della norma, tra le piu utilizzate ci sono ‖ · ‖2 e ‖ · ‖∞.Ricordiamo che ‖x‖2 =

√∑ni=1 x2

i e ‖x‖∞ = max1≤i≤n|xi|.

3. Scelta della direzione. I criteri seguiti nella scelta della direzione di ricerca dk indi-viduano il particolare metodo di ottimizzazione utilizzato.Tra i metodi esistenti, il metodo del gradiente (o metodo della discesa piu ripida) utilizzacome direzione dk = −∇f(xk);

90

Page 93: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

−2−1.5

−1−0.5

00.5

−2

−1

0

1

2−4

−3

−2

−1

0

1

Figura 6.8: Grafico di q(x1, x2) per α = β = −1.

4. Calcolo del passo. Il calcolo dello scalare αk > 0 costituisce la cosiddetta ricercaunidimensionale o ricerca di linea e viene effettuato valutando la funzione obiettivo lungola direzione dk. Per la ricerca unidimensionale sono disponibili diversi algoritmi chepossono prevedere il calcolo del punto di minimo di f(xk + αdk) rispetto a α (ricercadi linea esatta) oppure l’individuazione di un intervallo di valori accettabili per αk aifini dell’ottenimento della convergenza (ricerca di linea inesatta). In questo corso nonentreremo nel dettagli delle Ricerche di Linea.

6.5 Modelli di ottimizzazione non vincolata

Esempio 6.5.1 Il problema di discriminazione del prezzo 2.4.4 in generale e un problema diprogrammazione quadratica strettamente convessa del tipo

min xT Mx− (a− c)T x

x ≥ 0.

Si osservi che il minimo non vincolato x∗, ovvero il punto che annulla il gradiente della funzione

obiettivo 2Mx∗ − (a− c) = 0, ha componenti x∗i =ai − ci

2mi. Dunque se ai − ci ≥ 0 pe ogni i, il

punto x∗ ha tutte le componenti non negative ed e ottimo (unico) anche del problema vincolato.

Vediamo un esempio numerico. Un monopolista che produce un unico bene ha due tipi di clientiA e B. Si indicano con xA e xB le quantita di bene offerte dal monopolista ai due clienti. I

91

Page 94: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

clienti di tipo A sono disposti a pagare il prezzo fA(xA) = 50 − 5xA e i clienti di tipo B sonodisposti a pagare il prezzo fB(xB) = 100 − 10xB . Il costo di produzione dipende solo dallaquantita di prodotto finale x = xA + xB ed e C = 90 + 20x. Seguendo il modello precendentesi ottiene per il profitto l’espressione:

f(xA, xB) = xAPA + xBPB − [90 + 20(xA + xB)]= (50− 5xA)xA + (100− 10xB)xB − 90− 20(xA + xB)

e deve essere massimizzato. Raggruppando e portando in forma standard di minimizzazione, siottiene il problema

min 5x2A + 10x2

B − 30xA − 80xB − 90

x ≥ 0.

Si tratta di un problema quadratico con

∇f =(

10xA − 3020xB − 80

)∇2f =

(10 00 20

)

La mat rice hessiana e definita positiva, ed esiste un unico punto di che annulla il gradientex∗ = (3, 4)T che ha componenti positive, dunque e soluzione del problema vincolato originario.

Esempio 6.5.2 (Minimi quadrati)Un caso di particolare interesse nei problemi di approssimazione del tipo 2.4.5 consiste nel casoin cui son noti n punti del piano (xi, yi) che possono corrispondere a dati sperimentali o amisurazioni e si vuole approssimare la funzione y = Φ(x) con un polinomio di primo grado(ovvero una retta) del tipo y = mx + q. Si definiscono gli errori

ei(xi) = yi − (mxi + q), i = 1, . . . , n,

e si puo considerare il problema di ottimizzazione non vincolata

minm,q

n∑

i=1

ei(xi)2 =n∑

i=1

(mxi + q − yi)2.

Si osservi che la funzione obiettivo e quadratica.

Vediamo un semplice esempio numerico. Sia Φ(t), t ∈ R una funzione nota sperimentalmenteche assume i valori seguenti:

t 0 1 2 3Φ(t) 0 1 4 9

Si vuole approssimare Φ(t) con una funzione del tipo f(t) = at + b. Definiamo gli errori ei(ti)nei 4 valori di t assegnati:

|b|, |a + b− 1|, |2a + b− 4|, |3a + b− 9|.Il problema di minimi quadrati corrispondente e

min b2 + (a + b− 1)2 + (2a + b− 4)2 + (3a + b− 9)2.

92

Page 95: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Si tratta di un problema quadratico del tipo

min(

ab

)T

Q

(ab

)+ cT

(ab

)

con

Q

(14 66 4

)c =

( −72−28

)

93

Page 96: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Capitolo 7

Ottimizzazione vincolata

7.1 Introduzione

Con riferimento al problema di ottimizzazione

minx∈S

f(x)

con S ⊂ Rn, illustriamo nel seguito alcune condizioni di ottimalita in relazione alle classi diproblemi di nostro interesse. In particolare ci riferiremo a problemi i cui S e un generico insiemeconvesso, a problemi di programmazione matematica con insieme ammissibile poliedrale.Al fine di individuare le condizioni di ottimo, introduciamo il concetto di direzione ammis-sibile che insieme al concetto di direzione di discesa introdotto nel Capitolo 6 consentira dicaratterizzare i punti di minimo locale.

7.2 Direzione ammissibile

Una direzione e “ammissibile” in un punto x ∈ S se e possibile muoversi lungo tale direzionemantenendosi in S. Piu formalmente possiamo dare la seguente definizione riferita ad ungenerico insieme S ⊆ IRn.

Definizione 7.2.1 (Direzione ammissibile) Sia S un sottoinsieme di Rn e x ∈ S. Si diceche un vettore d ∈ Rn, d 6= 0 e una direzione ammissibile per S in x se esiste tmax > 0 tale che

x + td ∈ S, per ogni t ∈ [0, tmax ].

Esempio 7.2.2 Sia dato l’insieme (poliedro)

S = x ∈ R2 : x1 + x2 ≤ 3, x1 ≥ 1, x2 ≥ 0

94

Page 97: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

x1

x2

(1,1)

Figura 7.1: Poliedro Esempio 7.2.2.

rappresentato in Figura 7.1 e consideriamo il punto ammissibile x = (1, 1) (indicato con unpuntino rosso in figura).

E facile convincersi che la direzione d = (1, 0) e ammissibile in x. Risulta infatti

x + td =(

11

)+ t

(10

)=

(1 + t

1

)

Sostituendo nei vincoli si ha:

1. x1 + x2 = (1 + t) + 1 = 2 + t che risulta ≤ 3 per valori di t ≤ 1.

2. x1 = 1 + t che risulta ≥ 1 per ogni t ≥ 0;

3. x2 = 1 > 0.

Quindi per ogni t ∈ [0, 1] (tmax = 1) risulta x + td ∈ S.

E altrettanto facile convincersi che la direzione opposta −d = (−1, 0) non e ammissibile in x.Risulta infatti

y = x + t(−d) =(

11

)+ t

( −10

)=

(1− t

1

)

Sostituendo nei vincoli si ha:

1. x1 + x2 = (1− t) + 1 = 2− t che risulta ≤ 3 per valori di t ≥ −1.

2. x1 = 1− t che risulta ≥ 1 solo per t ≤ 0;

95

Page 98: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

3. x2 = 1 > 0 per ogni t.

Quindi NON esiste un tmax > 0 per cui il punto y appartiene ad S. La direzione non e dunqueammissibile.

Il concetto di direzione ammissibile e riferito ad un generico insieme S non necessariamentepoliedrale ne con particolari proprieta. Vedremo nel seguito come caratterizzare le direzioniammissibili nel caso id particolari insiemi ammissibili.

7.3 Condizioni di ottimo vincolate

In questo paragrafo ricaviamo le prima condizioni di ottimalita per il generico problema

min f(x)x ∈ S

(P )

Una conseguenza immediata della Definizione 6.2.1 di direzione di discesa e della Definizione 7.2.1di direzione ammissibile e la condizione necessaria di minimo locale enunciata nel teorema suc-cessivo.

Teorema 7.3.1 (Condizione necessaria di minimo locale) Sia x∗ ∈ S un punto di mi-nimo locale del problema (P) allora non puo esistere una direzione ammissibile in x∗ che siaanche di discesa per f .

Dimostrazione. Sia x∗ un minimo locale. Per assurdo, se esistesse una direzione d al tempostesso ammissibile e di discesa in x∗, allora in ogni intorno di x∗ sarebbe possibile trovare, pert > 0 abbastanza piccolo, un punto x∗ + td ∈ S tale che f(x∗ + td) < f(x∗), il che contraddicel’ipotesi che x∗ sia un punto di minimo locale.

La condizione necessaria puo consentire di selezionare tra tutti i punti ammissibili i potenzialicandidati ad essere punti di minimo locale.Il risultato espresso nel Teorema 7.3.1 puo essere poco significativo qualora vi siano regioni (difrontiera) dell’insieme ammissibile, tali che nei punti di queste regioni non esistano affatto di-rezioni ammissibili. In tal caso, la condizione del Teorema 7.3.1 non e in grado di discriminare lesoluzioni ottime dagli altri punti ammissibili. Una situazione del genere si verifica, tipicamente,quando siano presenti vincoli di eguaglianza non lineari.

Consideriamo, a titolo esemplificativo, un problema in due variabili.

Esempio 7.3.2 Sia dato il problema

min x2

x21 + x2

2 = 1

L’unico punto di minimo e il punto (0, − 1)T . Se consideriamo un qualsiasi punto (x1, x2) ∈ Sl’insieme delle direzioni ammissibili e vuoto e quindi la condizione del Teorema 7.3.1 e sod-disfatta in ogni punto di S e non da alcuna informazione aggiuntiva per la selezione di punticandidati ad essere ottimi. Tale situazione e illustrata nella figura 7.2.

2

96

Page 99: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

S

x2

x1

(x1,x2)

(0,-1)

Figura 7.2: Esempio 7.3.2 in cui in qualunque punto ammissibile non esiste direzione ammis-sibile.

Per ricavare delle condizioni di ottimalita dalla condizione enunciata nel Teorema 7.3.1occorre utilizzare una caratterizzazione analitica delle direzioni di discesa e delle direzioni am-missibili. In effetti la verifica della condizione espressa dal Teorema 7.3.1 e essenzialmenteequivalente all’applicazione della definizione di minimo locale.Si puo pero specificare ulteriormente la condizione necessaria utilizzando la caratterizzazionedi direzione di discesa del teorema 6.2.2.

Si ottiene allora la seguente condizione necessaria.

Se x∗ e un punto di minimo locale del problema (P) non puo esistere una direzione ammissibiled ∈ Rn in x∗ tale che ∇f(x∗)T d < 0.

Tale condizione puo essere equivalentemente enunciata come segue.

Teorema 7.3.3 (Condizione necessaria di minimo locale) Se x∗ e un punto di minimolocale del del problema (P), allora risulta

∇f(x∗)T d ≥ 0 per ogni direzione ammissibile d ∈ Rn in x∗.

Ricordando che ∇f(x∗)T d = ‖∇f(x∗)‖‖d‖ cos θ dove θ e l’angolo compreso tra ∇f(x∗) e d, dalpunto di vista geometrico la condizione ∇f(x∗)T d ≥ 0 richiede che 0o ≤ θ ≤ 90o per ogni dammissibile.

97

Page 100: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Se x∗ e un punto di minimo locale del del problema (P), allora per ogni d ammissibile l’angoloθ formato con ∇f(x∗) e

0o ≤ θ ≤ 90o.

La condizione espressa dal Teorema 7.3.3 e solo necessaria di minimo locale. Illustriamo lacondizione con un esempio.

Esempio 7.3.4 Sia dato il problema di ottimizzazione

min −x21 − x2

2

−1 ≤ x1 ≤ 1−1 ≤ x2 ≤ 1

Si tratta della minimizzazione di una funzione quadratica concava su un poliedro (la regioneammissibile e le curve di livello della funzione obiettivo sono rappresentate in Figura 7.3.)Geometricamente si individuano i minimi globali sui vertici del cubo ammnissibile. Consideri-

S

x2

x1

(1,1)

Figura 7.3: Illustrazione Esempio 7.3.4.

amo il punto di minimo x∗ = (1, 1)T . Il gradiente della funzione obiettivo e

∇f(x) =( −2x1

−2x2

)

e in x∗ vale ∇f(x∗) = (−2, − 2)T (freccia rossa in Figura 7.3). Si osservi che il gradiente dellafunzione obiettivo NON si annulla in x∗. Le direzioni ammissibili d nel punto x∗ sono in base

98

Page 101: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

alla definizione le soluzioni del sistema definito da x∗+ td con t ≥ 0 (in Figura 7.3 sono i vettorinella regione compresa tra le frecce blu), cioe:

x∗1 + td1 = 1 + td1 ≥ −1x∗1 + td1 = 1 + td1 ≤ 1x∗2 + td2 = 1 + td2 ≥ −1x∗2 + td2 = 1 + td2 ≤ 1

ovvero le direzioni ammissibile sono quelle che soddisfano

2 + td1 ≥ 0td1 ≤ 02 + td2 ≥ 0td2 ≤ 0.

La seconda e quarta condizione impongono d1, d2 ≤ 0, mentre la prima e terza impongonosolo delle condizioni sullo spostamento t e richiedono rispettivamente che 0 ≤ t ≤ 2/|d1| e

0 ≤ t ≤ 2/|d2|. Dunque risulta ∇f(x∗)T d = (−2 − 2)(

d1

d2

)= −2(d1 + d2) ≥ 0 per ogni d

ammissibile (ovvero tale che d1, d2 ≤ 0). Quindi la condizione necessaria e soddisfatta.Sia dato ora il punto x = (0, 0)T interno alla regione ammissibile (nessun vincolo attivo).Ogni vettore d ∈ IR2 e ammissibile in x. Inoltre risulta ∇f(x)T d = 0 per ogni d, in quanto∇f(x) = 0, quindi e verificata la condizione necessaria. Ciononostante il punto x non e unminimo locale, anzi e un massimo. Infatti per ogni d ∈ IR2 risulta x + td = (td1, td2)T e lafunzione vale f(x + td) = −t2(d2

1 + d22). Per ogni t 6= 0 e d 6≡ 0 risulta

f(x + td) = −t2(d21 + d2

2) < f(x) = 0,

ovvero qualunque d non identicamente nulla e di discesa in x. 2

Possiamo dare delle condizioni che utilizzano la caratterizzazione del secondo ordine didirezione di discesa espressa al Teorema 6.2.6. In particolare quindi abbiamo:

Teorema 7.3.5 (Condizione necessaria del 2o ordine di minimo locale) Se x∗ e un puntodi minimo locale del del problema (P), allora per ogni d ammissibile in x∗ tale che ∇f(x∗)T d = 0risulta

dT∇2f(x∗)T d ≥ 0 per ogni direzione ammissibile d ∈ Rn in x∗.

A partire dalle condizioni espresse dai teoremi 7.3.3 e 7.4.3 e possibile ricavare condizionipiu specifiche in base alle caratterizzazioni delle direzioni ammissibili, e quindi in base allastruttura e alle proprieta delle funzioni che definiscono i vincoli del problema.Considereremo nel seguito solo i casi di nostro interesse.

7.4 Ottimizzazione su insieme convesso generico

Consideriamo un problema di ottimo in cui in cui supponiamo che l’insieme ammissibile S siaun insieme convesso, ovvero

min f(x)x ∈ S.

(P − CONV )

Possiamo caratterizzare le direzioni ammissibili di questo insieme.

99

Page 102: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Teorema 7.4.1 (Direzioni ammissibili insieme convesso) Sia S ⊆ IRn un insieme con-vesso e sia x un qualsiasi punto di S. Allora comunque si fissi x ∈ S tale che x 6= x, la direzioned = x− x e una direzione ammissibile per S in x.

Dimostrazione. Sia x ∈ S. Comunque preso x ∈ S, con x 6= x, per la convessita di S, si hache (1− β)x + βx ∈ S per ogni β ∈ [0, 1] e quindi x + β(x− x) ∈ S per ogni β ∈ [0, 1]. Da cuisegue che la direzione d = x− x e una direzione ammissibile per S in x.

E facile verificare che, inversamente, se d 6= 0 e una direzione ammissibile per S in x alloraesiste un punto x ∈ S e uno scalare t tale che d = t(x− x).

Quindi utilizzando direttamente il teorema 7.3.3, otteniamo la seguente condizione necessaria.

Teorema 7.4.2 (Condizioni necessarie di minimo locale con insieme ammissibile convesso)Sia x∗ ∈ S un punto di minimo locale del problema (P-CONV) e supponiamo che f sia con-tinuamente differenziabile su IRn. Allora si ha:

∇f(x∗)T (x− x∗) ≥ 0, per ogni x ∈ S. (7.1)

Dim. Osserviamo innanzitutto che in base al teorema 7.4.1 la direzione d = x − x∗ e unadirezione ammissibile per f in S per ogni x ∈ S. Se esistesse d = x−x∗ tale che ∇f(x∗)T d < 0per il Teorema 6.2.2 la direzione ammissibile d sarebbe di discesa ma questo e assurdo perchein base al Teorema 7.3.1 sappiamo che non puo esistere una direzione ammissibile di discesa inx∗.

Nel caso che f sia convessa, si puo dimostrare che la condizione e anche sufficiente. Vale ineffetti il seguente risultato.

Teorema 7.4.3 (Condizioni necessarie e sufficienti di minimo globale nel caso convesso)Sia S un sottoinsieme convesso di Rn e supponiamo che f sia una funzione convessa con-tinuamente differenziabile su IRn. Allora x∗ ∈ S e un punto di minimo globale del problema(P-CONV) se e solo se

∇f(x∗)T (x− x∗) ≥ 0, per ogni x ∈ S. (7.2)

Dimostrazione. La necessita segue dal Teorema 7.4.2. La sufficienza segue dal Teorema 5.4.1.Infatti, se f e convessa e x∗ ∈ S deve essere, per ogni x ∈ S:

f(x) ≥ f(x∗) +∇f(x∗)T (x− x∗),

e quindi se vale la (7.2) si ha che f(x) ≥ f(x∗) per ogni x ∈ S, il che prova che x∗ e un puntodi minimo globale.

Teorema 7.4.4 (Condizioni necessarie del secondo ordine di minimo locale con in-sieme ammissibile convesso)

100

Page 103: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Sia x∗ ∈ S un punto di minimo locale del problema (P-CONV). Se f e due volte continuamentedifferenziabile su un insieme aperto contenente S, risulta

(x− x∗)T∇2f(x∗)(x− x∗) ≥ 0, per ogni x ∈ S tale che ∇f(x∗)′(x− x∗) = 0. (7.3)

Dimostrazione. In base al Teorema 7.3.1 sappiamo che non puo esistere una direzione am-missibile di discesa. Se f e due volte continuamente differenziabile ed esiste x ∈ S tale che ladirezione ammissibile d = x−x∗ soddisfi ∇f(x∗)T d = 0. Applicando il teorema 6.2.6 si ottieneallora la (7.3).

Consideriamo il seguente esempio in cui i vincoli sono solo limitazioni superiori ed inferiori sullevariabili.

Esempio 7.4.5 Consideriamo l’esempio 7.3.4

min −x21 − x2

2

−1 ≤ x1 ≤ 1−1 ≤ x2 ≤ 1

L’insieme ammissibile e convesso, quindi le condizioni necessarie richiedono che in un punto x∗

risulti ∇f(x∗)T (x− x∗) ≥ 0 per ogni x ∈ S. In particolare in questo caso

∇f =( −2x1

−2x2

)

e deve risultare quindi

−2x1(x1 − x1)− 2x2(x2 − x2) ≥ 0 per ogni − 1 ≤ x1 ≤ 1 − 1 ≤ x2 ≤ 1.

Verifichiamo che le condizioni sono soddisfatte in x = (1, 1)T . Deve risultare

−2(x1 − 1)− 2(x2 − 1) ≥ 0 per ogni − 1 ≤ x1 ≤ 1 − 1 ≤ x2 ≤ 1.

Il termine x1−1 ≤ 0 per punti x ∈ S e analogamente x2−1 ≤ 0 per x ∈ S, quindi la condizionee effettivamente soddisfatta.

7.5 Ottimizzazione su un poliedro

Una classe significativa di problemi di programmazione matematica e quella in cui l’insiemeammissibile e un poliedro. Consideriamo, senza perdita di generalita (vedi considerazione delcapitolo 3), un poliedro definito come

S = x ∈ IRn : Ax ≥ bin cui A e una matrice reale m× n e b ∈ IRm. Il problema in esame e quindi

min f(x)

Ax ≥ b(P − POL)

in cui f e una funzione continuamente differenziabile. Ci proponiamo nel seguito di particolar-izzare le condizioni di ottimo gia enunciate nei paragrafi precedenti per ricavare condizioni diottimo (locale e globale) che tengano conto della struttura dell’insieme ammissibile.

101

Page 104: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

7.6 Direzioni ammissibili di un poliedro

Per caratterizzare le direzioni ammissibili di un poliedro e necessario introdurre ulteriori definizione.A tal scopo analizziamo nuovamente l’esempio 7.2.2.

Esempio 7.6.1 Consideriamo nuovamente il poliedro

S = x ∈ R2 : x1 + x2 ≤ 3, x1 ≥ 1, x− 2 ≥ 0

in Figura 7.1 e il punto ammissibile x = (1, 1).

x1

x2

(1,1)

x1

x2

(1,1)

Figura 7.4: Semispazi individuati rispettivamente dai vincoli x1+x2 ≤ 3 e x1 ≥ 1 dell’Esempio7.6.1.

In Figura 7.4 sono rappresentati i due semispazi definiti singolarmente dai due vincolix1 + x2 ≤ 3 e x1 ≥ 1 che definiscono il poliedro S. Se valutiamo i vincoli in x = (1, 1)T (inrosso nella figura 7.4) abbiamo:

x1 + x2 < 3,x1 = 1x2 > 0

ovvero solo il vincolo x1 ≤ 1 e soddisfatto all’uguaglianza.Dalla figura 7.4 e evidente che nel punto x ogni direzione d ∈ IRn e ammissibile rispetto al

vincolo x1 + x2 ≤ 3 a patto di scegliere adeguatamente il valore dello spostamento t. Analoga-mente rispetto al vincolo x2 ≥ 0 (non rappresentato in figura 7.4) che individua il primo esecondo quadrante, nel punto x ogni direzione e ammissibile. Se invece consideriamo il semis-pazio individuato dal vincolo x1 ≥ 1 e evidente che non tutte le direzioni sono ammissibili. Ad

102

Page 105: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

esempio la direzione d = (−1 0)T (considerata nell’esempio 7.2.2 e disegnata in rosso in figura7.4) non consente di mantenere l’ammissibilita del vincolo per nessun valore di t > 0.

Da queste semplici osservazioni appare evidente che in un punto ammissibile, le direzioniammissibili sono “determinate” da quei vincoli che sono soddisfatti all’uguaglianza. Mentre ilvalore di tmax dipende dal valore degli altri vincoli.Introduciamo allora la seguente definizione:

Definizione 7.6.2 (Vincoli attivi) Sia S = x ∈ Rn : Ax ≥ b e sia x ∈ S. Se x soddisfail aT

i x = bi si dice che il vincolo i-esimo e attivo in x.Dato x ∈ S si indica con I(x) l’insieme degli indici di tutti i vincoli attivi n x, ovvero:

I(x) = i ∈ 1, . . . ,m : aTi x = bi

Nell’esempio 7.2.2, in x e attivo il secondo vincolo e cioe I(x) = 2.La definizione 7.6.2 di vincolo attivo non e legata alla particolare forma del poliedro, ma puoessere estesa al caso generale. In particolare, notiamo che i vincoli di uguaglianza sono, perdefinizione, sempre attivi in un punto ammissibile. Possiamo quindi affermare

Dato un poliedro definito come S = x ∈ IRn : Ax = b, risulta I(x) = 1, . . . , m.

Dato un poliedro in forma standard S = x ∈ IRn : Ax = b, x ≥ 0, i vincoli attivi sono quellidi uguaglianza piu gli eventuali componenti di xj = 0, ovvero risulta I(x) = 1, . . . , m ∪ j ∈1, . . . , n : xj = 0.

Possiamo ora caratterizzare le direzioni ammissibili di un poliedro.

Teorema 7.6.3 Dato il poliedro S = x ∈ Rn : Ax ≥ b. Sia x un punto ammissibile esia I(x) = i ∈ 1, . . . , m : aT

i x = bi l’insieme degli indici attivi in x. Una direzione d eammissibile in x se e solo se risulta

aTi d ≥ 0, per ogni i ∈ I(x). (7.4)

Inoltre per ogni direzione ammissibile d, il punto x + td e ammissibile per ogni valore di t chesoddisfa la condizione

0 < t ≤ tmax = minj /∈I(x): aT

jd<0

aTj x− bj

|aTj d| (7.5)

dove si intende che, se l’insieme j /∈ I(x) : aTj d < 0 su cui si effettua il minimo e vuoto, il

valore tmax = ∞.

103

Page 106: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Dimostrazione. Sia x tale che aTi x ≥ bi per ogni i = 1, . . . ,m. Definiamo un punto x = x+ td

con t > 0.Verifichiamo che le direzione ammissibili sono tutte e sole quelle per cui vale la (7.4). Si trattaquindi di verificare le condizioni su d per cui risulta

aTi (x + td) = aT

i x + taTi d ≥ bi per ogni t > 0.

Per ogni i ∈ I(x), vale aTi x = bi da cui aT

i x + taTi d = bi + taT

i d. Quindi si ottiene per i ∈ I(x):

aTi x + taT

i d ≥ bi per ogni t > 0 se e solo se aTi d ≥ 0.

Per ogni j /∈ I(x), vale aTj x > bi da cui aT

j x + taTj d > bj + taT

j d. Abbiamo due possibili casi:1.) aT

j d ≥ 0 oppure 2.) aTj d < 0.

Se aTj d ≥ 0, allora per ogni t > 0 risulta bj + taT

j d ≥ bj e il punto e sempre ammissibile rispettoal vincolo j−esimo. Se invece aT

j d < 0, e necessario scegliere t abbastanza piccolo in modoche aT

j x − t|aTj d| continui ad essere ≥ bj per t > 0. In ogni caso (1. o 2.) la direzione risulta

ammissibile.

Verifichiamo che il valore di tmax deve soddisfare la (7.5).Sia quindi data d ammissibile. Dalle considerazioni precedenti si ha che per ogni i ∈ I(x), valeaT

i (x + td) ≥ bi per ogni t > 0.Consideriamo allora gli indici j /∈ I(x). Abbiamo gia visto che nel caso aT

j d ≥ 0, possiamoscrivere per ogni t > 0 aT

j (x + td) = aTj x + taT

j d ≥ aTj x > bj per ogni t > 0.

Consideriamo allora il caso aTj d < 0 in cui sappiamo che t non puo assumere tutti i valori

positivi. Dobbiamo trovare il valore di t che soddisfa la condizione di ammissibilita espressa daaT

j (x + td) = aTj x + taT

j d = aTj x − t|aT

j d| ≥ bj . Risolvendo la condizione aTi x − t|aT

j d| ≥ bj siottiene che

t ≤ aTj x− bj

|aTi d| .

Poiche questo deve valere per ogni j /∈ I(x) e tale che aTj d < 0, si ottiene la limitazione data

dalla (7.5).

Introduciamo la seguente notazione matriciale: indichiamo con AI(x) la matrice |I(x)| × ncostituita dalle righe di A con indice in I(x), ovvero, se A = (aT

i )i=1,...,m, si ha

AI(x) = (aTi )i∈I(x).

Sia x ∈ S, le direzioni ammissibili in x sono tutte e sole le soluzioni del sistema lineare

AI(x)d ≥ 0

dove AI(x) e la matrice AI(x) = (aTi )i∈I(x) e I(x) = i : aT

i x = bi.

Illustriamo con un esempio.

104

Page 107: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Esempio 7.6.4 Sia dato il poliedro

3x1 − 2x2 ≥ −302x1 − x2 ≥ −12x1 ≥ 0 x2 ≥ 0

ed il punto ammissibile x = (0, 12)T . Risulta

3x1 − 2x2 = −12 > −302x1 − x2 = −12x1 = 0 x2 = 12 > 0

Quindi I(x) = 2, 3 e le direzioni ammissibili d = (d1, d2) devono soddisfare il sistema

2d1 − d2 ≥ 0d1 ≥ 0

Il valore di tmax si ottiene considerando i vincoli non attivi e dipende ovviamente dalla partico-lare direzione ammissibile considerata. Sia, ad esempio d = (1, 2)T . Risulta aT

1 d = 3− 4 < 0 eaT4 d = 1 > 0. Quindi il valore di tmax e individuato dal primo vincolo e si ha in particolare

tmax =aT1 x− b1

|aT1 d| =

3x1 − 2x2 + 303d1 − 2d2

=61

= 6.

In figura 7.5 e rappresentato il poliedro, il punto x, l’insieme delle direzioni ammissibili (insiemecompreso tra le due frecce blu tratteggiate), i punto ottenibili spostandosi da x lungo le direzioniammissibili (regione compresa tra le due frecce blu a tratto intero) e il valore del passo tmax

relativo alla direzione ammissibile d = (1, 2)T . Il punto x + tmaxd = (6, 24)T e indicato inrosso in figura 7.5. 2

Corollario 7.6.5 Dato il poliedro S = x ∈ IRn : Ax ≥ b. Sia x un punto ammissibile e siaI(x) = i ∈ 1, . . . , m : aT

i x = bi l’insieme degli indici attivi in x e supponiamo che esistaun vettore d non nullo tale che

aTi d = 0, per ogni i ∈ I(x).

Allora le direzioni d e −d sono ammissibili in x ed esistono valori t+max > 0 e t−max > 0 tali che

x + td ∈ S per ogni t ∈ [0, t+max)x− td ∈ S per ogni t ∈ [0, t−max)

con

t+max = minj /∈I(x): aT

jd<0

aTj x− bj

|aTj d| t−max = min

j /∈I(x): aTj

d>0

aTj x− bj

aTj d

(7.6)

Si intende che se l’insieme degli indici su cui viene calcolato il minimo e vuoto, il corrispondentevalore t+max e/o t−max vale ∞.

Dimostrazione. La dimostrazione segue facilmente dal Teorema 7.6.3, applicandolo separata-mente alla due direzioni d e −d. 2

105

Page 108: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

x1

x2

(0,12)

tmax

Figura 7.5: Poliedro Esempio 7.6.4.

Dato un poliedro S = x ∈ IRn : Ax ≥ b e un punto x ∈ S. Supponiamo che esista unadirezione d tale che

AI(x)d = 0 I(x) = i ∈ 1, . . . , m : aTi x = bi.

Allora il punto y = x± td con t ∈ [0, t±max] e ammissibile e risulta

I(y) ⊇ I(x) ∀ t ∈ [0, t±max].

Naturalmente e possibile caratterizzare anche le direzioni ammissibili nel caso di poliedri informa standard S = x ∈ IRn : Ax = b, x ≥ 0.

Preventivamente consideriamo il caso di soli vincoli di uguaglianza Ax = b. Sia x un puntoammissibile, ovvero tale che Ax = b. La definizione di direzione ammissibile d richiede cheA(x + td) = b per t sufficientemente piccolo. Sviluppando si ottiene

Ax + tAd = b + tAd = b ⇐⇒ Ad = 0 per ogni t.

Si osservi che in questo caso, t puo assumere qualunque valore non nullo (anche negativo).

106

Page 109: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Dato un poliedro definito da un sistema di equazioni lineari del tipo Ax = b, e un puntoammissibile x. Una direzione d e ammissibile se e solo se risulta

Ad = 0.

Inoltre ogni punto del tipo x + td e ammissibile per ogni valore di t 6= 0.

Riportiamo senza dimostrazione il seguente risultato relativo a poliedri in forma standard.

Teorema 7.6.6 (Direzioni ammissibili di un poliedro in forma standard) Sia dato unpoliedro del tipo x ∈ IRn : Ax = b, x ≥ 0 e sia x un punto ammissibile e sia J(x) = j ∈1, . . . , n : xj = 0. Una direzione d e ammissibile in x se e solo se risulta

Ad = 0,dj ≥ 0 per ogni j ∈ J(x). (7.7)

Inoltre per ogni direzione ammissibile d, un punto x + td e ammissibile per ogni valore di t chesoddisfa la condizione

0 ≤ t ≤ tmax = minj: xj 6=0: dj<0

xj

|dj |dove si intende che se l’insieme su cui si effettua il minimo j : xj 6= 0 : dj < 0 e vuoto, ilvalore tmax = ∞.

7.7 Condizioni di ottimo su un poliedro

Utilizzando la caratterizzazione di direzioni ammissibili per un poliedro, possiamo applicare ilteorema 7.3.1 ed ottenere la seguente condizione necessaria.

Teorema 7.7.1 (Condizione necessaria di minimo locale su un poliedro) Se x∗ e unpunto di minimo locale del problema (P-POL) allora risulta

∇f(x∗)T d ≥ 0 per ogni direzione d ∈ Rn : aTi d ≥ 0, ∀i ∈ I(x∗) = i : aT

i x∗ = bi.

Questa condizione puo essere formulata come non esistenza di soluzione di una sistemalineare. Utilizzando la notazione matriciale introdotta precedentemente, possiamo scrivere lacondizione necessaria espressa dal teorema 7.7.1 come segue.

Se x∗ e un punto di minimo locale di (P-POL) allora non esiste una soluzione d ∈ Rn al sistemadi disequazioni lineari

AI(x∗)d ≥ 0,

∇f(x∗)T d < 0.(7.8)

Illustriamo questa condizione necessaria con un esempio.

107

Page 110: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Esempio 7.7.2 Consideriamo il problema

min (x1 + 10)2 + (x2 − 12)2

3x1 − 2x2 ≥ −302x1 − x2 ≥ −12x1 ≥ 0,x2 ≥ 0

il cui poliedro e stato descritto nell’Esempio 7.6.4. Consideriamo il punto ammissibile x =(0, 12)T che risulta essere minimo (vedi Figura 7.6 per le curve di livello della funzione obiettivoe la regione ammissibile).

x1

x2

Figura 7.6: Poliedro Esempio 7.7.2.

Il sistema delle direzione ammissibili e gia stato definito nell’Esempio 7.6.4. Il gradiente dellafunzione obiettivo

∇f(x) =(

2(x1 + 10)2(x2 − 12)

)

che in x vale ∇f(x) = (20, 0)T . Il sistema (7.8) diventa

2d1 − d2 ≥ 0d1 ≥ 020d1 < 0

(7.9)

che non ha ovviamente soluzione (le ultime due disequazioni incompatibili). 2

108

Page 111: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Ricordando che un poliedro e un insieme convesso e quindi vale la caratterizzazione delle di-rezione ammissibili data nel teorema 7.4.1 e possibile applicare il Teorema 7.4.3 e ottenere ilseguente risultato.

Teorema 7.7.3 (Condizione necessaria e sufficiente di minimo globale su un poliedro)Sia f(x) convessa. Un punto x∗ ∈ S e un minimo globale per problema (P-POL) se e solo se

∇f(x∗)T d ≥ 0 per ogni direzione d ∈ Rn : aTi d ≥ 0, ∀i ∈ I(x∗) = i : aT

i x∗ = bi.

Anche in questo caso si puo riscrivere la condizione come:

Sia f una funzione convessa. Un punto x∗ ∈ S e minimo globale di (P-POL) se e solo se nonesiste una soluzione d ∈ Rn al sistema di disequazioni lineare

AId ≥ 0,

∇f(x∗)T d < 0.(7.10)

Consideriamo nuovamente un esempio.

Esempio 7.7.4 Consideriamo nuovamente il problema dell’Esempio 7.7.2. La funzione obiet-tivo e strettamente convessa. Quindi la condizione (7.10) e necessaria e sufficiente di minimoglobale. Quindi il punto (0, 12)T che la verifica e un minimo globale.Verifichiamo cosa succede in un punto diverso, ad esempio x = (0, 0)T . In x risulta I(x) = 3, 4e le direzioni ammissibili soddisfano: d1 ≥ 0, d2 ≥ 0. Inoltre si ha ∇f(x) = (20, −24)T , quindiil sistema (7.10) e

20d1 − 24d2 < 0d1 ≥ 0d2 ≥ 0

In Figura 7.7 sono rappresentate le direzioni ammissibili (tutti i vettori tra le due frecce blu)e il gradiente della funzione obiettivo (freccia rossa). E facile verificare che esistono soluzionial sistema; in particolare sono soluzione tutti i vettori d = (d1, d2)T tali che 0 ≤ d1 < 6

5d2.Quindi, come gia sapevamo, il punto x non e minimo globale in quanto non e soddisfatta lacondizione necessaria e sufficiente. 2

Possiamo inoltre dare una condizione necessaria del secondo ordine utilizzando il teorema7.3.3.

Teorema 7.7.5 (Condizioni necessarie del 2o ordine di minimo locale sul poliedro)Sia x∗ un punto di minimo del Problema (P-POL). Allora risulta

dT∇2xf(x∗)d ≥ 0 per ogni d ∈ IRn : aT

i d ≥ 0, i ∈ I(x∗) e ∇f(x∗)T d = 0.

Le considerazioni svolte nel caso di poliedro descritto da soli vincoli di disuguaglianza Ax ≥b, possono essere applicate anche a poliedri definiti da vincoli di uguaglianza e disuguaglianza.

109

Page 112: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

x1

x2

x

Figura 7.7: Poliedro Esempio 7.7.4.

Possiamo infatti utilizzare la caratterizzazione delle direzioni ammissibili data nel paragrafo7.6. Consideriamo allora il caso piu generale di problema

min f(x)

aTi x ≥ bi i = 1, . . . , m

aTj x = bj j = 1, . . . , p

(7.11)

Se x∗ e minimo globale del problema (7.11) allora non esiste una soluzione d ∈ Rn al sistemadi disequazioni lineare

aTi d ≥ 0 i ∈ I(x∗) ⊆ 1, . . . , m

aTj d = 0 j = 1, . . . , p

∇f(x∗)T d < 0 .

Un esempio importante e un problema con vincoli in forma standard del tipo:

min f(x)

Ax = bx ≥ 0

(P − POL− ST )

In questo caso, utilizzando la condizione espressa dal Teorema 7.6.6, possiamo affermare:

110

Page 113: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Se x∗ e minimo globale del problema (P-POL-ST) allora non esiste una soluzione d ∈ Rn alsistema di disequazioni lineare

Ad = 0,

dJ(x∗) ≥ 0∇f(x∗)T d < 0.

(7.12)

con J(x∗) = j ∈ 1, . . . , n : x∗j = 0.Naturalmente anche in questo caso le condizioni diventano necessarie e sufficienti nel caso incui la funzione obiettivo sia convessa.

7.7.1 Condizioni di ottimo per la Programmazione Lineare

Tra i problemi di minimizzazione su poliedro particolare interesse rivestono i problemi di Pro-grammazione Lineare del tipo

min cT x

Ax ≥ b.(PL)

Utilizzando il teorema 7.7.3, possiamo enunciare la seguente condizione che caratterizza ulteri-ormente (rispetto ai risultati del Capitolo 10) le soluzioni ottime di un problema di Program-mazione Lineare.

Sia dato il problema (PL). Un punto x∗ e minimo globale se e solo se non esiste una soluzioned ∈ Rn al sistema di disequazioni lineare

AI(x∗)d ≥ 0,

cT d < 0.(7.13)

Analogamente nel caso di problemi di Programmazione Lineare in forma standard del tipo

min cT x

Ax = bx ≥ 0,

(PL− ST )

possiamo affermare:

Un punto x∗ e minimo globale del problema di Programmazione Lineare (PL-ST) se e solo senon esiste una soluzione d ∈ Rn al sistema di equazioni e disequazioni lineari

Ad = 0,

dJ(x∗) ≥ 0

cT d < 0.

(7.14)

con J(x∗) = j ∈ 1, . . . , n : x∗j = 0.Le condizioni di “non esistenza” di soluzioni di un sistema lineare ottenute in questo para-

grafo, possono essere formulate in modo equivalente come condizioni di esistenza di un diverso

111

Page 114: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

sistema di equazioni. Questa nuova formulazione costituisce la forma classica delle condizionidi ottimo per problemi di programmazione matematica. Sara descritta nel Capitolo 9.

7.8 Utilizzo algoritmico delle condizioni di ottimo per prob-lemi con vincoli convessi

Consideriamo il problema di ottimizzazione vincolata:

minx∈S

f(x) (7.15)

in cui f : Rn → R con S convesso e supponiamo verificata la seguente ipotesi (semplificativa)che garantisce l’esistenza di un punto di minimo x∗ ∈ S:

Ipotesi 2 La funzione f : Rn → R e una funzione continuamente differenziabile ed S siacompatto.

Gli algoritmi per la soluzione del problema (7.15) consentono, in generale, soltanto la determi-nazione di punti dell’insieme

Ω := ω ∈ Rn : ∇f(ω)T (x− ω) ≥ 0, per ogni x ∈ S.

Un possibile schema concettuale di algoritmo e il seguente:

Schema generico di algoritmo di ottimizzazione vincolata per S convessi

1. Si fissa un punto iniziale x0 ∈ S e si pone k = 0.

2. Se xk ∈ Ω stop.

3. Si calcola una direzione ammissibile e di discesa dk ∈ Rn.

4. Si calcola un passo αk ∈ R lungo dk;

5. Si determina un nuovo punto xk+1 = xk + αkdk ∈ S. Si pone k = k + 1 e si ritornaal Passo 2.

Per i commenti generali rimandiamo al paragrafo 6.4. Qui ci limitiamo a commentare i seguentipunti: Scelta della direzione e Criterio di arresto.Assegnato un punto xk, possiamo considerare il problema vincolato

minx∈S

∇f(xk)T (x− xk). (7.16)

Osserviamo che la funzione obiettivo e lineare e poiche si e supposto che S sia compatto ilproblema precedente ammette una soluzione xk∗. La direzione dk = xk∗ − xk e una direzioneammissibile in xk. Se all’ottimo risulta ∇f(xk)T (xk∗−xk) ≥ 0 allora il punto xk e ottimo per ilproblema (7.15) (e dunque risulta soddisfata la verifica effettuata al Passo 2 sull’appartenenzadi xk all’insieme Ω). Viceversa se ∇f(xk)T (xk∗ − xk) < 0 la direzione dk = xk∗ − xk risultaessere anche di discesa. E dunque possibile determinare con opportuni metodi un passo αk > 0

112

Page 115: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

lungo dk, tale che xk+1 ∈ S e f(xk+1) < f(xk). L’algoritmo cosıdefinito e noto come Metododi Frank-Wolfe o Conditional gradient method.

Osserviamo che se l’insieme ammissibile S e un poliedro, ovvero e definito da vincoli lineari, ilsottoproblema (7.16) relativo al calcolo della direzione diviene un problema di programmazionelineare.

113

Page 116: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Capitolo 8

Teoremi dell’alternativa

8.1 Introduzione

Nel capitolo 7, le condizioni di ottimo per problemi con vincoli lineari sono state formulatecome “NON esistenza” di soluzione di un sistema di equazioni e disequazioni lineari. Talicondizioni possono essere riscritte come condizioni di esistenza di soluzioni di un diverso sistemadi equazioni e disequazioni lineare. A tale scopo si utilizzano i cosıdetti teorema dell’alternativa.I teoremi dell’alternativa consentono di ridurre il problema della non esistenza di soluzioni diun sistema di equazioni e disequazioni lineari assegnato a quello dell’esistenza di soluzioni diun altro sistema lineare.

Un risultato di alternativa relativo a due assegnati sistemi lineari (I) e (II), consiste neldimostrare che:

Il sistema (I) ha soluzione se e solo se il sistema (II) non ha soluzione.

8.2 Il Lemma di Farkas

Tra i teoremi di alternativa per i sistemi di disequazioni lineari, uno dei piu noti, e anche quelloche utilizzeremo nei prossimi capitoli, e il Lemma di Farkas che si puo enunciare nella formaseguente.

Teorema 8.2.1 (Lemma di Farkas) Sia B matrice p× n e g ∈ IRn. Il sistema

Bd ≥ 0 gT d < 0 (I)

non ha soluzione d ∈ IRn se e solo se il sistema

BT u = g u ≥ 0 (II)

ha soluzione u ∈ IRp.

114

Page 117: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Dimostrazione. [(II) ha soluzione −→ (I) non ha soluzione.] Sia u soluzione del sistema(I) e supponiamo per assurdo che esista una soluzione d del sistema (II), ovvero che la coppiau, d soddisfi:

Bd ≥ 0 gT d < 0,BT u = g u ≥ 0.

Allora si puo scrivere:

Bd ≥ 0 u≥0=⇒ uT Bd ≥ 0BT u=g=⇒ gT d ≥ 0,

che contraddice l’ipotesi che d soddisfi gT d < 0.

[(I) non ha soluzione −→ (II) ha soluzione.] La dimostrazione di questa implicazione ein due parti. Si dimostra preliminarmente che se (I) non ha soluzione allora esiste un vettoreu ∈ Rp tale ch BT u = g. Successivamente dimostreremo che u ≥ 0.Se (I) non ha soluzione, allora in particolare non esiste una soluzione nemmeno al sistema diequazioni lineari

Bd = 0 gT d = −1 [(I)eq].

Il sistema [(I)eq] si puo scrivere in forma matriciale come segue:(

BgT

)d =

(0−1

)

E noto che tale sistema non ha soluzione se e solo se

rango(

BgT

)6= rango

(B 0gT −1

)

e quindi se:

rango(

B 0gT −1

)= rango

(BgT

)+ 1. (8.1)

D’altra parte, l’ultima riga (gT − 1) e linearmente indipendente dalle righe di (B 0) e quindi:

rango(

B 0gT 1

)= rango

(B 0

)+ 1 = rango(B) + 1. (8.2)

Dalle (8.1) (8.2), tenendo conto del fatto che il rango di una matrice e eguale al rango dellatrasposta, si ottiene

rango(

BT g)

= rango(

BgT

)= rango(B)

e cio implica che il sistema BT u = g ha soluzione, ovvero esiste una rappresentazione di g deltipo:

g =p∑

i=1

uibi. (8.3)

Dimostriamo ora che u ≥ 0.La dimostrazione e per induzione sul numero di disequazioni che compongono il sistema,

ovvero sul numero di righe p della matrice B.

115

Page 118: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Dimostriamo innanzitutto che la tesi e vera per p = 1 e quindi supponiamo che

6 ∃ d ∈ R : gT d < 0, bT1 d ≥ 0.

Quindi per la (8.3) risulta g = ub1 con u ∈ R. Se c = 0, il risultato e ovvio in quanto si puoassumere u = 0. Se c 6= 0 deve anche essere b1 6= 0 e possiamo considerare il vettore d = b1 6= 0.Ne segue che bT

1 d = ‖b1‖2 > 0 e quindi, per ipotesi, deve risultare cT d ≥ 0. Si ottiene quindi

gT d = (ub1)T (b1) = u‖b1‖2 ≥ 0,

che implica u ≥ 0.

Supponiamo ora che il risultato sia vero per una matrice con p−1 righe e dimostriamo che valeper una matrice con p righe. Quindi supponiamo che:

non esista d ∈ Rn tale che Bd ≥ 0, gT d < 0 (8.4)

con B matrice p× n.

Sappiamo che esiste u ∈ Rp tale che vale la (8.3). Tra tutti i possibili u per cui vale la (8.3) de-terminiamo un vettore u con il massimo numero di componenti non negative e indichiamo con sil numero di componenti non negative di u. Riordiniamo le componenti di u e conseguentementele colonne di B in modo che le componenti non negative siano le prime s, ovvero risulti

u1, . . . , us ≥ 0, us+1, . . . , up < 0.

Allora possiamo scrivere

g =s∑

i=1

uibi +p−1∑

i=s+1

uibi + upbp.

Si tratta di dimostrare che deve essere s = p. Per assurdo supponiamo che s < p.Possiamo scrivere

g = g +m−1∑

i=s+1

uibi, (8.5)

avendo posto

g =s∑

i=1

uibi + upbp (8.6)

La dimostrazione procede in due passi principali. Si dimostra inizialmente che

[Affermazione 1] Se 6 ∃ d ∈ Rn :Bd ≥ 0cT d < 0 =⇒ 6 ∃ d ∈ Rn :

Bd ≥ 0gT d < 0

Successivamente che

[Affermazione 2]

Se 6 ∃ d ∈ Rn :Bd ≥ 0gT d < 0 =⇒ 6 ∃ d ∈ Rn : bT

i d ≥ 0, i = 1, . . . , p− 1,gT d < 0.

116

Page 119: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Se [Affermazione 1] e [Affermazione 2] sono vere, come conseguenza dell’ipotesi 8.4, si ha che

6 ∃ d ∈ Rn tale che bTi d ≥ 0 i = 1, . . . , p− 1 gT d < 0. (8.7)

Ma poiche il sistema (8.7) e di dimensione p− 1, soddisfa l’ipotesi induttiva e quindi esiste unu ∈ Rp−1 tale che

g =p−1∑

i=1

uibi, ui ≥ 0, i = 1, . . . , p− 1.

Sostituendo questa espressione di g nella definizione (8.6) di c, si ottiene:

g = g +p−1∑

i=s+1

uibi =p−1∑

i=1

uibi +m−1∑

i=s+1

uibi

=s∑

i=1

uibi +p−1∑

i=s+1

(ui + ui)bi

=s∑

i=1

uibi +p−1∑

i=s+1

(ui + ui)bi + 0 · bp

Quindi c risulta essere la combinazione lineare dei vettori bi con s + 1 coefficienti non negativiu1, . . . , us, up = 0. Ma questo e assurdo perche per ipotesi avevamo supposto che s fosse ilmassimo numero di coefficienti non negativi nella definizione di g.

Si tratta quindi di dimostrare che valgono le [Affermazione 1] e [Affermazione 2].

Dimostrazione [Affermazione 1]. Sia d tale che Bd ≥ 0, e quindi, per ipotesi gT d ≥ 0; moltipli-cando scalarmente la (8.5) per d si ottiene

0 ≤ gT d = gT d +p−1∑

i=s+1

ui

≥ 0︸︷︷︸bTi d per ogni d : b′id ≥ 0 i = 1, . . . , p.

Poiche us+1, . . . , up−1 < 0, lap−1∑

i=s+1

uibTi d ≤ 0 e quindi deve essere necessariamente:

gT d ≥ 0 per ogni d : Bd ≥ 0.

L’[Affermazione 1] e cosı dimostrata.

Dimostrazione [Affermazione 2]. Per definizione (8.6), g e la combinazione lineare dei vettori bi

con coefficienti u1, . . . , us, 0, . . . , 0, up tutti non negativi tranne l’ultimo up. La dimostrazione eper assurdo, quindi supponiamo che non sia vera, cioe che esista d ∈ Rn tale che bT

i d ≥ 0 peri = 1, . . . , p− 1 e gT d < 0. Per definizione di g possiamo scrivere

gT d =s∑

i=1

uibTi d + upb

Tp d.

117

Page 120: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Se bTi d ≥ 0 per i = 1, . . . , p− 1, allora

s∑

i=1

uibTi d ≥ 0. D’altra parte up < 0 e quindi gT d < 0 se

e solo se risulta bTp d > 0. Quindi d e un vettore tale che

bTi d ≥ 0 i = 1, . . . , p− 1 bT

p d > 0,

ma allora per ipotesi deve essere gT d ≥ 0 che contraddice gT d < 0. Quindi anche l’[Affermazione2] e dimostrata.

118

Page 121: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Capitolo 9

Le condizioni diKarush-Kuhn-Tucker

9.1 Introduzione

In questo capitolo deriveremo le condizioni necessarie di Karush-Kuhn-Tucker (KKT) per prob-lemi vincolati in cui S e descritto da vincoli di disuguaglianza e/o di uguaglianza lineari. Sitratta di formulare in modo alternativo le condizioni necessarie del paragrafo 7.5. A questoscopo si devono utilizzare i teoremi dell’alternativa descritti nel Capitolo 8.

9.2 Le condizioni di Karush-Kuhn-Tucker

Consideriamo il problema di ottimizzazione su un poliedro e senza perdita di generalita ci riferi-amo inizialmente ad un poliedro con soli vincoli di disuguaglianza. Il problema in considerazionee quindi:

min f(x)

Ax ≥ b(P − POL)

Nel paragrafo 7.5 abbiamo derivato le condizioni necessarie di ottimo:

Se x∗ e un punto di minimo locale allora non esiste una soluzione d ∈ Rn al sistema di dise-quazioni lineare

AI(x∗)d ≥ 0,

∇f(x∗)T d < 0.(9.1)

dove AI(x∗) e la matrice AI(x∗) = (aTi )i∈I(x∗) di dimensione |I(x∗)|×n e I(x∗) = i : aT

i x∗ = bi.

Identificando il sistema (9.1) con il sistema (I) del Lemma di Farkas, e utilizzando il Lemma diFarkas, possiamo affermare quanto segue.

119

Page 122: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Non esiste una soluzione d ∈ Rn al sistema di disequazioni lineare (9.1) se e solo se esiste unasoluzione del sistema

ATI(x∗)u = ∇f(x∗),

u ≥ 0.(9.2)

dove u e un vettore di dimensione |I(x∗)|.

Esempio 9.2.1 Consideriamo il sistema (7.9) ottenuto nell’esempio 7.7.2:

2d1 − d2 ≥ 0d1 ≥ 020d1 < 0

A cui corrispondono

AI(x∗) =(

2 −11 0

)∇f(x∗) = (20, 0)T .

Il sistema (7.9) non ammette soluzione. Applicando il Lemma di Farkas deve esistere un vettoreu ∈ IR2 tale che u ≥ 0 e (

2 −11 0

)T (u1

u2

)=

(200

)

Il sistema si scrive2u1 + u2 = 20−u1 = 0u1 ≥ 0, u2 ≥ 0

che ammette la soluzione u1 = 0, u2 = 20. 2

Utilizzando il Lemma di Farkas, possiamo stabilire le condizioni di ottimo per (P-POL),note come condizioni di Karush-Kuhn-Tucker (KKT), nella forma seguente.

Teorema 9.2.2 (Condizioni di Karush-Kuhn-Tucker per (P-POL)) Sia x∗ un puntodi minimo locale del problema (P-POL). Allora esiste un vettore λ∗ ∈ Rm tale che risultinosoddisfatte le condizioni seguenti:

(i) Ax∗ ≥ b,

(ii) ∇f(x∗)−AT λ∗ = 0,

(iii) λ∗ ≥ 0,

(iv) λ∗i (bi − aTi x∗) = 0 per i = 1, . . . , m.

Dimostrazione. Sia x∗ un punto di minimo locale; poiche x∗ deve essere ammissibile valela (i). Inoltre non deve ammettere soluzione il sistema (9.1). Abbiamo gia osservato che,identificando il sistema (9.1) con il sistema (I) del Lemma di Farkas, possiamo affermare cheesiste una soluzione u del sistema (9.2).

120

Page 123: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Sia u∗i ≥ 0, i ∈ I(x∗) una soluzione del sistema precedente e definiamo un vettore λ∗ ∈ Rm

ponendo:

λ∗i =

u∗i per i ∈ I(x∗)0 per i /∈ I(x∗). (9.3)

Risulta ovviamente λ∗ ≥ 0 ed e soddisfatta la (iii). Inoltre, la (iv) e una conseguenza immediatadella definizione (9.3) di λ∗. Abbiamo infatti che

λ∗i (bi − aTi x∗) =

u∗i (bi − aT

i x∗) = 0 per i ∈ I(x∗)0(bi − aT

i x∗) = 0 per i /∈ I(x∗).

Infine, ricordando che la (9.2) puo essere scritta ∇f(x∗) =∑

i∈I(x∗)

u∗i ai possiamo scrivere

∇f(x∗) =∑

i∈I(x∗)

u∗i ai +∑

i 6∈I(x∗)

0 · ai = AT λ∗.

E quindi soddisfatta la (ii).

Il vettore λ ∈ IRm si dice moltiplicatore di Lagrange (generalizzato) relativo ai vincoli Ax ≥ b.

La condizione (iv) e nota come condizione di complementarita ed esprime il fatto che in unpunto di minimo locale deve essere nullo, per ciascun vincolo, il prodotto λ∗i (bi − a∗i

T x∗), percui, se il vincolo non e attivo, si deve annullare il corrispondente moltiplicatore.Tenuto conto che λ∗ ≥ 0 e Ax∗− b ≥ 0 la condizione (iv) si puo scrivere equivalentemente comesegue.

La condizione di complementarita e

λ∗T (b−Ax∗) =m∑

i=1

λ∗i (bi − aTi x∗) = 0.

Le condizioni enunciate si possono esprimere in una forma equivalente facendo riferimento allafunzione Lagrangiana.

La funzione Lagrangiana per il problema (P-POL) e definita come

L(x, λ) = f(x) + λT (b−Ax)

Indicando con ∇xL(x, λ) = ∇f(x) − AT λ il gradiente di L rispetto a x, la condizione (ii)esprime il fatto che nel punto (x∗, λ∗) deve annullarsi il gradiente della funzione Lagrangianarispetto a x, per cui la coppia (x∗, λ∗) costituisce un punto stazionario della funzione La-grangiana. Possiamo allora riscrivere le condizioni di KKT come segue

121

Page 124: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

(Condizioni necessarie di Karush-Kuhn-Tucker)

Sia x∗ un punto di minimo locale del problema (P-POL). Allora esiste un vettore λ∗ ∈ IRm taleche risultino soddisfatte le condizioni seguenti:

(i) Ax∗ ≥ b, (ammissibilita)

(ii) ∇xL(x∗, λ∗) = 0 (stazionarieta),

(iii) λ∗ ≥ 0,

(iv) λ∗T (b−Ax∗) = 0 (complementarita).

I punti candidati ad essere minimo di un problema del tipo (P-POL) possono essere deter-minati risolvendo le condizioni di KKT. Introduciamo allora la seguente definizione.

Un punto x e detto punto di KKT del problema (P-POL) se esiste λ ∈ IRm tale che valgano lecondizioni:

(i) Ax ≥ b,

(ii) ∇L(x, λ) = 0,

(iii) λ ≥ 0,

(iv) λT (b−Ax) = 0.

I possibili candidati ad essere minimo locale sono quindi i punti di KKT.

Esempio 9.2.3 Consideriamo il problema

max x22 +

12x1

x1 − x2 ≤ 112x1 + x2 ≤ 1x1 ≥ 0

Determiniamo tutti punti di KKT. Mettiamo innanzitutto il problema nella forma (P-POL).

min −x22 −

12x1

−x1 + x2 ≥ −1− 1

2x1 − x2 ≥ −1x1 ≥ 0

La funzione Lagrangiana per questo problema e:

L(x, λ) = −x22 −

12x1 + λ1(−1 + x1 − x2) + λ2(−1 +

12x1 + x2)− λ3x1

Le condizioni di KKT sono:

122

Page 125: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

(i) (ammissibilita)−x1 + x2 ≥ −1

−12x1 − x2 ≥ −1

x1 ≥ 0

(ii) (stazionarieta)

−12

+ λ1 +12λ2 − λ3 = 0

−2x2 − λ1 + λ2 = 0

(iii) (non negativita)λ1, λ1, λ3 ≥ 0

(iv) (complementarita)λ1(−1 + x1 − x2) = 0

λ2(−1 +12x1 + x2) = 0

λ3x1 = 0

Determiniamo i punti di KKT esaminando tutti i casi possibili. Dalla condizione λ3x1 = 0si ottiene che

0 = λ3x1 =

x1 = 0(i)7−→ −1 ≤ x2 ≤ 1

x2 = −1(iv)27−→ λ2 = 0,

(ii)27−→ λ1 = 2(ii)37−→ λ3 =

12

x2 = 1(iv)17−→ λ1 = 0,

(ii)27−→ λ2 = 2,(ii)37−→ λ3 =

32

−1 < x2 < 1(iv)7−→ λ1 = λ2 = 0,

(ii)27−→ x2 = 0,(ii)37−→ λ3= −1

2

λ3 = 0

λ2 = 0(ii)17−→ λ1 =

12,

(ii)27−→ x2 = −14,

(iv)17−→ x1 =34

λ2 > 0

λ1 > 0(iv)1,2+(i)7−→ x1 =

43, x2 =

13,

(ii)1,27−→ λ2 =79

λ1 =19

λ1 = 0(ii)17−→ λ2 = 1,

(ii)27−→ x2 = 12 ,

(iv)27−→ x1 = 1.

Quindi abbiamo trovato 5 punti di KKT

1. (0, − 1)T con moltiplicatori λ = (2 , 0, 3/2)T con valore della funz. obiettivo f = −1;

2. (0, 1)T con moltiplicatori λ = (0 , 2, 1/2)T con valore della funz. obiettivo f = −1;

3. (3/4, − 1/4)T con moltiplicatori λ = (1/2 , 0, 0)T con valore della funz. obiettivof = −7/16;

4. (4/3, 1/3)T con moltiplicatori λ = (1/9 , 7/9, 0)T con valore della funz. obiettivof = −7/9;

5. (1, 1/2)T con moltiplicatori λ = (0 , 1, 0)T con valore della funz. obiettivo f = −3/4;

123

Page 126: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Poiche l’insieme ammissibile e compatto, esiste un punto di minimo globale e si trova tra ipunti di KKT determinati so pra. Si tratta di scegliere quello con valore della funzione obiettivominore: si tratta dei due punti (0, 1) e (0, − 1).

2

Ricordando che la condizione (9.1) diventa necessaria e sufficiente di ottimo globale nell’ipotesiche f sia convessa, otteniamo che anche le condizioni di KKT sono necessarie e sufficienti diottimo globale nell’ipotesi che f sia convessa. Vale infatti il teorema seguente.

Teorema 9.2.4 (Condizioni necessarie e sufficienti di ottimo globale)

Sia f una funzione convessa con ∇f continuo in IRn. Un punto x∗ e minimo globale di (P-POL)se e solo se esiste λ∗ ∈ IRm tale che valgano le condizioni:

(i) Ax∗ ≥ b,

(ii) ∇f(x∗)−AT λ∗ = 0,

(iii) λ∗ ≥ 0,

(iv) λ∗T (b−Ax∗) = 0.

Se inoltre f e strettamente convessa e valgono le condizioni precedenti, allora il punto x∗ el’unico punto di minimo globale di f su S.

Esempio 9.2.5 Consideriamo il problema dell’Esempio 7.7.2

min (x1 + 10)2 + (x2 − 12)2

3x1 − 2x2 ≥ −302x1 − x2 ≥ −12x1 ≥ 0,x2 ≥ 0

Si tratta di un problema convesso. La funzione Lagrangiana per questo problema e la funzioneL : IR2 × IR4 → IR definita come:

L(x, λ) = (x1 + 10)2 + (x2 − 12)2 + λ1(−30− 3x1 + 2x2) + λ2(−12− 2x1 + x2)− λ3x1 − λ4x2

Le condizioni di KKT in un punto x ammissibile richiedono che valga

∇xL(x, λ) =(

2(x1 + 10)− 3λ1 − 2λ2 − λ3

2(x2 − 12) + 2λ1 + λ2 − λ4

)= 0

conλ ≥ 0

λ1(−30− 3x1 + 2x2) = 0λ2(−12− 2x1 + x2) = 0

λ3x1 = 0λ4x2 = 0

124

Page 127: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Possiamo facilmente verificare che il punto ammissibile x = (0, 0)T non soddisfa le condizionidi KKT. Infatti dalle condizioni di complementarita si ottiene che λ2 = λ1 = 0. Sostituendo in∇xL(x, λ) = 0 si ha

20− λ3 = 0−24− λ4 = 0

da cui si ottiene il valore λ4 = −24 < 0 che non e accettabile.

Consideriamo invece il punto (0, 12)T . In questo caso dalle condizioni di complementarita siottiene che λ4 = λ1 = 0. Sostituendo in ∇xL(x, λ) = 0 si ha

20− 2λ2 − λ3 = 0λ2 = 0

da cui si ottiene λ2 = 0 e λ3 = 20 > 0. Quindi il punto (0, 12)T soddisfa le condizioni di KKT.2

Possiamo inoltre enunciare anche le condizioni necessarie del secondo ordine

Teorema 9.2.6 (Condizioni necessarie del 2o ordine di minimo locale sul poliedro)Sia x∗ un punto di minimo del Problema (P-POL). Allora esiste un vettore λ∗ ∈ Rm tale cherisultino soddisfatte le condizioni di KKT ed inoltre risulta

dT∇2xL(x∗, λ∗)d ≥ 0 per ogni d ∈ IRn : aT

i d ≥ 0, i ∈ I(x∗) e ∇f(x∗)T d = 0.

La dimostrazione segue banalmente osservando che ∇2xL(x∗, λ∗) = ∇2f(x∗) e quindi si

tratta di una semplice ”riscrittura” del Teorema 7.7.5.

Dalle condizioni di KKT per problemi nella forma (P-POL) si possono anche derivare di-rettamente le condizioni di KKT per un problema con poliedro piu generale. Analizziamoinizialmente il caso di poliedro descritto da soli vincoli di uguaglianza

min f(x)

Ax = b

con A matrice m × n. Il sistema di equazioni Ax = b si puo equivalentemente scrivere comeAx ≥ b e −Ax ≥ −b, e dunque il problema si scrive:

min f(x)

Ax ≥ b−Ax ≥ −b

Associando ai vincoli i moltiplicatori µ1, µ2 ∈ IRm, con µ1, µ2 ≥ 0, la funzione Lagrangiana e :

L(x, µ1, µ2) = f(x) + µT1 (b−Ax) + µT

2 (−b + Ax) = f(x) + (µ1 − µ2)T (b−Ax).

Se si pone µ = µ1 − µ2, si puo scrivere

L(x, µ) = f(x) + µT (b−Ax)

125

Page 128: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

dove µ ∈ Rm puo assumere qualunque valore (positivo, negativo, nullo) in quanto differenza didue quantita non negative. Inoltre la condizione di complementarita e banalmente soddisfattain ogni punto ammissibile. Dunque possiamo affermare:

(Condizioni necessarie di Lagrange)

Sia x∗ un punto di minimo locale del problema

min f(x)

Ax = b

Esiste un vettore µ∗ ∈ IRm tale che

∇xL(x∗, µ∗) = ∇f(x∗)−AT µ∗ = 0

Consideriamo ora un problema in in forma standard

min f(x)

Ax = bx ≥ 0

(P − ST )

e la funzione Lagrangiana per il problema (P-ST).

La funzione Lagrangiana per il problema (P-ST) e definita come

L(x, λ, µ) = f(x) + µT (Ax− b)− λT x

Si derivano facilmente le condizioni di ottimo.

Teorema 9.2.7 (Condizioni di Karush-Kuhn-Tucker per (P-ST)) Sia x∗ un punto diminimo locale del problema (P-ST). Allora esistono un vettore λ∗ ∈ IRn e µ∗ ∈ IRm tale cherisultino soddisfatte le condizioni seguenti:

(i) Ax∗ = b, x∗ ≥ 0 (ammissibilita),

(ii) ∇xL(x∗, λ∗, µ∗) = ∇f(x∗) + AT µ∗ − λ∗ = 0 (stazionarieta),

(iii) λ∗ ≥ 0,

(iv) λ∗T x∗ = 0 (complementarita).

Naturalmente le condizioni di KKT possono essere scritte per un qualunque problema di min-imizzazione su un poliedro1. Nel caso generale supponiamo di avere un problema definito davincoli di uguaglianza e disuguaglianza del tipo.

min f(x)Dx = hAx ≥ b

(P−GEN)

1Nel caso in cui l’insieme ammissibile non sia un poliedro, e ancora possibile definire le condizioninecessarie di KKT purche i vincoli soddisfino opportune ipotesi dette condizioni di qualificazione deivincoli. In questo corso non si trattano vincoli non lineari generici.

126

Page 129: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

in cui D e una matrice p× n, A e una matrice q × n, h ∈ IRp, b ∈ IRq. Allora

La funzione Lagrangiana per (P-GEN) e

L(x, λ, µ) = f(x) + λT (b−Ax) + µT (Dx− h),

con λ ∈ IRq, µ ∈ IRp.

Inoltre

Le condizioni di KKT per il problema (P-GEN) sono soddisfatte in un punto (x∗, λ∗, µ∗) ∈IRn × IRq × IRp se:

(i) Ax∗ ≥ b, Dx∗ = h (ammissibilita),

(ii) ∇xL(x∗, λ∗, µ∗) = ∇f(x∗)−AT λ∗ + DT µ∗ = 0 (stazionarieta),

(iii) λ∗ ≥ 0,

(iv) λ∗T (b−Ax∗) = 0 (complementarita).

Teorema 9.2.8 (Condizioni di Karush-Kuhn-Tucker per (P-GEN)) Sia x∗ un puntodi minimo locale del problema (P-GEN). Allora esistono vettori λ∗ ∈ Rq, µ∗ ∈ IRp tali cherisultino soddisfatte le condizioni seguenti:

(i) ∇xL(x∗, λ∗, µ∗) = 0,

(ii) λ∗ ≥ 0,

(iii) λ∗i (bi − aTi x∗) = 0 per i = 1, . . . , q.

Esempio 9.2.9 Consideriamo la seguente modifica del problema dell’Esempio 9.2.3.

max x22 +

12x1

x1 − x2 = 112x1 + x2 ≤ 1x1 ≥ 0

Determiniamo tutti punti di KKT. Mettiamo innanzitutto il problema nella forma (P-GEN).

min −x22 −

12x1

x1 − x2 = 1− 1

2x1 − x2 ≥ −1x1 ≥ 0

La funzione Lagrangiana per questo problema e:

L(x, λ) = −x22 −

12x1 + µ(−1 + x1 − x2) + λ1(−1 +

12x1 + x2)− λ2x1

Le condizioni di KKT sono:

127

Page 130: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

(i) (ammissibilita)x1 − x2 = 1

−12x1 − x2 ≥ −1

x1 ≥ 0

(ii) (stazionarieta)

−12

+ µ +12λ1 − λ2 = 0

−2x2 − µ + λ1 = 0

(iii) (non negativita)λ1, λ2 ≥ 0

(iv) (complementarita)

λ1(−1 +12x1 + x2) = 0

λ2x1 = 0

Determiniamo i punti di KKT esaminando tutti i casi possibili. Dalla condizione λ3x1 = 0si ottiene che

0 = λ2x1 =

x1 = 0(i)7−→ x2 = −1

(iv)27−→ λ1 = 0,(ii)27−→ µ = 2

(ii)37−→ λ2 = 3/2

λ2 = 0 imponiamo

λ1 = 0(ii)17−→ µ = 1/2,

(ii)27−→ x2 = −1/4,(iv)17−→ x1 = 3/4

λ1 > 0(iv)2+(i)7−→ x1 = 4/3, x2 = 1/3,

(ii)1+(ii)27−→ λ1 = 79 µ = 1

9 .

Quindi abbiamo trovato 3 punti di KKT

1. x1 = (0, − 1)T con moltiplicatori µ = 2 e λ = (0, 3/2)T con valore della funz. obiettivof = −1;

2. x2 = (3/4, − 1/4)T con moltiplicatori µ = 1/2 e λ = (0, 0)T con valore della funz.obiettivo f = −7/16;

3. x3 = (4/3, 1/3)T con moltiplicatori µ = 1/9 e λ = (7/9, 0)T con valore della funz.obiettivo f = −7/9;

Poiche l’insieme ammissibile e compatto, esiste un punto di minimo globale e si trova tra ipunti di KKT determinati sopra. Si tratta di scegliere quello con valore della funzione obiettivominore: si tratta del punto x1 = (0, − 1).

2

Possiamo inoltre scrivere le condizioni necessarie del secondo ordine. In particolare si ha:

Teorema 9.2.10 (Condizioni necessarie del 2o ordine) Sia x∗ un punto di minimo localedel problema (P-GEN). Allora esistono vettori λ∗ ∈ IRp e µ∗ ∈ IRq tali che risultino soddisfattele condizioni di KKT e inoltre risulta

zT∇2xxL(x∗, λ∗, µ∗)z ≥ 0 per ogni z : Dz = 0, AI(x∗)z ≥ 0 e ∇f(x∗)T z = 0

128

Page 131: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Consideriamo nuovamente l’esempio 9.2.9.

Esempio 9.2.11 Consideriamo i 3 punti di KKT precedentemente determinati e verifichiamose soddisfano le condizioni necessarie del secondo ordine. La funzione Lagrangiana per questoproblema e:

L(x, λ) = −x22 −

12x1 + µ(−1 + x1 − x2) + λ1(−1 +

12x1 + x2)− λ2x1

il cui hessiano e

∇2xxL(x, λ, µ) =

(0 00 −2

)= ∇2f(x).

Quindi per ogni z = (z1, z2)T risulta zT∇2xxL(x∗, λ∗, µ∗)z = −2z2

2 . Inoltre ∇f =( −1/2−2x2

).

Consideriamo il punto x1 = (0, − 1)T . Dobbiamo determinare i vettori z che definisconole direzioni ammissibili. In x1 e attivo il vincolo di disuguaglianza x1 ≥ 0, quindi le direzioniammissibili sono i vettori z ∈ R2 che risolvono il sistema

z1 − z2 = 0z1 ≥ 0,

ovvero tutti i vettori del tipo z = (t, t)T con t ≥ 0. Inoltre deve risultare

∇f(x1)T z = (t, t)T

( − 12

2

)= −1

2t + 2t = 0,

da cui si ottiene t = 0 e z = (0, 0)T . La condizione necessaria del secondo ordine quindi esoddisfatta in quanto −2t2 ≡ 0.

Consideriamo il punto x2 = (3/4, −1/4)T . In x2 non e attivo nessun vincolo di disuguaglianza,quindi le direzioni ammissibili sono i vettori z ∈ R2 che risolvono il sistema

z1 − z2 = 0

ovvero tutti i vettori del tipo z = (t, t)T . Inoltre deve risultare

∇f(x2)T z = (t, t)T

( − 12

12

)= −1

2t +

12t = 0.

La condizione necessaria del secondo ordine quindi NON e soddisfatta in quanto −2t2 ≥ 0 none verificata qualunque sia t. Il punto x2 non puo essere un minimo locale.

Consideriamo il punto x3 = (4/3, 1/3)T . In x3 e attivo il primo vincolo di disuguaglianza,quindi le direzioni ammissibili sono i vettori z ∈ R2 che risolvono il sistema

z1 − z2 = 0− 1

2z1 − z2 ≥ 0

ovvero tutti i vettori del tipo z = (t, t)T con t ≤ 0. Inoltre deve risultare

∇f(x3)T z = (t, t)T

( − 12

− 23

)= −1

2t− 2

3t = 0,

che e verificata per t = 0. Quindi l’unico vettore z = (0, 0)T e la condizione necessaria delsecondo ordine quindi e soddisfatta in quanto −2t2 ≡ 0 e verificata. 2

129

Page 132: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Capitolo 10

Teoria della ProgrammazioneLineare

In questo capitolo i risultati dei capitoli precedenti saranno applicati a problemi di Program-mazione Lineare (PL).Abbiamo gia visto che l’insieme ammissibile di un problema di programmazione lineare e unpoliedro e dunque un insieme convesso e che la PL e un problema sia concavo che convesso.Dunque, se ammette soluzione, il minimo globale (non necessariamente unico) si trova sullafrontiera dell’insieme ammissibile.

Ci proponiamo di studiare alcune proprieta dei poliedri che consentano di caratterizzarele soluzioni ottime di un problema di programmazione Lineare. Successivamente si deriva lateoria della dualita per la PL a partire dalle condizioni di KKT.

10.1 Caratterizzazione dei vertici di un poliedro

Passiamo ora a caratterizzare in modo algebrico i vertici di un poliedro in forma Ax ≥ b.

Teorema 10.1.1 (Vertici di un poliedro) Sia dato un poliedro S = x ∈ Rn : Ax ≥ b.Un punto x ∈ S e un vertice se e solo se esistono n righe aT

i della matrice A corrispondenti aivincoli attivi in x linearmente indipendenti, cioe se e solo se risulta

rangoAI(x) = n

dove AI(x) la matrice |I(x)| × n costituita dalle righe di A con indice in I(x)

Dimostrazione. Dimostriamo la parte necessaria, ovvero che se x e un vertice, allora rango(ai i ∈I(x)) = n. Per assurdo supponiamo che il rango sia p < n. Il sistema omogeneo

aTi d = 0 i ∈ I(x)

in I(x) equazioni e n incognite, ha rango inferiore a n e dunque ammette una soluzione nonnulla. Dal teorema 7.6.3, sappiamo che d e una particolare direzione ammissibile; notiamo

130

Page 133: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

inoltre che, poiche anche −d e soluzione del sistema omogeneo, anche −d e una direzioneammissibile. Allora possiamo considerare i due punti

y = x + tdz = x + t(−d)

e sappiamo che per valori di t sufficientemente piccoli sono entrambi ammissibili1. Osserviamopero che possiamo scrivere

x =12y +

12z

ovvero x puo essere ottenuto come combinazione convessa con coefficiente β = 12 di due punti

ammissibili e distinti. Ma questo contraddice che x sia un vertice.

Dimostriamo la parte sufficiente, ovvero che se rangoai i ∈ I(x) = n allora x e un vertice.Osserviamo preliminarmente che la condizione rango(ai i ∈ I(x)) = n implica che x sial’unica soluzione del sistema

aTi x = bi per ogni i ∈ I(x).

Procediamo ora per assurdo e supponiamo che il punto x non sia un vertice. Allora non puoessere l’unico punto ammissibile e in particolare esisteranno due punti ammissibili v e w distintida x e tali che x possa essere espresso come combinazione convessa di v e w ovvero

x = (1− β)v + βw con β ∈ (0, 1).

Per ogni i ∈ I(x) possiamo scrivere

bi = aTi x = (1− β)aT

i v + βaTi w

Osserviamo che deve essere necessariamente aTi v = bi e aT

i w = bi per ogni i ∈ I(x). Se cosı nonfosse, e aT

i v > bi e/o aTi w > bi si avrebbe l’assurdo

bi = aTi x = (1− β)aT

i v + βaTi w > (1− β)bi + βbi = bi.

Ma allora otteniamo che sia v che w sono soluzioni del sistema

aTi x = bi per ogni i ∈ I(x).

Ma questo contraddice che x sia l’unica soluzione.

Possiamo enunciare alcuni corollari che discendono direttamente dal teorema appena di-mostrato.

Corollario 10.1.2 Sia dato un poliedro S = x ∈ IRn : Ax ≥ b. Se la matrice A ha unnumero di righe linearmente indipendenti minore di n, allora S non ha vertici.In particolare se m < n allora S non ha vertici.

Corollario 10.1.3 Un poliedro S = x ∈ IRn : Ax ≥ b ha un numero finito di vertici, parial massimo a (

mn

)=

m!n!(m− n)!

1per trovare il valore di t basta applicare la formula (7.5) alle due direzioni d e −d.

131

Page 134: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Esempio 10.1.4 Sia dato il poliedro dell’Esempio 7.6.4

3x1 − 2x2 ≥ −302x1 − x2 ≥ −12x1 ≥ 0 x2 ≥ 0

che possiamo scrivere in forma matriciale

−3 −22 −11 00 1

(x1

x2

)≥

−30−1200

.

x1

x2

Figura 10.1: Poliedro Esempio 10.1.4.

Il poliedro e rappresentato in figura 10.1 e i vertici sono indicati con un puntino rosso.Verifichiamo che la condizione espressa dal Teorema 10.1.1 e verificata. I tre vertici sono i punti

v1 =(

012

)v2 =

(00

)v3 =

(6

24

).

In v1 sono attivi i vincoli 2x1−x2 ≥ −12, x1 ≥ 0, ovvero I(v1) = 2, 3. Consideriamo le righedella matrice A corrispondenti (

2 −11 0

)

che si verifica sono linearmente indipendenti.

132

Page 135: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

In v2 sono attivi i vincoli 3x1 − 2x2 ≥ −30, x1 ≥ 0, ovvero I(v1) = 1, 3. Consideriamo lerighe della matrice A corrispondenti (

3 −21 0

)

che si verifica sono linearmente indipendenti.In v3 sono attivi i vincoli 2x1−x2 ≥ −12, 3x1−2x2 ≥ −30, ovvero I(v1) = 1, 2. Consideriamole righe della matrice A corrispondenti

(3 −22 −1

)

che si verifica sono linearmente indipendenti. 2

Si noti che il teorema 10.1.1 non esclude che in un vertice siano attivi piu di n vincoli.

Esempio 10.1.5 Consideriamo il poliedro dell’Esempio 10.1.4 con l’aggiunta di un vincolox2 ≤ 24, ovvero:

3x1 − 2x2 ≥ −302x1 − x2 ≥ −12−x2 ≥ −24x1 ≥ 0,x2 ≥ 0

Si verifica graficamente che il punto v3 =(

624

)e ancora un vertice. Osserviamo che in v3

sono ora attivi tre vincoli I(v3) = 1, 2, 3 e le righe della matrice A corrispondenti sono:

3 −22 −10 −1

Si verifica facilmente che il rango di questa matrice e 2.

Esempio 10.1.6 Sia dato il poliedro

x1 + 2x2 + x3 ≤ 33x1 − x2 + x3 ≤ 22x1 + x2 + x3 ≤ 34x1 + x2 + 2x3 ≤ 4

elenchiamo i vertici. In forma matriciale possiamo scrivere

−1 −2 −3−3 1 −1−2 −1 −1−4 −1 −2

x1

x2

x3

−3−2−3−4

.

Si ha n = 3 e m = 4. Il numero massimo di vertici e quindi m!n!(m−n)! = 4!

3! = 4 e si ottengonoconsiderando tutte le possibili combinazioni di tre righe della matrice A. consideriamo quindii casi possibili:

133

Page 136: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

1. I = 1, 2, 3; il sistema aTi x = bi con i ∈ I ha rango pari a 3 e l’unica soluzione e il punto

(1, 1, 0)T che pero non risulta ammissibile, perche risulta (−4 −1 −2)(1, 1, 0)T < −4;

2. I = 1, 2, 4 il rango della matrice e 2 < n, quindi non puo essere un vertice;

3. I = 2, 3, 4 il sistema ammette l’unica soluzione (3, 2 ,−5) che e ammissibile e quindi eun vertice;

4. I = 1, 3, 4 il sistema ammette l’unica soluzione (2, 2,−3) che e ammissibile e quindi eun vertice.

Tuttavia bisogna porre attenzione al fatto che esistono poliedri che non contengono vertici. Unesempio e’ dato nella figura 10.2 in cui il poliedro e la parte di piano contenuta tra due retteparallele r1 e r2.

1

r2

2

x

r

1

x

Figura 10.2: Poliedro senza vertici.

Vedremo nel prossimo paragrafo che il caso in cui il poliedro non ha vertici e l’unico casoin cui il problema di PL corrispondente puo avere soluzione ottima (ovviamente sulla frontiera)senza che nessuna soluzione coincida con un vertice.

Risulta quindi interessante capire quando un poliedro puo non ammettere vertice. A talscopo introduciamo la seguente definizione

Definizione 10.1.7 (Retta) Sia S un poliedro. Il poliedro contiene una retta se esiste unpunto x ∈ S e una direzione d ∈ IRn tale che

x + td ∈ S per ogni t ∈ IR.

La caratterizzazione dei casi in cui un poliedro non ammette vertici e riportata nel seguenterisultato, di cui omettiamo la prova.

134

Page 137: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Teorema 10.1.8 Un poliedro P non vuoto non ha vertici se e solo se contiene una retta.

E evidente che il poliedro nella Figura 10.2 contiene rette (in particolare contiene, peresempio, r1, r2) e quindi, non contiene vertici.

Osservazione 10.1.9 Nel caso le variabili del problema di PL siano vincolate ad essere tuttenon negative ovvero tra i vincoli compaiono x ≥ 0, questo implica che il poliedro ammissibile einteramente contenuta nel primo ortante e quindi non puo contenere rette. Quindi, in base alteorema precedente, tutti i poliedri contenuti nel primo ortante o sono vuoti o hanno dei vertici.

Notiamo che questa e sicuramente la classe di poliedri che piu frequentemente si incontra nelleapplicazioni.Possiamo dunque affermare:

Se un poliedroS ⊆ x ∈ IRn : x ≥ 0

e non vuoto, ammette sempre almeno un vertice.

Abbiamo osservato nel Capitolo 3 che e possibile passare da una rappresentazione di unpoliedro ad altre equivalenti. In particolare ci interessa qui notare che un poliedro del tipo

S = x ∈ IRn : Ax ≥ b, x ≥ 0

(con A matrice m× n) puo essere trasformato in forma standard con l’aggiunta di variabili disurplus come segue

S′ =(

xs

)∈ IRn+m : Ax− s = b, x ≥ 0, s ≥ 0

.

Possiamo mettere in relazione i vertici di S con i vertici di S′. Vale infatti il seguente risultato.

Teorema 10.1.10 x e un vertice del poliedro S = x ∈ IRn : Ax ≥ b, x ≥ 0 se e solo se(xs

)con s = Ax− b e un vertice di S′ =

(xs

)∈ IRn+m : Ax− s = b, x ≥ 0, s ≥ 0

.

Dimostrazione. Osserviamo preliminarmente che x ∈ S se e solo se(

xAx− b

)∈ S′. Infatti

per definizione Ax− b = s ≥ 0.

Supponiamo che x sia un vertice di S ma per assurdo(

xs

)non sia vertice di S′. Dunque

esistono altri due punti distinti(

x1

s1

)∈ S′ e

(x2

s2

)∈ S′ tali che

(xs

)= (1− β)

(x1

s1

)+ β

(x2

s2

)∈ S′ per qualche β ∈ (0, 1)

eAx1 − s1 = b, Ax2 − s2 = b, x1 ≥ 0, s1 ≥ 0, x2 ≥ 0, s2 ≥ 0.

135

Page 138: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Dunque x1 ∈ S e x2 ∈ S. Inoltre x1 6= x2 altrimenti s1 = Ax1 − b = Ax2 − b = s2 e dunque

i due punti(

x1

s1

)∈ S′ e

(x2

s2

)∈ S′ non sarebbero distinti. Ma allora risulta anche

x = (1− β)x1 + βx2 che contraddice l’ipotesi che x sia un vertice.

Supponiamo ora(

xAx− b

)∈ S′ sia un vertice di S′, ma, per assurdo, x NON sia vertice di

S. Allora esistono due punti x1, x2 ∈ S tali che

x = (1− β)x1 + βx2 per qualche β ∈ (0, 1).

Siano s1 = Ax1 − b ≥ 0 e s2 = Ax2 − b ≥ 0, dunque(

x1

s1

)∈ S′ e

(x2

s2

)∈ S′. Inoltre si ha

(1− β)s1 + βs2 = (1− β)(Ax1 − b) + β(Ax2 − b) = A((1− β)x1 + βx2

)− b = Ax− b = s

che contraddice l’ipotesi che (x, s)T sia un vertice di S′.

10.2 Il teorema fondamentale della PL

Consideriamo ora il problema di Programmazione Lineare

minx∈S

cT x

con S poliedro. E da notare che il caso di problemi con soli vincoli di uguaglianza del tipo

min cT xAx = b

con A matrice m× n e di scarsa rilevanza pratica in quanto e possibile dimostrare che se esisteuna soluzione ammissibile e il problema non e illimitato allora tutte le soluzioni ammissibili sonoottime. Quindi il problema con soli vincoli di uguaglianza, si riduce essenzialmente allo studiodi sistemi di equazioni lineari.In particolare vale il seguente risultato.

Teorema 10.2.1 Sia dato il problema di PL

min cT xAx = b

con A matrice m× n. Se esiste un punto x tale che Ax = b allora

1. il problema e illimitato inferiormente (in questo caso esiste un direzione d ammissibiletale che cT d < 0)oppure

2. tutte le soluzioni ammissibili sono ottime (in questo caso per ogni direzione d ammissibilerisulta cT d = 0)

136

Page 139: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Dimostrazione. Se x e soluzione unica del sistema Ax = b, allora banalmente e anche ottima(e non esiste alcuna direzione d 6= ammissibile perche il sistema Ad = 0 non ammette soluzionenon nulla). Supponiamo quindi che x non sia l’unico punto ammissibile, allora per ogni d taleche Ad = 0, le direzione ±d sono ammissibili e risulta A(x± td) = b per ogni t > 0.Se per ogni d ammissibile risulta cT d = 0 allora possiamo scrivere

cT (x + td) = cT x,

cioe tutte le soluzioni ammissibili hanno lo stesso valore della funzione obiettivo.Se invece esiste una d ammissibile per cui cT d 6= 0, possiamo senza perdere di generalita supporreche sia cT d < 0 (altrimenti sarebbe sufficiente considerare la direzione −d). La direzione d e didiscesa e possiamo scrivere

cT (x + td) = cT x + tcT d = cT x− t|cT d|.

Al tendere di t ad ∞ di ha cT (x + td) → −∞.Nel seguito quindi faremo riferimento solo a problemi di Programmazione Lineare con vincolidi disuguaglianza e senza perdere di generalita considereremo solo problemi del tipo

min cT xAx ≥ b

(10.1)

Si tratta quindi di stabilire se un problema di PL ammette soluzione e come caratterizzarela soluzione ottima.Abbiamo gia dimostrato con i Teoremi 5.3.5 e 5.3.6 che se esiste una soluzione ottima, allorasi trova sulla frontiera del poliedro. Il Teorema Fondamentale della Programmazione Linearecaratterizza in modo piu completo i problemi di Programmazione Lineare.

Teorema 10.2.2 (Teorema Fondamentale della Programmazione Lineare) Sia dato unproblema di PL. Allora una e una sola delle seguenti affermazioni e vera:

1. La regione ammissibile e vuota;

2. Il problema e illimitato;

3. Il problema ammette soluzioni ottime.

Se il problema ammette soluzioni ottime e il poliedro che definisce la regione ammissibile ha deivertici, allora almeno una soluzione ottima cade su un vertice.

Nella dimostrazione del teorema fondamentale della PL, faremo riferimento a problemi di PLin forma (10.1) ed useremo l’ipotesi (solo semplificativa della dimostrazione) che il poliedro noncontenga rette, che, in base al Teorema 10.1.8, ci assicura l’esistenza di almeno un vertice delpoliedro.

Teorema 10.2.3 (Teorema fondamentale della PL) Sia dato il problema di PL in forma(10.1). Supponiamo che il poliedro S = x ∈ Rn : Ax ≥ b non contenga rette. Allora e verauna e una sola delle delle seguenti tre affermazioni.

(a) Il problema non ammette soluzioni ammissibili (la regione ammissibile e vuota).

(b) Il problema e illimitato inferiormente sulla regione ammissibile.

137

Page 140: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

(c) Esiste almeno una soluzione ottima e almeno una di esse e un vertice del poliedro.

Dimostrazione. Ovviamente le tre affermazioni dell’enunciato sono incompatibili, nelsenso che se e vera una, non possono essere vere le altre due. Quindi, per dimostrare il teorema,bastera mostrare che non puo succedere che non si verifichi nessuna delle tre. Mostreremoquesto facendo vedere che se non sono vere ne (a) ne (b), allora deve essere vera la (c).

Supponiamo quindi che la regione ammissibile sia non vuota e che il problema non siaillimitato inferiormente. La dimostrazione e divisa in due parti. Nella prima parte dimostriamola seguente affermazione

Per ogni punto x ∈ S, esiste un vertice vk tale che cT vk ≤ cT x.

La seconda parte utilizza invece risultati gia noti. In particolare, dal Teorema 10.1.3, sappiamoche i vertici del poliedro sono in numero finito; li indichiamo con v1, . . . vp. Quindi tra tuttii vertici vi possiamo scegliere quello per cui il valore della funzione obiettivo e minore, cheindichiamo con v∗. Risulta quindi cT v∗ ≤ cT vi per ogni vertice vi e quindi in particolarepossiamo scrivere anche per il vertice vk determinato nel prima parte

cT v∗ ≤ cT vk

Mettendo insieme le due affermazioni in rosso, possiamo finalmente scrivere

cT v∗ ≤ cT vk ≤ cT x, per ogni x ∈ S

il che prova che l’affermazione (c) e vera.Si tratta quindi di dimostrare che esiste un vertice v∗ tale che cT v∗ ≤ cT x per ogni x ammissibile.Se il poliedro contiene solo un punto v∗ allora v∗ e ovviamente la soluzione ottima ed e ancheun vertice.Supponiamo allora che il poliedro contenga piu di un punto (e quindi infiniti). Sia x unasoluzione ammissibile che non sia un vertice, dimostriamo che e possibile trovare un vertice vtale che cT v ≤ cT x. La dimostrazione e costruttiva. Poiche x non e un vertice, per il Teorema10.1.1, il sistema

aTi d = 0, i ∈ I(x)

non ha rango massimo e quindi ammette una soluzione d non nulla. Dunque, per il Corollario7.6.5, ±d sono direzioni ammissibili e i punti x + td con t ∈ [0, t+max] e x − td con t ∈ [0, t−max]sono ammissibili. Si dimostra ora che mint+max, t

−max < ∞, cioe che lo spostamento lungo

almeno una delle due direzioni ±d e finito.A questo scopo, osserviamo che la direzione d soddisfa una delle due condizioni:

(i) cT d = 0;

(ii) cT d 6= 0.

Se cT d = 0 ovviamente anche cT (−d) = 0. Poiche il poliedro non contiene rette deve risultareche almeno uno tra t+max e t−max e < ∞. Senza perdita di generalita possiamo assumere che siat+max < ∞.Se invece cT d 6= 0, possiamo assumere, senza perdere di generalita, che cT d < 0 (altrimentipotremmo scegliere la direzione −d che e ammissibile e tale che cT (−d) < 0). La direzione drisulta dunque essere una direzione di discesa (vedi paragrafo 6.2) dunque per ogni t > 0 risulta

cT (x + td) = cT x + tcT d = cT x− t|cT d| < cT x per ogni t > 0.

138

Page 141: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Il punto x + td e ammissibile per 0 ≤ t ≤ t+max, Supponiamo che t possa →∞. Si ottiene

limt→∞

cT (x + td) = cT x− |cT d| limt→∞

t = −∞.

Poiche per ipotesi il problema non e illimitato, questo non si puo verificare, dunque t 6→ ∞e necessariamente t+max < ∞.In entrambi i casi otteniamo che x + td e ammissibile per 0 ≤ t ≤ t+max < ∞.Definiamo il punto

y = x + t+maxd;

ricordando che cT d ≤ 0 risulta

cT y = cT x− t+max|cT d| ≤ cT x.

Verifichiamo quali vincoli sono attivi in y. Ricordando che per i ∈ I(x) risulta aTi d = 0,

otteniamoaT

i y = aTi (x + t+maxd) = aT

i x = bi i ∈ I(x)

Quindi I(x) ⊆ I(y). Facciamo ora vedere che I(x) ⊂ I(y), ovvero che in y e attivo almeno unvincolo in piu rispetto ad x. Consideriamo quindi i vincoli NON attivi in x e si indichi conjmax /∈ I(x) un indice per cui:

t+max =aT

jmaxx− bjmax

|aTjmax

d|(cioe un indice per cui e raggiunto il minimo nella formula (7.6)). Per definizione risulta chel’indice jmax /∈ I(x) e aT

jmaxd < 0. Possiamo allora scrivere:

aTjmax

x = aTjmax

x+ t+maxaTjmax

d = aTjmax

x− t+max|aTjmax

d| = aTjmax

x− aTjmax

x− bjmax

|aTjmax

d| |aTjmax

d| = bjmax

Quindi abbiamo che I(y) ⊇ I(x) ∪ jmax, cioe in y e attivo almeno un vincolo che non eraattivo in x. Osserviamo che potrebbe esistere piu di un indice per cui e raggiunto il minimonella formula (7.6). In questo caso avrei attivi in y tanti vincoli in piu rispetto a x quanti sonotali indici. Abbiamo quindi dimostrato che, a partire da un qualunque punto ammissibile x chenon e un vertice, possiamo determinare un nuovo punto y con valore della funzione obiettivonon superiore e con un numero di vincoli attivi linearmente indipendenti maggiore rispetto ax. Se y non e un vertice, possiamo ripetere lo stesso procedimento fino a quando non troviamoun punto in cui sono attivi n vincoli linearmente indipendenti, cioe un vertice. Quindi abbiamodimostrato l’affermazione che ci serviva:

Per ogni punto x ∈ S, esiste un vertice v tale che cT v ≤ cT x.

La dimostrazione e conclusa. 2

Illustriamo con un esempio la tecnica costruttiva utilizzata nella dimostrazione del teoremaprecedente.

Esempio 10.2.4 Consideriamo il problema di PL

min 4x1 − x2

3x1 − 2x2 ≥ −302x1 − x2 ≥ −12x1 ≥ 0,x2 ≥ 0

139

Page 142: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

x1

x2

v1

v2

v3

x

13

9

d

3 t+max

Figura 10.3: Figura relativa all’Esempio 10.2.4.

il cui poliedro e riportato in Figura 10.3.Il poliedro ha tre vertici che abbiamo gia calcolato nell’Esempio 10.1.4, che indichiamo con

v1, v2, v3 (puntini rossi in figura). Sia x = (3, 0) un punto ammissibile (puntino blu in figura).Si verifica facilmente che x non e un vertice. Infatti I(x) = 4 (e attivo solo il vincolo x2 ≥ 0)e risulta ovviamente rangoai i ∈ I(x) = 1 < n = 2. Consideriamo allora il sistema omogeneo

aT4 d = 0 ovvero d2 = 0.

Quindi una qualunque direzione del tipo (d1, 0)T con d1 6= 0 e ammissibile in x. Sia d = (−1, 0)una possibile soluzione (indicata in azzurro in Figura 10.3). Risulta cT d = 4d1 = −4 < 0 e siconsideri il punto

x + td = (3, 0)T + t(−1, 0)T = (3− t, 0)T .

Calcoliamo il valore di

t+max = min

9 + 303

,6 + 12

2,31

= min13, 9, 3 = 3.

Si osservi in Figura 10.3 che i valori 13,9,3 che compaiono dentro il min per il calcolo di t+max

corrispondono rispettivamente al valore del passo t per cui il punto x + td “sfonda” rispettiva-mente il primo, il secondo e il terzo vincolo. Il valore di t+max = 3 corrisponde al massimo valoredel passo t per cui il punto rimane ammissibile. Sia allora

y = x + t+maxd = (0, 0)T

Risulta I(y) = 3, 4 = I(x) ∪ 3. Inoltre la riga a3 e linearmente indipendente da a4. Sitratta del vertice v1.

140

Page 143: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

10.3 Problemi di PL in forma standard

Consideriamo in questo paragrafo i problemi di PL in forma standard, ovvero del tipo:

min cT xAx = bx ≥ 0.

(10.2)

Possiamo caratterizzare i vertici di un poliedro in forma standard utilizzando la strutturaparticolare e osservando che in punto ammissibile x risulta

I(x) = 1, . . . ,m ∪ i : xi = 0.Vale il seguente teorema che si riporta senza dimostrazione.

Teorema 10.3.1 (Vertici di un poliedro in forma standard) Sia dato un poliedro S =x ∈ IRn : Ax = b, x ≥ 0. Un punto x ∈ S e un vertice se e solo se le colonne della matriceA corrispondenti a componenti positive di x, sono linearmente indipendenti.

Osserviamo innanzitutto che, per l’osservazione 10.1.9, risulta vero il seguente risultato.

Corollario 10.3.2 Sia dato un poliedro del tipo S = x ∈ IRn : Ax = b, x ≥ 0. Se il poliedronon e vuoto, ammette sempre un vertice.

Nel caso di problemi di PL in forma standard, ricordando che in questo caso il poliedroammissibile non contiene rette, possiamo enunciare il teorema fondamentale come segue:

Teorema 10.3.3 (Teorema fondamentale della PL) Sia dato il problema di PL in forma

min cT xAx = bx ≥ 0.

Allora e vera una e una sola delle delle seguenti tre affermazioni.

(a) Il problema non ammette soluzioni ammissibili (la regione ammissibile e vuota).

(b) Il problema e illimitato inferiormente sulla regione ammissibile.

(c) Esiste almeno una soluzione ottima e almeno una di esse e un vertice del poliedro.

Abbiamo gia osservato che e sempre possibile scrivere un poliedro nella forma standardaggiungendo eventuali variabili di slack. In particolare dato un poliedro P

Ax ≥ bx ≥ 0

e posisbile metterlo in forma standard introducendo le variabili le m variabili s ottenendo ilpoliedro PS

Ax− s = bx, s ≥ 0

E possibile dimostrare che esiste una corrispondenza biunivoca tra i vertici di P e i vertici diPS [2].

Teorema 10.3.4 Un vettore x ∈ Rn e vertice del poliedro P se e solo se il vettore (x, s) ∈Rn ×Rm con s = Ax− b e vertice del poliedro PS.

141

Page 144: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

10.4 Cenni sul metodo del simplesso per la ProgrammazioneLineare

Il Metodo del Simplesso e certamente l’algoritmo di ottimizzazione piu famoso e piu utilizzatonelle applicazioni. Proposto nel 1947 da G.B.Dantzig, ha subito, negli oltre 50 anni di vita, nu-merosi miglioramenti che, pur non modificando in modo sostanziale la semplice struttura logicaideata da Dantzig, ne hanno certamente migliorato l’efficienza computazionale e la facilita diuso. Esistono oggi numerosi “package” commerciali che implementano il Metodo del Simplessoe consentono la soluzione di problemi di Programmazione Lineare con milioni di variabili.

Lo scopo di questo capitolo e quello di fornire una descrizione della struttura logica delMetodo senza entrare nei dettagli implementativi delle varie operazioni elementari (inversioni dimatrici sparse, gestione dei passi degeneri, etc.) delle quali il Metodo si compone. Tali questionisono molto rilevanti se si vuole realizzare un algoritmo efficiente e robusto ma possono esseretrascurate se si vuole semplicemnete sesere in grado di interpretare l’output di un qualunquesoftware che implementa tale metodo (vedi anche il capitolo 15).

Il Metodo del Simplesso si applica a problemi di Programmazione Lineare in forma standarddel tipo:

min cT x (10.3)Ax = b

x ≥ 0n

con b ≥ 0m. Non vi e perdita di generalita nell’assumere che il problema sia in forma standarde con termini noti non negativi.L’obiettivo del metodo del simplesso e quello di individuare una soluzione di base ammissibileottima del problema (10.3) ovvero un vertice ottimo del poliedro

P = x ∈ IRn : Ax = b, x ≥ 0n.

L’idea di cercare la soluzione ottima in un vertice della regione ammissibile, invece, trovagiustificazione nei risultati dei capitoli precedenti e, in particolare, nel Teorema 10.2.3.

Il Metodo del Simplesso e caratterizzato dalle seguenti operazioni principali:

1. Individuazione di una prima base ammissibile B (se esiste).

2. Verifica dell’ottimalita della soluzione di base ammissibile corrente.

3. Verifica dell’illimitatezza del problema.

4. Costruzione di una nuova base ammissibile.

Descriveremo brevemente una implementazione del Metodo del Simplesso, detta implemen-tazione in due fasi. In tale implementazione, la procedura che consente di verificare se ilproblema di PL e ammissibile e, in caso affermativo, individua la prima base ammissibile vienedetta Fase I del Metodo del Simplesso. Se il problema non possiede una soluzione di baseammissibile allora il poliedro P e vuoto ed il problema e inammissibile. In tal caso la Fase Itermina segnalando l’inammissibilita del problema.

142

Page 145: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

La Fase II del Metodo del Simplesso e caratterizzata dalle operazioni (2), (3) e (4). In talefase, a partire da una SBA, l’algoritmo costruisce una sequenza di soluzioni di base ammissibili,verificando, ad ogni iterazione, l’ottimalita della SBA corrente e l’illimitatezza del problema.Sotto opportune condizioni, l’algoritmo converge in un numero finito di iterazioni alla soluzioneottima del problema (10.3).

Alla base della struttura della Fase II, ci sono le operazioni di verifica dell’ottimalita diuna SBA, di verifica dell’illimitatezza del problema (10.3) e di costruzione di una nuova SBA.Nel seguito descriveremo solo il criterio di ottimalita usando nel simplesso perche costitusce uninformazione contenuta negli output dei software commerciali.

10.4.1 Soluzione di Base Ammissbile (SBA) e costi ridotti

Una sottomatrice B (m × m) di A si dice matrice di base di A se e non singolare. Datauna matrice di base B, e sempre possibile, eventualmente riordinando le colonne, esprimerela matrice A nella forma A = (B, N) dove N e la matrice definita dalle colonne fuori base.Analogamente si possono partizionare i vettori

x =(

xB

xN

), c =

(cB

cN

)

le variabili xB si dicono variabili di base e le variabili xN variabili fuori base. Quindi si puoriscrivere il problema in forma standard come segue:

min cTBxB + cT

NxN

BxB + NxN = bxB ≥ 0,xN ≥ 0

Poiche B e non singolare per ipotesi, possiamo esprimere le variabili di base xB in funzionedelle variabili xN e si ottiene

xB = B−1b−B−1NxN (10.4)

e sostituendo si puo scrivere:

min cTBB−1b + (cT

N − cTBB−1N)xN

B−1b−B−1NxN ≥ 0m,xN ≥ 0

(10.5)

Questo problema nelle sole variabili xN e detto problema ridotto ed e ottenuto per proiezionedelle variabili xB nel sottospazio delle variabili xN .Data una base B, una soluzione del tipo xB = B−1b, xN = 0 si dice Soluzione Ammissibile diBase (SBA) se e solo se B−1b ≥ 0.

Le SBA ed i vertici di un poliedro in forma standard sono in stretta relazione. Vale infatti ilseguente teorema.

Teorema 10.4.1 [2] Dato un poliedro in forma standard, un punto x e un vertice se e solo see una SBA.

143

Page 146: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Il problema (10.5), nelle sole variabili xN , e equivalente al problema (10.3). In particolare,risulta ovvio verificare quanto segue.

Un vettore x =(

xB

xN

)e una soluzione ammissibile di (10.3) se e solo se il vettore xN e

una soluzione ammissibile di (10.5) e xB = B−1b − B−1NxN . Inoltre, il valore della funzioneobiettivo del problema (10.3) calcolata in x e uguale al valore della funzione obiettivo del

problema ridotto calcolata in xN . Di conseguenza, se x =(

B−1b0n−m

)e la soluzione di base

ammissibile associata alla matrice B, abbiamo che xN = 0n−m e la soluzione corrispondentedel problema ridotto e che cT B−1b e il valore della funzione obiettivo per entrambi i problemi.

I coefficienti di xN nella funzione obiettivo del problema ridotto sono le componenti delvettore γ definito da:

γT = cT

N − cT

BB−1N

che e detto vettore dei coefficienti ridotti.

Le considerazioni appena svolte ci consentono di formulare un criterio sufficiente di otti-malita per una soluzione di base ammissibile.

Teorema 10.4.2 (Criterio di Ottimalita) Sia x =(

B−1b0n−m

), una soluzione di base am-

missibile per il problema (10.3). Se il vettore dei coefficienti ridotti e non negativo, ovverose:

cT

N − cT

BB−1N ≥ 0T

n−m,

allora la soluzione di base ammissibile x =(

B−1b0n−m

)e ottima per il problema (10.3).

Dimostrazione. Dobbiamo dimostrare che, se il vettore dei coefficienti ridotti e non negativo,risulta

cT x ≥ cT x

per una qualunque soluzione ammissibile x. Calcoliamo cT x = cT

BxB + cT

N xN = cT

BxB =cT

BB−1b. Una qualunque soluzione ammissibile x del problema (10.3) puo essere suddivisa in(xB

xN

). Allora risulta che cT x = cT

BxB + cT

NxN e ricordando l’espressione (10.4) di xB

cT x = cT

BB−1b + γT xN

D’altra parte, per ipotesi γ ≥ 0 e x e ammissibile e quindi, in particolare, xN ≥ 0, quindi si ha:

cT x ≥ cT

BB−1b = cT x.

Ma la precedente relazione mostra che la soluzione di base ammissibile x associata alla matricedi base B e ottima per il problema (10.3). 2

144

Page 147: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Esercizio 10.4.3 Sia dato il problema di PL in forma standard

min x1 + 3x2 + x3

x1 + 5x2 + 2x3 = 62x1 + x2 − x4 = 2x1 ≥ 0, x2 ≥ 0, x3 ≥ 0 x4 ≥ 0

Le soluzioni di Base ammissibili (SBA) sono

1. x1 = x2 = 0 (non ammissibile)

2. x1 = x3 = 0 (non ammissibile)

3. x1 = x4 = 0 (non ammissibile)

4. x2 = x3 = 0, x1 = 6, x4 = 10 (SBA)

5. x2 = x4 = 0, x1 = 1, x3 = 52 (SBA)

6. x3 = x4 = 0, x1 = 49 x2 = 10

9 (SBA).

Consideriamo la SBA

60010

; le variabili di base xB =

(x1

x4

)=

(610

), le variabili fuori

base xN =(

x2

x3

)= 0; la matrice di base B =

(1 02 −1

). I coefficienti di costo ridotto

γT = cTN − cT

BB−1N richiede il calcolo dell’inversa B−1 =(

1 02 −1

). Dunque sostituendo si

ottiene

γT = ( 3 1 )− ( 1 0 )(

1 02 −1

) (5 21 0

)= (−2 −1 ) 6≥ 0,

dunque non e possibile concludere nulla sulla ottimlita della soluzione.

145

Page 148: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Capitolo 11

Condizioni di ottimo per la PL eteoria della dualita

In questo capitolo utilizzeremo le condizioni di KKT del capitolo 9 per derivare le condizioninecessarie e sufficienti di ottimo per la programmazione lineare.

11.1 Le condizioni di ottimalita nella ProgrammazioneLineare

Nel caso in cui la funzione obiettivo sia lineare ovvero del tipo f(x) = cT x, i problemi (P-POL),(P-ST), (P-GEN) analizzati nel paragrafo 7.7 sono problemi di Programmazione Lineare. Poichesi tratta di problemi convessi le condizioni di KKT sono necessarie e sufficienti.

Consideriamo inizialmente il problema di PL

min cT x

Ax ≥ b(PL)

La funzione Lagrangiana si scrive

L(x, λ) = cT x + λT (b−Ax)

e le condizioni di KKT sono le seguenti.

Teorema 11.1.1 (Condizioni di KKT per il problema (PL)) Un punto x∗ e minimo glob-ale del problema di Programmazione Lineare (PL) se e solo se esiste λ∗ ∈ IRm tale che valganole condizioni:

(i) Ax∗ ≥ b,

(ii) c = AT λ∗,

(iii) λ∗ ≥ 0,

146

Page 149: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

(iv) λ∗T (b−Ax∗) = 0.

Osserviamo che la (i) e una condizione nelle sole varibaili x, le (ii) e (iii) sono condizioni nei solimoltiplicatori λ. La condizione di complementarita (iv) del Teorema 11.1.1 puo essere scrittain modo equivalente utilizzando la condizione (ii). In particolare possiamo scrivere (ricordandoche (AT λ∗)T = λ∗T A)

0(iv)= λ∗T (b−Ax∗) = λ∗T b− λ∗T Ax∗

(ii)= λ∗T b− x∗T c.

Possiamo quindi scrivere le condizioni necessarie e sufficienti di KKT in una forma equivalentee piu diffusamente utilizzata come condizioni di ottimo per la Programmazione Lineare.

(Condizioni necessarie e sufficienti di ottimo per (PL))

Un punto x∗ e minimo globale del problema di Programmazione Lineare

min cT x

Ax ≥ b(PL)

se e solo se esiste λ∗ ∈ IRm tale che valgano le condizioni:

(i) Ax∗ ≥ b,

(ii) c = AT λ∗,

(iii) λ∗ ≥ 0,

(iv) bT λ∗ = cT x∗.

Possiamo fare qualche ulteriore considerazione. Le condizioni (ii) e (iii) esprimono il fattoche λ∗ ∈ IRm deve essere ammissibile rispetto ai vincoli lineari

AT λ = cλ ≥ 0 (11.1)

Il sistema (11.1) rappresenta un poliedro in forma standard nello spazio IRm.

Consideriamo allora un x ∈ IRn soluzione ammissibile del problema (PL), e un λ ∈ IRm ap-partenente al poliedro definito da (11.1), ovvero una coppia (x, λ) che soddisfa

Ax ≥ b, λ ≥ 0, AT λ = c. (11.2)

Osservando che λT (b−Ax) =∑m

i=1 λi(bi − aTi x) ≤ 0, possiamo facilmente scrivere

cT x(λ≥0, b≤Ax)

≥ cT x + λT (b−Ax)

= bT λ + (cT − λT A)x

(AT λ=c)= bT λ.

147

Page 150: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Per ogni coppia (x, λ) che soddisfa Ax ≥ b, λ ≥ 0, AT λ = c risulta

cT x ≥ bT λ.

Si tratta di un risultato molto significativo, che riprenderemo piu avanti. Notiamo che, in parti-colare, poiche il minimo globale x∗ del problema (PL) e ammissibile, otteniamo immediatamenteche vale

cT x? ≥ bT λ (11.3)

per ogni λ che soddisfa (11.1). Possiamo quindi affermare che una qualunque soluzione λ ∈IRm che soddisfa (11.1) consente di determinare una limitazione inferiore al valore ottimo delproblema (PL).Per migliorare la limitazione inferiore espressa dalle disuguaglianza (11.3), si puo rendere quantopiu possibile grande il termine di destra bT λ della disuguaglianza (11.3), cioe si puo massimizzarela quantita bT λ al variare del vettore λ ∈ IRm, tra tutti i vettori che soddisfano AT λ = c, λ ≥ 0.Piu formalmente si puo cercare la soluzione del problema

max bT λ

AT λ = cλ ≥ 0

(11.4)

Si tratta di un problema di PL in forma standard (e sufficiente cambiare verso all’ottimizzazioneda max a min).

Possiamo dimostrare che le condizioni necessarie e sufficienti di minimo globale per questoproblema sono le stesse condizioni per il problema (PL). Questo significa che i moltiplicatori λ∗

del teorema 11.1.1 sono la soluzione ottima del problema (11.4). Abbiamo infatti il seguenteteorema.

Teorema 11.1.2 (Dualita forte (condizioni di ottimalita) per la (PL-ST)) Un punto λ∗ ∈IRm e minimo globale del problema di Programmazione Lineare (11.4) se e solo se esistex∗ ∈ IRn tale che valgano le condizioni:

(i) AT λ∗ = c,

(ii) λ∗ ≥ 0,

(iii) Ax∗ ≥ b,

(iv) bT λ∗ = cT x∗.

Dimostrazione. Si utilizza il teorema 9.2.7 applicato a (PL-ST). Osserviamo che (PL-ST) ein forma di massimizzazione e che e definito nello spazio IRm. La funzione Lagrangiana per(PL-ST) e

L(λ, x, v) = −bT λ + xT (AT λ− c)− vT λ

dove x ∈ IRn (righe di AT ) e v ∈ IRm.Per il teorema 9.2.7 esistono dei vettori x∗ ∈ IRn e v∗ ∈ IRm (dimensione λ) tali che

(a) AT λ∗ = c, λ∗ ≥ 0,

148

Page 151: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

(b) −b + Ax∗ − v∗ = 0,

(c) v∗ ≥ 0,

(d) v∗T λ∗ = 0.

La (a) e esattamente la (i) e (ii). Dalla condizione (b) si puo ricavare v∗ ed eliminarlo dallealtre condizioni in cui e presente. Si ha

−b + Ax∗ = v∗.

Imponendo la (c) v∗ ≥ 0 si ottiene−b + Ax∗ ≥ 0

che e la (iii). Sostituendo in (d) si ha poi

0 = v∗T λ∗ = (−b + Ax∗)T λ∗ = −bT λ∗ + x∗T AT λ∗ = −bT λ∗ + x∗T c

che e la (iv).

Possiamo quindi concludere che le condizioni necessarie e sufficienti di ottimo per i problemi diProgrammazione Lineare (PL) e (PL-ST) sono le stesse.

E evidente la forte relazione che esiste tra i due problemi di Programmazione Lineare (PL)e (PL-ST). Questa coppia di problemi viene detta primale-duale.

(Problema primale e duale)

Il problemamin cT x

Ax ≥ b(PL)

e il problemamax bT λ

AT λ = cλ ≥ 0

(PL− ST )

costituiscono una coppia primale-duale di Programmazione Lineare.

In maniera del tutto simmetrica, il problema (PL) risultera il problema duale del problema(PL-ST). La coppia primale (P)-duale (D) costituita dai problemi (PL) e (PL-ST) e solo unapossibile coppia primale-duale.

Siamo ora in grado di riformulare delle condizioni di ottimalita in riferimento alla coppiaprimale–duale (PL) e (PL-ST).

149

Page 152: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Condizioni di OttimalitaSiano dati x ∈ IRn e λ ∈ IRm. Allora x e λ sono soluzioni ottime rispettivamente per la coppia

(PL)min cT x

Ax ≥ b

max bT λ

AT λ = cλ ≥ 0

(PL− ST )

se e solo se valgono le seguenti condizioni

(i) Ax ≥ b, (ammissibilita primale)

(ii) AT λ = c, λ ≥ 0 (ammissibilita duale);

(iii) cT x = bT λ (coincidenza dei valori delle funzioni obiettivo).

La costruzione del problema duale a partire da un qualsiasi problema di PL e rimandata nelprossimo paragrafo.I risultati che abbiamo ricavato per la coppia primale-duale (PL) e (PL-ST) possono esseregeneralizzati ad una qualunque coppia primale-duale (P)-(D) e costituiscono i risultati fonda-mentali della teoria della dualita.In particolare, le condizioni necessarie e sufficienti di ottimo per la Programmazione Linearecostituiscono invece il cosiddetto teorema della dualita forte.

Teorema 11.1.3 (Teorema della Dualita Forte) Se il problema primale (P) ammette unasoluzione ottima x? allora anche il problema duale (D) ammette una soluzione ottima µ?. Sim-metricamente, se il problema duale (D) ammette una soluzione ottima µ? allora anche il prob-lema primale (P) ammette una soluzione ottima x?. Inoltre i valori delle funzioni obiettivo deidue problemi all’ottimo sono uguali cioe risulta

cT x? = bT µ?.

Ricordando inoltre che x∗ e un minimo del problema (PL), e quindi risulta cT x∗ ≤ cT x perogni x tale che Ax ≥ b, possiamo affermare:

(Limitazione superiore ed inferiore per il valore ottimo del problema (PL))

Sia x∗ un minimo globale del problema di Programmazione Lineare (PL). Per ogni (x, λ) chesoddisfa Ax ≥ b, λ ≥ 0, AT λ = c, risulta

bT λ ≤ cT x∗ ≤ cT x.

Analogamente per il problema in forma standard possiamo dare una limitazione inferiore esuperiore al valore ottimo bT λ∗. Infatti, presa una qualunque coppia (x, λ) che soddisfa (11.2),si puo scrivere

bT λ(AT λ=c)

= bT λ + xT (c−AT λ)= cT x + λT (b−Ax)

(λ≥0, b≤Ax)

≤ cT x.

150

Page 153: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Possiamo allora affermare:

(Limitazione superiore ed inferiore per il valore ottimo del problema (PL-ST))

Sia λ∗ un minimo globale del problema di Programmazione Lineare (PL-ST). Per ogni (x, λ)che soddisfano (11.2), si ha

bT λ ≤ bT λ∗ ≤ cT x.

La relazione tra i valori delle funzioni obiettivo del problema primale e duale in un qualunquepunto ammissibile primale-duale che abbiamo ricavato in relazione alla coppia primale-duale(PL) e (PL-ST) puo essere generalizzato ad una qualunque coppia primale-duale (P)-(D) ecostituisce un risultato noto come Teorema della dualita debole.

Teorema 11.1.4 (Teorema della Dualita debole) Per ogni soluzione ammissibile x del prob-lema di PL primale (P) ed ogni soluzione ammissibile λ del problema di PL duale (D) si ha

bT λ ≤ cT x

cioe il valore della funzione obiettivo duale in λ e minore o uguale del valore della fuzioneobiettivo primale in x.

Da cui si ottiene il seguente corollario.

Corollario 11.1.5 Se x e una soluzione ammissibile del problema primale (P) e u una soluzioneammissibile del problema duale (D) tali che

cT x = bT λ (11.5)

allora x e u sono soluzioni ottime rispettivamente per il problema primale (P) e per il problemaduale (D).

Utilizzando il teorema della dualita debole possiamo anche derivare delle condizioni diillimitatezza di un problema di PL. Vale in particolare questo risultato.

Teorema 11.1.6 (Condizione di illimitatezza del primale) Se il problema primale (P) eillimitato (inferiormente) allora il problema duale (D) e inammissibile. Viceversa se il problemaduale (D) e illimitato (superiormente) allora il problema primale (P) e inammissibile.

Dim.: Supponiamo che (P) sia illimitato e che, per assurdo, il problema duale (D) sia am-missibile, cioe che esista una soluzione ammissibile λ del problema duale (D). Allora, per ilTeorema 11.1.4 (Teorema della Dualita debole), risulta cT x ≥ bT λ per ogni soluzione am-missibile x del problema primale (P). Ma questo contraddice l’ipotesi che (P) sia illimitatoinferiormente.Viceversa

Sulla base dei risultati fino ad ora esaminati si evince che data un coppia primale–dualedi problemi di Programmazione Lineare possono verificarsi le seguenti situazioni: o entrambiammettono soluzione ottima, oppure se uno e illimitato l’altro e inammissibile, oppure sono

151

Page 154: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

entrambi inammissibili. Queste possibilita sono riportate schematicamente nella tabella chesegue.

DUALE

ottimo finito illimitato inammissibilesuperior.

ottimo finito SI NO NO

PRIMALE illimitato inferior. NO NO SI

inammissibile NO SI SI

11.2 Costruzione del duale di un problema di PL

La coppia di problemi primale-duale definita nel paragrafo precedente e solo una delle possibilecoppie primali-duali di problemi di Programmazione Lineare.

Si consideri un problema Programmazione Lineare scritto nella forma piu generale cioe nellaforma

min cT1 y + cT

2 zCy + Dz = hEy + Fz ≥ gy ≥ 0

(11.6)

in cui le variabili sono (y, z)T ∈ IRn suddivise in y ∈ IRn1 con y ≥ 0 e z ∈ IRn1 , non e vincolatain segno. Corrispondentemente abbiamo c1 ∈ IRn1 , c2 ∈ IRn2 . I vincoli sono p di disuguaglianzae q di uguaglianza con i vettori h ∈ IRp e g ∈ IRq. Le matrici C, D,E, F hanno dimensioniadeguate: C matrice p× n1, D matrice p× n2, E matrice q × n1, F matrice q × n2.

La notazione in cui e scritto questo generico problema di Programmazione Lineare (11.6) etale da evidenziare separatamente gli elementi che intervengono nella formulazione: le variabilisono partizionate nella variabili y vincolate in segno e z non vincolate in segno e corrispon-dentemente anche i coefficienti di costo della funzione obiettivo sono partizionati in c1 e c2; ivincoli sono scritti suddividendo quelli di uguaglianza (=) e quelli di disuguaglianza (≥ 0).

Osservazione importante

Nella definzione di regole per la costruzione del problema duale di un generico problema diPL e essenziale mettere il problema nella forma indicata, con particolare attenzione al “verso”dell’ottimizzazione, cioe min o max, e al “verso” dei vincoli di disuguaglianza che corriponden-temente devono essere nella forma ≥ o ≤.

152

Page 155: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Per costruire il problema duale del problema (11.6) e sufficiente riportarsi alla forma delproblema (PL) con soli vincoli di disuguaglianza . A tale scopo riscriviamo il problema (11.6)nella forma equivalente

min cT1 y + cT

2 zCy + Dz ≥ h−Cy −Dz ≥ −hEy + Fz ≥ gy ≥ 0

ovvero in forma matriciale

min(

c1

c2

)T (zy

)

C D−C −DE FIn1 0

(yz

)≥

h−hg0

,

dove In1 e la matrice identita di ordine n1. Quindi il problema (11.6) e stato ricondotto nellaforma (PL) in cui

A =

C D−C −DE FIn1 0

b =

h−hg0

c =

(c1

c2

)

Siamo quindi in grado di scrivere il duale di questo problema nella forma (PL-ST)

max bT λ

AT λ = cλ ≥ 0

in cui

AT =(

C −C E In1

D −D F 0

)

e il vettore delle variabili duali si puo decomporre in λ = (u, v, w, t)T ∈ IRm = IR2p+q+n1 . Ilproblema duale si scrive in forma matriciale

max

h−hg0

T

uvwt

(C −C E In1

D −D F 0

)

uvwt

=

(c1

c2

)

u, v, w, t ≥ 0.

Sviluppando si ottiene

153

Page 156: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

max hT u− hT v + gT wCT u− CT v + ET w + In1t = c1

DT u−DT v + FT w = c2

u ≥ 0, v ≥ 0, w ≥ 0, t ≥ 0

che e equivalente a

max hT (u− v) + gT wCT (u− v) + ET w + t = c1

DT (u− v) + FT w = c2

u ≥ 0, v ≥ 0, w ≥ 0, t ≥ 0.

Effettuando il cambio di variabili u− v = µ si ottiene il seguente problema

max hT µ + gT wCT µ + ET w + t = c1

DT µ + FT w = c2

w ≥ 0, z ≥ 0.

Eliminando la variabile t utilizzando il primo vincolo t = d−CT µ−ET w possiamo ancorascrivere

max hT µ + gT wCT µ + ET w ≤ c1

DT µ + FT w = c2

w ≥ 0

(11.7)

nelle variabili (µ,w) ∈ IRq × IRp, con µ non vincolata in segno e w ≥ 0.Il problema (11.7) e il problema duale del problema (11.6) che viene detto problema primale.

Osservazione importante

Le variabili (x, y) sono dette variabili primali e corrispondono ai moltiplicatori dei vincoli linearidi tipo generale del problema duale. Le variabili (µ,w) sono dette variabili duali e corrispondonoai moltiplicatori dei vincoli lineari di tipo generale del problema primale.

I due problemi costituiscono la generica coppia coppia primale–duale.

(P )

min cT1 y + cT

2 zCz + Dy = hEz + Fy ≥ gy ≥ 0

max hT µ + gT wCT µ + ET w ≤ c1

DT µ + FT w = c2

w ≥ 0.

(D)

Dall’osservazione dei due problemi si deducono facilmente le proprieta fondamentali di unacoppia primale–duale; innanzitutto un problema e di minimizzazione mentre l’altro e di mas-simizzazione. Inoltre poiche la matrice dei coefficienti dei vincoli di un problema si ottienetrasponendo quella dell’altro, si ha che ad ogni variabile di un problema corrisponde un vincolonell’altro. Si osserva inoltre uno scambio tra i termini noti di un problema e i coefficienti dellafunzione obiettivo dell’altro.

Queste proprieta possono essere cosı schematicamente riassunte:

• il problema duale di un problema di minimizzazione e un problema di massimizzazionee simmetricamente, il problema duale di un problema di massimizzazione e un problemadi minimizzazione;

• ad ogni vincolo di uguaglianza del problema primale e associata una variabile nel problemaduale non vincolata in segno;

154

Page 157: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

• ad ogni vincolo di disuguaglianza (di maggiore o uguale) del problema primale e associatauna variabile nel problema duale vincolata in segno;

• ad ogni variabile vincolata in segno del problema primale e associato un vincolo di disug-uaglianza (≤ se il problema e di massimizzazione, ≥ se il problema e di minimizzazione)del problema duale;

• ad ogni variabile non vincolata in segno del problema primale e associato un vincolo diuguaglianza del problema duale.

Queste corrispondenze possono essere riassunte nella tabella che segue dove gli insieme I,J , M e N sono insiemi di indici:

PRIMALE DUALE

min cT x max bT u

= bi, i ∈ I ui, i ∈ I, libereVINCOLI VARIABILI

≥ bi, i ∈ J ui, i ∈ J , ui ≥ 0

xj ≥ 0, j ∈ M ≤ cj , j ∈ MVARIABILI VINCOLI

xj , j ∈ N libere = cj , j ∈ N

Esempio 11.2.1 Si consideri il seguente problema di Programmazione Lineare

max 4x1 + 3x2 + 2x3

x1 + 2x2 + 3x3 ≤ 82x1 − x3 ≤ 73x1 + 4x2 − x3 ≤ 5x2 + x3 ≤ 6x2 ≥ 0

Il problema duale e il seguente problema di minimizzazione

min 8u1 + 7u2 + 5u3 + 6u4

u1 + 2u2 + 3u3 = 42u1 + 4u3 + u4 ≥ 33u1 − u2 − u3 − u4 = 2u1 ≥ 0, u2 ≥ 0, u3 ≥ 0, u4 ≥ 0.

155

Page 158: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Esempio 11.2.2 Si consideri il seguente problema di Programmazione Lineare

min 2x1 − 3x2 + x3

3x1 + x2 + 5x3 ≥ 7x1 + x2 − 6x3 ≤ 94x1 − x2 − 2x3 = 8x1 ≥ 0, x2 ≥ 0.

Dopo aver riscritto il secondo vincolo come −x1 − x2 + 6x3 ≥ −9 si puo formulare facilmenteil problema duale associato

max 7u1 − 9u2 + 8u3

3u1 − u2 + 4u3 ≤ 2u1 − u2 − u3 ≤ −3v5u1 + 6u2 − 2u3 = 1u1 ≥ 0, u2 ≥ 0.

Esempio 11.2.3 Si consideri il problema di Programmazione Lineare

min x1 + 3x2

x1 + 4x2 ≥ 245x1 + x2 ≥ 25x1 ≥ 0, x2 ≥ 0

Geometricamente si ricava facilmente che questo problema ammette soluzione ottima nel punto(x1, x2) = (4, 5) e il valore ottimo della funzione obiettivo e pari a 19. Se si considera il problemaduale

max 24u1 + 25u2

u1 + 5u2 ≤ 14u1 + u2 ≤ 3u1 ≥ 0, u2 ≥ 0;

si ricava facilmente (geometricamente) che, in accordo con quanto previsto dal Teorema della

Dualita Forte, anche questo problema ammette soluzione ottima nel punto (u1, u2) =(

1419

,119

)

e il valore ottimo della funzione obiettivo vale 19.

Esempio 11.2.4 Si consideri il problema di Programmazione Lineare

max 2x1 + 3x2

−2x1 + x2 ≤ 3− 1

2x1 + x2 ≤ 6x1 ≥ 0, x2 ≥ 0.

Geometricamente si ricava che il problema e illimitato superiormente. Quindi, per l’analisiteorica vista deve risultare che il suo duale e inammissibile. E infatti se si considera il problemaduale associato

min 3u1 + 6u2

−2u1 − 12u2 ≥ 2

u1 + u2 ≥ 3u1 ≥ 0, u2 ≥ 0

si vede facilmente che questo problema non ammette soluzioni ammissibili.

156

Page 159: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

11.3 Interpretazione della Dualita

Se un problema di Programmazione Lineare proviene da una precisa classe di problemi applica-tivi e dunque ha una struttura bene definita, il suo corrispondente duale si puo prestare adessere interpretato come problema applicativo diverso ma collegato al problema primale.

11.3.1 Il duale del problema di allocazione ottima di risorse

Si consideri nuovamente il semplice problema di allocazione ottima dell’Esempio 2.4.1 che erappresentato dal seguente problema di Programazione Lineare:

max (7x1 + 10x2)x1 + x2 ≤ 750x1 + 2x2 ≤ 1000x2 ≤ 400x1 ≥ 0, x2 ≥ 0.

(11.8)

Ricordiamo che le variabili x1 e x2 sono associate rispettivamente ai quantitativi di coloranteC1 e C2 da produrre e che la produzione avviene utilizzando tre preparati base P1, P2 e P3dei quali si ha una disponibilita massima rispettivamente pari a 750, 1000 e 400 ettogrammi.Supponiamo, ora di voler sottrarre preparati base dalla produzione dei coloranti per venderlidirettamente. Indichiamo con u1, u2 e u3 i prezzi associati rispettivamente alla vendita direttadi un ettogrammo di preparato base P1, P2 e P3. Supponendo di destinare tutti i preparatialla vendita diretta, il profitto che si otterrebbe sarebbe

750u1 + 1000u2 + 400u3. (11.9)

Naturalmente si vorra fare in modo che questa operazione di sottrazione dei preparati base dallaproduzione dei coloranti e vendita diretta risulti economicamente conveniente e quindi mentresi vuole minimizzare l’espressione (11.9) affinche i prezzi di vendita risultino competitivi sulmercato, si imporra che il profitto ottenuto vendendo direttamente i quantitativi di preparatobase necessario per ottenere un litro di colorante sia maggiore o uguale del profitto associatoalla vendita di un litro di colorante stesso; quindi, utilizzando i dati del problema riportati nellatabella dell’Esempio 2.4.1, si deve imporre che risulti

u1 + u2 ≥ 7

per quanto riguarda il colorante C1 e

u1 + 2u2 + u3 ≥ 10

per quanto riguarda il colorante C2 e naturalmente deve essere u1 ≥ 0, u2 ≥ 0 e u3 ≥ 0. Quindiil modello lineare che rappresenta l’operazione sopra descritta e il seguente:

min (750u1 + 1000u2 + 400u3)u1 + u2 ≥ 7u1 + 2u2 + u3 ≥ 10u1 ≥ 0, u2 ≥ 0, u3 ≥ 0.

Esaminando questo problema si vede immediatamente che esso rappresenta il problema dualedel problema dato (11.8).

157

Page 160: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

In generale, se si considera un generico problema di allocazione ottima di m risorse Ri,i = 1, . . . , m con la possibilita di fabbricare n prodotti Pj, j = 1, . . . , n, come abbiamo giaesaminato nel capitolo precedente si puo formulare questo problema come

max cT xAx ≤ bx ≥ 0

(11.10)

dove ricordiamo x ∈ IRn e il vettore avente per componenti i livelli di produzione di ciascunodei prodotti, c ∈ IRn il vettore dei profitti netti e b ∈ IRm il vettore delle disponibilita massimadi ciascuna delle risorse.

Supponiamo ora di voler sottrarre risorse alla produzione per venderle direttamente e sianoui, i = 1, . . . , m i prezzi unitari associati alla vendita dell’i-esima risorsa. Supponendo che perciascuna risorsa si voglia destinare alla vendita una quantita pari alla disponibilita massima diquella risorsa, si ottiene un profitto pari a

b1u1 + b2u2 + · · ·+ bmum.

Per rendere competitivi sul mercato i prezzi unitari ui da assegnare alle risorse vendute diret-tamente, si vogliono scegliere i valori piu bassi possibile per le ui, ma naturalmente, affinchequesta operazione di vendita diretta in luogo della fabbricazione dei prodotti risulti convenientesi deve imporre che il profitto ottenuto vendendo direttamente le risorse necessarie per fabbri-care un prodotto sia maggiore o uguale al profitto che si ricaverebbe dalla vendita del prodottofinito. Quindi per ogni prodotto, si deve imporre che valga

a11u1+ . . . +am1um ≥ c1

a12u1+ . . . +am2um ≥ c2... . . .

......

a1nu1+ . . . +amnum ≥ cn

con ui ≥ 0, i = 1, . . . ,m e dove le quantita aij rappresentano la quantita di risorsa Ri necessariaper fabbricare una unita di prodotto Pj.

Quindi il problema da risolvere puo essere scritto nella forma

min bT uAT u ≥ cu ≥ 0

che e il problema duale del problema (11.10).

11.3.2 Il duale del problema di miscelazione.

Si consideri il problema di miscelazione dell’Esempio 3.3.1 che e rappresentato dal seguenteproblema di Programmazione Lineare:

min 400x1 + 600x2

140x1 ≥ 7020x1 + 10x2 ≥ 3025x1 + 50x2 ≥ 75x1 ≥ 0, x2 ≥ 0.

158

Page 161: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Ricordiamo che le variabili x1 e x2 rappresentano le quantita di polpa di frutta e di dolcificanteda utilizzare nella produzione del succo di frutta che deve avere come requisito un contenutominimo di 70 mg di vitamina C, 30 mg di sali minerali e 75 grammi di zucchero. Supponiamo orache un’industria farmaceutica venda compresse di nutrimenti puri, cioe compresse di vitaminaC, di sali minerali e di zucchero e che vuole immettere queste compresse su un ipotetico mercatocome offerta sostitutiva al succo di frutta per l’acquisizione di vitamina C, di sali minerali e dizucchero. Naturalmente questa industria farmaceutica vuole massimizzare il profitto ricavatodalla vendita delle compresse, ma al tempo stesso deve dare un prezzo alle compresse tale daessere competitiva. Siano allora u1, u2 e u3 i prezzi di vendita rispettivamente di 1 mg divitamina C, di 1 mg di sali minerali e di 1 grammo di zucchero; supponendo che la vendita diquesti nutrimenti puri sia pari ai fabbisogni minimi (cioe a 70 mg di vitamina C, a 30 mg disali minerali e a 75 grammi di zucchero), l’espressione del profitto dell’industria farmaceuticache dovra essere massimizzata e

70u1 + 30u2 + 75u3.

Affinche i prezzi di vendita dei componenti puri in compresse fissati dall’industria siano concor-renziali, si deve imporre che il costo unitario dei nutrimenti puri sia minore o uguale al prezzoche si dovrebbe pagare per avere la stessa quantita di componente attraverso gli ingredienti delsucco di frutta, cioe dalla polpa di frutta e dal dolcificante. Quindi si devono imporre i seguentivincoli

140u1 + 20u2 + 25u3 ≤ 40010u2 + 50u3 ≤ 600.

Inoltre dovra essere u1 ≥ 0, u2 ≥ 0, u3 ≥ 0.

Quindi il problema complessivo formulato dall’industria farmaceutica e

max 70u1 + 30u2 + 75u3

140u1 + 20u2 + 25u3 ≤ 40010u2 + 50u3 ≤ 600u1 ≥ 0, u2 ≥ 0, u3 ≥ 0

che e il problema duale del problema di miscelazione considerato.

In generale, consideriamo un generico problema di miscelazione in cui si hanno n sostanze Sj,j = i, . . . , n ciascuna delle quali contiene una quantita aij di componente utile Ci, i = 1, . . . , m.Come abbiamo gia esaminato nel capitolo precedente un problema di miscelazione di questotipo si puo formulare come

min cT xAx ≥ bx ≥ 0

(11.11)

dove ricordiamo che x ∈ IRn e il vettore avente per componenti le quantita di ciascuna sostanzada introdurre nella miscela, c ∈ IRn il vettore dei costi unitari delle sostanze, b ∈ IRm il vettoredei requisiti minimi di componenti utili da introdurre nella miscela, e A ∈ IRm×n la matrice icui elementi sono le aij .

Supponiamo ora che un’industria sia in grado di fornire componenti utili allo stato puro eche voglia immettere sul mercato questi componenti utili e siano ui, i = 1, . . . , m i prezzi unitarida assegnare a ciascuno di essi. Supponendo che la richiesta del mercato sia pari ai fabbisogni

159

Page 162: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

minimi della miscela, cioe per ciascun componente pari a bi, il profitto totale dell’industria chevende i componenti utili allo stato puro e

b1u1 + b2u2 + · · ·+ bmum.

Inoltre, affinche i prezzi ui assegnati dall’industria ai componenti puri siano concorrenziali, sideve imporre che il costo dei componenti puri sia minore o uguale al prezzo che dovrebbe pagareper avere la stessa quantita di componente ottenuto attraverso le sostanze e quindi deve valere

m∑

i=1

aijui ≤ cj , j = 1, . . . , n.

Inoltre si deve imporre ui ≥ 0, i = 1, . . . ,m.

Quindi il problema formulato si puo scrivere nella forma

max bT uAT u ≤ cu ≥ 0

che e immediato verificare essere il problema duale del problema di miscelazione assegnato(11.11).

11.3.3 Il duale del problema dei trasporti

Si consideri un problema di trasporto che e rappresentato dal seguente problema di Program-mazione Lineare:

min(250x1 + 100x2 + 85x3 + 120y1 +80y2 + 150y3)

x1 + x2 + x3 = 50y1 + y2 + y3 = 55

x1 + y1 = 30x2 + y2 = 40

x3 + y3 = 35

x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, y1 ≥ 0, y2 ≥ 0, y3 ≥ 0.

dove x1, x2, x3 rappresentano rispettivamente quantita di acqua da trasportare dal primostabilimento a tre impianti e y1, y2, y3 rappresentano rispettivamente la quantita di acqua datrasportare dal secondo stabilimento a tre impianti. Ricordiamo inoltre che la disponibilitagiornaliera di acqua presso i due stabilimenti e rispettivamente di 50 e 55 ettolitri di acqua,mentre le richieste giornaliere di acqua presso i tre impianti sono rispettivamente di 30, 40 e 35ettolitri.

Supponiamo ora che una compagnia specializzata in trasporto di acqua (esterna all’industria)voglia proporsi all’industria di acque minerali per effettuare il trasporto dell’acqua dagli sta-bilimenti agli impianti. Naturalmente la compagnia di trasporti, per convincere l’industriadi acque minerali ad avvalersi del servizio di trasporto esterno, dovra proporre dei prezzi ditrasporto vantaggiosi. A tale scopo la compagnia dei trasporti propone all’industria di prele-vare un ettolitro di acqua da ciascuno dei due stabilimenti per un prezzo unitario (in migliaia

160

Page 163: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

di lire) rispettivamente pari a u1 e u2 e di consegnare un ettolitro di acqua a ciascuno dei treimpianti per un prezzo unitario (in migliaia di lire) rispettivamente pari a v1, v2 e v3. Quindi lacompagnia dei trasporti vorra massimizzare la funzione che fornisce il suo profitto complessivoche e data da

50u1 + 55u2 + 30v1 + 40v2 + 35v3.

Tuttavia affinche l’offerta della compagnia dei trasporti risulti vantaggiosa per l’industria delleacque minerali i prezzi del trasporto proposti dovranno risultare non superiori a quelli chel’industria avrebbe effettuando in proprio i trasporti stessi. Quindi dovra risultare

u1 + v1 ≤ 250u1 + v2 ≤ 100u1 + v3 ≤ 85u2 + v1 ≤ 120u2 + v2 ≤ 80u2 + v3 ≤ 150.

Quindi, la compagnia dei trasporti dovra risolvere il problema

max (50u1 + 55u2 + 30v1 + 40v2 + 35v3)u1 +v1 ≤ 250u1 +v2 ≤ 100u1 +v3 ≤ 85

u2 +v1 ≤ 120u2 +v2 ≤ 80u2 +v3 ≤ 150

che si verifica immediatamente essere il problema duale del problema dei trasporti assegnato.

In generale, consideriamo ora un generico problema dei trasporti gia esaminato nel capitoloprecedente. Supponiamo che un’azienda voglia provvedere in proprio ad effettuare il trasportodi materiali e che quindi cerchi di risolvere il problema dei trasporti

min

m∑

i=1

n∑

j=1

cijxij

n∑

j=1

xij = ai i = 1, . . . , m

m∑

i=1

xij = bj j = 1, . . . , n

xij ≥ 0 i = 1, . . . , n; j = 1, . . . ,m

(11.12)

dove, ricordiamo, che le cij rappresentano il costo del trasporto dall’origine i alla destinazionej, le ai le disponibilita all’i-esima origine e le bj le richieste alla j-esima destinazione.

Supponiamo, ora che una compagnia che esegue trasporti voglia proporsi a questa azienda,come alternativa vantaggiosa all’effettuazione dei trasporti in proprio; a tale scopo questa com-pagnia propone all’azienda di prelevare un’unita di prodotto dall’origine i per un prezzo unitario

161

Page 164: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

ui e di consegnare una unita di prodotto alla destinazione j per un prezzo unitario vj . Per as-sicurare che i suoi prezzi siano competitivi rispetto a quelli che l’azienda avrebbe effettuando itrasporti in proprio, la compagnia di trasporti deve fare sı che risulti

ui + vj ≤ cij

per ogni i = 1, . . . , m e j = 1, . . . , n. D’altra parte la compagnia di trasporti vuole scegliere iprezzi da proporre u1, . . . , um e v1, . . . , vn in modo da massimizzare il suo profitto complessivo.Poiche le quantita ai e bj di prodotto rispettivamente disponibili all’origine i e richieste alladestinazione j sono note alla compagnia di trasporti, questa cerchera di massimizzare la funzione

max

m∑

i=1

aiui +n∑

j=1

bjvj

.

Quindi il problema che la compagnia di trasporti formula per determinare quali prezzi ui e vj

proporre all’azienda e il seguente

maxm∑

i=1

aiui +n∑

j=1

bjvj

ui + vj ≤ cij i = 1, . . . , m, j = 1, . . . , n

(11.13)

che e il problema duale del problema dei trasporti (11.12).

11.3.4 Analisi di sensitivita alla variazione dei dati

Nei modelli reali le variabili (primali) possono rappresentare, ad esempio, livelli di produzionee i coefficienti di costo possono essere associati ai profitti ricavati dalla vendita dei prodotti.Quindi la funzione obiettivo di un problema primale indica direttamente come un aumento dellaproduzione puo influenzare il profitto. Sempre in relazione, ad esempio, ad un modello per lapianificazione della produzione, i vincoli di un problema (primale) possono rappresentare unalimitazione dovuta alla limitata disponibilita delle risorse; ora, un aumento della disponibilitadelle risorse puo consentire un aumento della produzione e quindi anche del profitto, ma questarelazione tra aumento della disponibilita delle risorse e aumento del profitto non si deduce facil-mente dal problema formulato (il problema primale). Uno dei possibili usi della dualita e quellodi rendere esplicito l’effetto dei cambiamenti nei vincoli (ad esempio in quelli di disponibilita dirisorse) sul valore della funzione obiettivo.

L’analisi della sensitivita si occupa proprio di stabilire come si modifica la soluzione ottimadi un modello lineare in conseguenza di variazioni dei dati. Un ruolo fondamentale in questaanalisi e giocato dai cosidetti prezzi ombra, che, misurano i “costi” impliciti associati ai vincoli.Come vedremo, i prezzi ombra sono nient’altro che le variabili duali.

11.3.5 Interpretazione geometrica della variazione dei dati sui prob-lemi primale duale

Consideriamo la seguente coppia di problemi primale-duale di programmazione lineare:

162

Page 165: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

(P )

max 2x1 + 6x2

x1 + 2x2 ≤ 5x1 + x2 ≤ 4x1, x2 ≥ 0

min 5u1 + 4u2

u1 + u2 ≥ 22u1 + u2 ≥ 6u1, u2 ≥ 0

(D)

Supponiamo che il problema primale rappresenti un semplice problema di produzione incui x1, x2 rappresentano livelli di attivita produttiva e in vincoli corrispondano a due risorselimitate.La soluzione grafica dei problemi (P) e (D) e riportata in Figura 11.1.

u1

u2

SD

k=0

k=15

x1

x2

SP

k=0

k=15

Figura 11.1: Soluzione grafica della coppia primale duale

Il problema primale ha unica soluzione x∗ = (0, 5/2)T , il duale ammette l’unica soluzioneottima u∗ = (3, 0)T .Si osserva geometricamente (ed e ovvio anche dal valore delle variabili duali u∗) che in x∗ eattivo un solo vincolo del problema primale, il primo. Questo significa che il livello di produzioneottima corrisponde ad utilizzare completamente la prima risorsa (x∗1 + 2x∗2 = 5), mentre laseconda risorsa e in eccesso (x∗1 + x∗2 = 2, 5 < 4). Inoltre il livello di produzione ottima ponex∗1 = 0 che significa che il prodotto rappresentato da x1 non e prodotto.

Ci si possono porre allora due diverse domande

1. conviene acquisire una quantita maggiore di risorsa relativa al primo vincolo ? Quanta e aquale prezzo ?

2. quando diventa conveniente produrre anche il prodotto x1 ?

163

Page 166: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Possiamo rispondere a queste domande facendo delle analisi di tipo geometrico sul problemaprimale e duale.

Cambiamenti nei termini noti dei vincoli. Acquisire una quantita maggiore di risorsarelativa al primo vincolo significa incrementare il r.h.s del vincolo da 5 a 5 + δ con δ ≥ 0. Daun punto di vista analitico i due problemi (P) e (D) diventano

(P )δ

max 2x1 + 6x2

x1 + 2x2 ≤ 5 + δx1 + x2 ≤ 4x1, x2 ≥ 0

min (5 + δ)u1 + 4u2

u1 + u2 ≥ 22u1 + u2 ≥ 6u1, u2 ≥ 0

(D)δ

Geometricamente un aumento di δ del r.h.s. del primo vincolo, corrisponde a spostare ilvincolo “verso l’alto”. La situazione e rappresentata geometricamente in Figura 11.2, in rossole variazioni. E evidente che la soluzione ottima si sposta nel punto x∗δ = (0, 5+δ

2 )T di valorecTδ x∗δ = 6 (5+δ)

2 = cT x∗ + 3δ. L’aumento nella funzione obiettivo e quindi pari a 3δ. Il massimovalore che puo assumere δ corrisponde al valore per cui il vincolo x1 + 2x2 ≤ 5 + δ passa per ilpunto (0, 4)T , ovvero δ = 3.

u1

u2

SD

x1

x2

SP

k=15+3(5+

)/2

max

=5+

=5

max

Figura 11.2: Soluzione grafica della coppia primale duale al variare di δ

Per δ > 3, il primo vincolo non gioca piu alcun ruolo nella definizione della regione ammissibilee la risorsa che diventa vincolante e la seconda.

164

Page 167: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Nel problema duale, un variazione di δ corrisponde ad una variazione del coefficiente an-golare della funzione obiettivo. La regione ammissibile del problema duale e rimasta invariata.Il valore δ = 3 corrisponde alla funzione obiettivo 8u1 + 4u2 rappresentata in rosso in Figura11.2 per valore = 0. Le curve di livello di questa funzione sono parallele al secondo vincolo delproblema duale. La soluzione ottima del problema duale (D)δ rimane la soluzione u∗ = (3, 0)T

per δ ≤ 3. Poiche la soluzione ottima u∗δ = u∗ il valore cTδ u∗δ = (5 + δ)3 = 5u∗1 + δu∗1. La

variazione del valore ottimo e 3δ pari a quanto determinato nel caso primale.Il valore 3 = u∗1 rappresenta anche quanto sono disposto a pagare al massimo un’unita in piudi tale risorsa.

Per valori di δ > 3, la soluzione ottima del problema duale cambia e diventa il punto (0, 6)T

di valore 24 indipendente dal valore di δ.

Possiamo riassumere le considerazioni fatte fin qui nella seguente affermazione

L’aumento della prima risorsa (r.h.s. primo vincolo) di un valore δ produce un aumento dellafunzione obiettivo pari a u∗1δ = 3δ purche δ ≤ 3.Il valore ottimo della variabile duale u∗1 rappresenta il massimo costo affrontabile per l’aumentodi una unita di risorsa.

Il valore u∗1 = 3 e detto prezzo ombra relativo alla prima risorsa (al primo vincolo). L’intervallo0 ≤ δ ≤ 3 e l’intervallo entro cui la previsione sulla variazione della funzione obiettivo e valida.(In realta si puo prevedere anche un decremento −δ).

11.3.6 Interpretazione economica della dualita e prezzi ombra

Come visto nell’esempio, in generale, le variabili duali (i prezzi ombra) rappresentano l’effettodi cambiamenti nel termine noto dei vincoli. Si consideri, infatti un generico problema diProgrammazione Lineare (in forma standard) (P), il suo duale (D) ed inoltre si consideri ilproblema (P∆) ottenuto modificando il termine noto da b a b+∆ (con ∆ = (δ1 . . . , δm)T ∈ IRm)e il corrispondente problema duale (D∆):

(P)

min cT xAx = bx ≥ 0

(D)

max bT uAT u ≤ c

(P∆)

min cT xAx = b + ∆x ≥ 0

(D∆)

max(b + ∆)T uAT u ≤ c

Siano x? e u? rispettivamente la soluzione ottima del problema (P) e del problema (D). Sianoinoltre x?(∆) e u?(∆) rispettivamente la soluzione del problema (P∆) e del problema (D∆)

Dalle formulazioni di questi problemi si possono facilmente dedurre due osservazioni:

• la variazione del termine noto b nel problema primale si riflette in un cambiamento deicoefficienti della funzione obiettivo del problema duale;

165

Page 168: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

• la regione ammissibile del problema (D) e del problema (D∆) sono uguali; da questosegue che se u? ∈ IRm e soluzione ottima del problema (D) allora u? e ammissibile per ilproblema (D∆), ma non necessariamente e ottima per (D∆).

Inoltre per il Teorema della dualita forte applicato alla coppia primale–duale (P)–(D) deveessere

cT x? = bT u?, (11.14)

mentre, sempre per il Teorema della dualita forte ma applicato alla coppia primale–duale (P∆)–(D∆) deve essere

cT x?(∆) = (b + ∆)T u?(∆). (11.15)

Se la soluzione ottima x? soddisfa un’opportuna ipotesi (cioe che in x? non ci siano piudi n vincoli attivi) e se il vettore ∆ ha componenti “sufficientemente” piccole allora si puodimostrare che:

u?(∆) = u?. (11.16)

Utilizzando la (11.14), la (11.15) e la (11.16) si ha:

cT x?(∆) = (b + ∆)T u∗(∆) = bT u? + ∆T u? = cT x? + ∆T u?, (11.17)

che puo essere riscritta nella seguente forma:

cT x?(∆)− cT x? = δ1u?1 + δ2u

?2 + . . . + δmu?

m, (11.18)

dove ∆ = (δ1, . . . , δm)T .Dalla precedente relazione segue che una possibile interpretazione della variabile duale u?

i equella di essere un prezzo associato ad un incremento unitario del termine noto bi. Per questaragione le variabili duali u?

i , i = 1, . . . , m, vengono denominate prezzi ombra.

Il prezzo ombra di un vincolo rappresenta la variazione del valore della funzione obiettivo quandoil r.h.s. del vincolo e aumentato di una unita, mentre tutti gli altri dati del problema sono fissati.

Sebbene la (11.16) (e di conseguenza la (11.18)) valga solamente sotto opportune ipotesi,in molte situazioni pratiche, le variabili duali u?

i , i = 1, . . . , m, forniscono delle utili indicazionisu quale componente bi variare per migliorare il valore ottimo della funzione obiettivo.

Ricordiamo i principi generali che regolano l’uso dei prezzi ombra.

1. I prezzi ombra sono tanti quanti i vincoli lineari generali (esclusi i vincoli di non negativitasulle variabili).

2. l’unita di misura dei prezzi ombra e espressa in (unita di misura funzione obiettivo)/(unitamisura vincolo).

3. I prezzi ombra corrispondono al valore delle variabili duali (all’ottimo), ovvero ai molti-plicatori di KKT relativi alla soluzione ottima primale.

166

Page 169: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Capitolo 12

Programmazione Lineare Intera

La Programmazione Lineare Intera (PLI) tratta il problema della minimizzazione (massimiz-zazione) di una funzione lineare di piu variabili, soggetta a vincoli di uguaglianza e disug-uaglianza lineari ed alla restrizione che una o piu variabili possano assumere soltanto valoriinteri. Si tratta dunque di problemi del tipo (PLI pura)

min cT xAx ≥ bx ∈ Zn;

o in cui solo alcune della variabili sono vincolate ad assumere valore intero (PLI mista):

min cT xAx ≥ bx1 ∈ Zn1 , x2 ∈ Rn2 ;

con x = (x1 x2) e n1 + n2 = n.Grazie alla generalita del modello, un grandissimo numero di problemi reali possono essere

rappresentati da modelli di Programmazione Intera. In generale, i modelli di ProgrammazioneLineare Intera sono adatti alle applicazioni caratterizzate dall’indivisibilita delle risorse e dallanecessita di scegliere tra un numero finito di alternative. Queste applicazioni includono problemioperativi quali la distribuzione di beni ed il sequenziamento delle attivita produttive; problemi dipianificazione quali la gestione ottima del portafoglio titoli e la localizzazione degli impianti edinfine problemi di progettazione quali il progetto di circuiti VLSI ed il progetto di sistemi auto-matici di produzione (robotica). Un problema di Ottimizzazione Combinatoria e un particolareproblema di PLI in cui le variabili sono vincolate ad assumere solo valori 0, 1.

Nelle ipotesi che la regione ammissibile di PLI sia costituita da un insieme finito di punti,in linea di principio potrebbe essere sempre possibile risolvere il problema di PLI calcolando ilvalore della funzione obiettivo in ogni punto ammissibile e scegliendo quello che la minimizza.Definiremo questo metodo Enumerazione Totale. Se la cardinalita dell’insieme ammissibiledi PLI e piccola allore l’enumerazione totale non solo e possibile, ma e certamente il modomigliore di risolvere un problema di PLI. Se, viceversa, la cardinalita dell’insieme delle soluzioniammissibili e molto grande, l’enumerazione totale diviene non proponibile (vedi anche l’esempiodovuto a Dantzig descritto nel paragrafo 1.2).

167

Page 170: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Osserviamo che se abbiamo un problema di PLI con dieci variabili e supponiamo che ognunadi queste variabili possa assumere dieci valori diversi, il numero di possibili punti ammissibili edi 1010, cioe 10 miliardi. Questo semplice esempio mostra che l’enumerazione totale e raramenteutile nei casi pratici, dove spesso il numero di variabili intere e dell’ordine delle centinaia se nondelle migliaia.Le questioni teoriche poste da tali problemi e le tecniche usate per la loro soluzione hannocaratteristiche molto diverse da quelle relative ai problemi di ottimizzazione continua studiatinei precedenti capitoli. In generale la PLI e da un punto di vista algortimo piu difficile dellaPL anche nel caso binario.

Lo scopo di questo capitolo e quindi quello di dare alcune indicazioni sulle peculiarieta deiproblemi di Programmazione Lineare Intera (PLI) e studiare una classe di algoritmi per la lororisoluzione.

12.1 Formulazioni Classiche di Problemi Lineari Interi

In questo paragrafo vengono presentati esempi classici di problemi che possono essere formulaticome problemi di PLI.

Il primo uso delle variabili intere (binarie) che esamineremo e anche il piu naturale. Si suppongadi dover modellare il fatto che un dato evento possa verificarsi oppure no. La natura binariadel problema suggerisce immediatamente l’idea di modellare questa dicotomia per mezzo di unavariabile x che puo assumere solo valori 0, 1. In particolare, si porra x = 1 se l’evento si verificae x = 0 altrimenti. Successivamente vedremo come le variabili intere e le disequazioni che lecollegano possano essere usate come linguaggio formale per esprimere una serie di relazioni traeventi.

12.1.1 Knapsack (zaino) binario

Supponiamo di avere n progetti. Il j-esimo progetto, j = 1, . . . , n, ha un costo pari a aj edun valore pari a cj . Ciascun progetto scelto deve essere realizzato completamente e non eaccettata una realizzazione parziale del progetto. Infine esiste un ”budget” b disponibile perla realizzazione dei progetti. Il problema di scegliere un sottoinsieme dei progetti allo scopo dimassimizzare la somma dei valori senza superare il limite imposto dal ”budget” e il cosiddettoproblema di knapsack binario.

– Variabili. Per ogni progetto i = 1, . . . , n introduciamo le seguenti variabili binarie

xi = 1 se il progetto i e selezionato

0 altrimenti.

Il vincolo sul budget (spazio) e dunque∑n

j=1 ajxj ≤ b e il problema di scrive

maxn∑

j=1

cjxj

n∑

j=1

ajxj ≤ b

xj ∈ 0, 1 j = 1, . . . , n.

168

Page 171: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

In questo caso l’evento e costituito dalla effettuazione (o meno) del singolo progetto. In generale,questi problemi di scelta tra progetti possono avere piu vincoli (si pensi al caso in cui il ”budget”sia mensile e si voglia pianificare per piu di un mese); in tal caso il problema viene detto diknapsack multidimensionale.Un esempio di problema di knapsack e l’esempio 1.4.1 di Capital Budgeting nel Capitolo??.

12.1.2 Assegnamento

Un generico problema di assegnamento consiste nel determinare il modo ottimale di assegnarelavori a persone o, piu in generale, di assegnare mezzi (persone, macchine, etc. ) ad attivita.Supponiamo che n persone P1,. . . ,Pn, debbano svolgere n lavori L1,. . . , Ln; ciascun lavorodeve essere svolto esattamente da una persona e ciascuna persona deve svolgere un lavoro.Naturalmente le persone hanno diversi livelli di esperienza, competenza ed abilita e quindi sipuo introdurre un costo dell’assegnamento della persona i al lavoro j; indichiamo tale costo concij e supponiamo che sia noto. Questo costo puo, ad esempio, essere interpretato come tempomedio impiegato dalla persona i ad eseguire il lavoro j. Il problema e quello di assegnare ilavori alle persone minimizzando il costo totale di realizzazione di tutti i lavori. Questo tipo diproblemi sorge in molte situazioni pratiche: esempi tipici sono i problemi di assegnamento delpersonale all’interno di una azienda e i problemi di assegnare determinati mezzi di trasporto adalcune particolari linee.Esaminiamo, ora una formulazione.

Formulazione.

– Variabili. Per ogni lavoro i e per ogni persona j, (i, j = 1, . . . , n) introduciamo le seguentivariabili binarie

xij = 1 se la persona i e assegnata al lavoro j

0 altrimenti.Si tratta di n2 variabili:

L1 · · · Lj · · · Ln

P1 x11 · · · x1j · · · x1n

......

......

Pi xi1 · · · xij · · · xin

......

......

Pn xn1 · · · xnj · · · xnn

– Funzione obiettivo. La funzione obiettivo da minimizzare sara data dal costo totale cioe dan∑

i=1

n∑

j=1

cijxij .

Naturalmente, se le cij anziche essere dei costi fossero i valori utili ricavati dall’assegnamentodella persona i al lavoro j, allora la funzione obiettivo andrebbe massimizzata.

– Vincoli. (Vincoli di assegnamento.) Poiche esattamente una persona deve essere assegnata allavoro j, allora si avranno i seguenti n vincoli

n∑

i=1

xij = 1 j = 1, . . . , n.

169

Page 172: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Inoltre, poiche ciascuna persona deve essere assegnata ad una sola attivita, si avranno altri nvincoli

n∑

j=1

xij = 1 i = 1, . . . , n.

La formulazione completa sara, quindi, data da

min

n∑

i=1

n∑

j=1

cijxij

n∑

i=1

xij = 1

n∑

j=1

xij = 1

xij ∈ 0, 1, i, j = 1, . . . , n.

Osservazione 12.1.1 Nel seguito di questo capitolo si vedra che in effetti il problema di asseg-namento puo essere formulato rimuovendo il vincolo di interezza, cioe equivalentemente comeun problema di PL. Il vincolo xij ∈ 0, 1 corrisponde a 0 ≤ xij ≤ 1 con xij intero; rimuovereil vincolo di interezza corrisponde dunque al problema:

min

n∑

i=1

n∑

j=1

cijxij

n∑

i=1

xij = 1

n∑

j=1

xij = 1

0 ≤ xij ≤ 1, i, j = 1, . . . , n.

Esempio 12.1.2 In un Dipartimento universitario, sono attivati cinque corsi diversi che pos-sono essere tenuti da cinque professori. Ogni professore esprime delle preferenze sul corso chevorrebbe tenere, indicando un punteggio. A preferenza piu alta corrisponde un punteggio piualto. I punteggi sono riportati nella seguente tabella:

corso1 corso2 corso3 corso4 corso5insegnante1 7 5 4 4 5insegnante2 7 9 7 9 4insegnante3 4 6 5 8 5insegnante4 5 4 5 7 4insegnante5 4 5 5 8 9

Si vuole assegnare ciascun professore ad un corso cercando di massimizzare il valore mediointeso come media delle preferenze.

Formulazione– Variabili. Le variabili di decisione sono le variabili booleane:

170

Page 173: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

xij = 1 se l’insegnante i e assegnata al corso j

0 altrimenti.i, j = 1, . . . , 5.

– Funzione obiettivo. Indicando con cij il punteggio assegnato dall’insegnante i alla corso j, lafunzione obiettivo e il valore medio delle preferenze:

15

5∑

i=1

5∑

j=1

cijxij .

– Vincoli. I vincoli di assegnamento sono:

x11 + x12 + x13 + x14 + x15 = 1x21 + x22 + x23 + x24 + x25 = 1x31 + x32 + x33 + x34 + x35 = 1x41 + x42 + x43 + x44 + x45 = 1x51 + x52 + x53 + x54 + x55 = 1x11 + x21 + x31 + x41 + x51 = 1x12 + x22 + x32 + x42 + x52 = 1x13 + x23 + x33 + x43 + x53 = 1x14 + x24 + x34 + x44 + x54 = 1x15 + x25 + x35 + x45 + x55 = 1

Quindi, complessivamente il problema si scrive:

min5∑

i=1

5∑

j=1

cijxij

x11 + x12 + x13 + x14 + x15 = 1x21 + x22 + x23 + x24 + x25 = 1x31 + x32 + x33 + x34 + x35 = 1x41 + x42 + x43 + x44 + x45 = 1x51 + x52 + x53 + x54 + x55 = 1x11 + x21 + x31 + x41 + x51 = 1x12 + x22 + x32 + x42 + x52 = 1x13 + x23 + x33 + x43 + x53 = 1x14 + x24 + x34 + x44 + x54 = 1x15 + x25 + x35 + x45 + x55 = 10 ≤ xij ≤ 1 e xij intero∀ i, j

12.2 Uso di variabili booleane per modellare condizionilogiche

12.2.1 Problema del costo fisso.

Nei modelli di Programmazione Lineare le variabili di decisione rappresentano usualmente ilivelli ai quali le varie attivita vengono svolte e la funzione obiettivo da minimizzare e una

171

Page 174: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

funzione lineare di tali variabili. In molti problemi pratici, tuttavia, tale ipotesi non e giustificatain quanto il costo di una attivita, in funzione del livello cui essa viene svolta, puo avere unandamento come quello riportato in Figura 12.1.

costo

coeff. ang. c

x : livello dell'attività

f

Figura 12.1: Costo dell’attivita j.

In particolare, il costo dell’attivita j e zero se xj = 0 (cioe se l’attivita non e avviata) ed einvece uguale a fj + cjxj se xj > 0 con fj positivo. La funzione relativa all’attivita j e quindi

zj(x) =

0 se xj = 0fj + cjxj se xj > 0

Il valore fj e detto costo fisso dell’attivita j e deve essere pagato solamente se l’attivita jviene svolta ad un livello non nullo. Per esempio, supponiamo che la variabile xj rappresentila quantita di petrolio greggio che deve essere trasportata da un pozzo A ad una raffineria B.In questo caso, se il pozzo A non rifornisce la raffineria B il costo complessivo di trasporto eovviamente nullo. Se, al contrario, si decide di inviare una quantita non nulla xj di greggio daA a B, al costo di trasporto cjxj (proporzionale alla quantita trasferita) dovra essere sommatoil costo fisso di costruzione dell’oleodotto fj .Se indichiamo che Jf le attivita che prevedono un costo fisso, la funzione obiettivo puo esseregenericamente scritta come

z(x) =∑

j /∈Jf

cjxj +∑

j∈Jf

zj(x).

Chiaramente la funzione z(x) e discontinua nell’origine e quindi non e lineare. E formulazione“linearizzare” la funzione obiettivo introducendo, per ciascuna attivita, una variabile yj chevalga 1 quando xj > 0 e 0 quando xj = 0, cioe

yj = 0 se xj = 0

1 altrimenti

In questo modo la funzione obiettivo puo essere scritta

z(x) =n∑

j=1

cjxj +∑

j∈Jf

yjfj = cT x + fT y,

172

Page 175: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

dove y ∈ 0, 1|Jf | e il vettore le cui componente sono yj e z(x) e una funzione lineare. Ilproblema ha pero delle variabili binarie. Si deve inoltre imporre un vincolo che consenta dimodellare la condizioni logiche

xj > 0 ⇒ yj = 1xj = 0 ⇒ yj = 0

Osserviamo infatti che in assenza di tale vincolo e nell’ipotesi che fj ≥ 0, nella soluzine ottimail valore di yj sarebbe = 0 trattandosi di un problema di minimizzazione. Dunque la condizionexj = 0 ⇒ yj = 0 non necessita di essere imposta.

Se supponiamo di conoscere un limite superiore per la variabile xj , cioe un valore α positivomaggiore del piu grande valore che puo assumere la xj , il vincolo

xj − αyj ≤ 0

forza la variabile yj ad assumere valore 1 se xj > 01. Infatti se xj > 0, il vincolo imponeαyj ≥ xj > 0 e dunque yj > 0 (cioe yj = 1).

Il problema di costo fisso di PLI puo essere quindi formulato, assumendo che tutti i costifissi fj siano positivi, nel modo seguente:

(FC2) min z(x) = cT x + fT y

Ax = b

xj ≤ αyj , j ∈ Jf

x ≥ 0n

yj ∈ 0, 1, j ∈ Jf

dove α e un numero positivo maggiore del piu grande valore che puo essere assunto da ciascunadelle variabili xj in una soluzione ottima. Se xj > 0 la variabile yj sara forzata ad assumere ilvalore 1 ed il suo costo fisso si aggiungera al valore della funzione obiettivo.

Esempio 12.2.1 In una centrale elettrica sono a disposizione tre generatori e ogni giorno sideve decidere quali usare di giorno e quali di notte per assicurare una produzione di almeno 4000megawatts di giorno e di almeno 2800 megawatts di notte. L’uso di un generatore comporta lapresenza di personale tecnico che sorvegli il suo funzionamento; tale personale viene retribuitoin maniera diversa tra il giorno e la notte e a seconda del tipo di generatore; tali costi diattivazione sono riportati nella tabella che segue (in migliaia di lire) insieme al costo per ognimegawatt prodotta e alla massima capacita di produzione in megawatts per ogni singolo periodo(giorno/notte).

Costo attivazione Costo per Capacitagiorno notte megawatt max

Generatore A 750 1000 3 2000Generatore B 600 900 5 1700Generatore C 800 1100 6 2500

1Osserviamo che la condizione xj > 0 ⇒ yj = 1 e equivalente a yj = 0 ⇒ xj = 0. Inoltre, volendomodellare la condizione yj = 1 ⇒ xj = 0, si puo imporre il vincolo xj − α(yj − 1) ≤ 0.

173

Page 176: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Formulare un modello di PLI che permetta di rappresentare il problema in analisi.

Formulazione.E un problema di costo fisso e puo essere formulato in termini di Programmazione LineareIntera come appena descritto in generale. Per brevita di notazione, chiameremo 1o periodo ilgiorno e 2o periodo la notte.

– Variabili. Indichiamo con xAi, xBi

e xCi, i = 1, 2, i megawatts generati rispettivamente dai

generatori A, B e C nel periodo i. Inoltre, per ottenere una formulazione lineare, e necessariointrodurre sei variabili 0− 1, δAi

, δBie δCi

, i = 1, 2, definite come segue :

δAi=

1 se il generatore A e attivato nell’i-esimo periodo0 se nell’i-esimo periodo il generatore A non e attivato i = 1, 2.

Analoga e la definizione per le altre variabili δBi e δCi , i = 1, 2.

– Funzione obiettivo. La funzione obiettivo da minimizzare puo esser scritta

3xA1 + 3xA2 + 5xB1 + 5xB2 + 6xC1 + 6xC2 + 750δA1+

+1000δA2 + 600δB1 + 900δB2 + 800δC1 + 1100δC2 .

– Vincoli. Si devono considerare i vincoli sulla richiesta cioe

xA1 + xB1 + xC1 ≥ 4000

xA2 + xB2 + xC2 ≥ 2800.

Inoltre, per quanto esposto nel caso generale si devono considerare i vincoli

xAi − 2000δAi ≤ 0 i = 1, 2

xBi − 1700δBi ≤ 0 i = 1, 2

xCi − 2500δCi ≤ 0 i = 1, 2.

Quindi la formulazione complessiva puo essere scritta

min(3xA1 + 3xA2 + 5xB1 + 5xB2 + 6xC1 + 6xC2+

+750δA1 + 1000δA2 + 600δB1 + 900δB2 + 800δC1 + 1100δC2

)

xA1 + xB1 + xC1 ≥ 4000xA2 + xB2 + xC2 ≥ 2800xA1 − 2000δA1 ≤ 0xB1 − 1700δB1 ≤ 0xC1 − 2500δC1 ≤ 0xA2 − 2000δA2 ≤ 0xB2 − 1700δB2 ≤ 0xC2 − 2500δC2 ≤ 0xAi ≥ 0, xBi ≥ 0, xCi ≥ 0, i = 1, 2δAi ∈ 0, 1, δBi ∈ 0, 1, δCi ∈ 0, 1 i = 1, 2.

174

Page 177: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

12.2.2 Variabili indicatrici

Un altro classico uso di variabili 0−1, consiste nell’indicare le relazioni di dipendenza tra alcunegrandezze di un problema; tali variabili binarie vengono dette variabili indicatrici.Supponiamo di conoscere un limite superiore per la variabile x, cioe un valore M positivomaggiore del piu grande valore che puo assumere la x; allora introducendo il vincolo

x−Mδ ≤ 0 (12.1)

la variabile δ ∈ 0, 1 e forzata ad assumere valore 1 se x > 0; abbiamo, quindi, modellato lacondizione logica

x > 0 ⇒ δ = 1 (12.2)

e quindi anche la condizione equivalente δ = 0 ⇒ x = 0; ma la (12.1) non implica il viceversadella (12.2) cioe δ = 1 ⇒ x > 0; infatti dalla (12.1) si ha che se δ = 1 allora 0 ≤ x ≤ M , che esempre verificato.

Tuttavia, in alcuni casi, puo essere necessario imporre la condizione

δ = 1 ⇒ x > 0 (12.3)

(che e equivalente a x = 0 ⇒ δ = 0). La condizione logica (12.3) non si puo facilmenterappresentare con un vincolo;

Supponiamo, ad esempio, che in un problema di miscelazione una variabile x rappresentila quantita di un ingrediente da includere nella miscela e quindi si ha x ≥ 0; si puo usare unavariabile indicatrice δ ∈ 0, 1 per distinguere tra il caso in cui x = 0 e x > 0. La condizionelogica (12.3) afferma che se δ = 1 allora l’ingrediente rappresentato da x deve apparire nellamiscela, ma non fornisce nessuna indicazione sulla quantita dell’ingrediente. In realta e piuverosimile imporre una condizione logica del tipo

δ = 1 ⇒ x ≥ m > 0 (12.4)

cioe se δ = 1 allora la variabile x assume un valore almeno pari ad m.La (12.4) e rappresentabile dal vincolo

x−mδ ≥ 0. (12.5)

Riepilogando possiamo considerare il seguente schema: se x e una variabile non negativa eδ ∈ 0, 1 ed inoltre x < M e m > 0, allora

x−Mδ ≤ 0 implica

x > 0 ⇒ δ = 1δ = 0 ⇒ x = 0

x−mδ ≥ 0 implica

δ = 1 ⇒ x ≥ mx = 0 ⇒ δ = 0.

Analizziamo, ora, un esempio di miscelazione in cui applichiamo quanto appena esposto.

Esempio 12.2.2 Sia data la seguente tavola di valori nutrizionali che riporta il tipo di ali-mento, il costo unitario, le unita di sostanze (proteine, carboidrati, grassi, vitamine, calcio) perunita di alimento

175

Page 178: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

costo prot. carb. grassi vitam. calcio

1 0.15 0 7 1 1 02 0.23 1 0 3 1 43 0.79 5 0 4 0 14 0.47 2 2 1 3 05 0.52 0 3 0 2 1

Formulare un problema di PLI che permetta di trovare una dieta di costo minimo sapendoche si devono assumere almeno 3 unita di proteine, 10 unita di carboidrati, 2 unita di grasso, 3unita di vitamine e 2 unita di calcio e sapendo che se e presente l’alimento 1 la dieta non puocontenere l’alimento 5.

Formulazione.

E un classico problema di miscelazione; le quantita di alimenti presenti nella dieta si suppongonofrazionabili. A causa della presenza di una condizione logica, e necessario utilizzare, in aggiuntaalle variabili del problema, una variabile 0− 1 per modellarla cioe per esprimere con un vincoloil legame tra la presenza nella dieta dell’alimento 1 e dell’alimento 5.

– Variabili di decisione. Introduciamo come variabili del problema le unita di alimenti presentinella dieta, xi con i = 1, . . . , 5. Inoltre, introduciamo la variabile booleana δ ∈ 0, 1.– Vincoli. Si hanno i seguenti vincoli:

• Vincoli di qualita: la dieta deve contenere alcuni valori minimi di sostanze nutrizionali;dalla tabella si ottiene che deve essere

x2 + 5x3 + 2x4 ≥ 3

7x1 + 2x4 + 3x5 ≥ 10

x1 + 3x2 + 4x3 + x4 ≥ 2

x1 + x2 + 3x4 + 2x5 ≥ 3

4x2 + x3 + x5 ≥ 2

• Vincolo logico: se nella dieta e presente l’alimento 1 allora non deve esserci l’alimento 5.Vogliamo quindi definire dei vincoli che consentano di esprimere le seguenti condizionilogiche

x1 > 0 ⇒ δ = 1δ = 1 ⇒ x5 = 0

Secondo quanto descritto, cio puo essere modellato introducendo i vincoli

x1 −Mδ ≤ 0

x5 −M(1− δ) ≤ 0

dove M e un numero positivo maggiore del piu grande valore che possono assumere levariabili.

176

Page 179: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

• Vincoli di non negativita: Si tratta di quantita di alimenti, e quindi deve essere

xi ≥ 0 i = 1, . . . , 5.

– Funzione obiettivo. E il costo da minimizzare ed e data da

0.15x1 + 0.23x2 + 0.79x3 + 0.47x4 + 0.52x5.

Complessivamente la formulazione di PLI per questo problema puo essere scritta

min (0.15x1 + 0.23x2 + 0.79x3 + 0.47x4 + 0.52x5)x2 + 5x3 + 2x4 ≥ 37x1 + 2x4 + 3x5 ≥ 10x1 + 3x2 + 4x3 + x4 ≥ 2x1 + x2 + 3x4 + 2x5 ≥ 34x2 + x3 + x5 ≥ 2x1 −Mδ ≤ 0x5 −M(1− δ) ≤ 0xi ≥ 0 i = 1, . . . , 5δ ∈ 0, 1.

12.2.3 Il problema del commesso viaggiatore

Siano assegnate n citta che un commesso viaggiatore deve visitare in una settimana e la matriceD di dimensioni n× n delle distanze fra tutte le coppie di citta. Piu precisamente gli elementidella matrice D sono definiti nel seguente modo.

D(i, j) ≥ 0 indica la distanza della citta i dalla citta j,

D(i, i) = 0 per tutti gli i,

D(i, j) = D(j, i) per tutte le coppie (i, j).

Il commesso viaggiatore, partendo dalla citta in cui abita (sia per esempio la citta 1), vuoleeffettuare tutte le visite e ritornare alla fine alla citta di partenza, percorrendo una strada dilunghezza complessiva minima.

Introducendo le variabili binarie xij con il seguente significato.

xij = 1 se la citta j viene visitata subito dopo la citta i,

xij = 0 se la citta j non viene visitata subito dopo la citta i,

e indicando con π l’insieme di tutte le possibili partizioni (R,S) dell’insieme di citta (ossia taliche: RUS = insieme di tutte le citta, R 6= ∅, S 6= ∅, R ∩ S = ∅), e possibile formulare il

177

Page 180: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

problema come programmazione a numeri interi:

minn∑

i=1

n∑

j=1

[D(i, j)xij ]

n∑

i=1

xij = 1 per j = 1, 2, . . . , n

n∑

j=1

xij = 1 per i = 1, 2, . . . , n

i∈R,j∈S

xij ≥ 1 per (R,S) ∈ π

x ∈ 0, 1n×n.

Il primo insieme di vincoli garantisce che in ogni citta il commesso viaggiatore provenga dauna sola altra citta. Il secondo insieme di vincoli garantisce che dopo ogni citta il commessoviaggiatore prosegua per una sola altra citta. Il terzo insieme di vincoli garantisce che lasoluzione fornita dal modello sia formata da un unico percorso che attraversa tutte le citta enon da una serie disgiunta di percorsi che visitano sottoinsiemi diversi di citta.

Se non fosse per il terzo insieme di vincoli, il problema sarebbe uguale a quello dell’assegnamentovisto sopra. Il terzo insieme di vincoli complica il problema, facendo sı che non sia risolubilecon la programmazione lineare. In effetti si tratta di uno dei piu difficili problemi combinatoricon cui si ha normalmente a che fare e la sua soluzione richiede tipicamente algoritmi complessie notevole dispendio di tempo di calcolo. Si noti che il terzo insieme di vincoli ha cardinalitaesponenziale rispetto al numero di citta da visitare. Si tratta infatti di 2n−2 vincoli (in effettiesiste una formulazione piu sofisticata che permette di scrivere il problema con solo n2 vincoliaggiuntivi introducendo n variabili aggiuntive non binarie).

12.3 Relazioni tra PL e PLI

IN questo paragrafo, senza perdere di generalita, faremo riferimento a problemi di PLI puracioe del tipo:

z∗I = min cT xAx ≥ bx intera

(PLI)

Indichiamo con SI = x ∈ Zn : Ax ≤ b la regione ammissibile del problema PLI e con x∗I ∈ SI

la soluzione ottima, cioe cT x∗I = z∗I .Si chiama rilassamento lineare o rilassamento continuo il problema di PL ottenuto da PLIeliminando il vincolo di interezza:

z∗ = min cT xAx ≥ b

(PL)

Indichiamo con S il poliedro nello spazio continuo S = x ∈ Rn : Ax ≤ b e con x∗ ∈ S lasoluzione ottima del rilassamento, cioe cT x∗ = z∗.La regione di un Problema di PLI e ovviamente contenuta in quella del suo rilassamento PL(che e ottenuto, lo ripetiamo, eliminando un vincolo da PLI) ovvero SI ⊆ S. Di conseguenza il

178

Page 181: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

valore ottimo di PL e sicuramente non peggiore (migliore o al piu uguale) di quello di PLI cioe(trattandosi di minimizzazione)

z∗ ≤ z∗I ,

ovvero la soluzione del rilassamento lineare costituisce un limite inferiore al valore ottimo dellasoluzione ottima intera

In generale dati due insiemi S′ ⊆ S risulta

minx∈S′

f(x) ≥ minx∈S

f(x).

Per chiarire ulteriormente quanto detto facciamo un semplice esempio informale. Supponiamodi voler trovare lo studente piu giovane di una facolta. Si tratta di trovare lo studente (“puntoammissibile”) che minimizza la funzione obiettivo che associa ad ogni studente la sua eta. Con-sideriamo poi il problema di trovare lo studente piu giovane di tutta l’universita. Ovviamentel’insieme ammissibile di questo nuovo problema e piu ampio di quello del problema precedente,comprendendo tutti gli studenti di tutte le facolta (“problema rilassato”). Se noi risolviamoil “problema rilassato” il valore ottimo che troviamo (eta dello studente piu giovane di tuttal’universita) e ovviamente minore o tutt’al piu uguale al valore ottimo del problema di trovarelo studente piu giovane della facolta che ci interessa. Se poi risulta che lo studente piu giovanedi tutta l’universita e proprio uno studente della facolta d’interesse, allora e ovvio che questostudente e anche “la soluzione ottima” del problema originario, e cioe lo studente piu giovanedella facolta che ci interessa.

Dunque se la soluzione ottima del prblema di PL x∗ ∈ S e intera, significa che x∗ ∈ SI e dunquesi tratta anche della soluzione ottima del problema di PLI.

Se la soluzione ottima del rilassamento lineare x∗ ∈ S e intera allora questa e anche la soluzioneottima del problema di PLI, cioe x∗ = x∗I .

Se, invece, anche una sola delle componenti di x∗ ∈ S non e intera x∗ non e ammissibile per PLI,dunque tantomeno ottima. Si puo allora essere tentati di determinare una soluzione ottima diPLI arrotondando x∗ a un punto a coordinate intere “vicino” a x∗.

Questa Soluzione per Arrotondamento puo essere un metodo pratico di grande utilitaper la soluzione di PLI, se tutte variabili del problema sono variabili intere che rappresentano ilnumero di oggetti indivisibili usati o prodotti, ed e ragionevole aspettarsi che le variabili stesseabbiano valori abbastanza grandi all’ottimo. Inoltre i vincoli lineari dovrebbero essere tali dapoter facilmente decidere se l’ammissibilita e preservata arrotondando una variabile non interaal piu vicino valore intero (o, per esempio, al piu vicino valore intero inferiore). Per esempio,se x1 rappresenta il numero di automobili di un certo modello che devono essere assemblatedurante un mese e se esiste una limitazione inferiore su x1, e ragionevole aspettarsi che unvalore x1 = 1000.1 possa essere arrotondato a 1001 senza che venga violata l’ammissibilita. Setutte le variabili del problema sono di questo tipo e se esiste un metodo semplice di passaredalla soluzione non intera x di PR a una soluzione “vicina”, intera e ammissibile per PLI, alloraun ragionevole approccio pratico alla soluzione di PLI e quello di risolvere il suo rilassamentolineare ed arrotondare quindi la soluzione.

Tuttavia, se il valore delle variabili della soluzione ottima del rilassamento lineare e pre-sumibilmente piccolo, questa tecnica non e molto sensata. Se, per esempio, x1 rappresenta il

179

Page 182: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

numero di portaaeri che devono essere costruite dall’esercito italiano, e intuitivo capire che emolto difficile decidere se si debba arrotondare x1 = 2.5 a 2 o a 3, e che le due possibilita por-tano a risultati completamente diversi. La situazione diventa ancora piu drammatica quandole variabili intere sono, in realta, variabili binarie. In questi problemi le variabili 0-1 indicanoquale di due possibili scelte alternative deve essere attuata. In questo caso l’arrotondamento etotalmente privo di senso logico.

a

Figura 12.2: Soluzione per arrotondamento: primo esempio.

Consideriamo l’esempio di figura 12.2. Supponiamo che la soluzione del rilassamento linearesia a (x = a). Il punto a ha tutte le componenti non intere e tutti i punti a componenti intereottenuti arrotondando le sue componenti all’intero immediatamente superiore o inferiore nonsono ammissibili per PLI. Da questo esempio dovrebbe risultare chiaro, inoltre, che e possibilecostruire problemi PLI in cui la soluzione ottima del relativo rilassamento lineare e lontana“quanto si vuole” dal piu vicino punto ammisibile di PLI.

Anche nel caso in cui possa essere trovato un punto ammissibile “vicino” a x, questi puoessere molto lontano dalla soluzione ottima di PLI.

Un esempio al riguardo e dato nella figura 12.3, dove la soluzione ottima del rilassamentolineare e a, b e la soluzione ottenuta per arrotondamento, mentre c e la vera soluzione di PLI.

Esempio 12.3.1 [3] Sia consideri il problema

min −x1 − x2

−2x1 + 5x2 ≤ 52x1 − 2x2 ≤ 1x ≥ 0, intero

le cui soluzioni ammissibili sono:(

00

) (01

) (11

)

e l’ottimo e x∗I =(

11

)di valore z∗I = −2.

180

Page 183: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

a

c

b

direzione di crescitadella funzione obiettivo

Figura 12.3: Soluzione per arrotondamento: secondo esempio.

Risolvendo il suo rilassamento lineare

min −x1 − x2

−2x1 + 5x2 ≤ 52x1 − 2x2 ≤ 1x ≥ 0

(12.6)

si determina la soluzione x∗1 = 52 = 2.5, x∗2 = 2 con valore della funzione obiettivo z∗ = − 9

2 .Arrotondando questa soluzione sia all’intero superiore che inferiore si ottengono le due soluzioni(

22

),

(31

)che NON sono ammissibili. In figura 12.4 e disegnata la regione ammissibile S e

SI .

Dunque arrotondare una soluzione non intera puo non essere una buona strategia. Inoltre ebene sottolineare che l’arrotondamento puo essere computazionalmente oneroso. Infatti datauna soluzione frazionaria x ∈ IRn, possono esistere 2n vettori interi ottenuti arrotondando lecomponenti non intere di x al valore intero superiore o inferiore piu prossimo, e non si vedecon quale criterio si possa sceglierne uno quale soluzione di PLI. Inoltre molti (se non tutti)di questi 2n vettori possono non essere ammissibili per PLI, e il problema di determinare unvettore a componenti intere, ammissibile per PLI, e “vicino” a x puo essere, in generale, unproblema di difficolta paragonabile alla soluzione di PLI.

Osserviamo pero che uno stesso problema di PLI puo essere descritto in modo equivalente indiversi modi.

Esempio 12.3.1 (continua) Consideriamo il problema dell’esempio 12.6 a cui aggiun-

181

Page 184: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Figura 12.4: Soluzione grafica Esempio 12.6.

giamo il vincolo x1 ≤ 1min −x1 − x2

−2x1 + 5x2 ≤ 52x1 − 2x2 ≤ 1x1 ≤ 1x ≥ 0, intero

(12.7)

La regione ammissibile SI e invariata, mentre la regione ammissibile e la soluzione ottima delsuo rilassamento lineare cambia (vedi figura 12.5).

Se consideriamo il problemamin −x1 − x2

−2x1 + 5x2 ≤ 52x1 − 2x2 ≤ 2x2 ≤ 1x ≥ 0, intero

(12.8)

otteniamo la regione ammissibile in Figura 12.6 e la soluzione del rilassamento lineare coincidecon x∗I . Quest’ultima rappresentazione ha quindi un’interessante proprieta: la soluzione delproblema rilassato coincide con la soluzione ottima intera. S tratta dunque di una formulazione“ideale”.

182

Page 185: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Figura 12.5: Soluzione grafica Esempio 12.7.

Naturalmente la formulazione “ideale” non e in genere conosciuta. Se lo fosse, il problemadi PLI si potrebbe risolvere utilizzando un metodo per la PL che individua un vertice ottimo(ovvero con il metodo del simplesso). E pero possibile identificare dei problemi che godono diquesta proprieta. In particolare diamo la seguente definzione:

Definizione 12.3.2 Un poliedro si dice interose tutti i suoi vertici sono interi.

12.4 Proprieta di interezza e totale unimodularita

Allo scopo di ottenere una caratterizzazione dei poliedro interi, utilizziamo per semplicita laformulazione di poliedro in forma standard P = x ∈ IRn : Ax = b, x ≥ 0. Ricordiamola corrispondenza mostrata nel paragrafo 10.4.1 tra vertici di un poliedro in forma standarde Soluzioni di Base Ammissibili (individuate dal metodo del simplesso), xB = B−1b ∈ Rm,xN = 0. Dunque vogliamo ottenee una condizione che garantisca che B−1b sia intero perqualunque scelta della base B.Osserviamo preliminarmente che vale il seguente teorema:

Teorema 12.4.1 Se una matrice quadrata B con elementi interi ha determinante ±1, allorala sua inversa e intera

183

Page 186: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Figura 12.6: Soluzione grafica Esempio 12.8.

La dimostrazione e banale, ricordando la construzione della matrice inversa che e data dallamatrice aggiunta (intera se B e intera) diviso il determinante.Introduciamo la seguente definizione

Definizione 12.4.2 [2] Una matrice a componenti intere A (m × n) di rango m si dice uni-modulare se ogni sottomatrice quadrata m ×m non singolare di A ha determinante di valore−1, 1.

Dunque possiamo affermare [2]

Sia A una matrice (m×n) a componenti intere. Allora condizione sufficiente affinche il poliedro

P = x ∈ IRn : Ax = b, x ≥ 0

abbia tutti i vertici interi, per ogni b intero, e che la matrice A sia unimodulare.

Si dice invece che una matrice A e totalmente unimodulare se ogni sottomatrice quadrata di Aha determinante in −1, 0, 1.Teorema 12.4.3 Sia A una matrice (m×n) a componenti intere. Allora condizione sufficienteaffinche il poliedro

P = x ∈ IRn : Ax ≥ b, x ≥ 0

184

Page 187: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

abbia tutti i vertici interi, per ogni b intero, e che la matrice A sia totalmente unimodulare.

E quindi interessante poter individuare condizioni che garantiscano l’unimodularita di una ma-trice a componenti intere A (m× n).Una ovvia condizione necessaria per la totale unimodularita e che la matrice abbia tutti elementiaij ∈ 0, 1,−1. Non e pero una condizione sufficiente, infatti basta scegliere banalmente una

matrice del tipo(

1 1−1 1

)con determinante pari a 2.

Si puo dare una condizione sufficiente di totale unimodularita [2]:

Teorema 12.4.4 Sia A una matrice (m× n) con elementi aij ∈ 0, 1,−1. Se

1. ogni colonna abbia al piu due elementi diversi da zero;

2. e possibile partizionare gli indici di riga in due sottoinsiemi Q1 e Q2 tali che

(i) se la colonna j contiene due elementi aij 6= 0 e akj 6= 0 dello stesso segno allorai ∈ Q1 e k ∈ Q2;

(ii) se la colonna j contiene due elementi aij 6= 0 e akj 6= 0 di segno opposto allora oi, k ∈ Q1 oppure i, k ∈ Q2;

allora A e totalmente unimodulare.

Esempio 12.4.5 Verificare che la matrice

1 1 11 0 01 0 1

che non soddisfa la condizione sufficiente, e totalmente unimodulare.

Per matrici che hanno al piu due elementi diversi da zero per ogni colonna, la condizione 2del teorema precedente diventa una condizione necessaria e sufficiente di totale unimodularita:

Teorema 12.4.6 Sia A una matrice (m × n) con elementi aij ∈ 0, 1,−1 e tale che ognicolonna abbia al piu due elementi diversi da zero. Allora A e totalmente unimodulare se e solose e possibile partizionare gli indici di riga in due sottoinsiemi Q1 e Q2 tali che:

(i) se la colonna j contiene due elementi aij 6= 0 e akj 6= 0 dello stesso segno allora i ∈ Q1

e k ∈ Q2;

(ii) se la colonna j contiene due elementi aij 6= 0 e akj 6= 0 di segno opposto allora o i, k ∈ Q1

oppure i, k ∈ Q2.

Teorema 12.4.7 Se una matrice A e totalmente unimodulare, lo sono anche le matrici(

AI

) (A−I

) (A I

) (A − I

)

185

Page 188: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Esempio 12.4.8 Dire se la seguente matrice e totalmente unimodulare (dimostrando l’affer-mazione):

0 1 0 0 1 1 1 00 0 1 0 1 1 0 11 1 1 0 0 0 0 01 0 0 1 0 0 1 1

Soluzione.La condizione necessaria e verificata, poiche gli elementi sono tutti 0, 1. Inoltre ogni colonnadi A ha al piu due elementi non nulli, quindi sono verificate le ipotesi del Teorema 12.4.4.Costruiamo la partizione degli indici di riga. Se la riga 1 ∈ Q1 allora la riga 2 ∈ Q2, ma la riga3 non puo stare ne in Q1 per l’elemento a12 ne in Q2 per l’elemento a13. Quindi la matrice none totalmente unimodulare.

Esempio 12.4.9 Dire se la seguente matrice e totalmente unimodulare dimostrando l’affermazione.

1 1 0 0 −1 00 0 0 1 0 10 0 1 0 1 01 0 0 1 0 00 1 1 0 0 00 0 0 0 0 1

Soluzione.Sono verificate le ipotesi del Teorema 12.4.4. Esiste una partizione degli indici di riga, Q1 =1, 2, 3, Q2 = 4, 5, 6, che soddisfa le condizioni (i) (ii), quindi la matrice e totalmente uni-modulare.

Esempio 12.4.10 Verificare che la matrice del problema di assegnamento 12.1.2 e totalmenteunimodulare.

Esempio 12.4.11 Verificare che la matrice del problema di trasporto 3.3.2 e totalmente uni-modulare.

Esempio 12.4.12 Verificare che la matrice del problema di revenue management 3.3.3 e to-talmente unimodulare.

12.5 Tecniche di soluzione per problemi di PLI

In forma del tutto generale un problema di PLI puo essere scritto come

min cT xAx ≤ b0 ≤ x ≤ Ux intera

(PLI)

dove U e un vettore a n componenti che limita superiormente il valori che possono essere assuntidalle variabili. La presenza di questo vincolo implica che la regione ammissibile del problema PLI

186

Page 189: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

e limitata. Questa assunzione semplifichera le considerazioni svolte in questo paragrafo. Essae, peraltro, non limitativa, in quanto in ogni problema reale il valore assunto dalle componentidelle soluzioni ammissibili e sempre limitato superiormente da qualche costante.

In questo paragrafo consideriamo alcune tecniche risolutive per problemi di PLI. In partico-lare, dopo alcune brevi considerazione sulla soluzione per enumerazione totale e sulla soluzioneapprossimata per arrotondamento di problemi di PLI, descriveremo una delle piu note famigliedi algoritmi per la soluzione esatta di problemi di PLI: gli algoritmi di Branch and Bound.

Prima di procedere vogliamo introdurre un concetto molto importante, quello di problemarilassato, che verra ampiamento ripreso e utilizzato nel seguito. Dato il problema PLI si definiscesuo rilassamento lineare (o problema rilassato associato) il seguente problema.

min cT xAx ≤ b0 ≤ x ≤ U.

(PR)

Si tratta cioe di un problema di PL ottenuto eliminando dal problema PLI il vincolo di interezza.La regione di un Problema di PLI e ovviamente contenuta in quella del suo rilassamento PR(che e ottenuto, lo ripetiamo, eliminando un vincolo da PLI) e quindi ne segue che il valoreottimo di PR e sicuramente maggiore o uguale di quello di PLI. In particolare, se la soluzioneottima di PR e intera allora questa e anche la soluzione ottima di PLI.

12.5.1 La Tecnica del Branch and Bound

Abbiamo gia visto che una possibile, semplice tecnica di soluzione per PLI, purtroppo quasimai utilizzabile in pratica, e l’ enumerazione totale.

Il “Branch and Bound” (BB) fornisce, allora, una metodologia di ricerca della soluzione ot-tima che effettua una esplorazione parziale dell’insieme delle soluzioni ammisibile. In particolarela funzione obiettivo viene calcolata per una sottoinsieme (piccolo) delle soluzioni ammissibilicon la proprieta di contenere almeno una soluzione ottima. Descriviamo ora in maggior det-taglio i vari aspetti della procedura. Sia S(0) l’insieme delle soluzioni ammissibili PLI. Unapartizione di S(0) e una famiglia di sottoinsiemi (S(1), . . . , S(r)), r ≥ 2 tale che:

S(i) ∩ S(j) = ∅ per ogni coppia 1 ≤ i < j ≤ r

er⋃

i=1

S(i) = S(0)

Evidentemente, la soluzione ottima del problema originario e data dal massimo tra i valoriz(1)∗ = cT x(1)∗, . . . , z(r)∗ = cT x(r)∗ dove x(i)∗ e la soluzione ottima del sottoproblema PLIidefinito dal problema di minimizzare la funzione obiettivo del problema PLI sulla regione am-missibile S(i) (nel seguito, con un piccolo abuso di notazione, indicheremo spesso con S(i) siala regione ammissibile sia il sottoproblema PLIi). Se un certo sottoproblema PLIi risulta, asua volta, di difficile soluzione si partiziona ulteriormente l’insieme S(i) producendo nuovi sot-toproblemi ed iterando la procedura fino a che il problema originario non risulti decomposto inproblemi elementari di facile soluzione.

Cerchiamo di chiarire la procedura con un esempio informale. Supponiamo di dover trovarela persona piu giovane di un Ateneo. Risolvere questo problema confrontando le eta di tutti glistudenti fra loro (enumerazione totale) puo risultare in un processo troppo lungo. Si puo allora

187

Page 190: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

chiedere ai presidi di ogni facolta qual e lo studente piu giovane delle loro facolta e scegliere il piugiovane tra questi studenti. Abbiamo decomposto il problema originario in piu sottoproblemi:la determinazione dello studente piu giovane di ogni facolta. In alcuni casi la risoluzione diquesti sottoproblemi puo essere agevole. In altri casi il preside puo non essere in grado difornire facilmente il nome dello studente piu giovane della sua facolta. In questo caso si puoscomporre ulteriormente il problema. Per esempio, il preside puo chiedere a tutti i direttori diCorso di Laurea di fornirgli il nome dello studente piu giovane che frequenta l’istituto stesso.Da questi egli potra cosı risalire al nome dello studente piu giovane della facolta. E cosı via.

E evidente che la procedura appena descritta non compie una totale enumerazione dell’insiemeS ed e computazionalmente efficiente solo se il numero dei sottoproblemi generati si mantieneestremamente limitato e quindi solo se la strategia di soluzione dei sottoproblemi e sufficiente-mente efficace.

In generale pero, risolvere un sottoproblema puo essere altrettanto gravoso che risolvereil problema originario. E per questo che, in luogo della soluzione esatta del problema S(i)

si preferisce calcolare un “lower bound” di z(i)∗ e cioe un valore L(i) ≤ z(i)∗. Tale valoreviene poi confrontato con il miglior valore z (ad un certo passo della procedura) della funzioneobiettivo calcolata in un punto ammissibile (ottimo corrente). Se il valore approssimatorisulta non inferiore a quello dell’ottimo corrente, ovvero se

z ≤ L(i) ≤ z(i)∗

si deduce che non esiste nell’insieme S(i) un punto in cui la funzione obiettivo abbia un valoremigliore di z. Un tale risultato ci permette di sospendere l’esame dell’insieme S(i) e di eliminarlodalla lista dei sottoproblemi da risolvere.

Per tornare all’esempio informale precedente, supponiamo che il preside di una facolta abbiacomunicato che ha uno studente di eta 17 anni e 3 mesi (ottimo corrente). Supponiamo ancheche il preside di un’altra facolta, pur senza sapere esattamente qual e l’altezza esatta del suostudente piu alto, sia riuscito ad avere la certezza, con mezzi solo a lui noti, che ogni studentedella sua facolta non e piu giovane di 18 anni (lower bound). E evidente che e inutile farelo sforzo di cercare di trovare l’eta esatta del piu giovane studente della sua facolta, perchecomunque non sara lo studente piu giovane.

Evidentemente la soluzione del problema originario sara tanto piu efficiente quanto migliorisaranno i valori dei limiti inferiore (“lower bound”) ed a loro volta tali valori approssimerannotanto meglio il valore ottimo del sottoproblema quanto piu efficace sara stata la decomposizionedel problema originario. Di conseguenza l’efficienza della tecnica del BB dipende essenzialmentedalla qualita delle due strategie che ne caratterizzano la struttura:

(a) Strategia di Soluzione, ovvero la strategia per il calcolo di un valore che approssimi pereccesso (in un problema di massimo) il valore ottimo di un sottoproblema.

(b) Strategia di Separazione, ovvero la strategia per la scelta della partizione dell’insiemedelle soluzioni ammissibili di un sottoproblema.

E anche evidente che a seconda della strategia di soluzione e di quella di separazione adottate,lo schema generale appena descritto si concretizzera in un algoritmo differente.

Nel seguito di questo paragrafo descriveremo un possibile schema (semplificato) di BB checorrisponde a uno degli schemi di BB piu utilizzati nella pratica dando al contempo maggioresistematicita al metodo presentato.

188

Page 191: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Ricordiamo che vogliamo risolvere un problema di PLI della seguente forma

min cT xAx ≤ b0 ≤ x ≤ Ux intera

(PLI)

Questo problema, nel seguito sara indicato anche come problema S(0). Nel corso del metodoconsidereremo dei sottoproblemi che hanno una struttura simile. Piu precisamente consider-eremo sottoproblemi S(i) con la seguente struttura.

min cT xAx ≤ bl(i) ≤ x ≤ u(i)

x intera,

(Si)

dove i vettori n dimensionali l(i) e u(i) sono calcolati dall’algoritmo. Nel seguito indicheremo,inoltre, con x(i)∗ e z(i)∗ rispettivamente una soluzione ottima e il valore ottimo di Si.

La strategia che proponiamo per calcolare un limite inferiore L(i) di z(i)∗ e la seguente:

dato il problema S(i), risolvere il suo rilassamento lineare.Indichiamo con x(i) la soluzione ottima del rilassamento lineare di S(i) e con L(i) il corrispon-dente valore ottimo. Per quanto visto precedentemente il valore ottimo L(i) cosı ottenutocostituisce un limite inferiore di z(i)∗, inoltre il rilassamento lineare e facilmente risolubile conil metodo del simplesso.

Dobbiamo ora descrivere un metodo per la separazione di un generico S(i). Supponiamo diaver risolto il rilassamento lineare di S(i) e sia x(i) la sua soluzione ottima e, come gia detto, conU (i) il corrispondente valore ottimo. Se x(i) ha tutte componenti intere allora x(i) = x(i)∗ e ilproblema non va separato. Se U (i) e minore o uguale all’ottimo corrente, cioe al valore massimodella funzione obiettivo finora trovato, il problema non puo dar origine ad una soluzione interamigliore di quella corrente e non e necessario separarlo per trovare la sua soluzione ottimaintera. Supponiamo quindi che nessuno di questi due casi si sia verificato, e vediamo comeseperare questo sottoproblema. Sia x

(i)j una componente non intera del vettore x(i) (almeno

una ne deve esistere), αj la sua parte intera inferiore (ossia il piu grande intero minore o ugualea x(i)∗

j ) e βj la sua parte intera superiore (ossia il piu piccolo intero maggiore o uguale a x(i)j ).

Ovviamente valgono le seguenti relazioni:

αj < βj

βj − αj = 1.

Separiamo il problema S(i) nei seguenti due problemi

min cT xAx ≤ b(l(i))1 ≤ x ≤ u(i)

x intera,

(l(i))1j =

l(i)j se i 6= j

βj se i = j

emin cT x

Ax ≤ bl(i) ≤ x ≤ (u(i))2

x intera,

(u(i))2j =

u(i)j se i 6= j

αj se i = j

189

Page 192: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Notiamo che e facile convincersi che l’unione delle regioni ammissibili di questi due problemi dala regione ammissibile del problema S(i), di modo tale che questa e in effetti una separazionedel problema S(i) del tipo prima considerato.

Per concludere vogliamo osservare che dobbiamo considerare un altro caso che finora nonabbiamo menzionato. Nel risolvere il rilassamento del problema S(i) puo accadere che la regioneammissibile del rilassamento risulti vuota. Siccome la regione ammissibile del problema S(i)

e contenuta in quella del suo rilassamento, questo vuol dire che il problema S(i) ha regioneammissibile vuota, e quindi non c’e bisogno di separarlo.

Abbiamo ora tutti gli elementi per descrivere il metodo di B& B proposto.

1. Inizializzazione

Inizialmente il problema S(0) = PLI e l’unico problema candidato. La procedura inizia conl’applicazione della strategia di soluzione ad S(0) ottenendo un primo “lower bound” U (0).

Inoltre, viene calcolato un “upper bound” z per il problema S(0), cioe un valore sicura-mente non inferiore a quello z∗ della soluzione ottima. Tale valore viene usualmente ottenutoin corrispondenza ad una soluzione ammissibile x facile da individuare (ad es. mediante unasemplice euristica). I valori x e z vengono successivamente aggiornati nel corso della proceduranon appena vengono individuate soluzioni ammissibili per il problema originario con un val-ore piu alto della funzione obiettivo. Se non e possibile individuare facilmente una soluzioneammissibile si puo porre z = −∞, mentre x viene, per il momento lasciato indefinito.

Se l’ottimo del problema rilassato x(0) appartiene all’insieme S(0) il problema e risolto.Altrimenti e necessario applicare una strategia di separazione al problema S(0) ottenendo duenuovi problemi candidati S(1) ed S(2). Calcoliamo gli “lower bound” dei nuovi problemi otte-nendo i valori U (1) ed U (2). Se S(1) (S(2)) e vuoto allora ad U (1) (U (2)) viene convezionalmenteassegnato il valore −∞ (che vuol dire, in pratica, che il problema viene eliminato).

2. Passo generico dell’algoritmo.

Ad un generico passo dell’algoritmo supponiamo di avere la lista L = S(1), . . . , S(q) deisottoproblemi che non sono ancora stati partizionati (problemi terminali). Supponiamoinoltre che per ciascun sottoproblema S(i) sia stato calcolato l’“upper bound” U (i). Illustriamoora brevemente le possibili azioni dell’algoritmo in un passo generico.

2.1. Chiusura dei sottoproblemi dominati dall’ottimo corrente

Se L(i) ≤ z, detto (z(i))∗ il valore ottimo della funzione obiettivo per il problema S(i), abbiamoche:

z(i)∗ ≥ L(i) ≤ z

e quindi che nessuna soluzione migliore di z puo essere contenuta in S(i). In tal caso il problemaS(i) puo essere eliminato della lista dei problemi candidati e viene definito chiuso. Possiamoquindi immaginare che per tutti i problemi terminali superstiti (aperti) sia verificata la con-dizione U (i) > z. Se tutti i problemi terminali sono chiusi, l’algoritmo termina e l’ottimocorrente e una soluzione ottima del problema. Se, al contrario, la lista dei problemi terminalicontiene almeno un problema aperto, si procede nel modo seguente:

2.2. Scelta del problema aperto da esaminare

Esistono diverse strategie di scelta, tra queste le piu usate sono le seguenti:

190

Page 193: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

(1) Scelta del problema con il massimo “lower bound”. Tale scelta ha lo scopo di esaminareper primi quei problemi in cui e piu probabile trovare una soluzione ottima. Infatti, sela strategia di soluzione produce buone soluzioni approssimate, a valori alti del “lowerbound” corrisponderanno alti valori delle soluzioni ottime dei sottoproblemi. Pertanto,esaminando il sottoproblema aperto cui corrisponde il massimo valore del “upper bound”si avra una maggiore probabilita di individuare la soluzione ottima.

(2) Scelta con criterio di priorita LIFO (Last In First Out). In questo caso i sottoproblemi ter-minali sono gestiti dalla procedura secondo lo schema a stack. In particolare, il problemascelto e l’ultimo problema generato nella fase di separazione.

2.3. Esame di un sottoproblema terminale

Sia S(i) il problema scelto in accordo ad uno dei criteri presentati al punto 2.1 e sia L(i) l’“lowerbound”associato ad S(i). Inoltre, sia x(i) l’ottimo del problema rilassato, cioe il punto chesoddisfa L(i) = cT x(i). Abbiamo le seguenti possibilita:

2.3.1. x(i) appartiene ad S(i)

Se l’ottimo del problema rilassato x(i) appartiene ad S(i) abbiamo che esso e ottimo ancheper il sottoproblema S(i). Inoltre poiche il problema S(i) e aperto abbiamo che L(i) > z equindi che x(i) e una soluzione ammissibile del problema originario con valore della funzioneobiettivo (cT x(i) = L(i)) migliore di z. Di conseguenza, possiamo porre x = x(i) e z = L(i).(aggiornamento dell’ottimo corrente). In ogni caso il problema S(i) viene chiuso e si iniziail passo successivo.

2.3.2. x(i) non appartiene ad S(i)

In tal caso si deve applicare la strategia di separazione precedentemente illustrata, produrre idue nuovi sottoproblemi ed aggiungerli alla lista dei problemi terminali, calcolare i loro “up-per bound”, eliminare il problema S(i) dalla lista dei problemi terminali ed iniziare il passosuccessivo. 2

ATTENZIONE: se invece di un problema di minimo si ha a che fare con un problema dimassimizzazione, cioe

max cT xAx ≤ b0 ≤ x ≤ U x intera

Il valore della soluzione del problema rilassato costituisce un “upper bound” U e risulta z∗I ≤ U .Una qualunque soluzione ammissbile intera costituisce invece il “lower bound”.

12.5.2 Esempi

Completiamo con degli esempi di applicazione del metodo appena descritto.

Esempio 1. Sia dato il seguente problema di programmazione lineare a numeri interi2:

(S(0)) max 3x1 + x2

2Ricordiamo che con Z si indica l’insieme dei numeri interi

191

Page 194: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

7x1 + 2x2 ≤ 22−2x1 + 2x2 ≤ 11 ≤ x1 ≤ 40 ≤ x2 ≤ 3x1, x2 ∈ Z

Il problema e un problema di massimizzazione, quindi le soluzioni dei problemi rilassatiforniranno dei limiti superiori (”upper bounds”) al valore della soluzione ottima intera. Inoltre,il valore della funzione obiettivo calcolato in corrispondenza ad una soluzione ammissibile forniraun limite inferiore (”lower bound”). La soluzione ottima x(0) del rilassamento lineare di S(0) ex(0) = (7/3, 17/6)′ e fornisce un ”upper bound” pari a U (0) = z(x(0)) = 59/6 = 9.8333 . . ..

Se effettuiamo un semplice arrotondamento all’intero inferiore delle componenti di x(0)

otteniamo il vettore xT = (2, 2). Poiche tale vettore e ammissibile per S(0), possiamo porrel’ottimo corrente pari ad x ed il primo ”lower bound” al valore z(x) = 8.

Non e possibile chiudere il problema S(0) in quanto la soluzione x non e intera e l’”upperbound” e strettamente maggiore del ”lower bound”. Il problema viene quindi inserito nella listaL dei problemi candidati.

Viene selezionato un problema in L = S(0). In particolare, viene estratto dalla lista ilproblema S(0). Si procede quindi alla separazione di S(0). Possiamo separare rispetto ad unaqualsiasi delle variabili non intere, per semplicita decidiamo di separare rispetto alla variabilecon indice piu piccolo (x1). A tale scopo, aggiungiamo ai vincoli della formulazione di S(0), idue vincoli x1 ≥ 3 (x1 ≥ dx1e3) e x1 ≤ 2 (x1 ≤ bx1c4), ottenendo i due problemi seguenti :

(S(1)) max 3x1 + x2

7x1 + 2x2 ≤ 22−2x1 + 2x2 ≤ 11 ≤ x1 ≤ 20 ≤ x2 ≤ 3x1, x2 ∈ Z

(S(2)) max 3x1 + x2

7x1 + 2x2 ≤ 22−2x1 + 2x2 ≤ 13 ≤ x1 ≤ 40 ≤ x2 ≤ 3x1, x2 ∈ Z

3Ricordiamo che dx1e indica il piu piccolo numero intero maggiore o uguale a x14Ricordiamo che bx1c indica il piu grande numero intero minore o uguale a x1

192

Page 195: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Il rilassamento lineare del problema S(1) ha soluzione x(1) = (2, 5/2)′ di valore U (1) =z(x(1)) = 8.5. La soluzione del rilassamento lineare del problema S(2) e, invece, x(2) = (3, 1/2)′

di valore U (2) = z(x(2)) = 9.5.Entrambi i problemi non sono eliminabili e vengono quindi inseriti nella lista L.Viene scelto un problema nella lista L = S(1), S(2) dei problemi candidati. In particolare

esaminiamo il problema S1

La prima componente di x(1) e intera mentre la seconda componente e frazionaria. Scegliamoquindi la variabile x2 per effettuare la separazione. A tale scopo, aggiungiamo alla formulazionedi S(1) i due vincoli x2 ≤ 2 e x2 ≥ 3 . In tal modo, otteniamo o i due problemi seguenti :

(S(3)) max 3x1 + x2

7x1 + 2x2 ≤ 22−2x1 + 2x2 ≤ 11 ≤ x1 ≤ 20 ≤ x2 ≤ 2x1, x2 ∈ Z

(S(4)) max 3x1 + x2

7x1 + 2x2 ≤ 22−2x1 + 2x2 ≤ 11 ≤ x1 ≤ 23 ≤ x2 ≤ 3x1, x2 ∈ Z

La soluzione del rilassamento lineare del problema S(3) e x(3) = (2, 2)′ ed ha valore U (3) =z(x(3)) = 8. Il problema S(4), invece, non ha soluzioni ammissibili. Di conseguenza, poniamoU (4) = −∞.

E possibile chiudere sia il problema S(3) che il problema S(4). Il primo in quanto la soluzionedel rilassamento lineare e intera, il secondo in quanto non ha soluzione ammissibili (ovveropoiche U (4) < z). Nessuno dei due viene quindi inserito nella lista L.

Si osservi che, pur essendo x(3) una soluzione intera, non aggiorniamo l’ottimo corrente inquanto x = x(3).

Estraiamo dalla lista L = S(2) il problema S(2) (unico problema rimasto) ed effettuiamola separazione rispetto alla variabile x(2) (infatti la seconda componente di x(2) e frazionaria).Dobbiamo aggiungere alla formulazione di S(2) i due vincoli x2 ≤ 0 e x2 ≥ 3 . In tal modo,otteniamo i due problemi seguenti :

(S(5)) max 3x1 + x2

7x1 + 2x2 ≤ 22−2x1 + 2x2 ≤ 1

193

Page 196: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

3 ≤ x1 ≤ 40 ≤ x2 ≤ 0x1, x2 ∈ Z

(S(6)) max 3x1 + x2

7x1 + 2x2 ≤ 22−2x1 + 2x2 ≤ 13 ≤ x1 ≤ 41 ≤ x2 ≤ 3x1, x2 ∈ Z

La soluzione del rilassamento lineare del problema S(5) e x(5) = (3.14 . . . , 0)′ ed ha val-ore U (5) = z(x(5)) = 9.428 . . .. Il problema S(6), invece, non ha soluzioni ammissibili. Diconseguenza, poniamo U (6) = −∞.

Il problema S(6) viene chiuso in quanto non ha soluzione ammissibili, il problema S(5) none eliminabile e va quindi inserito nella lista L. Infatti il suo valore ottimo e pari a 9.428 . . .,poiche tale valore e migliore di quello della soluzione intera trovata (ossia 8), il problema none eliminabile (nella sua regione ammissibile potrebbe trovarsi una soluzione intera migliore diquella corrente).

Nella lista L vi e ora solo il problema S5, che viene quindi scelto. Viene effettuata laseparazione rispetto alla variabile x1. A tale scopo, si aggiungono alla formulazione di S(5) idue vincoli x1 ≤ 2 e x1 ≥ 4, ottenendo i due problemi:

(S(7)) max 3x1 + x2

7x1 + 2x2 ≤ 22−2x1 + 2x2 ≤ 13 ≤ x1 ≤ 30 ≤ x2 ≤ 0x1, x2 ∈ Z

(S(8)) max 3x1 + x2

7x1 + 2x2 ≤ 22−2x1 + 2x2 ≤ 14 ≤ x1 ≤ 40 ≤ x2 ≤ 0x1, x2 ∈ Z

194

Page 197: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

La soluzione del rilassamento lineare del problema S(7) e x(7) = (3, 0)′ ed ha valore U (7) =z(x(7)) = 9. Il problema S(8), invece, non ha soluzioni ammissibili. Di conseguenza, poniamoU (8) = −∞.

I problemi S(7) e S(8) possono essere chiusi: il primo in quanto la soluzione ottenuta eintera, il secondo in quanto non ha soluzione. La soluzione intera di S(7) e migliore di quellacorrente e quindi la soluzione corrente viene aggiornata (si pone xT = (3, 0)).

La lista L e ora vuota, il procedimento quindi termina. La soluzione ottima e data dallasoluzione corrente, ossia dalla soluzione del problema S(7):

I vari passi della procedura di soluzione possono essere schematizzati utilizzando il cosid-detto Albero di Enumerazione riportato in figura 12.7. In tale albero i nodi indicano i problemimentre i rami stabiliscono le relazioni padre-figlio (generatore-generato) nel processo di gener-azione.

0

1 2

3 654

7 8

Figura 12.7: Albero di enumerazione.

Esempio 2. Passiamo ora ad esaminare, piu sinteticamente il secondo esempio. Sia dato ilseguente problema di programmazione lineare a numeri interi.

max x1 + x2

2x1 + 5x2 ≤ 30

4x1 − 3x2 ≤ 6

0 ≤ x1

0 ≤ x2

x1, x2 ∈ Z

(S(0))

Notiamo che in questo problema non sono esplicitamente presenti gli “upper bound” sule vari-abili. Essendo comunque la regione ammissibile del problema rilassato limitato, non e comunquenecessario inserirli esplicitamente. E facile convincersi che nulla cambia nell’applicazione dell’algoritmoe nella sua validita.

195

Page 198: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Poniamo inizialmente z = −∞ e risolviamo il rilassamento lineare di S(0). Si ottiene

U (0) =11413

x(0) = (6013

,5413

).

Essendo U (0) > z si separa rispetto alla variabile x1. Si elimina S(0) dalla lista L, e vi siaggiungono i due nuovi problemi S1 e S2 individuati dai seguenti vincoli aggiuntivi.

S1 : x1 ≤ 4S2 : x1 ≥ 5.

Si avra pertanto L = S1, S2.Si sceglie S1 da L e si risolve il suo rilassamento. Si ottiene

U1 =425

x1 = 4 x2 =225

Essendo U1 > z si elimina S1 da L e vi si aggiungono, invece altri due problemi, S3 e S4,individuati dai seguenti vincoli aggiuntivi.

S3 : x1 ≤ 4 x2 ≤ 4S4 : x1 ≤ 4 x2 ≥ 5.

Risulta pertanto L = S2, S3, S4.Si sceglie S3 da L e si risolve il suo rilassamento. Si ottiene

U3 = 8 x1 = 4 x2 = 4

Essendo U3 > z ed essendo intera la soluzione trovata, si pone

z = U3 = 8 x1 = x1 = 4 x2 = x2 = 4,

e si elimina il problema S3. Risulta a questo punto L = S2, S4.Si sceglie S4 da L e si risolve il suo rilassamento. Si ottiene

U4 =152

x1 =52

x2 = 5

Essendo U4 < z si chiude S4 e la lista diventa L = S2.Si sceglie S2 dalla lista e si risolve il suo rilassamento. Si vede che non esistono soluzioniammisibili. Si chiude S2 e la lista L e vuota. La soluzione corrente e la soluzione ottima.

z∗ = 8 x∗1 = 4 x∗2 = 4.

12.6 Il problema del Knapsack

Descriveremo ora in modo completo un algoritmo di ’Branch and Bound’ per la soluzione di unproblema di Knapsack. In particolare, descriveremo la procedura per individuare un “upperbound” del problema e la strategia di separazione utilizzata. Il problema e il seguente:

max cT x

aT x ≤ b

xi ∈ 0, 1, i = 1, . . . , n

196

Page 199: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

dove a e c sono vettori in IRn a componenti non negative e b > 0 e un numero reale. Questoproblema ha l’interessante proprieta che la soluzione del suo rilassamento lineare puo essereottenuta, senza usare il metodo del simplesso, nel modo seguente:

1. Si ordinano le variabili secondo i rapporti valore/ingombro decrescenti in modo tale che:

c1

a1≥ c2

a2≥ . . . ≥ cn

an

2. Si determina l’indice h ∈ 1, . . . , n tale che:

h∑

i=1

ai ≤ b

h+1∑

i=1

ai > b

(ponendo h = 0 se a1 > b).

3. La soluzione del rilassamento lineare del problema di knapsack sara il vettore x cosıdefinito:

x1 = . . . = xh = 1xh+2 = . . . = xn = 0

xh+1 =(b−∑h

i=1 ai)ah+1

Esempio Nell’esempio, oltre alla strategia di calcolo del “upper bound” descritta nel §12.6,useremo una tecnica di separazione binaria sulla variabile frazionaria e sceglieremo il problemada esaminare in base alla strategia LIFO.

Esempio 12.6.1 Sia dato il seguente problema:

(S0) max 4x1 + 4x2 + 3x3 + x4

2x1 + 3x2 + 3x3 + 2x4 ≤ 7x ∈ 0, 1n

risolvere con il metodo del Branch and Bound.

Osserviamo innanzitutto che gli indici delle variabili soddisfano le condizioni di ordinamentodei rapporti valore/ingombro.

1. Inizializzazione La soluzione ottima del rilassamento lineare e:

197

Page 200: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

x0 = [1, 1,23, 0]

Il valore corrispondente dell “upper bound” e U0 = 10. Una soluzione ammissibile (ma nonottima) del problema e x = [1, 1, 0, 0], ottenuta arrotondando all’intero inferiore le componentidi x0. Il suo valore (’lower bound’) e z = 8 Poiche l’ottimo rilassato non e intero (e quindinon appartiene a S0 = S) dobbiamo separare il problema S0. Poiche la componente (x0)3 efrazionaria, scegliamo la variabile x3 e la fissiamo ad 1 e 0 ottenendo, rispettivamente, i problemiS1 ed S2, le cui formulazioni sono:

(S1) max 4x1 + 4x2 + 3x3 + x4

2x1 + 3x2 + 2x4 ≤ 4x ∈ 0, 1n, x3 = 1

(S2) max 4x1 + 4x2 + 3x3 + x4

2x1 + 3x2 + 2x4 ≤ 7x ∈ 0, 1n, x3 = 0

Calcoliamo, utilizzando la strategia sopra descritta, le soluzioni ottime dei problemi rilassati:

x1 = [1,23, 1, 0], x2 = [1, 1, 0, 1]

I valori dei corrispondenti ’upper bounds’ saranno U1 = 9.6 ed U2 = 9. La lista dei problemi

terminali sara L = S1, S2.Passo 1.

(1a) Chiusura dei problemi terminali dominati dall’ottimo corrente Poiche U1 > z e U2 > z

nessuno dei due problemi puo essere chiuso.

(1b) Scelta del problema (aperto) da esaminare Si adotta una strategia LIFO. Viene scelto il

problema S2.

(1c) Esame del problema scelto

Poiche x2 appartiene ad S2 (infatti e una soluzione intera) l’ottimo corrente viene aggiornato.In particolare, si pone z = U2 = 9 ed x = x2 = [1, 1, 0, 1]. Il problema S2 viene poi rimossodalla lista dei problemi terminali che diviene L = S1.

Passo 2.

(2a) Chiusura dei problemi terminali dominati dall’ottimo corrente.Poiche U1 > z l’unico problema nella lista non puo essere chiuso.

(2b) Scelta del problema (aperto) da esaminare. Ovviamente S1.

198

Page 201: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

(2c) Esame del problema scelto

Poiche x1 non appartiene ad S1 (infatti e una soluzione non intera) l’ottimo corrente non vieneaggiornato. Di conseguenza, il problema S1 deve essere decomposto. Poiche la componente(x1)2 e frazionaria, scegliamo la variabile x2 e fissiamola a 0 ed 1 ottenendo i problemi S3 edS4 le cui formulazioni sono:

(S3) max 4x1 + 4x2 + 3x3 + x4

2x1 + 2x4 ≤ 4x ∈ 0, 1n, x3 = 1, x2 = 0

(S4) max 4x1 + 4x2 + 3x3 + x4

2x1 + 2x4 ≤ 1x ∈ 0, 1n, x3 = 1, x2 = 1

Calcoliamo le soluzioni ottime dei problemi rilassati:

x3 = [1, 0, 1, 1], x4 = [12, 1, 1, 0]

I valori dei corrispondenti “upper bound” saranno U3 = 8 ed U4 = 9. La lista dei problemiterminali sara L = S3, S4.

Passo 3.

(3a) Chiusura dei problemi terminali dominati dall’ottimo corrente.Poiche Ui ≤ z per i = 3, 4 entrambi iproblemi possono essere chiusi. Di conseguenza la soluzioneottima e x = [1, 1, 0, 1] di valore z = 9.

Esempio 12.6.2 Risolvere il problema di knapsack dell’esercizio 12.6.1, utilizzando il metododel Branch and Bound utilizzando come strategia di scelta del problema da esaminare il criteriodel massimo upper bound.

199

Page 202: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Capitolo 13

Grafi e modelli su grafi

In questo capitolo introduciamo la nozione di grafo ed alcune definizioni ad essa collegate. Igrafi sono una struttura matematica molto usata nelle applicazioni e si prestano a rappresentareproblemi apparentemente molto diversi tra di loro con un linguaggio semplice ed unificato.Questo spiega la loro importanza nella matematica applicata e, in particolare, nella RicercaOperativa.

13.1 Definizioni fondamentali

Un grafo non orientato G = (V, E) e definito da un insieme finito V (G) = v1, . . . , vn dielementi detti nodi o vertici e da un insieme E(G) = e1, . . . , em ⊆ V × V di coppie nonordinate di nodi dette archi o spigoli.

Dato l’arco e = (v, w) = (w, v), i nodi v e w sono detti estremi di e, e si dice che l’arco eincide su u e v. Una comoda rappresentazione del grafo viene mostrata in figura 13.1a. I nodisono rappresentati da cerchi, mentre gli archi sono tratti di curva congiungenti i due estremi.Per il grafo G = (V,E) rappresentato in figura si ha

V = v1, v2, v3, v4, v5E = e1, e2, e3, e4, e5, e6 = (v1, v2), (v2, v3), (v1, v5), (v3, v5), (v3, v4), (v4, v5).

Se gli estremi di un arco coincidono, l’arco e detto loop (Fig. 13.1b). I grafi di cui ci occuperemonel seguito non conterranno loop, a meno che non sia altrimenti specificato.

Due nodi u, v sono detti adiacenti (reciprocamente) se l’arco (u, v) appartiene ad E. Nellafigura sono adiacenti, per esempio, i nodi v1 e v2. Due archi sono detti adiacenti se hanno unestremo in comune, come gli archi e2 ed e4 in figura.

Si definisce intorno di un nodo v in G, indicato con ω(v), l’insieme dei nodi adiacenti a v.Nella figura ω(v5) = v1, v3, v4. Un nodo v si dice isolato se ω(v) = ∅. Si definisce stella di vin G, indicata con δ(v), l’insieme degli archi incidenti su v. Nella figura δ(v5) = e3, e4, e6.

Si definisce sottografo di G = (V,E) un grafo H = (W,F ) tale che W ⊆ V e F ⊆ E.Si definisce sottografo indotto da W ⊆ V in G = (V, E) il grafo H = (W,F ), ove l’insiemedegli archi F e tale che l’arco (u, v) appartiene a F se e solo se: (u, v) ∈ W e (u, v) ∈ E.Informalmente possiamo dire che il sottografo H eredita tutti gli archi di G i cui estremi sonoentrambi contenuti nel sottoinsieme W . In figura 13.2 vengono mostrati due sottografi del grafo

200

Page 203: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

v1

v2

v5

v4

v3

e1

e2

e3

e4

e5

e6

a)

v

b)

e

Figura 13.1: a) Grafo non-orientato b) Loop

di figura 13.1. Il primo non e un sottografo indotto (”manca” l’arco e4), mentre il secondo eindotto in G dall’insieme di nodi v2, v3, v4, v5.

v1

v2

v5

v3

e1

e2

e3

a)

v2

v5

v4

v3e2

e4

e5

e6

b)

Figura 13.2: a) Sottografo b) Sottografo indotto

Un grafo orientato G = (V,E) e definito da un insieme finito V (G) = v1, . . . , vn dielementi detti nodi e da un insieme E(G) = e1, . . . , em ⊆ V × V di coppie ordinate di nodidette archi. L’arco e = (v, u), si dice orientato dal nodo v al nodo u. I nodi v e u sono dettiestremi di e, e si dice che l’arco e incide su v e u. Notiamo che a differenza del caso nonorientato, l’arco (v, u) e distinto dall’arco (u, v). Una rappresentazione del grafo orientato vienemostrata in figura 13.3. L’unica differenza con la rappresentazione del grafo non orientato stanella presenza sull’arco di una freccia che indica l’orientamento dell’arco stesso.

Analogamente al caso non-orientato, si definisce stella di v in G, indicata con δ(v), l’insiemedegli archi incidenti su v. In figura 13.3, ω(v1) = e1, e2, e5. La stella δ(v) puo essere partizion-ata in stella entrante δe(v), cioe l’insieme degli archi entranti in v, e in stella uscente δu(v),l’insieme degli archi uscenti da v. Nell’esempio, δe(v1) = e2, mentre δu(v1) = e1, e5.Analogamente l’intorno ω(v) puo essere partizionato in ωe(v) = w : (w, v) ∈ δe(v) eωu(v) = w : (w, v) ∈ δu(v). Sottografi e sottografi indotti sono definiti come per il caso

201

Page 204: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

v1

v2

v5

v3

e1e2

e3

a)

e4

e5

u

v

coda

testa

b)

v4

e6

Figura 13.3: a) Grafo orientato b) Arco orientato

non orientato.

Cammini, Cammini Orientati, Cicli. Dato un grafo G = (V, E) (indifferentementeorientato o non orientato), ove V = v1, . . . , vn e E = e1, . . . , em diremo cammino in (di)G, un insieme ordinato P = vj0 , eh1 , vj1 , eh2 , . . . , vjp−1 , ehp , vjp con: jk ∈ 1, . . . , n, hi ∈1, . . . ,m, per k = 0, . . . , p e i = 1, . . . , p, e con l’arco ehi incidente sui nodi vji−1 e vji .

1

Notiamo che nel caso del grafo orientato, l’orientamento degli archi del cammino e indifferente.Si richiede semplicemente che l’arco ehi incida sui nodi vji−1 e vji . I nodi vj0 e vjp sono dettiestremi del cammino P . Un cammino e detto semplice se gli archi e i nodi che lo definisconosono tutti distinti.

v1

v2

v5

v4

v3

e1

e2

e3

e5

a) b)

v1

v2

v5

v3

e2

e3

e5

Figura 13.4: Cammini semplici

In figura 13.4a e mostrato un cammino semplice del grafo non orientato di figura 13.1,P = v5, e3, v1, e1, v2, e2, v3, e5, v4, mentre in figura 13.4b e mostrato il cammino semplice

1Spesso, quando non c’e possibilita di ambiguita, un cammino viene indicato indicando la sequenzadei soli nodi o quella dei soli archi

202

Page 205: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

del grafo orientato di figura 13.3, P = v5, e5, v1, e2, v2, e3, v3. In figura 13.5a e mostrato ilcammino (non semplice) del grafo non orientato di figura 13.1, P = v1, e1, v2, e2, v3, e5, v4,e6, v5, e4, v3, e5, v4. Notiamo che se in un grafo esiste un cammino fra i nodi u e v, esistera uncammino semplice fra u e v.

In un grafo orientato, chiameremo cammino orientato un cammino P = vj0 , eh1 , vj1 , . . . , ehp , vjptale che ehi

= (vji−1 , vji). Nel cammino orientato e dunque importante anche l’orientamento

degli archi. In figura 13.5b e mostrato il cammino orientato del grafo orientato di figura 13.3,P = v1, e1, v2, e3, v3, e4, v5. Se u e v sono, rispettivamente, il primo e l’ultimo nodo di uncammino orientato P , si dira che P va da u a v.2

v1

v2

v5

v4

v3

e1

e2

e4

e5

e6

v3

e5v4

v1

v2

v5

v3

e1

e3

b)

e4

a)

Figura 13.5: a) Cammino (non semplice) b) Cammino orientato

Un cammino e detto chiuso se i suoi estremi coincidono. Definiremo ciclo un camminochiuso C = vj0 , eh1 , vj1 , . . . , vhp−1 , vhp−1 , ehp , vj0, tale che vj0 , eh1 , vj1 , . . . , ehp−1 , vhp−1 eun cammino semplice. Il cammino chiuso P = v1, e1, v2, e2, v3, e3, v4, e4, v2, e5, v5, e6, v1 difigura 13.6a non e un ciclo perche il cammino P = v1, e1, v2, e2, v3, e3, v4, e4, v2, e5, v5 non esemplice (il nodo v2 e contenuto due volte). In figura 13.6b e mostrato un ciclo. Notiamo che an-cora una volta l’orientamento degli archi nei grafi orientati e indifferente. Per i grafi orientati sidefinisce ciclo orientato un camino orientato chiuso C = vj0 , eh1 , vj1 , . . . , ehp−1 , vhp−1 , ehp , vj0,tale che vj0 , eh1 , vj1 , . . . , ehp−1 , vhp−1 e un cammino orientato semplice (Fig. 13.6c)

Alberi. Dato un grafo G = (V, E) (orientato o non orientato), un nodo v ∈ V si dice connessoa un nodo u ∈ V se esiste un cammino (non necessariamente orientato) tra v e u. Un grafo(orientato o non orientato) e detto aciclico se non contiene cicli (non necessariamente orientati)come sottografi. Si dice albero un grafo aciclico e connesso. Ogni grafo aciclico e l’unione diuno o piu alberi e viene detto foresta. In figura 13.7a e mostrato un albero, in figura 13.7b unaforesta.

Grafi bipartiti Un grafo G = (V, E) non orientato e detto bipartito se e possibile trovareuna partizione V1, V2 dei suoi nodi 3 tale che gli estremi di ogni arco appartengono uno a V1 e

2Spesso, quando si tratta di grafi orientati e non ci sia possibilita di ambiguita, si indica col nomedi cammino quello che piu propriamente dovrebbe essere chiamato cammino orientato

3Deve risultare, cioe, V1 ∪ V2 = V e V1 ∩ V2 = ∅

203

Page 206: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

v1

v2 v4

v3

e1

e2

e4

e3

a)

e5

e6 v5

b) c)

Figura 13.6: a) Cammino chiuso b) Ciclo c) Ciclo orientato

v1

v2 v3

v4a) b)

v6v5 v7

v1

v2 v3

v4

v5

v6

Figura 13.7: a) Albero b) Foresta

204

Page 207: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

uno a V2. Nella figura 13.8 e riportato un esempio di grafo bipartito.

Figura 13.8: Grafo bipartito

Spesso un grafo bipartito viene indicato, mettendo in evidenza la partizione dell’insieme deinodi, come G = (V1, V2, E).

13.2 Rappresentazioni di un grafo

Un grafo G(V,E) puo essere rappresentato in molti modi diversi. Nelle pagine precedentiabbiamo gia incontrato due modi diversi: la rappresentazione estensiva e quella grafica.

Nella rappresentazione estensiva vengono elencati tutti gli elementi dell’insieme V e tuttiquelli dell’insieme E, nella rappresentazione grafica, invece, il grafo viene rappresentato me-diante un disegno in cui ai nodi si fanno corrispondere piccoli cerchi e agli archi tratti dicurva congiungenti i cerchi. Gia da questi due esempi si capisce che, benche concettualmenteequivalenti, questi modi diversi di rappresentare un grafo possano avere caratteristiche moltodifferenti. Per esempio, la rappresentazione grafica e molto immediata e ci da subito una visioneintuitiva delle caratteristiche del grafo, e molta della terminologia introdotta finora e ispirataproprio dalla rappresentazione grafica. Tuttavia, se, come spesso accade nella pratica, il grafoha moltissimi nodi (per esempio migliaia) si capisce subito che la rappresentazione grafica none piu di pratica utilita.

Allora e utile avere a disposizione diversi modi di rappresentare un grafo. La decisione discegliere una rappresentazione piuttosto che un’altra andra poi fatta di volta in volta in baseal problema che si vuole risolvere, alle dimensioni del grafo, alle sue caratteristiche etc.

Nel seguito consideriamo la rappresentazione di un grafo tramite la matrice di incidenza. Talerappresentazione e preferibile in alcune applicazioni della Ricerca Operativa per la sua corrispon-denza ad alcune formulazioni standard di modelli di ottimizzazione e la conseguente maggiorfacilita di analisi del modello. La matrice di incidenza e una matrice n × m. La matrice haquindi un numero di righe pari al numero di nodi e un numero di colonne pari al numero diarchi.

Nel caso di grafi non orientati, il generico elemento ai,j della matrice sara

aij = 1 se arco j incide su nodo i

0 altrimenti

205

Page 208: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Nel caso di grafi orientati, il generico elemento ai,j della matrice sara pari a −1 se l’arcoj-esimo esce dal nodo i, sara pari a 1 se l’arco j-esimo entra nel nodo i, sara pari a 0 se l’arcoj-esimo non incide sul nodo i, ovvero

aij =

−1 se arco j esce dal nodo i1 se arco j entra nel nodo i0 altrimenti

Nella matrice di incidenza ogni colonna ha esattamente due elementi diversi da zero; essisono in corrispondenza delle due righe della matrice relative ai due nodi estremi dell’arco.

Osservazione 13.2.1 La matrice di incidenza di un grafo orientato e totalmente unimodulare.Infatti la condizione del Teorema 12.4.6 e soddisfatta ponendo tutti gli indici di riga in uno deidue insiemi (ad es. Q1 = 1, . . . , n, Q2 = ∅).

Esercizio 13.2.2 Dato il grafo G mostrato in Figura 13.9, scrivere la corrispondente matriced’incidenza nodi-archi.

63

52

4

1

7

Figura 13.9: Esercizio 13.2.2

Soluzione.Per scrivere la matrice d’incidenza nodi-archi, dobbiamo innanzitutto numerare arbitrariamentegli archi. In particolare, scegliamo e1 = (1, 2), e2 = (1, 3), e3 = (2, 4), e4 = (2, 5), e5 = (3, 2),e6 = (3, 5), e7 = (3, 6), e8 = (4, 5), e9 = (5, 6), e10 = (5, 7), e11 = (6, 2), e12 = (7, 6), lacorrispondente matrice d’incidenza sara:

206

Page 209: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12

1234567

-1100000

-1010000

0-101000

0-100100

01-10000

00-10100

00-10010

000-1100

0000-110

0000-101

01000-10

000001-1

13.3 Alcuni esempi di problemi su grafo

In questa ultima sezione verranno formulati alcuni problemi utilizzando il formalismo dei grafi.Scopo di questi esempi non e quello di dare una panoramica completa di quei problemi la cuiformulazione (e risoluzione) e basata sui grafi (non sarebbe sufficiente un intero corso ded-icato a questo tema!). Piuttosto vogliamo mostrare come problemi molto diversi tra loropossano essere formulati (e risolti) usando una rappresentazione basata sui grafi, che spessocontribuisce a rendere chiari problemi apparentemente molto intricati, dando cosı, inoltre, unaprova dell’importanza della scelta di un buon modello nella risoluzione di un problema e dellanecessita di disporre di un ampio spettro di modelli per poter adeguatamente modellare prob-lemi pratici.

13.3.1 Modelli di distribuzione di flusso a costo minimo

Modelli di distribuzione di flusso a costo minimo nascono naturalmente quando si voglia de-terminare il modo piu economico di trasportare merci da alcune origini a delle destinazioniattraverso una rete fisica.

Per formulare questo problema consideriamo una rete orientata G = (V, E) con associatoad ogni arco (i, j) ∈ E un costo cij (negativo, positivo o nullo), una capacita uij ≥ 0 ed unlimite inferiore lij , con 0 ≤ lij ≤ uij . Supponiamo inoltre che a ciascun nodo i di V sia associatoun numero intero b(i), con la convenzione che:

- b(i) > 0 indica la presenza di offerta (il nodo i viene detto origine);

- b(i) < 0 indica la presenza di domanda (il nodo i viene detto destinazione);

- b(i) = 0 indica l’assenza di offerta e di domanda (il nodo i viene detto di trasferimento).

Nel seguito supporremo valida la seguente ipotesi:

Ipotesi di ammissibilita. L’offerta totale uguaglia la domanda totale; ovvero, formalmente:∑

i∈V

b(i) = 0. (13.1)

Definizione 13.3.1 Un flusso ammissibile in una rete G e un vettore non negativo x ∈ IR|E|

che soddisfa i seguenti vincoli:– vincoli di capacita: per ogni arco (ij) ∈ E:

207

Page 210: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

lij ≤ xij ≤ uij .

– vincoli di bilanciamento della massa: per ogni nodo k ∈ V

(jk)∈ω−(k)

xjk −∑

(ki)∈ω+(k)

xki = b(k).

Il costo di un flusso e definito come la somma∑

(ij)∈E

cijxij .

Il problema del flusso a costo minimo, si puo enunciare come segue:

trovare una distribuzione ammissibile di flusso sulla rete G tale in modo da minimizzare il costototale.

Se si indica con AG la matrice d’incidenza della rete, con b = (b(1), . . . , b(n))T il vettoredella domanda/offerta, con c ∈ IRm il vettore dei costi e con l ∈ IRm

+ ed u ∈ IRm+ i vettori le cui

componenti rappresentano il limite inferiore e la capacita dell’arco corrispondente, il problemadi flusso a costo minimo puo essere scritto nel seguente modo:

min cT xAGx = bl ≤ x ≤ u

(PC)

Nel caso di rete non capacitata, cioe quando si abbia lij = 0 e uij = ∞, allora il problema diflusso a costo minimo si scrive:

min cT xAGx = bx ≥ 0

(Q).

In questo caso il problema e anche noto in letteratura come problema di trasferimento (tran-shipment problem).

Osservazione 1 Questa formulazione richiede n vincoli di bilanciamento ed m vincoli di nonnegativita. In realta pero, sommando i vincoli di bilanciamento si ottiene:

n∑

k=1

(ij)∈E

akjxij =n∑

k=1

b(k).

In effetti, poiche per ipotesi si ha∑n

k=1 b(k) = 0, e inoltre la somma delle righe della matriced’incidenza e uguale alla riga nulla (vedi Teorema ??), si ottiene l’identita 0 = 0. Quindi, inrealta un’equazione dei vincoli di bilanciamento si puo ottenere come combinazione lineare dellealtre ed e quindi ridondante.

Osservazione 2 L’ipotesi di ammissibilita consente di assicurare l’esistenza di una soluzioneammissibile per il problema di trasferimento (P ). Si ha infatti, il seguente teorema:

Teorema 13.3.2 (Ipotesi di ammissibilita) Condizione necessaria e sufficiente per l’esistenzadi una soluzione ammissibile per problema di trasferimento (Q) e cha valga (13.1).

208

Page 211: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Teorema 13.3.3 (Proprieta di interezza) Dato un problema di flusso a costo minimo chesoddisfa l’ipotesi di ammissibilita, se i vettori l, u e b sono interi non negativi, se il problemaha una soluzione ottima, allora ha una soluzione intera dello stesso valore.

Grazie a quest’ultima proprieta, e possibile costruire algoritmi polinomiali che consentanodi trascurare eventuali vincoli di interezza sulle variabili, riducendo cosı un problema di ot-timizzazione combinatoria in un problema di ottimizzazione continua.

Alcuni problemi classici di ottimizzazione su reti possono essere formulati come problemidi flusso a costo minimo.

Nei prossimi paragrafi analizzeremo alcuni modelli su reti che sono una particolarizzazionedei modelli di flusso a costo minimo.

Esempio 13.3.4 (Modello di flusso a costo minimo) Una unita portarei navale deve com-piere una missione di tre giorni in oceano. Sono noti i seguenti fabbrisogni giornalieri di aereinecessari per portare a termine la missione:

1o giorno 2o giorno 3o giornoAerei 40 70 60

E noto inoltre che

- non sono possibili rifornimenti in oceano;

- non si puo usare un aereo dopo una giornata di missione se non dopo una revisione;

- le revisioni possono essere fatte di giorno o di notte con costi diversi; in particolare, revision-are di giorno costa £8, revisionare di notte costa £15;

- un aereo nuovo costa £20;

- le squadre di revisione sono in grado di revisionare quanti aerei si desidera.

Formulare il problema di PL per decidere quanti aerei nuovi imbarcare e quanti aerei (e quando)revisionare per portare a termine la missione a costo minimo.

Analisi del problemaSi tratta di un problema di flusso a costo minimo su reti spazio-temporali.FormulazionePer determinare quali sono le variabili di decisione si devono individuare le possibilita di acquistoe/o di revisione nei tre giorni di missione. Distinguiamo i seguenti intervalli temporali:

T1: primo giorno; si possono utilizzare solo aerei nuovi. Indichiamo questa quantita con x100.

T2: notte tra il primo ed il secondo giorno; si possono revisionare gli aerei usati il primo giorno;

T3: il secondo giorno; si possono utilizzare aerei nuovi ed aerei revisionati nel periodo T2.Indichiamo rispettivamente con x2

00 e x212 queste quantita.

Si possono inoltre revisionare aerei usati il primo giorno.

T4: notte tra il secondo ed il terzo giorno; si possono revisionare aerei usati il primo o il secondogiorno.

209

Page 212: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

T5: terzo giorno; si possono utilizzare aerei nuovi oppure aerei utilizzati il primo giorno erevisionati nel periodo T2, T3 o T4 oppure aerei utilizzati il secondo giorno e revisionatinel periodo T4. Indichiamo queste quantita rispettivamente con x3

00, x312, x3

13, x314, x3

24.

– Variabili. Le variabili di decisione sono quindi le quantita di aerei utilizzati, cioe:

xkij

dove l’apice k = 1, 2, 3 indica il giorno. I pedici ij indicano rispettivamente il giorno in cui gliaerei sono stati usati ed il periodo in cui sono stati revisionati. Osserviamo che non ha alcunsenso revisionare aerei usati il secondo giorno nel periodo T5 perche non potrebbero essere maiutilizzati. L’indice i vale 1, 2, l’indice j vale 2, 3, 4 (con riferimento all’intervallo temporale Tj .)

Questa situazione e schematizzata nella seguente tabella:

1o giorno 2o giorno 3o giornonuovi x1

00 x200 x3

00

T2 - x212 x3

12

revisionati T3 - - x313

T4 - - x314 x3

24

– Vincoli. Per quanto riguarda i vincoli abbiamo:

• vincoli di non negativita: si tratta di quantita di aerei utilizzati, quindi:

xkij ≥ 0 ∀k, i, j

• vincoli di interezza: si tratta di quantita indivisibili

xkij ∈ Z;

• vincoli di domanda: sono noti i fabbisogni giornalieri di aerei. Il primo giorno dobbiamoavere 40 aerei, quindi :

x100 = 40.

Il secondo giorno gli aerei utilizzati devono essere pari a:

x200 + x2

12 = 70.

Analogamente per il terzo giorno

x300 + x3

12 + x313 + x3

14 + x324 = 60

• vincoli di continuita: la quantita di aerei revisionati nel periodo Tj non puo superare laquantita di aerei disponibile in quel periodo:

x212 + x3

12 + x313 + x3

14 ≤ x100

x324 ≤ 70.

210

Page 213: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Inoltre la quantita totale di aerei usata non puo superare la quantita totale di aerei chee stata acquistata; supponendo che gli aerei usati vadano ad un deposito finale, si hache il primo giorno vengono mandati al deposito finale gli aerei usati che non sono piurevisionati, cioe:

x100 − (x2

12 + x312 + x3

13 + x314)

analogamente il secondo giorno:70− x3

24

ed il terzo giorno tutti gli aerei usati vanno al deposito, cioe 60.

La quantita di aerei nuovi e pari a x100 + x2

00 + x300, quindi complessivamente dovremo

avere:

x100 + x2

00 + x300 = 40− x2

12 − x312 − x3

13 − x314 + 70− x3

24 + 60,

cioe

x200 + x3

00 + x212 + x3

12 + x313 + x3

14 + x324 = 130 (13.2)

– Funzione obiettivo. La funzione obiettivo e il costo totale dovuto all’acquisto e alla revisionedergli aerei. Gli aerei nuovi costano £20 e corrispondono ai valori di i = j = 0, quindi il costototale di acquisto e

203∑

k=1

xk00 = 20(x3

00 + x200 + x3

00).

Gli aerei revisionati di giorno (corrispondono al periodo T3) costano £8, quindi:

8∑

k,i

xki3 = 8x3

13

Gli aerei revisionati di notte (corrispondono ai periodi T2, T4) costano £15 quindi:

15∑

k,i

j=2,4

xkij = 15(x2

12 + x312) + 15(x3

14 + x324).

Complessivamente, il problema si scrive:

minx 20(x300 + x2

00 + x300) + 8x3

13 + 15(x212 + x3

12 + x314 + x3

24)x1

00 = 40x2

00 + x212 = 70

x300 + x3

12 + x313 + x3

14 + x324 = 60

x212 + x3

12 + x313 + x3

14 ≤ x100

x324 ≤ 70

x200 + x3

00 + x212 + x3

12 + x313 + x3

14 + x324 = 130

xkij ≥ 0 ∀ k, i, j

xkij ∈ Z

211

Page 214: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Vediamo come questo problema puo essere interpretato come un modello di flusso a costominimo. Si tratta di definire una rete in cui archi e/o nodi corrispondono ad aerei usati e/orevisionati in intervalli di tempo diversi. Costruiamo una rete orientata in questo modo: in-troduciamo un nodo sorgente s che rappresenta lo stato iniziale, ovvero il deposito da cui sipossono acquistare arei nuovi. Siano 1, 2, 3 tre nodi che rappresentano l’inizio rispettivamentedel primo, secondo e terzo giorno. Avremo gli archi (s, 1), (s, 2), (s, 3) con un flusso su di essi cherappresenta il numero di aerei nuovi acquistati il primo, secondo e terzo giorno. Introduciamoanche un nodo pozzo t che rappresenta lo stato finale, ovvero il deposito degli aerei usati. Siano1′, 2′, 3′ tre nodi che rappresentano la fine rispettivamente del primo, secondo e terzo giorno.Avremo gli archi (1′, t), (2′, t), (3′, t) con un flusso su di essi che rappresenta il numero di aereiusati il primo, secondo e terzo giorno e che non sono piu revisionati. Inoltre ci saranno gli archi(1, 1′), (2, 2′), (3, 3′) con un flusso su di essi che rappresenta il numero di aerei utilizzati duranteil primo, secondo, terzo giorno. Ovviamente questo flusso e fissato e noto (sono i fabbrisognigiornalieri). Introduciamo poi altri tre nodi 4, 5, 6 che corrispondono agli intervalli di tempoT2, T3, T4, cioe esiste l’arco (i′, j) con i′ = 1′, 2′, 3′ e j = 4, 5, 6 se e possibile revisionare gli aereiusati nel giorno i durante l’intervallo di tempo corrispondente a j. In particolare avremo gliarchi:

(1′, 4) aerei usati il 1 giorno revisionati T2

(1′, 5) aerei usati il 1 giorno revisionati T3

(1′, 6) aerei usati il 1 giorno revisionati T4

(2′, 6) aerei usati il 2 giorno revisionati T4

Non ci sono archi di questo tipo uscenti da 3′. Ci sono anche archi del tipo (j, i) con j = 4, 5, 6e i = 1, 2, 3 se e possibile utilizzare aerei revisionati nel periodo corrispondente a j il giorno i.In particolare avremo gli archi:

(4, 2) aerei revisionati T2 usati il 2 giorno(4, 3) aerei revisionati T2 usati il 3 giorno(5, 3) aerei revisionati T3 usati il 3 giorno(6, 3) aerei revisionati T4 usati il 3 giorno

Non ci sono archi di questo tipo entranti in 1. Complessivamente la rete e riportata inFigura 13.10Osservazione Notiamo che si tratta di determinare il flusso a costo minimo su una rete(non capacitata) con alcuni valori di flusso assegnati. Il nodo s e il nodo origine con b(s) =−(x1

00 + x200 + x3

00) < 0. Il nodo t e il nodo destinazione con b(t) > 0. tutti gli altri nodi sonodi trasferimento con b(i) = 0. Il vincolo (13.2) corrisponde all’ipotesi di ammissibilita. Mentregli altri vincoli di continuita sono i vincoli di conservazione ai nodi di trasferimento 1′ e 2′. Ivincoli di domanda sono i vincoli di conservazione negli altri nodi di trasferimento.Validazione del modelloSi puo osservare che si possono eliminare alcuni archi dalla rete del modello e quindi alcunevariabili. In particolare, si puo eliminare l’arco (4, 3) perche non conviene revisionare di notteaerei che potrebbero essere revisionati il giorno successivo (non ci sono limitazioni sul numerodi aerei che si possono revisionare). Inoltre si puo eliminare l’arco (1′, t) perche il primo giornoconviene revisionare quanti piu aerei possibile piuttosto che comperarne di nuovi. Con lo stessoragionamento si puo eliminare l’arco (s, 3) cioe non comperare aerei nuovi il terzo giorno, mausare solo aerei revisionati, poiche la quantita di aerei necessaria e inferiore al numero di aerei

212

Page 215: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

S

1

2

3

1'

2'

3'

4

5

6

T

40

70

60

Figura 13.10: Rete relativa all’Esercizio 13.3.4

usati il secondo giorno. Questo corrisponde ad eliminare le variabili x300, x

312. Quindi, il vincolo

(13.2) diventa:

x200 + x1

00 = 70− x324 + 60

Con queste considerazioni si ottiene il seguente modello:

min 20(x200 + x1

00) + 8x313 + 15(x2

12 + x314 + x3

24)x1

00 = 40x2

00 + x212 = 70

x313 + x3

14 + x324 = 60

x212 + x3

13 + x314 = 40

x324 ≤ 70

x200 + x3

24 = 90xk

ij ≥ 0 ∀ k, i, j

Modelli di trasporto. Il problema di trasporto definito nel paragrafo 3.3.2, puo essereformulato come problema di flusso a costo minimo su una rete non capacitata in cui non cisono nodi di trasferimento. Infatti, possiamo associare a questo problema un grafo bipartitoG = (X,Y, E); l’insieme X rappresenta i nodi origini ed i nodi di Y sono i nodi destinazione.L’insieme dei nodi e V = X ∪ Y (|V | = n + m). Esiste un arco per ogni coppia ij con i ∈ Xe j ∈ Y (|E| = nm). A ciascun arco (ij) e associato un costo. Per ogni (i, j) ∈ E, lij = 0 euij = ∞. Infine, per ogni nodo i ∈ X, si pone b(i) = ai, mentre per ogni nodo i ∈ Y , si poneb(i) = −bj .

L’ipotesi (3.10) corrisponde all’ipotesi di ammissibilita. Una rete corrispondente a un prob-lema di trasporto viene detta rete di trasporto.Il problema di trasporto, come caso particolare del problema di flusso a costo minimo, godeancora della proprieta espressa dal Teorema di interezza. Quindi, se nel problema dei trasporti

213

Page 216: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

ai, i = 1, . . . ,m e bj , j = 1, . . . , n sono interi e se il problema ammette soluzione ottima, alloraha una soluzione ottima intera.

Modelli di assegnamento I problemi di assegnamento sono un caso particolare del prob-lema di trasporti in cui si ha lo stesso numero di origini e di destinazioni. Un generico problemadi assegnamento consiste nel determinare il modo ottimale di assegnare lavori a persone o, piuin generale, di assegnare mezzi (persone, macchine, etc. ) ad attivita.

Supponiamo che n persone P1,. . . ,Pn, debbano svolgere n lavori L1,. . . , Ln; ciascun lavorodeve essere svolto esattamente da una persona e ciascuna persona deve svolgere un lavoro.Naturalmente le persone hanno diversi livelli di esperienza, competenza ed abilita e quindi sipuo introdurre un costo dell’assegnamento della persona i al lavoro j; indichiamo tale costo concij e supponiamo che sia noto. Questo costo puo, ad esempio, essere interpretato come tempomedio impiegato dalla persona i ad eseguire il lavoro j.

Il problema consiste, quindi, nell’assegnare i lavori alle persone minimizzando il costo totaledi realizzazione di tutti i lavori.

Questo tipo di problemi sorge in molte situazioni pratiche: esempi tipici sono i problemidi assegnamento del personale all’interno di una azienda e i problemi di assegnare determinatimezzi di trasporto ad alcune particolari linee. Esempi di questo tipo verranno esaminati indettaglio nel seguito.

Se indichiamo con X l’insieme delle persone (|X| = n), con Y l’insieme dei lavori (|Y | = n)e con E l’insieme degli assegnamenti possibili, cioe delle possibili coppie (ij) con i ∈ X e j ∈ Y,allora il problema di assegnamento e un problema di flusso a costo minimo su una rete ditrasporto rappresentata da un grafo bipartito con V = X ∪ Y e b(i) = 1 per ogni i ∈ X eb(j) = −1 per ogni j ∈ Y. Inoltre per ogni (ij) si ha lij = 0 e uij = 1.

Esempio 13.3.5 Assegnazione delle aule. In una facolta universitaria vi sono nello stessoorario n corsi e m aule disponibili. Per ragioni di capienza delle aule e di attrezzature disponibili,ogni corso puo essere tenuto solo in alcune delle aule. Il problema e quello di stabilire quale eil numero massimo di corsi che e possibile tenere nell’orario considerato.

Il problema puo essere scritto come problema su grafi nel seguente modo: sia G(V,E)un grafo bipartito in cui l’insieme di nodi V = V1 ∪ V2 in cui l’insieme V1 corrisponde aicorsi, l’insieme di nodi V2 corrisponde alle aule ed esiste un arco fra due nodi i e j (con iappartenente ad V1 e j appartenente a V2) se (e solo se) il corso i puo essere tenuto nell’aulaj. Il problema di stabilire qual e il numero massimo di corsi che e possibile tenere nell’orarioconsiderato puo ora essere formulato come il problema di scegliere sul grafo il massimo numerodi archi (corrispondenti ad assegnazioni di corsi ad aule) tali che due archi scelti non siano maiadiacenti. Infatti se due archi fossero adiacenti in un nodo dell’insieme V1, allora vorrebbe direche uno stesso corso si tiene contemporaneamente in due aule diverse. Se due archi fosseroadiacenti in un nodo dell’insieme V2, allora vorrebbe dire che in una stessa aula si tengonocontemporaneamente due corsi. In entrambi i casi le assegnazioni di aule non sono ovviamenteammissibili. Questo problema e detto di accoppiamento bipartito.

Esempio 13.3.6 In un Dipartimento universitario, sono attivati cinque corsi diversi che pos-sono essere tenuti da cinque professori. Ogni professore esprime delle preferenze sul corso chevorrebbe tenere, indicando un punteggio. A preferenza piu alta corrisponde un punteggio piualto. I punteggi sono riportati nella seguente tabella:

214

Page 217: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

corso1 corso2 corso3 corso4 corso5insegnante1 7 5 4 4 5insegnante2 7 9 7 9 4insegnante3 4 6 5 8 5insegnante4 5 4 5 7 4insegnante5 4 5 5 8 9

Si vuole assegnare ciascun professore ad un corso cercando di massimizzare il valore mediointeso come media delle preferenze.

Analisi Si tratta di un problema di assegnamento in cui i lavori sono i corsi. Indichiamo concij il punteggio assegnato dal professore i al corso j.Formulazione– Variabili. Le variabili di decisione sono le variabili booleane:

xij = 1 se l’insegnante i e assegnata al corso j

0 altrimenti.i, j = 1, . . . , 5.

– Funzione obiettivo. Indicando con cij il punteggio assegnato dall’insegnante i alla corso j, lafunzione obiettivo e il valore medio delle preferenze:

15

5∑

i=1

5∑

j=1

cijxij .

– Vincoli. I vincoli di assegnamento sono:

x11 + x12 + x13 + x14 + x15 = 1x21 + x22 + x23 + x24 + x25 = 1x31 + x32 + x33 + x34 + x35 = 1x41 + x42 + x43 + x44 + x45 = 1x51 + x52 + x53 + x54 + x55 = 1x11 + x21 + x31 + x41 + x51 = 1x12 + x22 + x32 + x42 + x52 = 1x13 + x23 + x33 + x43 + x53 = 1x14 + x24 + x34 + x44 + x54 = 1x15 + x25 + x35 + x45 + x55 = 1

Quindi, complessivamente il problema si scrive:

min∑5

i=1

∑5j=1 cijxij

x11 + x12 + x13 + x14 + x15 = 1x21 + x22 + x23 + x24 + x25 = 1x31 + x32 + x33 + x34 + x35 = 1x41 + x42 + x43 + x44 + x45 = 1x51 + x52 + x53 + x54 + x55 = 1x11 + x21 + x31 + x41 + x51 = 1x12 + x22 + x32 + x42 + x52 = 1x13 + x23 + x33 + x43 + x53 = 1x14 + x24 + x34 + x44 + x54 = 1x15 + x25 + x35 + x45 + x55 = 1xij ≥ 0

215

Page 218: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Colorazione di una carta geografica. Il problema e quello di stabilire il numerominimo di colori necessario per colorare una carta geografica, assegnando colori alle varie nazionirappresentate sulla carta, in modo che due nazioni adiacenti (che quindi abbiano un tratto difrontiera in comune) siano sempre colorate in modo diverso. Si suppone che ogni nazione siaformata da una unica regione connessa e che nazioni adiacenti abbiano una linea di confinein comune di lunghezza maggiore di zero (e non quindi solo un singolo punto in comune).Assegnando ad ogni nazione un nodo di un grafo e collegando due nodi se e solo se le duenazioni corrispondenti sono adiacenti, si ottiene un grafo (che viene detto planare).

La famosa “congettura dei quattro colori”, ormai da chiamare “teorema dei quattro colori”,afferma che ogni carta geografica e colorabile utilizzando al piu quattro colori. Questa conget-tura era gia nota nel 1840. Nel corso di oltre un secolo sono state fornite dimostrazioni permolti casi particolari del problema (oltre a molte dimostrazioni della congettura, poi rivelatesisbagliate o valide per particolari classi di grafi). Solo nel 1976 la congettura e stata dimostratain tutta la sua generalita usando gli strumenti della teoria dei grafi.

Attraversamento di un fiume Su di una riva di un fiume vi e un pastore con un canelupo, un agnello e un cesto di cavoli. Per attraversare il fiume il pastore dispone di una piccolabarca che permette di trasportare, oltre al pastore, un solo altro passeggero (il cane lupo,l’agnello o il cesto di cavoli). Se su di una riva restano soli il cane lupo e l’agnello, il cane lupopuo uccidere l’agnello. Se restano soli l’agnello e il cesto di cavoli, l’agnello puo mangiare icavoli. Il problema e quello di stabilire se e possibile trasferire tutto sull’altra riva del fiumesenza mai lasciare soli cane lupo e agnello o agnello e cesto di cavoli.

Il problema puo essere facilmente formulato come problema di esistenza di un cammino sudi un opportuno grafo.

Sia dato il grafo G = (V, E) dove i nodi corrispondono a tutti i possibili stati ammissibilidel sistema pastore-lupo-agnello-cavoli. I possibili stati ammissibili del sistema sono i seguenti:

PLAC pastore, lupo,agnello e cavoli sulla riva di partenza nessuno sulla riva di arrivo

PLC pastore, lupo e cavoli sulla riva di partenza agnello sulla riva di arrivo

PAC pastore, agnello e cavoli sulla riva di partenza lupo sulla riva di arrivo

PLA pastore,lupo e agnello sulla riva di partenza cavoli sulla riva di arrivo

PA pastore e agnello sulla riva di partenza lupo e cavoli sulla riva di arrivo

LC lupo e cavoli sulla riva di partenza pastore e agnello sulla riva di arrivo

A agnello sulla riva di partenza pastore lupo,e cavoli sulla riva di arrivo

L lupo sulla riva di partenza pastore,agnello e cavoli sulla riva di arrivo

C cavoli sulla riva di partenza pastore,lupo e agnello sulla riva di arrivo

∅ nessuno sulla riva di partenza pastore,lupo,agnello e cavoli sulla riva di arrivo

Altri stati del sistema non sono ammissibili; per esempio non e ammissibile lo stato PL inquanto lascerebbe agnello e cavoli soli sulla riva di arrivo.

216

Page 219: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

PLAC LC PLC L

C PLA

PAC A PA Ø

Figura 13.11: Esistenza tra un cammino tra due nodi

Nel grafo G esiste un arco tra due nodi se e possibile passare da uno all’altro dei due staticorrispondenti con un solo viaggio in barca. Il grafo associato al problema viene riportato infigura 13.11.

Si noti che in questo caso il grafo e simmetrico in quanto, se e possibile passare dal nodoA al nodo B, allora e anche possibile passare da B a A; per semplicita quindi il grafo vieneriportato come grafo non orientato.

L’esistenza di una soluzione equivale all’esistenza di un cammino tra il nodo PLAC e il nodo∅. Il numero minimo di viaggi necessario per compiere l’operazione e pari a 7 e corrisponde alcammino con il minimo numero di archi tra il nodo PLAC e il nodo ∅. Si noti che esistono duepossibili cammini semplici tra i due nodi, entrambi con 7 archi.

13.4 Il problema del cammino minimo

13.4.1 Definizione del problema

Dato un grafo orientato G = (V,E), associamo a ciascun arco e = (u, v) ∈ E un numero realele, detto peso dell’arco. Per ogni cammino orientato P = v1, e1, . . . , ep, vp, denotiamo conl(P ) il peso di P , ossia la somma dei pesi degli archi di P . Il problema del cammino minimopuo essere enunciato nel modo seguente:

dati due nodi s ∈ V e t ∈ V , trovare un cammino orientato P ∗ in G da s a t di peso minimo.

Si osservi che (i) se non esiste un cammino orientato da s a t in G, il problema non hasoluzioni ammissibili; (ii) se esiste un ciclo orientato in G di peso negativo la soluzione delproblema e illimitata (poiche conterra tale ciclo ripetuto un numero illimitato di volte).

In Figura 13.12 e mostrato un grafo orientato contenente un ciclo orientato di peso negativo.I pesi degli archi sono mostrati in figura in prossimita di ciascun arco. Un cammino minimoconterra i nodi e gli archi del ciclo un numero illimitato di volte.

Il problema del cammino minimo dal nodo s al nodo t, puo essere formulato come problemadi flusso a costo minimo, fatte le seguenti assunzioni:

217

Page 220: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

s

t

22

-5

1 1

2 2

Figura 13.12: Grafo con ciclo di peso negativo

• la rete sia non-capacitata;

• per ogni nodo i ∈ V − s, t, si ponga b(i) = 0;

• si ponga b(s) = 1 e b(t) = −1.

E facile vedere che ogni flusso ammissibile corrisponde a inviare un flusso unitario dal nodo sal nodo t; utilizzando l’ipotesi di interezza del flusso su ogni arco, un flusso unitario corrispondea un cammino diretto da s a t (formato dagli archi il cui flusso corrispondente e uguale a uno).Dunque, il flusso di costo minimo corrispondera al cammino di costo minimo da s a t.

E possibile formulare il problema del cammino minimo come problema di ProgrammazioneLineare associando una variabile booleana xij con ogni arco (i, j) ∈ E. In particolare un modellolineare puo essere cosı costruito:– Variabili. Si definiscono le variabili booleane

xij =

1 se (i, j) ∈ P0 altrimenti

Il vettore x ∈ Rm si chiama vettore di incidenza del cammino P.– Funzione obiettivo. La funzione obiettivo e il peso del cammino:

(i,j)∈E

cijxij .

– Vincoli. I vincoli devono imporre che si abbia effettivamente un cammino semplice da s a t,cioe:

• in ciascun nodo k che non sia s o t incidono esattamente due archi del cammino, uno entrantee l’altro uscente. Questo si esprime con i vincolo:

(ik)∈ω−(k)

xik −∑

(kj)∈ω+(k)

xkj = 0 ∀k ∈ V − s, t

• dalla sorgente s esce esattamente un arco e nel pozzo t entra esattamente un arco; cioe:∑

(it)∈ω−(t) xit −∑

(tj)∈ω+(t) xtj = 1∑(is)∈ω−(s) xis −

∑(sj)∈ω+(s) xsj = −1

218

Page 221: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Se poniamo b = (1 − 1 0 . . . 0)T , e consideramo la matrice di incidenza A della rete G, alloraquesti vincoli si possono esprimere in forma matriciale come:

Ax = b.

13.5 Cammini minimi e massimi su grafi aciclici

Una classe di grafi orientati di particolare interesse in campo applicativo e la classe di grafiaciclici. Per esempio il grafo di attivita di un progetto con vincoli di precedenza fra le attivitae aciclico (vedi il capitolo “Tecniche reticolari di programmazione delle attivita”). La ricercadi cammini minimi o massimi su tali grafi e uno strumento di progetto di notevole importanza.Come si vedra nel seguito, i due problemi di minimo e di massimo sono, in questo caso partico-lare, risolti da due algoritmi identici eccetto che per la sostituzione di un massimo a un minimonella formula ricorsiva alla base del procedimento. Nel seguito verra prima considerato il casodi un problema di cammino minimo. Per poter procedere con la descrizione dell’algoritmo, enecessario studiare prima una particolare tecnica di numerazione dei nodi di un grafo aciclico.

13.5.1 Numerazione topologica dei nodi di un grafo

Una caratteristica peculiare dei grafi aciclici (sia G = (V,E) il grafo, con|V | = n e |E| = m)consiste nella possibilita di numerare i nodi del grafo con i numeri 1,2,3,....,n-1,n in modo taleche:

se esiste un arco dal nodo i al nodo j allora j > i

Tale numerazione viene detta numerazione topologica dei nodi del grafo e non e in generaleunica.

Non tutti i grafi possono essere numerati topologicamente. In effetti l’esistenza di unanumerazione topologica dei nodi di un grafo caratterizza esattamente la classe dei grafi aciclici.Vale infatti il seguente teorema.

Teorema 13.5.1 Un grafo e aciclico se e solo se esiste una numerazione topologica dei suoinodi.

Dimostrazione.Sufficienza. Supponiamo che esista una numerazione topologica dei nodi e facciamo vedere chel’ esistenza di un ciclo porterebbe ad una contraddizione. Possiamo assumere che i nodi sianonumerati topologicamente, indicheremo l’i-esimo nodo di questa particolare numerazione, comevi. Se esiste un ciclo (orientato) vuol dire che esiste una successione di nodi (vi, vj , vk, . . . , vr, vs)tali che

- esistono gli archi (vi, vj), (vj , vk), . . ., (vr, vs);

- vi = vs.

Ma allora, da una parte, siccome la numerazione e topologica abbiamo i < j < k < . . . < r < s,cioe i < s, mentre dall’altra, poiche vi = vs abbiamo i = s. Questa e una contraddizione e cosıil grafo deve essere aciclico.Necessita. Supponiamo che il grafo sia aciclico e mostriamo che deve esistere almeno unanumerazione topologica. La dimostrazione e costruttiva, faremo cioe vedere che esiste unanumerazione topologica costruendone una.

219

Page 222: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Come primo passo osserviamo che se il grafo e aciclico, deve esistere almeno un nodo chenon abbia archi entranti. Infatti, se cio non fosse vero, potremmo ragionare nel modo seguente.Prendiamo un nodo qualunque, chiamiamolo v1. Siccome tutti i nodi hanno archi entrantiesiste un nodo predecessore di v1, indichiamolo con v2; notiamo che per come abbiamo scelto v2

esiste l’arco (v2, v1) (attenzione, questa e una numerazione non topologica). Possiamo ripetereil ragionamento con v2 e trovare un nodo v3 tale che esista l’ arco (v3, v2). Siccome stiamosupponendo, per assurdo, che tutti gli archi abbiano degli archi entranti, possiamo ripetere ilragionamento quante volte vogliamo. Notiamo che ogni nodo generato deve essere diverso daiprecedenti, altrimenti avremmo trovato un ciclo, contraddicendo l’aciclicita del grafo. D’altraparte, arrivati a vn i nodi del grafo sono “finiti” e quindi il predecessore di vn che stiamosupponendo esistente per assurdo, deve per forza essere uno dei nodi gia esaminati. Cosı siviene a formare un ciclo.

Quindi dato un grafo aciclico deve per forza esistere almeno un nodo che non ha archientranti. Prendiamo uno di questi nodi e numeriamolo con il numero 1. Eliminiamo dal grafoil nodo 1 e tutti gli archi uscenti da esso. Il nuovo grafo che otteniamo e ovviamente ancoraun grafo aciclico. Quindi per lo stesso ragionamento fatto prima deve esistere almeno un nodoche non ha archi entranti. Prendiamo uno di questi nodi e numeriamolo con il numero 2.Notiamo che ovviamente se consideriamo il grafo originario il nodo 2 puo avere archi entranti,ma solo provenienti dal nodo 1 e quindi la condizione i < j e rispettata. Possiamo ora ripetereil procedimento n volte (quanti sono i nodi) ed ottenere cosı una numerazione topologica delgrafo. 2

Il precedente teorema e importante, anche perche nella dimostrazione della necessita e sostanzial-mente dato un algoritmo per numerare topologicamente i nodi di un grafo.

Riesponiamo qui l’algoritmo per chiarezza.

- Siccome il grafo e aciclico, deve esistere almeno un nodo con solo archi uscenti;

- individuiamo uno di questi nodi e attribuiamogli il numero 1;

- cancelliamo il nodo numerato e tutti gli archi adiacenti, nel nuovo grafo ridotto individuiamoun nodo con soli archi uscenti e attribuiamogli il numero 2, e cosı via fino ad aver numeratotutti i nodi

La correttezza e validita di questa procedura e stata provata nella dimostrazione della necessitadel Teorema 13.5.1.

Notiamo che se ad un certo punto dell’applicazione della procedura non possiamo procedere,se succede cioe che ad un determinato passo non riusciamo a trovare un nodo senza archientranti, questo vuol dire che il grafo considerato contiene un ciclo.

Quindi la procedura per la numerazione topologica di un grafo puo anche essere utilizzataper determinare se un grafo e aciclico o meno.

Come esempio consideriamo il grafo di figura 13.13.Si tratta di decidere se il grafo e aciclico e, in caso, numerare i nodi topologicamente. I vari

passi dell’algoritmo sono riportati qui di seguito

Passo Nodo senza Nodi non ancora Numerazionearchi entranti numerati

1 A B,C,D A=12 B C,D B=23 C D C=34 D ∅ D=4

220

Page 223: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

A D

B

C

Figura 13.13: Numerazione dei nodi di un grafo

Il procedimento e terminato con la numerazione di tutti i nodi. Il grafo e dunque aciclico e lanumerazione trovata e topologica.

Supponiamo ora che nel precedente grafo l’arco (B, D) sia orientato da D a B. Ovviamentesi verrebbe a creare un ciclo. Se proviamo ad applicare la procedura per la determinazione diuna numerazione topologica possiamo iniziare numerando il nodo A come nodo 1. Ma dopo nonpossiamo piu procedere perche eliminato il nodo A e gli archi da esso uscenti ((A,B) e (A,C))non e piu possibile individuare un nodo che non abbia archi entranti.

13.5.2 Un algoritmo per il cammino minimo su grafi aciclici

La numerazione dei nodi di un grafo aciclico descritta nella sezione precedente consente dicostruire un algoritmo di soluzione per il problema di cammino minimo particolarmente sem-plice. Infatti, nella ricerca di un cammino tra una qualsiasi coppia di nodi i e j del grafo, acausa della numerazione attribuita ai nodi, si puo affermare che:

se j < i allora non esistono cammini da i a j;

se j > i allora gli unici nodi che e necessario considerare nella ricerca del cammino da i a jsono i nodi con indice k tale che i < k < j.

Infatti, se il cammino passasse per un nodo h > j, allora non potrebbe tornare su j, a causadella mancanza di archi che collegano nodi con indice maggiore a nodi con indice minore; sepassasse per un nodo h < i, allora dovrebbe esistere un cammino da i a h, il che comporterebbel’esistenza di archi che collegano nodi con indice maggiore a nodi con indice minore.

Sulla base di queste considerazioni, e possibile impostare un algoritmo per il calcolo dell’alberodei cammini minimi tra un nodo del grafo (per esempio il nodo 1) e tutti i nodi con indice su-periore (per quelli con indice inferiore non esiste sicuramente un cammino; ovviamente, se ilnodo di partenza e quello contrassegnato con l’indice 1, allora si tratta di calcolare l’albero deicammini minimi tra il nodo 1 e tutti gli altri). L’algoritmo per il calcolo dell’albero dei camminiminimi dal nodo 1 a tutti gli altri nodi si basa sul calcolo in sequenza dei cammini minimi dalnodo 1 al nodo 2, dal nodo 1 al nodo 3, dal nodo 1 al nodo 4, e cosı via. Indichiamo con:

- pi,j il peso dell’arco (i, j) che parte dal nodo i e arriva al nodo j;

221

Page 224: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

- ωe(i) l’insieme dei nodi predecessori del nodo i;

- d∗(i) il valore del cammino minimo dal nodo 1 al nodo i;

- J(i) il nodo che precede i su tale cammino (nel caso il cammino minimo non sia unico, allorase ne sceglie uno qualsiasi fra quelli minimi).

Possiamo allora illustrare l’algoritmo per il calcolo dei percorsi minimi.

- d∗(1) := 0; J(1) := 1;

- per j = 2, 3, 4, . . . , n− 1, n ripeti la seguente serie di operazioni

d∗(j) := mini∈ωe(j)d∗(i) + pi,j;J(j) := valore di i per cui si e verificato il minimo;

Si noti che una volta assegnato un peso d∗(i) a un nodo (cioe un valore del cammino minimodal nodo 1 al nodo considerato), tale peso non viene piu modificato nel corso dell’algoritmo, maindica in modo definitivo il valore del cammino. Questo e dovuto al fatto, gia citato, che tuttii nodi successivi non devono essere considerati per il calcolo del percorso dal nodo 1 al nodoi. Inoltre dai valori J(i) e possibile ricostruire in modo immediato l’albero (o uno dei possibilialberi) dei cammini minimi.

La dimostrazione della correttezza della procedura segue immediatamente dal Teorema ??.

Esempio 13.5.2 Come esempio consideriamo il grafo di figura 13.14.

1 4

2

3

1

1

3

3

1

Figura 13.14: Percorso minimo su grafi aciclici

Si tratta di determinare l’albero dei cammini minimi tra il nodo 1 e tutti gli altri nodi. Ivari passi dell’algoritmo, corrispondenti alla successione di nodi visitati, (si osservi che in questocaso particolare l’indice del passo coincide con l’indice del nodo visitato) portano alla seguentesuccessione di valori d∗(i) e J(i)

222

Page 225: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Passo Valore di d∗(i) Valore di J(i)1 d∗(1) = 0 J(1) = 12 d∗(2) = 1 J(2) = 13 d∗(3) = min3, 1 + 1 = 2 J(3) = 24 d∗(4) = min1 + 3, 2 + 1 = 3 J(4) = 3

Il corrispondente albero dei cammini minimi e riportato in figura 13.15

1 4

2

3

1

1

1

Figura 13.15: Albero dei cammini minimi

Esempio 13.5.3 Sia dato il grafo di Figura 13.16. Determinare l’albero dei cammini minimi,

A

B

C

E

GD

F

3

5

2

3

2

4

10

3

1

3

4

2

Figura 13.16: Grafo Esercizio 13.5.3

utilizzando l’algoritmo per grafi aciclici.

Soluzione. Si deve prima numerare topologicamente il grafo. I passi sono riportati nellaseguente tabella ed il grafo risultante in Figura 13.17

223

Page 226: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Passo Nodo senza Nodi non ancora Numerazionearchi entranti numerati

1 A B,C,D,E,F,G A=12 B o D B,C,E,F,G D =23 B C,E,F,G B=34 C E,F,G C=45 E o G F,G E=56 G F G=67 F ∅ F=7

Osserviamo che la numerazione topologica in questo esempio non e unica; infatti ai passi 2 e5 potevamo scegliere tra due nodi. Applichiamo ora l’algoritmo. I passi sono riportati nella

1

3

4

5

62

7

3

5

2

3

2

4

10

3

1

3

4

2

Figura 13.17: Numerazione topologica del grafo di Figura 13.16

seguente tabella

Passo Valore di d∗(i) Valore di J(i)1 d∗(1) = 0 J(1) = 12 d∗(2) = 3 J(2) = 13 d∗(3) = 4 J(3) = 14 d∗(4) = min0 + 2, 3 + 2, 4 + 3 = 2 J(4) = 15 d∗(5) = min4 + 1, 2 + 5 = 5 J(5) = 34 d∗(6) = min3 + 2, 2 + 3 = 5 J(6) = 44 d∗(7) = min2 + 10, 5 + 4, 5 + 3 = 8 J(7) = 6

Il corrispondente albero dei cammini minimi e riportato in figura 13.18.

13.5.3 Un algoritmo per il cammino massimo su grafi aciclici

Se il problema di ottimo e quello della determinazione del cammino di peso massimo sul grafo,allora e facile convincersi che basta sostituire nella formula ricorsiva al min un max e tutte leconsiderazioni fatta continuano, in questo caso particolare di grafi aciclici, a essere valide.

L’algoritmo per il calcolo dei cammini massimi su grafici aciclici e allora il seguente

224

Page 227: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

1

3

4

5

62

7

5

2

4

3 5

8

Figura 13.18: Albero dei cammini minimi

- f(1) := 0; J(1) := 1;

- per j = 2, 3, 4, . . . , n− 1, n ripeti la seguente serie di operazioni

f(j) := maxi∈ωe(j)f(i) + pi,j;J(i) := valore di i per cui si e verificato il massimo;

Come esempio consideriamo sempre il grafo di figura 13.14 Si tratta di determinare l’albero deicammini massimi tra il nodo 1 e tutti gli altri nodi. I vari passi dell’algoritmo portano allaseguente successione di valori f(i) e J(i)

Passo Valore di f(i) Valore di J(i)1 f(1) = 0 J(1) = 12 f(2) = 1 J(2) = 13 f(3) = max3, 1 + 1 = 3 J(3) = 14 f(4) = max1 + 3, 3 + 1 = 4 J(4) = 2 (oppure J(4) = 3)

225

Page 228: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Capitolo 14

Tecniche reticolari diprogrammazione delle attivita

I progetti di grandi dimensioni sono costituiti da piu attivita, che devono essere tutte completateaffinche il progetto di cui fanno parte sia completato, ma che possono essere iniziate e svolteindipendentemente l’una dall’altra, purche sia rispettata una data sequenza. Queste condizionisono caratteristiche di molti progetti di sviluppo e produzione, ad esempio nel settore aero-nautico ed aereospaziale, o di costruzione, ad esempio nell’ingegneria civile, o di manutenzionedi grossi sistemi; tutti progetti in cui il numero di attivita costituenti puo essere dell’ordinedelle migliaia. La gestione di un progetto consiste nel coordinamento dell’esecuzione delle varieattivita, unitamente al controllo dei tempi e dei costi di esecuzione. Poiche questo e evidente-mente un problema di rilevante importanza economica, e a volte strategica, per esso sono statesviluppate, a partire dal 1958, alcune tecniche particolarmente efficaci, tra cui hanno assuntoun ruolo importante il PERT (Program Evaluation and Review Technique) e il CPM (CriticalPath Method).

Il CPM, descritto in questo capitolo, si applica quando al tempo di esecuzione di ogniattivita puo essere attribuito un valore certo, piu o meno lungo a seconda di quanto si decidedi spendere per l’esecuzione dell’attivita stessa; e esperienza comune che se si riduce il tempodi esecuzione di un’attivita il suo costo aumenta e viceversa. Il CPM ha come scopo principalequello di pianificare e controllare i tempi di esecuzione di un progetto, rendendo minima la spesacomplessiva, e trova larga applicazione in programmi riguardanti la manutenzione periodica digrossi impianti industriali, e lavori di produzione e costruzione per cui esiste una consolidataesperienza, cosicche si possono ritenere note con esattezza le relazioni costo-tempo di esecuzione.Alla base del CPM e la rappresentazione del progetto mediante un grafo orientato, secondoopportune norme che costituiscono l’argomento iniziale di questo capitolo. Poiche in questocontesto, al grafo rappresentativo del progetto viene dato il nome di diagramma reticolare, letecniche descritte in questo capitolo vengono chiamate tecniche reticolari di programmazionedelle attivita.

226

Page 229: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

14.1 Il diagramma reticolare di un progetto

In questa sezione spieghiamo come sia possibile associare ad un progetto un diagramma retico-lare (cioe un grafo orientato) e definiamo alcune grandezze fondamentali per lo studio dei tempidi completamento di un progetto.

14.1.1 La costruzione del diagramma

Alla base dei metodi reticolari di programmazione c’ e la costruzione del diagramma reticolare,che rappresenta la successione temporale e la reciproca dipendenza delle varie attivita che con-corrono all’esecuzione del progetto, attivita che devono essere completate prima che il progettopossa considerarsi eseguito. Il primo passo nella costruzione del diagramma reticolare consistenell’individuazione e nell’elencazione di tutte le attivita coinvolte nell’esecuzione del progetto,con un livello di disaggregazione tale per cui le si possa considerare ciascuna distinta da tutte lealtre. Segue una fase di rappresentazione grafica, che da luogo al disegno di un grafo orientatoin cui ogni attivita e rappresentata da un arco o ramo i cui nodi estremi rappresentano, secondola direzione del ramo, l’inizio e il termine dell’attivita in questione. Pertanto nei diagrammireticolari un’attivita A e rappresentata come in figura 14.1, ove i nodi i e j rappresentanorispettivamente l’inizio e il termine dell’attivita.

i jA

Figura 14.1: Rappresentazione grafica dell’ attivita A

Naturalmente tra le varie attivita esistono delle precedenze, per cui, per ciascuna attivita,esistono altre attivita che devono essere completate prima che quella in questione possa avereinizio. Il caso piu semplice di precedenza quello indicato in figura 14.2a, ove l’attivita A precedel’attivita B, e il nodo j rappresenta il termine dell’attivita A e l’inizio dell’attivita B. In figura14.2b e rappresentato il caso in cui l’attivita A precede l’attivita B che a sua volta precedel’attivita C. Puo pero anche avvenire che due attivita, la A e la B precedano una terza, la C,senza che tra A e B esista una relazione di precedenza: questo caso, in cui le attivita A e Bpossono essere svolte in parallelo, e rappresentato in figura 14.2c. In figura 14.2d abbiamo ilcaso in cui le due attivita B e C, tra cui non sussistono precedenze, sono entrambe precedutedall’attivita A. Per esprimere il fatto che l’attivita A precede l’attivita B si utilizza la notazioneA < B , per esprimere il fatto che l’attivita B e preceduta dall’attivita A, si utilizza la notazioneB > A .Nel disegnare il diagramma reticolare si utilizzano le seguenti regole fondamentali, alcune dellequali gia implicitamente enunciate:

1. Le attivita sono rappresentate dai rami del grafo.

2. L’inizio di un’attivita e subordinato al completamento di tutte quelle che la precedono: intermini di diagramma reticolare cio significa che rami diretti verso un nodo rappresentanoattivita da completare prima che abbiano inizio le attivita rappresentate da rami aventiorigine nel nodo stesso.

3. La lunghezza dei rami o la loro forma non hanno significato.

227

Page 230: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

4. Due nodi non possono essere collegati da piu di un ramo.

5. L’inizio del progetto e rappresentato da un nodo contrassegnato con zero.

6. Tutti i nodi sono numerati in modo che, se esiste un ramo diretto dal nodo i al nodo j,risulta i < j .

7. Il grafo puo avere un solo nodo iniziale e un solo nodo finale.

Delle suddette regole, le prime tre tengono conto della logica interna del grafo; le altre quat-tro sono richieste dai metodi di analisi del grafo, metodi che utilizzano tabulazioni ed uso dicalcolatori.

Per quanto riguarda la regola 6, ricordiamo che una siffatta numerazione e detta numer-azione topologica e che nel capitolo sui cammini minimi abbiamo visto che e possibile dare unanumerazione topologica ai nodi di un grafo orientato se e solo se il grafo e aciclico. Bisognaquindi chiedersi se il diagramma reticolare di un progetto e un grafo aciclico. La risposta eovviamente positiva. Se infatti esistesse un ciclo (orientato) nel diagramma reticolare di unprogetto, questo vorrebbe dire, per come abbiamo costruito il diagramma reticolare stesso,che esistono delle attivita che non possono iniziare prima di essere state concluse, e questo eovviamente assurdo.

La regola 4, infine, ha lo scopo di rendere univoca la corrispondenza tra coppie di nodi edattivita, corrispondenza che potrebbe venire meno quando alcune attivita possono essere svoltein parallelo, come accade nel seguente esempio.

Esempio 14.1.1 Consideriamo le attivita A, B, C, D, con le relazioni di precedenza A < B,C; B, C < D. Il grafo costruito ignorando la regola 4 e quello di 14.3, in cui alla coppia di nodi(1,2) non e associata in maniera univoca un’attivita.

Quando la regola 4 non e esplicitamente soddisfatta dal progetto, come accade nell’ Esempio14.1.1, occorre ricorrere ad un artificio che consiste nell’introdurre un’ attivita fittizia, cui vaassociato un tempo di esecuzione nullo: nel caso dell’Esempio 2, introducendo l’attivita fittiziaX si ottiene il grafo della 14.4, che rispetta la regola 4. Con l’ introduzione di attivita fittiziee quindi possibile individuare ogni attivita mediante la coppia ordinata dei nodi estremi.

Esempio 14.1.2 In figura 14.5 e rappresentato il caso di un progetto il cui completamentorichiede l’esecuzione di 9 attivita, tra cui sussistono le relazioni di precedenza:

A < B,C; B < D, E; C < F; D < G; E,F < H; G,H < I.

Il progetto rappresentato in 14.5 verra piu volte riutilizzato a scopo esemplificativo; ad essofaremo pertanto riferimento con il nome di progetto P1.

Un altro caso in cui e richiesta l’introduzione di un’attivita fittizia si verifica quando dueattivita precedono entrambe una terza attivia, e una sola delle due ne precede una quarta. Inquesto caso e solo l’introduzione di un’attivita fittizia che rende possibile la costruzione delgrafo, come si vede nel prossimo esempio.

Esempio 14.1.3 Un progetto prevede, tra la altre, le attivita B, C, D, E, che devono esseresvolte rispettando le precedenze: B,C < D ; C < E . Dal diagramma di figura 14.6 si rileva comesolo l’introduzione dell’attivita fittizia Y rende possibile la rappresentazione di questa parte delprogetto.

228

Page 231: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Nel diagramma reticolare ogni nodo (ad eccezione del primo e dell’ultimo) rappresenta il terminedi alcune attivita e l’inizio di altre. Pertanto, in questo contesto, i nodi vengono anche chiamatieventi.

14.1.2 Il percorso critico

Abbiamo finora visto come sia possibile costruire un grafo che rappresenti l’esecuzione di unprogetto, dopo che il progetto stesso e stato decomposto in attivita, o fasi, di cui si siano anal-izzate le relazioni di precedenza. Non abbiamo pero finora tenuto conto del tempo richiestoper l’esecuzione delle varie attivita che compongono il progetto, e che ovviamente condizio-nano il tempo di esecuzione complessivo. Poiche i metodi reticolari di programmazione hanno,come gia detto, lo scopo di controllare i tempi di esecuzione delle attivita al fine di ottenere ilrispetto del tempo di completamento del progetto, occorre aggiungere alla analisi qualitativadelle precedenze gia effettuata anche un’analisi quantitativa che determini i valori temporalicorrispondenti agli eventi descritti dal grafo, e individui i limiti entro cui tali valori temporalipossono variare senza pregiudicare il valore del tempo complessivo di completamento. Per ef-fettuare quest’analisi associamo ad ogni attivita (i, j) un tempo di esecuzione tij . Nel CPM,il tempo di esecuzione tij e assunto come variabile certa. In ogni progetto esiste un certo in-sieme di attivita che sono di particolare importanza ai fini della determinazione del tempo dicompletamento dell’intero progetto, nel senso che se si verifica un ritardo nel completamentodi una di queste attivita, si verifica un ritardo anche nel completamento del progetto. Altreattivita invece sono meno importanti, nel senso che possono anche subire un ritardo, entro certilimiti, senza che l’intero progetto ne risenta. E evidente l’ importanza di distinguere tra questidue tipi di attivita, cosı come quella di determinare il limite entro cui il completamento di ogniattivita del secondo tipo puo essere ritardato. Quanto esposto in questo paragrafo serve proprioa consentire questa analisi. Supponiamo dunque che ad ogni attivita (i, j) sia associato il tempodi esecuzione tij ; per le attivita fittizie il tempo di esecuzione e ovviamente nullo.

Definizione 14.1.4 (Tempo minimo di raggiungimento del nodo i) Si definisce tempominimo di raggiungimento del nodo i, e si indica con ti , il minimo tempo entro cui possonoessere terminate tutte le attivita afferenti al nodo i.

Data la definizione precedente viene del tutto naturale definire il tempo di completamentominimo del progetto nel seguente modo.

Definizione 14.1.5 (Tempo minimo di completamento del progetto) Si definisce tempominimo di completamento dell’intero progetto, e si indica con T , il tempo minimo di raggiung-imento del nodo finale T = tf .

In base alle regole di costruzione del diagramma reticolare di un progetto e facile convincersiche il tempo minimo di raggiungimento di un nodo i coincide con il peso del cammino massimodal nodo iniziale al nodo i, dove i pesi degli archi sono dati dalle durate tij delle attivita cheessi rappresentano. Poiche il diagramma reticolare e aciclico e i nodi sono gia numerati in modotopologico, e immediato applicare l’ algoritmo per i cammini massimi su grafi aciclici al fine dicalcolare i tempi di raggiungimento minimi.

Esempio 14.1.6 (Esempio14.1.1 continua) Consideriamo il diagramma reticolare del pro-getto P1, e associamo alle attivita A, B, ..., I i seguenti tempi di esecuzione, espressi in giornilavorativi:

229

Page 232: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

tempo di esecuzione di A: t01 = 5tempo di esecuzione di B: t12 = 7tempo di esecuzione di C: t13 = 3tempo di esecuzione di D: t24 = 4tempo di esecuzione di E: t25 = 5tempo di esecuzione di F: t25 = 6tempo di esecuzione di G: t46 = 2tempo di esecuzione di H: t56 = 8tempo di esecuzione di I : t67 = 2.Nella figura 14.1.2 i tempi di esecuzione delle attivita sono stati associati ai rami del diagrammareticolare del progetto. Posto t0 = 0, possiamo calcolare per i successivi nodi i tempi minimi diraggiungimento, espressi in giorni, utilizzando l’algoritmo dei cammini massimi.per il nodo 1, t1 = t0 + t01 = 0 + 5 = 5per il nodo 2, t2 = t1 + t12 = 5 + 7 = 12per il nodo 3, t3 = t1 + t13 = 5 + 3 = 8per il nodo 4, t4 = t2 + t24 = 12 + 4 = 16per il nodo 5, t5 = max(t2 + t25, t3 + t35) = max(12 + 5, 8 + 6) = 17per il nodo 6, t6 = max(t4 + t46, t5 + t56) = max(16 + 2, 17 + 8) = 25per il nodo 7, t7 = t6 + t67 = 25 + 2 + 27;avremo inoltre per il tempo minimo di completamento del progetto, T = t7 = 27 giorni.

Oltre al tempo minimo di completamento dell’intero progetto, e opportuno introdurre anche lanozione di tempo minimo di completamento per ogni attivita. Indichiamo le attivita con (i, j).Ovviamente un’attivita puo avere inizio, al piu presto, dopo il tempo ti dall’inizio dell’esecuzionedel progetto, in quanto perche l’attivita possa avere inizio deve essere stato raggiunto il nodoi; di conseguenza se l’attivita richiede un tempo di esecuzione pari a tij , non potra esserecompletata prima di un tempo pari a ti + tij . Possiamo quindi dare la definizione seguente:

Definizione 14.1.7 (Tempo minimo di completamento dell’attivita) Si definisce tempominimo di completamento dell’attivita (i, j), e si indica con Cij, il valore Cij = ti + tij.

Esempio 14.1.8 (Esempio 14.1.1 continua) Consideriamo ancora il progetto P1. Per leattivita del progetto, tenendo conto dei tempi di raggiungimento dei nodi calcolati nell’Esempio5, abbiamo i seguenti tempi minimi di completamento espressi in giorni:per l’attivita A: C01 = t0 + t01 = 5per l’attivita B: C12 = t1 + t12 = 5 + 7 = 12per l’attivita C: C13 = t1 + t13 = 5 + 3 = 8per l’attivita D: C24 = t2 + t24 = 12 + 4 = 16per l’attivita E: C25 = t2 + t25 = 12 + 5 = 17per l’attivita F: C35 = t3 + t35 = 8 + 6 = 14per l’attivita G: C46 = t4 + t46 = 16 + 2 = 18per l’attivita H: C56 = t5 + t56 = 17 + 8 = 25per l’attivita I: C67 = t6 + t67 = 25 + 2 = 27.

Nelle tecniche reticolari di programmazione sono di fondamentale importanza le definizioni diattivita critica e di percorso critico che ora diamo.

230

Page 233: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Definizione 14.1.9 (Attivita critica) Sia T il tempo minimo di completamento di un pro-getto, corrispondente a un insieme tij di valori prefissati dei tempi di esecuzione delle singoleattivita. Un’attivita (h, k) viene detta attivita critica se un variazione positiva comunque piccolama non nulla del suo tempo di esecuzione comporta una variazione della stessa entita nel tempominimo di completamento del progetto; e cioe, un’attivita (h, k) e critica se, sostituito thk conthk + ∆t , con ∆t 6= 0 il tempo minimo di completamento del progetto diventa T + ∆t, perqualunque valore positivo di ∆t .

Definizione 14.1.10 (Percorso critico) Dato il diagramma reticolare di un progetto, si dicepercorso critico qualsiasi cammino (orientato) dal nodo iniziale al nodo finale in cui tutti i ramicorrispondono ad attivita critiche.

Esempio 14.1.11 (Esempio 14.1.1 continua) Nel progetto P1 l’attivita E e critica: infattise si pone t25 = 5 + ∆t, si ottiene per i tempi di raggiungi mento dei nodi 5, 6, 7 :per il nodo 5, t5 = max(t2 + t25, t3 + t35) = max(12 + 5 + ∆t, 8 + 6) = 17 + ∆tper il nodo 6, t6 = max(t4 + t46, t5 + t56) = max(16 + 2, 17 + ∆t + 8) = 25 + ∆tper il nodo 7, t7 = t6 + t67 = 25 + ∆t + 2 = 27 + ∆t;invece l’attivita F non critica; infatti posto t35 = 6 + ∆t , si ottiene per il tempo di raggiungi-mento del nodo 5 :

t5 = max(t2 + t25, t3 + t35) = max(12 + 5, 8 + 6 + ∆t) = 17e cioe lo stesso valore di prima, almeno fintanto che∆t non supera i 3 giorni; e ovviamentese t5 non varia, non variano neanche i tempi minimi di raggiungimento dei nodi successivi.Procedendo nello stesso modo con le altre attivita, possiamo constatare che anche A, B, H, Isono attivita critiche; e quindi il percorso individuato dai nodi (0, 1, 2, 5, 6, 7) un percorsocritico .

Domanda 3 Con riferimento al progetto P1, supponiamo che il tempo di esecuzione dell’attivitaH passi da 8 a 10 giorni. Come varia il tempo minimo di completamento del progetto?

Domanda 4 Sempre con riferimento al progetto P1, supponiamo ora che il tempo di ese-cuzione dell’attivita G passi da 2 a 6 giorni. Come varia il tempo minimo di completamentodel progetto?

Domanda 5. In un diagramma reticolare di programmazione puo esistere piu di un percorsocritico ?

La determinazione dei percorsi critici e evidentemente di fondamentale importanza nelle tecnichereticolari di programmazione. Infatti le attivita critiche sono quelle su cui piu stretto deve essereil controllo di chi gestisce l’esecuzione del progetto, nei casi in cui un ritardo dell’esecuzionecomplessiva comporta una penalita, che puo essere sia economica, sia di immagine. Vediamoallora come sia possibile determinare i percorsi e le attivita critiche, con un procedimento piusistematico di quello adottato nell’Esempio 7. Tale determinazione si basa sul calcolo di duegrandezze che contraddistinguono ogni nodo: la prima e il tempo minimo di raggiungimento,gia definito; la seconda e il tempo massimo di raggiungimento, che ora definiamo.

231

Page 234: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Definizione 14.1.12 (Tempo massimo di raggiungimento del nodo) Si definisce tempomassimo di raggiungimento del nodo i, e si indica con Ti, il massimo tempo entro cui tutte leattivita afferenti al nodo i devono essere terminate, pena un aumento del tempo minimo diesecuzione del progetto.

Sulla base delle definizioni date, si comprende che per il nodo finale f risulta Tf = tf . Pereffettuare il calcolo del tempo massimo di raggiungimento di un nodo intermedio i, supponiamodi avere gia disponibili i tempi massimi di raggiungimento di tutti i nodi successori di i. Sia kuno dei nodi successori di i; affinche tutte le attivita afferenti al nodo k siano terminate entro iltempo Tk e necessario in particolare che l’attivita (i, k) non inizi dopo l’istante Tk − tik, e cioeche Ti, tempo massimo di raggiungimento del nodo i, non sia superiore a Tk − tik . Poiche talecondizione deve valere per tutti i nodi successori del nodo i, abbiamo che

Ti = mink>i

(Tk − tik),

ove la ricerca del minimo va fatta solo per quegli indici k > i per cui esiste un ramo (i, k) .

Esempio 14.1.13 (Esempio 14.1.1 continua) Considerato il progetto P1, determiniamo itempi massimi di raggiungimento dei nodi. Posto T7 = t7 = 27, otteniamo :per il nodo 6, T6 = T7 − t67 = 27− 2 = 25per il nodo 5, T5 = T6 − t56 = 25− 8 = 17per il nodo 4, T4 = T6 − t46 = 25− 2 = 23per il nodo 3, T3 = T5 − t35 = 17− 6 = 11per il nodo 2, T2 = min(T4 − t24, T5 − t25) = min(23− 4, 17− 5) = 12per il nodo 1, T1 = min(T2 − t12, T3 − t13) = min(12− 7, 11− 3) = 5per il nodo 0, T0 = T1 − t01 = 5− 5 = 0.

Domanda 6. Risulta sempre T0 = 0, come avviene nell’Esempio 8?

Data un’attivita (i, j) consideriamo ora la differenza Tj − Cij tra il tempo massimo di rag-giungimento del nodo j e il tempo minimo di completamento dell’attivita in questione. Questadifferenza fornisce evidentemente la misura di quanto tempo puo essere ritardato il completa-mento dell’attivita (i, j) senza che si determini un aumento del tempo minimo di completamentodell’intero progetto. Abbiamo in proposito la definizione seguente:

Definizione 14.1.14 (Tempo di slittamento di un’attivita) Si definisce tempo di slitta-mento, o margine di tempo dell’attivita (i, j) il valore Tj − Cij che indica di quanto tempopuo essere ritardato il completamento dell’attivita (i, j) senza che si determini un aumento deltempo minimo di completamento dell’intero progetto.

Esempio 14.1.15 (Esempio 14.1.1 continua) Determiniamo i tempi di slittamento delleattivita del progetto P1. Otteniamo:per l’attivita A : T1 − C01 = 5− 5 = 0per l’attivita B : T2 − C12 = 12− 12 = 0per l’attivita C : T3 − C13 = 11− 8 = 3per l’attivita D : T4 − C24 = 23− 16 = 7per l’attivita E : T5 − C25 = 17− 17 = 0

232

Page 235: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

per l’attivita F : T5 − C35 = 17− 14 = 3per l’attivita G : T6 − C46 = 25− 18 = 7per l’attivita H : T6 − C56 = 25− 25 = 0per l’attivita I : T7 − C67 = 27− 27 = 0Si verifica immediatamente che il tempo di slittamento dell’attivita (i, j) e anche dato dall’espressioneTj − ti − tij .

Sulla base delle definizioni date, possiamo facilmente verificare le seguenti proprieta:

a) Tutte la attivita (i, j) il cui tempo di slittamento Tj − Cij e nullo sono critiche .

b) Le attivita critiche individuano uno o piu percorsi critici e non esistono attivita critiche chenon appartengono ad un percorso critico.

Se ad ogni ramo del grafo associamo una lunghezza pari al tempo di esecuzione dell’attivitacorrispondente, e anche immediato convincersi che vale il seguente teorema.

Teorema 14.1.16 I percorsi critici sono tutti e soli i cammini di lunghezza massima tra ilnodo iniziale e quello finale del diagramma reticolare.

Esempio 14.1.17 (Esempio 14.1.1 continua) Per il progetto P1 le caratterizzazioni a) eb) sono di verifica immediata, tenendo conto di quanto gia visto negli Esempi 7 e 9 . Per quelche riguarda il Teorema 14.1.16 il grafo di figura 14.1.2 presenta i tre cammini (0, 1, 2, 4, 6,7), (0, 1, 2, 5, 6, 7) , (0, 1, 3, 5, 6, 7) di lunghezza pari rispettivamente a 20, 27, 24 ; e infattiil secondo cammino corrisponde al percorso critico.

Ai fini della determinazione delle attivita critiche e dei percorsi critici e quindi basilare sapercalcolare, per ogni nodo i, i corrispondenti tempi minimo e massimo di raggiungimento, ti e Ti.Infatti note queste grandezze, e i tempi di esecuzione delle attivita, e possibile calcolare ancheil tempo minimo di completamento e il tempo di slittamento delle varie attivita.

Abbiamo gia visto in precedenza come calcolare i tempi minimi di raggiungimento, quindipassiamo ad illustrare una semplice tecnica per calcolare i tempi massimi di raggiungimento.

Il calcolo di Ti per ogni nodo i puo essere effettuato con un algoritmo molto semplice che,assumendo Tf = tf , procede per valori di i decrescenti. Infatti, se supponiamo noti tutti itempi di raggiungimento dei nodi k con k > i, la definizione stessa di Tj , massimo tempo entrocui deve essere raggiunto il nodo i pena un aumento del tempo di completamento del progetto,porta alla seguente formula

Ti = mink>i

(Tk − tik),

ove la minimizzazione va fatta solo rispetto agli indici k > i per cui esiste un’attivita (i, k).Sfruttando questa formula, e tenendo conto che, sempre per la definizione, risulta Tf = tf ,

possiamo allora dare un semplice algoritmo per il calcolo dei tempi di raggiungimento massimi.

1) Si pone i = f e Tf = tf ;

2) si sostituisce i con i− 1;

3) si calcola: Ti = mink>i(Tk − tik), ove la minimizzazione va fatta solo rispetto agli indicik > i per cui esiste un’attivita (i, k);

233

Page 236: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

4) si confronta i con 0 : se i > 0 si torna al passo 2); se i = 0 stop.

E’ opportuno notare che se siamo interessati a determinare solo il tempo di completamentominimo e, eventualmente, un percorso critico, il metodo piu rapido e quello di applicare unalgoritmo per la determinazione dei percorsi di lunghezza massimi. Tuttavia il procedimentoindicato in questo paragrafo consente di individuare tutti i percorsi critici e una serie di percorsisottocritici, in ordine crescente di distanza dalla criticita, la cui conoscenza puo essere utilenella pianificazione dei lavori. Se infatti si ordinano le attivita del progetto secondo il lorotempo di slittamento, abbiamo come gia detto che le attivita critiche sono quelle con tempodi slittamento nullo; le rimanenti attivita individuano percorsi non critici, ma tanto piu viciniad essere critici quanto piu i tempi di slittamento delle attivita costituenti tali percorsi sonoridotti. Quindi ordinare le attivita secondo il loro tempo di slittamento consente di individuaresu quali attivita opportuno tenere il controllo piu stretto nel corso dell’esecuzione del progetto.

Esempio 14.1.18 Un progetto consiste nell’esecuzione di una serie di attivita indicate con A,B, ..., T con le seguenti relazioni di precedenza: A, B, C possono iniziare immediatamente; D,E > A; F > B; G, H > D; I > F, G; J,K > C; M,L > J; N > K,L; O > M,N; P > H,I,O;R,Q> P; S > Q; T > R,S . Costruiamo il diagramma reticolare del progetto, numerando i nodiin modo che se il ramo (i, j) rappresenta un’attivita, risulta i < j . Utilizzando le regole primaelencate, otteniamo il grafo di figura 14.8. Associamo alle attivita A, B, ..., T i seguenti tempidi esecuzione (giorni):

A : 5; B : 9; C : 14; D : 4; E : 3; F : 10; G : 6; H : 12; : 10;

J : 3; K : 4; L : 5; M : 5; N : 8; O : 18; P : 3; Q : 6; R : 13; S : 5; T : 7.

Effettua l’analisi del diagramma reticolare del progetto, determinando il tempo minimo e mas-simo di raggiungimento di ogni nodo, il tempo minimo di completamento e il tempo di slitta-mento di ogni attivita, e il percorso critico.

14.2 Il CPM

Il CPM una tecnica che tiene conto, oltre che del tempo di esecuzione delle attivita di unprogetto, anche del loro costo in funzione del tempo di esecuzione; e consente di pianificare lariduzione del tempo di completamento di un progetto con il minimo aumento di costo. NelCPM si assume che il tempo effettivamente richiesto per l’esecuzione di ogni attivita coincidasempre con certezza con quello programmato, per cui si escludono le aleatorieta presenti invecenel PERT. Alla base del CPM c’ l’osservazione che, nella gran parte dei casi, il costo di unattivita dipende fortemente dal tempo impiegato per la sua esecuzione. Data un’attivita (i, j),nel CPM si assume che il costo di esecuzione cij sia legato al tempo di esecuzione tij da unarelazione lineare del tipo

cij = kij − tijhij , aij ≤ tij ≤ bij ,

ove kij e hij sono opportune costanti positive e aij e bij rappresentano rispettivamente il valoreminimo e il valore massimo ammissibili del tempo di esecuzione tij la relazione costo-tempo erappresentata graficamente nella figura 14.9.

Il fatto che se si diminuisce il tempo di esecuzione di un’attivita il suo costo aumenta efacilmente comprensibile, tenuto conto del maggiore impegno di risorse che in genere e richiesto,e trova conferma nell’esperienza corrente.

234

Page 237: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Sulla base di quanto abbiamo visto nella prima sezione, si comprende che, se si vuoleridurre il tempo di completamento di un progetto, e superfluo agire sui tempi di esecuzione diattivita non appartenenti a percorsi critici. E anche superfluo ridurre i tempi di esecuzione diattivita critiche oltre il valore per cui diventano critici altri percorsi, che in tal caso verrebbero adeterminare il tempo di completamento del progetto; in altre parole se si ha piu di un percorsocritico, per ottenere una riduzione del tempo di completamento del progetto occorre ridurrecontemporaneamente i tempi di tutti i percorsi critici.

Uno degli scopi del CPM e appunto quello di individuare le attivita che consentono unariduzione del tempo di completamento del progetto al costo minore.

Concettualmente la procedura del CPM e la seguente: sia tij una scelta dei tempi diesecuzione delle singole atticita , con

aij ≤ tij ≤ bij

e sia εij il margine disponibile per la riduzione del tempo di esecuzione della generica fase:

εij = tij − aij .

Individuiamo il percorso critico, e supponiamo che ne esista uno solo. Determiniamo poi l’attivita appartenente al percorso critico (che e quindi critica) su cui e possibile guadagnaretempo al minimo costo unitario. Questa attivita e quella che ha il valore piu piccolo di hij traquelle con margine diponibile non nullo, cioe e l’ attivita (p, q) per cui risulta:

hp,q = minhij : (i, j) ∈ percorso critico, εij > 0.

E possibile cosı, agendo sull’ attivita (p, q), effettuare una prima riduzione del tempo di ese-cuzione del progetto al costo minimo. L’ entita di questa riduzione e limitata da un lato dalmargine disponibile εpq (non possiamo scegliere un valore di ppq minore di aij), e dall’ altrodalla condizione che non diventi critico un altro percorso.

Esempio 14.2.1 (Esempio 14.1.1, continua) Consideriamo il progetto P1, e ammettiamoche per le attivita A, B, ..., I valga una relazione costo-tempo di esecuzione del tipo rappresentatoin figura 14.9, con i parametri aij, bij e hij dati dalla seguente tabella :

A B C D E F G H Iaij 3 3 1.5 3 3.5 5 1 7 1.5bij 5 7 3 4 5 6 2 8 2hij 3 2 6 4 3.5 1 3 1 4

ove hij e dato in 105 Lire/giorno. Si assuma che sia tij = bij; questo corrisponde ai tempi diesecuzioni dell’ esempio 5.

Sappiamo gia (Esempio 14.1.11) che con questi tempi di esecuzione il percorso critico e unico,e dato da (A, B, E, H, I) e il tempo minimo di completamento del progetto e tf = 27; inoltregli altri due cammini possibili, (A, B, D, G, I) e (A, C, F, H, I) hanno una lunghezza di 20 e24 rispettivamente.

Supponiamo allora di voler ridurre la durata del progetto al costo minimo. Dobbiamoagire sulle attivita critiche, cioa A, B, E, H o I. Tra queste attivita, quella che presenta il piu

235

Page 238: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

basso valore di hij e H, per cui risulta h56 = 1. Il margine disponibile per la riduzione di H eε56 = t56 − a56 = 8 − 7 = 1 . Quindi H puo essere ridotto tutt’ al piu di 1. Se lo riducessimodi piu scenderemmo sotto la soglia inferiore a56. Siccome nessun altro percorso diventa critico,possiamo in effetti ridurre la durata di H da 8 a 7. La lunghezza del percorso critico e ora26. Notiamo che riducendo la durata di H abbiamo ridotto anche la lunghezza del percorso(A, C, F, H, I), che passa da 24 a 23. La spesa sostenuta per questa riduzione e data dah56 ×∆t56 = 1× 1 = 1.

Se siamo soddisfatti della durata, possiamo fermarci. Supponiamo invece di voler ridurreulteriormente il tempo di completamento del progetto. Consideriamo di nuovo le attivita delpercorso critico. H non puo piu essere ridotta perche il suo margine e nullo. L’ attivita delpercorso critico con un hij piu piccolo, tra quelle con un margine di riduzione non nullo e oraB. Il margine disponibile di riduzione di B e ε12 = t12 − a12 = 7− 3 = 4. Questo margine none pero interamente sfruttabile. Infatti notiamo che se riduciamo la durata di B di tre giornila durata del percorso critico diventa 23, pari a quella di (A, C, F, H, I). Quindi se riduciamola durata di B da 7 giorni a 4 giorni, abbiamo due percorsi critici, (A, B, E, H, I) e (A, C,F, H, I) della durata di 23 giorni. Ogni ulteriore riduzione della durata della sola attivitaB sarebbe a questo punto ininfluente sulla durata della progetto, che sarebbe determinata, aquesto punto, dal percorso (A, C, F, H, I). Riduciamo allora, per il momento, la durata diB da 7 a 4 giorni. A questo punto la durata del progetto e 23 giorni e la spesa sostenuta eh56 ×∆t56 + h12 ×∆t12 = 1× 1 + 2× 3 = 7.

Se i percorsi critici sono piu di uno, allora la riduzione di tf si ottiene riducendo contempo-raneamente, e della stessa quantita, i tempi di esecuzione di attivita situate su tutti i percorsicritici, in modo da ridurra l’ attivita di tutti i percorsi critici, della stessa misura.

Esempio 14.2.2 (Esempio 14.2.1, continua) Riprendiamo l’ esempio 14.2.1, e supponi-amo di voler ridurre il tempo di completamento a 22 giorni dai 23 a cui eravamo arrivati.Siccome abbiamo due percorsi critici,(A, B, E, H, I) e (A, C, F, H, I), dobbiamo ridurre ladurata dei due percorsi al costo unitario minore possibile. In questo caso si vede facilmenteche sono possibili due soluzioni. Possiamo ridurre di un giorno la durata dall’ attivita A, chefa parte di tutti e due i percorsi critici, al costo unitario di h01 = 3. In alternativa, possiamoridurre, sempre di un giorno, l’ attivita B, che appartiene al percorso (A, B, E, H, I), e quellaF, che appartiene al percorso (A, C, F, H, I), al costo unitario h12 + h35 = 2 + 1 = 3 uguale alprecedente.

La situazione puo anche essere piu complicata. Per esempio e necessario tener presente chequando si riducono i tempi di piu attivita contemporaneamente, puo accadere che alcuni percorsisubiscano una riduzione multipla. Il costo complessivo minimo per la riduzione del tempo dicompletamento, si otterra in tal caso bilanciando, se possibile, questa riduzione multipla conun opportuno aumento del tempo delle attivita per cui questo e possibile senza influenzare tf .

E anche possibile dare una procedura piu sistematica per determinare quali devono essere itempi di esecuzioni da assegnare alle varie attivita per completare l’ esecuzione di un datoprogetto in un tempo prefissato e a costo minimo.

Questa procedura costituisce un’interessante applicazione della Programmazione Lineare.Infatti, tenendo conto di quanto detto sui costi di esecuzione delle attivita, avremo che il costo

236

Page 239: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

totale dell’esecuzione del progetto e dato dalla somma dei costi delle attivita, e cioe dalla∑

ij

cij =∑

ij

kij −∑

ij

tijhij

conaij ≤ tij ≤ bij per ogni attivita (i, j),

e dove le sommatorie si intendono estese alle coppie di indici(i, j) cui corrisponde un ramo neldiagramma reticolare del progetto. Inoltre abbiamo che il valore piu piccolo del tempo minimodi completamento del progetto, compatibile con le limitazioni sui tempi di esecuzione dellesingole attivita, puo essere ottenuto prendendo per tutte le attivita tij = aij ; denotiamo conTmin questo valore. Analogamente il valore piu grande del tempo minimo di completamentodel progetto, che denotiamo con Tmax , puo essere ottenuto prendendo per tutte le attivitatij = bij . Sia ora T un valore compreso tra Tmin e Tmax:

Tmin ≤ T ≤ Tmax

e supponiamo di volere completare il progetto entro il tempo T, con il minimo costo complessivo.Tenendo conto del fatto che nella formula del costo il primo termine

∑ij kij rappresenta una

costante, e il secondo termine appare con un segno negativo, minimizzare il costo complessivoequivale a massimizzare la funzione obiettivo z =

∑ij tijhij . A questo punto possiamo scrivere

per il CPM la formulazione come problema di Programmazione Lineare, rispetto alle variabiliti e tij , nel seguente modo:

max∑

ij tijhij

ti + tij − tj ≤ 0 per ogni (i, j)

tij ≤ bij per ogni (i, j)

tij ≥ aij per ogni (i, j)

tf = T

t0 = 0

ti, tij ≥ 0.

La soluzione di questo problema fornisce i valori tij dei tempi di esecuzione delle attivita cuicorrisponde, al minimo costo complessivo, un tempo minimo di completamento del progetto paria T . Per quel che riguarda le variabili ti, c’e da osservare che i valori forniti dalla soluzione delproblema di programmazione lineare coincidono con i tempi minimi di raggiungimento dei nodisolo se per ogni indice j esiste almeno un indice i per cui il vincolo ti + tij − tj ≤ 0 soddisfattocon il segno di uguaglianza, come si comprende facilmente ricordando la procedura per il calcolodei tempi minimi di raggiungimento dei nodi. Se questa condizione non soddisfatta, i tempiminimi di raggiungimento dei nodi possono essere determinati con la procedura abituale, apartire dai valori tij forniti dalla soluzione del problema di programmazione lineare. Per quelche riguarda il problema di programmazione lineare del CPM, e opportuno tenere presenteche, data la sua particolarita, per esso esistono algoritmi specifici piu efficienti di quello delsimplesso. E anche da osservare che il problema formulato puo essere risolto piu volte, infunzione del parametro T, con opportuni algoritmi che consentono di ridurre al minimo i calcolinecessari (Programmazione Lineare Parametrica); si ottiene una relazione costo complessivominimo - tempo minimo di completamento che data graficamente da una spezzata del tipo diquella rappresentata in figura 14.2.

237

Page 240: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Esercizio 1. Un progetto P2 comporta l’esecuzione delle 7 attivita A, B, C, D, E, F, G, tracui sussistono le relazioni di precedenza: A < B,C; C < D,E; D,E < F; B,F < G . Associamoalle attivita i seguenti tempi di esecuzione, espressi in settimane: A, 3 settimane; B, 2; C, 1; D,4 ; E, 1; F, 2; G.

Costruire il diagramma reticolare del progetto.

Determinare il tempo minimo di completamento del progetto.

Determinare il percorso critico per il progetto P2 .

Determina i tempi massimi di raggiungimento dei nodi del progetto P2.

Determina i tempi di slittamento per le attivita del progetto P2.

238

Page 241: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

i j kA B

i j kA B

lC

A < B

A < B < C

a)

b)

A,B < C

i

j

k

A

B

lC

k

l

j

B

C

iA

A < B,C

c)

Figura 14.2: Rappresentazione grafica delle regole di precedenza

0 1 2A

B

3D

C

Figura 14.3: Una coppia di nodi che non individua univocamente un’ attivita

239

Page 242: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

0 1 3A B

4D

C

2

X

Figura 14.4: Introduzione di un’ attivita fittizia

0 1 2A B

7

G4

5

3

D

H

6

C

E

I

F

Figura 14.5: Diagramma reticolare del progetto P1

i k m

E

B D

Cj l n

Y

Figura 14.6: Introduzione dell’ attivita fittizia Y

240

Page 243: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

0 1 2A B

7

G4

5

3

D

H

6

C

E

I

F

(5) (7)

(3)

(6)

(5)

(4) (2)

(8)

(2)

Figura 14.7: Tempi di esecuzione delle attivita del progetto P1

0

1

2

3

4

5

6 7 8 9 10 11 12 13

A

B

C

D

F

J

E

GH

I

M

K

L N O P Q

R

S T

5

9

14

4

6

10

3

4

5

5

3

12

10

8 18 3 6 5 7

13

Figura 14.8: Diagramma reticolare del progetto P3

241

Page 244: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

i jt

bi ja i j

ki j

ci j

Figura 14.9: Relazione costo-tempo per l’ esecuzione dell attivita (i, j)

maxT

ci j

minT

·

Figura 14.10: Relazione tipica tempo minimo di completamento - costo minimo di unprogetto

242

Page 245: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Capitolo 15

Uso di Excel per l’analisi esoluzione di Modelli diProgrammazione Matematica

15.1 Introduzione

La soluzione grafica di problemi di ottimizzazione che abbiamo visto nel Capitolo 3 puo essereutilizzata solo nel caso in cui il numero di variabili sia due. I problemi applicativi hanno normal-mente piu di due variabili. E necessario utilizzare sistemi di calcolo automatici per trattare siagrandi quantita di dati che di operazioni logico-aritmetiche. Esistono molti software per risol-vere problemi di Programmazione Matematica a diversi livelli di complessita. Alcuni prodottisoftware integrano anche linguaggio di modellizzazione con il/i solutore/i in un unico pacchettocommerciale. Si tratta di prodotti di ottimizzazione comprensivi di tutto l’ambiente di calcolo,cosiddetti sistemi di modellizzazione ”stand-alone” che sono in grado di fornire l’interfacciacompleta tra i differenti livelli di formulazione, soluzione, e analisi della modellizzazione. Isistemi di tipo stand-alone tendono ad essere i piu vantaggiosi a livello di costruzione di pro-totipo, quando il lavoro e incentrato sulla costruzione di un modello accettabile e nel dimostrareche l’approccio e sufficientemente promettente per giustificare investimenti maggiori. In questomodo pero si incoraggia fortemente (quando non e obbligato) l’uso di un particolare solutore.Quindi e una scelta ragionevole in situazioni in cui la velocita e la versatilita non sono le ques-tioni piu importanti. Questo e spesso il caso di sistemi altamente specializzati, in cui la qualitadell’interfaccia e l’aspetto fondamentale e l’insieme di problemi che il solutore deve trattareappartengono ad una classe relativamente stretta e ben definita.Rientrano in questa categoria alcuni dei piu elementari linguaggi di modellizzazione cosı comei prodotti di ottimizzazione inseriti in programmi di foglio elettronico (spreadsheet).In questo capitolo utilizzeremo Microsoft c©Office Excel 2003 e il suo solutore Excel Solver(http://www.solver.com/).

243

Page 246: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

15.2 Uso di fogli elettronici per la descrizione di un mod-ello matematico

Il primo passo per l’utilizzo di fogli elettronici per l’analisi e la soluzione di un problema diottimizzazione richiede la conversione della formulazione del problema in un foglio elettronicoutilizzabile da opportuno software. Si tratta di rappresentare i dati, le variabili, le funzioni divincolo, e la funzione obiettivo.

Ci sono diversi modi di organizzare un foglio elettronico per rappresentare un modello diottimizzazione. In generale pero e consigliabile seguire uno stesso schema di base che consenteuna immediata visualizzazione ed individuazione dei parametri e dei dati. In particolare di-videremo la costruzione del foglio elettronico in quattro sezioni: Dati di ingresso, Variabili didecisione, Funzione obiettivo, Vincoli.

A titolo esemplificativo, consideriamo il semplice modello di capital budgeting dell’esempio1.4.1 del capitolo ??, la cui formulazione matematica e:

max (20x1 + 5x2 + 10x3)750x1 + 200x2 + 800x3 ≤ 1000xi ∈ 0, 1 i = 1, 2, 3.

Inserimento dati di ingresso. Si tratta di inserire in una tabella Excel i valori numericiche sono utilizzati nel modello.I dati non devono essere posti necessariamente in una posizione particolare nella tabella, manel seguito, per identificarli in modo facile, sono stati posizionati il piu possibile nella parte altaa sinistra del foglio elettronico. In alcuni casi puo essere utile deviare da questa convenzione,quando alcune posizioni sono piu naturali ed intuitive.Le celle di una tabella excel sono individuate dalla posizione di colonna (indicata da una letteradell’alfabeto) e di riga (un numero).

Figura 15.1: Dati relativi al problema di Capital Budgeting.

In figura 15.1 e riportato il file Excel relativo all’inserimento dei primi dati di CapitalBudgeting. Per ciascun progetto 1,2,3 sono riportati i valori di investimento (celle B3, C3, D3),ovvero i valori dei coefficienti dei vincoli, e i guadagni (celle B4, C4, D4), ovvero i coefficientidella funzione obiettivo.

Sono state incluse delle caselle di commento (le prime due righe e la prima colonna) che con-sentono di identificare facilmente di che tipo di dato si tratta (investimento/guadagno relativo

244

Page 247: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

al progetto 1/2/3).Se cambiano i dati (costi, guadagni), e necessario modificare questa parte del file Excel.

Si puo notare che non e stato ancora inserito il valore del dato relativo al budget. In effetti,questo valore ha una posizione piu naturale come si vedra nel seguito.

In figura 15.2 e riportato il file Excel relativo al modello completo, che descriviamo indettaglio.

Celle variabili (Variabili di decisione). Le celle variabili rappresentano il valore dellevariabili di decisione del modello. Al momento dell’utilizzo del solutore, queste celle sonoconsiderate come incognite e come output conterranno il valor ottimo della soluzione. Nel nostroesempio le variabili di decisione x1, x2, x3 sono assegnate alle celle B7, C7, D7. E necessarioassegnare un valore iniziale a queste celle per poterle utilizzare. Nel nostro esempio x1 = 0=B7,x2 = 1=C7, x3 = 0=D7. Osserviamo che nell’esempio di capital budgeting le variabili possonoassumere solo valori interi (in particolare 0,1). In questa fase di rappresentazione del modelloin una tabella excel, non e possibile dare indicazioni di questo tipo.E utile inserire delle celle di tipo descrittivo sopra le celle variabili. Ad esempio, noi abbiamoindicato il nome della variabile. Inoltre le celle variabili sono evidenziate con un colore azzurro(vedi figura 15.2). Il colore non ha alcun ruolo nel foglio elettronico se non stilistico. Evidenziarele celle usando un colore diverso (o circondandole con una linea piu evidente), rende ilfoglioelettonico piu semplice da leggere.

Celle vincoli. Si tratta di creare delle celle che contengano le formule che definiscono il“left hand side” (l.h.s.) dei vincoli. Il right hand side =r.h.s del vincolo DEVE essere un valorenumerico e deve essere contenuto in un’altra cella.

Nel nostro esempio il valore del l.h.s. del vincolo, cioe la formula 8x1 +6x2 +5x3, e inseritoin cella B10. Poiche il valore del l.h.s deve essere confrontato con il valore del r.h.s. e utileporre questi due valori “vicini”. La posizione “naturale” del valore di budget e nella cella D10separata dalla B10 da una cella intermedia C10 che contiene il simbolo ≤. Tale simbolo nonha alcuna funzione di controllo, ma serve solo a rendere piu leggibile il file.. Il valore in B10 e calcolato inserendo una funzione Excel. Si e utilizzata la funzione

B10=MATR.SOMMA.PRODOTTO(B3:D3;B7:D7) 1

che realizza la seguente operazione

B10=B3*B7+C3*C7+D3*D7

2

E possibile anche inserire in una cella, una funzione logica che mi indichi se il vincoloe soddisfato o violato. In particolare, nel nostro esempio, abbiamo inserito nella cella E7

1La sintassi della funzione e =MATR.SOMMA.PRODOTTO(Blocco1,Blocco2) e moltiplica ognicella del Blocco1 e del Blocco2 e somma il risultato. In generale i blocchi devono avere la stessadimensione, cioe stesso numero di righe e stesso numero di colonne. Nella versione inglese, la funzionee =SUMPRODUCT(Block1,Block2).

2Nel caso in cui sia necessari riprodurre una sequenza di formule di questo tipo in cuicambia solo un blocco ad es. =B3*B8+C3*C8+D3*D8,per potervottenre valori coretti effet-uando la copia della cella originaria e necessario inserire i ”dollari” nela formula, ovvero=MATR.SOMMA.PRODOTTO(B3:D3;B7:D7)

245

Page 248: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

(adiacente al valore delle variabili di decisione) la funzione logica Excel “SE”, che restituiscerestituisce il valore “ammissibile” (vero) o “non ammissibile” (falso) in base alla differenza trail valore delle celle D10 (budget) e B10 (spesa effettiva). La sintassi e:

=SE(D10-B10 >= 0;"AMMISSIBILE";"NON AMMISSIBILE")

Questa opzione puo essere utile nel caso si utilizzi Excel per analisi di scenario.

Celle obiettivo. La cella obiettivo contiene il valore della funzione obiettivo. E possibileutilizzare altre celle per ottenere risultati intermedi. Il valore della funzione obiettivo e ovvi-amente una funzione dei dati presenti nelle celle variabili. Anche in questo caso e opportunoinserire delle celle di commento che aiutino nella visualizzazione.Nel nostro esempio si tratta di assegnare la formula 20x1 + 5x2 + 10x3. Il valore della funzioneobiettivo e assegnato alla cella B13 ed e dato dalla formula B13 = B4∗B7+C4∗C7+D4∗D7realizzata con la funzione

B10=MATR.SOMMA.PRODOTTO(B4:D4;B7:D7)

Figura 15.2: Tabella Excel relativa al problema di Capital Budgeting.

15.3 Uso di excel per analisi di scenario

L’uso di Excel come foglio elettronico per una descrizione del modello, puo essere utilizzata perverificare le conseguenze di diversi possibili cambiamenti.

246

Page 249: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

La tabella costruita fino a questo punto consente di fare semplici analisi di possibili scenari,modificando manualmente il valore delle variabili di decisione nelle celle B7, C7, D7. Adesempio nella tabella di figura 15.3 e stata data un diverso valore alle celle variabili, ottenendouna soluzione ammissibile con una certo valore della funzione obiettivo.

Figura 15.3: Analisi di scenario per il problema di Capital Budgeting.

In particolare, possono essere modificati anche i valori dei dati, ottenendo immediatamenteil nuovo valore del guadagno e dell’investimento necessario.Questo tipo di approccio e detto “What if..?” (letteralmente “Che succede se...?”) e la suaflessibilita costituisce l’aspetto che rende l’uso di fogli elettronici un utile supporto alle decisioni.Dal punto di vista dell’ottimizzazione, non e stato fatto ancora nulla e la soluzione ottenuta conanalisi di scenario non ha nessuna garanzia di essere quella ottima ne una sua approssimazione.Si tratta di una formalizzazione del modello esaustivo descritto nell’esempio 1.4.1. E ovvio chei possibili scenari possono essere “troppi” per poterli analizzare tutti anche nel caso in cui sianofiniti come nell’esempio di Capital Budgeting che stiamo analizzando.

Microsoft c©Office Excel 2003 include nel Menuu Strumenti il tool ”Scenari...” che consente dieffettuare an analisi du tipo “What If” memorizzando in modo permanente le combinazionidi dati di input che sono state utilizzate. Supporta anche la generazione automantica di unRiepilogo Scenari che realizza un confronto affaincando i risultati.

E utile invece utilizzare il modello in forma tabellare cosı costruito per determinare lasoluzione ottima mediante un algoritmo di ottimizzazione.

247

Page 250: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

15.4 Uso di Excel-Solver per la soluzione del modello matem-atico

Microsoft Excel dispone di una funzione tra i Componenti aggiuntivi (Add-In) che e chiamata“Solutore” (Solver) che consente di determinare la soluzione ottima di problemi di Program-mazione matematica (PL, PLI, e alcuni classi particolari di PNL). La procedura di ottimiz-zazione utilizzata per la PL e il metodo del simplesso. Non entreremo affatto nel merito delleprocedure utilizzate per la PNL e la PLI.

Installazione Solutore. Il solutore e parte integrante di Excel. Si trova la voce Solutoresotto il menu Strumenti (Tools). Nel caso la voce “Solutore” non compaia nel menu “Stru-menti”, deve essere installato procedendo come segue (vedi anche figura 15.17 a fine capitolo):

1. dalla voce del menu Strumenti selezionare la voce Componenti aggiuntivi

2. selezionare Componente aggiuntivo Solutore e cliccare OK.

Nel caso la voce “Componente aggiuntivo Solutore” non compaia nemmeno sotto la voce “Com-ponenti aggiuntivi”, significa che Excel non e stato installato completamente ed e necessarioavere il programma di setup di Excel.

Impostazione del modello per il Solutore. Dalla voce Strumenti selezionare Solutore.A questo punto appare la finestra Parametri del Risolutore illustrata in Figura 15.4. Si

Seleziona la funzione max o mincome richiesto dal problema

Specifica la cella checontiene il valore dellafunzione obiettivo

In quest’area sono elencatitutti i vincoli del modello

Indica le celle checontengono le variabili

Clicca qui perrisolvere il modello

Clicca quiper specificareil tipo di modelloe I parametri delrisolutore

Clicca qui per aggiungereun nuovo vincolo

Seleziona un vincolo eclicca qui per modificarlo

Seleziona un vincolo eclicca qui per eliminarlo

Clicca qui peruscire senzarisolvere il modello

Figura 15.4: Finestra Parametri del Risolutore.

tratta della finestra principale del Risolutore ed e utilizzata per identificare gli elementi checostituiscono il modello. Nella parte in alto a sinistra della finestra compare l’etichetta Imposta

248

Page 251: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

cella obiettivo e una cella che deve contenere l’indirizzo della cella della funzione obiettivo.Questa cella puo essere “editata” oppure riempita con il corretto valore semplicemente cliccandosulla cella corrispondente sul foglio elettronico (N.B. La finestra “Parametri del Risolutore” puoessere spostata in modo da rendere visibili le celle del file).Una volta impostata la cella obiettivo e necessario specificare se si tratta di un problema dimassimizzazione o di minimizzazione, selezionando il tasto Max o Min nella riga successiva.Le variabili di decisione devono essere specificate indicando nella cella etichettata con Cam-biando le celle (By Changing Cells) l’indirizzo delle celle variabili. Anche in questo caso epossibile scrivere direttamente nella cella o riempirla selezionando sul foglio elettronico le cellevariabili. Un intervallo di celle puo essere specificato, scrivendo il valore della prima ed ultimacella separati da ’due punti’. Ulteriori variabili non contigue possono essere aggiunte separateda ’virgola’.I vincoli devono essere elencati nella sottofinestra Vincoli: (Subject to the Constraints). Se-lezionando il tasto Aggiungi(Add) compare la finestra Aggiungi vincolo rappresentata in figura15.5.

Specifica la/e cella/e checontengono il l.h.s. del/deivincolo/i

Specifica la/e cella/e checontengono il r.h.s. del/deivincolo/i

Clicca qui per selezionarel’espressione logica appropriata

Clicca qui per definire l’ultimovincolo e ritornare alla finestra“Parametri del Risolutore”

Clicca qui per definire tuttieccettol’ultimo vincolo e ritornare allaFinestra “Parametri del Risolutore”

Microsoft ExcelHelp system

Clicca qui per tornarealla finestra “Parametridel Risolutore” senzaaggiungere vincoli

Figura 15.5: Finestra Aggiungi Vincolo.

I vincoli possono essere inseriti uno alla volta. Questo procedimento puo pero essere moltolungo nel caso di problemi con molti vincoli. in alternativa si possono inserire piu vincoliinsieme se sono adiacenti e se hanno lo stesso vincolo relazionale (cioe ≤, ≥ oppure =). Il l.h.sdel vincolo deve essere inserito nella cella con etichetta Riferimento:. Successivamente cliccandoil tasto ≤ si apre una tendina che consente di specificare il tipo di vincolo. Il r.h.s. dei vincolideve essere inserito nella finestra con etichetta Vincolo:. Si puo inserire il valore della cella

249

Page 252: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

appropriata semplicemente “cliccando” sulla cella corrispondente nel foglio Excel.N.B. Il r.h.s. del vincolo immesso nel solutore DEVE esser un valore numerico e quindi nondeve contenere funzioni. Tipicamente se erroneamente si inserisce una funzione nel r.h.s., excelSolver interpreta il modello come Non Lineare e applica procedure di ottimizzazione diverse dalsimplesso non arrivando a convergere al minimo.Tra le possibili tipologie di vincoli compaiono anche le opzioni int e bin. Servono rispettivamentea specificare che le variabili possono assumere solo valori interi o binari. In questo caso nelcampo Riferimento: devono essere inserite le variabili interessate, mentre il campo Vincolo:rimane vuoto. Nel nostro esempio le variabili sono binarie; questo vincolo puo essere specificatoin modo diretto indicando che le celle B7,C7,D7 sono binarie, oppure imponendo alle variabilila coppia di vincoli B7,C7,D7≥ 0, B7,C7,D7≤ 1 e specificando che si tratta di variabili intere.In Figura 15.6 e illustrata questa procedura. Notiamo che i vincoli di non negativita possonoanche essere omessi in questa fase di specifica del modello; in questo caso devono pero esserespecificati tra le Opzioni del Solutore (vedi paragrafo successivo).Prima della soluzione del modello e necessario selezionare il tasto Opzioni sulla destra dellafinestra “Parametri del Risolutore”. Nel caso si stia risolvendo un problema di ProgrammazioneLineare (o di Programmazione Lineare Intera) e necessario selezionare l’opzione Presupponi ilmodello lineare nella finestra “Opzioni del Risolutore”. E anche possibile specificare qui chele variabili sono non negative, se non e gia stato specificato esplicitamente tra i vincoli delmodello, selezionando l’opzione Presupponi non negativo. Vedi la Figura 15.6 per i dettagli.A questo punto, uscendo dalla finestra con il tasto OK, l’attuale impostazione delle opzioni delSolutore e salvata insieme con il foglio Excel e ne diventa parte integrante.

15.5 Soluzione di un modello di PL o PLI.

Una volta definiti i parametri del Risolutore e settati i valori nelle Opzioni, si puo tentare dirisolvere il problema pigiando il tasto Risolvi (Solve). Quando il Solutore ha terminato il calcolodella soluzione ottima, compare la finestra Risultati del Solutore rappresentata in Figura 15.7.

Leggere i risultati di ottimizzazione Il messaggio in alto indica se il solutore e statoin grado o meno di determinare la soluzione ottima del modello. Qualora non sia stato possibiledeterminare la soluzione ottima, e possibile cambiare alcune delle opzioni nella finestra Opzionidel Solutore per cercare di migliorare le prestazioni dell’algoritmo. In particolare, si possonocambiare i valori di tempo massimo, iterazioni, approssimazione, tolleranza, convergenza chestabiliscono i termini per cui l’algoritmo utilizzato dal Solutore si ferma.

Cliccando il tasto OK, si torna al foglio Excel. Si verifica che il valore di alcune celle e statomodificato. In particolare le celle di decisione contengono il valore della soluzione (ottima)determinata dal Solutore, e la cella obiettivo contiene il corrispondente valore della funzioneobiettivo. Anche il valore del l.h.s dei vincoli e calcolato utilizzando il valore corrente dellevariabili di decisione.

Cambiando i dati del modello, la soluzione ottima non viene automaticamente aggiornata. Equindi necessario far risolvere nuovamente il problema.La tabella Excel per il problema di capital Budgeting risolto e riportata in Figura 15.8.

Osserviamo che abbiamo risolto un problema di PLI. Excel-Solver e in grado di risolvereproblemi di PLI di piccole dimensioni. Quando il numero di variabili e troppo alto, la determi-nazione della soluzione ottima, puo richiedere troppo tempo o non convergere affatto.

250

Page 253: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Seleziona questaopzione se le funzioniche definiscono vincolie obiettivo sono lineari

Seleziona questa opzione se le variabiliSono vincolate ad essere non negative e non e` gia` stato specificato nei vincoli

m

Parametri permodelli non lineari

Parametriper algoritmo

Figura 15.6: Opzioni del risolutore.

15.6 Ulteriori informazioni fornite dal Solutore

Tutti i software di PL forniscono un numero di informazioni aggiuntive oltre al valore ottimodelle variabili di decisione e della funzione obiettivo.

Il Solver di Microsoft Excel produce tre fogli opzionali che sono: Rapporto valori, Rapportosensibilita e Rapporto limiti. Da notare che il Rapporto sensibilita e il Rapporto limiti sonoprivi di significato per problemi a variabili intere, come sara chiaro piu avanti. Per questomotivo, illustreremo i risultati dei Rapporti non piu per il problema di Capital budgeting, maper il problema di Programmazione Lineare di allocazione ottima descritto nel Paragrafo 2.4.1.Il modello matematico e

max 7x1 + 10x2

x1 + x2 ≤ 750x1 + 2x2 ≤ 1000x2 ≤ 400x1 ≥ 0, x2 ≥ 0

(15.1)

relativo all’allocazione ottima di due risorse e la sua soluzione con metodo grafico e statadeterminata nel’Esempio 4.3.4. Una possibile rappresentazione in una tabella Excel e riportatain 15.9.Impostando il modello nel solutore si determina la soluzione ottima.Nella tabella Excel, i valori iniziali delle celle variabili sono stati posti a (5, 6)T e la soluzioneottima e x∗(500, 250)T .

251

Page 254: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Questo messaggio specifica se il Solutoreha trovato o no la soluzione ottima

Questo bottone specifica al Solutorese deve o non memorizzare il valoreottimo delle variabili e generarei rapporti selezionati nella finestrain alto a destra

Torna alfoglio Excel

Annulla il risultato del Solutore eripristina i valori originali nel foglio Excel

Selezionare il rapportoche si desidera generare

Figura 15.7: Finestra Risultato del Solutore.

I tre Rapporti possono essere richiesti una volta che il Solutore ha trovato la soluzione ottimadel problema di PL. La richiesta deve essere fatta dalla finestra Risultato del Solutore (vediFigura 15.7), selezionando nella parte in altro a destra il rapporto che si desidera generare.

Rapporto valoriIl Rapporto valori per il problema di Allocazione ottima (15.1) e riportato in figura 15.9.Il Rapporto valori e diviso in tre sezioni: funzione obiettivo, celle variabili, vincoli. Per

quanto riguarda le prime sue sezioni, sono riportati i valori iniziali e i valori ottenuti dal Solutore.Nella sezione dedicata ai vincoli, per ogni vincolo oltre al valore del l.h.s. e alla relativa formula(in formato excel) fornisce indicazioni sullo stato. In particolare lo stato di un vincolo puoessere Vincolante o Non Vincolante. Si intende che il vincolo e rispettivamente attivo (ovverosoddisfatto all’uguaglianza) o non attivo (ovvero soddisfatto con la disuguaglianza stretta) nellasoluzione ottima determinata dal Solutore. L’ultima colonna della sezione dedicata ai vincoliTolleranza e la differenza (slack) tra il valore del l.h.s e il valore del r.h.s.. Questa informazionee di interesse quando i vincoli si riferiscono ad una risorsa limitata (come nel caso dell’esempiodi allocazione ottima delle risorse). In questo caso infatti la Tolleranza indica quanta dellarisorsa disponibile non e stata utilizzata. Nell’esempio 15.1, all’ottimo sono attivi i vincolix1 + x2 ≤ 750, x1 + 2x2 ≤ 1000, mentre il vincolo x2 ≤ 400 relativo alla disponibilita dipreparato 3 e non attivo. Il valore della Tolleranza=150 che e la differenza tra la disponibilitadi preparato 3 (=400) e la quantita utilizzata (=250). E ovvio che la soluzione ottima delproblema (15.1) rimane invariata se la quantita disponibile di preparato 3 viene aumentata o

252

Page 255: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Figura 15.8: Risultato del Solutore per il problema di Capital budgeting.

ridotta fino al valore 250.

Rapporto sensibilita e prezzi ombra L’analisi di senibilita si occupa di valutare comela soluzione ottima di un problema di PL cambia al variare dei dati che definiscono l’istanzadel problema sotto studio. Abbiamo affrontato questo problema nel paragrafo 11.3.5. Qui cilimitiamo a descrivere il foglio prodotto dal Solver di Microsoft Excel.Il Rapporto sensibilita e generato da Excel su richiesta. Il file generato per il problema diallocazione ottima di risorse in § 2.4.1 e in figura 15.12.

Il rapporto e diviso in due parti. Nella parte superiore per ogni cella variabile e riportato ilvalor e della soluzione ottima. Se una variabile e nulla, significa che non e vantaggioso produrla.La colonna Costo ridotto di questa attivita indica quanto maggiore dovrebbe essere il profittoper unita relativo a questa variabile affinche sia inserita nella soluzione ottima ad un valore nonnullo. Se il costo ridotto relativo alla variabile xi e negativo pari a −γi, questo significa che ilprofitto relativo a quella variabile deve aumentare da ci (valore indicato in tabella nella colonnaCoefficiente oggettivo) a ci + γi perche esista una soluzione ottima con xi > 0. Le colonneaumento e decremento ammissibile corrispondono alla variazione in aumento o diminuzione perci per cui la soluzione rimane ottima.

D’atra parte se una variabile e gia positiva all’ottimo, le colonne Incremento/Decremento con-sentito indicano quanto deve variare in piu o in meno, il profitto relativo a quella cella variabileaffinche la soluzione data non sia piu ottima.

253

Page 256: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Figura 15.9: Tabella Excel relativa al problema di allocazione di risorse.

Ad esempio nel problema di allocazione ottima di risorse in § 2.4.1, la cella variabile $B$9 checorrisponde alla produzione di Colorante di tipo 1, l’attuale coefficiente della funzione obiettivoe 7, mentre Incremento e Decremento consentiti sono rispettivamente 3 e 2. Questo significa chese il coefficiente c1 della funzione obiettivo varia nell’intervallo [5, 10] i cui estremi corrispondonoa 7−2 e 7+3, la soluzione ottima rimane invariata. Se invece il coefficiente c1 viene modificatoad un valore al di fuori dell’intervallo [5, 10] la soluzione ottima cambia. Per sapere come cambiala soluzione e necessario risolvere nuovamente il modello con il Solutore.

Il valore dell’Incremento e Decremento consentiti puo essere anche pari a 1.E + 30 (= 1030)intendendo in questo modo una valore grande a piacere. Si intende che il valore di profittounitario puaumentare o diminuire senza limiti e la soluzione ottima non cambiera.

Nella parte inferiore del Rapporto di sensibilita, ci sono tante righe quanti sono i vincoli (esclusieventuali vincoli di limitazione inferiore e superiore delle variabili e in vincoli di non negativita).Per ogni vincolo nella colonna Valore finale e riportato il valore del l.h.s nella soluzione ottima,e il valore del r.h.s. nella colonna Vincolo a destra. Naturalmente se i valori del l.h.s. e r.h.s.coincidono significa che il vincolo e attivo nella soluzione ottima (vedi anche il Rapporto Valori).Un vincolo attivo sta ad indicare una risorsa utilizzata completamente, fino al limite massimodella sua disponibilita. Per queste risorse si puo valutare se e quando puo essere convenienteacquisire una maggiore quantita di risorsa. La colonna Prezzo ombra indica i valori dei prezziombra relativi a quella risorsa (vedi anche il paragrafo 11.3.5). Nella tabella in figura 15.12relativa al problema di allocazione ottima di risorse § 2.4.1, il prezzo ombra relativo al primo

254

Page 257: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Microsoft Excel 10.0 Rapporto valoriFoglio di lavoro: [allocazione.xls]Allocazione otti ma di risorseData di creazione: 28/04/2004 16.59.50

Cella obiettivo (Max)Cella Nome Valori originali Valore finale

$B$19 profitto max 95 6000

Celle variabiliCella Nome Valori originali Valore finale

$B$9 variabili di decisione colorante 1 5 500$C$9 variabili di decisione colorante 2 6 250

VincoliCella Nome Valore della cella Formula Stato Tolleranza

$B$14 preparato 1 utilizzato 750 $B$14<=$D$14 Vincolante 0$B$15 preparato 2 utilizzato 1000 $B$15<=$D$15 Vincolante 0$B$16 preparato 3 utilizzato 250 $B$16<=$D$16 Non vincolante 150

Figura 15.10: Rapporto Valori per il problema di allocazione ottima di risorse in § 2.4.1.

vincolo (corrispondente alla risorsa ”Preparato 1“) e 4. Questo significa che ciascuna unitaaggiuntiva di ”Preparato 1“ al di sopra delle 750 gia disponibili consente di aggiungere 4 alprofitto totale. Naturalmente questa analisi e valida solo entro certi limiti espressi nelle colonneIncremento consentito e Decremento consentito. Nel caso del ”Preparato 1“ questi limiti sono250 e 150 rispettivamente. Questo significa che ogni unita aggiunta fino al massimo di 250produce un incremento del profitto di 4 per unita, e ogni unita sottratta fino ad un massimodi 150 produce una diminuzione di profitto di 4 per unita. Al di fuori di questo range non epossibile utilizzare i prezzi ombra per prevedere cosa succede. L’unico modo per verificare comesi modifica la soluzione e di far risolvere nuovamente il modello con i nuovi dati.

L’analisi dei prezzi ombra e identica per ciascun vincolo attivo. Per i vincoli non attivi ilvalore del prezzo ombra e ovviamente nullo. Questo e sensato dal punto di vista economico;difatti poiche la risorsa non e stata utilizzata completamente (e inn eccesso) non e convenienteacquisire una maggiore quantita. IN questo caso l’Incremento consentito e infinito, perche ilprezzo ombra rimane nullo qualunque sia la quanita aggiuntiva. Il decremento consentito e perolimitato (nel nostro esempio a 150), perche un’eccessiva riduzione della risorsa puo portarla adessere vincolante. Il decremento massimo consentito e pari esattamente al valore di Tolleranzarelativo al vincolo riportato nel Rapporto Valori.

E importante ricordare che nell’analisi che abbiamo fatto, e stato modificato un solo input allavolta.Per sapere cosa succede modificando piu input alla volta e necessario utilizzare il Solutore.

255

Page 258: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

400

x*=(500,250)

550

aumento di P3 a 550

400x* diminuzione di P3 a 250

250

(a) Aumento di risorsaPreparato 3 fino a 550

(b) Diminuzione di risorsaPreparato 3 fino a 250

Figura 15.11: Interpretazione grafica del cambiamento del valore della risorsa “prepapato 3”del problema in § 2.4.1.

Linee guida nell’uso del Rapporto di sensibilita

1. Nella sezione relativa alle Celle variabili se una variabile e attualmente nulla, il suo costoridotto indica quanto piu “vantaggiosa” (ad esempio minor costo o maggior profitto) deveessere il suo coefficiente nella funzione obiettivo in modo che tale variabile risulti positivanella soluzione ottima.

2. Nella sezione relativa alle Celle variabili se sono presenti dei vincoli di limitazione supe-riore o inferiore su una variabile, il suo costo ridotto indica quanto piu “svantaggiosa”(ad esempio maggior costo o minor profitto) deve essere il suo coefficiente nella funzioneobiettivo in modo che il valore di tale variabile sia diminuito.

3. Nella sezione relativa ai Vincoli, il valore del prezzo ombra indica di quanto aumenterebbeil valore della funzione obiettivo (per un problema di massimizzazione) per un incrementounitario del r.h.s. del vincolo corrispondente.

Rapporto limiti

256

Page 259: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Microsoft Excel 10.0 Rapporto sensibilitàFoglio di lavoro: [allocazione.xls]Allocazione otti ma di risorseData di creazione: 28/04/2004 16.59.50

Celle variabiliValore ridotto oggettivo consentito consentito

Cella Nome finale Costo Coefficiente Incremento Decremento$B$9 variabili di decisione colorante 1 500 0 7 3 2$C$9 variabili di decisione colorante 2 250 0 10 4 3

VincoliValore ombra Vincolo consentito consentito

Cella Nome finale Prezzo a destra Incremento Decremento$B$14 preparato 1 utilizzato 750 4 750 250 150$B$15 preparato 2 utilizzato 1000 3 1000 150 250$B$16 preparato 3 utilizzato 250 0 400 1E+30 150

Figura 15.12: Rapporto Sensibilita per il problema di allocazione ottima di risorse in § 2.4.1.

Il Rapporto limiti produce informazioni poco interessanti gia presenti negli altri Rapporti.Non verranno discusse affatto.

15.7 Yield management ferroviario

Riprendiamo il semplice esempio del paragrafo 3.3.3 la cui formulazione matematica e:

max 42, 35x12 + 53, 20x13 + 18, 59x23

x12 + x13 ≤ 700x23 + x13 ≤ 7000 ≤ x12 ≤ 4200 ≤ x13 ≤ 3550 ≤ x23 ≤ 335(x12, x23, x13intere)

e la tabella Excel che lo rappresenta e in figura 15.14.Osserviamo l’uso di due funzioni logiche che consentono visivamente di dire se una soluzione

e ammissibile rispetto ai due gruppi di vincoli di capacita

=SE(E(B10 -D10 >= 1; B11-D11 >= 1);"NON ammissibile";"ammissibile")

e di limitazione superiore sulle variabili

257

Page 260: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Microsoft Excel 10.0 Rapporto limitiFoglio di lavoro: [allocazione.xls]Rapporto limiti 1Data di creazione: 28/04/2004 16.59.50

ObiettivoCella Nome Valore

$B$19 profitto max 6000

Variabile Limite Risultato Limite RisultatoCella Nome Valore inferiore obiettivo superiore obiettivo

$B$9 variabili di decisione colorante 1 500 0 2500 500 6000$C$9 variabili di decisione colorante 2 250 0 3500 249,9999999 5999,999999

Figura 15.13: Rapporto Limiti per il problema di allocazione ottima di risorse in § 2.4.1.

=SE(E(B14-D14>=1;B15-D15>=1;B16-D16>=1);"NON ammissibile";"ammissibile")

Inoltre nella definizione dei vincoli all’interno del solutore e possibile raggruppare i vincoli dellostesso tipo insieme, come in figura 15.15.

258

Page 261: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Figura 15.14: Il problema di yield Management ferroviario.

259

Page 262: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Definizione di vincoli a “gruppi” omogenei

Figura 15.15: Definizione dei vincoli nel problema di yield mangement.

260

Page 263: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Microsoft Excel 10.0 Rapporto valoriFoglio di lavoro: [ym.xls]yield sempliceData di creazione: 28/04/2004 15.08.56

Cella obiettivo (Max)Cella Nome Valori originali Valore finale

$B$20 profitto rm-fi 11414 40490,8

Celle variabiliCella Nome Valori originali Valore finale

$B$8 booking limit rm-fi 100 420$C$8 booking limit rm-bo 100 280$D$8 booking limit fi-bo 100 420

VincoliCella Nome Valore della cella Formula Stato Tolleranza

$B$11 tratta 1 rm-fi 700 $B$11<=$D$11 Vincolante 0$B$12 tratta 2 rm-fi 700 $B$12<=$D$12 Vincolante 0$B$15 rm-fi rm-fi 420 $B$15<=$D$15 Vincolante 0$B$16 rm-bo rm-fi 280 $B$16<=$D$16 Non vincolante 75$B$17 fi-bo rm-fi 420 $B$17<=$D$17 Non vincolante 15

Figura 15.16: Rapporto valori per il problema di YM.

261

Page 264: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Figura 15.17: Installazione del solutore in Excel.

262

Page 265: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Appendice A

Richiami di Analisi e geometria

A.1 Richiami sulla differenziazione in Rn

Richiamiamo alcuni concetti essenziali sulla differenziazione delle funzioni definite su Rn, la cuiconoscenza e richiesta nello studio dei problemi di ottimizzazione di tipo differenziabile. Nelseguito supponiamo, per semplicita, che f sia una funzione definita su tutto Rn; e immediatotuttavia estendere le definizioni qui riportate al caso in cui x appartiene ad un insieme apertoD ⊆ Rn.

A.1.1 Derivate del primo ordine di una funzione reale

Un qualsiasi vettore assegnato d ∈ Rn non nullo definisce una direzione in Rn. Una primanozione di derivata che si puo introdurre e quella di derivata direzionale.

Definizione A.1.1 (Derivata direzionale)

Sia f : Rn → R. Si dice che f ammette derivata direzionale Df(x, d) nel punto x ∈ Rn lungola direzione d ∈ Rn se esiste finito il limite

limt→0+

f(x + td)− f(x)t

:= Df(x, d).

Se consideriamo f come funzione di una sola variabile xj , supponendo fissate tutte le altrecomponenti possiamo introdurre il concetto di derivata parziale rispetto a xj .

Definizione A.1.2 (Derivata parziale)

Sia f : Rn → R. Si dice che f ammette derivata parziale ∂f(x)/∂xj nel punto x ∈ Rn rispettoalla variabile xj se esiste finito il limite

limt→0

f(x1, . . . , xj + t, . . . , xn)− f(x1, . . . , xj , . . . , xn)t

:=∂f(x)∂xj

.

L’esistenza della derivata parziale ∂f(x)/∂xj nel punto x implica, ovviamente, che esistano ecoincidano le derivate direzionali lungo le direzioni ej e −ej .

Se f ammette derivate parziali rispetto a tutte le componenti possiamo definire il gradiente dif nel punto x.

263

Page 266: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Definizione A.1.3 (Gradiente)

Sia f : Rn → R ed x ∈ Rn. Se esistono le derivate parziali prime di f in x definiamo gradientedi f in x il vettore ∇f(x) ∈ Rn

∇f(x) :=

∂f(x)∂x1

. . .

∂f(x)∂xn

.

A differenza di quanto avviene sulla retta reale, nel caso di Rn l’ esistenza del gradiente nonconsente, in generale, di poter approssimare, con la precisione voluta, il valore di f nell’intornodi x con una funzione lineare dell’incremento. Una tale possibilita e legata ad una nozione piuforte di differenziabilita, che non riportiamo qui.

E da notare che la sola esistenza di ∇f non implica, in generale, la proprieta di differen-ziabilita. Si dimostra, tuttavia, che se ∇f(x) esiste ed e continuo rispetto ad x, allora f edifferenziabile in x. (La continuita del gradiente e una condizione sufficiente per la differenzia-bilita in senso forte.)

Dal teorema precedente segue che se ∇f(x) e continuo si puo scrivere, per ogni d ∈ Rn:

f(x + d) = f(x) +∇f(x)′d + α(x, d),

dove α(x, d) soddisfa:

lim‖d‖→0

α(x, d)‖d‖ = 0.

Se f e differenziabile, e immediato verificare che esiste anche la derivata direzionale di f lungouna qualsiasi direzione d ∈ Rn e risulta:

limt→0+

f(x + td)− f(x)t

= ∇f(x)′d.

A.1.2 Differenziazione di un vettore di funzioni

Sia g : Rn → Rm un vettore a m componenti di funzioni reali. Possiamo introdurre la definizioneseguente, che estende la nozione di gradiente.

Definizione A.1.4 (Matrice Jacobiana)

Sia g : Rn → Rm e x ∈ Rn. Se esistono le derivate parziali prime ∂gi(x)/∂xj, per i = 1 . . . , me j = 1 . . . n in x definiamo matrice Jacobiana di g in x la matrice m× n

J(x) :=

∂g1(x)∂x1

. . .∂g1(x)∂xn

. . . . . . . . .

∂gm(x)∂x1

. . .∂gm(x)

∂xn

.

264

Page 267: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Valgono le stesse considerazioni sulla differenziabilita che abbiamo fatto nel paragrafo prece-dente, ovvero, la sola esistenza della matrice Jacobiana in x non implica la differenziabilita. Sepero J(x) e continua si puo scrivere, per ogni d ∈ Rn:

g(x + d) = g(x) + J(x)d + γ(x, d),

dove γ(x, d) soddisfa:

lim‖d‖→0

γ(x, d)‖d‖ = 0.

Se m = 1 si ha ovviamente J(x) = ∇g(x)′.Per analogia con la notazione usata per il gradiente si puo usare anche la notazione ∇g(x)′ perindicare la derivata prima di g, ossia

∇g(x) = J(x)′ = (∇g1(x), . . . ,∇gm(x) ) .

A.1.3 Derivate del secondo ordine di una funzione reale

Sia f : Rn → R una funzione reale. Con riferimento alle derivate del secondo ordine, possiamointrodurre innanzitutto la definizione seguente.

Definizione A.1.5 (Matrice Hessiana)

Sia f : Rn → R e x ∈ Rn. Se esistono le derivate parziali seconde ∂2f(x)/∂xi∂xj, peri = 1 . . . , n e j = 1 . . . n in x definiamo matrice Hessiana di f in x la matrice n× n

∇2f(x) :=

∂2f(x)∂x1

2 . . .∂2f(x)∂x1∂xn

. . . . . . . . .

∂2f(x)∂xn∂x1

. . .∂2f(x)∂xn

2

.

Se ∇2f(x) e continua si puo scrivere, per ogni d ∈ Rn:

f(x + d) = f(x) +∇f(x)′d +12d′∇2f(x)d + β(x, d),

dove β(x, d) soddisfa:

lim‖d‖→0

β(x, d)‖d‖2 = 0.

Nelle stesse ipotesi si ha anche, come si e detto, che la matrice Hessiana ∇2f(x) e una matricesimmetrica, ossia si ha, per i, j = 1 . . . , n:

∂2f(x)∂xi∂xj

=∂2f(x)∂xj∂xi

.

Osserviamo anche che se ∇2f(x) e continua si puo scrivere

∇f(x + d) = ∇f(x) +∇2f(x)d + γ(x, d),

con

lim‖d‖→0

γ(x, d)‖d‖ = 0.

265

Page 268: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

A.1.4 Teorema della media e formula di Taylor

Nel caso di funzioni differenziabili valgono anche i risultati seguenti (che si possono tuttaviastabilire sotto ipotesi piu deboli).

Teorema A.1.6 (Teorema della Media)

Sia f : Rn → R una funzione differenziabile. Allora, per ogni h ∈ Rn, si puo scrivere

f(x + h) = f(x) +∇f(z)′h,

in cui z ∈ Rn e un punto opportuno (dipendente da x e h) tale che z = x + ζh, con ζ ∈ (0, 1).

Utilizzando le derivate seconde si ha il risultato seguente.

Teorema A.1.7 Teorema di Taylor

Sia f : Rn → R una funzione due volte differenziabile. Allora, per ogni h ∈ Rn si puo scrivere:

f(x + h) = f(x) + h′∇f(x) +12h′∇2f(w)h

in cui w ∈ Rn e un punto opportuno (dipendente da x e h) tale che w = x + ξh, con ξ ∈ (0, 1).

Nel caso di funzioni vettoriali g : Rn → Rm non e possibile stabilire un teorema della media.

Esempi

Alcuni esempi di interesse di funzioni differenziabili sono:

f(x) = c′x; si ha: ∇f(x) = c, ∇2f(x) = 0;

f(x) = 12x′Qx + c′x, (con Q simmetrica); si ha: ∇f(x) = Qx + c; ∇2f(x) = Q;

f(x) = ‖Ax− b‖2; si ha: ∇f(x) = 2A′(Ax− b); ∇2f(x) = 2A′A

266

Page 269: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Riferimenti

[1] C. Mannino, L. Palagi e M. Roma. Complementi ed Esercizi di Ricerca Operativa.Edizione Ingegneria 2000, Roma, 1998.

[2] Antonio Sassano. Modelli e Algortimi della Ricerca Operativa. Franco Angeli Editore,Roma, 1999.Libro

[3] Fabio Schoen Modelli di Ottimizzazione per le decisioni. Societa Editrice Esculapio,Bologna, 2006.

267

Page 270: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

Indice

1 Introduzione 11.1 Breve storia della Ricerca Operativa . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 La Ricerca Operativa oggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 L’approccio modellistico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.4 Un primo esempio di costruzione di un modello matematico . . . . . . . . . . . . 12

2 Modelli di Ottimizzazione 152.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.2 Definizioni preliminari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3 Problemi di Programmazione Matematica . . . . . . . . . . . . . . . . . . . . . . 182.4 Esempi di modelli di Programmazione Matematica . . . . . . . . . . . . . . . . . 20

3 Modelli di Programmazione Lineare 263.1 Struttura di un problema di Programmazione Lineare . . . . . . . . . . . . . . . 263.2 Trasformazioni equivalenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.2.1 Funzione obiettivo di tipo max . . . . . . . . . . . . . . . . . . . . . . . . 293.2.2 Funzione modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.3 Semplici esempi di problemi di programmazione lineare . . . . . . . . . . . . . . 323.3.1 Problemi di miscelazione. . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.3.2 Modelli di trasporto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.3.3 Un problema di Yield Management ferroviario . . . . . . . . . . . . . . . 393.3.4 Minimizzazione dello scarto massimo . . . . . . . . . . . . . . . . . . . . . 40

4 Soluzione grafica di problemi PM in 2 variabili 424.1 Rappresentazione di vincoli nel piano cartesiano . . . . . . . . . . . . . . . . . . . 42

4.1.1 Vincoli lineari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.1.2 Vincoli quadratici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.2 Rappresentazione di funzioni obiettivo . . . . . . . . . . . . . . . . . . . . . . . . 454.2.1 Funzioni lineari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.2.2 Funzioni quadratiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.3 Esempi di risoluzione grafica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5 Problemi di ottimizzazione convessa e concava 605.1 Insiemi Convessi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.1.1 Poliedro e punti estremi di un insieme convesso . . . . . . . . . . . . . . . 645.2 Funzioni convesse e concave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

268

Page 271: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

5.3 Problemi di ottimizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.3.1 Problema di ottimizzazione convesso . . . . . . . . . . . . . . . . . . . . . 695.3.2 Problema di ottimizzazione concavo . . . . . . . . . . . . . . . . . . . . . 70

5.4 Caratterizzazione funzioni convesse continuamente differenziabili . . . . . . . . . 715.4.1 Funzioni e forme quadratiche . . . . . . . . . . . . . . . . . . . . . . . . . 71

6 Problemi di ottimizzazione non vincolata 756.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756.2 Direzioni di discesa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756.3 Ottimizzazione non vincolata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806.4 Utilizzo algoritmico delle condizioni di ottimo non vincolate . . . . . . . . . . . . 886.5 Modelli di ottimizzazione non vincolata . . . . . . . . . . . . . . . . . . . . . . . 91

7 Ottimizzazione vincolata 947.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947.2 Direzione ammissibile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947.3 Condizioni di ottimo vincolate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967.4 Ottimizzazione su insieme convesso generico . . . . . . . . . . . . . . . . . . . . . 997.5 Ottimizzazione su un poliedro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017.6 Direzioni ammissibili di un poliedro . . . . . . . . . . . . . . . . . . . . . . . . . . 1027.7 Condizioni di ottimo su un poliedro . . . . . . . . . . . . . . . . . . . . . . . . . 107

7.7.1 Condizioni di ottimo per la Programmazione Lineare . . . . . . . . . . . . 1117.8 Utilizzo algoritmico delle condizioni di ottimo per problemi con vincoli convessi . 112

8 Teoremi dell’alternativa 1148.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148.2 Il Lemma di Farkas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

9 Le condizioni di Karush-Kuhn-Tucker 1199.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199.2 Le condizioni di Karush-Kuhn-Tucker . . . . . . . . . . . . . . . . . . . . . . . . 119

10 Teoria della Programmazione Lineare 13010.1 Caratterizzazione dei vertici di un poliedro . . . . . . . . . . . . . . . . . . . . . 13010.2 Il teorema fondamentale della PL . . . . . . . . . . . . . . . . . . . . . . . . . . . 13610.3 Problemi di PL in forma standard . . . . . . . . . . . . . . . . . . . . . . . . . . 14110.4 Cenni sul metodo del simplesso per la Programmazione Lineare . . . . . . . . . . 142

10.4.1 Soluzione di Base Ammissbile (SBA) e costi ridotti . . . . . . . . . . . . . 143

11 Condizioni di ottimo per la PL e teoria della dualita 14611.1 Le condizioni di ottimalita nella Programmazione Lineare . . . . . . . . . . . . . 14611.2 Costruzione del duale di un problema di PL . . . . . . . . . . . . . . . . . . . . . 15211.3 Interpretazione della Dualita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

11.3.1 Il duale del problema di allocazione ottima di risorse . . . . . . . . . . . . 15711.3.2 Il duale del problema di miscelazione. . . . . . . . . . . . . . . . . . . . . 15811.3.3 Il duale del problema dei trasporti . . . . . . . . . . . . . . . . . . . . . . 16011.3.4 Analisi di sensitivita alla variazione dei dati . . . . . . . . . . . . . . . . . 162

269

Page 272: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

11.3.5 Interpretazione geometrica della variazione dei dati sui problemi primaleduale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

11.3.6 Interpretazione economica della dualita e prezzi ombra . . . . . . . . . . . 165

12 Programmazione Lineare Intera 16712.1 Formulazioni Classiche di Problemi Lineari Interi . . . . . . . . . . . . . . . . . . 168

12.1.1 Knapsack (zaino) binario . . . . . . . . . . . . . . . . . . . . . . . . . . . 16812.1.2 Assegnamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

12.2 Uso di variabili booleane per modellare condizioni logiche . . . . . . . . . . . . . 17112.2.1 Problema del costo fisso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17112.2.2 Variabili indicatrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17512.2.3 Il problema del commesso viaggiatore . . . . . . . . . . . . . . . . . . . . 177

12.3 Relazioni tra PL e PLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17812.4 Proprieta di interezza e totale unimodularita . . . . . . . . . . . . . . . . . . . . 18312.5 Tecniche di soluzione per problemi di PLI . . . . . . . . . . . . . . . . . . . . . . 186

12.5.1 La Tecnica del Branch and Bound . . . . . . . . . . . . . . . . . . . . . . 18712.5.2 Esempi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

12.6 Il problema del Knapsack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

13 Grafi e modelli su grafi 20013.1 Definizioni fondamentali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20013.2 Rappresentazioni di un grafo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20513.3 Alcuni esempi di problemi su grafo . . . . . . . . . . . . . . . . . . . . . . . . . . 207

13.3.1 Modelli di distribuzione di flusso a costo minimo . . . . . . . . . . . . . . 20713.4 Il problema del cammino minimo . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

13.4.1 Definizione del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21713.5 Cammini minimi e massimi su grafi aciclici . . . . . . . . . . . . . . . . . . . . . 219

13.5.1 Numerazione topologica dei nodi di un grafo . . . . . . . . . . . . . . . . 21913.5.2 Un algoritmo per il cammino minimo su grafi aciclici . . . . . . . . . . . . 22113.5.3 Un algoritmo per il cammino massimo su grafi aciclici . . . . . . . . . . . 224

14 Tecniche reticolari di programmazione delle attivita 22614.1 Il diagramma reticolare di un progetto . . . . . . . . . . . . . . . . . . . . . . . . 227

14.1.1 La costruzione del diagramma . . . . . . . . . . . . . . . . . . . . . . . . . 22714.1.2 Il percorso critico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

14.2 Il CPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

15 Uso di Excel per l’analisi e soluzione di Modelli di Programmazione Matem-atica 24315.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24315.2 Uso di fogli elettronici per la descrizione di un modello matematico . . . . . . . . 24415.3 Uso di excel per analisi di scenario . . . . . . . . . . . . . . . . . . . . . . . . . . 24615.4 Uso di Excel-Solver per la soluzione del modello matematico . . . . . . . . . . . . 24815.5 Soluzione di un modello di PL o PLI. . . . . . . . . . . . . . . . . . . . . . . . . . 25015.6 Ulteriori informazioni fornite dal Solutore . . . . . . . . . . . . . . . . . . . . . . 25115.7 Yield management ferroviario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

270

Page 273: Dispense del corso RICERCA OPERATIVA - unina.stidue.netunina.stidue.net/Ottimizzazione su Rete/Materiale/Laura Palagi... · Introduzione La Ricerca Operativa µe una disciplina relativamente

A Richiami di Analisi e geometria 263A.1 Richiami sulla differenziazione in Rn . . . . . . . . . . . . . . . . . . . . . . . . . 263

A.1.1 Derivate del primo ordine di una funzione reale . . . . . . . . . . . . . . . 263A.1.2 Differenziazione di un vettore di funzioni . . . . . . . . . . . . . . . . . . 264A.1.3 Derivate del secondo ordine di una funzione reale . . . . . . . . . . . . . . 265A.1.4 Teorema della media e formula di Taylor . . . . . . . . . . . . . . . . . . . 266

271