Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Ricerca Operativa Teoria seconda parte, Appunti di Ricerca Operativa

Teoria di ricerca operativa dalla teoria della dualità alla PLI

Tipologia: Appunti

2025/2026

In vendita dal 15/01/2026

353729EC
353729EC 🇮🇹

4.7

(6)

20 documenti

1 / 20

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Teoria della dualità
La teoria della dualità fa riferimento alla fase di post-ottimalità; infatti, una
volta risolto un problema di PL, è possibile valutare tali soluzioni appurando se
esse siano stabili o meno.
In questa fase ricaveremo la forma duale, la quale viene costruita perché
permette di interpretare il problema originario da un punto di vista
alternativo e più informativo: il duale misura, infatti, il valore “ombra” delle
risorse, fornisce limiti superiori o inferiori alla soluzione del primale e
consente di capire come varia la soluzione ottima al variare dei parametri.
Consideriamo il seguente problema in forma standard:
Min CTX
Soggetto ai vincoli:
Ax
=
b
x
0
n
La forma duale del seguente problema in forma standard (Ps) è la seguente:
Max bTW
Soggetto ai vincoli
ATW C
Si noti come in questo caso le variabili decisionali non siano più le X, ma sono
le W. Il vettore di riferimento sarà infatti il vettore W, vettore m dimensionale, il
quale viene detto “vettore delle variabili decisionali duali”.
In particolare, si parlerà di coppia primale-duale.
Se il primale aveva n variabili decisionali, il duale avrà m variabili decisionali.
(avrà m variabili decisionali per quanti m vincoli sono presenti nel primale).
Il primo problema considerato viene chiamato PRIMALE, il suo DUALE è il
problema riportato successivamente. Con Ps indichiamo il primale, con Ds
indichiamo il duale.
Le regole principali per passare da primale a duale vengono così sintetizzate:
PRIMALE
DUALE
DUALE
PRIMALE
Min Max
Vincoli
Variabile non
negativa
Vincoli
¿
Variabile
libera in
segno
Vincoli
Variabile non
positiva
Variabile non
negativa
Vincoli
Variabile
libera in
segno
Vincoli
¿
Variabile non
positiva
Vincoli
In particolare, analizzando caso per caso si avrà:
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14

Anteprima parziale del testo

Scarica Ricerca Operativa Teoria seconda parte e più Appunti in PDF di Ricerca Operativa solo su Docsity!

Teoria della dualità

La teoria della dualità fa riferimento alla fase di post-ottimalità ; infatti, una

volta risolto un problema di PL, è possibile valutare tali soluzioni appurando se

esse siano stabili o meno.

In questa fase ricaveremo la forma duale, la quale viene costruita perché

permette di interpretare il problema originario da un punto di vista

alternativo e più informativo : il duale misura, infatti, il valore “ombra” delle

risorse, fornisce limiti superiori o inferiori alla soluzione del primale e

consente di capire come varia la soluzione ottima al variare dei parametri.

Consideriamo il seguente problema in forma standard:

Min C

T

X

Soggetto ai vincoli:

Ax = b

x ≥ 0

n

La forma duale del seguente problema in forma standard (Ps) è la seguente:

Max b

T

W

Soggetto ai vincoli

A

T

W ≤ C

Si noti come in questo caso le variabili decisionali non siano più le X, ma sono

le W. Il vettore di riferimento sarà infatti il vettore W, vettore m dimensionale, il

quale viene detto “vettore delle variabili decisionali duali”.

In particolare, si parlerà di coppia primale-duale.

Se il primale aveva n variabili decisionali, il duale avrà m variabili decisionali.

(avrà m variabili decisionali per quanti m vincoli sono presenti nel primale).

Il primo problema considerato viene chiamato PRIMALE , il suo DUALE è il

problema riportato successivamente. Con Ps indichiamo il primale, con Ds

indichiamo il duale.

Le regole principali per passare da primale a duale vengono così sintetizzate:

PRIMALE → DUALE

DUALE ← PRIMALE

Min Max

Vincoli ≥ Variabile non

negativa

Vincoli ¿ Variabile

libera in

segno

Vincoli ≤ Variabile non

positiva

Variabile non

negativa

Vincoli ≤

Variabile

libera in

segno

Vincoli ¿

Variabile non

positiva

Vincoli ≥

In particolare, analizzando caso per caso si avrà:

- PRIMALE DI MINIMO  DUALE DI MASSIMO

- VINCOLI DI MAGGIORE UGUALE NEL PRIMALE  VINCOLI DI NON

NEGATIVITÀ PER LE VARIABILI DUALI

Consideriamo il seguente problema Primale:

Min C

T

X

Soggetto ai vincoli:

Ax ≥ b

x ≥ 0

n

il problema non è in forma standard per via dei vincoli di maggiore uguale, per

questo sottraiamo una variabile di surplus:

Min C

T

X

Soggetto ai vincoli:

Ax − S = b

x ≥ 0

n

; S ≥ 0

m

Poiché adesso le variabili sono diventate anche le S, le includiamo nella

funzione obiettivo, per questo il problema può essere anche scritto come:

Min C ' X + 0

m

S

Soggetto ai vincoli:

Ax − Is = b

x ≥ 0

n

; S ≥ 0

m

Possiamo scriverlo in forma matriciale come:

Min

[

C

T

m

T

]

[

X

s

]

Soggetto ai vincoli:

[ A − I ]

[

X

S

]

= b

x ≥ 0

n

; S ≥ 0

m

Otteniamo in duale del problema in forma standard:

Max b

T

w

Soggetto ai vincoli:

[ A − I ]

T

w ≤

[

C

m

]

Possiamo scrivere anche (sviluppando i vincoli):

Max b

T

w

Soggetto ai vincoli:

A

T

w ≤ c

− I

T

w ≤ 0

m

Max b

T

w

Soggetto ai vincoli:

A

T

w ≤ c

I

T

w ≥ 0

m

Cambio il segno della disequazione, perché ho cambiato di segno anche la

matrice! Sappiamo inoltre che la matrice identità (I) che moltiplica un vettore =

vettore, quindi ciò equivale a scrivere:

La matrice identità che moltiplica un vettore è uguale al vettore stesso, per

questo scriviamo:

w ≤ 0

m

Si avrà dunque:

Max b

T

w

Soggetto ai vincoli:

A

T

w ≤ c

w ≤ 0

m

Si ricava che se nel primale ci sono vincoli di minore uguale, allora nel duale

appaiono vincoli di non positività per le variabili duali.

- VARIABILI LIBERE IN SENGO NEL PRIMALE  VINCOLI DI UGUALE NEL

DUALE

Consideriamo il seguente problema:

Min C

x

T

x + C

y

T

y

Soggetto ai vincoli:

A

x

x + A

y

y = b

x ≥ 0

n

capiamo bene come Y sia una variabile libera in segno, quindi immaginiamo

che: x ∈ R

n

e y ∈ R

p

(insieme delle variabili libere in segno).

Sappiamo che le variabili libere in segno le trattiamo sostituendole con la

somma del loro reciproco (?)

y = y

+¿− y

−¿ ¿

¿

che in forma matriciale significherebbe scrivere:

[

y

1

y

P

]

Min C

x

T

x + C

y

T

( y

+¿− y

−¿ )¿

¿

Soggetto ai vincoli:

A

x

x + A

y

( y

+¿− y

−¿ )= b ¿

¿

x ≥ 0

n

; y

+¿ ; y

−¿ ≥ 0 P

¿

¿

si ha al seguente forma duale (in forma matriciale):

Max b

T

w

Soggetto ai vincoli:

[

A

x

A

y

− A

y

]

T

w =

[

Cx

Cy

− Cy

]

Sviluppando i termini:

Max b

T

w

Soggetto ai vincoli:

A

x

T

w ≤ Cx

A

y

T

w ≤ Cy

− A

y

T

w ≤ − Cy

In questo ultimo vincolo cambio tutto di segno! Ottengo pertanto:

Max b

T

w

Soggetto ai vincoli:

A

x

T

w ≤ Cx

A

y

T

w ≤ Cy

A

y

T

w ≥ Cy

Questi ultimi due vincoli sono in contraddizione tra di loro, ma essi sono

soddisfatti quando vale il vincolo di uguaglianza A

y

T

w = Cy. Arriviamo quindi a

scrivere:

Max b

T

w

Soggetto ai vincoli:

A

x

T

w ≤ Cx

A

y

T

w = Cy

Ricaviamo quindi che quando nel primale sono presenti variabili libere in

segno, ad esse corrispondono vincoli di uguaglianza nella forma duale.

- PRIMALE DI MASSIMO  DUALE DI MINIMO

Consideriamo il seguente problema:

Max C

T

x

Soggetto ai vincoli:

Ax = b

x ≥ 0

n

non è in forma standard (per via della funzione di massimo), per questo

scriviamo:

(−) Min − C

T

x

Soggetto ai vincoli:

Ax = b

x ≥ 0

n

Forma duale:

(−) Max b

T

w

Soggetto ai vincoli:

A

T

w ≤ − c nota come la C si trascini il segno (-)

Ponendo w =− w ottengo:

Min b

T

w

Soggetto ai vincoli:

A

T

w ≥ c

Deduciamo quindi che se il primale è di massimo, il duale è di minimo.

RICORDA CHE:

ogni variabile del duale corrisponde a un vincolo del primale e che ogni termine

noto del duale corrisponde ai coefficienti di costo nel primale. I vincoli del duale

vengono composti considerando le colonne dei vincoli del primale. Il segno dei

vincoli e delle variabili decisionali si deciderà in base alle casistiche.

TEOREMI DI DUALITÀ

I teoremi di dualità sanciscono il legame tra forma primale e forma duale, in

modo tale che è possibile risolvere il duale attraverso i metodi che conosciamo

per il primale.

Nel problema primale di minimizzazione, qualsiasi soluzione ammissibile del

duale fornisce un limite inferiore al valore ottimo del primale, poiché per la

dualità debole vale sempre bTw ≤ CTxb^T w \le C^T xbTw≤CTx. Allo stesso

tempo, ogni soluzione ammissibile del primale costituisce un limite superiore

all’ottimo, in quanto il valore dell’obiettivo può soltanto diminuire durante il

processo di minimizzazione. Di conseguenza, il valore ottimo del primale è

sempre compreso tra questi due limiti, che coincidono solo in presenza di

soluzioni ottime per entrambi i problemi.

  • TEOREMA DI DUALITA’ FORTE: Se il problema primale ammette

soluzione ottima X, allora il duale ammette come soluzione ottima W.

Pertanto, vale che:

b

T

w = C

T

x

Cioè i valori di funzione obiettivo del duale e del primale coincidono (quelli che

negli esercizi chiamiamo Z* e π ∗¿).

  • TEOREMA 4: Se il problema primale è illimitato, il corrispondente

problema duale è privo di soluzioni ammissibili. È inammissibile.

Dimostrazione: Per ipotesi il primale è illimitato. Ciò significa che esiste una

successione di soluzioni ammissibili X1; X2; X3; tale che

lim

k → ∞

C

T

x =− ∞

(il

valore di funzione obiettivo tende a meno infinito).

Se il duale ammettesse una soluzione ammissibile w, secondo il teorema di

dualità debole dovrebbe valere:

b

T

w ≤ − ∞

Ciò costituirebbe una elazione assurda, poiché nessun valore è minore di meno

infinito. Questo dimostra che se il problema primale è illimitato, il problema

duale è inammissibile.

  • TEOREMA 4 BIS: se il problema primale è inammissibile, allora il duale

potrebbe:

o Essere inammissibile

o Essere illimitato

- T EOREMA DEGLI SCARTI COMPLEMENTARI:

consideriamo la coppia Ps-Ds

Min c

T

x

Soggetto ai vincoli

Ax = b

x ≥ 0

n

Max b

T

w

Soggetto ai vincoli:

A

T

w ≤ c

w ≥ 0

m

scrivendo i due problemi specificando i vincoli si avrà:

Min c

T

x Max b

T

w

a

i

x = b

i

w

T

A

j

≤ c

j

x ≥ 0

n

w ≥ 0

m

due soluzioni x e w ammissibili rispettivamente per Ps e Ds sono ottime se e

solo se valgono le relazioni di complementarietà :

( c

j

∗ w

T

A

j

) x

j

J=1;…;n

Dimostrazione:

dimostriamo prima la necessità (cioè che quando si è all’ottimo valgono queste

relazioni) e poi la sufficienza.

X e W sono ottime, per il teorema di dualità forte allora varrà:

b

T

w = c

T

x

w

T

b = C

T

x

w

T

b − C

T

x = 0

C

T

x − w

T

b + w

T

Ax − w

T

Ax = 0

Metto in evidenza x

( C

T

− w

T

A ) x + w

T

( Ax − b )= 0

Poiché x è ottima e anche ammissibile ottengo 0. (anche perché Ax = b )

Quindi ho:

( C

T

− w

T

A ) x = 0

Siccome sia ( C

T

− w

T

A ) e sia x sono due vettori non negativi, l’unico modo

per avere 0 nell’uguaglianza è il seguente:

( c

j

∗ w

T

A

j

) x

j

A

T

w ≤ c

Faccio il trasposto ad entrambi i membri, quindi:

w

T

a ≤ C

T

w

T

a − C

T

n

Dimostrazione:

immagino di avere il prodotto scalare di due vettori non negativi:

[

a

1

; a

2

; ... ; a

n

]

[

b

1

b

n

]

a

T

b = a

1

b

1

  • a

2

b

2

+...+ a

n

b

n

Se a

T

b = 0 , allora significa che i singoli prodotti sono tutti uguali a 0 (

a

1

b

1

+ a

2

b

2

+...+ a

n

b

n

SUFFICIENZA: per dimostrare la sufficienza i ragionamenti fatti si ripetono al contrario.

- TEOREMA 6 (TEOREMA DEGLI SCARTI COMPLEMENTARI)

Si consideri la seguente coppia P-D (prima e duale)

Min C

T

x Max b

T

w

Sv:

a

i

x ≥ b

i

w

T

Aj ≤ C

j

x ≥ 0

n

w ≥ 0

m

la disuguaglianza non è verificata. In prossimità di linee continue ci saranno i

valori entro cui k sarà compreso.

Una variante di questo esercizio è quando si pone che x1 all’ottimo è ≠ 0 e

viene chiesto quanto vale all’ottimo w1. IS procede sempre attraverso la

relazione: ( c

j

− w

T

A

j

) x

j

In questo caso, sapendo che x1 è diverso da 0 si risolve solo l’equazione del

vincolo associato a x1 e riferito a w1.

Stesse considerazioni, però al contrario valgono per il caso opposto (cioè

quando prendo in riferimento il caso in cui, avendo le soluzioni del duale debba

trovare le soluzioni del primale)

Soluzione complementare

Un qualunque problema di PL può essere ricondotto alla forma standard e da

questa si può ricondurre alla forma canonica.

Consideriamo il seguente problema di PL in forma standard:

Min C

T

x

Soggetto ai vincoli:

Ax = b

x ≥ 0

n

andiamo a scindere tra variabili di base e non di base:

Min CB

T

X

B

+ CN

T

X

N

Soggetto ai vincoli:

A

B

X

B

+ A

N

X

N

= b

X

B

m

X

N

n − m

Arriviamo alla forma canonica (dopo diversi passaggi):

Min CB

T

A

B

− 1

+( C

N

T

− C

B

T

A

B

− 1

A

N

) X

N

Soggetto ai vincoli:

IX

B

+ A

B

− 1

A

N

X

N

= A

B

− 1

b

X

B

m

; X

N

n − m

In cui:

- CB

T

A

B

− 1

 d

( C

N

T

− C

B

T

A

B

− 1

A

N

C

N

T

- A

B

− 1

A

N

A

N

  • A

B

− 1

b  b

Questa forma è canonica se

b ≥ 0

m

(quindi se le b sono positive) e a questa

forma canonica è associata la seguente soluzione di base:

X =

[

X

B

X

N

]

[

A

B

− 1

b

n − m

]

[

b

n − m

]

  • soluzione di base ammissibile

Il valore di funzione obiettivo di questa soluzione è Z = C

B

T

A

B

− 1

b = d

Se CN è un vettore non negativo allora questa soluzione è ottima.

La forma canonica serve a costruire una soluzione di base mettendo le variabili

non di base a zero.

Da lì puoi vedere subito se la soluzione è ammissibile (tutte le bbb ≥ 0) e se è

ottima (tutti gli scarti ≥ 0).

In pratica, spiega matematicamente perché il simplesso funziona.

Il duale corrispondente si può scrivere come segue:

Max b

T

w

Soggetto ai vincoli:

A

T

w ≤ C

Dato l’insieme B possiamo scrivere il duale come:

Max b

T

w Max b

T

w

Soggetto ai vincoli: Soggetto ai vincoli:

[

A

B

A

N

]

w ≤

[

C

B

C

N

]

A

B

T

w ≤ C

B

A

N

T

w ≤ C

N

Cambiando il trasposto si avrà:

Max b

T

w

Soggetto ai vincoli

w

T

A

B

≤ C

B

T

w

T

A

N

≤ C

N

T

SI definisce soluzione complementare X, il vettore: w

T

= C

B

T

A

B

− 1

in cui:

C

B

 è un vettore riga con tanti coefficienti quante sono le variabili di

base

A

B

− 1

 è una matrice m x m quindi:

( 1 ∗ m )( m ∗ m )=( 1 ∗ m )

In cui (1*m) è C

B

T

e (m*m) è A

B

− 1

Questa potrebbe essere una soluzione del duale e non del primale perché

consideriamo m numeri (righe) e non n (colonne).

Le dimensioni delle soluzioni complementari ci dicono che esse possono essere

una soluzione duale. Tuttavia, tale soluzione ammissibile per il duale se è

ottima per il primale.

Quando separi le colonne di base e non di base, puoi costruire dal primale un

vettore www che è una possibile soluzione del duale.

Questo w=CBTAB−1w = C_B^T A_B^{-1}w=CBTAB−1 ha la dimensione giusta

per il duale, ma rispetta i suoi vincoli solo se la base del primale è davvero

ottima.

Per questo si chiama soluzione complementare : primale e duale coincidono

solo all’ottimo.

DIMOSTRAZIONE:

Se X è ottima allora

C

N

n − m

C

N

T

= C

N

T

− C

B

T

A

B

− 1

n − m

T

Tecnicamente ciò vuol dire che:

C

N

T

≥ C

B

T

A

B

− 1

A

N

C

B

T

A

B

− 1

w

T

è la soluzione complementare

0 --- 0 C

m + 1

---- C

k

--- C

n

--- d

1 --- --- a 1

m + 1

--- a 1

k

--- a 1

n

--- b

1

--- 1 --- ah

m + 1

--- ah

k

--- ah

n

--- b

h

--- --- 1 am

m + 1

--- am

k

--- am

n

--- b

m

Per avere la forma canonica duale è necessario avere le C>=0 a prescindere

dalle b (che possono essere sia positive che negative). Si arriva all’ottimo

quando anche le b sono positive.

Il metodo del simplesso duale genere e parte da forme canoniche duali.

Schematizzando i vari passi avremo:

- VERIFICA OTTIMALITÀ

Se b

i

≥ 0 ∀ i = 1 ; ... ; m la soluzione di base corrente è ottima

- SCELTA DELLE RIGA DI PIVOT

Se esiste

b

h

allora si sceglie h come riga di Pivot

- VERIFICA DI INAMMISSIBILITÀ

Se in corrispondenza di

b

h

si ha

a

hj

∀ j allora il problema è

inammissibile

- SCELTA DELLA COLONNA DI PIVOT

Tra le colonne j con

a

hj

si sceglie la colonna k tale che:

C

k

a

hj

= Max

C

j

a

hj

con a

hj

- PIVOTING

Si esegue il pivoting con pivot

a

hk

Analisi di sensitività

Essa permette di capire come cambia l’ottimo al variare dei parametri e dei

vincoli. Consideriamo solamente la variazione di b e l’aggiunta di un vincolo.

Essa è importante per comprendere il concetto di prezzi ombra, mentre

l’aggiunta di un vincolo serve per trattare i modelli di PLI.

VARIAZIONE DEL VETTORE b

Si consideri di avere una variazione pari a δ del termine

b

i

, si vuole

comprendere cosa succede se varia soltanto un termine alla volta e non tutti i

termini insieme. Dopo la perturbazione, il nuovo vettore determini noti diventa

il seguente:

b ' = b + δ

ei

esprimendolo in forma matriciale:

[

b

1

b

i

b

m

]

[

]

[

b

1

b

i

b

m

]

[

]

[

b

i

b

i

b

m

]

Riscrivendo il tableau per capire cosa varia si avrà:

m

T

C

N

T

= C

N

T

− C

B

T

A

B

− 1

A

N

− d =− C

B

T

A

B

− 1

b

I A

N

= A

B

− 1

A

N

b = A

B

− 1

b

La parte sinistra non cambia, mentre la parte destra dipende da B e suggerisce

una variazione al variare di B. La matrice ottima resta tale se b è non negativo.

A

B

− 1

b ' ≥ 0

m

A

B

− 1

( b + δ

ei

)= A

B

− 1

b + A

B

− 1

ei

b + A

B

− 1

( δ

ei

m

Quest’ultima è la formula per effettuare l’analisi di sensitività da usare negli

esercizi.

Per quanto riguarda gli esercizi. Può chiedere di effettuare l’analisi di sensitività

una volta che si è all’ottimo. Utilizza questa formula:

b + A

B

− 1

ei

m

Dove per:

b

 si intende la matrice dei termini noti

  • A

B

− 1

 si intende la matrice degli indici non di base (ad esempio, in una

matrice con 4 colonne, se 1 e 2 sono di base, allora 3 e 4 saranno quelli

non di base)

ei

 si intende la matrice dei delta di variazione. In questo caso, se

nell’esercizio viene specificato di far variare b2, allora il delta nella

matrice lo metti in posizione della riga 2 e nelle altre righe metti 0).

m

 matrice nulla, composta da soli 0.

In questo modo si potrà determinare l’intervallo entro cui la base ottima reta

ottima.

Una volta che si hanno gli esercizi infatti si mettono a sistema le due

disequazioni risultati, determinando i valori entro cui delta varierà.

Un’altra tipologia di esercizio potrebbe essere il continuo dell’analisi di

sensitività, ad esempio, ponendo b=6 chiede di calcolare la nuova soluzione

ottima e il suo valore di funzione obiettivo.

In questo caso, bisogna controllare prima se la variazione rientra nel range di

variazione prima individuato (facendo sostanzialmente la differenza tra il valore

di B dato adesso nell’esercizio e il valore di B nel Tab della precedente

soluzione ottima). In tal modo, vediamo se la variazione rientra nel range

ottimo.

Si va poi a considerare il Tableau:

m

T

C

N

T

= C

N

T

− C

B

T

A

B

− 1

A

N

− d =− C

B

T

A

B

− 1

b

I A

N

= A

B

− 1

A

N

b = A

B

− 1

b

In cui a sinistra prima riga si ha la formula della nuova funzione obiettivo (

Z = C

B

T

A

B

− 1

b = C

B

T

∗( b + A

B

− 1

δ

ei

). In cui C

B

T

è il vettore dei coefficienti di costo,

tableau iniziale, insieme di indici ottimi.

Nel momento in cui non si è più nel range di variabilità; quindi, il delta è fuori

dal range (dall’intervallo), aspetto che qualche termine b diventi negativo. Nel

momento in cui abbiamo b negativo (andando a risolvere le b moltiplicando per

il delta richiesto) vado a risolvere con il metodo del simplesso duale.

Introduzione di un ulteriore vincolo

Consideriamo di introdurre un nuovo vincolo come il seguente:

Δ Z = Z ' − Z = C

B

T

A

B

− 1

( b + δ

ei

)− C

B

T

A

B

− 1

b

¿ C

B

T

A

B

− 1

b + C

B

T

A

B

− 1

ei

)− C

B

T

A

B

− 1

b

Semplifico perché sono uguali per l’ipotesi che ho fatto prima, cioè che la B

ottima non cambia, o meglio, che delta è tale da non modificare B).

∆ Z = C

B

T

A

B

− 1

(

ei

)

Dove C

B

T

A

B

− 1

è la soluzione complementare che all’ottimo è la soluzione del

duale, quindi possono scrivere: w

T

ei

[

w

1

; ... ; w

i

; ... ; w

m

]

[

]

= w

i

i

Poiché tutte le w vanno poi a moltiplicare 0.

Segue che:

w

i

∆ Z

INTERPRETAZIONE:

w

i

All’ottimo rappresenta la variazione del valore di

funzione obiettivo quando un’unità in più di bi si rende disponibile (cioè bi+1 se

delta =1, allora si avrà che

w

i

= ∆ Z

Ciò vale a condizione che una tale variazione di bi non moltiplichi la base

ottima.

In un modello di produzione, se bi rappresenta la disponibilità di una risorsa

produttiva (i-esima) e la base resta immutata se un’unità in più di bi si rende

disponibile, allora wi rappresenta il valore marginale della risorsa produttiva,

il prezzo ombra.

Per quest’ultimo si intende il valore che una risorsa ha nel proprio sistema

produttivo , se un’unità in più viene immessa nel processo produttivo. In

particolare, esso è diverso dal valore di mercato.

Problemi di PLI (programmazione lineare intera)

La PLI comprende problemi con variabili intere di tipo generale , cioè

variabili che possono assumere un qualunque numero intero. Esistono problemi

di PLB, quelli di tipo binario in cui le variabili possono assumere solo valori

come 0 e 1. Dunque, i problemi di PLI possono anche avere delle variabili

binarie.

In generale, problemi con risposta si o no sono problemi che rientrano in questo

novero. In altri termini la PLbinaria è un sotto caso della programmazione

lineare intera.

Esiste un ulteriore gruppo cioè la programmazione lineare miste , cioè

quando il problema ha variabili intere e variabili reali-continue. Ad

esempio, consideriamo un modello di produzione con prodotti che si misurano

in kg e altri prodotti che si misurano in unità di prodotto (quindi non in kg).

I metodi che vedremo adesso risolvono problemi di:

 PLI

 PLB

 PLM

I metodi sono:

Metodo del Branch & Bound

Metodo di Gomory

Ci concentreremo solo sulla risoluzione di PLI con variabili di tipo generale.

Il concetto fondamentale nell'ambito della PLI è quello di RILASSAMENTO.

Questo fa riferimento all'eliminazione di qualche vincolo (anche solo uno).

Nell'ambito della PLI si fa un cd RILASSAMENTO CONTINUO , cioè si

eliminano vincoli di interezza.

Si sta generando il cd rilassato continuo (lo stesso problema senza i vincoli di

interezza).

Si passa dunque da un problema di PLI (con vincoli di interezza) a un problema

senza vincoli di interezza P’ che costituisce il suo

rilassato continuo.

La regione ammissibile di un problema di PLI viene costruita considerando solo

le coordinate intere (vedi figura 1).

Nel caso della programmazione lineare intera, non è presente il teorema

fondamentale, dunque, si passa da un’idea di continuità ad un’idea quasi

meccanica nel trovare le soluzioni ottime, proprio in mancanza di un teorema

che suggerisce di cercare tra le soluzioni di base.

Indichiamo con Z il valore ottimo di P, problema di programmazione lineare

intera, il valore ottimo del suo rilassato continuo Zr sarà migliore, sempre per lo

stesso ragionamento fatto precedentemente: il rilassato continuo infatti è lo

stesso problema di programmazione lineare intera al netto dei vincoli di

interezza; dunque, non può che essere migliore il suo valore di funzione

obiettivo è anche di ottimo.

Si avrà dunque:

Z ≤ Z

R

per i problemi di Max

Z ≥ Z

R

per i problemi di Min

Z non è mai migliore di Zr.

In particolare:

  • Se la soluzione ottima di Pr (rilassato continuo)

è ammissibile anche per P (PLI) allora sarà

ottima anche per P.

  • Se Pr è inammissibile, allora P è

inammissibile.

  • Se Pr è illimitato, allora P è illimitato o

inammissibile.

NB!! MAI APPROSSIMARE LE VARIABILI CON

NUMERI FRAZIONARI (AD ES 1,8 IN 2)!!

Figura 1

Separare un problema significa generare dei sottoproblemi le cui regioni

formano delle sotto regioni del problema di partenza , le quali sono

disgiunte e se unite , insieme formano la regione di partenza , resta fuori

una parte che corrisponde ad una parte in cui non ci sono soluzioni.

Ciò nell'albero si traduce dicendo che PO ( nodo radice ) ha due discendenti :

P1 e P2.

Se sappiamo risolvere solo P1, partizioni solo P2 in due nodi foglia : P3 e P4.

P1,P3, P4 formano il problema di partenza , dunque quando si partiziona

non ci si sta perdendo alcuna soluzione contenuta nella regione ammissibile di

Pr.

Resta da capire se e come separare un problema.

CRITERI DI CHIUSURA

non si separa un problema Ph (cioè questo problema si chiude) se:

  • Il suo rilassato continuo è inammissibile (perché è anch'esso

inammissibile)

  • La soluzione del rilassato continuo ha tutte coordinate intere
  • Si hanno elementi per concludere che la soluzione ottima del

problema di PLI originario non si trova nella regione ammissibile

di Ph.

Quindi sappiamo che un problema si separa quando non lo riesco a risolvere,

l'ultima condizione ci fa capire di chiudere un problema perché li sicuramente

la soluzione ottima non c'è.

Se un problema lo devo separare, allora vuol dire che ci sono variabili

frazionarie.

Sia xj una variabile che assume valori frazionari. Tale variabile è sicuro di

base (quelle non di base valgono 0). Scriviamo:

⌊ x

j

⌋ per indicare di cercare la parte intera inferiore

⌊ x

j

⌋ = k

Con k ≤ x

j

≤ k + 1

Questa variabile è detta di branching (di ramificazione, è la variabile che

consente di separare il problema).

Il problema Ph da separare genera due figli P1 e P2, in cui:

  • P1 si aggiunge il vincolo x

j

≤ k

  • P2  si aggiunge il vincolo:

x

j

≥ k

Il problema figlio ha dunque un vincolo in più.

L’ottimo deve scomparire nel momento in cui si aggiunge il nuovo vincolo,

altrimenti continueremo a simularlo. , escludo l’ottimo che può assumere valori

reali e dunque non rientrare nella PLI. Spezzettando la regione con quelle dei

problemi figli riesco a trovare delle soluzioni ottime intere.

Può capitare che ci sia più di una soluzione frazionaria, per scegliere la variabile

di branchig, si sceglie una variabile che ci piace a patto che sia frazionarie (su

un numero intero, non si può fare branching).

Per convenzione, prendo la variabile più frazionaria di tutte, cioè quella più

lontana dal suo intero. Empiricamente, infatti, si è dimostrato come sia meglio

fare branding sulle variabili frazionarie per arrivare prima la soluzione ottima.

SCHEMA DI RISOLUZIONE: PER PROBLEMI DI MINIMO

  1. Poni q=0 e

L =

{

P

0

}

. Si indichi con x la migliore soluzione ammissibile

disponibile. Essa è detta INCOMBENTE e con Z il suo valore di funzione

obiettivo.

1. Se L = ∅ ; STOP Se Z <+ ∞ allora l’ottimo di

P

0

è x , altrimenti

P

0

è

inammissibile.

  1. Estrai dalla lista L un problema

P

h

(useremo la regola FIFO per

convenzione)

  1. Risolvi il rilassato continuo di

P

h

(indicato con

P

h

4. CRITERI DI CHIUSURA

a. Se

P

h

è inammissibile, torna al passo 1 (di fatto lo si sta

chiudendo, poiché se Pr è inammissibile anche P lo è)

b. Se

P

h

ha una soluzione a coordinare intere e il suo valore di

funzione obiettivo è < di Z , allora aggiorna x e Z e torna la passo

1; altrimenti torna al passo 1.

c. Se

P

h

ha una soluzione ottima non ammissibile per P0 e il suo

valore di funzione obiettivo è maggiore o uguale di Z , torna al

passo 1 (criterio del limite)

Se infatti P1 e P2 hanno tutto di P0, la funzione obiettivo peggiora quando si

scende ai figli, la Z di P0 è peggio di quella di P0’.

  1. Separa Ph nei sotto problemi Pq+1 e Pq+2. Aggiungi questi sotto

problemi a L, poni q=q+2 e torna al passo 1.

Algoritmi dei piani di taglio

Un approccio alternativo al metodo del B&B sono gli algoritmi dei piani di

taglio. La differenza sostanziale sta nel non partizionare la regione ammissibile

ma nel tagliarla. Dunque, tutti gli algoritmi di taglio risolvono il rilassato

continuo dei problemi di PLI. Se li non si trova la soluzione, si taglia la regione

fino a quando non si arriva a un ottimo. Tagliando la regione il valore di

funzione obiettivo non potrà mai migliorare.

Gli algoritmi di taglio tendono alla copertura convessa. Essi tagliano la regione

ammissibile in modo tale da ottenere la copertura convessa e a volte si

fermano prima di avere quest’ultima. Quando sei arriva alla copertura

convessa, sicuramente si troverà risolvendo il rilassato continuo la soluzione

ottima. Una volta che si arriva la copertura convessa, quindi, una volta arrivati

alla soluzione coordinate intere, non si può tagliare ulteriormente (si è già

arrivati ad un ottimo intero).

Gli algoritmi di piani di taglio tendono ad ottenere la copertura convessa

introducendo piano di taglio che rimpiccioliscono la regione ammissibile del

rilassato continuo.

Dando una definizione:

  • Un piano di taglio è un vincolo che elimina l’ottimo corrente e non elimina

nessuna delle soluzioni coordinate intere.

Vedi appunti seconda parte pag 64