• Non ci sono risultati.

Ricerca Operativa

N/A
N/A
Protected

Academic year: 2021

Condividi "Ricerca Operativa"

Copied!
110
0
0

Testo completo

(1)

Ricerca Operativa

(2)

Ricerca Operativa

Disciplina basata sulla modellizzazione e la risoluzione tramite strumenti automatici di problemi di decisione complessi.

In tali problemi la complessità è determinata dall’ampiezza dello spazio delle scelte possibili.

Ricerca Operativa – p. 2/64

(3)

Problema di decisione : componenti

Dati - tutto ciò che è noto a priori e non è sotto il controllo del decisore

(4)

Problema di decisione : componenti

Dati - tutto ciò che è noto a priori e non è sotto il controllo del decisore

Variabili - le quantità sotto il diretto controllo del decisore

Ricerca Operativa – p. 3/64

(5)

Problema di decisione : componenti

Dati - tutto ciò che è noto a priori e non è sotto il controllo del decisore

Variabili - le quantità sotto il diretto controllo del decisore

Vincoli - condizioni che limitano le possibili scelte del decisore

(6)

Problema di decisione : componenti

Dati - tutto ciò che è noto a priori e non è sotto il controllo del decisore

Variabili - le quantità sotto il diretto controllo del decisore

Vincoli - condizioni che limitano le possibili scelte del decisore

Obiettivo - criterio attraverso cui le scelte del decisore vengono confrontate

Ricerca Operativa – p. 3/64

(7)

Un (banale) esempio

In casa con voi avete:

una borsa del valore di 25 Euro

una macchina fotografica del valore di 100 Euro

un libro del valore di 10 Euro

Potete portare fuori di casa al massimo un oggetto. Volete portare con voi il massimo valore possibile

(8)

Un (banale) esempio - continua

Dati - i valori dei tre oggetti

Ricerca Operativa – p. 5/64

(9)

Un (banale) esempio - continua

Dati - i valori dei tre oggetti

Variabili - per ogni oggetto dovete decidere se portarlo con voi oppure no

(10)

Un (banale) esempio - continua

Dati - i valori dei tre oggetti

Variabili - per ogni oggetto dovete decidere se portarlo con voi oppure no

Vincolo - potete portare con voi al massimo uno dei tre oggetti

Ricerca Operativa – p. 5/64

(11)

Un (banale) esempio - continua

Dati - i valori dei tre oggetti

Variabili - per ogni oggetto dovete decidere se portarlo con voi oppure no

Vincolo - potete portare con voi al massimo uno dei tre oggetti

Obiettivo - il valore che portate con voi, da massimizzare

(12)

Un esempio più complesso

Table 1:

Farina Acqua Medicinali Utilità

TIPO I 10 10 30 14

TIPO II 30 20 10 5

TIPO III 20 40 5 4

Disp.max 5100 8000 1805

Problema: individuare quanti pacchi di ciascun tipo realizzare, tenuto conto delle disponibilità massime di

risorse, in modo da massimizzare l’utilità totale dei pacchi realizzati.

Ricerca Operativa – p. 6/64

(13)

Un esempio più complesso - continua

Dati - i valori nella tabella

(14)

Un esempio più complesso - continua

Dati - i valori nella tabella

Variabili - per ogni tipo di pacco dovete decidere quanti pacchi di quel tipo realizzare

Ricerca Operativa – p. 7/64

(15)

Un esempio più complesso - continua

Dati - i valori nella tabella

Variabili - per ogni tipo di pacco dovete decidere quanti pacchi di quel tipo realizzare

Vincoli - non superare la disponibilità massima di risorse disponibili

(16)

Un esempio più complesso - continua

Dati - i valori nella tabella

Variabili - per ogni tipo di pacco dovete decidere quanti pacchi di quel tipo realizzare

Vincoli - non superare la disponibilità massima di risorse disponibili

Obiettivo - il valore di utilità totale, da massimizzare

Ricerca Operativa – p. 7/64

(17)

La programmazione matematica

Problemi di decisione come quello precedentemente descritto possono essere riformulati in modelli di

Programmazione Matematica. Un modello di

Programmazione Matematica è una traduzione del problema di decisione in linguaggio matematico

Variabili - ad ogni variabile viene associata una variabile matematica (ad esempio x1, x2, . . . , xn se abbiamo n

variabili)

Vincoli - I vincoli vengono espressi tramite equazioni e disequazioni in cui compaiono variabili e dati del

problema

Obiettivo - L’obiettivo viene tradotto in una funzione matematica delle variabili del problema

(18)

Prog. Matematica : il problema generico

max (o min) f(x1, . . . , xn)

gi(x1, . . . , xn) ≤ 0 i ∈ I1

gi(x1, . . . , xn) ≥ 0 i ∈ I2

gi(x1, . . . , xn) = 0 i ∈ I3

Ricerca Operativa – p. 9/64

(19)

Il modello dell’esempio

Dati - i valori numerici nella tabella

(20)

Il modello dell’esempio

Dati - i valori numerici nella tabella

Variabili - xi =quantità di pacchi di tipo i che decidete di realizzare (i = 1, 2, 3)

Ricerca Operativa – p. 10/64

(21)

Il modello dell’esempio

Dati - i valori numerici nella tabella

Variabili - xi =quantità di pacchi di tipo i che decidete di realizzare (i = 1, 2, 3)

Vincoli -

10x1 + 30x2 + 20x3 ≤ 5100 (disp. max farina) 10x1 + 20x2 + 40x3 ≤ 8000 (disp. max acqua) 30x1 + 10x2 + 5x3 ≤ 1805 (disp. max medicinali)

x1, x2, x3 ≥ 0 quantità di pacchi non negativa

(22)

Il modello dell’esempio

Dati - i valori numerici nella tabella

Variabili - xi =quantità di pacchi di tipo i che decidete di realizzare (i = 1, 2, 3)

Vincoli -

10x1 + 30x2 + 20x3 ≤ 5100 (disp. max farina) 10x1 + 20x2 + 40x3 ≤ 8000 (disp. max acqua) 30x1 + 10x2 + 5x3 ≤ 1805 (disp. max medicinali)

x1, x2, x3 ≥ 0 quantità di pacchi non negativa

Obiettivo -

14x1 + 5x2 + 4x3

Ricerca Operativa – p. 10/64

(23)

Modello matematico dell’esempio

max 14x1 + 5x2 + 4x3

tenuto conto che

10x1 + 30x2 + 20x3 ≤ 5100 10x1 + 20x2 + 40x3 ≤ 8000 30x1 + 10x2 + 5x3 ≤ 1805

x1, x2, x3 ≥ 0

(24)

La Programmazione Lineare

La generica forma dei problemi di Programmazione

Matematica comprende una grande varietá di problemi a cui corrispondono livelli di difficoltá molto diversi e anche tecniche risolutive molto diverse. Qui ci concentreremo su una importante sottoclasse di problemi di programmazione matematica che si incontra in molte applicazioni pratiche, la classe dei problemi di Programmazione Lineare (abbreviata

con PL nel seguito).

max (o min) Pn

j=1 cjxj Pn

j=1 aijxj ≤ bi i ∈ I1

Pn

j=1 aijxj ≥ bi i ∈ I2 Pn

j=1 aijxj = bi i ∈ I3

Ricerca Operativa – p. 12/64

(25)

Caratteristiche dei modelli di PL

Proporzionalit ´a Il contributo di ogni variabile xj

nell’obiettivo e nei vincoli é direttamente proporzionale al valore della variabile.

(26)

Caratteristiche dei modelli di PL

Proporzionalit ´a Il contributo di ogni variabile xj

nell’obiettivo e nei vincoli é direttamente proporzionale al valore della variabile.

Additivit ´a I contributi delle diverse variabili si sommano tra loro sia nell’obiettivo che nei vincoli

Ricerca Operativa – p. 13/64

(27)

Caratteristiche dei modelli di PL

Proporzionalit ´a Il contributo di ogni variabile xj

nell’obiettivo e nei vincoli é direttamente proporzionale al valore della variabile.

Additivit ´a I contributi delle diverse variabili si sommano tra loro sia nell’obiettivo che nei vincoli

Continuit ´a Le variabili xj possono assumere tutti i valori reali.

(28)

Importanza della PL

I programmi lineari sono molto importanti per almeno due ragioni:

molti problemi reali (tra cui, come vedremo fra breve, quello introdotto in precedenza) hanno come modello matematico proprio un programma lineare;

Ricerca Operativa – p. 14/64

(29)

Importanza della PL

I programmi lineari sono molto importanti per almeno due ragioni:

molti problemi reali (tra cui, come vedremo fra breve, quello introdotto in precedenza) hanno come modello matematico proprio un programma lineare;

sono più semplici da risolvere rispetto ad altri modelli dove compaiono termini non lineari. Per i programmi lineari esistono delle procedure molto efficienti di

risoluzione (come l’algoritmo del simplesso che descriveremo in seguito).

(30)

I problemi di PL in forma canonica

In forma scalare:

max Pn

j=1 cjxj Pn

j=1 aijxj ≤ bi i = 1, . . . , m xj ≥ 0 j = 1, . . . , n

Ricerca Operativa – p. 15/64

(31)

Prodotto scalare tra vettori

Vettore di dimensione n

p = (p1 · · · pn) Dato un altro vettore di dimensione n

q = (q1 · · · qn)

Il prodotto scalare tra i due vettori è un valore scalare:

pq =

Xn j=1

pjqj

Esempio:

p = (2 3 6) q = (3 8 7) pq = 2 ∗ 3 + 3 ∗ 8 + 6 ∗ 7 = 72

(32)

Proprietà

Siano p, q1, q2 ∈ Rn e α, β ∈ R. Allora:

p(αq1 + βq2) = α(pq1) + β(pq2)

Ricerca Operativa – p. 17/64

(33)

Proprietà

Siano p, q1, q2 ∈ Rn e α, β ∈ R. Allora:

p(αq1 + βq2) = α(pq1) + β(pq2) Esempio:

p = (2 3 6) q1 = (1 2 5) q2 = (6 0 3) α = 2 β = 3

(34)

Proprietà

Siano p, q1, q2 ∈ Rn e α, β ∈ R. Allora:

p(αq1 + βq2) = α(pq1) + β(pq2) Esempio:

p = (2 3 6) q1 = (1 2 5) q2 = (6 0 3) α = 2 β = 3

αq1 + βq2 = 2(1 2 5) + 3(6 0 3) = (2 4 10) + (18 0 9) = (20 4 19)

Ricerca Operativa – p. 17/64

(35)

Proprietà

Siano p, q1, q2 ∈ Rn e α, β ∈ R. Allora:

p(αq1 + βq2) = α(pq1) + β(pq2) Esempio:

p = (2 3 6) q1 = (1 2 5) q2 = (6 0 3) α = 2 β = 3

αq1 + βq2 = 2(1 2 5) + 3(6 0 3) = (2 4 10) + (18 0 9) = (20 4 19)

p(αq1 + βq2) = 2 ∗ 20 + 3 ∗ 4 + 6 ∗ 19 = 166

(36)

Proprietà

Siano p, q1, q2 ∈ Rn e α, β ∈ R. Allora:

p(αq1 + βq2) = α(pq1) + β(pq2) Esempio:

p = (2 3 6) q1 = (1 2 5) q2 = (6 0 3) α = 2 β = 3

αq1 + βq2 = 2(1 2 5) + 3(6 0 3) = (2 4 10) + (18 0 9) = (20 4 19)

p(αq1 + βq2) = 2 ∗ 20 + 3 ∗ 4 + 6 ∗ 19 = 166

pq1 = 2 ∗ 1 + 3 ∗ 2 + 6 ∗ 5 = 38 pq2 = 2 ∗ 6 + 3 ∗ 0 + 6 ∗ 3 = 30

Ricerca Operativa – p. 17/64

(37)

Proprietà

Siano p, q1, q2 ∈ Rn e α, β ∈ R. Allora:

p(αq1 + βq2) = α(pq1) + β(pq2) Esempio:

p = (2 3 6) q1 = (1 2 5) q2 = (6 0 3) α = 2 β = 3

αq1 + βq2 = 2(1 2 5) + 3(6 0 3) = (2 4 10) + (18 0 9) = (20 4 19)

p(αq1 + βq2) = 2 ∗ 20 + 3 ∗ 4 + 6 ∗ 19 = 166

pq1 = 2 ∗ 1 + 3 ∗ 2 + 6 ∗ 5 = 38 pq2 = 2 ∗ 6 + 3 ∗ 0 + 6 ∗ 3 = 30

(38)

Prodotto matrice-vettore

Data una matrice A di ordine m × n (m righe e n colonne)

a11 . . . a1n

... ... ... am1 . . . amn

ed un vettore p di dimensione n

p = (p1 · · · pn)

Il prodotto matrice-vettore è un vettore di dimensione m la cui componente i è il prodotto scalare tra la i-esima riga di A e il vettore p:

Xn j=1

aijpj

Ricerca Operativa – p. 18/64

(39)

Prodotto vettore-matrice

Data una matrice A di ordine m × n (m righe e n colonne)

a11 . . . a1n

... ... ... am1 . . . amn

ed un vettore q di dimensione m

q = (q1 · · · qm)

Il prodotto vettore-matrice è un vettore di dimensione n la cui componente j è il prodotto scalare tra la j-esima

colonna di A e il vettore q:

Xm

a q

(40)

Esempi

A =

"

7 6 3 2 4 8

#

p = (3 8 7) q = (4 5)

Ap = (7 ∗ 3 + 6 ∗ 8 + 3 ∗ 7 2 ∗ 3 + 4 ∗ 8 + 8 ∗ 7) = (90 94) qA = (4 ∗ 7 + 5 ∗ 2 4 ∗ 6 + 5 ∗ 4 4 ∗ 3 + 5 ∗ 8) = (38 44 52)

Ricerca Operativa – p. 20/64

(41)

PL in forma canonica

Introduciamo i seguenti vettori:

c ∈ Rn: vettore di dimensione n con componenti cj, j = 1, . . . , n, ovvero:

c = (c1 c2 · · · cn);

(42)

PL in forma canonica

Introduciamo i seguenti vettori:

c ∈ Rn: vettore di dimensione n con componenti cj, j = 1, . . . , n, ovvero:

c = (c1 c2 · · · cn);

x ∈ Rn: vettore di variabili di dimensione n con componenti xj, j = 1, . . . , n, ovvero:

x = (x1 x2 · · · xn);

Ricerca Operativa – p. 21/64

(43)

PL in forma canonica

Introduciamo i seguenti vettori:

c ∈ Rn: vettore di dimensione n con componenti cj, j = 1, . . . , n, ovvero:

c = (c1 c2 · · · cn);

x ∈ Rn: vettore di variabili di dimensione n con componenti xj, j = 1, . . . , n, ovvero:

x = (x1 x2 · · · xn);

ai ∈ Rn, i = 1, . . . , m: m vettori di dimensione n con componenti aij, j = 1, . . . , n, ovvero:

ai = (ai1 ai2 · · · ain).

(44)

PL in forma canonica

Osservando che

cx =

Xn j=1

cjxj

e

aix =

Xn j=1

aijxj

abbiamo la seguente rappresentazione vettoriale per un problema di PL in forma canonica:

max cx

aix ≤ bi i = 1, . . . , m x ≥ 0

Ricerca Operativa – p. 22/64

(45)

PL in forma canonica

Si consideri la matrice A ∈ Rm×n che ha tante righe quanti sono i vincoli del problema (m) e la cui i-esima riga é il

vettore ai e del vettore b = (b1 · · · bm) ∈ Rm di dimensione m con componenti bi, i = 1, . . . , m. Osservando che

Ax = (a1x, . . . , amx)

possiamo scrivere la rappresentazione matriciale del problema di PL in forma canonica:

max cx

Ax ≤ b x ≥ 0

(46)

Esempio degli aiuti umanitari

Il vettore c = (14 5 4)

Il vettore di variabili x = (x1 x2 x3) I vettori ai, i = 1, 2, 3

a1 = (10 30 20) a2 = (10 20 40) a3 = (30 10 5) Il vettore b = (5100 8000 1805)

La matrice A

10 30 20 10 20 40 30 10 5

Ricerca Operativa – p. 24/64

(47)

PL canonici ≡ PL generici

Osservazione Ogni problema di PL in forma generica può essere trasformato in uno equivalente in forma canonica.

Trasformazione da min a max

min cx = − max −cx

(48)

PL canonici ≡ PL generici

Osservazione Ogni problema di PL in forma generica può essere trasformato in uno equivalente in forma canonica.

Trasformazione da min a max

min cx = − max −cx

Trasformazione vincolo in vincolo

aix ≥ bi −aix ≤ −bi

Ricerca Operativa – p. 25/64

(49)

PL canonici ≡ PL generici

Osservazione Ogni problema di PL in forma generica può essere trasformato in uno equivalente in forma canonica.

Trasformazione da min a max

min cx = − max −cx

Trasformazione vincolo in vincolo

aix ≥ bi −aix ≤ −bi

Trasformazione vincolo = in due vincoli

aix = bi ⇔ aix ≤ bi, aix ≥ bi ⇔ aix ≤ bi, −aix ≤ −bi

(50)

PL canonici ≡ PL generici

Sostituzione variabile ≤ 0 con variabile ≥ 0 Data xi ≤ 0, effettuare il cambio di variabile xi = −xi, dove xi ≥ 0

Ricerca Operativa – p. 26/64

(51)

PL canonici ≡ PL generici

Sostituzione variabile ≤ 0 con variabile ≥ 0 Data xi ≤ 0, effettuare il cambio di variabile xi = −xi, dove xi ≥ 0

Sostituzione variabile libera in segno con due variabili ≥ 0 Data xi libera in segno, effettuare il cambio di variabile xi = x′′i − xi, dove xi, x′′i ≥ 0

(52)

Un esempio

Si trasformi il seguente problema di PL in forma generica in un problema di PL in forma canonica

min x1 + x2 + x3

x1 + 2x2 − x3 ≤ 3 x1 + 4x2 + 5x3 = 5

x1 − 2x2 + x3 ≥ 3 x1 ≥ 0

x2 ≤ 0

x3 libera in segno

Ricerca Operativa – p. 27/64

(53)

Insiemi convessi

Un insieme C si dice convesso se

∀ x1, x2 ∈ C ∀ λ ∈ [0, 1] : λx1 + (1 − λ)x2 ∈ C,

ovvero se dati due punti qualsiasi in C, il segmento che li congiunge è anch’esso completamente contenuto in C.

(54)

Insiemi limitati e chiusi

Un insieme C si dice limitato se esiste una sfera di raggio finito R che lo contiene.

Un insieme C si dice chiuso se contiene la sua frontiera.

Ricerca Operativa – p. 29/64

(55)

Semispazi e semipiani

Si definisce semispazio in Rn l’insieme di punti che soddisfa una disequazione lineare in Rn:

Xn j=1

wjxj ≤ v

(in forma vettoriale: wx ≤ v).

Si definisce iperpiano in Rn l’insieme di punti che soddisfa un’equazione lineare in Rn:

Xn j=1

wjxj = v

(56)

Poliedri e politopi

Si definisce poliedro l’intersezione di un numero finito di

semispazi e/o iperpiani. Se il poliedro é limitato esso viene chiamato politopo.

Ricerca Operativa – p. 31/64

(57)

La regione ammissibile S

a

La regione ammissibile Sa di un problema di PL in forma canonica

Sa = {x ∈ Rn : aix ≤ bi, i = 1, . . . , m, x ≥ 0}.

é un poliedro.

Semispazi e iperpiani sono insiemi chiusi

L’intersezione di un numero finito di insiemi chiusi é un insieme chiuso

I poliedri (e quindi Sa) sono insiemi chiusi

(58)

Convessitá

Siano x, y ∈ Sa, ovvero

aix ≤ bi i = 1, . . . , m x ≥ 0, e

aiy ≤ bi i = 1, . . . , m y ≥ 0.

Per ogni λ ∈ (0, 1) e per ogni i ∈ {1, . . . , m} avremo:

ai[λx + (1 − λ)y] =

Ricerca Operativa – p. 33/64

(59)

Convessitá

Siano x, y ∈ Sa, ovvero

aix ≤ bi i = 1, . . . , m x ≥ 0, e

aiy ≤ bi i = 1, . . . , m y ≥ 0.

Per ogni λ ∈ (0, 1) e per ogni i ∈ {1, . . . , m} avremo:

ai[λx + (1 − λ)y] =

= λ|{z}

>0

aix

|{z}

bi

+ (1 − λ)

| {z }

>0

aiy

|{z}

≤bi

(60)

Convessitá

Siano x, y ∈ Sa, ovvero

aix ≤ bi i = 1, . . . , m x ≥ 0, e

aiy ≤ bi i = 1, . . . , m y ≥ 0.

Per ogni λ ∈ (0, 1) e per ogni i ∈ {1, . . . , m} avremo:

ai[λx + (1 − λ)y] =

= λ|{z}

>0

aix

|{z}

bi

+ (1 − λ)

| {z }

>0

aiy

|{z}

≤bi

λbi + (1 − λ)bi = bi.

Ricerca Operativa – p. 33/64

(61)

Continua

Inoltre:

|{z}λ

>0

|{z}x

≥0

+ (1 − λ)

| {z }

>0

y

|{z}

≥0

≥ 0.

Quindi:

(62)

Continua

Inoltre:

|{z}λ

>0

|{z}x

≥0

+ (1 − λ)

| {z }

>0

y

|{z}

≥0

≥ 0.

Quindi:

λx + (1 − λ)y ∈ Sa.

Ricerca Operativa – p. 34/64

(63)

Continua

Inoltre:

|{z}λ

>0

|{z}x

≥0

+ (1 − λ)

| {z }

>0

y

|{z}

≥0

≥ 0.

Quindi:

λx + (1 − λ)y ∈ Sa.

La regione ammissibile Sa é un insieme convesso.

(64)

Limitatezza e illimitatezza

La regione ammissibile Sa puó essere:

= ∅

max x1 + x2

x1 ≤ −1 x1 + x2 ≤ 1

x1, x2 ≥ 0

Ricerca Operativa – p. 35/64

(65)

Limitatezza e illimitatezza

La regione ammissibile Sa puó essere:

= ∅

max x1 + x2

x1 ≤ −1 x1 + x2 ≤ 1

x1, x2 ≥ 0 un poliedro limitato (politopo)

max x1 + x2

x1 + x2 ≤ 1 x1, x2 ≥ 0

(66)

Continua

un poliedro illimitato

max x1 + x2

x1 − x2 ≤ 0 x1, x2 ≥ 0

Ricerca Operativa – p. 36/64

(67)

Ricapitolando ...

... la regione ammissibile Sa di un problema di PL é un poliedro e come tale é un iniseme chiuso e convesso.

Inoltre, puó essere un insieme vuoto, un insieme limitato (politopo) oppure un insieme illimitato.

(68)

Vertici di S

a

Si definisce vertice di Sa un punto x ∈ Sa tale che non esistono due punti distinti x1, x2 ∈ Sa, x1 6= x2, tali che

x = 1

2x1 + 1

2x2.

ovvero x é il punto medio del segmento che congiunge x1 e x2.

Ricerca Operativa – p. 38/64

(69)

Alcuni risultati

Teorema 1 Dato un problema di PL in forma canonica, se Sa 6= ∅, allora Sa contiene almeno un vertice.

(70)

Alcuni risultati

Teorema 2 Dato un problema di PL in forma canonica, se Sa 6= ∅, allora Sa contiene almeno un vertice.

Osservazione 2 Sa ha sempre un numero finito di vertici.

Ricerca Operativa – p. 39/64

(71)

Raggi

Nel caso Sa sia un poliedro illimitato possiamo anche introdurre le definizioni di raggio e raggio estremo.

Si definisce raggio di Sa un vettore r tale che

∀ x0 ∈ Sa ∀ λ ≥ 0 : x0 + λr ∈ Sa, cioé la semiretta con origine in x0 e direzione r é

completamente contenuta in Sa per qualsiasi punto x0 ∈ Sa.

(72)

Raggi estremi

Un raggio r di Sa si definisce raggio estremo di Sa se non esistono altri due raggi r1 e r2 di Sa con direzioni distinte, ovvero

r1 6= µr2 ∀ µ ∈ R, tali che

r = 1

2r1 + 1 2r2.

Osservazione 3 Sa ha sempre un numero finito di raggi estremi.

Ricerca Operativa – p. 41/64

(73)

Teorema di rappresentazione di S

a

Teorema 3 Sia dato un problema di PL in forma canonica con Sa 6= ∅. Siano v1, . . . , vk i vertici di Sa e, nel caso in cui Sa sia un poliedro illimitato, siano r1, . . . , rh i raggi estremi di Sa. Allora

x ∈ Sa se e solo se

∃ λ1, . . . , λk ≥ 0,

Xk i=1

λi = 1, ∃ µ1, . . . , µh ≥ 0

tali che

x =

Xk i=1

λivi +

Xh j=1

µjrj.

(74)

Ovvero ...

... i punti in Sa sono tutti e soli i punti ottenibili come somma di

una combinazione convessa dei vertici di Sa

una combinazione lineare con coefficienti non negativi dei raggi estremi di Sa

Quindi un numero finito di oggetti (vertici e raggi estremi) mi permettono di rappresentare tutto l’insieme Sa.

Ricerca Operativa – p. 43/64

(75)

L’insieme delle soluzioni ottime S

ott

Insieme soluzioni ottime

Sott = {x ∈ Sa : cx ≥ cx ∀ x ∈ Sa}, Sott ⊆ Sa, quindi Sa = ∅ ⇒ Sott = ∅.

(76)

Una, nessuna, infinite

Osservazione 4 Se Sott é un insieme finito e non vuoto, Sott contiene un solo punto.

Dimostrazione Per assurdo sia Sott un insieme finito e

contenga piú di un punto. Siano x1, x2 ∈ Sott, x1 6= x2, due punti distinti di Sott.

Ricerca Operativa – p. 45/64

(77)

Continua

Per l’ottimalitá di x1 e x2 si deve avere cx1 = cx2.

(78)

Continua

Per l’ottimalitá di x1 e x2 si deve avere cx1 = cx2. Per la convessitá di Sa e x1, x2 ∈ Sa:

λx1 + (1 − λ)x2 ∈ Sa ∀ λ ∈ (0, 1),

Ricerca Operativa – p. 46/64

(79)

Continua

Per l’ottimalitá di x1 e x2 si deve avere cx1 = cx2. Per la convessitá di Sa e x1, x2 ∈ Sa:

λx1 + (1 − λ)x2 ∈ Sa ∀ λ ∈ (0, 1),

Per la linearitá della funzione obiettivo ∀ λ ∈ (0, 1):

c[λx1 + (1 − λ)x2] = λcx1 + (1 − λ)cx2 = λcx1 + (1 − λ)cx1 = cx1.

(80)

Continua

Per l’ottimalitá di x1 e x2 si deve avere cx1 = cx2. Per la convessitá di Sa e x1, x2 ∈ Sa:

λx1 + (1 − λ)x2 ∈ Sa ∀ λ ∈ (0, 1),

Per la linearitá della funzione obiettivo ∀ λ ∈ (0, 1):

c[λx1 + (1 − λ)x2] = λcx1 + (1 − λ)cx2 = λcx1 + (1 − λ)cx1 = cx1. Quindi:

λx1 + (1 − λ)x2 ∈ Sott ∀ λ ∈ (0, 1)

cioé tutto il segmento che congiunge x1 e x2 é contenuto in Sott, il che contraddice la finitezza dell’insieme Sott.

Ricerca Operativa – p. 46/64

(81)

Le diverse forme possibili di S

ott

Caso 1 Sa = ∅ ⇒ Sott = ∅.

(82)

Le diverse forme possibili di S

ott

Caso 1 Sa = ∅ ⇒ Sott = ∅.

Caso 2 Sa 6= ∅ e politopo.

Politopo é insieme chiuso e limitato, funzione obiettivo é lineare e quindi continua (Teorema di Weierstrass) Sott 6= ∅.

Sono possibili due sottocasi.

Ricerca Operativa – p. 47/64

(83)

Le diverse forme possibili di S

ott

Caso 1 Sa = ∅ ⇒ Sott = ∅.

Caso 2 Sa 6= ∅ e politopo.

Politopo é insieme chiuso e limitato, funzione obiettivo é lineare e quindi continua (Teorema di Weierstrass) Sott 6= ∅.

Sono possibili due sottocasi.

Caso 2.1 Sott é costituito da un solo punto.

max 2x1 + x2

x1 + x2 ≤ 1 x1, x2 ≥ 0

(84)

Continua

Caso 2.2 Sott é costituito da un insieme infinito e limitato di punti.

max x1 + x2

x1 + x2 ≤ 1 x1, x2 ≥ 0

Ricerca Operativa – p. 48/64

(85)

Continua

Caso 3 Sa 6= ∅ e poliedro illimitato. Sono possibili quattro sottocasi.

Caso 3.1 Sott = ∅ in quanto l’obiettivo é illimitato, ovvero esiste una sequenza infinita di punti {xk} di Sa lungo cui la funzione obiettivo cresce a +∞. Formalmente:

∃ {xk} : xk ∈ Sa ∀ k e cxk → +∞ k → +∞.

max x1 + x2

−x1 + x2 ≤ 0 x1 − x2 ≤ 1

x2 ≥ 1 x1, x2 ≥ 0

(86)

Continua

Caso 3.2 Sott é costituito da un solo punto.

max −x1

−x1 + x2 ≤ 0 x1 − x2 ≤ 1

x2 ≥ 1 x1, x2 ≥ 0

Ricerca Operativa – p. 50/64

(87)

Continua

Caso 3.3 Sott é costituito da un insieme infinito e limitato di punti.

max −x2

−x1 + x2 ≤ 0 x1 − x2 ≤ 1

x2 ≥ 1 x1, x2 ≥ 0

(88)

Continua

Caso 3.4 Sott é costituito da un insieme infinito e illimitato di punti.

max x1 − x2

−x1 + x2 ≤ 0 x1 − x2 ≤ 1

x2 ≥ 1 x1, x2 ≥ 0

Ricerca Operativa – p. 52/64

(89)

Un lemma

Lemma 1 Dato un problema di PL in forma canonica, se Sott 6= ∅, allora per ogni raggio estremo r di Sa si ha:

cr ≤ 0.

(90)

Dimostrazione

Per assurdo supponiamo esista un raggio estremo r tale che

cr > 0

Ricerca Operativa – p. 54/64

(91)

Dimostrazione

Per assurdo supponiamo esista un raggio estremo r tale che

cr > 0 Sott 6= ∅ ⇒ Sa 6= ∅.

(92)

Dimostrazione

Per assurdo supponiamo esista un raggio estremo r tale che

cr > 0 Sott 6= ∅ ⇒ Sa 6= ∅.

Sia x0 ∈ Sa. Per definizione di raggio avremo che

∀ λ ≥ 0 : x0 + λr ∈ Sa.

Ricerca Operativa – p. 54/64

(93)

Dimostrazione

Per assurdo supponiamo esista un raggio estremo r tale che

cr > 0 Sott 6= ∅ ⇒ Sa 6= ∅.

Sia x0 ∈ Sa. Per definizione di raggio avremo che

∀ λ ≥ 0 : x0 + λr ∈ Sa. Valore funzione obiettivo in punti x0 + λr:

c(x0 + λr) = cx0 + λ cr

|{z}

>0

|{z}

λ→+∞

+∞

Riferimenti

Documenti correlati

in quanto il vettore nullo può essere ottenuto combinandone gli elementi (in effetti, l’unico elemento) con coefficienti diversi da 0.. Dimostrazione: anzitutto B’

allora è sempre possibile costruire una funzione peso c: U → IR in grado di far fallire l’algoritmo greedy nella ricerca di una.. Ottimalità

Esercizi di ottimizzazione combinatoria 2005-2006.

I teoremi dell’alternativa consentono di eludere la necessità di una verifica per ogni x determinando in un altro poliedro (duale di Ax < b) l’esistenza di un y che verifichi

La ricerca operativa (nota anche come teoria delle decisioni, scienza della gestione o, in inglese, operations research -"Operational Research" in Europa- e indicata con

Una compagnia ferroviaria vende i biglietti per il treno che effettua il percorso dalla città A (Napoli) alla B (Milano) effettuando tre.. fermate intermedie (Roma,

o per ogni tipo di cioccolatini non può essere utilizzata una quantità maggiore di quella disponibile. o x i : numero di confezioni del tipo Ti prodotte

Un’azienda manifatturiera prevede la seguente domanda di paia di scarpe per i prossimi tre mesi: 6000 per il primo mese, 5000 per il secondo mese, 9000 per il terzo mese..