Università degli Studi di Padova Progetto Lauree scientifiche Buratto Alessandra Dipartimento Di...

Post on 01-May-2015

218 views 0 download

Transcript of Università degli Studi di Padova Progetto Lauree scientifiche Buratto Alessandra Dipartimento Di...

Università degli Studi di PadovaUniversità degli Studi di PadovaProgetto Lauree scientificheProgetto Lauree scientifiche

Buratto AlessandraBuratto Alessandra Dipartimento Di Matematica Pura Ed ApplicataDipartimento Di Matematica Pura Ed Applicata

Liceo Scientifico "L. da Vinci” TrevisoLiceo Scientifico "L. da Vinci” Treviso

Modelli di Modelli di Ottimizzazione su reteOttimizzazione su rete

Cammino minimoCammino minimo Minimo albero ricoprenteMinimo albero ricoprente Flusso massimoFlusso massimo Flusso di costo minimoFlusso di costo minimo Pianificazione di progettiPianificazione di progetti Trasporti (Ditta Zorzi – TV)Trasporti (Ditta Zorzi – TV) assegnamentoassegnamento

ProgrammaProgramma

Introduzione alla Teoria dei GrafiIntroduzione alla Teoria dei Grafi Formulazione del problema in termini Formulazione del problema in termini

di programmazione linearedi programmazione lineare Uso di Excel per la formulazione e la Uso di Excel per la formulazione e la

risoluzione dei problemirisoluzione dei problemi

Cammino minimo Cammino minimo Minimizzazione della distanza percorsaMinimizzazione della distanza percorsa Minimizzazione del costo totale di una Minimizzazione del costo totale di una

sequenza di attivitàsequenza di attività Minimizzazione del tempo totale per Minimizzazione del tempo totale per

svolgere una sequenza di attivitàsvolgere una sequenza di attività

• Cammino minimo da origine a destinazioneCammino minimo da origine a destinazione• Cammino minimo da origine a qualunque Cammino minimo da origine a qualunque

altro nodoaltro nodo• Cammino minimo da ogni nodo a qualunque Cammino minimo da ogni nodo a qualunque

altro nodo.altro nodo.

Cammino minimo a Seervada ParkCammino minimo a Seervada Park

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Algoritmo efficiente Algoritmo efficiente per Cammino minimoper Cammino minimo

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Nodi Nodi scelti scelti

connessiconnessi

Nodi Nodi candidaticandidati

Distanza Distanza tot (da O)tot (da O)

K-esimo K-esimo nodo nodo vicinovicino

Distanza Distanza minimaminima

Ultimo Ultimo arcoarco

O (A-B-C)O (A-B-C) AA 22

Algoritmo efficiente Algoritmo efficiente per Cammino minimoper Cammino minimo

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Nodi scelti Nodi scelti connessiconnessi

Nodi Nodi candidaticandidati

Distanza Distanza tot (da O)tot (da O)

K-esimo K-esimo nodo nodo vicinovicino

Distanza Distanza minimaminima

Ultimo Ultimo arcoarco

O (A-B-C)O (A-B-C) AA 22 AA 22 OAOA

Algoritmo efficiente Algoritmo efficiente per Cammino minimoper Cammino minimo

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Nodi scelti Nodi scelti connessiconnessi

Nodi Nodi candidaticandidati

Distanza Distanza tot (da O)tot (da O)

K-esimo K-esimo nodo nodo vicinovicino

Distanza Distanza minimaminima

Ultimo Ultimo arcoarco

O (B-C)O (B-C) CC 44

A (B-D)A (B-D) BB 2+2=2+2=44

Algoritmo efficiente Algoritmo efficiente per Cammino minimoper Cammino minimo

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Nodi scelti Nodi scelti connessiconnessi

Nodi Nodi candidaticandidati

Distanza Distanza tot (da O)tot (da O)

K-esimo K-esimo nodo nodo vicinovicino

Distanza Distanza minimaminima

Ultimo Ultimo arcoarco

O (B-C)O (B-C) CC 44 CC 44 OCOC

A (B-D)A (B-D) BB 2+2=2+2=44 BB 44 ABAB

Algoritmo efficiente Algoritmo efficiente per Cammino minimoper Cammino minimo

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Nodi scelti Nodi scelti connessiconnessi

Nodi Nodi candidaticandidati

Distanza Distanza tot (da O)tot (da O)

K-esimo K-esimo nodo nodo vicinovicino

Distanza Distanza minimaminima

Ultimo Ultimo arcoarco

A (D)A (D) DD 2+7=92+7=9

B (D-E)B (D-E) E E 4+3=4+3=77

C (E)C (E) EE 4+4=84+4=8

Algoritmo efficiente Algoritmo efficiente per Cammino minimoper Cammino minimo

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Nodi scelti Nodi scelti connessiconnessi

Nodi Nodi candidaticandidati

Distanza Distanza tot (da O)tot (da O)

K-esimo K-esimo nodo nodo vicinovicino

Distanza Distanza minimaminima

Ultimo Ultimo arcoarco

A (D)A (D) D D 2+7=92+7=9

B (D-E)B (D-E) E E 4+3=4+3=77 EE 77 BEBE

C (E)C (E) EE 4+4=84+4=8

Algoritmo efficiente Algoritmo efficiente per Cammino minimoper Cammino minimo

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Nodi scelti Nodi scelti connessiconnessi

Nodi Nodi candidaticandidati

Distanza Distanza tot (da O)tot (da O)

K-esimo K-esimo nodo nodo vicinovicino

Distanza Distanza minimaminima

Ultimo Ultimo arcoarco

A (D)A (D) D D 2+7=92+7=9

B (D)B (D) DD 4+4=4+4=88

E (D-T)E (D-T) DD 7+1=7+1=88

Algoritmo efficiente Algoritmo efficiente per Cammino minimoper Cammino minimo

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Nodi scelti Nodi scelti connessiconnessi

Nodi Nodi candidaticandidati

Distanza Distanza tot (da O)tot (da O)

K-esimo K-esimo nodo nodo vicinovicino

Distanza Distanza minimaminima

Ultimo Ultimo arcoarco

A (D)A (D) D D 2+7=92+7=9

B (D)B (D) D D 4+4=4+4=88 DD 88 BDBD

E (D-T)E (D-T) DD 7+1=7+1=88 DD 88 EDED

Algoritmo efficiente Algoritmo efficiente per Cammino minimoper Cammino minimo

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Nodi scelti Nodi scelti connessiconnessi

Nodi Nodi candidaticandidati

Distanza Distanza tot (da O)tot (da O)

K-esimo K-esimo nodo nodo vicinovicino

Distanza Distanza minimaminima

Ultimo Ultimo arcoarco

D (T)D (T) T T 8+5=8+5=1313

E (T)E (T) TT 7+7=147+7=14

Algoritmo efficiente Algoritmo efficiente per Cammino minimoper Cammino minimo

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Nodi scelti Nodi scelti connessiconnessi

Nodi Nodi candidaticandidati

Distanza Distanza tot (da O)tot (da O)

K-esimo K-esimo nodo nodo vicinovicino

Distanza Distanza minimaminima

Ultimo Ultimo arcoarco

D (T)D (T) T T 8+5=8+5=1313 TT 13 13 DT DT

E (T)E (T) TT 7+7=147+7=14

Cammini minimi a Seervada ParkCammini minimi a Seervada Park

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

O – A – B – D – TO – A – B – D – T O – A – B – E - D – TO – A – B – E - D – T

} Lughezza 13

Modello di programmazione Modello di programmazione matematicamatematica

Minimizzazione distanza percorsa:Minimizzazione distanza percorsa:• se percorro un arco tengo conto della sua se percorro un arco tengo conto della sua

lunghezza clunghezza cijij, se non lo percorro non ne tengo , se non lo percorro non ne tengo conto.conto.

VariabileVariabile

La distanza percorsa è data dalla sommatoria La distanza percorsa è data dalla sommatoria

.',1

,',0

ijarcolpercorrose

ijarcolpercorrononsexij

n

i

n

jijijxc

1 1

VincoliVincoli

Dal nodo ORIGINE esco e non vi entro più.Dal nodo ORIGINE esco e non vi entro più. Nel nodo DESTINAZIONE entro e non vi Nel nodo DESTINAZIONE entro e non vi

esco più.esco più. In ogni altro nodo se vi entro vi devo In ogni altro nodo se vi entro vi devo

anche uscire.anche uscire.

FLUSSO NETTO = FLUSSO NETTO = FLUSSO IN USCITA – FLUSSO IN ENTRATAFLUSSO IN USCITA – FLUSSO IN ENTRATA

n

j

n

iijij xx

1 1

VincoliVincoli

ORIGINE:ORIGINE:

FLUSSO NETTO = 1FLUSSO NETTO = 1

DESTINAZIONE: DESTINAZIONE: FLUSSO NETTO = -1FLUSSO NETTO = -1

Ogni altro nodo: Ogni altro nodo: FLUSSO NETTO = 0FLUSSO NETTO = 0

n

j

n

iiDDj xx

1 1

1

n

j

n

iijij xx

1 1

0

n

j

n

iiOOj xx

1 1

1

Cammino minimo (PL)Cammino minimo (PL)

.,1

,,0

,0

,1

,1..

min

11

11

11

1 1

percorsovieneijse

percorsovienenonijsex

xx

xx

xxas

xc

ij

n

iij

n

jij

n

iiD

n

jDj

n

iiO

n

jOj

n

i

n

jijij

Albero RicoprenteAlbero Ricoprente Albero (tree): sottografo connesso

aciclico

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Valore 24

Albero RicoprenteAlbero Ricoprente No Albero: sconnesso

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Albero RicoprenteAlbero Ricoprente No Albero: ciclico

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Minimo albero RicoprenteMinimo albero Ricoprente Progettazione di reti

Rete di comunicazioni (fibre ottiche – tv via cavo)

Rete di trasporto, min costi costruzione(strade – ferrovie)

Rete trasmissione elettrica alto voltaggio

Rete collegamenti elettrici (computer) min lunghezza collegamenti

Minimo albero RicoprenteMinimo albero Ricoprente

Albero di lunghezza minima (si parte da un nodo qualsiasi)

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Minimo albero RicoprenteMinimo albero Ricoprente

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Minimo albero RicoprenteMinimo albero Ricoprente

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Minimo albero RicoprenteMinimo albero Ricoprente

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Minimo albero RicoprenteMinimo albero Ricoprente

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Minimo albero RicoprenteMinimo albero Ricoprente

O

C

A

BD

E

T2

5

4

7

4

4

1 3 1

5

7

2

Valore 14

Flusso di costo minimoFlusso di costo minimo

Flusso attraverso rete con archi a Flusso attraverso rete con archi a capacità limitata (= max flusso)capacità limitata (= max flusso)

Costo associato ad ogni arco Costo associato ad ogni arco (= costo min)(= costo min)

Più nodi sorgentePiù nodi sorgente Più nodi destinazionePiù nodi destinazione

Flusso di costo minimoFlusso di costo minimo Rete orientata e connessaRete orientata e connessa Esiste almeno un nodo sorgenteEsiste almeno un nodo sorgente Esiste almeno un nodo destinazioneEsiste almeno un nodo destinazione Tutti gli altri nodi sono di trasferimentoTutti gli altri nodi sono di trasferimento

Flusso di costo minimoFlusso di costo minimo

Il flusso in ogni arco è ammesso solo in Il flusso in ogni arco è ammesso solo in una direzione (rete orientata) e nel una direzione (rete orientata) e nel rispetto dei vincoli di capacità (quantità rispetto dei vincoli di capacità (quantità max di flusso) di tale arco.max di flusso) di tale arco.

La rete ha abbastanza archi con capacità La rete ha abbastanza archi con capacità sufficiente perché il flusso generato dalla sufficiente perché il flusso generato dalla sorgenti arrivi alle destinazionisorgenti arrivi alle destinazioni

Il costo del flusso lungo un arco è Il costo del flusso lungo un arco è proporzionale alla qtà del flusso stessoproporzionale alla qtà del flusso stesso

Costi per unità do flusso notiCosti per unità do flusso noti

Flusso di costo minimoFlusso di costo minimo

Obiettivo:Obiettivo:• Minimizzare il costo totale per spedire il Minimizzare il costo totale per spedire il

flusso attrverso la rete così da flusso attrverso la rete così da soddisfare la domanda richiestasoddisfare la domanda richiesta

• Miassimizzare il profitto totale nimizzare Miassimizzare il profitto totale nimizzare il costo totale per spedire il flusso il costo totale per spedire il flusso attrverso la rete così da soddisfare la attrverso la rete così da soddisfare la domanda richiestadomanda richiesta

Flusso di costo minimo - ApplicazioniFlusso di costo minimo - Applicazioni

Tipo di Tipo di applicazioneapplicazione

Nodi Nodi sorgentesorgente

Nodi di Nodi di trasportotrasporto

Nodi Nodi destinazionedestinazione

Rete di Rete di distribuzionedistribuzione

Produttori di Produttori di benibeni

Servizi/magazzini Servizi/magazzini intermediintermedi

ClientiClienti

Smaltimento Smaltimento rifiuti solidirifiuti solidi

Produttori Produttori rifiutirifiuti

Impianti di Impianti di produzioneproduzione

discarichediscariche

Rete di serviziRete di servizi fornitorifornitori magazzini magazzini intermediintermedi

Impianti di Impianti di produzioneproduzione

Mix di Mix di produzioneproduzione

fabbrichefabbriche produzioneproduzione mercatomercato

Gestione flusso Gestione flusso di cassadi cassa

Sorgenti di Sorgenti di contantecontante

Opzioni di Opzioni di investimentoinvestimento

Bisogni di Bisogni di contantecontante

Flusso di costo minimo - Flusso di costo minimo - ApplicazioniApplicazioni

Rete di distribuzione aziendale: Rete di distribuzione aziendale: trasporti delle merci dalle fabbriche trasporti delle merci dalle fabbriche ai magazzini intermedi fino ai clientiai magazzini intermedi fino ai clienti

Formulazione del modelloFormulazione del modello

ento, trasferimdi nodo ogniper 0

ne,destinazio nodo ogniper 0

sorgente, nodo ogniper 0

nodo ilper esterno flusso

, arcodell' capacità

, arcol' lungo flusso di unitàper costo

:oni)(informazi Dati

, arcol' lungo flusso

:idecisional Variabili

i

i

i

b

ib

iju

ijc

ijx

i

i

ij

ij

ij

Flusso di costo minimo (PL)Flusso di costo minimo (PL)

.percorsovienese,1

,percorsovienenonse,0

, arco ogniper 0

, nodo ogniper ,..

min

11

1 1

ij

ijx

ijux

ibxxas

xc

ij

ijij

n

iiij

n

jij

n

i

n

jijij

Condizioni necessarie Condizioni necessarie

Condizione necessaria perché un Condizione necessaria perché un problema di flusso minimo abbia almeno problema di flusso minimo abbia almeno una soluzione ammissibile è cheuna soluzione ammissibile è che

n

iib

1

0

il flusso totale generato dai nodi sorgente il flusso totale generato dai nodi sorgente deve essere uguale al flusso totale deve essere uguale al flusso totale richiesto dai nodi destinazione.richiesto dai nodi destinazione.

Condizioni necessarie violateCondizioni necessarie violate

Se non è soddisfatta la condizione Se non è soddisfatta la condizione necessaria, allora:necessaria, allora:• o si aggiunge un nodo destinazione fittizio per o si aggiunge un nodo destinazione fittizio per

assorbire le disponibilità in eccesso (con cassorbire le disponibilità in eccesso (con cijij = 0 = 0 per gli archi aggiunti da ogni nodo sorgente per gli archi aggiunti da ogni nodo sorgente verso questo nodo)verso questo nodo)

• oppure si aggiunge un nodo sorgente fittizio oppure si aggiunge un nodo sorgente fittizio che generi il flusso necessio a soddisfare la che generi il flusso necessio a soddisfare la richiesta in eccesso (crichiesta in eccesso (cijij = 0 per gli archi = 0 per gli archi aggiunti da questo nodo sorgente verso ogni aggiunti da questo nodo sorgente verso ogni altro nodo destinazione)altro nodo destinazione)

Interezza della soluzione ottimaInterezza della soluzione ottimaPer un problema di flusso a costo Per un problema di flusso a costo minimo in cui minimo in cui bbii e u e uijij hanno valori interi, hanno valori interi, tutte le variabili di base di ogni tutte le variabili di base di ogni soluzione di base ammissibile (inclusa soluzione di base ammissibile (inclusa quella ottima) hanno valori interiquella ottima) hanno valori interi

Non serve mettere i vincoli di interezza al problema e neppure quelli di binarietà risoluzione efficiente con metodo del simplesso su rete.

Flusso di costo minimo (PL)Flusso di costo minimo (PL)

. arco ogniper 0

, nodo ogniper ,..

min

11

1 1

ijux

ibxxas

xc

ijij

n

iiij

n

jij

n

i

n

jijij

Esempio flusso di costo minimo Esempio flusso di costo minimo produzioneproduzione

B

A

C

D

E

2

3

CAD=9

4

1

32

b A =[50]

(uAB=10)

(uCE=80)

[-30]

[-60][40]

Flusso di costo minimo (PL)Flusso di costo minimo (PL)

.0,80,10

60

30

0

40

50..

23394min

ijCEAB

EDDECE

EDDEAD

CEBCAC

BCAB

ADACAB

EDDECEBCADACAB

xxx

xxx

xxx

xxx

xx

xxxas

xxxxxxxZ

Coefficienti flusso di costo minimoCoefficienti flusso di costo minimo

XX1111 XX1212 XX1313 XX1414 XX2121 XX2222 XX2323 XX2424 XX3131 XX3232 XX3333 XX3434 ……

11 11 11 11

11 11 11 11

AA 11 11 11 11

-1-1 -1-1 -1-1 ……

-1-1 -1-1 -1-1

-1-1 -1-1 -1-1

-1-1 -1-1 -1-1

TrasportiTrasporti La P&T COMPANY produce piselli in scatola La P&T COMPANY produce piselli in scatola

in 3 fabbriche (F1 – F2 – F3)in 3 fabbriche (F1 – F2 – F3) Una volta confezionati li spedisce via Una volta confezionati li spedisce via

camion a 4 magazzini di distribuzione (M1 camion a 4 magazzini di distribuzione (M1 – M2 – M3 – M4)– M2 – M3 – M4)

Il trasporto da ogni fabbrica ad ogni Il trasporto da ogni fabbrica ad ogni magazzino ha dei costi (da minimizzare)magazzino ha dei costi (da minimizzare)

Ogni fabbrica ha una propria capacità Ogni fabbrica ha una propria capacità produttivaproduttiva

Ogni magazzino richiede una data quantità Ogni magazzino richiede una data quantità di fornituradi fornitura

TrasportiTrasportiCostoCosto SpedSped ($) per($) per containercontainer CapacitàCapacità

magazzinomagazzino Produtt.Produtt.

M1M1 M2M2 M3M3 M4M4

F1F1 464464 513513 654654 867867 7575

F2F2 352352 416416 690690 791791 125125

F3F3 995995 682682 388388 685685 100100

AllocaAllocazionezione

8080 6565 7272 8585

Trasporti – P&T COMPANYTrasporti – P&T COMPANY

[-80]

[-65]

[-70]

[-85]

F2

F3

F1M1

M2

M4

M3

464

513654867

352

416690

791

995682

388

685

[75]

[125]

[100]

Trasporti (PL)Trasporti (PL)

ijij

n

ijij

i

n

jij

n

i

n

jijij

ux

nidx

misxas

xc

0

)4(4,,2,1per ,

)3(3,,2,1per ..

min

1

1

1 1

Trasporti (PL)Trasporti (PL)

XX1111 XX1212 XX1313 XX1414 XX2121 XX2222 XX2323 XX2424 XX3131 XX3232 XX3333 XX3434

11 11 11 11

11 11 11 11

AA 11 11 11 11

-1-1 -1-1 -1-1

-1-1 -1-1 -1-1

-1-1 -1-1 -1-1

-1-1 -1-1 -1-1