...

Tipi di problemi di programmazione lineare

by user

on
Category: Documents
18

views

Report

Comments

Transcript

Tipi di problemi di programmazione lineare
Formulazione di Problemi Decisionali
come Problemi di Programmazione
Lineare
Consideriamo i seguenti problemi decisionali ed
esaminiamo come possono essere formulati come
problemi di PL:
z Il problema del trasporto
z
Il problema del carico macchina
z
I problemi di ottimizzazione su rete
z
Il problema dell’assegnamento
z
Il problema del commesso viaggiatore
1
Il Problema dei Trasporti
z
m punti origine O1, O2, Om hanno la disponibilità di
p1,p2,…,pm quantità di un certo prodotto
z
n punti destinazione D1, D2, Dn richiedono q1,q2,
...,qn quantità di prodotto
z
il prodotto può essere trasportato da ogni fornitore
ad ogni destinatario
z
per ogni unità di prodotto trasportata dal fornitore i
al cliente j viene pagato un costo cij
2
Il problema: determinare quali quantità di prodotto
trasportare tra ogni coppia (i,j) di fornitoridestinatari in modo da minimizzare il costo
complessivo del trasporto.
q1
p1
M
M
p
c ij
i
M
p
m
M
q
j
q
n
3
Formulazione del problema.
Le variabili:
la quantità di prodotto trasportata su ciascun arco
xij ∈ R
i = 1,...,m; j = 1,..., n
sono variabili continue
La funzione obiettivo:
il costo del trasporto complessivo
m
n
∑ ∑ cij xij
i = 1 j =1
4
I vincoli:
z
la quantità totale di prodotto fornita da ciascun
fornitore non può superare la disponibilità del
fornitore stesso
n
∑x
ij
j =1
z
≤ pi
i = 1,..., m
la quantità totale di prodotto ricevuta da ciascun
destinatario deve essere uguale a quella richiesta
m
∑x
i =1
ij
≥ qj
j = 1,..., n
5
z
le quantità di prodotto trasportate sugli archi sono
sempre non negative
xij ≥ 0 i = 1,..,m; j = 1,..., n
z
(3)
Particolarità del problema:i coefficienti numerici
delle variabili sono tutti unitari
6
Il problema del
m n
min∑ ∑cijxij
trasporto
i=1
j=1
n
∑x ≤ p
i =1,...,m
(1)
∑x ≥q
j =1,...,n
(2)
xij ≥0
i =1,...,m; j =1,...,n (3)
j=1
ij
i
m
i=1
ij
j
z
E’ un problema di PL con variabili continue.
z
Può essere risolto con l’algoritmo del simplesso.
7
Forma bilanciata di un problema dei
trasporti
La forma bilanciata si ha quando la somma
delle richieste dei punti destinazione uguaglia
la somma delle disponibilità dei punti origine
D1
O1
O2
O3
D2
80
215
x12
x11
100
x21
108
x22
102
x31
2300
68
x32
1400
1000
1500
1200
8
Forma bilanciata di un problema dei
trasporti
La richiesta supera la disponibilità
D1
O1
O2
O3
Of
D2
80
215
x12
x11
100
x21
108
x22
102
x31
68
x32
cf1
xf1
2300
cf2
xf2
1400
900
1100
1200
500
Si introduce una origine fittizia con disponibilità
pari alla differenza tra richiesta e disponibilità
reali
9
Forma bilanciata di un problema dei
trasporti
Costo nullo
Costo del trasporto
tra origine fittizia e
destinazione reale
Costo di mancanza
dell’unità di prodotto
presso la
destinazione
Quantità spedita da origine fittizia ad ogni
destinazione: mancanza di prodotto presso la
destinazione
10
Forma bilanciata di un problema dei
trasporti
La disponibilità supera la richiesta
D2
D1
O1
O2
O3
80
215
x12
x11
100
x21
c1f
x1f
108
x22
102
x31
2000
Df
c2f
x2f
68
x32
1400
c3f
x3f
300
1000
1500
1200
Si introduce una destinazione fittizia con
richiesta pari alla differenza tra disponibilità e
richiesta reali
11
Forma bilanciata di un problema dei
trasporti
Costo nullo
Costo del trasporto
tra origine reale e
destinazione fittizia
Costo di stoccaggio
dell’unità di prodotto
presso l’origine
Quantità spedita da origine ad ogni
destinazione fittizia : eccesso di prodotto
presso l’origine
12
Possibili variazioni:
z
introduzione della massima capacità per gli archi;
z
non tutti i fornitori sono connessi a tutti i
destinatari;
z
il trasporto non avviene direttamente tra fornitore
e destinatario ma attraverso dei centri di raccolta
e distribuzione intermedi
13
Il Problema dei Trasbordi
•Problema dei trasporti: transito diretto dai punti
origine ai punti destinazione
•Problema dei trasbordi: ogni punto è in grado di
spedire e/o ricevere prodotto
B+1000
O1
O1
B+1500
O2
O2
B
B+1200
O3
O3
B
B
D1
D1
B+2300
B
D2
D2
B
B+1400
14
Il Problema dei Trasbordi
•Il passare dal problema dei trasporti al problema
dei trasbordi richiede l’incremento delle
disponibilità e delle richieste dei punti origine e
destinazione
B ≥ ∑i =1 pi = ∑ j =1 qi
m
n
15
Il Problema dei Trasbordi
O1
O1
O2
0
O3
130
D1
90
3700
0
3700
95
O3
80
215
100
108
102
68
1000
135
O2
D2
101
200
105
1300
0
3500
79
D1
99
1400
110
0
205
205
0
3700
200
D2
3700
107
3700
72
3700
6000
3700
5100
4700
2500
4900
3700
3700
per formulare il problema dei trasbordi occorre
definire i costi della movimentazione dai punti
destinazione ai punti origine del problema
originale
16
Il Problema dei Trasbordi
1000
1000
O1
D1
2300
1300
1500
O2
200
1200
O3
D2
1400
1400
17
Il Problema del carico macchina
lotti
macchine
1
2
m
1 q11
2 q21
q12
q22
q1m
q2 m
P1
P2
n qn1
qn 2
qnm
Pn
H1
H2
Hm
18
Il Problema del carico macchina
• È nota la produttività oraria del lotto i sulla
macchina j, pari a qij,
• Ogni lotto va prodotto in quantità nota pari a Pi
• Ogni macchina ha a disposizione un tempo per
effettuare le lavorazioni pari ad Hj
• Va determinato il piano di produzione per
realizzare le quantità stabilite dei lotti di
produzione sulle macchine disponibili
19
Il Problema del carico macchina
• Variabile del problema: tij tempo cha la
macchina j dedica alla lavorazione del lotto i
min ∑i =1
n
m
∑q
j =1
∑t
i =1
⋅ tij ≥ Pi
ij
n
ij
∑
≤ Hj
tij ≥ 0
m
t
j =1 ij
i = 1,2, K , n
j = 1,2, K , m
∀i, j
20
Il Problema del carico macchina
lotti
macchine
1
2
m
1 h11
2 h21
h12
h22
h1m
h2 m
n hn1
hn 2
hnm
H1
H2
Hm
21
Il Problema del carico macchina
• È nota il tempo complessivo hij per la
realizzazione del loto i sulla macchina j,
• Ogni lotto va prodotto interamente du una sola
macchina
• Ogni macchina ha a disposizione un tempo per
effettuare le lavorazioni pari ad Hj
• Va determinato il piano di produzione per
realizzare tutti i lotti di produzione sulle macchine
disponibili
22
Il Problema del carico macchina
• Variabile del problema: xij variabile binaria
(0;1) che indica se il lotto i viene o meno
prodotto sulla macchina j
min ∑i =1
n
m
∑x
j =1
ij
n
∑x
i =1
ij
∑
=1
m
i = 1,2, K , n
⋅ hij ≤ H j
xij binaria
x ⋅ hij
j =1 ij
j = 1,2, K , m
∀i, j
23
Il Problema dell’assegnamento
Un numero n di attività vanno svolte utilizzando n
risorse per la loro esecuzione
z
È noto il costo di esecuzione dell’attività i da parte
della risorsa j
z
z
Tutte le attività vanno svolte
Ogni risorsa è utilizzabile per l’esecuzione di una
sola attività
z
24
Il Problema dell’assegnamento
attività
risorse
1
2
n
1 c11
c12
c1m
1
2 c21
c22
c2 m
1
n cn1 cn 2
cnn
1
1
1
1
25
Il Problema dell’assegnamento
• Variabile del problema: xij variabile binaria
(0;1) che indica se l’attività i viene o meno
svolta dalla risorsa j
min ∑i =1
n
n
∑x
j =1
ij
n
∑x
i =1
ij
∑
=1
=1
xij binaria
n
x ⋅ cij
j =1 ij
i = 1,2,K , n
j = 1,2, K, n
∀i, j
26
I Problemi di ottimizzazione su rete
z
Il problema del percorso minimo
Va ricercato il percorso minimo per collegare un
punto origine ed un punto destinazione all’interno di
una rete
Presso il nodo iniziale vi è una disponibilità unitaria
I costi sono rappresentati dalla lunghezza degli archi
che collegano i diversi nodi
27
I Problemi di ottimizzazione su rete
z
Il problema del percorso minimo
La variabile xij del problema è di tipo binario ed
indica se l’arco di lunghezza dij che collega il nodo j
al nodo j verrà percorso
Ogni variabile corrisponde ad un arco
Ogni vincolo corrisponde ad un nodo
28
I Problemi di ottimizzazione su rete
z
Il problema del percorso minimo
min ∑
i, j
∑x
i≠ j
ij
∑x
=1
∑x
= ∑ xkj
1j
⋅ d ij
nodo origine
j
ik
i
∑x
nodi intermedi
j
jN
=1
nodo finale
j
xij binaria
∀i, j
29
I Problemi di ottimizzazione su rete
z
Il problema del percorso minimo
2
1
5
4
3
7
6
Nodo 1
x12 + x13 + x14 = 1
Nodo 4
x14 + x24 + x34 = x45 + x46
Nodo 7
x57 + x67 = 1
30
I Problemi di ottimizzazione su rete
2
Nodi destinazione
5
5
8
11
9
0
3
2
1
6
7
1
1
2
Nodi origine
3
5
1
0+B
1
4
3
0
2
0+B
1
9
4
0
2
23
7
9
1
0
5
1
8
6
0+B
3
0+B
5
0+B
1
1
0+B
0
0+B
10
0+B
0+B
0+B
1
B=1
31
I Problemi di ottimizzazione su rete
32
I Problemi di ottimizzazione su rete
z
Il problema del massimo flusso
Un nodo origine ed un nodo destinazione sono
collegati da una rete di archi unidirezionali,
caratterizzati da una capacità di flusso massima
L’obiettivo del problema consiste nella ricerca del
valore massimo del flusso dal nodo origine verso i
nodi destinazione
33
I Problemi di ottimizzazione su rete
z
Il problema del massimo flusso
1
7
4
0
2
9
6
5
8
3
Sorgente
Raffinerie
Stazioni di pompaggio
Terminali
Deposito
34
I Problemi di ottimizzazione su rete
z
Il problema del percorso minimo
La variabile Y del problema è il flusso che percorre la
rete dal nodo iniziale al nodo terminale della stessa
maz Z = Y
∑x
=Y
∑x
= ∑ xkj
1j
nodo origine
j
ik
i
∑x
nodi intermedi
j
jN
=Y
nodo finale
j
0 ≤ xij ≤ uij
∀i, j
35
Il Problema del commesso viaggiatore
• Sia dato un grafo formato da n vertici e da m
archi
• Il problema del commesso viaggiatore
consiste nel trovare il circuito a costo minimo
all’interno del grafo che a partire da un nodo
iniziale passi per tutti i nodi una sola volta
ritornando al nodo iniziale
• Sono noti i costi di percorrenza degli archi
• La variabile del problema di tipo binario
indica se un arco vada o meno percorso
36
Il Problema del commesso viaggiatore
• Variabile del problema: xij variabile binaria
(0;1) che indica se viene percorso l’arco che
collega il nodo i al nodo j
min ∑i =1
n
n
∑x
j =1
ij
n
∑x
i =1
ij
∑
=1
=1
xij binaria
n
j =1, j ≠ i
xij ⋅ cij
1
i = 1,2, K , n
j = 1,2, K , m
2
5
4
3
∀i, j
37
Il Problema del commesso viaggiatore
• Vincoli relativi alla condizione che a/da ogni
nodo si arrivi/si parta da/verso un solo nodo
• Vincoli relativi alla
presenza di sotto cicli
1
1
2
5
2
5
4
3
4
3
38
Un algoritmo risolutivo per il
problema del commesso viaggiatore
•La complessità del problema aumenta
all’aumentare delle dimensioni del grafo
(numero dei nodi)
•Esistono algoritmi risolutivi che forniscono
soluzioni “buone” (ma non ottime) con
ridotta complessità computazionale
•Algoritmo “closest insertion candidate”
39
Un algoritmo risolutivo per il
problema del commesso viaggiatore
•Se la matrice dei costi è simmetrica
(cik=cki) e se è soddisfatta la condizione di
triangolarità (cik ≤cil +clk) l’algoritmo
produce un valore della soluzione obiettivo
non superiore a due volte il valore ottimo
•Qualora le condizioni non fossero
rispettate si può applicare l’algoritmo più
volte a partire da nodi iniziali differenti
40
Un algoritmo risolutivo per il
problema del commesso viaggiatore
1
1M
2 10
3
3
4
4
5 20
6 12
2
3
4
5
6
10
3
4 20 12
M
8 15
4
7
8M
25 15
9
15 25 M
17
6
4 15 17 M
9
7
9
6
9M
Passo 2:inserimento de nodo J*, aggiornamento di c(J)
e dell'insieme Sa
si ricerchi il nodo i* Sp tale che, indicando con [i] il nodo
nella posizione i-esima nella sequenza parziale, si abbia
{C
Descrizione dell'algoritmo "closest insertion"
i∗ = min
Passo 0: inizializzazione
k =1
Sp = {1} Sa = {2,3,...,n}
[ i ]∈S p
i, J∗
+ C J∗ ,[i +1] − C [ i ],[i +1]
}
Per J=2,3,…,n si ponga c(J)=1
si aggiorni la sequenza
Passo 1:scelta del nuovo nodo
∀ J ∈ S a se min C J , J∗ , C J∗ , J < C J, c ( J )
J
∗
{C
= m in
J∈ S
e si p o n ga
J ,c ( J )
a
k = k + 1
S p = {S1 ,..., i∗ , J ∗ , i∗ + 1,...}
;C
c ( J ), j
}
{
}
si ponga c(J) = J∗
se k < N si ritorni al passo 2
41
Fly UP