PROGRAMOWANIE LINIOWE - algorytm Simpleks
-
Upload
khangminh22 -
Category
Documents
-
view
2 -
download
0
Transcript of PROGRAMOWANIE LINIOWE - algorytm Simpleks
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
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