PROGRAMOWANIE LINIOWE - algorytm Simpleks

27
PROGRAMOWANIE LINIOWE - algorytm Simpleks

Transcript of PROGRAMOWANIE LINIOWE - algorytm Simpleks

PROGRAMOWANIE LINIOWE

- algorytm Simpleks

Zadania programowania liniowego – dualnośćw programowaniu liniowym

Zadania programowania liniowego – dualnośćw programowaniu liniowym

Programowanie liniowe – dualność w programowaniuliniowym – przykład konstrukcji ZD PL

min252),,,(43214321 xxxxxxxxf

dowolne - ,0,,

142 3

15 2

2052

2431

432

421

4321

xxxx

xxx

xxx

xxxx

Zadanie pierwotne - ZP PL

Zadanie dualne - ZD PL

max141520),,(321321 yyyyyyg

dowolne - ,0,0

2 2 5y

5 2y

1 3y

2 2

321

321

31

321

21

yyy

yy

y

yy

yy

4

Programowanie liniowe – graficzna interpretacja zadańprogramowania liniowego - metoda geometrycznaposzukiwania rozwiązań

1. Przykład zadania programowania liniowego ZPL - mającegojednoznaczne tylko jedno rozwiązanie.

max4

1),(

2121 xxzxxf

0,

34

32

21

21

21

xx

xx

xx

5

Programowanie liniowe – graficzna interpretacja zadańprogramowania liniowego - metoda geometrycznaposzukiwania rozwiązań

2. Przykład zadania programowania liniowego ZPL - mającegoniejednoznacznie nieskończenie wiele rozwiązań.

max),(2121 xxzxxf

0,

2

4

21

21

21

xx

xx

xx

6

Programowanie liniowe – graficzna interpretacja zadańprogramowania liniowego - metoda geometrycznaposzukiwania rozwiązań

3. Przykład zadania programowania liniowego ZPL – nie mającegożadnych rozwiązań.

max2),(2121 xxzxxf

0,

12

1

35

3

21

21

21

xx

xx

xx

7

Zadania programowania liniowego – idea metodysimpleks

Zadania programowania liniowego – idea metodySimpleks

Programowanie liniowe – metoda Simpleks a przeglądzupełny rozwiązań bazowych

Przykład. Znaleźć rozwiązania bazowe następującego zadania ZPL

max32),(2121 xxxxf

0,

82

1422

21

21

21

xx

xx

xx

Postać kanoniczna ZPL:Postać standardowa ZPL:

max0032),,,(43214321 xxxxxxxxf

0,,,

8 2

14 22

4321

421

321

xxxx

xxx

xxxx3,x4 –wprowadzone zmienne swobodne

Przykładowa Baza dla powyższej postaci kanonicznej:

A

2

2

1

0

Kolumny bazowe

- Macierz współczynników

Kolumny niebazowe

0

1

1

2B - Baza

31, xx - zmienne bazowe

42, xx - zmienne niebazowe

),(NBxxx

bazowe niebazoweTT

N

T

B

TT bxNxBbxA N – kolumny niebazowe 10

Programowanie liniowe – metoda Simpleks a przeglądzupełny rozwiązań bazowych

Twierdzenie. Jeżeli zadanie ZPL ma rozwiązanie optymalne, to ma takżerozwiązanie optymalne bazowe.

Stąd wniosek, że rozwiązania optymalnego wystarczy szukać wśród rozwiązańbazowych. Można je znaleźć dokonując zupełnego przeglądu wszystkichrozwiązań bazowych. Dla naszego przykładu mamy:

max0032),,,(43214321 xxxxxxxxf

0,,,

8 2

14 22

4321

421

321

xxxx

xxx

xxx

Wszystkich rozwiązań bazowych

może być co najwyżej: 623!2!2

!4

2

4

{x1,x2};{x1,x3};{x1,x4};{x2,x3};{x2,x4};{x3,x4}

1021

0122A

A1 A2 A3 A4

Każda z kombinacji może być bazą,bo każda z kolumn A jest liniowoniezależna od pozostałych

Będziemy mieć zatem 6 rozwiązań bazowych. Niektóre z nich mogą być jednakniedopuszczalne (a takie nas nie interesują). Rozwiązanie bazowe nazywamydopuszczalnym, gdy dla danej bazy B, zachodzi: 0

Bx

11

Rozwiązania bazowe dla naszego przykładu:

Zmienne

decyzyjne

Baza (B1)

{x1,x2}

Baza (B2)

{x1,x3}

Baza (B3)

{x1,x4}

Baza (B4)

{x2,x3}

Baza (B5)

{x2,x4}

Baza (B6)

{x3,x4}

x1 6 8 7 0 0 0

x2 1 0 0 4 7 0

x3 0 - 2 0 6 0 14

x4 0 0 1 0 - 6 8

Funkcja celu

f(x1,x2,x3,x4)

15

(Max)

Niedop. 14 12 Niedop. 0

0,,,

8 2

14 22

4321

421

321

xxxx

xxx

xxx

Układ równań w postaci kanonicznej: Funkcja celu:

432143210032),,,( xxxxxxxxf

Programowanie liniowe – metoda Simpleks - przeglądzupełny rozwiązań bazowych

12

Programowanie liniowe – metoda Simpleks - przeglądzupełny rozwiązań bazowych

13

Zadania programowania liniowego – dualnośćw programowaniu liniowym

Zadania programowania liniowego – dualnośćw programowaniu liniowym

Programowanie liniowe – metoda Simpleks – ujęciealgorytmiczne

16

Zadania programowania liniowego – algorytmmetody simpleks

Zadania programowania liniowego – algorytmmetody simpleks

Zadania programowania liniowego – algorytmmetody simpleks

Zadania programowania liniowego – algorytmmetody simpleks

Zadania programowania liniowego – algorytmmetody simpleks

Zadania programowania liniowego – algorytmmetody simpleks

Zadania programowania liniowego – algorytmmetody simpleks

Zadania programowania liniowego – algorytmmetody simpleks