università degli studi di padova progetto lauree scientifiche buratto alessandra dipartimento di...
TRANSCRIPT
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