Didattica e Ricerca i l a u n a M Massimo Pappalardo, Mauro Passacantando Ricerca Operativa seconda edizione Q u e s t o e - b o o k a p p a r t ei n e a C o r r a d o D A' m ci o Pappalardo, Massimo Ricerca operativa / Massimo Pappalardo, Mauro Passacantando. - Pisa : Pisa university press, c2012 (Didattica e ricerca. Manuali) 658.4034 (21.) 1. Ricerca operativa I. Passacantando, Mauro CIP a cura del Sistema bibliotecario dell’Università di Pisa Questo e-book appartiene a CorradoD'Amico © Copyright 2012 Pisa University Press srl Società con socio unico Università di Pisa Capitale Sociale Euro 20.000,00 i.v. - Partita IVA 02047370503 Sede legale: Lungarno Pacinotti 43/44 - 56126, Pisa Tel. + 39 050 2212056 Fax + 39 050 2212945 e-mail: [email protected] Member of ISBN 978-88-6741-073-6 Le fotocopie per uso personale del lettore possono essere effettuate nei limiti del 15% di ciascun volume/fascicolo di periodico dietro pagamento alla SIAE del compenso previsto dall’art. 68, commi 4 e 5, della legge 22 aprile 1941 n. 633. Le riproduzioni effettuate per finalità di carattere professionale, economico o commerciale o comunque per uso diverso da quello personale possono essere effettuate a seguito di specifica autorizzazione rilasciata da AIDRO, Corso di Porta Romana n. 108, Milano 20122, e-mail [email protected] e sito web www.aidro.org Q u e s o t “Mim`ı, [...] fai un segno di croce, seu llo stradario di Vigata, b - per indicare dove stanno di casoa questi che hanno il cognome o k che principia con la O.aQ uindi traccia un percorso ideale, il p piu` breve, perch´eaalp momento opportuno possiamo avvertire tutti nel minoe rittrempo possibile.” n e a C Ao ndrea Camilleri, La prima indagine di Montalbano. a rr d o D A' m c i o Questo e-book appartiene a CorradoD'Amico Indice Introduzione 9 I Programmazione Lineare (PL) 13 1 Problemi e modelli di PL 15 1.1 Produzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.2 Dieta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.3 Miscelazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2 Teoria della PL 19 2.1 Geometria della PL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2 Condizioni di ottimalita` . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.3 Teoria della dualita` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.4 Algebra della PL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.5 PL parametrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3 Algoritmo del simplesso 63 3.1 Simplesso primale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.2 Simplesso duale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.3 Regoleanticiclo di Bland . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 ocimA'DodarroC a eneitrappa koob-e4I IoEtssPeerrcuoizgQirdaimPmLazione Lineare su reti 10931 5 Problemi e modelli di PL su reti 105 5.1 Flusso di costo minimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.2 Trasporto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.3 Cammini minimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 5.4 Flusso massimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 5.5 Assegnamento di costo minimo . . . . . . . . . . . . . . . . . . . . . . . . 113 5.6 Addestramento di costo minimo . . . . . . . . . . . . . . . . . . . . . . . . 114 5 5.7 Accoppiamento di cardinalit`a massima . . . . . . . . . . . . . . . . . . . . 116 6 Flusso di costo minimo 117 6.1 Proprieta` della matrice di incidenza . . . . . . . . . . . . . . . . . . . . . . 117 6.2 Flusso di costo minimo non capacitato . . . . . . . . . . . . . . . . . . .o. 122 c 6.3 Flussi e potenziali di base . . . . . . . . . . . . . . . . . . . . . . . . m.i. . 141 6.4 Algoritmo del simplesso per flussi . . . . . . . . . . . . . . . . . . . A. . . . 151 D' 7 Cammini minimi o 163 d 7.1 Algoritmo del simplesso per cammini . . . . . . . . . . . . . .a. . . . . . . 164 r 7.2 Algoritmo di Dijkstra . . . . . . . . . . . . . . . . . . . . . .r. . . . . . . . 169 o 7.3 Algoritmo di Bellman–Ford . . . . . . . . . . . . . . . . C. . . . . . . . . . 175 a 8 Flusso massimo e 185 n 8.1 Algoritmo del simplesso per flusso massimo . . . . e. . . . . . . . . . . . . . 185 8.2 Problema del taglio di capacita` minima . . . . .rt.i. . . . . . . . . . . . . . 192 a 8.3 Algoritmo di Ford–Fulkerson . . . . . . . . . .p. . . . . . . . . . . . . . . . 194 p a 9 Esercizi di PL su reti 211 k o o b III Programmazione Lineare Int-era (PLI) 225 e o 10 Problemi e modelli di PLI st 227 e 10.1 Carico fisso . . . . . . . . . u. . . . . . . . . . . . . . . . . . . . . . . . . . 227 Q 10.2 Alternative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 10.3 Distribuzione di lavori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 10.4 Selezione di sottoinsiemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 11 Teoria della PLI 239 11.1 Relazioni tra PL e PLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 11.2 Caratterizzazione della regione ammissibile . . . . . . . . . . . . . . . . . . 244 11.3 Piani di taglio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 12 Metodo del Branch and Bound 251 12.1 Regolegenerali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 12.2 Rilassamento lagrangiano. . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 13 Caricamento 261 13.1 Risoluzione con il Branch and Bound . . . . . . . . . . . . . . . . . . . . . 262 13.2 Risoluzione con la programmazione dinamica . . . . . . . . . . . . . . . . . 271 6 14 Commesso viaggiatore 275 14.1 Problema asimmetrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 14.2 Problema simmetrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 15 Esercizi di PLI 289 IV Programmazione Non Lineare (PNL) 299 16 Problemi e modelli di PNL 301 16.1 Datafitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 16.2 Portafoglio ottimale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 17 Teoria della PNL 305 17.1 Esistenza di ottimi globali . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 17.2 Regolarit`a dei vincoli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 17.3 Condizioni di ottimalit`a del primo ordine . . . . . . . . . . . . . . . . . . . 314 17.4 Condizioni di ottimalit`a del secondo ordine . . . . . . . . . . . . . . . . . . 318 18 Metodi di PNL per funzioni di una variabile 329 18.1 Algoritmi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 18.2 Metodi esatti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Q 18.3 Metodi inesatti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 u e 19 Metodi di PNL per funzioni di piu` varsiabili 339 t 19.1 Metodo del gradiente . . . . . . . . .o. . . . . . . . . . . . . . . . . . . . . 340 19.2 Metodo del gradiente coniugato . .e. . . . . . . . . . . . . . . . . . . . . . 346 19.3 Metodo di Newton . . . . . . . .b.-. . . . . . . . . . . . . . . . . . . . . . 350 19.4 Metodo di Frank-Wolfe . . . . . .o. . . . . . . . . . . . . . . . . . . . . . . 356 o 19.5 Metodo del gradiente proiettato . . . . . . . . . . . . . . . . . . . . . . . . 359 k a 20 Esercizi di PNL p 363 p A Prerequisiti a 367 r t i e n e a C o r r a d o D A' m ci 7 o Q u e st o e - b o o k a p p a rti e n e a C o r r a d o D' A mi c o Introduzione IproblemidiRicercaOperativasonoproblemidecisionalidiottimizzazionediunobiettivo inpresenzadirisorselimitate. Sonocaratterizzatidalfattoche,generalmente,sicostruisce un modello matematico che li descrive e poi si risolve il modello. Un modello matematico di ottimizzazione`e un problema di massimo o minimo di una funzione f : Rn → R ristretta ad una regione Ω dello spazioQdeufienitsatdoa vein-cbolioeospkre ssai ppartiene a CorradoD'Amico tramite intersezioni di insiemi di livello di funzioni a valori reali: Ω={x∈Rn : g(x)≤0, h(x)=0}, dove g : Rn → Rm e h : Rn → Rp. Dati due vettori a,b ∈ Rn, la notazione a ≤ b `e da intendersi ai ≤ bi per ogni componente i = 1,...,n. Un problema di massimo si pu`o trasformare in modo equivalente in uno di minimo e viceversa poich´e si ha max f(x)=−min −f(x) ed i punti di massimo di f coincidono con i punti di minimo di −f. Lafunzione f `echiamata funzioneobiettivo, l’insieme Ωregioneammissibile, ciascuna delle disequazioni gi(x) ≤ 0, i = 1,...,m, ed equazioni hj(x) = 0, j = 1,...,p, che descrivonoΩ`edettavincolo. Inseguitosiadottera`laconvenzionecheilminimo(massimo) di una funzione su una regione ammissibile vuota`e+∞ (−∞). Un punto x∗ ∈Ω`e detto minimo globale (o assoluto) di f su Ω se f(x∗)≤f(x), ∀ x∈Ω. Un punto x∗ ∈Ω`e detto minimo locale (o relativo) di f su Ω se esiste una sfera B(x∗,r) di centro x∗ eraggio r tale che f(x∗)≤f(x), ∀ x∈Ω∩B(x∗,r). Ledefinizionidimassimoglobaleemassimolocalesiottengonodalleprecedentisostituendo ≥ al posto di ≤. Il volume `e diviso in quattro parti. Nella prima verranno trattati i problemi di Pro- grammazioneLineare(PL), cio`eproblemi di ottimizzazione in cui`elinearesia lafunzione obiettivo f(x)=cTx, con c∈Rn, che i vincoli g(x)=Ax−b e h(x)=Cx−d, dove A`e una matrice m×n, b∈Rm, C una matrice p×n e d∈Rp. La seconda parte`e dedicata 9 Introduzione ai problemi di PL su reti, cio`e particolari problemi di PL definiti su un grafo. Nella terza partesarannoanalizzatiiproblemidiProgrammazioneLineareIntera(PLI),cio`eproblemi diPLincui`epresente ancheilvincolo x∈Zn,cio`elevariabilidevono assumere valoriin- teri. Infine,nellaquartapartesarannotrattatiiproblemidiProgrammazioneNonLineare (PNL) in cui non tutte le funzioni f, gi con i=1,...,m, hj con j =1,...,p sono lineari. UnproblemadiRicercaOperativasievolveattraversovaristadi. Sipossonoevidenziare i piu` importanti: • raccolta dei dati del problema utili per la risoluzione, • costruzionedelmodellomatematicocherappresentiungiustoequilibriotraproblema realeetrattabilit`amatematica. Individuazionedellevariabili,dellafunzioneobiettivo e dei vincoli, • studio delle proprieta` teoriche del modello matematico. Ricerca della soluzione ottima, • costruzione ed implementazione di un algoritmo, • risoluzione numerica, • retroazione (feedback)sul problema di partenza, Gli algoritmi sono gli strumenti matematici per risolvere un problema e che, se la o ci soluzione`econdottatramiteilcalcoloautomatico,divengonodifondamentaleimportanza. m A' Per formalizzare il concetto di algoritmo diamo la seguente definizione. D o d arro Definizione. Un algoritmo `e una sequenza1 di istruzioni2 chiare3 che un esecutore4, in C a tempo limitato5, compie6 per ottenere7 una8 soluzione9 di un10 problema11. e n eitr Difondaamentaleimportanza`edimostrarelacorrettezzadiunalgoritmocio`edimostrare p che la soluzionpead eterminata sia effettivamente la soluzione cercata. k Per valutare l’effiocienza di un algoritmo che termina in un numero finito di iterazioni o con una soluzione esattabd-eel problema, bisogna introdurre dei concetti quantitativi. La ot 1Sonoordinate(determinismo). se u 2CisonoprogrammielinguaggidiprogramQmazione. 3Sonocerteeuniche. 4Uncalcolatoreopiu`calcolatori. 5Complessita`computazionale. 6Lavorasudatidiingressochehannouna“struttura”. 7Correttezzadell’algoritmocheconsisteneldimostrarechel’algoritmoterminafornendounasoluzione delproblema. 8Approssimata,esatta,euristica. 9Decisionale,diricercaodiottimizzazione. 10Classidiproblemi. 11Modellisticacheconsisteneltrasformareunproblemainunmodellomatematico. 10