A
UNIVERSITÀ DEGLI STUDI ROMA TRE
Corso di Studi in Ingegneria Informatica
Ricerca Operativa 1 – Primo appello
23 novembre 2006
SOLUZIONI
Esercizio 1
Una mensa offre un menù con 2 scelte di primi (risotto alla pescatora e spaghetti al tonno) e 2
secondi (pomodori ripieni e seppie al tegame). Una porzione di risotto richiede 60 gr di riso, 10 gr
di seppie e 10 gr di olio, una porzione di spaghetti richiede 60 gr di pasta, 16 gr di tonno sgocciolato
e 4 gr di olio. Una porzione di pomodori ripieni richiede 120 gr di pomodori , 80 gr di tonno
sgocciolato e 5 gr di olio, mentre una porzione di seppie richiede 80 gr di seppie, 40 gr di pomodori
e 10 gr di olio. Tutti gli ingredienti si possono acquistare sul mercato al prezzo in tabella (in €/kg),
ma il tonno è venduto in confezioni che contengono l’80% di tonno e il 20% di olio, per cui
considerate il costo di 1 kg di tonno sgocciolato pari a 6,25€, con un residuo di 250 gr di olio
(gratuito) che può essere riciclato risparmiando sull’acquisto di olio in bottiglia. In un giorno dovete
offrire 100 primi e 100 secondi, suddivisi anche in quote disuguali tra le 2 scelte.
Ingrediente
Spaghetti
Riso
Pomodori
Tonno sott’olio
Seppie
Olio in bottiglia
Costo (€/kg)
1
1
1
5
6
6
1. Formulare come problema di PL il problema di definire il numero di porzioni da produrre che
minimizzi il costo degli ingredienti necessari.
2. Un’ipotesi è di produrre 40 porzioni di seppie e 50 di risotto. Dimostrare o confutare l’esistenza
di una soluzione ottima con queste caratteristiche.
Soluzione
Il problema è una variante del classico problema di miscelazione in cui si vogliono miscelare 4
sostanze (due primi e due secondi) in modo che la miscela soddisfi 2 caratteristiche (100 primi e
100 secondi). Le variabili saranno quindi legate alle quantità di sostanze nella miscela, cioè al
numero di porzioni da produrre per ogni pietanza:
x1 = numero di porzioni di risotto alla pescatora
x2 = numero di porzioni di spaghetti al tonno
x3 = numero di porzioni di pomodori ripieni
x4 = numero di porzioni di seppie al tegame
I vincoli del problema di miscelazione sono legati alle caratteristiche della miscela. Il costo delle
pietanze influisce sulla funzione obiettivo e va minimizzato: 12 centesimi a porzione per il risotto,
16 per gli spaghetti, 62 per i pomodori ripieni e 52 per le seppie al tegame. L’unica risorsa di cui
non è noto a priori il costo è l’olio, che può essere acquistato a 6 €/kg oppure è disponibile
gratuitamente (in quantità limitata) come sottoprodotto del tonno sgocciolato. Sarà utile quindi
associare ad ogni prodotto il costo dei materiali certi (tutti tranne l’olio) e associare un’ulteriore
variabile al costo complessivo in olio d’oliva in bottiglia:
x5 = grammi da acquistare di olio in bottiglia
Un vincolo dovrà tenere conto dell’olio consumato (10x1+4x2+5x3+10x4), che deve essere minore o
uguale alla disponibilità, pari all’olio acquistato più quello ottenuto come residuo del tonno (4 gr
per ogni porzione si spaghetti e 20 per ogni porzione di pomodori ripieni), cioè x5+4x2+20x3.
Esprimendo la funzione obiettivo in centesimi spesi, complessivamente si ha:
min 12 x1 + 16 x 2 + 62 x3 + 52 x 4 + 0,6 x5
min 12 x1 + 16 x 2 + 62 x3 + 52 x 4 + 0,6 x5
1.
2.
10x 1 + 4x 2 + 5x 3 + 10x 4 ≤ x 5 + 4x 2 + 20x 3 10x 1 − 15x 3 + 10x 4 − x 5 ≤ 0
x + x = 100
⇒
 1
x 1 + x 2 = 100
2


x 3 + x 4 = 100
x 3 + x 4 = 100
x ≥ 0
x ≥ 0
L’ipotesi suggerita al punto 2 fissa il valore delle prime 4 variabili: x 4 = 40 ,
x 1 = 50 , x 2 = 50 , x 3 = 60 . Si vuole sapere se esiste una soluzione ottima con queste
caratteristiche. Allo scopo si utilizzano le condizioni di ortogonalità. Il duale è:
max 100u 2 + 100u 3
10u1 + u 2 ≤ 12
u ≤ 16
 2
− 15u1 + u 3 ≤ 62

10u1 + u 3 ≤ 52
− u ≤ 0,6
 1
u1 ≤ 0

u 2 , u 3 libere
Si ottengono le condizioni di ortogonalità:
u1 (10x 1 − 15x 3 + 10x 4 − x 5 ) = 0
u (x + x − 100) = 0
2
 2 1
u 3 (x 3 + x 4 − 100) = 0

x 1 (10u1 + u 2 − 12) = 0

x 2 (u 2 − 16) = 0
x 3 (−15u1 + u 3 − 62) = 0

x 4 (10u1 + u 3 − 52) = 0
x (−u − 0,6) = 0
1
 5
Sostituendo x 4 = 40 , x 1 = 50 , x 2 = 50 , x 3 = 60 si ottiene:
u1 (500 − 900 + 400 − x 5 ) = 0
10u + u = 12
2
 1
u 2 = 16
⇒

−
15
u
+
u
=
62
1
3

10u1 + u 3 = 52

x 5 (−u1 − 0,6) = 0
u1 (500 − 900 + 400 − x 5 ) = 0
u = −0,4
 1
u 2 = 16

u1 = −0,4
u 3 = 56

x 5 (−u1 − 0,6) = 0 ⇒ x 5 = 0
Poiché le soluzioni x e u sono ammissibili (primale e duale rispett.), sono anche ottime.
Esercizio 2
È dato il problema di PL in figura.
1. Portare il problema in forma standard.
2. Utilizzando l’algoritmo del simplesso (fase
1 e fase 2) trovare una soluzione ottima del
problema o dimostrare che il problema è
impossibile o illimitato inferiormente.
Applicare la regola di Bland.
Soluzione
max 3 x 2 + 2 x3
3 x1 − x 2 − x3 + 2 x 4 = 12
 x − 3x + x + 2 x = 8
 1
2
3
4

x
−
x
+
x
=
5
2
4
 1
x ≥ 0

Per portare il problema in forma standard è sufficiente cambiare segno alla funzione obiettivo. Per
impostare il problema artificiale è necessario aggiungere 3 variabili artificiali (come in figura).
min x5 + x6 + x7
3 x1 − x 2 − x3 + 2 x 4 + x5 = 12

 x1 − 3 x 2 + x3 + 2 x 4 + x 6 = 8

+ x 4 + x7 = 5
 x1 − x 2
x ≥ 0

La base iniziale è quindi B = [ A5 A6 A7 ] . Al primo pivot entra A1 ed esce A5. Al secondo pivot entra
A3 ed esce A6. Fine della fase 1, per iniziare la fase 2 è necessario far uscire l'ultima variabile
artificiale. Poiché sia A2 che A4 hanno il terzo elemento pari a zero, si conclude che il terzo vincolo
del problema è combinazione lineare degli altri 2, si cancella pertanto il terzo vincolo dal problema,
nonché la terza riga e la terza colonna della matrice CARRY.
Il vettore u viene aggiornato e si ha:
uT=(1/2 -3/2).
Analogamente: z = -6.
Al successivo pivot entra A2 e si ha d esce A1+ , quindi entra A1− ed esce A3. La base trovata risulta
−1 
ottima, la soluzione ottima è: A2 =   . Il problema è illimitato inferiormente
 − 2
Esercizio 3
In tabella sono riportati gli archi di un grafo con 6 nodi, e sono dati i valori di capacità degli archi
ed un flusso ammissibile. A partire dal flusso dato trovare il massimo flusso inviabile dal nodo 1 al
nodo 8 con l’algoritmo di Ford e Fulkerson. Individuare il taglio di capacità minima nel grafo.
Archi
(1,2) (1,4) (2,3) (2,8) (3,5) (4,3) (4,5) (4,6) (5,8) (6,5) (6,7) (7,5)
Capacità 10
30
10
6
11
2
18
12
35
4
1
8
Flussi
10
0
10
0
10
0
0
0
10
0
0
0
Soluzione
Il flusso iniziale circolante nella rete è pari a 10. I cammini aumentanti individuati dall’algoritmo di
Ford-Fulkerson sono:
1,4,5,8 con flusso 18
1,4,6,5,8 con flusso 4
1,4,6,7,5,8 con flusso 1
1,4,3,2,8 con flusso 2
Il taglio di costo minimo comprende i nodi 1, 4 e 6 con capacità pari a 35.
.
B
UNIVERSITÀ DEGLI STUDI ROMA TRE
Corso di Studi in Ingegneria Informatica
Ricerca Operativa 1 – Primo appello
23 novembre 2006
SOLUZIONI
Esercizio 1
Dovete pianificare la produzione su una macchina di uno stabilimento industriale. Sapendo che la
macchina è in grado di produrre un pezzo l’ora, e che il turno lavorativo è composto da 6 ore,
dovete decidere l’ordine di produzione dei sei pezzi in tabella.
Ogni pezzo è caratterizzato da un’ora di rilascio che indica l’ora a partire dalla quale il pezzo è
disponibile per essere lavorato, un’ora di consegna che indica entro che ora il pezzo può essere
consegnato senza pagare una penale, e da un valore di penale che indica il costo da pagare per ogni
ora di ritardo con cui un pezzo viene consegnato. Formulare (senza risolvere) il problema di
minimizzare i costi di penale come un problema su un grafo opportuno.
Pezzo
A
B
C
D
E
F
Rilascio
1
1
2
2
3
4
Consegna
2
3
3
4
5
5
Penale
10
3
5
7
2
8
Soluzione
Per formulare il problema si può ricorrere ad un grafo bipartito in cui 6 nodi indicheranno i pezzi A,
B, …, F, mentre altri sei nodi indicheranno le 6 ore a disposizione per lavorare i pezzi. Il peso degli
archi sarà dato dal costo della penale che bisogna pagare per produrre il pezzo nell’ora. Il problema
risultante sarà un problema di flusso a costo minimo, dove tutti i nodi “pezzo” generano una unità di
flusso, e tutti i nodi “ora” assorbono una unità di flusso.
Il grafo sarà composto dai seguenti archi:
(A,1) : 0
(A,2) : 0
(A,3) : 10
(A,4) : 20
(A,5) : 30
(A,6) : 40
(B,1) : 0
(B,2) : 0
(B,3) : 0
(B,4) : 3
(B,5) : 6
(B,6) : 9
(C,2) : 0
(C,3) : 0
(C,4) : 5
(C,5) : 10
(C,6) : 15
(D,2) : 0
(D,3) : 0
(D,4) : 0
(D,5) : 7
(D,6) : 14
(E,3) : 0
(E,4) : 0
(E,5) : 0
(E,6) : 2
(F,4) : 0
(F,5) : 0
(F,6) : 8
Esercizio 2
In tabella sono riportati i costi unitari degli archi di una rete di flusso con 6 nodi 1…6 ed un flusso
ammissibile iniziale. A partire dal flusso iniziale dato, e utilizzando la fase 2 del simplesso su reti,
determinare il flusso di costo minimo, o dimostrare che il problema è illimitato inferiormente. Se
necessario si aggiunga per completare la base iniziale un arco che collega il nodo di transito con il
nodo pozzo.
Archi (1,2) (1,5) (2,3) (3,4) (4,1) (4,6) (5,3) (6,3)
Costi
0
6
-1
2
-2
2
2
4
Flusso 0
5
0
0
0
1
5
1
Soluzione
L’algoritmo del simplesso su reti procede come segue. Il nodo 2 essendo un nodo di transito va
collegato con l’albero ricoprente, ad esempio utilizzando l’arco (2,3).
Nella prima iterazione entrerà in base l’arco (1,2), e provocherà l’uscita dell’arco (1,5), il flusso
circolante nel ciclo è 5.
Nella seconda iterazione entrerà in base l’arco (4,1), e provocherà l’uscita dell’arco (4,6) il flusso
circolante nel ciclo è 1.
Nella terza iterazione entrerà in base l’arco (3,4), e provocherà un ciclo formato da soli archi
concordi. Il problema risulta essere illimitato inferiormente.
Esercizio 3
Dato il problema di PL (primale) in figura,
1. risolvere il problema con il metodo grafico ed impostare il problema duale;
2. se il primale ammette una soluzione ottima, dalla soluzione ottima del primale ricavare la
soluzione ottima del duale con le condizioni di ortogonalità. Se il primale non ammette una
soluzione ottima, risolvere il problema duale con il metodo del simplesso.
min 2 x1 + 3 x 2
− x1 + x 2 ≥ 2

 x1 − 2 x 2 ≥ 3
x ≥ 0

Soluzione
Il problema primale risulta impossibile.
x2
2
3
x1
max 2u1 + 3u 2
 − u1 + u 2 ≤ 2
Problema duale: 
In forma standard:
u1 − 2u 2 ≤ 3
u ≥ 0

min − 2u1 − 3u 2
 − u1 + u 2 + u 3 = 2

u1 − 2u 2 + u 4 = 3
u ≥ 0

Prendendo come base iniziale B = [ A3 A4 ] si può iniziare direttamente la fase 2. Al primo pivot
entra A1 ed esce A4. Al secondo pivot entra A2 e il problema risulta illimitato inferiormente.
C
UNIVERSITÀ DEGLI STUDI ROMA TRE
Corso di Studi in Ingegneria Informatica
Ricerca Operativa 1 – Primo appello
23 novembre 2006
SOLUZIONI
Esercizio 1
Una mensa offre un menù con 2 scelte di primi (risotto alla boscaiola e lasagne in bianco) e 2
secondi (involtini e polpette). Una porzione di risotto richiede 60 gr di riso, 3 gr di funghi secchi e
20 gr di carne tritata, una porzione di lasagne richiede 60 gr di pasta, 25 gr di besciamella e 15 gr di
carne tritata. Una porzione di involtini richiede 80 gr di carne magra, 20 gr di pomodori e 2 gr di
funghi secchi, mentre una porzione di polpette richiede 80 gr di carne tritata, 30 gr di pomodori e 4
gr di funghi secchi. Tutti gli ingredienti si possono acquistare sul mercato al prezzo in tabella (in
€/kg), ma 1 kg di carne corrisponde a 800 gr di carne magra e 200 gr di ritagli, per cui considerate il
costo di 1 kg di carne magra pari a 10€, con un residuo di 250 gr di ritagli (gratuiti). La carne tritata
può essere ottenuta in parte con carne da 8€/kg e in parte utilizzando i ritagli avanzati dagli
involtini. In un giorno dovete offrire 100 primi e 100 secondi, suddivisi anche in quote disuguali tra
le 2 scelte.
Ingrediente
Pasta
Riso
Pomodori
Carne
Funghi secchi
Besciamella
Costo (€/kg)
1
1
1
8
50
4
1. Formulare come problema di PL il problema di definire il numero di porzioni da produrre
che minimizzi il costo degli ingredienti necessari.
2. Un’ipotesi è di produrre 30 porzioni di lasagne e 40 di involtini. Dimostrare o confutare
l’esistenza di una soluzione ottima con queste caratteristiche.
Soluzione
Il problema è una variante del classico problema di miscelazione in cui si vogliono miscelare 4
sostanze (due primi e due secondi) in modo che la miscela soddisfi 2 caratteristiche (100 primi e
100 secondi). Le variabili saranno quindi legate alle quantità di sostanze nella miscela, cioè al
numero di porzioni da produrre per ogni pietanza:
x1 = numero di porzioni di risotto alla boscaiola
x2 = numero di porzioni di lasagne in bianco
x3 = numero di porzioni di involtini
x4 = numero di porzioni di polpette
I vincoli del problema di miscelazione sono legati alle caratteristiche della miscela. Il costo delle
pietanze influisce sulla funzione obiettivo e va minimizzato: 21 centesimi a porzione per il risotto,
16 per le lasagne, 92 per gli involtini e 23 per le polpette). L’unico ingrediente di cui non è noto a
priori il costo è la carne tritata, che può essere acquistata a 8 €/kg oppure è disponibile
gratuitamente (in quantità limitata) dai ritagli come sottoprodotto degli involtini. Sarà utile quindi
associare ad ogni prodotto il costo dei materiali certi (tutti tranne la carne tritata) e associare
un’ulteriore variabile al costo complessivo della carne tritata:
x5 = grammi da acquistare di carne per produrre carne tritata
Un vincolo dovrà tenere conto della carne tritata consumata (in grammi: 20x1+15x2+80x4), che
deve essere minore o uguale alla disponibilità, pari a quella acquistata più quella ottenuto come dai
ritagli degli involtini (20 gr per ogni porzione), cioè x5+20x3.
Esprimendo la funzione obiettivo in centesimi spesi, complessivamente si ha:
min 21x1 + 16 x 2 + 92 x3 + 23 x 4 + 0,8 x5 min 21x1 + 16 x 2 + 92 x3 + 23 x 4 + 0,8 x5
1.
2.
20x 1 + 15x 2 + 80x 4 ≤ x 5 + 20x 3
x + x = 100
 1
2

x 3 + x 4 = 100
x ≥ 0
20x 1 + 15x 2 − 20x 3 + 80x 4 − x 5 ≤ 0
⇒ 
x 1 + x 2 = 100

x 3 + x 4 = 100
x ≥ 0
L’ipotesi suggerita al punto 2 fissa il valore delle prime 4 variabili: x 2 = 30 ,
x 3 = 40 , x 4 = 60 , x 1 = 70 . Si vuole sapere se esiste una soluzione ottima con queste
caratteristiche. Allo scopo si utilizzano le condizioni di ortogonalità. Il duale è:
max 100u 2 + 100u 3
20u1 + u 2 ≤ 21
15u + u ≤ 16
2
 1
− 20u1 + u 3 ≤ 92

80u1 + u 3 ≤ 23
− u ≤ 0,8
 1
u1 ≤ 0

u 2 , u 3 libere
Si ottengono le condizioni di ortogonalità:
u1 (20x 1 + 15x 2 − 20x 3 + 80x 4 − x 5 ) = 0
u (x + x − 100) = 0
2
 2 1
u 3 (x 3 + x 4 − 100) = 0

x 1 (20u1 + u 2 − 21) = 0

x 2 (15u1 + u 2 − 16) = 0
x 3 (−20u1 + u 3 − 92) = 0

x 4 (80u1 + u 3 − 23) = 0
x (−u − 0,8) = 0
1
 5
Sostituendo x 2 = 30 , x 3 = 40 , x 4 = 60 , x 1 = 70 si ottiene:
u1 (1400 + 450 - 800 + 4800 − x 5 ) = 0
20u + u = 21
2
 1
15u1 + u 2 = 16
⇒

− 20u1 + u 3 = 92
80u1 + u 3 = 23

x 5 (−u1 − 0,8) = 0
u1 (500 − 900 + 400 − x 5 ) = 0
u = 1
 1
u 2 = 1

u 3 = 112
u 3 = −57

x 5 (−u1 − 0,8) = 0
Poiché il sistema non è compatibile l’ipotesi di cui al punto 2 è confutata.
Esercizio 2
In tabella sono riportati gli archi di un grafo con 8 nodi, e sono dati i valori di capacità degli archi
ed un flusso ammissibile. A partire dal flusso dato trovare il massimo flusso inviabile dal nodo 1 al
nodo 8 con l’algoritmo di Ford e Fulkerson. Individuare il taglio di capacità minima nel grafo.
Archi
(1,2) (1,3) (2,4) (2,6) (3,5) (3,7) (4,3) (4,8) (5,8) (6,8) (7,5)
Capacità 15
7
10
4
8
2
8
6
14
7
7
Flussi
8
0
8
0
8
0
8
0
8
0
0
Soluzione
Il flusso iniziale circolante nella rete è pari a 8. I cammini aumentanti individuati dall’algoritmo di
Ford-Fulkerson sono:
1,2,4,8 con flusso 2
1,2,6,8 con flusso 4
1,3,4,8 con flusso 4
1,3,7,5,8 con flusso 2
Il taglio di costo minimo comprende i nodi 1, 2, 3 e 4 con capacità pari a 20.
Esercizio 3
È dato il problema di PL in figura.
1. Portare il problema in forma standard.
2. Utilizzando l’algoritmo del simplesso (fase 1 e fase 2) trovare una soluzione ottima del
problema o dimostrare che il problema è impossibile o illimitato inferiormente. Applicare la
regola di Bland.
max 3 x1 + 2 x3
 x1 + x 2 + x3 = 6
 − x + x ≥ −2
 1
3

− 2 x1 + x3 ≤ 3
 x1 libera x 2 ≥ 0 x3 ≥ 0
Soluzione
Portando il problema in forma standard è necessario cambiare segno alla funzione obiettivo e al
secondo vincolo, sostituire la variabile libera con una differenza di variabili vincolate, e aggiungere
2 variabili di scarto (come in figura).
min − 3 x1+ + 3 x1− − 2 x3
 x1+ − x1− + x 2 + x3 = 6
 +
−
 x1 − x1 − x3 + x 4 = 2

+
−
− 2 x1 + 2 x1 + x3 + x5 = 3
x ≥ 0

Non è necessario impostare il problema artificiale poiché è sufficiente utilizzare come base iniziale
B = [ A2 A4 A5 ] .
Al primo pivot entra A1+ ed esce A4. Al secondo pivot entra A3 ed esce A2. La base corrente risulta
 4
 
ottima. La soluzione ottima è: x* =  0  .
 2
 
D
UNIVERSITÀ DEGLI STUDI ROMA TRE
Corso di Studi in Ingegneria Informatica
Ricerca Operativa 1 – Primo appello
23 novembre 2006
SOLUZIONI
Esercizio 1
Dovete pianificare la produzione di un impianto manifatturiero. Sapendo che l’impianto è in grado
di produrre un pezzo al giorno, dovete decidere l’ordine di produzione della prossima settimana:
Pezzo Rilascio Consegna Penale
A
1
2
3
B
2
3
4
C
3
4
5
D
3
6
10
E
4
5
10
F
5
6
5
G
5
6
10
Ogni pezzo è caratterizzato da una data di rilascio che indica il giorno a partire dalla quale il pezzo
è disponibile per essere lavorato, una data di consegna che indica entro che giorno il pezzo può
essere consegnato senza pagare una penale, e da un valore di penale che indica il costo da pagare
per ogni giorno di ritardo con cui un pezzo viene consegnato. Formulare (senza risolvere) il
problema di minimizzare i costi di penale come un problema su un grafo opportuno.
Soluzione
Per formulare il problema si può ricorrere ad un grafo bipartito in cui 7 nodi indicheranno i pezzi A,
B, …, G, mentre altri sette nodi indicheranno le 7 giornate a disposizione per lavorare i pezzi. Il
peso degli archi sarà dato dal costo della penale che bisogna pagare per produrre il pezzo nel giorno.
Il problema risultante sarà un problema di flusso a costo minimo, dove tutti i nodi “pezzo” generano
una unità di flusso, e tutti i nodi “ora” assorbono una unità di flusso.
Il grafo sarà composto dai seguenti archi:
(A,1) : 0
(A,2) : 0
(A,3) : 3
(A,4) : 6
(A,5) : 9
(A,6) : 12
(A,7) : 15
(B,2) : 0
(B,3) : 0
(B,4) : 4
(B,5) : 8
(B,6) : 12
(B,7) : 16
(C,3) : 0
(C,4) : 0
(C,5) : 5
(C,6) : 10
(C,7) : 15
(D,3) : 0
(D,4) : 10
(D,5) : 20
(D,6) : 30
(D,7) : 40
(E,4) : 0
(E,5) : 0
(E,6) : 10
(E,7) : 20
(F,5) : 0
(F,6) : 0
(F,7) : 5
(G,5) : 0
(G,6) : 0
(G,7) : 10
Esercizio 2
In tabella sono riportati i costi unitari degli archi di una rete di flusso con 6 nodi 1…6 ed un flusso
ammissibile iniziale. A partire dal flusso iniziale, e utilizzando la fase 2 del simplesso su reti,
determinare il flusso di costo minimo, o dimostrare che il problema è illimitato inferiormente. . Se
necessario si aggiunga per completare la base iniziale un arco che collega il nodo di transito con il
nodo pozzo.
Archi (1,2) (1,5) (2,3) (3,4) (3,6) (4,1) (4,6) (5,3)
Costi
1
3
2
2
4
1
4
3
Flusso 0
4
2
4
0
0
4
4
Soluzione
L’algoritmo del simplesso su reti procede come segue.
Nella prima iterazione entrerà in base l’arco (1,2), e provocherà l’uscita dell’arco (5,3), il flusso
circolante nel ciclo è 4.
Nella seconda iterazione entrerà in base l’arco (3,6), e provocherà l’uscita dell’arco (4,6) il flusso
circolante nel ciclo è 4.
La soluzione così trovata rappresenta il flusso di costo minimo.
Esercizio 3
Dato il problema di PL in figura,
1. impostare il problema duale e risolverlo con il metodo grafico;
2. Se il duale ammette una soluzione ottima, dalla soluzione ottima del duale ricavare la soluzione
ottima del primale con le condizioni di ortogonalità. Se il duale non ammette una soluzione
ottima, risolvere il primale con il metodo del simplesso.
min − 2 x1 + 3 x 2
 x1 − 2 x 2 ≤ 3

 x1 − x 2 ≥ 2
x ≥ 0 x ≤ 0
2
 1
Soluzione
max 3u1 + 2u 2
u1 + u 2 ≤ −2
Duale: − 2u1 − u 2 ≥ 3

u1 ≤ 0
u 2 ≥ 0
Risolvendo con il metodo grafico si ha una soluzione ottima nel punto u* = (-2,0).
u2
P
-2
-3/2
u1
-2
-3
Procedendo con le condizioni di ortogonalità, si trova la soluzione ottima primale x* = (3,0).
E
UNIVERSITÀ DEGLI STUDI ROMA TRE
Corso di Studi in Ingegneria Informatica
Ricerca Operativa 1 – Primo appello
23 novembre 2006
SOLUZIONI
Esercizio 1
Una raffineria produce due varietà di diesel (Normale o Special D) utilizzando 3 diversi impianti.
Gli impianti lavorano 24 ore/giorno, sono flessibili e possono essere ri-programmati in qualsiasi
momento per produrre carburante di tipo Normale o Special D. In un’ora di lavoro un impianto può
produrre un solo carburante alla volta nelle quantità indicate in tabella:
impianto A: 4 tonnellate di diesel Normale oppure 3 tonnellate di Special D
impianto B: 2 tonnellate di diesel Normale oppure 1 tonnellate di Special D
impianto C: 3 tonnellate di diesel Normale oppure 2 tonnellate di Special D
Il mercato richiede 150 tonnellate di diesel Normale e 27 tonnellate di Special D al giorno.
L'impianto A è a conduzione prevalentemente manuale, e richiede 12 ore/uomo di lavoro per ogni
ora di lavoro dell'impianto, l'impianto B è invece totalmente automatizzato (e non richiede
manodopera), mentre l'impianto C consuma 6 ore/uomo per ogni ora di lavoro dell'impianto. Per un
giorno di lavoro avete a disposizione solo 420 ore/uomo. Il costo di produzione dell'impianto A è di
800 ∈/ora, il costo dell'impianto B è di 500∈/ora, il costo dell'impianto C è di 700 ∈/ora.
1. Formulare come problema di Programmazione Lineare il problema di pianificare la produzione
giornaliera (24 ore) di costo di produzione minimo.
2. Un vostro tecnico suggerisce di concentrare su A la produzione di Special D, e di produrre 60
tonnellate di diesel normale su A, 24 su B e 66 su C. Facendo uso delle condizioni di
ortogonalità, dimostrare o confutare l'ottimalità di questa soluzione.
Variabili:
xij = ore di lavoro dedicate dall'impianto i alla produzione del carburante j, con i=A,B,C j=N,S
(N = Normale, S= Special D)
Formulazione:
min 800 (xAn + xAs) + 500 (xBn + xBs) + 700 (xCn + xCs)
s.t.
4 xAn + 2 xBn + 3 xCn = 150
3 xAs + 1 xBs + 2 xCs = 27
xAn + xAs < 24
xBn + xBs < 24
xCn + xCs < 24
12 (xAn + xAs) + 6 (xCn + xCs) <420
end
 x AN   15 

  
 x AS   9 
 x   12 
La soluzione x =  BN  =   è ottima
 x BS   0 
 xCN   22 

  
x
 CS   0 
Esercizio 2
In tabella sono riportati gli archi di una rete di flusso con 6 nodi 1…6 ed i valori di domanda di ogni
nodo (assumendo un valore negativo per un nodo sorgente e un valore positivo per un nodo pozzo).
Se necessario si aggiunga per completare la base iniziale un arco che collega il nodo di transito con
il nodo pozzo. Si determini un flusso ammissibile utilizzando la fase 1 del simplesso su reti, o
dimostrare che il problema non ammette soluzione ammissibile. Nel caso in cui il problema non
ammetta soluzione ammissibile proporre il cambiamento di orientamento di un arco nel grafo per
rendere il problema ammissibile (senza risolvere di nuovo il problema).
Archi (1,2) (1,3) (2,5) (3,2) (3,6) (4,3)
Nodi
1
Domanda -1
2
-5
3
0
4
-3
5
6
6
3
Soluzione
Dopo l’inserimento del nodo artificiale 7, l’algoritmo del simplesso su reti procede come segue. Il
nodo 3 essendo un nodo di transito va collegato con l’albero ricoprente, ad esempio utilizzando
l’arco (3,6).
Nella prima iterazione entrerà in base l’arco (2,5), e provocherà l’uscita dell’arco (2,7), il flusso
circolante nel ciclo è 5.
Nella seconda iterazione entrerà in base l’arco (1,2), e provocherà l’uscita dell’arco (5,7) il flusso
circolante nel ciclo è 1.
Nella terza iterazione entrerà in base l’arco (4,3), e provocherà l’uscita dell’arco (7,6) il flusso
circolante nel ciclo è 3.
Nella quarta iterazione entrerà in base l’arco (6,1), e provocherà l’uscita dell’arco (4,7) il flusso
circolante nel ciclo è 2.
Nella quinta iterazione entrerà in base l’arco (3,2), e provocherà l’uscita dell’arco (1,7) il flusso
circolante nel ciclo è 0.
La soluzione così trovata rappresenta un flusso ammissibile per la rete di flusso.
Esercizio 3
È dato il problema di PL in figura.
1. Portare il problema in forma standard.
2. Utilizzando l’algoritmo del simplesso (fase 1 e fase 2) trovare una soluzione ottima del
problema o dimostrare che il problema è impossibile o illimitato inferiormente. Applicare la
regola di Bland.
min 3 x1 − 2 x3
− x1 + 2 x 2 + x3 = 6
− x − x ≤ 2
 1
3

2
x
+
x
3 ≤ 4
 1
 x1 libera x 2 ≥ 0 x3 ≥ 0
Soluzione
Portando il problema in forma standard è necessario sostituire la variabile libera con una differenza
di variabili vincolate, e aggiungere 2 variabili di scarto (come in figura).
min 3 x1+ − 3 x1− − 2 x3
− x1+ + x1− + 2 x 2 + x3 = 6
 +
−
− x1 + x1 − x3 + x 4 = 2
 +
−
2 x1 − 2 x1 + x3 + x5 = 4
x ≥ 0

Dividendo per 2 il primo vincolo si può evitare di impostare il problema artificiale poiché è
sufficiente utilizzare come base iniziale B = [ A2 A4 A5 ] .
min 3 x1+ − 3 x1− − 2 x3
1
 1 + 1 −
− 2 x1 + 2 x1 + x 2 + 2 x3 = 3
 +
−
− x1 + x1 − x3 + x 4 = 2
2 x + − 2 x − + x + x = 4
1
3
5
 1
 x ≥ 0
Al primo pivot entra A1− ed esce A4. Al secondo pivot entra A3 ed esce A2. La base corrente risulta
 − 4
 
ottima. La soluzione ottima è: x* =  0  .
 2 
 
F
UNIVERSITÀ DEGLI STUDI ROMA TRE
Corso di Studi in Ingegneria Informatica
Ricerca Operativa 1 – Primo appello
23 novembre 2006
SOLUZIONI
Esercizio 1
Luigi l’elettricista deve rifare l’impianto elettrico di una stanza quadrata di 4 metri di lato e 3 metri
di altezza. Nella stanza bisogna disporre (vedi Figura):
• 4 prese elettriche, tutte a 50 cm di altezza dal pavimento, e distanti 1 metro dalla parete a
sinistra. Indichiamo queste prese come N1, E1, S1, O1.
• 1 presa elettrica sulla parete Nord, a 1 metro dal soffitto e distante 1 metro dalla parete Est.
Indichiamo questa presa come N2.
• 1 presa elettrica sulla parete Est, a 1 metro dal soffitto e distante 1 metro dalla parete Nord.
Indichiamo questa presa come E2.
• 2 scatole di derivazione una sulla parete Nord (50 cm dal pavimento, 1 metro dallo spigolo
con la parete Est) e una sulla parete Est (50 cm dal pavimento, 1 metro dallo spigolo con la
parete Sud). Indichiamo le scatole di derivazione N3 e E3.
• 1 punto di ingresso dell’impianto posizionato sulla parete Sud (a 50 cm dal pavimento ed a
metà parete). Indichiamo con S2 il punto di ingresso dell’impianto.
100
100
N2
N1
100
50
N3
50
Parete
Nord
Presa elettrica
100
100
Ingresso dell’
impianto
E2
100
E1
E3
100
50
50
Parete
Est
100
S1
100
50
S2
200
50
Parete
Sud
100
Scatola di
derivazione
O1
50
Parete
Ovest
Sapendo che una traccia non si può biforcare (ovvero sono ammesse biforcazioni solo nelle scatole
di derivazione e nelle prese elettriche), e che le tracce possono andare solo in orizzontale o in
verticale (non sono ammesse tracce diagonali, ma sono ammesse tracce che formano un angolo
retto), si formuli senza risolverlo e utilizzando un grafo opportuno il problema di disegnare
l’impianto elettrico per minimizzare la lunghezza delle tracce.
Soluzione
Il problema è formulabile come un problema di albero ricoprente, in cui i nodi rappresentato le
prese elettriche, le scatole di derivazione e l’ingresso dell’impianto e gli archi sono le tracce che
devono essere passate a cui è associato un costo pari alla lunghezza della traccia. Eliminando alcuni
archi superflui il grafo è composto da 9 nodi e 11 archi.
(E1,E2) : 150
(E1,E3) : 200
(N1,N3) : 200
(N1,O1) : 400
(E3,S1) : 200
(N2,N3) : 150
(S1,S2) : 100
(N2,E2) : 200
(S2,O1) : 300
(N3,E1) : 200
Esercizio 2
Dato il problema di PL (primale) in figura,
1. risolvere il problema con il metodo grafico ed impostare il problema duale;
2. Se il primale ammette una soluzione ottima, dalla soluzione ottima del primale ricavare la
soluzione ottima del duale con le condizioni di ortogonalità. Se il primale non ammette una
soluzione ottima, risolvere il problema duale con il metodo del simplesso.
min 4 x1 + 3 x 2
− 2 x1 + x 2 ≥ 3

2 x1 − 2 x 2 ≥ 1
x ≥ 0

Soluzione
Risolvendo con il metodo grafico il problema primale risulta impossibile.
x2
3
-3/2
1/2
x1
-1/2
max 3u1 + u 2
− 2u1 + 2u 2 ≤ 4
Problema duale: 
In forma standard:
u1 − 2u 2 ≤ 3
u ≥ 0

min − 3u1 − u 2
− 2u1 + 2u 2 + u 3 = 4

u1 − 2u 2 + u 4 = 3
u ≥ 0

utilizzando come base iniziale B = [ A3 A4 ] si può iniziare direttamente la fase 2.
Al primo pivot entra A1 ed esce A4 . Al secondo pivot entra A2 ed il problema risulta illimitato
inferiormente.
Esercizio 3
In tabella sono riportati gli archi di un grafo con 4 nodi, e sono dati i costi di ogni arco. Risolvere il
problema del cammino minimo per ogni coppia di nodi applicando l’algoritmo di Floyd e Warshall.
In presenza di cicli negativi arrestate l’algoritmo e mostrate un ciclo negativo. Altrimenti mostrate
l’albero dei cammini centrato nel nodo 3.
Archi (1,2) (1,3) (1,4) (2,1) (3,2) (3,4) (4,2)
Costi 26
6
71
10
13
-4
5
Soluzione
Le matrici iniziali dei cammini minimi e dei predecessori sono
0
10
∞
∞
26
0
13
5
6
∞
0
∞
71
∞
-4
0
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
Dopo la prima iterazione vengono aggiornati i cammini da 2 a 3, il cammino da 2 a 4, tutti passando
attraverso il nodo 1.
Durante la seconda iterazione vengono aggiornati il cammino da 3 a 1, e i cammini da 4 a 1 e da 4 a
3, tutti passando attraverso il nodo 2. Alla fine della seconda iterazione le matrici sono:
0
10
23
15
26
0
13
5
6
16
0
21
71
81
-4
0
1
2
2
2
1
2
3
4
1
1
3
1
1
1
3
4
Nella terza iterazione vengono aggiornati i cammini da 1 a 2, da 1 a 4, e il cammino da 2 a 4 tutti
passando per il nodo 3.
Infine nella quarta iterazione vengono aggiornati i cammini da 1 a 2, 3 a 1 e da 3 2.
Le matrici finali dei cammini e dei predecessori sono:
0
10
11
15
7
0
1
5
6
16
0
21
2
12
-4
0
1
2
2
2
4
2
4
4
1
1
3
1
3
3
3
4
L’albero dei cammini minimi dal nodo 3 è composto dagli archi (3,4), (4,2) e (2,1).
G
UNIVERSITÀ DEGLI STUDI ROMA TRE
Corso di Studi in Ingegneria Informatica
Ricerca Operativa 1 – Primo appello
23 novembre 2006
SOLUZIONI
Esercizio 1
Una raffineria produce due varietà di benzina (95 ottani e Sprint) utilizzando 4 diversi impianti. In
un'ora di lavoro un impianto produce un mix delle due benzine come indicato in tabella:
impianto A: 2 tonnellate di benzina 95 ottani e 4 tonnellate di benzina Sprint
impianto B: 1 tonnellate di benzina 95 ottani e 3 tonnellate di benzina Sprint
impianto C: 3 tonnellate di benzina 95 ottani e 2 tonnellate di benzina Sprint
impianto D: 3 tonnellate di benzina 95 ottani e 3 tonnellate di benzina Sprint
Dovete soddisfare un ordine di produzione di 130 tonnellate di benzina 95 ottani e 160 tonnellate di
benzina Sprint. L'impianto A è a conduzione prevalentemente manuale, e richiede 28 ore/uomo di
lavoro per ogni ora di lavoro dell'impianto, gli impianti B e C sono invece totalmente automatizzati
(non richiedono manodopera), mentre l'impianto D consuma 16 ore/uomo per ogni ora di lavoro
dell'impianto. Avete a disposizione 700 ore/uomo per soddisfare l'ordine.
Formulare come problema di Programmazione Lineare il problema di pianificare la produzione
producendo le quantità richieste nel più breve tempo possibile (ovvero in modo tale da minimizzare
il tempo di completamento della produzione dell'impianto che termina per ultimo).
Un vostro tecnico suggerisce di produrre far lavorare tutti e 4 gli impianti per lo stesso numero di
ore (esattamente 15 ore). Facendo uso delle condizioni di ortogonalità, dimostrare o confutare
l'ottimalità di questa soluzione.
Soluzione
variabili: xi = ore di lavoro lavorate dall'impianto i, con i = A,B,C,D
min z
z ≥ x A
z ≥ x
B

 z ≥ xC

z ≥ xD

28 x A + 16 x D ≤ 700
2 x A + x B + 3 xC + 3 x D ≥ 130

4 x A + 3 x B + 2 xC + 3 x D ≥ 160
 x, z ≥ 0

 z  15 
   
 x A  15 
La soluzione x =  x B  = 15  NON è ottima
   
 xC  15 
 x  15 
 D  
Il risultato si ottiene facilmente in quanto le variabili duali associate agli ultimi 3 vincoli dovrebbero essere
nulle (vincoli non soddisfatti all'=), di conseguenza i vincoli associati alle x impongono pari a zero anche le
variabili duali associate ai primi 4 vincoli. Il vincolo duale associato a z impone però che sia pari ad 1 la
somma delle prime 4 variabili duali, una contraddizione.
Esercizio 2
In tabella sono riportati gli archi di una rete di flusso con 5 nodi 1…5 ed i valori di domanda di ogni
nodo (assumendo un valore negativo per un nodo sorgente e un valore positivo per un nodo pozzo).
Se necessario si aggiunga per completare la base iniziale un arco che collega il nodo di transito con
il nodo pozzo. Si determini un flusso ammissibile utilizzando la fase 1 del simplesso su reti, o
dimostrare che il problema non ammette soluzione ammissibile. Nel caso in cui il problema non
ammetta soluzione ammissibile proporre il cambiamento di orientamento di un arco nel grafo per
rendere il problema ammissibile (senza risolvere di nuovo il problema).
Archi (1,5) (2,1) (2,3) (2,4) (2,5) (4,3) (4,5) (5,1)
Nodi
Domanda
1
1
2
-8
3
0
4
9
5
-2
Soluzione
Dopo l’inserimento del nodo artificiale 6, l’algoritmo del simplesso su reti procede come segue.
Il nodo 3 essendo un nodo di transito va collegato con l’albero ricoprente, ad esempio utilizzando
l’arco (1,3).
Nella prima iterazione entrerà in base l’arco (2,1), e provocherà l’uscita dell’arco (7,1), il flusso
circolante nel ciclo è 1.
Nella seconda iterazione entrerà in base l’arco (2,4), e provocherà l’uscita dell’arco (2,7) il flusso
circolante nel ciclo è 7.
La soluzione così trovata non rappresenta un flusso ammissibile per la rete di flusso poiché del
flusso circola ancora attraverso il nodo fittizio.
Per rendere il problema ammissibile basta osservare che la causa della inammissibilità del grafo è
dovuta alla mancanza di un cammino tra il nodo 5 e il nodo 4. Cambiando l’orientamento dell’arco
(4,5) l’istanza diventa ammissibile.
Esercizio 3
È dato il problema di PL in figura.
1. Portare il problema in forma standard.
2. Utilizzando l’algoritmo del simplesso (fase 1 e fase 2) trovare una soluzione ottima del problema
o dimostrare che il problema è impossibile o illimitato inferiormente. Applicare la regola di
Bland.
max 4 x 2 + 3 x 4
2 x1 − 2 x 2 + 3 x3 − x 4 = 12
x
+ x3 − x 4 = 5
 1

2 x1 + 2 x 2 + x3 − 3 x 4 = 8
x ≥ 0

Soluzione
Per portare il problema in forma standard è sufficiente cambiare segno alla funzione obiettivo.
Impostando il problema artificiale è necessario introdurre tre variabili artificiali (come in figura).
min
x5 + x 6 + x 7
2 x1 − 2 x 2 + 3 x3 − x 4 + x5 = 12

+ x3 − x 4 + x 6 = 5
 x1

2 x1 + 2 x 2 + x3 − 3 x 4 + x7 = 8
x ≥ 0

La base iniziale è quindi B = [ A5 A6 A7 ] . Al primo pivot entra A1 ed esce A7. Al secondo pivot entra
A3 ed esce A5. Fine della fase 1. Per passare alla fase 2 è necessario far uscire l'ultima variabile
artificiale rimasta in base. Il secondo vincolo risulta combinazione lineare degli altri 2. Cancellando
seconda riga e seconda colonna della carry, e ricalcolando il vettore u=(0,0) e z=0, si può iniziare la
fase 2. Al primo pivot entra A2 ed esce A1. Al secondo pivot entra A4 ed il problema risulta
inferiormente illimitato.
H
UNIVERSITÀ DEGLI STUDI ROMA TRE
Corso di Studi in Ingegneria Informatica
Ricerca Operativa 1 – Primo appello
23 novembre 2006
SOLUZIONI
Esercizio 1
Mario l’elettricista deve rifare l’impianto elettrico di una stanza quadrata di 4 metri di lato e 3 metri
di altezza. Nella stanza bisogna disporre (vedi Figura):
• 4 prese elettriche, tutte a 50 cm di altezza dal pavimento, e distanti 1 metro dalla parete a
sinistra. Indichiamo queste prese come N1, E1, S1, O1.
• 1 presa elettrica sulla parete Nord, a 1 metro dal soffitto e distante 1 metro dalla parete Est.
Indichiamo questa presa come N2.
• 1 presa elettrica sulla parete Est, a 1 metro dal soffitto e distante 1 metro dalla parete Sud.
Indichiamo questa presa come E2.
• 2 scatole di derivazione una sulla parete Nord (50 cm dal pavimento, 1 metro dallo spigolo
con la parete Est) e una sulla parete Sud (1 metro dal soffitto ed 1 metro dallo spigolo con la
parete Est). Indichiamo le scatole di derivazione N3 e S2.
• 1 punto di ingresso dell’impianto posizionato sulla parete Ovest (a 50 cm dal pavimento ed a
metà parete). Indichiamo con O2 il punto di ingresso dell’impianto.
100
100
N2
N1
100
N3
50
50
Parete
Nord
100
E1
100
S1
100
50
Ingresso dell’
impianto
S2
E2
100
Presa elettrica
100
100
100
100
50
Parete
Est
O1
50
Parete
Sud
O2
200
50
Scatola di
derivazione
Parete
Ovest
Sapendo che una traccia non si può biforcare (ovvero sono ammesse biforcazioni solo nelle scatole
di derivazione e nelle prese elettriche), e che le tracce possono andare solo in orizzontale o in
verticale (non sono ammesse tracce diagonali, ma sono ammesse tracce che formano un angolo
retto), si formuli senza risolverlo e utilizzando un grafo opportuno il problema di disegnare
l’impianto elettrico per minimizzare la lunghezza delle tracce.
Soluzione
Il problema è formulabile come un problema di albero ricoprente, in cui i nodi rappresentato le
prese elettriche, le scatole di derivazione e l’ingresso dell’impianto e gli archi sono le tracce che
devono essere passate a cui è associato un costo pari alla lunghezza della traccia. Eliminando alcuni
archi superflui il grafo è composto da 9 nodi e 11 archi.
(N1,N3) : 200
(N1,O2) : 300
(N2,N3) : 150
(N2,E2) : 400
(N3,E1) : 200
(E1,E2) : 350
(E1,S1) : 400
(E2,S2) : 200
(S1,S2) : 150
(S1,O1) : 100
(O1,O2) : 100
Esercizio 2
In tabella sono riportati gli archi di un grafo con 4 nodi, e sono dati i costi di ogni arco. Risolvere il
problema del cammino minimo per ogni coppia di nodi applicando l’algoritmo di Floyd e Warshall.
In presenza di cicli negativi arrestate l’algoritmo e mostrate un ciclo negativo. Altrimenti mostrate
l’albero dei cammini centrato nel nodo 3.
Archi (1,2) (1,3) (2,4) (3,2) (4,1) (4,3)
Costi 80
2
4
1
-10 40
Soluzione
Le matrici iniziali dei cammini minimi e dei predecessori sono
0
∞
∞
-10
80
0
1
∞
2
∞
0
40
∞
4
∞
0
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
1
2
2
2
4
Dopo la prima iterazione vengono aggiornati i cammini da 4 a 2 e da 4 a 3.
Durante la seconda vengono aggiornati i cammini da 1 a 4 e da 3 a 4.
Alla fine della seconda iterazione le matrici sono:
0
∞
∞
-10
80
0
1
70
2
∞
0
-8
84
4
5
0
1
2
3
4
1
2
3
1
Nella terza iterazione vengono aggiornati i cammini da 1 a 2, 1 a 4, da 4 a 2 e da 4 a 4. Avendo
aggiornato il cammino da 4 a 4 si è individuato un ciclo a peso negativo.
Le matrici finali dei cammini e dei predecessori sono:
0
∞
∞
-10
3
0
1
-7
2
∞
0
-8
7
4
5
-3
Il ciclo negativo passa attraverso i nodi 4, 1, 3, 2 e 4 di peso -3.
1
2
3
4
3
2
3
3
1
2
3
1
2
2
2
2
Esercizio 3
Dato il problema di PL in figura,
1. impostare il problema duale e risolverlo con il metodo grafico;
2. Se il duale ammette una soluzione ottima, dalla soluzione ottima del duale ricavare la soluzione
ottima del primale con le condizioni di ortogonalità. Se il duale non ammette una soluzione
ottima, risolvere il primale con il metodo del simplesso (fase 1 e fase 2).
min 4 x1 − 3 x 2
− 2 x1 + x 2 ≥ 2

− 2 x1 + 2 x 2 ≤ 3
x ≤ 0 x ≥ 0
2
 1
Soluzione
max 2u1 + 3u 2
− 2u1 − 2u 2 ≥ 4

Problema duale: u1 + 2u 2 ≤ −3

u1 ≥ 0
u 2 ≤ 0
In figura è rappresentato l’insieme delle soluzioni ammissibili del duale. La soluzione ottima si ha
nel punto u = (0 , -2).
u2
u1
-2
-3
-3/2
-2
P
Procedendo con le condizioni di ortogonalità, si trova la soluzione ottima primale x* = (-3/2,0).