Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania...

24
Zagadnienie Dualne Zadania Programowania Liniowego Seminarium Szkoleniowe EdytaMr´owka

Transcript of Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania...

Page 1: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Zagadnienie Dualne Zadania

Programowania Liniowego

Seminarium Szkoleniowe

Edyta Mrowka

Page 2: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Ogolne zagadnienie PL

Znajdz taki wektor X = (x1, x2, ..., xn) , ktory minimalizuje kombinacjeliniowa

c1x1 + c2x2 + ... + cnxn (1)

przy ograniczeniach liniowych

a11x1 + a12x2 + ... + a1nxn = b1

a21x1 + a22x2 + ... + a2nxn = b2

...

am1x1 + am2x2 + ... + amnxn = bm

xj > 0, j = 1, 2, ..., n

(2)

gdzie aij , bi, cj sa staÃlymi oraz m < n.

1

Page 3: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Oznaczenia stosowane w prezentacji

A = [aij ]− macierz wspoÃlczynnikow,

c = (c1, ..., cn)− wektor kosztow,

b = (b1, ..., bm)− wektor ograniczen,

0 = (0, ..., 0)− n-wymiarowy wektor skÃladajacy sie z samych zer,

Pj− j-ta kolumna macierzy A,

P0 = b.

2

Page 4: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Zapis macierzowy zadania PL.

Zminimalizowac funkcje celucTX (3)

przy ograniczeniach

AX = b

X > 0 (4)

3

Page 5: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Przydatne twierdzenia – powtorzenie

Twierdzenie 1 Zbior wszystkich rozwiazan dopuszczalnych zagadnieniaprogramowania liniowego jest zbiorem wypukÃlym.

Twierdzenie 2 Funkcja celu przyjmuje wartosc minimalna w punkciewierzchoÃlkowym zbioru wypukÃlego, utworzonego na zbiorze rozwiazandopuszczalnych zagadnienia programowania liniowego.

Twierdzenie 3 Jezeli mozna znalezc zbior wektorow P1,P2, ...,Pk (k 6m)liniowo niezaleznych takich, ze

x1P1 + x2P2 + ... + xkPk = P0,

oraz wszystkie xj > 0, to punkt X = (x1, x2, ..., xk, 0, ...0) jest punktemwierzchoÃlkowym zbioru wypukÃlego rozwiazan dopuszczalnych.

4

Page 6: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Wnioski 1 Kazdemu punktowi wierzchoÃlkowemu zbioru wypukÃlegorozwiazan dopuszczalnych odpowiada zbior m wektorow liniowo niezaleznychz danego zbioru P1,P2, ...,Pn.

Twierdzenie 4 Jezeli dla dowolnego rozwiazania dopuszczalnegoX = (x10, x20, ..., xm0) ktoremu odpowiada zbior liniowo niezaleznychwektorow P1,P2, ...,Pm speÃlnione sa warunki zj − cj 6 0 dla wszystkichj = 1, 2, ...., n, to

x10P1 + x20P2 + ... + xm0Pm = P0

x10c1 + x20c2 + ... + xm0cm = z0,

okreslaja minimalne rozwiazanie dopuszczalne.

5

Page 7: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

PrzykÃlad 1

Zminimalizowac funkcje celu:

x2 − 3x3 + 2x5

przy ograniczeniach:

x1 + 3x2 − x3 + 2x5 = 7

−2x2 + 4x3 + x4 = 12

−4x2 + 3x3 + 8x5 + x6 = 10

x1, ..., x6 > 0

6

Page 8: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Rozwiazanie zadania

• I krok SIMPLEKS

cj 0 1 −3 0 2 0

Baza c P0 P1 P2 P3 P4 P5 P6

P1 0 7 1 3 −1 0 2 0

P4 0 12 0 −2 4 1 0 0

P6 0 10 0 −4 3 0 8 1

zj − cj 0 0 −1 3 0 −2 0

7

Page 9: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

• II krok SIMPLEKS

cj 0 1 −3 0 2 0

Baza c P0 P1 P2 P3 P4 P5 P6

P1 0 10 1 2.5 0 0.25 2 0

P3 −3 3 0 −0.5 1 0.25 0 0

P6 0 1 0 −2.5 0 −0.75 8 1

zj − cj −9 0 0.5 0 −0.75 −2 0

8

Page 10: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

• III krok SIMPLEKS

cj 0 1 −3 0 2 0

Baza c P0 P1 P2 P3 P4 P5 P6

P2 1 4 0.4 1 0 0.1 0.8 0

P3 −3 5 0.2 0 1 0.3 0.4 0

P6 0 11 1 0 0 −0.5 10 1

zj − cj −11 −0.2 0 0 −0.8 −2.4 0

9

Page 11: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Niesymetryczne zagadnienie dualne PL

Zagadnienie pierwotne Zagadnienie dualne

min cTX max λTb

przy ograniczeniach przy ograniczeniach

AX = b

X>0λTA6 cT

UWAGA:

Zadanie dualne zadania dualnego jest poczatkowym zagadnieniempierwotnym.

10

Page 12: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Lemat 1 SÃlaby lemat o dualnosci.

ZaÃlozmy, ze X i λ sa rozwiazaniami dopuszczalnymi, odpowiednio, zadaniapierwotnego i dualnego. Wowczas prawdziwa jest nastepujaca nierownosc:

cTX> λTb.

Twierdzenie 5 Niech X0 i λ0 beda rozwiazaniami dopuszczalnymi,odpowiednio, zadania pierwotnego i dualnego. Jezeli

cTX0 = λ0Tb,

to X0 i λ0 sa optymalnymi rozwiazaniami, odpowiednio, zadania pierwotnegoi dualnego.

11

Page 13: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Twierdzenie o dualnosci

Twierdzenie 6 Jezeli zagadnienie pierwotne (albo dualne) ma skonczonerozwiazanie optymalne, to odpowiednie zagadnienie dualne (albo pierwotne)ma rowniez skonczone rozwiazanie optymalne i ekstrema funkcji celu sasobie rowne.

Jezeli jedno z zagadnien (pierwotne lub dualne) nie ma optymalnegorozwiazania ograniczonego, to odpowiadajace mu zagadnienie dualne nie marozwiazan dopuszczalnych.

12

Page 14: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

PrzykÃlad 2

Znalezc rozwiazanie optymalne zagadnienia dualnego z przykÃladu 1

Zadanie pierwotne Zadanie dualne

Zminimalizowac: Zmaksymalizowac:

x2 − 3x3 + 2x5 7λ1 + 12λ2 + 10λ3

przy ograniczeniach przy ograniczeniach

x1 + 3x2 − x3 + 2x5 = 7

−2x2 + 4x3 + x4 = 12

−4x2 + 3x3 + 8x5 + x6 = 10

x1, ..., x6 > 0

λ1 6 0

3λ1 − 2λ2 − 4λ3 6 1

−λ1 + 4λ2 + 3λ3 6 − 3

λ2 6 0

2λ1 + 8λ3 6 2

λ3 6 0

13

Page 15: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Baza koncowa metody SIMPLEKS P2,P3,P6 :

B = [P2P3P6]

=

3 −1 0

−2 4 0

−4 3 1

B−1 =

0.4 0.1 0

0.2 0.3 0

1 −0.5 1

.

UWAGA: Jezeli oryginalna macierz wspoÃlczynnikow A zawiera macierzjednostkowa, albo zostanie uzupeÃlniona macierza jednostkowa, to w kazdymkroku obliczen w odpowiednich kolumnach macierzy jednostkowejotrzymamy macierz odwrotna bazy.

14

Page 16: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Optymalne rozwiazanie zadania pierwotnego:

X0 = B−1b =(x0

2, x03, x

06

)= (4, 5, 11) ,

c0 =(c02, c

03, c

06

)= (1,−3, 0) .

Minimalna wartosc funkcji celu:

c0X0 = (1,−3, 0)T (4, 5, 11) = −11.

Wektor rozwiazania minimalnego:

Z = cT0 X− cT =(−0.2, 0, 0,−0.8,−2.4, 0) .

15

Page 17: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Optymalne rozwiazania zadania dualnego:

λ0 = c0B−1 = (1,−3, 0)

0.4 0.1 0

0.2 0.3 0

1 −0.5 1

= (−0.2,−0.8, 0) .

Wartosc dualnej funkcji celu:

λT0 b =(−0.2,−0.8, 0)

7

12

10

= −11.

16

Page 18: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Sprawdzenie:

(−1

5,−4

5, 0

)

1 3 −1 0 2 0

0 −2 4 1 0 0

0 −4 3 0 8 1

6

0

1

−3

0

2

0

−0.2

1

−3

−0.8

−0.4

0

6

0

1

−3

0

2

0

17

Page 19: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Symetryczne zagadnienie dualne

Zagadnienie pierwotne Zagadnienie dualne

min cTX max λTb

przy ograniczeniach przy ograniczeniach

AX>b

X>0

λTA6 cT

λ >0.

UWAGA:

Twierdzenie o dualnosci moze byc zastosowane rowniez do symetrycznychzagadnien dualnych.

18

Page 20: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

PrzeksztaÃlcenie symetryczne zagadnienia programowania

liniowego do postaci rownosci

a11x1 + ... + a1nxn > b1

a21x1 + ... + a2nxn > b2

...

am1x1 + ... + amnxn > bm

a11x1 + ... + a1nxn − xn+1 = b1

a21x1 + ... + a2nxn − xn+2 = b2

...

am1x1 + ... + amnxn − xn+m = bm

a11λ1 + ... + am1λm 6 c1

a21λ1 + ... + am2λm 6 c2

...

a1nλ1 + ... + amnλm 6 cn

a11λ1 + ... + am1λm + λm+1 = c1

a21λ1 + ... + am2λm + λm+2 = c2

...

a1nλ1 + ... + amnλm + λm+n = cn

19

Page 21: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Niech wektor kolumnowy Y = (y1, y2, ..., ym) skÃlada sie ze zmiennychosÃlabiajacych, ktore przeksztaÃlcaja ukÃlad nierownosci ograniczajacych wukÃlad rownan. Rownowazne zagadnienie PL zapisane za pomoca macierzyzÃlozonych:

max[cT ,0T

] X

Y

przy ograniczeniach:

[A,−I]

X

Y

= b,

X

Y

>0.

Zagadnie dualne tego przeksztaÃlconego zadania pierwotnego jest postaci:

max λT b

przy ograniczeniachλT [A,−I] 6

[cT ,0T

].

20

Page 22: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Twierdzenie o zmiennych osÃlabiajacych

Twierdzenie 7 Dla optymalnych rozwiazan dopuszczalnych ukÃladowpierwotnego i dualnego, jezeli tylko wystepuje nierownosc w k−tej zaleznoscidowolnego ukÃladu (odpowiednia zmienna osÃlabiajaca jest dodatnia), to k-tazmienna w jego ukÃladzie dualnym znika. Jezeli k-ta zmienna jest dodatnia wdowolnym ukÃladzie, to k-ta zaleznosc w jego ukÃladzie dualnym jest rownoscia( odpowiednia zmienna osÃlabiajaca jest zerem).

21

Page 23: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Complementary Slackness Condition

Twierdzenie 8 Dopuszczalne rozwiazania X i λ dualnej pary problemow saoptymalne, wtedy i tylko wtedy gdy:

(cT − λTA

)X = 0

orazλT (AX− b) = 0.

22

Page 24: Zagadnienie Dualne Zadania Programowania Liniowego · Edyta Mr¶owka a Zagadnienie dualne zadania programowania liniowego Zapis macierzowy zadania PL. Zminimalizowa¶c funkcje celu

Edyta Mrowka a Zagadnienie dualne zadania programowania liniowego

Dziekuje za uwage.

23