Lezioni di Ricerca Operativa

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Lezioni di Ricerca Operativa"

Transcript

1 Lezioni di Ricerca Operativa Massimo Paolucci Dipartimento di Informatica, Bioingegneria, Robotica e Ingegneria dei Sistemi Università di Genova massimo.paolucci@unige.it Estratto per l'insegnamento di Ricerca Operativa del Corso di Laurea in Ingegneria Industriale e Gestionale A.A. 207/208 Ricerca Operativa Corso di Laurea in Ingegneria Industriale e Gestionale

2 La Ricerca Operativa (Operation Research) Metodi matematici rivolti alla soluzione di problemi decisionali Nata durante la seconda guerra mondiale (gestione di risorse limitate e problemi logistici) Si è sviluppata grazie alla disponibilità di strumenti automatici di calcolo (computer) Scopo: determinare la decisione ottima dato un problema in presenza di risorse limitate I problemi reali vengono affrontati definendone una rappresentazione quantitativa (modello matematico) La soluzione dei problemi è cercata per mezzo di tecniche (algoritmi) di ottimizzazione Applicazioni: Problemi logistici della produzione Problemi decisionali di tipo economico Problemi di gestione operativa... Ricerca Operativa 2 Corso di Laurea in Ingegneria Industriale e Gestionale

3 Esempi di applicazioni: Problemi logistici della produzione Pianificazione della produzione Controllo delle scorte Scheduling rasporto Problemi decisionali di tipo economico Allocazione di capitali Acquisto/Produzione di beni Problemi di gestione operativa Definizione dei turni di lavoro Definizione delle rotte di mezzi di trasporto Facility location Gestione ottima di risorse idriche Ottimizzazione di politiche di controllo Gestione ottima di aree di carico/scarico Problemi in reti di comunicazione e distribuzione Ricerca Operativa 3 Corso di Laurea in Ingegneria Industriale e Gestionale

4 Formulazione dei problemi decisionali Decisione: processo di selezione tra più alternative Alternative finite o infinite Alternative definite esplicitamente o implicitamente Scelta sulla base di uno o più criteri (obiettivi) Condizioni di certezza, incertezza o rischio Problema Reale Formulazione Modello Matematico Problema fondamentale della Ricerca Operativa: identificare un modello matematico con cui studiare in modo sistematico il problema decisionale Ricerca Operativa 4 Corso di Laurea in Ingegneria Industriale e Gestionale

5 Struttura del problema di decisione Modello Matematico Obiettivi Variabili decisionali Vincoli Caratteristiche dei problemi che saranno considerati: Condizioni di certezza (problemi deterministici) Presenza di un solo criterio (singolo obiettivo) Per risolvere i problemi decisionali sono usati algoritmi Un algoritmo è una procedura iterativa costituita da un numero finito di passi Esistono problemi facili (pochi) e difficili La facilità di un problema è legata all esistenza di un algoritmo di soluzione efficiente Ricerca Operativa 5 Corso di Laurea in Ingegneria Industriale e Gestionale

6 Un esempio: Assegnare 70 lavori a 70 persone. Si indichino con i=,...,70 i lavori e con j=,...,70 le persone. Se la i-esima persona esegue il j-esimo lavoro si paga un costo c ij. Una persona può eseguire solo un lavoro (vincolo) Ogni lavoro deve essere eseguito (vincolo) Lo scopo (decisione) è stabilire chi fa che cosa in modo che il costo pagato sia minimo (obiettivo). Un possibile algoritmo di soluzione (Brute Force): ) costruire tutte le possibili assegnazioni persone-lavori e calcolarne il costo 2) scegliere l assegnazione con il costo più piccolo Le assegnazioni alternative sono 70! (le permutazioni di 70 numeri) Persone 2 70 Persone 2 70 Lavori 2 70 Lavori 2 70 Il numero delle assegnazioni alternative è molto grande 70!? 0 00 Ricerca Operativa 6 Corso di Laurea in Ingegneria Industriale e Gestionale

7 Si supponga di disporre di un calcolatore che è in grado di calcolare 0 6 assegnazioni alternative (soluzioni) al secondo. Quanto impiega l algoritmo a risolvere il problema? Supponendo di dover esplorare 0 00 assegnazioni sono necessari 0 94 secondi. In un anno ci sono: 365(gg)24(h)60(min)60(sec)?3?0 6?0 7 sec Per risolvere il problema sono necessari 0 87 anni! Il Big Bang (data di inizio dell Universo) è avvenuto circa 5?0 9 anni fa!...ma se si disponesse di un calcolatore 000 volte più veloce?...si impiegherebbero 0 84 anni....e se si usassero 0 9 calcolatori in parallelo?...si impiegherebbero 0 75 anni. Ricerca Operativa 7 Corso di Laurea in Ingegneria Industriale e Gestionale

8 Conclusioni: L algoritmo Brute Force non è efficiente! Se questo fosse l unico algoritmo utilizzabile per il problema dell assegnazione persone-lavori, il problema sarebbe difficile La soluzione ottima dei problemi difficili può essere trovata solo per casi di ridotte dimensioni I problemi in cui la scelta è tra un numero finito di alternative (le variabili decisionali possono assumere sono un numero discreto di valori) si dicono combinatorici. La teoria della complessità una parte della Ricerca Operativa che studia la difficoltà della soluzione dei problemi. Conoscere che un problema è difficile permette la scelta di un appropriato algoritmo: Algoritmi esatti basati sull enumerazione esplicita delle soluzioni Algoritmi esatti basati sull enumerazione implicita delle soluzioni Algoritmi approssimati Algoritmi euristici Ricerca Operativa 8 Corso di Laurea in Ingegneria Industriale e Gestionale

9 Programmazione Matematica Lineare Problema di Programmazione Matematica (PM) ( problema di ottimizzazione) ma f() s.t. X R n vettore delle variabili decisionali insieme delle soluzioni ammissibili funzione obiettivo scalare Un problema di PM è lineare quando: la funzione obiettivo è lineare f ( ) = c l insieme X è espresso in termini di relazioni (uguaglianze e disuguaglianze) lineari X { n R : A b} { n Z : A b} variabili continue Programmazione Lineare Continua (PL) variabili intere Programmazione Lineare Intera (PLI) Ricerca Operativa 9 Corso di Laurea in Ingegneria Industriale e Gestionale

10 Esempio grafico in 2 dimensioni { n } X = R : A b poliedro composto da punti 2 X { Z n : } X = A b poliedro composto da un numero finito di punti 2 X Ricerca Operativa 0 Corso di Laurea in Ingegneria Industriale e Gestionale

11 Esempio: pianificare la produzione di una piccola azienda che produce vernici L azienda produce due tipi di vernici, una vernice per interni (I) ed una per esterni (E), usando due materie prime indicate con A e B. La disponibilità al giorno di materia prima A è pari a 6 ton, mentre quella di materia prima B è di 8 ton. La quantità di A e B consumata per produrre una ton di vernice E ed I è riportata nella seguente tabella. materie prime vernici E I A 2 B 2 Si ipotizza che tutta la vernice prodotta venga venduta. Il prezzo di vendita per tonnellata è 3K$ per E e 2K$ per I. L azienda ha effettuato un indagine di mercato con i seguenti esisti: la domanda giornaliera di vernice I non supera mai di più di ton quella di vernice E la domanda massima giornaliera di vernice I è di 2 ton Problema: determinare le quantità delle due vernici che debbono essere prodotte giornalmente in modo da rendere massimo il guadagno. Ricerca Operativa Corso di Laurea in Ingegneria Industriale e Gestionale

12 Esempio: formulare il modello matematico Definizione delle variabili Formulazione Matematica Definizione dell obiettivo Definizione dei vincoli Definizione delle variabili Si introducono due variabili che rappresentano le quantità prodotte (e vendute) al giorno per le due vernici (ton): E I produzione di vernice per esterni produzione di vernice per interni Le due variabili sono continue. Ricerca Operativa 2 Corso di Laurea in Ingegneria Industriale e Gestionale

13 Definizione dell obiettivo Il guadagno giornaliero (K$) è dato da Z = 3E + 2I L obiettivo è rappresentato da un equazione lineare. Definizione dei vincoli Vincoli ( tecnologici) sull uso delle materie prime ( l uso giornaliero delle materie prime non può eccedere la disponibilità): (A) (B) E + 2I 6 2E + I 8 Vincoli conseguenti le indagini di mercato I I E 2 Non negatività delle variabili E 0 I 0 Ricerca Operativa 3 Corso di Laurea in Ingegneria Industriale e Gestionale

14 La formulazione definisce un Problema di Programmazione Lineare a variabili continue ma Z = 3E + 2I Funzione obiettivo } E + 2I 6 ( ) 2E + I 8 ( 2) vincoli che definiscono quali valori E + I ( 3) sono ammessi per le due variabili I 2 ( 4) (Insieme delle soluzioni ammissibili) E 0 ( 5) I 0 ( 6) I (5) (2) (3) 3 2 (4) X () (6) E Ricerca Operativa 4 Corso di Laurea in Ingegneria Industriale e Gestionale

15 I (5) 4 (2) (3) 3 2 F E D C (4) Ottimo -2 - A B (6) E () l obiettivo per z=0 z=6 z=38/3 A=(0,0) B=(4,0) C=(0/3,4/3) D=(2,2) E=(,2) F=(0,) Proprietà: le soluzioni si trovano sulla frontiera del poliedro X, quindi corrispondono ai vertici di X; deve essere considerato solo un numero finito di soluzioni. Ricerca Operativa 5 Corso di Laurea in Ingegneria Industriale e Gestionale

16 Se la funzione obiettivo fosse parallela ad un vincolo... I I punti del segmento DC sono tutti ottimi 2 E D F X C un diverso obiettivo parallelo a () A B E... esisterebbero infiniti punti di ottimo tutti equivalenti (nell esempio, quelli del segmento DC). In questo caso si potrebbe scegliere alternativamente tra i punti estremi C e D. La ricerca dell ottimo resta pertanto una esplorazione tra un numero finito di soluzioni alternative corrispondenti ad i vertici del poliedro X. Ricerca Operativa 6 Corso di Laurea in Ingegneria Industriale e Gestionale

17 Formulazione di Problemi Decisionali come Problemi di Programmazione Lineare Consideriamo i seguenti problemi decisionali ed esaminiamo come possono essere formulati come problemi di PL: Il problema del trasporto Il problema del product-mi Il problema della pianificazione della produzione (production planning) Ricerca Operativa 7 Corso di Laurea in Ingegneria Industriale e Gestionale

18 Il Problema del rasporto m fonitori producono s,..., s m quantità di un certo prodotto (ad esempio, gas o petrolio) n destinatari richiedono r,..., r n quantità di prodotto il prodotto può essere trasportato da ogni fornitore ad ogni destinatario (ad esempio attraverso un gasdotto o oleodotto) per ogni unità di prodotto trasportata dal fornitore i al cliente j viene pagato un costo c ij Il problema: determinare quali quantità di prodotto trasportare tra ogni coppia (i,j) di fornitori-destinatari in modo da minimizzare il costo complessivo del trasporto. s r M M s i M c ij M r j s m r n Ricerca Operativa 8 Corso di Laurea in Ingegneria Industriale e Gestionale

19 Ipotesi di ammissibilità Perché il problema possa ammettere una soluzione deve essere verificata la seguente condizione sui dati m n si rj i= j= che stabilisce che la quantità totale di prodotto disponibile non può essere inferiore alla richiesta totale del prodotto stesso. Formulazione del problema. Le variabili: la quantità di prodotto trasportata su ciascun arco ij R i =,..., m; j =,..., n sono variabili continue La funzione obiettivo: il costo del trasporto complessivo m n c ij ij i= j= Ricerca Operativa 9 Corso di Laurea in Ingegneria Industriale e Gestionale

20 I vincoli: la quantità totale di prodotto fornita da ciascun fornitore non può superare la disponibilità del fornitore stesso n ij si i =,..., m ( ) j= la quantità totale di prodotto ricevuta da ciascun destinatario deve essere uguale a quella richiesta m ij = rj j =,..., n ( 2) i= le quantità di prodotto trasportate sugli archi sono sempre non negative ij 0 i =,.., m; j =,..., n ( 3 ) Ricerca Operativa 20 Corso di Laurea in Ingegneria Industriale e Gestionale

21 Il problema del trasporto min m n i= j= n ij ij s i =,..., m ( ) j= m ij i = r j =,..., n ( 2) i= ij j 0 i =,..., m; j =,..., n ( 3) ij R i =,..., m; j =,..., n ij c E un problema di PL con variabili continue. Può essere risolto con l algoritmo del simplesso. Possibili variazioni: introduzione della massima capacità per gli archi; non tutti i fornitori sono connessi a tutti i destinatari; il trasporto non avviene direttamente tra fornitore e destinatario ma attraverso dei centri di raccolta e distribuzione intermedi Ricerca Operativa 2 Corso di Laurea in Ingegneria Industriale e Gestionale

22 Il Problema del Product-Mi si dispone di m risorse produttive in quantità limitata, in particolare, la loro massima disponibilità è b,..., b m (ad esempio, materie prime) possono essere eseguite n attività che necessitano delle risorse precedenti (ad esempio, la produzione di n diversi prodotti) alle n attività sono associati i seguenti profitti unitari c,..., c n (ad esempio, il profitto per unità di prodotto) sono noti i consumi di risorse per unità di attività eseguita ; in particolare, per eseguire una unità della attività i- esima si utilizzano a ij unità della risorsa j-esima Il problema: determinare quali attività eseguire ed a quale livello (ad esempio, quali e quanti prodotti produrre) in modo da massimizzare il profitto conseguente. (Nota: a questa classe di problemi appartiene il problema dell azienda che produce vernici.) Ricerca Operativa 22 Corso di Laurea in Ingegneria Industriale e Gestionale

23 Formulazione del problema. Le variabili: i livelli a cui devono essere eseguite le attività (variabili continue) i R i =,..., n La funzione obiettivo: il profitto risultante dall esecuzione delle attività n c i i i= I vincoli: per ciascuna risorsa, la quantità totale di risorsa utilizzata per eseguire le attività non può superare la disponibilità massima della risorsa stessa n aiji b j j =,..., m ( ) i= i livelli delle attività sono sempre non negativi i 0 i =,.., n ( 2) Ricerca Operativa 23 Corso di Laurea in Ingegneria Industriale e Gestionale

24 Il problema del product-mi n ma cii i= n aiji b j i= j =,..., m ( ) i 0 i =,..., n ( 2) i R i =,..., n Ricerca Operativa 24 Corso di Laurea in Ingegneria Industriale e Gestionale

25 Il Problema della pianificazione della produzione (Production Planning) Caso considerato: pianificare la produzione di un singolo prodotto per i prossimi N mesi. per ciascuno degli N mesi è nota la capacità produttiva massima del prodotto, m,...,m N sono noti c,...,c N, i costi di produzione per unità di prodotto nei diversi mesi sono noti r,...,r N, i costi di immagazzinamento per unità di prodotto nei diversi mesi è nota la domanda di prodotto per i diversi mesi, d,...,d N è nota la disponibilità iniziale di prodotto in magazzino M 0 Il problema: determinare la quantità di prodotto da produrre nei diversi mesi minimizzando il costo complessivo di produzione e di immagazzinamento. Ricerca Operativa 25 Corso di Laurea in Ingegneria Industriale e Gestionale

26 Formulazione del problema. Le variabili: la quantità di prodotto pianificata per ciascun mese (variabili continue) i R i =,..., N la quantità di prodotto che deve essere immagazzinata per ciascun mese (variabili continue) si R i =,..., N La funzione obiettivo: il costo totale pagato per la produzione più quello pagato per l immagazzinamento durante l arco degli N mesi N i= ( c + r s ) i i I vincoli: per ciascun mese, la quantità il prodotto disponibile ( prodotto nel mese o presente perchè immagazzinato il mese precedente ) soddisfa la domanda corrente ; l eventuale rimanenza viene immagazzinata e resa disponibile per il mese successivo ( legge di conservazione del prodotto) i i i + si = di + si i =,..., N ( ) Ricerca Operativa 26 Corso di Laurea in Ingegneria Industriale e Gestionale

27 la produzione mensile non può superare la relativa capacità produttiva m i =,..., N ( 2) i il livello iniziale del magazzino è quello dato i s0 = M0 ( 3) il livello di produzione e la quantità di prodotto in magazzino nei vari mesi non può essere negativa 0 s 0 i =,.., N ( 4) i i Il problema del production planning (singolo prodotto) N min ( cii + risi ) i= i + si si = dii =,..., N () i mii =,..., N (2) s0 = M0 (3) i 0si 0i =,..., N (4) i Rsi Ri =,..., N Una possibile variante consiste nel considerare la produzione di n diversi prodotti. Ricerca Operativa 27 Corso di Laurea in Ingegneria Industriale e Gestionale

28 Soluzione dei Problemi di Programmazione Lineare Consideriamo un problema di Programmazione Lineare (PL) con m vincoli ed n variabili in Forma Standard dove: ma 0 = c A = b ( ) 0 ( 2) R è il vettore n delle variabili decisionali c è il vettore n dei coefficienti della funzione obiettivo b è il vettore m dei termini noti dei vincoli A è la matrice mn dei coefficienti dei vincoli; A=[a ij ], i=,...,n, j=,...,m n Inoltre, si assumono soddisfatte le seguenti ipotesi: b 0 b j 0 j =, K, m m<n m=rango(a) Qualunque problema di PL può essere trasformato in un problema equivalente in forma standard. Ricerca Operativa 28 Corso di Laurea in Ingegneria Industriale e Gestionale

29 I valori di che soddisfano i vincoli () sono detti soluzioni del problema di PL. Inoltre, i valori di che soddisfano anche i vincoli (2) sono detti soluzioni ammissibili del problema di PL. L ipotesi m<n ( più variabili che vincoli ) non rappresenta una perdita di generalità. E noto infatti che il sistema di equazioni lineari (): può ammettere una soluzione unica se m=n può ammettere soluzione se m>n ed almeno m-n equazioni sono ridondanti (quindi possono essere eliminate) può ammettere n m soluzioni se m<n Solo l ultimo caso è significativo dal punto di vista dei problemi di ottimizzazione. Un problema di PL può essere: a) Ammissibile con soluzioni ottime finite b) Ammissibile senza soluzione ottime finite ( detto anche illimitato, o con ottimo all infinito) c) Non Ammissibile (senza soluzioni ammissibili) Ricerca Operativa 29 Corso di Laurea in Ingegneria Industriale e Gestionale

30 Da un punto di vista grafico i tre casi corrispondono a: a) una regione di ammissibilità associata ad un poliedro chiuso non vuoto (Politopo) { R n : } X = A b X b) una regione di ammissibilità associata ad un poliedro aperto non vuoto (n.b., una soluzione ottima all infinito implica un poliedro X aperto, ma non è vero il viceversa) X (X aperto) X c) una regione di ammissibilità associata ad un poliedro vuoto X 2 X = R n taleche X X X = X X2 = Ricerca Operativa 30 Corso di Laurea in Ingegneria Industriale e Gestionale

31 Un poliedro è dato dall intersezione di semispazi. Un semispazio in n dimensioni è individuato da una disuguaglianza lineare a n b R Un poliedro X è un insieme convesso Definizione Un insieme X è convesso se e solo se dati due punti a, b X ogni punto y generato come y = λa + ( λ) b 0 λ (combinazione convessa di a, ) è tale che y X b a X Vertici del Poliedro X y b I vertici di un poliedro si dicono Punti Estremi Definizione Un punto di un poliedro X è un punto estremo se e solo se non può essere espresso come combinazione convessa di altri punti di X. Ricerca Operativa 3 Corso di Laurea in Ingegneria Industriale e Gestionale

32 . eorema (Proprietà dei punti estremi di un poliedro) Dato X poliedro chiuso non vuoto con punti estremi ogni punto X può essere espresso come combinazione e i, i =,..., E convessa dei punti estremi di X: E E = λi con i ei λ i = λi 0 i= i= e Ad es., la combinazione convessa di e e2 e 3 permette di esprimere tutti i punti di X' X X X e 2 e3 Se X è un poliedro aperto non vuoto per esprimere tutti i suoi punti oltre ad i punti estremi si devono utilizzare anche le sue direzioni estreme. Definizione Dato un poliedro X, d è una direzione di X se e solo se X + µ d X µ 0. Ricerca Operativa 32 Corso di Laurea in Ingegneria Industriale e Gestionale

33 Ad esempio: X d + µ d ( µ 0) Definizione Una direzione d di un poliedro X, è una direzione estrema di X se e solo se non è esprimibile come combinazione lineare di altre direzioni di X. Ad esempio: X d = µ de + µ d 2 e2 d e µ, µ d e Ricerca Operativa 33 Corso di Laurea in Ingegneria Industriale e Gestionale

34 2. eorema (Proprietà dei punti estremi e delle direzioni estreme di un poliedro) Dato X poliedro non vuoto con punti estremi e direzioni estreme Ogni punto X può essere espresso come combinazione convessa dei punti estremi di X e combinazione lineare delle sue direzioni estreme: de j D j, =,..., E D = λ i e i + µ jde j i= j= i E ei, =,..., E con λ i = λ i 0 i, µ j 0 j i= Se d è una direzione del poliedro {, 0} X = A = b allora si ha che ( ) + λd X X, λ 0 A + λd = b Ad = 0 Ricerca Operativa 34 Corso di Laurea in Ingegneria Industriale e Gestionale

35 Soluzione Algebrica dei problemi di PL Consideriamo il problema (PL) in Forma Standard (PL) ma c 0 = A = b ( ) 0 ( 2) n R Poiché m=rango(a) ed m<n, si può partizionare A come A [ B N] = dove: B è matrice non singolare mm N è matrice m(n-m) (det( B) 0) La matrice B è composta da m colonne linearmente indipendenti di A. ali colonne sono quindi una base nello spazio vettoriale ad m dimensioni delle colonne di A. La matrice B è detta Matrice di Base (Base). In corrispondenza di una scelta di B ed N si può partizionare anche il vettore delle : B = N m componenti n m componenti B è detto Vettore delle Variabili in Base (Vettore di Base) N è detto Vettore delle Variabili fuori Base Ricerca Operativa 35 Corso di Laurea in Ingegneria Industriale e Gestionale

36 Il sistema di equazioni lineari A = b si può riscrivere come [ B N] B b BB NN b N = + = B = B b B NN Una soluzione del sistema di equazioni () corrisponde a determinare il valore per m variabili ( B ) avendo fissato arbitrariamente il valore per le restanti n-m variabili ( N ) Una scelta particolarmente importante è porre N = 0 da cui si ottiene B B b = N = 0 Soluzione di Base Se B = B b 0 si ottiene una Soluzione di Base Ammissibile. Ricerca Operativa 36 Corso di Laurea in Ingegneria Industriale e Gestionale

37 Le soluzioni di base sono importanti poichè vale il seguente teorema 3. eorema Dato {, 0} X = A = b insieme convesso, dove A è una matrice mn di rango m con m<n, e è un punto estremo di X se e solo se e è una soluzione di base ammissibile. La ricerca delle soluzioni di un problema di PL si può effettuare esaminando solamente un numero finito di soluzioni corrispondenti alle soluzioni di base associate al poliedro dei vincoli. In generale, a ciascuna matrice di base B ( ammissibile) corrisponde una sola soluzione di base (ammissibile). Viceversa, ad una soluzione di base ( ammissibile) possono corrispondere più matrici di base. Questi casi sono associati a soluzioni dette degeneri, ovvero per cui qualche componente del vettore di base risulta nullo. B Un esempio. ma 0 = ( ) ( 2) ( 3) Il problema non è in forma standard! (continua) Ricerca Operativa 37 Corso di Laurea in Ingegneria Industriale e Gestionale

38 rasformazione dei problemi in forma standard. Vincoli Si introducono variabili ausiliarie positive dette Variabili di Slack (scarto): n n aij j bi aij j + si = bi si 0 j= j= Vincoli Si introducono variabili ausiliarie positive dette Variabili di Surplus (eccedenza): n n j= ij j i j= a b a s = b s 0 Variabili non vincolate in segno (variabili libere) Si sostituisce la variabile libera con due variabili ausiliarie positive (il problema diventa ad n+ variabili): ermini noti dei vincoli negativi Si moltiplicano entrambe i membri per - e si cambia il verso della disuguaglianza Problema di minimo Si trasforma il problema in massimo moltiplicando per - la funzione obiettivo. ij j i i i libera = u v con u 0 v 0 j j j j j j Ricerca Operativa 38 Corso di Laurea in Ingegneria Industriale e Gestionale

39 Un esempio (seguito). Il problema trasformato in forma standard: ma 0 = = 5 ( ) = 0 ( 2) = 2 ( 3) (3) 4 () (2) 3 2 P 2 P 3 0 = Ottimo 0 = 0 X P 4 P A 0 0 = b = Ricerca Operativa 39 Corso di Laurea in Ingegneria Industriale e Gestionale

40 Il massimo numero di possibili basi corrisponde al numero di possibili estrazioni di m colonne su n colonne di A: n m n m n m =!!( )! Nell esempio = =!!! In generale, non tutte le possibili sottomatrici mm sono non-singolari (quindi invertibili). Inoltre, non tutte le matrici di base danno luogo a soluzioni ammissibili (ossia, positive). Per questo fatto il numero delle combinazioni corrisponde ad un limite superiore. Nell esempio solo 6 combinazioni danno luogo a basi ammissibili: B b P B = = = dove B = P B = = P B = = P B B B = = = = = = (soluzioni degeneri) Ricerca Operativa 40 Corso di Laurea in Ingegneria Industriale e Gestionale

41 Dalla corrispondenza delle soluzioni di base ammissibili con i punti estremi del poliedro X deriva il seguente teorema. 4. eorema Fondamentale della PL Se un problema di PL ammette soluzione, allora esiste una soluzione ammissibile di base. Se un problema di PL ha soluzione ottima finita, allora ha anche una soluzione di base ottima. Poiché il massimo numero di possibili basi di un problema di PL è finito, tali problemi hanno una struttura discreta. I problemi di ottimizzazione corrispondenti alla selezione tra un numero finito di alternative si dicono problemi combinatorici. La PL è quindi un problema combinatorico. Un possibile algoritmo per determinare la soluzione ottima potrebbe consistere nella generazione esplicita di tutte le soluzioni ammissibili di base, quindi nella scelta di quella soluzione che rende massimo l obiettivo. ale strategia non è conveniente poichè il numero massimo delle possibili basi cresce in maniera esponenziale col crescere delle dimensioni del problema (numero di variabili e vincoli). Algoritmi che richiedono in generale un numero di passi che cresce in maniera esponenziale con le dimensioni del problema non sono efficienti. Ricerca Operativa 4 Corso di Laurea in Ingegneria Industriale e Gestionale

42 Calcolo della soluzione ottima di un problema di PL. Supponendo di aver individuato una base B ammissibile, riscriviamo la funzione obiettivo: [ ] c 0 = = cb cn B c B c B N N N = + () Sostituiamo in () l espressione delle variabili di base: B = B b B NN (2) ottenendo: ( ) 0 = B B N c B b c B N c N (3) Il valore dell obiettivo corrispondente alla base B è c 0 = BB b Le relazioni (2) e (3) esprimono rispettivamente i vincoli e la funzione obiettivo in funzione delle variabili fuori base. Raccogliamo (2) e (3) in in forma matriciale: c B b c B N c 0 B B N N B = B b B N (4) Le (4) sono m+ equazioni. Ricerca Operativa 42 Corso di Laurea in Ingegneria Industriale e Gestionale

43 rasformiamo le (4) in una forma più compatta. In particolare, si pone: R l insieme degli indici delle variabili fuori base, ovvero delle colonne di N B = e 0 0 B = y00 c B b y y B 0 = 0 B b = vettore (m+)-dim M y m0 B M B m y0j c BB a j c j y j y = j R j B a j = n-m vettori (m+)-dim M y mj a j dove e c j sono rispettivamente la colonna di N ed il coefficiente di che moltiplicano la j-esima variabile fuori base. c N Ricerca Operativa 43 Corso di Laurea in Ingegneria Industriale e Gestionale

44 Le (4) si possono quindi riscrivere come segue = y y i m Bi i0 ij j = 0,, K, (5) j R Ponendo nelle (5) j = 0 j R si ottengono il valore dell obiettivo (i=0) e le soluzioni di base (i=,...,m) corrispondenti alla base attuale. Verifichiamo se la soluzione corrente è ottima. Consideriamo l obiettivo: B 0 = y 00 y j j j R 0 Supponiamo che esista un coefficiente y 0k <0, e consideriamo come varia l obiettivo facendo diventare positiva la variabile fuori base k, attualmente nulla. } >0 B = y y kk y > 00 L obiettivo migliora! <0 >0 Allora si potrebbe pensare di aumentare indefinitivamente k migliorando sempre l obiettivo. uttavia, aumentando k anche le equazioni (5) corrispondenti ai vincoli variano, modificando i valori delle variabili di base. Ricerca Operativa 44 Corso di Laurea in Ingegneria Industriale e Gestionale

45 Consideriamo la generica equazione i- esima in funzione della variabile fuori base k che stiamo incrementando: = y y Bi i0 ik k Se y ik >0, aumentando k la B i diminuisce. E quindi possibile aumentare k fino a che Bi 0 (ammissibile). Il valore limite di k perché la i- esima variabile di base resti ammissibile è quindi: k y = i B y i = 0 0 ik Facendo assumere ad k un valore positivo significa portare la variabile in base. Nello stesso tempo il valore delle altre variabili di base per cui y ik >0 diminuisce. Il valore che k assume in base è quello corrispondente all annullamento della prima variabile di base, ad es.,cioè Br yr0 yi0 = min yrk i=,..., M yik y ik > 0 La variabile k entra in base con tale valore, ed in corrispondenza la variabile Br esce di base. Ricerca Operativa 45 Corso di Laurea in Ingegneria Industriale e Gestionale

46 Il coefficiente y rk è detto Pivot, (l aggiornamento della base si dice Pivoting) e viene usato per aggiornare i valori delle variabili in base dopo l ingresso in base di k : = y y y 0 0 i = 0,..., m; i r y Bi i ik r rk k y y = r0 rk La nuova soluzione di base { } j = 0 j R' = R k = 0 Br Le nuove variabili fuori base Con il cambio delle variabili in base, la nuova matrice di base risulta composta delle stesse colonne della vecchia base ad eccezione del fatto che la colonna associata a Br è stata sostituita dalla colonna associata a k. Aggiorniamo le equazioni (5) dopo il cambio di base: y = y y y y Bi i ik r 0 0 ij ik yrk j R i = 0,, K, m; i r { k} yrj j + yrk yrj yrk B r (5 ) k yr yrj = 0 j yrk j R yrk { k} yrk B r Ricerca Operativa 46 Corso di Laurea in Ingegneria Industriale e Gestionale

47 I nuovi valori delle variabili in base si ottengono ponendo nelle (5 ) La nuova soluzione di base ha migliorato il valore della funzione obiettivo: } >0 y B = y y r k > { yrk <0 { >0 E possibile iterare il procedimento fino a che esiste qualche variabile { } j = 0 j R k = 0 Br fuori base che può migliorare l obiettivo se portata in base. 5. eorema (Condizione di ottimalità) y 00 Una soluzione di base non ottima se e solo se: degenere di un problema di PL è ) yi0 0 i =,..., m (ammissibile) 2) y j R (non migliorabile) 0j 0 Nel caso di soluzione degenere possono esistere soluzioni ottime in cui il punto (2) del terorema 5 non è soddisfatto. uttavia, se un problema ammette soluzione ottima finita allora ammette una soluzione di base ottima che soddisfa le condizioni () e (2) del teorema 5. Ricerca Operativa 47 Corso di Laurea in Ingegneria Industriale e Gestionale

48 Scelta della variabile entrante. Quando la condizione di ottimalità non è verificata è sempre possibile scegliere una variabile fuori base k da portare in base per migliorare l obiettivo. Quando esistono più alternative la scelta non preclude il raggiungimento della soluzione ottima, ma può al peggio aumentare il tempo necessario per la sua ricerca. Esistono due criteri di scelta della variabile entrante: a) Il metodo del gradiente (il più utilizzato) Sceglie la variabile che localmente fa aumentare più rapidamente l obiettivo: y 0k = k = arg ma y j R y0 j< 0 min j R y0 j< 0 b) Il metodo del massimo incremento Sceglie la variabile che effettivamente provoca il maggior aumento dell obiettivo: dove r è l indice della variabile che lascia la base a causa dell ingresso in base di j. y 0j 0j y y r0 rj Ricerca Operativa 48 Corso di Laurea in Ingegneria Industriale e Gestionale

49 Scelta della variabile uscente. Determinata la variabile fuori base k da portare in base, si deve scegliere la variabile uscente. Esistono due situazioni alternative: a) y rk >0 per almeno un r Allora si può aggiornare la base come visto. b) yik 0 i =,..., m Allora la soluzione del problema è illimitata (non esiste ottimo finito). In questo caso facendo aumentare k il valore di nessuna variabile di base diminuisce: } >0 { = y y Bi i0 ik k 0 { <0 >0 sempre! Nota. Se per una variabile di base i si ha che y ik >0 e y r0 =0 ( soluzione degenere), k entra in base con valore nullo. In questo caso la soluzione non cambia, ed in particolare rimane degenere. Per questa ragione la ricerca della soluzione potrebbe rimanere bloccata generando sempre la medesima soluzione (cycling). Il cycling è piuttosto raro e comunque esistono strategie per evitalo. Ricerca Operativa 49 Corso di Laurea in Ingegneria Industriale e Gestionale

50 L algoritmo del Simplesso. Inizializzazione. Determinare una soluzione di base ammissibile. 2. Verifica dell ottimalità. Se y0j 0 j R allora la soluzione corrente è ottima e l algoritmo termina. Altrimenti andare al passo Scelta della variabile entrante in base. Scegliere una variabile fuori base k tale che y 0k <0 (ad esempio, con il metodo del gradiente), ed andare al passo Scelta della variabile uscente dalla base. Scegliere la variabile tale che Br yr0 yi0 = min yrk i=,..., M yik y ik > 0 Se yik 0 i =,..., m, allora la soluzione del problema è illimitata (non esiste ottimo finito), e l algoritmo termina. 5. Pivoting. Risolvere le equazioni (5) ricavando k e i r Bi, in funzione di j, j R { k} e di B r. La nuova soluzione si ottiene ponendo j = 0, j R { k} e Br = 0. Andare al passo 2. Ricerca Operativa 50 Corso di Laurea in Ingegneria Industriale e Gestionale

51 Il ableau L algoritmo del simplesso può essere eseguito utilizzando una tabella, detta ableau, in cui vengono disposti i coefficienti della funzione obiettivo e dei vincoli. ali coefficienti sono quelli delle equazioni (5) in cui tutte le variabili sono state portate al primo membro: B i + yij j = yi0 i = 0,, K, m j R coeff. dell obiettivo valore dell obiettivo (soluzione corrente) nomi delle variabili in base nomi delle variabili fuori base B L B r L B m L j L k L 0 0 L 0 L 0 L y0j L y0k L y00 B L 0 L 0 L yj L yk L y0 M M O M M M M M Br 0 L L 0 L yrj L yrk L yr0 M M M O M M M M B m 0 L 0 L L ymj L ymk L ym0 coeff. delle variabili in base valori delle variabili in base (soluzione corrente) coeff. delle variabili fuori base Ricerca Operativa 5 Corso di Laurea in Ingegneria Industriale e Gestionale

52 L algoritmo del simplesso applicato al ableau. Inizializzazione. Costruire il tableau iniziale con una soluzione di base ammissibile. 2. Verifica dell ottimalità. Se nella riga di 0 non esistono coefficienti negativi la soluzione corrente è ottima e l algoritmo termina. Altrimenti andare al passo Scelta della variabile entrante in base. Scegliere una variabile fuori base k tale che y 0k <0 (ad esempio, scegliere il coefficiente più piccolo), ed andare al passo Scelta della variabile uscente dalla base. Se tutti i coefficienti nella colonna di k sonoy ik 0 i =,..., m non esiste ottimo finito e l algoritmo termina. Altrimenti calcolare i rapporti yi0 i =,..., m yik tra i coeff. dell ultima colonna con i coeff. positivi della colonna di k, e scegliere la riga r-esima associata al rapporto più piccolo. Il coeff. y rk è il pivot. 5. Pivoting. Portare in base k al posto di Br dividendo la riga r-esima per il pivot, quindi sottraendo la nuova riga r alle altre righe del tableau, obiettivo incluso, dopo averla moltiplicata per il corrispondente coeff. della colonna k. In questo modo la nuova colonna k sarà formata da tutti coeff. nulli tranne il coeff. r-esimo uguale ad. Scambiare i nomi delle variabili k e. Andare al passo 2. Br Ricerca Operativa 52 Corso di Laurea in Ingegneria Industriale e Gestionale

53 L inizializzazione dell algoritmo del simplesso Il problema dell inizializzazione corrisponde a verificare se il problema di PL ammette soluzione, ed in caso positivo a determinarne una. Inizializzazione con variabili di slack. Un caso semplice è quello in cui tutti i vincoli sono disuguaglianze. [ ] A b A + Is = b A I s = b quindi si può scegliere B=I come base iniziale, corrispondente alla soluzione ammissibile B s b N = = 0 In generale, tutte le volte che la matrice A contiene una matrice identica I come minore mm è possibile scegliere B=I come base iniziale, e mettere nella base iniziale le m variabili corrispondenti alle colonne di I. Metodi generali di inizializzazione. Esistono due metodi generali: a) Il metodo a due fasi ( wo-phases Method) b) Il metodo del Big-M (o delle penalità) Ricerca Operativa 53 Corso di Laurea in Ingegneria Industriale e Gestionale

54 Il metodo a due fasi E un metodo che può essere usato per verificare l esistenza di soluzioni in un sistema di disuguaglianze. E dato il problema (P) ma c 0 = A = b 0 I Fase (Definizione e soluzione del problema ausiliario) Si definisce un problema ausiliario (A) m min z = y = yi j= A + Iy = b 0 y 0 dove = M M m Posto z y m = var. n var. è sempre possibile definire come soluzione di base iniziale per (A) zb y b z N = = 0 quindi risolvere (A) con l algoritmo del simplesso. Ricerca Operativa 54 Corso di Laurea in Ingegneria Industriale e Gestionale

55 II Fase (Inizializzazione e soluzione del problema originale) Se la soluzione ottima di (A) è tale che z=0, allora nessuna variabile y i, i=,...,m, è rimasta in base all ottimo, ed in tal caso il problema originale (P) ammette soluzione. y * * = * Infatti, sia z la soluzione ottima di (A), con y * = 0. Allora A * + Iy * = b A * = b quindi * è anche soluzione di (P) e può essere usata come soluzione iniziale per risolvere (P). Se invece z>0, allora qualche variabile y i, i=,...,m, è rimasta in base all ottimo, ed assume valore positivo. In questo caso il problema originale (P) non ammette soluzione. Se, infatti, fosse stato possibile determinare un vettore tale da soddisfare i vincoli di (P), la soluzione di (A) lo avrebbe certamente utilizzato per annullare (quindi minimizzare) l obiettivo z. Ricerca Operativa 55 Corso di Laurea in Ingegneria Industriale e Gestionale

56 Il metodo del Big-M Con questo metodo si introducono delle variabili ausiliarie come nel metodo a due fasi. Quindi si risolve una versione modificata del problema originale, penalizzando nella funzione obiettivo le variabili ausiliarie. E dato il problema (P) ma c 0 = A = b 0 Si costruisce una versione modificata (P ) del problema (P) introducendo m variabili ausiliarie (una variabile per vincolo) ma c M y = c M y A + Iy = b 0 y 0 n m i i i= j= = dove M M e M è un coeff. scalare tale che m Posto y z = una soluzione di base iniziale per (P ) è zb y b z N 0 j M >> ci, b j, aij i, j Ricerca Operativa 56 Corso di Laurea in Ingegneria Industriale e Gestionale

57 Risolvendo (P ) le variabili y j, penalizzate dai big-m nell obiettivo, sono forzate ad uscire dalla base. Se nella soluzione ottima di (P ) tutte le y j sono fuori base, si ha che y * z * = A * Iy * b A * b * = 0 * + = = il vettore * è anche la soluzione ottima di (P). Rispetto al metodo a due fasi risolvere il problema (P ) equivale a risolvere il problema originale (P). Ricerca Operativa 57 Corso di Laurea in Ingegneria Industriale e Gestionale

58 Esempi di Problemi di Programmazione Lineare Esempio : Soluzione con l algoritmo del simplesso dell esempio in forma standard ma = = = = Il problema può essere inizializzato usando le variabili di slack. 6 B = = è la base iniziale (degenere). Il tableau iniziale uscente entrante = 7 2 il Pivot a iterazione: entra in base 5 esce dalla base Ricerca Operativa 58 Corso di Laurea in Ingegneria Industriale e Gestionale

59 Il tableau dopo la a iterazione. nuovo il Pivot entrante valore obiettivo uscente = 9 4( = 2, 25) = 2 8( = 2, 62) = 2 2 ( = 0, 5) 2 a iterazione: 2 entra in base 3 esce dalla base Il tableau dopo la 2 a iterazione. base ottima coeff. non negativi valore ottimo obiettivo soluzione ottima Il tableau è ottimo! Ricerca Operativa 59 Corso di Laurea in Ingegneria Industriale e Gestionale

60 Esempio 2: L azienda che produce vernici. ma Z = 3E + 2I E + 2I 6 2E + I 8 E + I I 2 E 0 I 0 Deve essere trasformato in forma standard. ma Z = 3E + 2I E + 2I + s = 6 2E + I + s2 = 8 E + I + s3 = I + s4 = 2 E 0, I 0, s 0, s2 0, s3 0, s4 0 Forma standard: n=6, m=4 Il problema può essere inizializzato usando le variabili di slack. B = s s 2 s3 s 4 = La base iniziale Ricerca Operativa 60 Corso di Laurea in Ingegneria Industriale e Gestionale

61 Il tableau iniziale entrante E I s s2 s3 s4 z il Pivot s uscente s s s a iterazione: E entra in base s 2 esce dalla base Il tableau dopo la a iterazione. uscente il Pivot entrante s s s z E 3 4 s s s s E I = = = a iterazione: I entra in base s esce dalla base Ricerca Operativa 6 Corso di Laurea in Ingegneria Industriale e Gestionale

62 Il tableau dopo la 2 a iterazione. coeff. non negativi valore ottimo obiettivo base ottima z I E s3 s4 E I s s2 s3 s soluzione ottima Il tableau è ottimo! Ricerca Operativa 62 Corso di Laurea in Ingegneria Industriale e Gestionale

63 Esempio 3: Soluzione illimitata. Un problema molto semplice: ma 0 = In forma standard ma 0 = = X La regione di ammissibilità X è aperta 2 Il problema ha n=3, m= Adottiamo il punto (,0) come soluzione di base iniziale. B = [ ] = [ ] N = 2 = 0 3 Ricerca Operativa 63 Corso di Laurea in Ingegneria Industriale e Gestionale

64 Costruendo il tableau iniziale si nota che l obiettivo deve essere espresso in funzione delle variabili fuori base (si deve eliminare ). le variabili in base devono avere coeff. nullo nell obiettivo Il tableau iniziale si ricava eliminando dalla riga dell obiettivo ora anche il valore dell obiettivo è corretto la variabile 3 entra in base senza mai violare il vincolo. La soluzione ottima è all infinito. Aumentando 3 ci si muove lungo l asse (direzione estrema). 2 2 X... funz. obiettivo 2 Ricerca Operativa 64 Corso di Laurea in Ingegneria Industriale e Gestionale

65 Quante sono le possibili direzioni estreme di un poliedro X? Ad [ B N] d B = 0 BdB NdN d N = 0 + = 0 db = B NdN quindi è possibile fissare arbitrariamente direzione estrema come d N e calcolare una d db = d N = B Nd N e j Una scelta possibile è fissare 0 M dn = e j = j esimo e j M 0 n m n m R d = B a j e j dove a j è la j-esima colonna di N. Per ogni matrice B possono essere scelti n-m vettori a j distinti. Quindi il numero massimo di possibili direzioni estreme è n m n m ( ) Ricerca Operativa 65 Corso di Laurea in Ingegneria Industriale e Gestionale

66 Nell esempio l asse di corrisponde a B a d = j = 0 = e j Si può verificare che 0 ( j = 2) Ad = 0 [ ] 0 = = 0 ( n = 3, m = ) La possibilità di avere soluzioni ottime finite è regolata dal seguente teorema 6. eorema Dato il problema di PL ma c 0 = A = b 0 siano d j, j=,...,d le direzioni estreme del poliedro X non vuoto dei vincoli. Condizione necessaria e sufficiente perchè esista soluzione ottima finita è c d j 0 j =,..., D in tal caso l ottimo coincide con un punto estremo di X. Ricerca Operativa 66 Corso di Laurea in Ingegneria Industriale e Gestionale

67 Esempio 4: Inizializzazione con il wo-phases method. min 0 = = , 2 0 in forma standard ma 0 = = = = 4 0, 2 0, 3 0, 4 0 I Fase (Definizione e soluzione del problema ausiliario) min z = y + y2 ma z = y y y = y2 = = 4 0, 2 0, 3 0, 4 0, y 0, y2 0 Ricerca Operativa 67 Corso di Laurea in Ingegneria Industriale e Gestionale

68 z y y y y si devono eliminare le var. di base dalla riga dell obiettivo Il tableau iniziale z y y y y Il tableau finale z 2 4 y y con questi valori può essere inizializzato il tableau del problema originale Ricerca Operativa 68 Corso di Laurea in Ingegneria Industriale e Gestionale

69 II Fase (Inizializzazione e soluzione del problema originale) si devono eliminare le var. di base dalla riga dell obiettivo Il tableau iniziale del problema originale Ricerca Operativa 69 Corso di Laurea in Ingegneria Industriale e Gestionale

70 Programmazione Matematica a Numeri Interi (Integer Programming - IP) Problema di ottimizzazione di una funzione obiettivo lineare soggetta al rispetto di un insieme di vincoli lineari in cui tutte o parte delle variabili possono assumere solo valori interi Mied IP Problem - MIP ma c + h y A + Gy b n p Z+ y R+ è il vettore delle variabili intere positive y è il vettore delle variabili reali positive I problemi in cui sono presenti variabili intere sono spesso anche indicati come Problemi Combinatorici. Alcuni esempi di applicazioni: Production Scheduling (assegnazione e sequenziazione di operazioni su macchine) Distribuzione di beni Facility location (localizzazione di impianti) Progettazione di reti (trasporto e comunicazione) Pianificazione di investimenti Ricerca Operativa 70 Corso di Laurea in Ingegneria Industriale e Gestionale

71 Formulazione di problemi a numeri interi I modelli di ottimizzazione a numeri interi vengono introdotti quando si deve ottimizzare l uso di risorse non divisibili o la scelta tra alternative discrete. Un tipo di modello molto importante e comune è quello in cui le variabili intere possono assumere solo i valori 0 e (0- Programming). Valori binari sono usati per rappresentare la scelta tra due possibilità o il verificarsi o meno di una condizione: = 0 se l' eventosi verifica se l' evento nonsi verifica Esempi di IP: Il problema dello zaino (Knapsack Problem) Il problema dell assegnazione (Matching Problem) Il problema del costo fisso (Fied Charge Problem) Il problema del sequenziamento (Sequencing Problem) I problemi di copertura, partizione ed impaccamento (Set Covering, Partitioning and Packing Problems) Problemi sui grafi (eoria dei Grafi): Percorso minimo (Shortest Path) Commesso viaggiatore (raveling Salesman Problem) Ricerca Operativa 7 Corso di Laurea in Ingegneria Industriale e Gestionale

72 Il problema dello zaino (Knapsack Problem) Si hanno n possibili progetti da realizzare con un budget massimo b disponibile. Se un progetto j, j=,...,n, viene finanziato deve essere investito un capitale a j. Dalla realizzazione di un progetto j si ricava un guadagno c j. Un progetto non può essere realizzato parzialmente, ma può essere eseguito completamente o non eseguito affatto. Il problema: stabilire quali progetti realizzare per ottenere il massimo guadagno senza superare il budget disponibile. Il problema si formula introducendo n variabili binarie: j = 0 j =,..., n il progetto j è finanziato il progetto j non è finanziato Knapsack binario ma n j= n j= c j j a j j { } b 0, = B j =,..., n j Ricerca Operativa 72 Corso di Laurea in Ingegneria Industriale e Gestionale

73 Problema dello zaino: si deve stabilire quali tra n oggetti portare in uno zaino sapendo che il peso massimo trasportabile è b, che ogni oggetto j pesa a j e che ad ogni oggetto è associata un utilità (valore) c j. Una variante: la realizzazione di progetti nell arco di m mesi. Supponendo che la realizzazione di ciascun progetto richieda un finanziamento nell arco di m mesi: a ij il finanziamento per il progetto j nel mese i, j=,...,n; i=,...,m b i budget disponibile nel mese i, i=,...,m Knapsack multidimensionale ma n c j j j= n aij j bi i =,..., m j= { } j 0, = B j =,..., n Ricerca Operativa 73 Corso di Laurea in Ingegneria Industriale e Gestionale

74 Il problema dell assegnamento (Matching Problem) Si devono assegnare m attività ad n persone (sia n m). Una volta stabilito l assegnamento, ogni persona eseguirà solo l attività che gli viene assegnata. Se alla persona j, j=,...,n, viene assegnata l attività i, i=,..., m, il costo pagato è c ij. Il problema : assegnare tutte le attività alle persone in modo da minimizzare il costo pagato. Si può rappresentare il problema con un grafo: Attività (i) M c ij M Persone (j) Il problema consiste nello stabilire quali archi introdurre tra i nodi attività ed i nodi persona in modo che su ogni nodo attività incida esattamente un arco e su ogni nodo persona incida al più un arco. Ricerca Operativa 74 Corso di Laurea in Ingegneria Industriale e Gestionale

75 Il problema si formula introducendo mn variabili binarie: ij = 0 i =,..., m j =,..., n l' attività i è assegnata alla persona j l' attività i non è assegnata alla persona j Matching binario min m n cijij i= j= n ij = j= i =,..., m ( a) m ij i= j =,..., n ( b) ji { 0, } = B i =,..., m j =,..., n Vincoli (a): ogni attività e assegnata ad una persona Vincoli (b): ogni persona svolge al più una sola attività Ricerca Operativa 75 Corso di Laurea in Ingegneria Industriale e Gestionale

76 Il problema del costo fisso (Fied Charge Problem) Si consideri un problema di trasporto tra m produttori ed n consumatori (ad esempio, un trasporto di gas o petrolio). Ogni produttore è connesso ad ogni consumatore da un canale attraverso cui può avvenire il trasporto (e.g., un gasdotto). Per avere un flusso trasportato tra un produttore i, i=,...,m, ed un consumatore j=,...,n, si deve: pagare un costo fisso f ij per l affitto del canale di trasporto tra i e j; pagare c ij per ogni unità trasportata tra i e j. La disponibilità massima del produttore i è s i, i=,...,m. La richiesta del consumatore j che deve essere soddisfatta è r j, j=,...,n. Il problema : stabilire quali canali di trasporto tra i produttori ed i consumatori affittare e quale flusso trasportare su tali canali in modo da minimizzare il costo totale, soddisfacendo la richiesta dei consumatori. Le variabili: ij R, i=,...,m; j=,...,n, la quantità trasportata tra i e j y ij B, i=,...,m; j=,...,n, se si utilizza il canale tra i e j yij = 0 se non si utilizza il canale tra i e j Ricerca Operativa 76 Corso di Laurea in Ingegneria Industriale e Gestionale

77 La funzione di costo ha una discontinuità nell origine. Ad esempio per la variabile ij costo totale c ij ij f ij ij Il problema del trasporto con costo fisso m n min ( cijij + fijyij) i= j= n ij si j= i =,..., m ( a) m ij = rj i= j =,..., n ( b) ij Myij i, j ( c) ij R + yij B i =,..., m j =,..., n Vincoli (a) e (b): i vincoli del problema del trasporto. Vincoli (c): un flusso ij può esistere solo se si paga il costo fisso per usare il canale tra i e j. M è un coefficiente molto più grande della massima quantità trasportabile tra i e j. Se fosse specificato il flusso massimo, q ij, tra i e j, i vincoli (c) risulterebbero ij qijyij i, j Ricerca Operativa 77 Corso di Laurea in Ingegneria Industriale e Gestionale

Soluzione dei Problemi di Programmazione Lineare

Soluzione dei Problemi di Programmazione Lineare Soluzione dei Problemi di Programmazione Lineare Consideriamo un problema di Programmazione Lineare (PL) con m vincoli ed n variabili in Forma Standard dove: ma 0 c A b ( ) 0 ( 2) R è il vettore n delle

Dettagli

Lezioni di Ricerca Operativa

Lezioni di Ricerca Operativa Lezioni di Ricerca Operativa Massimo Paolucci Dipartimento di Informatica, Sistemistica e Telematica (DIST) Università di Genova paolucci@dist.unige.it Anno accademico 2000/2001 La Ricerca Operativa (Operation

Dettagli

Lezioni di Ricerca Operativa

Lezioni di Ricerca Operativa Lezioni di Ricerca Operativa Massimo Paolucci Dipartimento di Informatica, Sistemistica e Telematica (DIST) Università di Genova paolucci@dist.unige.it http://www.dattero.dist.unige.it Anno accademico

Dettagli

Esempi di Problemi di Programmazione Lineare

Esempi di Problemi di Programmazione Lineare Esempi di Problemi di Programmazione Lineare Esempio 1: Soluzione con l algoritmo del simplesso dell esempio in forma standard ma = 2 + 0 1 2 + + = 5 1 2 3 + + = 0 1 2 4 6 + 2 + = 21 1 2 5 1 2 3 4 5 Il

Dettagli

Il Tableau M M O M M M M M M M M O M M M M. valore dell obiettivo (soluzione corrente) coeff. dell obiettivo. nomi delle variabili fuori base

Il Tableau M M O M M M M M M M M O M M M M. valore dell obiettivo (soluzione corrente) coeff. dell obiettivo. nomi delle variabili fuori base Il ableau L algorito del siplesso può essere eseguito utilizzando una tabella, detta ableau, in cui vengono disposti i coefficienti della funzione obiettivo e dei vincoli. ali coefficienti sono quelli

Dettagli

Programmazione Matematica Lineare

Programmazione Matematica Lineare Programmazione Matematica Lineare Problema di Programmazione Matematica (PM) (problema di ottimizzazione) max f(x) s.t. x R n vettore delle variabili decisionali insieme delle soluzioni ammissibili funzione

Dettagli

Lezioni di Ricerca Operativa

Lezioni di Ricerca Operativa Lezioni di Ricerca Operativa R.Cerulli M.Gentili - F. Carrabs Dipartimento di Matematica (DM) Università di Salerno LA RICERCA OPERATIVA Si occupa dello sviluppo e dell applicazione di metodi matematici

Dettagli

Lezioni di Ricerca Operativa

Lezioni di Ricerca Operativa Lezioni di Ricerca Operativa Estratto per la parte di programmazione lineare e ottimizzazione sui grafi Corso di Metodi di Ottimizzazione per l'ingegneria della Sicurezza Laurea Magistrale in Ingegneria

Dettagli

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard Introduzione al Metodo del Simplesso Giacomo Zambelli 1 Soluzioni di base e problemi in forma standard Consideriamo il seguente problema di programmazione lineare (PL), relativo all esempio di produzione

Dettagli

3.3 Problemi di PLI facili

3.3 Problemi di PLI facili 3.3 Problemi di PLI facili Consideriamo un generico problema di PLI espresso in forma standard min{c t x : Ax = b, x Z n +} (1) dove A Z m n con n m, e b Z m. Supponiamo che A sia di rango pieno. Sia P

Dettagli

4.5 Metodo del simplesso

4.5 Metodo del simplesso 4.5 Metodo del simplesso min z = c T x s.v. Ax = b x 0 PL in forma standard Esamina una sequenza di soluzioni di base ammissibili con valori non crescenti della funzione obiettivo fino a raggiungerne una

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I) Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I) Luigi De Giovanni Giacomo Zambelli 1 Problemi di programmazione lineare Un problema

Dettagli

Sviluppando ancora per colonna sulla prima colonna della prima matrice e sulla seconda della seconda matrice si ottiene:

Sviluppando ancora per colonna sulla prima colonna della prima matrice e sulla seconda della seconda matrice si ottiene: M. CARAMIA, S. GIORDANI, F. GUERRIERO, R. MUSMANNO, D. PACCIARELLI RICERCA OPERATIVA Isedi Esercizi proposti nel Cap. 5 - Soluzioni Esercizio 5. - La norma Euclidea di è 9 6 5 - Il versore corrispondente

Dettagli

Programmazione Matematica / A.A Soluzioni di alcuni esercizi

Programmazione Matematica / A.A Soluzioni di alcuni esercizi Programmazione Matematica / A.A. 7-8 Soluzioni di alcuni esercizi Esercizi - I. Aggiungiamo al problema una variabile v, e richiediamo che v soddisfi v n a ij x j b i. j= Fissato x, il minimo v che soddisfa

Dettagli

4.5 Metodo del simplesso

4.5 Metodo del simplesso 4.5 Metodo del simplesso min z = c T x s.v. Ax = b x PL in forma standard Esamina una sequenza di soluzioni di base ammissibili con valori non crescenti della funzione obiettivo fino a raggiungerne una

Dettagli

Il metodo del simplesso

Il metodo del simplesso Capitolo 5 Il metodo del simplesso 5. La forma standard Esercizio 5.. Porre il problema di Programmazione Lineare: in forma standard. min x +x + x + x x +x 5 x 4 x, x Si trasformano i vincoli di disuguaglianza

Dettagli

Capitolo 3: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano

Capitolo 3: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano Capitolo 3: Ottimizzazione Discreta E. Amaldi DEI, Politecnico di Milano 3.1 Modelli di PLI e PLMI Moltissimi problemi decisionali complessi possono essere formulati come problemi di Programmazione Lineare

Dettagli

4 PROGRAMMAZIONE LINEARE (PL) E. Amaldi -- Fondamenti di R.O. -- Politecnico di Milano 1

4 PROGRAMMAZIONE LINEARE (PL) E. Amaldi -- Fondamenti di R.O. -- Politecnico di Milano 1 4 PROGRAMMAZIONE LINEARE (PL) E. Amaldi -- Fondamenti di R.O. -- Politecnico di Milano 1 Problemi di programmazione matematica: min f () s.v. X n insieme delle soluzioni ammissibili con funzione obiettivo

Dettagli

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI 3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI ESISTENZA DI UN PUNTO DI OTTIMO VINCOLATO Il problema di ottimizzazione vincolata introdotto nel paragrafo precedente può essere formulato nel modo seguente:

Dettagli

4 PROGRAMMAZIONE LINEARE (PL) E. Amaldi -- Fondamenti di R.O. -- Politecnico di Milano 1

4 PROGRAMMAZIONE LINEARE (PL) E. Amaldi -- Fondamenti di R.O. -- Politecnico di Milano 1 4 PROGRAMMAZIONE LINEARE (PL) E. Amaldi -- Fondamenti di R.O. -- Politecnico di Milano 1 Problemi di programmazione matematica: min s.v. f () X n dove X è la regione delle soluzioni ammissibili con funzione

Dettagli

RICERCA OPERATIVA (a.a. 2018/19)

RICERCA OPERATIVA (a.a. 2018/19) Secondo appello //9 RICERCA OPERATIVA (a.a. 8/9) Nome: Cognome: Matricola: ) Si consideri il seguente problema di PL: min y + y y y y y = y + y y = y, y, y, y Si verifichi se la soluzione ȳ =,,, sia ottima

Dettagli

IL METODO DEL SIMPLESSO

IL METODO DEL SIMPLESSO IL METODO DEL SIMPLESSO Il metodo del Simplesso 1 si applica nella risoluzione di un problema di Programmazione Lineare 2 (funzione e vincoli lineari) quando le variabili di azione o iniziali sono almeno

Dettagli

LEZIONE N.7 INTRODUZIONE AI METODI DI PROGRAMMAZIONE LINEARE, IL METODO DEL SIMPLESSO. 1di 18

LEZIONE N.7 INTRODUZIONE AI METODI DI PROGRAMMAZIONE LINEARE, IL METODO DEL SIMPLESSO. 1di 18 LEZIONE N.7 INTRODUZIONE AI METODI DI PROGRAMMAZIONE LINEARE, IL METODO DEL SIMPLESSO 1di 18 Metodo del Simplesso Il metodo del simplesso dovuto a Dantzing ed a Kantorovich è un algoritmo il cui nome deriva

Dettagli

SI RICORDA CHE LE LEZIONI DI MERCOLEDÌ 5 E 12 APRILE SI TERRANNO IN AULA D3 DALLE 9 ALLE 11

SI RICORDA CHE LE LEZIONI DI MERCOLEDÌ 5 E 12 APRILE SI TERRANNO IN AULA D3 DALLE 9 ALLE 11 SI RICORDA CHE LE LEZIONI DI MERCOLEDÌ 5 E 12 APRILE SI TERRANNO IN AULA D3 DALLE 9 ALLE 11 MARTEDÌ 11 APRILE LA LEZIONE SI TERRÀ IN AULA SEMINARI PIANO C 1di 26 LEZIONE N.7 INTRODUZIONE AI METODI DI PROGRAMMAZIONE

Dettagli

min 2x 1 +4x 2 2x 3 +2x 4 x 1 +4x 2 +2x 3 + x 4 =6 2x 1 + x 2 +2x 3 + x 5 =3 x 0.

min 2x 1 +4x 2 2x 3 +2x 4 x 1 +4x 2 +2x 3 + x 4 =6 2x 1 + x 2 +2x 3 + x 5 =3 x 0. 5 IL METODO DEL SIMPLESSO 6.4 IL METODO DEL SIMPLESSO In questo paragrafo sono riportati alcuni esercizi risolti sul metodo del simplesso. Alcuni sono risolti utilizzando la procedura di pivot per determinare,

Dettagli

Geometria della programmazione lineare

Geometria della programmazione lineare Geometria della programmazione lineare p. 1/39 Geometria della programmazione lineare Mariantonia Cotronei Facoltà di Ingegneria Università degli Studi Mediterranea di Reggio Calabria Geometria della programmazione

Dettagli

Parte IV: Rafforzamento di formulazioni e algoritmo dei piani di taglio

Parte IV: Rafforzamento di formulazioni e algoritmo dei piani di taglio Parte IV: Rafforzamento di formulazioni e algoritmo dei piani di taglio Nozioni di geometria Definizione: Un vettore y R n è combinazione conica dei vettori { 1,, k } se esistono k coefficienti reali λ

Dettagli

Programmazione Matematica / A.A Soluzioni di alcuni esercizi

Programmazione Matematica / A.A Soluzioni di alcuni esercizi Programmazione Matematica / A.A. 8-9 Soluzioni di alcuni esercizi Esercizi - I 3. Aggiungiamo al problema una variabile v, e richiediamo che v soddisfi v n a ij x j b i. j= Fissato x, il minimo v che soddisfa

Dettagli

PROGRAMMAZIONE LINEARE E DUALITA'

PROGRAMMAZIONE LINEARE E DUALITA' PROGRAMMAZIONE LINEARE E DUALITA' 1) Dati i punti di R 2 (1, 2), (1, 4), (2, 3), (3, 5), (4, 1), (4, 2), (5, 5), (6, 2), (6, 5). Determinare graficamente: A - L'involucro convesso di tali punti. B - Quali

Dettagli

RICERCA OPERATIVA (a.a. 2015/16) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2015/16) Nome: Cognome: Matricola: o Appello // RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si consideri il seguente problema di PL: max x + x x x x x x + x x Si applichi l algoritmo del Simplesso Duale, per via algebrica, a

Dettagli

5.4.5 Struttura dell algoritmo ed esempi

5.4.5 Struttura dell algoritmo ed esempi CAPITOLO 5. IL METODO DEL SIMPLESSO 6 5.4.5 Struttura dell algoritmo ed esempi Come abbiamo già ampiamente osservato, la fase II del metodo del simplesso, a partire da una soluzione di base ammissibile,

Dettagli

Il metodo dei Piani di Taglio (Cutting Planes Method)

Il metodo dei Piani di Taglio (Cutting Planes Method) Il metodo dei Piani di Taglio (Cutting Planes Method) E un metodo di soluzione dei problemi (IP) di tipo generale. L idea di base: Se la soluzione di (RL) non è intera allora la soluzione ottima intera

Dettagli

Ricerca Operativa. G. Liuzzi. Giovedí 19 Marzo Tableau del Simplesso Esempio Fase I del Simplesso Esempio

Ricerca Operativa. G. Liuzzi. Giovedí 19 Marzo Tableau del Simplesso Esempio Fase I del Simplesso Esempio 1 Giovedí 19 Marzo 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Tableau o Dizionario Qualche richiamo sulla generica iterazione della Fase II: B base ammissibile corrente x SBA corrente:

Dettagli

Lezioni di Ricerca Operativa

Lezioni di Ricerca Operativa Lezioni di Ricerca Operativa Massimo Paolucci Dipartimento di Informatica, Sistemistica e elematica (DIS) Università di Genova paolucci@dist.unige.it http://www.dattero.dist.unige.it Estratto per la parte

Dettagli

5 PROGRAMMAZIONE LINEARE INTERA (PLI) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

5 PROGRAMMAZIONE LINEARE INTERA (PLI) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 5 PROGRAMMAZIONE LINEARE INTERA (PLI) E. Amaldi Fondamenti di R.O. Politecnico di Milano Programma lineare intero: (PLI) min c T x Ax b x 0 intero Ipotesi: A, b interi La condizione di interezza non è

Dettagli

PreCorso di Matematica - PCM Corso M-Z

PreCorso di Matematica - PCM Corso M-Z PreCorso di Matematica - PCM Corso M-Z DOCENTE: M. Auteri Outline Docente: Auteri PreCorso di Matematica 2016 2 Definizione di matrice Una matrice (di numeri reali) è una tabella di m x n numeri disposti

Dettagli

Gestione della produzione e della supply chain Logistica distributiva

Gestione della produzione e della supply chain Logistica distributiva Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Convergenza dell algoritmo Se non

Dettagli

3.6 Metodi basati sui piani di taglio

3.6 Metodi basati sui piani di taglio 3.6 Metodi basati sui piani di taglio Problema generale di Programmazione Lineare Intera (PLI) con A matrice m n e b vettore n 1 razionali min{ c t x : x X = {x Z n + : Ax b} } Sappiamo che esiste una

Dettagli

Matrici triangolari [Abate, 3.2] Lezioni 05 e 06. Determinante di una matrice triangolare [Abate, es. 9.3] Matrici ridotte per righe.

Matrici triangolari [Abate, 3.2] Lezioni 05 e 06. Determinante di una matrice triangolare [Abate, es. 9.3] Matrici ridotte per righe. Matrici triangolari [Abate, 32] Definizione Una matrice A = a ij ) R m,n si dice triangolare superiore se a ij = 0 per ogni i > j; triangolare inferiore se a ij = 0 per ogni i < j Lezioni 05 e 06 Una matrice

Dettagli

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite 3 Sistemi lineari 3 Generalità Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite ovvero, in forma matriciale, a x + a 2 x 2 + + a n x n = b a 2 x + a 22 x 2 + + a 2n x

Dettagli

Ricerca Operativa. Programmazione Lineare. Università Mediterranea di Reggio Calabria Decisions Lab

Ricerca Operativa. Programmazione Lineare. Università Mediterranea di Reggio Calabria Decisions Lab Ricerca Operativa Programmazione Lineare Università Mediterranea di Reggio Calabria Decisions Lab Ottimizzazione In un problema di ottimizzazione si cerca di massimizzare o minimizzare una quantità specifica,

Dettagli

Richiami di Teoria dei Grafi. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena

Richiami di Teoria dei Grafi. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Richiami di Teoria dei Grafi Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Teoria dei grafi La Teoria dei Grafi costituisce, al pari della Programmazione Matematica, un corpo

Dettagli

Teoria della Programmazione Lineare. Teoria della Programmazione Lineare p. 1/8

Teoria della Programmazione Lineare. Teoria della Programmazione Lineare p. 1/8 Teoria della Programmazione Lineare Teoria della Programmazione Lineare p. 1/8 I problemi di PL in forma canonica In forma scalare: max n j=1 c jx j n j=1 a ijx j b i x j 0 i = 1,...,m j = 1,...,n Teoria

Dettagli

Programmazione Lineare: problema del trasporto Ing. Valerio Lacagnina

Programmazione Lineare: problema del trasporto Ing. Valerio Lacagnina Problemi di trasporto Consideriamo un problema di programmazione lineare con una struttura matematica particolare. Si può utilizzare, per risolverlo, il metodo del simplesso ma è possibile realizzare una

Dettagli

Note sull algoritmo di Gauss

Note sull algoritmo di Gauss Note sull algoritmo di Gauss 29 settembre 2009 Generalità Un sistema lineare di m equazioni in n incognite x,..., x n è un espressione del tipo: a x + a 2 x 2 + + a n x n = b a 2 x + a 22 x 2 + + a 2n

Dettagli

LA GRAN PARTE DI QUESTI ELEMENTI DOVREBBE ESSERE GIÀ NOTA

LA GRAN PARTE DI QUESTI ELEMENTI DOVREBBE ESSERE GIÀ NOTA I PRESUPPOSTI DELL ALGORITMO DEL SIMPLESSO CONSISTONO IN UN INSIEME DI ELEMENTI TEORICI LEGATI ALLO STUDIO DEGLI INSIEMI CONVESSI ED UN ALTRO INSIEME DI ELEMENTI TEORICI LEGATI ALLO STUDIO DEI SISTEMI

Dettagli

Algoritmi per la programmazione lineare: il metodo del simplesso

Algoritmi per la programmazione lineare: il metodo del simplesso Algoritmi per la programmazione lineare: il metodo del simplesso Dipartimento di Informatica, Universita' di Pisa A.A. 2018/2019 Contenuti della lezione Problemi di programmazione lineare, forma standard

Dettagli

RICERCA OPERATIVA (a.a. 2011/12) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2011/12) Nome: Cognome: Matricola: 5 o Appello 8/0/0 RICERCA OPERATIVA (a.a. 0/) Nome: Cognome: Matricola: ) Si individui un albero dei cammini minimi di radice sul grafo in figura, utilizzando l algoritmo più appropriato dal punto di vista

Dettagli

RICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola: Sesto appello 7/7/8 RICERCA OPERATIVA (a.a. 7/8) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL applicando l algoritmo del Simplesso Duale, per via algebrica, a partire dalla base B

Dettagli

Matematica Computazionale(6cfu) Ottimizzazione(8cfu) (a.a , lez.3)

Matematica Computazionale(6cfu) Ottimizzazione(8cfu) (a.a , lez.3) Docente: Marco Gaviano (e-mail:gaviano@unica.it) Corso di Laurea in Infomatica Corso di Laurea in Matematica Matematica Computazionale(6cfu) Ottimizzazione(8cfu) (a.a. -4 lez.) Matematica Computazionale

Dettagli

4.3 Esempio metodo del simplesso

4.3 Esempio metodo del simplesso 4.3 Esempio metodo del simplesso (P ) min -5x 4x 2 3x 3 s.v. 2x + 3x 2 + x 3 5 4x + x 2 + 2x 3 3x + 4x 2 + 2x 3 8 x, x 2, x 3 Per mettere il problema in forma standard si introducono le variabili di scarto

Dettagli

Gestione della produzione e della supply chain Logistica distributiva. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena

Gestione della produzione e della supply chain Logistica distributiva. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Un algoritmo per il flusso a costo minimo: il simplesso

Dettagli

x 1 x 2 x 3 x 5 La base iniziale è B 0 = I e risulta x B 0 = , x N 0 = Iterazione 0. Calcolo dei costi ridotti. γ 0 = c N 0 (N 0 ) T c B 0 =

x 1 x 2 x 3 x 5 La base iniziale è B 0 = I e risulta x B 0 = , x N 0 = Iterazione 0. Calcolo dei costi ridotti. γ 0 = c N 0 (N 0 ) T c B 0 = 56 IL METODO DEL SIMPLESSO 7.4 IL METODO DEL SIMPLESSO In questo paragrafo sono riportati alcuni esercizi risolti sul metodo del simplesso. Alcuni sono risolti utilizzando la procedura di pivot per determinare,

Dettagli

a 11 a 12 a 1n a 21 a 22 a 2n a m1 a m2 a mn mentre le variabili decisionali sono rappresentate dal vettore colonna n-dimensionale x,

a 11 a 12 a 1n a 21 a 22 a 2n a m1 a m2 a mn mentre le variabili decisionali sono rappresentate dal vettore colonna n-dimensionale x, Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Appunti dal corso di Metodi e Modelli di Ottimizzazione Discreta 1 A.A. 2018-2019 Prof. Sara Nicoloso A seconda del tipo di variabili che

Dettagli

Geometria della programmazione lineare

Geometria della programmazione lineare Geometria della programmazione lineare poliedri punti estremi, vertici, soluzioni di base esistenza di punti estremi rif. Fi 3.1; BT 2.1, 2.2, 2.5 Iperpiani, semispazi Definizione Sia a un vettore non

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte II)

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte II) Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte II) Luigi De Giovanni Giacomo Zambelli 1 I passi dell algoritmo del simplesso L

Dettagli

Massimo flusso e matching

Massimo flusso e matching Capitolo Massimo flusso e matching. Problema del massimo matching. Nel problema del massimo matching è dato un grafo non orientato G(V, A); un matching in G è un insieme di archi M A tale che nessuna coppia

Dettagli

Introduzione ai Problemi di Flusso su Reti

Introduzione ai Problemi di Flusso su Reti UNIVERSI DI PIS IROCINIO ORMIVO IVO - I CICLO CLSSE DI BILIZIONE MEMIC PPLIC Introduzione ai Problemi di lusso su Reti Relatore: Prof. V. Georgiev.U: Prof. M. Berni Elisabetta lderighi R.O e Riforma della

Dettagli

2. ALGORITMO DEL SIMPLESSO

2. ALGORITMO DEL SIMPLESSO . ALGORITMO DEL SIMPLESSO R. Tadei Una piccola introduzione R. Tadei SIMPLESSO L obiettivo del capitolo è quello di fornire un algoritmo, l algoritmo del simplesso, che risolve qualsiasi problema di programmazione

Dettagli

Esercizi di ottimizzazione vincolata

Esercizi di ottimizzazione vincolata Esercizi di ottimizzazione vincolata A. Agnetis, P. Detti Esercizi svolti 1 Dato il seguente problema di ottimizzazione vincolata max x 1 + x 2 x 1 4x 2 3 x 1 + x 2 2 0 x 1 0 studiare l esistenza di punti

Dettagli

Le condizioni di Karush-Kuhn-Tucker

Le condizioni di Karush-Kuhn-Tucker Capitolo 9 Le condizioni di Karush-Kuhn-Tucker 9. Introduzione In questo capitolo deriveremo le condizioni necessarie di Karush-Kuhn-Tucker (KKT) per problemi vincolati in cui S è descritto da vincoli

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities

Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities L. De Giovanni M. Di Summa In questa lezione introdurremo una classe di disuguaglianze, dette cover inequalities, che permettono di

Dettagli

Analisi di Post-Ottimalità (Analisi della Sensitività della Soluzione)

Analisi di Post-Ottimalità (Analisi della Sensitività della Soluzione) Analisi di Post-Ottimalità (Analisi della Sensitività della Soluzione) Dato un problema di programmazione lineare maxc x Ax = b x e data la soluzione ottima x * e la base ottima associata B, determinare

Dettagli

Problemi di Ottimizzazione

Problemi di Ottimizzazione Problemi di Ottimizzazione Obiettivo: misura della qualità di una soluzione. Vincoli: condizioni che devono essere soddisfatte per ottenere una soluzione ammissibile. Problema di Ottimizzazione: determina

Dettagli

Programmazione lineare: basi e soluzioni di base

Programmazione lineare: basi e soluzioni di base Programmazione lineare:basi e soluzioni di base p. 1/33 Programmazione lineare: basi e soluzioni di base Mariantonia Cotronei Facoltà di Ingegneria Università degli Studi Mediterranea di Reggio Calabria

Dettagli

Esercizi sulla Programmazione Lineare. min. cx Ax b x 0

Esercizi sulla Programmazione Lineare. min. cx Ax b x 0 Soluzioni 4.-4. Fondamenti di Ricerca Operativa Prof. E. Amaldi Esercizi sulla Programmazione Lineare 4. Risoluzione grafica e forma standard. Si consideri il problema min x cx Ax b x dove x = (x, x )

Dettagli

1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44;

1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; 1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; c 24 = 15; c 25 = 12; c 34 = 32; c 35 = 55; c 45 = 24 Si calcoli l ottimo duale (formulazione

Dettagli

4.3 Esempio metodo del simplesso

4.3 Esempio metodo del simplesso 4.3 Esempio metodo del simplesso (P ) min -5x 4x 2 3x 3 s.v. 2x + 3x 2 + x 3 5 4x + x 2 + 2x 3 3x + 4x 2 + 2x 3 8 x, x 2, x 3 Per mettere il problema in forma standard si introducono le variabili di scarto

Dettagli

Il modello duale. Capitolo settimo. Introduzione

Il modello duale. Capitolo settimo. Introduzione Capitolo settimo Il modello duale Introduzione Il modello duale e la teoria della dualità assumono una grande importanza nella teoria della programmazione matematica. In questo testo i modelli primale

Dettagli

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)

Dettagli

ALGEBRA LINEARE PARTE III

ALGEBRA LINEARE PARTE III DIEM sez Matematica Finanziaria Università degli studi di Genova Dicembre 200 Indice PREMESSA 2 GENERALITA 2 RAPPRESENTAZIONE DI UN SISTEMA LINEARE IN FORMA MATRI- CIALE 2 3 SOLUZIONE DI SISTEMI LINEARI

Dettagli

Geometria della programmazione lineare

Geometria della programmazione lineare Geometria della programmazione lineare poliedri punti estremi, vertici, soluzioni di base esistenza di punti estremi rif. Fi 3.1; BT 2.1, 2.2, 2.5 Iperpiani, semispazi Definizione Sia a un vettore non

Dettagli

Programmazione Matematica: VI Estensioni dell algoritmo del Simplesso

Programmazione Matematica: VI Estensioni dell algoritmo del Simplesso Programmazione Matematica: VI Estensioni dell algoritmo del Simplesso Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev. 1.0 Aprile 2004 Algoritmo del Simplesso L algoritmo del Simplesso

Dettagli

RICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola: Appello straordinario //8 RICERCA OPERATIVA (a.a. 7/8) Nome: Cognome: Matricola: ) Si consideri il seguente problema di PL: max x + x x x x x x + x x Si applichi l algoritmo del Simplesso Duale, per via

Dettagli

LA PROGRAMMAZIONE MATEMATICA (p.m.)

LA PROGRAMMAZIONE MATEMATICA (p.m.) LA PROGRAMMAZIONE MATEMATICA (p.m.) Un problema di programmazione matematica è un problema di ottimizzazione riconducibile alla seguente espressione generale: ricercare i valori delle variabili x 1, x

Dettagli

Flusso a Costo Minimo

Flusso a Costo Minimo Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Flusso a Costo Minimo Docente: Renato Bruni bruni@dis.uniroma.it Corso di: Ottimizzazione Combinatoria Dal

Dettagli

Esercizi di Programmazione Lineare

Esercizi di Programmazione Lineare Esercizi di Programmazione Lineare 1 grafica Si consideri il seguente problema di programmazione lineare: max 3x 1 + 2x 2 s.t. + 2x 1 + x 2 4 2x 1 + x 2 2 + x 1 x 2 1 x 1, x 2 0 a) Risolvere il problema

Dettagli

Programmazione lineare

Programmazione lineare Capitolo 1 Programmazione lineare ESERCIZIO 1.1. Porre in forma canonica i seguenti programmi lineari. min 3x 1 + 4x 2 2x 3 x 1 + 2x 2 x 3 5 2x 1 + 4x 3 = 12 x 1 + x 2 + x 3 15 x 1, x 2 0, x 3 libera.

Dettagli

Note per il corso di Geometria Corso di laurea in Ing. Edile/Architettura. 4 Sistemi lineari. Metodo di eliminazione di Gauss Jordan

Note per il corso di Geometria Corso di laurea in Ing. Edile/Architettura. 4 Sistemi lineari. Metodo di eliminazione di Gauss Jordan Note per il corso di Geometria 2006-07 Corso di laurea in Ing. Edile/Architettura Sistemi lineari. Metodo di eliminazione di Gauss Jordan.1 Operazioni elementari Abbiamo visto che un sistema di m equazioni

Dettagli

TEORIA della DUALITÀ. Una piccola introduzione. Ricerca Operativa. Prof. R. Tadei. Politecnico di Torino. Teoria della Dualità / 1.

TEORIA della DUALITÀ. Una piccola introduzione. Ricerca Operativa. Prof. R. Tadei. Politecnico di Torino. Teoria della Dualità / 1. Prof. R. adei EORIA della DUALIÀ Una piccola introduzione R. adei 1 R. adei 2 EORIA DELLA DUALIA' Il concetto di dualità fu introdotto nel 1947 da Von Neumann, anche se il teorema della dualità fu formulato

Dettagli

Problemi di Flusso: Il modello del Trasporto

Problemi di Flusso: Il modello del Trasporto Problemi di Flusso: Il modello del rasporto Andrea Scozzari a.a. 2014-2015 April 27, 2015 Andrea Scozzari (a.a. 2014-2015) Problemi di Flusso: Il modello del rasporto April 27, 2015 1 / 25 Problemi su

Dettagli

Possibile applicazione

Possibile applicazione p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile

Dettagli

Ottimizzazione marginale

Ottimizzazione marginale Ottimizzazione marginale R. Pesenti Problema di faceness Formulazione del problema Il vostro supermercato deve disporre i prodotti A, B, C e D sugli scaffali 1, 2, e 3 ognuno di lunghezza 100 cm. Dato

Dettagli

Matrici unimodulari e totalmente unimodulari

Matrici unimodulari e totalmente unimodulari Matrici unimodulari e totalmente unimodulari Sia una matrice intera di dimensione con, si dice unimodulare se presa una qualsiasi sottomatrice di ordine massimo (di dimensione ) vale det = 1, +1, 0. Una

Dettagli

Esercizi svolti. delle matrici

Esercizi svolti. delle matrici Esercizi svolti. astratti. Si dica se l insieme delle coppie reali (x, y) soddisfacenti alla relazione x + y è un sottospazio vettoriale di R La risposta è sì, perchè l unica coppia reale che soddisfa

Dettagli

min det det Allora è unimodulare se e solo se det 1, 1, 0 per ogni sottomatrice quadrata di di qualsiasi dimensione.

min det det Allora è unimodulare se e solo se det 1, 1, 0 per ogni sottomatrice quadrata di di qualsiasi dimensione. Se è unimodulare e è intero allora il poliedro 0 ha vertici interi. Sia un vertice di Per definizione esiste allora una base di tale che, 0 Poiché è non singolare ( invertibile det 0) si ha che det 1 è

Dettagli

Prerequisiti didattici

Prerequisiti didattici Università degli Studi di Ferrara 2014-2015 Corso TFA - A048 Matematica applicata Didattica della matematica applicata all economia e alla finanza 1 aprile 2015 Appunti di didattica della matematica applicata

Dettagli

Domini di funzioni di due variabili. Determinare i domini delle seguenti funzioni di due variabili (le soluzioni sono alla fine del fascicolo):

Domini di funzioni di due variabili. Determinare i domini delle seguenti funzioni di due variabili (le soluzioni sono alla fine del fascicolo): UNIVERSITA DEGLI STUDI DI SALERNO C.d.L. in INGEGNERIA GESTIONALE Esercizi di Ricerca Operativa Prof. Saverio Salerno Corso tenuto nell anno solare 2009 I seguenti esercizi sono da ritenersi di preparazione

Dettagli

Appunti su Indipendenza Lineare di Vettori

Appunti su Indipendenza Lineare di Vettori Appunti su Indipendenza Lineare di Vettori Claudia Fassino a.a. Queste dispense, relative a una parte del corso di Matematica Computazionale (Laurea in Informatica), rappresentano solo un aiuto per lo

Dettagli

RICERCA OPERATIVA (a.a. 2008/09) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2008/09) Nome: Cognome: Matricola: o Appello /09/009 RICERCA OPERATIVA (a.a. 008/09) Nome: Cognome: Matricola: ) Si applichi l algoritmo di Kruskal per determinare un albero di copertura di costo minimo sul grafo in figura. Per ogni iterazione

Dettagli

Algoritmo del Simplesso

Algoritmo del Simplesso Algoritmo del Simplesso Renato Bruni bruni@dis.uniroma.it Univertà di Roma Sapienza Corso di Ricerca Operativa, Corso di Laurea Ingegneria dell Informazione Vertici e Punti Estremi di un Poliedro Un poliedro

Dettagli

Matematica Computazionale(6cfu) Ottimizzazione(8cfu) (a.a , lez.3)

Matematica Computazionale(6cfu) Ottimizzazione(8cfu) (a.a , lez.3) Docente: Marco Gaviano (e-mail:gaviano@unica.it) Corso di Laurea in Infomatica Corso di Laurea in Matematica Matematica Computazionale(6cfu) Ottimizzazione(8cfu) (a.a. 5-6 lez.) Matematica Computazionale

Dettagli

Geometria della programmazione lineare

Geometria della programmazione lineare Geometria della programmazione lineare poliedri punti estremi, vertici, soluzioni di base esistenza di punti estremi rif. Fi 3.1; BT 2.1, 2.2, 2.5 Iperpiani, semispazi, poliedri Sia a un vettore non nullo

Dettagli

4 Autovettori e autovalori

4 Autovettori e autovalori 4 Autovettori e autovalori 41 Cambiamenti di base Sia V uno spazio vettoriale tale che dim V n Si è visto in sezione 12 che uno spazio vettoriale ammette basi distinte, ma tutte con la medesima cardinalità

Dettagli

Ricerca Operativa a.a : IV appello

Ricerca Operativa a.a : IV appello Ricerca Operativa a.a. 2015-2016: IV appello (Prof. Fasano Giovanni) Università Ca Foscari Venezia - Sede di via Torino 5 settembre 2016 Regole per l esame: la violazione delle seguenti regole comporta

Dettagli

Algoritmi esatti. La teoria ci dice che per problemi difficili (come il

Algoritmi esatti. La teoria ci dice che per problemi difficili (come il p. 1/4 Algoritmi esatti La teoria ci dice che per problemi difficili (come il KNAPSACK o, ancora di più, il TSP ) i tempi di risoluzione delle istanze, calcolati tramite analisi worst-case, tendono a crescere

Dettagli

Esercizi proposti nel Cap. 6 - Soluzioni. Esercizio 6.1. Esercizio 6.2

Esercizi proposti nel Cap. 6 - Soluzioni. Esercizio 6.1. Esercizio 6.2 M. CARAMIA, S. GIORDANI, F. GUERRIERO, R. MUSMANNO, D. PACCIARELLI RICERCA OPERATIVA Isedi Esercizi proposti nel Cap. 6 - Soluzioni Esercizio 6.1 La soluzione ottima è il vertice 4 1, di valore 9, vedi

Dettagli

5.5 Programmazione quadratica (PQ)

5.5 Programmazione quadratica (PQ) 5.5 Programmazione quadratica (PQ Minimizzare una funzione quadratica soggetta a vincoli lineari: 1 min x t Qx + c t x 2 s.v. a t i x b i i D (P a t i x = b i i U x R n dove Q matrice n n, D e U sono gli

Dettagli