matematica computazionale(6cfu) ottimizzazione · 2016. 1. 22. · matematica computazionale,...

59
1 Corso di Laurea in Infomatica Corso di Laurea in Matematica Matematica Computazionale(6cfu) Ottimizzazione(8cfu) (a.a. 2013-14, lez.3) Docente: Marco Gaviano (e-mail:[email protected])

Upload: others

Post on 03-Oct-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

1

Corso di Laurea in Infomatica

Corso di Laurea in Matematica

Matematica Computazionale(6cfu)

Ottimizzazione(8cfu)

(a.a. 2013-14, lez.3)

Docente: Marco Gaviano

(e-mail:[email protected])

Page 2: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

2

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Problema generale della programmazione lineare (PL)

Il problema più generale della programmazione lineare

consiste nella ricerca dell'ottimo (minimo o massimo) di una

funzione lineare di variabili soggette a vincoli lineari

(equazioni o disequazioni) chiamate vincoli.

La funzione da ottimizzare si chiama funzione obbiettivo.

Page 3: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

3

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Un problema di LP ha dunque la seguente formulazione

Problema PL (forma canonica)

Nj0,x

MMidxa

Midxa

asoggetta

xcza)(massimizzminimizza

j

1

n

1j

ijij

1

n

1j

ijij

n

1j

jj

Page 4: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

4

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

In cui si è usata la notazione

• M={1,2,...,m}: insieme degli indici dei vincoli;

• N={1,2,...,n}: insieme degli indici delle variabili;

• M1 sottoinsieme di M; N1 sottoinsieme di N;

• A= (aij), iM, j N: matrice m x n di numeri reali;

• aj: la j-ma colonna di A;

• ai : l'i-ma riga di A

• x[x1,…,xn]T, vettore colonna con n componenti;

• c[x1,…,xn], vettore riga con n componenti;

• d[x1,…,xm]T, vettore colonna con m componenti;

Page 5: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

5

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

0,xMMi,dxa

Mi,dxaasoggetta

cxza)(massimizzminimizza

1i

i1i

i

In forma compatta il problema si scrive

Problema PL (forma canonica)

Page 6: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

6

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Nel risolvere un problema di PL si considera in generale

la formulazione standard. Questa la si ottiene sfruttando

le seguenti proprietà

minimo di f(x) = - massimo di -f(x)

Ciò permette di considerare solo problemi di minimo.

Inoltre le disequazioni possono supporsi tutte dello

stesso tipo (). Infatti, se ciò non si verificasse è

sufficiente moltiplicare per -1 le disequazioni col segno

().

Page 7: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

7

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Le diseguaglianze

aixdi e aixdi

possono essere sostituite dalle relazioni

Le variabili sono chiamate variabili di scarto (slack

variable). Ovviamente esse non devono influenzare la

funzione da ottimizzare. Pertanto ad esse si assegna nella z=cx

un coefficiente nullo .

0,

0,

s

ii

s

i

i

s

ii

s

i

i

xdxxa

xdxxa

s

ix

Page 8: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

8

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Problema PL(forma standard)

(Si farà riferimento a questa formulazione)

,0

minimizza

xdAxcxz

Page 9: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

9

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Definizioni

• programma (o soluzione ammissibile, feasible

solution): una n-pla di valori che soddisfa tutti i

vincoli compresi quelli di non-negatività.

• soluzione non ammissibile: una n-pla di valori

che soddisfa tutti i vincoli eccetto quelli di non

negatività.

• programma ottimale: un programma finito (tutte le

variabili sono finite) che minimizza la funzione

obiettivo z.

Page 10: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

10

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

• base B: ogni insieme di m vettori colonna aj linearmente

indipendenti.

• variabili di base: m variabili associate con le colonne di

una base B, costituiscono un sottovettore xB di x.

• variabili secondarie: sottovettore xR complementare a xB

su x, (x[xB,xR], riordinando le variabili).

Il sistema di equazioni Ax = d è supposto composto di

equazioni linearmente indipendenti (m<n, rango di A

uguale ad m) ed avente più di una soluzione.

Page 11: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

11

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

La matrice A può considerarsi formata da 2 matrici B ed R,

con R le colonne di A non contenute in B (A [ B,R],

riordinando le variabili). Il sistema dei vincoli Ax=d può

scriversi come

[ B, R] [xB, xR]T=d.

Se B è una base e le n-m variabili secondarie (relative a R)

sono poste uguali a zero si ottiene un sistema di m equazioni

in m incognite

BxB= d

Page 12: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

12

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

che possiede una unica soluzione

xB= B-1d.

• Il vettore [xB, xR] con xB= B-1d e xR =0 è

chiamato soluzione di base associata a B.

• Una soluzione di x è chiamata soluzione

degenere se qualche sua componente è nulla.

Page 13: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

13

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Esempio: considera il problema PL

equivalente a

0x,x,x

30020x25x10x

20010x10x15x

12x10x5xzmax

321

321

321

321

0,,,

300202510

200101015

12105'min

4321

321

4321

321

S

S

xxxx

xxx

xxxx

xxxz

Page 14: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

14

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Le soluzioni di base sono riportate nella seguente tabella

x1 x2 x3 x4 z(x)

1 7.27 9.09 0 0 17 feasible

2 5 0 12.5 0 175 feasible

3 30 0 0 -250 infeasible

4 0 -20 40 0 infeasible

5 0 12 0 80 120 feasible

6 0 0 15 50 180 optimal

Page 15: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

15

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Il teorema fondamentale della PL

Dato un problema PL in forma standard,

(i) se esiste almeno un programma finito, esso ha almeno

un programma di base;

(ii) se esso ha almeno un programma ottimale finito, esso

ha almeno un programma ottimale di base.

Dim.(vedi appendice)

Page 16: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

16

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Grazie a questo teorema il problema PL è risolto da un punto

di vista teorico, il numero di basi e corrispondentemente il

numero di programmi di base è finito ed è dato da

Le valutazioni di z nei programmi di base sono

sufficienti ad individuare il programma di base

ottimale

)!(!

!

mnm

n

Page 17: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

17

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Ciò comunque porta ad una notevole mole di calcoli

anche per problemi di dimensione modesta. Per un

problema di dieci equazioni in venti incognite, il

calcolo di tutte le soluzioni di base richiede la

soluzione di circa 200.000 sistemi di dieci

equazioni in dieci incognite. Tale numero cresce

molto rapidamente con la dimensione del problema

di PL. Per evitare tale mole di calcoli si sono create

nuove tecniche.

Page 18: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

18

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Interpretazione geometrica

Esempio 1

La figura illustra l'insieme dei punti che soddisfano i vincoli.

0x,x

3x x

2 x

1x2x

2x3xzmax

21

21

1

21

21

Page 19: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

19

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Esempio 1

Page 20: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

20

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Il problema può scriversi in forma standard come segue

La soluzione ottimale di base, finita e nondegenere è

max z = 8 con x1=2, x2=1, x3= 4, x4= x5= 0

0x,x,x,x,x3xx x

2x x

1xx2x2x3xzmin

54321

521

41

321

21

0x,x

3x x

2 x

1x2x

2x3xzmax

21

21

1

21

21

Page 21: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

21

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Interpretazione geometrica

Esempio 2

In questo caso si ha ridondanza La figura illustra l'insieme

dei punti che soddisfano i vincoli

0x,x

3xx

2x

1xx

2x3xzmax

21

21

1

21

21

Page 22: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

22

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Esempio 2

Page 23: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

23

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Il problema può scriversi in forma standard come segue

La soluzione ottimale di base, finita e degenere (rispetto al problema

standard) è

max z = 8 con x1=2, x2=1, x3= x4= x5= 0

0x,x,x,x,x3xxx

2xx

1xxx2x3xzmin

54321

521

41

321

21

0x,x3xx

2x

1xx2x3xzmax

21

21

1

21

21

Page 24: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

24

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Interpretazione geometrica

Esempio 3

La figura illustra l'insieme dei punti che soddisfano i vincoli

0x,x3x x

2 x

1x2xxxzmax

21

21

1

21

21

Page 25: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

25

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Esempio 3

Page 26: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

26

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Il problema può scriversi in forma standard come segue

Qui si hanno due soluzioni ottimali di base

1) max z = 3, x1 =2, x2=1, x3= 4, x4= x5= 0.

2) max z = 3, x1 =2/3, x2=7/3, x4= 4/3, x3= x5= 0.

Entrambe le soluzioni sono nondegeneri.

0,,,,1

2

12min

54321

521

41

321

21

xxxxxxxx

xx

xxxxxz

0,3

2

12max

21

21

1

21

21

xxxx

x

xxxxz

Page 27: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

27

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Interpretazione geometrica

Esempio 4

La figura illustra l'insieme dei punti che soddisfano i vincoli

0,

3

1

23max

21

21

21

21

xx

xx

xx

xxz

Page 28: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

28

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Esempio 4

Page 29: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

29

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Il problema può scriversi in forma standard come segue

Il problema non ammette soluzioni ottimali finite.

0x,x,x,x3xxx

1xxx2x3xzmin

4321

421

321

21

0x,x3xx

1xx2x3xzmax

21

21

21

21

Page 30: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

30

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Interpretazione geometrica

Esempio 5

La figura illustra l'insieme dei punti che soddisfano i vincoli

0,

3

3

12

max

21

21

1

21

21

xx

xx

x

xx

xxz

Page 31: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

31

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Esempio 5

Il problema non ha alcuna soluzione

ammissibile.

X1

X2

-2x1+x

2>=1

x1>=3x

1+x

2<=3

Page 32: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

32

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3

Il problema può scriversi in forma standard come segue

Il problema non ha alcuna soluzioni

0x,x,x,x,x

3xxx

3xx

1xx2x

xxzmin

54321

521

41

321

21

0,

3

3

12

max

21

21

1

21

21

xx

xx

x

xx

xxz

Page 33: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

33

Corso di Laurea in Infomatica

Corso di Laurea in Matematica

Matematica Computazionale(6cfu)

Ottimizzazione(8cfu)

(a.a. 2013-14, lez.4)

Docente: Marco Gaviano

(e-mail:[email protected])

Page 34: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

34

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Il metodo del simplesso

Il metodo del simplesso proposto da G.B. Dantzig nel 1951

per la risoluzione di un problema di PL è una procedura

iterativa che genera una successione di programmi di base

in cui la funzione obbiettivo decresce.

Page 35: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

35

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

I principi del metodo del simplesso

Si consideri un problema PL in forma standard

in cui A = [a1 a2 ... an] è una matrice mn , m<n.

Si supponga che B sia una base del sistema e che

l'equazione Ax=d possa essere riscritta come segue

,0

minimizza

x

dAx

cxz

Page 36: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

36

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

oppure

BxB+RxR=d

da cui si ottiene il sistema esplicito in termini di variabili

di base

x B= B-1d – B-1RxR.

ovvero

4.1 x B= B-1d – YxR

con Y

B-1R = Y = [y1 y2 ...yn-m] = (yij).

dx

xR] [B

R

B

Page 37: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

37

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Nel seguito mediante

NB, e NR= N-NB

si indicheranno i sottoinsiemi di N corrispondenti agli

indici delle variabili di base e secondarie rispettivamente.

La corrispondente decomposizione della funzione

obiettivo è

4.2

Oppure

4.2’ z = cBB-1d -(cBY -cR)xR.

RRBB

R

B

RB xcxcx

x]c [ccxz

Page 38: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

38

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Per una soluzione di base relativa a B, xR=0

4.3

e la 4.1 e 4.2 possono essere riscritte come

o in modo equivalente

4.4

RRBRBB xcYczzYxxx )(,

dBczdBx BB 11 ,

)(, j

Nj

j

Nj

jj

B

Nj

jj

BB xcyxczzyxxxRRR

Page 39: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

39

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Indicando

4.5

Si ha

4.6

R

j

B

j Njycz ,

RNj

jjj xczzz )(

Page 40: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

40

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Il problema iniziale viene scritto in funzione di una

soluzione di base nota

0x

yxxx

)xc(zzzmin

R

R

Nj

jj

BB

Nj

jjj

,0

min

x

dAx

cxz

Page 41: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

41

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Teorema 1

Dato un programma ammissibile di base associato a una

base B, se

4.7 zk-ck>0 e yk0 per qualche kNR

non esiste alcun programma ottimale.

Dimostrazione.

Da 4.4 e 4.6 segue che se

xk allora x0, z -.

Page 42: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

42

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Teorema 2

Dato un programma di base ammissibile associato ad una

base B, se

4.8 per kNR, zk-ck>0 e ysk>0 per almeno un sNB

allora un nuovo programma di base ammissibile può essere

ottenuto dando a z un nuovo valore .

zz

'

Page 43: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

43

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Dimostrazione

Se si dà ad una variabile secondaria xk il valore

4.9

e si tengono uguali a zero le altre variabili secondarie,

allora i nuovi valori delle variabili di base dedotti da 4.4

diventano

4.10

B

sk

s

yhk

hk Ns

y

x

y

xx

sk

,min0

kx

RB

kskss NkNsxyxx ,,0,

Page 44: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

44

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

in cui per la 4.9 si ha

Le variabili formano una nuova

soluzione di base ammissibile per la quale dalla

4.6 si ha

0, hx

khs

,

s xe}x{

zx)c(zzz kkk

,

Page 45: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

45

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Dato un programma di base ammissibile ed una variabile

secondaria xk tale che zk-ck>0 e ysk>0 per almeno un sN,

il teorema 2 fornisce il seguente

Criterio di uscita

xh variabile principale che diventa secondaria tale che

B

sk

s

yhk

h Nsy

x

y

x

sk

,min0

Page 46: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

46

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Teorema 3

Dato un programma di base ammissibile associato con un

base B, una condizione necessaria e sufficiente perché esso

sia ottimale è che

zj-cj0 per ogni jNR.

La dimostrazione segue da 4.6.

Page 47: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

47

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Corollario

Una condizione necessaria e sufficiente affinché un

programma di base ottimale sia unico è che

zj-cj < 0 per ogni jNR.

Conseguenza

Dato un programma di base xB e calcolati gli elementi di Y

e i valori di zj-cj, i teoremi 1,2 e 3 permettono di stabilire:

Page 48: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

48

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Il calcolo di una nuovo programma di base è soltanto il

passaggio da una vecchia base B ad una nuova base B'

imponendo che una variabile secondaria entri nella base e

nello stesso tempo una variabile di base venga eliminata

dalla base.

• se è necessario calcolare un nuovo programma di base;

• se è necessario fermare il calcolo o perché un programma

ottimale è stato trovato o perché non esiste alcun

programma ottimale finito.

Page 49: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

49

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Cambio della base

xk sia la variabile che entra nella base e xh, determinata dal

criterio di uscita,

sia la variabile che lascia la base. Allora 4.9 e 4.10 danno le

formule di trasformazione

4.11

B

sk

s

yhk

h Nsy

x

y

x

sk

,min0

.,0, ',, hkNsxyxxy

xx B

kskSS

hk

h

k

Page 50: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

50

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Il nuovo valore della funzione obiettivo z è dato da

4.12

La nuova base B' differisce da B per la sostituzione della

colonna ah con ak. Il passaggio da B-1 a (B')-1 può essere

ottenuto mediante una trasformazione lineare(vedi

Appendice). Se p è l'indice di colonna di ah in B,

4.13 (B')-1 = JpB-1,

dove

con

,, )( kkk xczzz

]e ...e v ...e e [eJ m1pp1-p21p

Page 51: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

51

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

posizione i-ma

4.14

Invece di usare le formule di trasformazione 4.11, si può

calcolare il nuovo programma con l'aiuto di (B')-1

4,15

.]y

y...

y

y- ,

y

1,

y

y ...

y

y - ,

y

y[v

kp,

km,

kp,

k1,p

kp,kp,

k1,p

kp,

k2,

kp,

k1,

p

d)B(x 1B

colonnavettore0...0][0,...0,1,e T

i

Page 52: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

52

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Esempio

Si abbia il problema PL

Ponendo x1 e x4 uguali a zero, una soluzione di base

ammissibile è data da

x1=0, x2=3, x3=8, x4=0, x5=4.

Si ha

4xx6x

32xx3x

87xxx

xxx2xzmin

541

421

431

4321

Page 53: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

53

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Si ha

Calcoliamo

1B

100

001

010

B

16

71

23

16

23

71

100

001

010

][RBY 41

1 yy

Page 54: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

54

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

e

x4 può entrare nella base allora per il criterio di uscita

esce x2.

2.her p ,2

3

1

4,

2

3min

y

x

0s,4ys4

s

2,3,5)(s

4,2

2 min

y

x

8,0 44441111 cycczcyccz BB

Page 55: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

55

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Essendo l'indice di colonna di a2 in B uguale a 1, si calcola

successivamente

101/2

017/2

001/2

J ,2,

1

2

7

2

1v 11

12/10

02/71

02/10

100

001

010

101/2

017/2

001/2

)B( 1-

5

3

4

1

2/5

2/37

2/3

d)B(ˆ

x

x

x

xB

Page 56: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

56

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Selezione della variabile che entra nella base

Quando la base viene cambiata, la relazione zj -cj >0 è

generalmente soddisfatta da un sottoinsieme di NR. Quindi

è utile scegliere k in modo tale da massimizzare il

decremento della z. Poichè questo è uguale a

si può scegliere k in modo che (criterio di entrata)

4.16

hk

h

kky

xczzzz )(ˆ

0.)c(zcz jj

Nj

kk maxR

Page 57: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

57

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Questa scelta di k non produce la massima variazione della

funzione obiettivo z, però fornisce un criterio di entrata

semplice che funziona bene nelle applicazioni.

Page 58: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

58

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Convergenza dell’algoritmo del Simplesso

Il metodo del simplesso garantisce il passaggio da una

soluzione di base ad una nuova soluzione di base

con (ved. teorema 2).

Vale il segno < nel caso di soluzioni di base non degeneri

(xB>0). Altrimenti potrebbe valere l’uguaglianza. Cioè la

funzione obbiettivo non è decrementata.

x

'x

zz

'

• Nel primo caso siamo sicuri della convergenza al minimo

poiché il numero delle soluzioni di base è finito.

• Nel secondo caso può avvenire che una variabile di base

esca dalla base e poi vi rientri in una iterazione

successiva lasciando invariato il valore di z.

Page 59: Matematica Computazionale(6cfu) Ottimizzazione · 2016. 1. 22. · Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.3 Ciò comunque porta ad una notevole mole di

59

Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.4

Si parla allora di ciclo infinito. Si possono costruire

esempi per cui tale situazione si verifica, Sono state

proposte varie tecniche che evitano questo fenomeno; per

esempio il metodo lexicografico del simplesso.

In pratica su problemi reali anche in presenza di soluzioni

di base degenere, fatto abbastanza comune, il ciclo infinito

non si è mai verificato. Pertanto nelle implementazioni del

simplesso non si introducono le nuove procedure che

renderebbero l’algoritmo meno efficiente.