Top Banner
Zagadnienie Dualne Zadania Programowania Liniowego Seminarium Szkoleniowe EdytaMr´owka
24

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

Feb 28, 2019

Download

Documents

trinhdan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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