ZADANIA DO ĆWICZEŃ Z PROGRAMOWANIA LINIOWEGO
1. PODSTAWY PROGRAMOWANIA
LINIOWEGO (PL):
- wektory, macierze, rachunek macierzowy,
- elementy teorii przestrzeni liniowych,
- bazowe rozwišzanie układu równań liniowych,
- sformułowanie zadania PL,
- graficzne rozwišzywanie zadania PL.
Sprawdzić, z definicji, czy podane zestawy wektorów tworzš bazę w danej przestrzeni:
aT = [2 3], bT = [4 1], cT = [0 1]
aT
= [2 3
1], bT = [4
2 0],
aT
= [1 3
4], bT = [6
3 0], cT =
[5 0
-4],
aT
= [3 -1 3], bT = [2
2 2], cT =
[4 1
0].
Tylko ostatni zestaw wektorów tworzy bazę. Dobrym
przypomnieniem algebry może być sprawdzanie liniowej niezależnoci innymi
metodami niż z definicji: wyznaczenie rzędu macierzy, obliczenie wyznacznika
itp.
Wyznaczyć dowolne, bazowe rozwišzanie podanego układu równań:
x1 6x2 12x3 + x4 = 12
Kolejne etapy postępowania: wybór dowolnych dwóch kolumn
z macierzy A, sprawdzenie ich liniowej niezależnoci (dowolnym sposobem),
wyznaczenie rozwišzania bazowego odpowiadajšcego wybranym wektorom bazy
(rozwišzanie układu dwóch równań z dwiema niewiadomymi).
Przykładowe rozwišzanie, jeżeli przyjmiemy, że najpierw
badamy kolumny pierwszš i czwartš macierzy A. Wektor a1
i wektor a4 sš liniowo niezależne (można to łatwo sprawdzić),
co pozwala wyznaczyć bazowe rozwišzanie
układu równań przyjmujšc zgodnie z definicjš x2=0 oraz x3=0:
x1=12
x2=0
Należy zauważyć, że to szczególne rozwišzanie jest bazowym rozwišzaniem zdegenerowanym.
Na przykładzie typowego zadania programowania liniowego wyjanić podstawowe pojęcia, składowe i strukturę zadania programowania liniowego: zmienne decyzyjne (nieujemnoć), funkcja kryterium (maksymalizacja albo minimalizacja), warunki ograniczajšce (bilansowe, strukturalne, brzegowe). Wyjanić proces uzyskiwania rozwišzania: rozwišzanie dopuszczalne (wielocienny zbiór wypukły), rozwišzanie optymalne (przeszukiwanie zbioru rozwišzań wierzchołkowych).
Rozwišzań optymalnych może nie być w ogóle (zbiór pusty
rozwišzań dopuszczalnych), może nie być skończonego rozwišzania optymalnego
(szczególny przypadek, gdy zbiór rozwišzań dopuszczalnych jest nieograniczony),
może być jedno rozwišzanie optymalne (wierzchołek), może być nieskończenie
wiele rozwišzań optymalnych (liniowa kombinacja wypukła punktów wierzchołkowych
optymalizujšcych wartoć funkcji).
Wykorzystujšc dowolne przykłady zadań PL zastosować
graficznš metodę rozwišzywania zadania PL (oczywicie tylko w R2) do
zilustrowania przedstawionych wczeniej pojęć i interpretacji. W szczególnoci
należy pokazać co w R2 oznacza graficzne poszukiwanie rozwišzania
optymalnego na zbiorze rozwišzań dopuszczalnych oraz na czym polega istnienie
wielu rozwišzań optymalnych (rozwišzania optymalne na krawędzi zbioru rozwišzań
dopuszczalnych).
2. FORMUŁOWANIE LINIOWYCH
PROBLEMÓW DECYZYJNYCH (1):
- typowe zagadnienia bilansowe,
- klasyczny problem "diety",
- klasyczny problem "działalnoci produkcyjnej".
W zakładzie produkcyjnym powstajš dwa wyroby: z oraz y. Wytwarzane sš z czterech rodzajów półproduktów: a, b, c, d. Pojedynczy wyrób z powstaje z półproduktów użytych w następujšcych ilociach: 2a, b, 3c, 2d. Pojedynczy wyrób y powstaje z półproduktów użytych w następujšcych ilociach: 2a, 2b, 2c, 3d. Z kolei jednostka półproduktu c składa się z: 2a, b. Natomiast jednostka półproduktu d składa się z: 2a, 2b.
Zdolnoci produkcyjne działów, w których powstajš półprodukty i wyroby gotowe sš limitowane. W dziale A można wytworzyć co najwyżej 1200 półproduktów a, w dziale B co najwyżej 1500 półproduktów b, w dziale C co najwyżej 500 półproduktów c, w dziale D co najwyżej 600 półproduktów d. W dziale montażowym E zdolnoci produkcyjne wynoszš co najwyżej 200 jednostek wyrobów z i y razem.
W badanym okresie cena wyrobu z wynosi 1 denar, a cena wyrobu y odpowiednio 1,5 denara. Okrelić program produkcji, który pozwoli uzyskać maksymalnš wartoć produkcji wyrobów z i y.
Sugeruje się zrealizowanie kolejno następujšcych poleceń:
1.
Naszkicować schemat blokowy procesu produkcyjnego
uwzględniajšcy wszystkie działy produkcyjne od A do E.
2.
Zbudować macierz bezporednich nakładów jednostkowych
półproduktów na wytworzenie wyrobów z oraz y.
3.
Zbudować macierz nakładów jednostkowych półproduktów
a i b na wytworzenie półproduktów c i d, a następnie wynikajšcš z niej
macierz nakładów jednostkowych półproduktów a i b na wytworzenie wyrobów
z oraz y.
4.
Wyznaczyć macierz zagregowanych nakładów jednostkowych
a i b na wytworzenie wyrobów z i y (działania na macierzach).
5.
Okrelić zmienne decyzyjne zadania.
6.
Zbudować zadanie PL z maksymalizacjš wartoci produkcji
(funkcja kryterium oraz warunki ograniczajšce).
7.
Naszkicować graficznie dopuszczalne rozwišzanie
zadania, okrelić rozwišzanie optymalne i zinterpretować je zgodnie z podanš
treciš.
Warto zauważyć, że ten przykład czytelnie wyjania na
czym polega problem wšskich gardeł w złożonym procesie produkcyjnym
(niedopasowanie zdolnoci produkcyjnych działów).
x1 produkcja wyrobu z (sztuk)
x2 produkcja wyrobu y (sztuk)
funkcja kryterium:
max [ f(x) = x1 + 1,5x2 ]
warunki ograniczajšce:
12x1 + 12 x2 £
1200
8x1 + 10 x2 £
1500
3x1 + 2x2 £
500
2x1 + 3x2 £
600
x1 + x2 £
200
x1 ³ 0
x2 ³ 0
rozwišzanie optymalne:
x1* = 0
x2* = 100
fmax = 150
W pewnym zakładzie (elektrownia, gazownia lub pogotowie ratunkowe) z powodów technologicznych konieczna jest stała obecnoć pracowników. Ze względu na zmienne natężenie realizowanego procesu liczba niezbędnych pracowników ulega zmianie. Można jš okrelić dla czterogodzinnych przedziałów czasu w czasie całej doby: godziny 0-4 co najmniej 4 osoby, godziny 4-8 co najmniej 18 osób, 8-12 co najmniej 7, 12-16 co najmniej 15, 16-20 co najmniej 18, w przedziale 20-24 co najmniej 6 osób.
Pracownicy przychodzš do pracy tylko o okrelonych godzinach (0, 4, 8, 12, 16 lub 20), a po przyjciu pozostajš w pracy przez całš zmianę, która trwa równe 8 godzin.
Należy zbudować zadanie PL w celu uzyskania odpowiedzi na pytanie: jaka jest minimalna liczba pracowników niezbędnych do obsługi procesu produkcyjnego w cišgu doby?
Problem ten, ze względu na strukturę (minimalizowana
funkcja kryterium,
zwroty
nierównoci w warunkach ograniczajšcych), odtwarza schemat klasycznego problemu
diety.
Po sformułowaniu zadania PL, przedmiotem analizy może być
dalsze modyfikowanie zadania w zależnoci od wydłużania się lub skracania
trwania jednej zmiany.
Zdefiniowanie zmiennej decyzyjnej:
x1 liczba pracowników rozpoczynajšcych pracę
o godzinie 0,
x2 liczba pracowników rozpoczynajšcych pracę
o godzinie 4,
x3 liczba pracowników rozpoczynajšcych pracę
o godzinie 8,
x4 liczba pracowników rozpoczynajšcych pracę
o godzinie 12,
x5 liczba pracowników rozpoczynajšcych pracę
o godzinie 16,
x6 liczba pracowników rozpoczynajšcych pracę
o godzinie 20.
Funkcja kryterium:
min [ f(x) = x1 + x2 + x3
+ x4 + x5 + x6 ]
warunki ograniczajšce:
x1 + x2 ³
18
x2 + x3 ³
7
x3 + x4 ³
15
x4 + x5 ³
18
x5 + x6 ³
6
x6 + x1 ³
4
xj ³ 0; j=1, 2, ..., 6
Rozwišzanie optymalne:
x1* = 14
x2* = 4
x3* = 3
x4* = 12
x5*
= 6
x6*
= 0
fmin =
39
Samodzielnie zbudować i charakteryzować strukturę typowego zadania działalnoci produkcyjnej: maksymalizacja funkcji kryterium (dochód, zysk, lub wartoć produkcji), ograniczenia (zasobowe limity wyrażone w warunkach ograniczajšcych w postaci nierównoci nie więcej niż). Przykład powinien być w przyszłoci rozwišzany w pracowni komputerowej za pomocš dostępnego pakietu Decision lub programu Excel.
W tradycyjnym modelu działalnoci produkcyjnej zakłada się, że struktura wytwarzania produktów jest szeregowa (logiczne i), co oznacza, że niezerowa zmienna decyzyjna musi sprawić, że zużywane mogš być (w różnych proporcjach) wszystkie wymienione w zadaniu zasoby produkcyjne (czas pracy maszyn lub urzšdzeń, siła robocza, inne). Nie dzieje się tak, kiedy struktura wytwarzania ma układ równoległy. Przy okazji omawiania modelu działalnoci produkcyjnej wyjanić równoległe struktury produkcyjne (logiczne lub), które zmuszajš do stosowania większej liczby zmiennych decyzyjnych, ewentualnie do wprowadzania podwójnego ich indeksowania. Zwrócić również uwagę na zapis warunków strukturalnych, które wprowadzajš relacje proporcjonalnoci między zmiennymi lub ich kombinacjami.
3. FORMUŁOWANIE LINIOWYCH
PROBLEMÓW DECYZYJNYCH (2):
- zadanie typu "rozkroju",
- klasyczne zagadnienie "transportowe",
- wybrane problemy sieciowe.
Proces technologiczny wymaga, żeby do wytworzenia pewnego produktu gotowego wytwarzać trzy rodzaje elementów. Mogš to być elementy drewniane, papierowe ewentualnie metalowe w każdym razie sš wycinane z jednorodnego arkusza danego materiału o ustalonych wymiarach: 5 metrów na 10 metrów. Element pierwszy e1 jest trapezem prostokštnym: podstawa dolna 5 m, podstawa górna 3 m, wysokoć 4 m. Drugi element e2 jest prostokštem o wymiarach: 3m x 4m. Trzeci element e3 jest również prostokštem o wymiarach: 2m x 5m. Wiadomo, że należy wytworzyć co najmniej 12000 elementów e1, co najmniej 6000 elementów e2, co najmniej 8000 elementów e3.
Należy zbudować zadanie PL w celu udzielenia odpowiedzi na pytanie: jak rozcinać standardowe arkusze, aby zminimalizować liczbę zużytych arkuszy i wytworzyć wymaganš liczbę wymienionych, trzech elementów?
Iloć dostępnych arkuszy nie jest istotna dla
sformułowania zadania. Problem decyzyjny polega na ustaleniu ile arkuszy
rozcinać według każdego ze sprawnych wariantów. Dlatego też, przed
sformułowaniem zadania konieczne jest okrelenie wszystkich, sprawnych (!)
wariantów rozcinania pojedynczego arkusza. W tym celu należy rozważyć różne
warianty rozmieszczenia na powierzchni arkusza różnych kombinacji różnych
iloci elementów e1, e2 oraz e3.
Zmienna decyzyjna może być okrelona w jednostkach
fizycznych (jak podano poniżej), albo jako zmienna o charakterze
intensywnociowym jako krotnoć, częstoć lub iloć powtórzeń danego rodzaju
rozkroju. W zadaniu nie ma wymagania minimalizacji iloci odpadów, co może być
dodatkowym urozmaiceniem tego przykładu.
Zdefiniowanie zmiennych decyzyjnych:
xj liczba standardowych arkuszy rozcinanych
zgodnie z wariantem j, przy czym jÎJ, gdzie J to zbiór
wszystkich, wyznaczonych uprzednio, wariantów sprawnych;
w tym zadaniu J={1, 2, 3, 4, 5, 6, 7, 8}
funkcja kryterium:
min [ f(x) = x1
+ x2 + x3 + x4 + x5 + x6
+ x7 + x8 ]
warunki ograniczajšce (uwaga: kolejnoć numerowania
wariantów może być inna, ale kolumn macierzy A, czyli sprawnych
wariantów, powinno być w sumie 8 i powinny one występować w kolumnach macierzy A
z tymi samymi współczynnikami!):
2x1 + x2 + x3 + x4
³ 12000
2x2 + x3 + 3x5 + 2x6
+ x7 ³ 6000
x1 + x3 + 3x4 + 2x6
+ 3x7 + 5x8 ³ 8000
xj ³ 0, jÎJ
Ten przykład ma alternatywne rozwišzania optymalne.
Rozwišzania zadania podano poniżej:
rozwišzanie optymalne nr 1:
x1* = 4500
x2* = 3000
x3* = 0
x4* = 0
x5* = 0
x6* = 0
x7*
= 0
x8*
= 700
fmin =
8200
Majšc do dyspozycji ostatnia tablicę sympleksowš
rozwišzanego zadania, można zidentyfikować i wyznaczyć rozwišzania
alternatywne:
rozwišzanie optymalne nr 2:
x1* = 3800
x2* = 3000
x3* = 0
x4* = 1400
x5* = 0
x6* = 0
x7*
= 0
x8*
= 0
fmin =
8200
rozwišzanie optymalne nr 3:
x1* = 5200
x2* = 1600
x3* = 0
x4* = 0
x5* = 0
x6* = 1400
x7*
= 0
x8*
= 0
fmin =
8200
Zbudować i omówić typowe zadanie diety. Struktura zadania: minimalizacja funkcji kryterium (koszt całkowity), ograniczenia (zapewnienie minimalnej iloci niezbędnych składników odżywczych, nierównoci postaci co najmniej). Przykład powinien być w przyszłoci rozwišzany w pracowni komputerowej za pomocš dostępnego pakietu Decision lub programu Excel.
W pewnej sieci komunikacyjnej (pocišgi, bity informacji lub przesyłki pocztowe) chcemy przesłać w pewnej jednostce czasu jak najwięcej jednorodnego towaru z punktu 1 do punktu przeznaczenia o numerze 6. Jest w sumie 6 węzłowych punktów tej sieci. Sieć komunikacyjna składa się z następujšcych połšczeń: (1Ž2), (1Ž3), (2Ž3), (2Ž4), (3Ž4), (3Ž5), (4Ž5), (4Ž6), (5Ž6). Strzałki oznaczajš jedyny możliwy kierunek przepływu towaru. Zbiór połšczeń oznaczamy L.
Każda z tras ma w danym okresie okrelonš przepustowoć, co oznacza, że w analizowanym okresie może niš zostać przesłana iloć towaru nie większa, niż ustalona i podana. Przepustowoci p dla kolejnych odcinków sieci przedstawiajš się następujšco: p(1Ž2)=7, p(1Ž3)=10, p(2Ž3)=6, p(2Ž4)=8, p(3Ž4)=2, p(3Ž5)=3, p(4Ž5)=7, p(4Ž6)=8, p(5Ž6)=9.
Należy zbudować zadanie PL, które umożliwi wyznaczenie rozwišzania, które okreli: jakie majš być przepływy towarowe na poszczególnych odcinkach sieci, aby zmaksymalizowana została suma towarów przesłanych z punktu poczštkowego do punktu końcowego?
Przed przystšpieniem do formułowania zadania PL wykonać
graficznš interpretację zadania. W oparciu o graf łatwiej jest okrelić warunki
ograniczajšce zadania. W ujęciu zagadnienia zgodnym z konwencjš maksymalnego
przepływu w sieci (maximal flow method) wyklucza się, że towar mógłby zaginšć
na trasie lub w węzłach porednich sieci. Szuka się odpowiedzi na pytanie: jaki
może być największy przepływ towarów, który opuci punkt poczštkowy i, pomimo
ograniczonych przepustowoci kolejnych odcinków sieci, dotrze w całoci do
punktu końcowego?
Zdefiniowanie zmiennej decyzyjnej:
xij iloć towarów przepływajšcych od węzła
i-tego do węzła j-tego sieci;
przy czym (i, j) Î L = {(1, 2), (1,
3), (2, 3), (2, 4), (3, 4), (3, 5), (4, 5), (4, 6), (5, 6)}
funkcja kryterium:
max [
f(x) = x12 + x13 ]
alternatywnie można również przyjšć:
max [
f(x) = x46 + x56 ]
warunki ograniczajšce:
x12 £ 7
x13 £ 10
x23 £ 6
x24 £ 8
x34 £ 2
x35 £ 3
x45 £ 7
x46 £ 8
x56 £ 9
x12 x23 x24 = 0
x13 + x23 x34 x35
= 0
x24 + x34 x45 x46
= 0
x35 + x45 x56 = 0
xij ³ 0, (i, j) Î L
Rozwišzanie optymalne:
x12* = 7
x13* = 5
x23* = 0
x24* = 7
x34* = 2
x35* = 3
x45* = 1
x46* = 8
x56* = 4
fmax = 12
4. ZADANIE TRANSPORTOWE:
- pierwsze rozwišzanie dopuszczalne,
- interpretacja wskaników optymalnoci rozwišzania bazowego,
- poprawianie uzyskanego rozwišzania,
- schemat blokowy algorytmu,
- niezbilansowane zadanie transportowe,
- zdegenerowane rozwišzanie bazowe,
- problem tras niedopuszczalnych.
Zbudować własne zadanie transportowe (o wymiarze 3x4): macierz nieujemnych, dwuindeksowych zmiennych decyzyjnych, minimalizacja funkcji kryterium (całkowity koszt dostarczenia towarów), macierz współczynników jednostkowego kosztu przewiezienia towaru dla wszystkich tras, dwie grupy warunków ograniczajšcych (nierównoci £ dla dostawców, nierównoci ³ dla odbiorców).
Pokazać, że z powodu liniowej zależnoci między warunkami ograniczajšcymi liczba dodatnich wartoci zmiennych w rozwišzaniu bazowym (niezdegenerowanym) powinna być równa: n + m 1, gdzie n oznacza liczbę warunków ograniczajšcych opisujšcych dostawców, a m liczbę warunków ograniczajšcych opisujšcych odbiorców. Ponieważ jest to bilans zamknięty, zawsze jeden z warunków daje się przedstawić jako liniowa kombinacja pozostałych.
Cztery magazyny zaopatrujš cztery sklepy w jednorodny towar. Każdy z magazynów (M1, M2, M3, M4) ma do rozesłania jednakowš liczbę 20 jednostek towaru. Odbiorcy, czyli sklepy, zgłosili zróżnicowane zapotrzebowanie na towar: S1=15, S2=17, S3=21, S4=27.
Macierz C jednostkowych kosztów (cij) przewozu towarów podana jest poniżej:
14 |
16 |
12 |
4 |
13 |
12 |
10 |
5 |
12 |
18 |
10 |
7 |
14 |
15 |
14 |
9 |
Rozwišzanie tego przykładu jest proste, ponieważ zadanie jest zbilansowane i w trakcie rozwišzywania nie występuje degeneracja rozwišzania bazowego. Pierwsze rozwišzanie dopuszczalne należy wyznaczyć konsekwentnie wybierajšc najpierw trasy o najniższym koszcie jednostkowym (metoda minimalnego elementu w tablicy kosztów jednostkowych).
Należy zwrócić uwagę na oryginalny cykl, który trzeba
zbudować w celu uruchomienia przepływu na jedynej (!) trasie wyróżnionej
nieoptymalnym, ujemnym wskanikiem (proponuje się przyjšć w algorytmie,
że przy wskaniku oznacza możliwoć
znalezienia następnego rozwišzania bazowego zmniejszajšcego wartoć funkcji).
Pokazać, że przejcie od jednego rozwišzania bazowego do drugiego, dzięki
konstrukcji algorytmu, gwarantuje dopuszczalnoć i bazowoć następnego
rozwišzania.
Podać interpretację wskaników optymalnoci. Wyjanić, że
badane w algorytmie znaki wskaników
pokazujš, czy rozwišzanie jest optymalne, natomiast wartoć pojedynczego
wskanika jest jednostkowš (przypadajšcš na jednostkę towaru) miarš zmiany
wartoci funkcji.
rozwišzanie optymalne, czyli macierz X*:
0 |
0 |
0 |
20 |
0 |
12 |
1 |
7 |
0 |
0 |
20 |
0 |
15 |
5 |
0 |
0 |
fmin = 754
Podać interpretację i metodę postępowania w następujšcych przypadkach i zagadnieniach rozszerzajšcych typowe zadanie transportowe:
ˇ zadanie niezbilansowane (dodatkowe wiersze lub kolumny tablicy transportowej),
ˇ degeneracja rozwišzania bazowego (wyjanienie i postępowanie w procesie rozwišzywania zadania),
ˇ alternatywne rozwišzanie optymalne,
ˇ skumulowany koszt jednostkowy (uwzględnianie nie tylko kosztu jednostkowego transportu, ale również innych jednostkowych parametrów kosztowych wynikajšcych z charakterystyki dostawców lub odbiorców),
ˇ problem tras niedopuszczalnych (postępowanie w formułowaniu zadania i jego dalszym rozwišzywaniu),
ˇ
wieloetapowe zadanie transportowe (na przykład:
producent-magazyny-odbiorcy).
5. METODA SYMPLEKS:
- schemat blokowy algorytmu,
- interpretacja uzyskiwanych wyników,
- zmienne sztuczne,
- degeneracja rozwišzania bazowego.
Rozwišzać prosty przykład ograniczony do przestrzeni dwuwymiarowej:
funkcja kryterium:
max [ f(x)
= 5x1 + 25x2 ]
warunki ograniczajšce:
2x1 + x2 £ 12
2x1 + 2x2 £ 20
x1 ³ 0
x2 ³ 0
Omówić przejcie od zadania poczštkowego do zadania rozszerzonego ze zmiennymi pomocniczymi, w tym przypadku dopełniajšcymi lewš stronę obu nierównoci. W algorytmie należy zwrócić uwagę na operacje zmierzajšce do wymiany w bazie jednego wektora: identyfikacja wektora usuwanego z bazy i wyznaczenie wektora wprowadzanego do bazy.
Należy wyjanić w jakiej sytuacji w metodzie sympleks
uzyskuje się rozwišzanie optymalne, w jakiej rozwišzanie nieograniczone, a
kiedy zadanie nie ma rozwišzania.
Przedstawić graficznie zadanie i pokazać na rysunku na
czym polega schemat metody sympleks badanie optymalnoci rozwišzania
wierzchołkowego i w razie możliwoci poprawy rozwišzanie przechodzenie do
sšsiedniego wierzchołka zapewniajšcego większš poprawę wartoci funkcji.
Rozwišzanie
Przykład nr 2
Rozwišzać dowolny przykład zadania PL ilustrujšcego problem działalnoci produkcyjnej, a następnie przeanalizować i zinterpretować uzyskany wynik.
Poniżej podane jest przykładowe zadanie. Ekonomiczny opis
problemu sprowadza się do wytwarzania dwóch rodzajów wyrobów (inwencja
prowadzšcego), które majš okrelonš cenę zbytu. Sš wytwarzane z dwóch rodzajów
zasobów (inwencja prowadzšcego), których iloć jest ograniczona. Dodatkowo
limitowana jest wielkoć produkcji obu wyrobów.
max [
f(x) = 3x1 + 5x2 ]
3 x1
+ x2 £ 30
x1
+ 2x2 £ 20
x1
+ x2 £ 13
x1 ³ 0
x2 ³ 0
rozwišzanie optymalne:
fmax = 53
Interpretujemy uzyskane rozwišzanie:
ˇ
maksymalnie możemy uzyskać produkcję o wartoci 53
jednostek pieniężnych,
ˇ
należy wtedy wytworzyć 6 jednostek wyrobu
pierwszego,
ˇ
należy wytworzyć również 7 jednostek wyrobu
drugiego,
ˇ
zasób pierwszy nie zostanie wykorzystany w całoci
(pozostanie 5 jednostek),
ˇ
zasób drugi zostanie wykorzystany w całoci (pozostanie 0 jednostek).
Należy przeanalizować na rysunku jakš rolę odegrało
ograniczenie wielkoci produkcji (trzeci warunek ograniczajšcy)? Jak
wyglšdałoby rozwišzanie optymalne, gdyby było uzależnione wyłšcznie od
ograniczeń zasobowych?
Uprzedzajšc analizę po-optymalnš zastanowić się na tym samym rysunku nad wrażliwociš rozwišzania optymalnego. Jakie sš następstwa dla rozwišzania wynikajšce ze zmiany cen (pierwszego albo drugiego wyrobu) lub ze zmiany ograniczenia zasobowego (pierwszego albo drugiego zasobu)?
Przykład nr 3
Wyjanić kiedy powstaje degeneracja, jak jš
identyfikujemy w tablicy sympleksowej i jakie stwarza problemy dla procesu
obliczeniowego?
Szczególnie interesujšce, w kontekcie przyszłej
interpretacji zmiennych dualnych, jest pokazanie, co na rysunku (w przestrzeni
dwuwymiarowej) oznacza wystšpienie degeneracji dopuszczalnego rozwišzania
bazowego. Poniżej proponowany przykład:
6. DUALNOĆ I ZMIENNE DUALNE:
- symetryczne i niesymetryczne pary zadań dualnych,
- informacyjna zawartoć tablicy sympleksowej,
- interpretacja zmiennych dualnych.
Należy na bardzo różnych przykładach pokazać pary zadań dualnych i ich własnoci, szczególnie w odniesieniu do zależnoci występujšcej między funkcjami kryterium obu zadań. W odniesieniu do pary zadań symetrycznych zaleca się zbudowanie tablicy ułatwiajšcej zapamiętanie, w jaki sposób okrelić zadanie dualne do podanego (współczynniki funkcji kryterium i prawych stron zamieniajš się miejscami, macierz A ulega transpozycji).
Podać analityczne sposoby dostosowywania zadań złożonych do schematu zadań symetrycznych (przekształcenia kierunku optymalizacji, nierównoci lub równań występujšcych w zadaniu pierwotnym). Zapisać ogólnš tablicę przejcia od dowolnego zadania pierwotnego do jego postaci dualnej.
Odczytać zawartoć tablicy sympleksowej w częci zwišzanej z zadaniem dualnym. Może to zrobić korzystajšc ze znanego przykładu rozwišzanego wczeniej metodš sympleks:
funkcja kryterium:
max [ f(x) = 5x1 + 25x2 ]
warunki ograniczajšce:
2x1 + x2 £ 12
2x1 + 2x2 £ 20
x1 ³ 0
x2 ³ 0
Zadanie dualne (symetryczne) przedstawia się oczywicie
następujšco:
funkcja kryterium:
min [
g(y) = 12y1 + 20y2 ]
warunki ograniczajšce:
2y1 + 2y2 ³
5
y1
+ 2y2 ³ 25
y1
³ 0
y2 ³ 0
Wiersz wskaników optymalnoci w ostatniej tablicy
sympleksowej (dajšcej optymalne rozwišzanie zadania pierwotnego) składa się z
następujšcych elementów: a01 = 20, a02 = 0, a03
= 0, a04 = 25/2. Sš to zarazem wartoci zmiennych dualnych dla
rozwišzania optymalnego minimalizujšcego g(y).
Wartoci zmiennych decyzyjnych dla rozwišzania
optymalnego zadania dualnego odnajdujemy w kolejnych kolumnach odpowiadajšcych
pomocniczym zmiennym zadania pierwotnego, a w kolejnych kolumnach
odpowiadajšcych zmiennym decyzyjnym zadania pierwotnego znajdujš się w wierszu
wskanikowym wartoci zmiennych pomocniczych zadania dualnego.
Rozwišzanie optymalne zadania dualnego:
gmin = 250
W celu podania interpretacji zmiennych dualnych skorzystać z dwóch metod. Po pierwsze, zinterpretować znaczenia zmiennych, które jest w pełni czytelne dla zadania działalnoci produkcyjnej (korzystamy ze sformułowanego i rozwišzanego już zadania na przykład nr 2 powyżej). Po drugie, wyprowadzić wnioski z definicyjnej zależnoci fmax = gmin.
Nadajšc pełnš ekonomicznš interpretację zadaniu
pierwotnemu, takiemu jak w powyższym przykładzie nr 2, pokazać, że zadanie
dualne polega na minimalizacji kosztu zakupu obu rodzajów zasobów, a warunki
ograniczajšce maja zapewnić minimalny poziom opłacalnoci produkcji obu rodzaju
wyrobów. W takim kontekcie i-ta zmienna decyzyjna zadania dualnego jest cenš
jednostki i-tego zasobu występujšcego w zadaniu pierwotnym.
Natomiast z zależnoci f(x)max = g(y)min
tworzymy następujšce rozwinięcie (w tym przypadku dla zadania o dwóch zmiennych
decyzyjnych):
f(x)max
= c1x1* + c2x2*
= b1y1* + b2y2*
= g(y)min.
Obliczajšc pochodne czšstkowe, najpierw po b1,
a następnie po b2 otrzymujemy:
śf(x)max /śb1 = y1*
oraz śf(x)max /śb2
= y2*.
Interpretujemy to w ten sposób, że i-ta zmienna dualna (rozwišzania optymalnego) jest miarš krańcowej produktywnoci i-tego ograniczenia w zadaniu pierwotnym. Dokładniej: wskazuje jaki będzie marginalny przyrost optymalnej wartoci funkcji zadania pierwotnego, jeżeli nastšpi marginalne powiększenie i-tego zasobu o jednostkę.
7. DUALNOĆ I DUALNA METODA
SYMPLEKS:
- schemat blokowy metody dualnej,
- interpretacja uzyskiwanych wyników,
- wyznaczanie rozwišzań z warunków Dantziga‑Ordena.
Wyjanić na czym polega dualna metoda sympleks i porównać jš z prymalnš metodš sympleks zwracajšc uwagę nie na aspekt obliczeniowy, ale na odmiennš logikę procesu poprawiania uzyskiwanych rozwišzań.
O ile metoda prymalna rozpoczynała się od pierwszego,
dopuszczalnego rozwišzania bazowego, to metoda dualna rozpoczyna się od
pierwszego niedopuszczalnego rozwišzania bazowego z nieujemnymi wskanikami
optymalnoci. Prymalna metoda metodycznie badała sšsiednie wierzchołki zbioru
rozwišzań dopuszczalnych, aby zatrzymać się w tym z nich, który daje optymalnš
wartoć funkcji. Metoda dualna porusza się po pseudo-wierzchołkach, które
leża poza obszarem dopuszczalnym, ale optymalizujš (nieujemnoć) wskaniki
optymalnoci. Algorytm dualny kończy się, gdy nieujemnoć wskaników zostaje
zachowana, a dane rozwišzanie okazuje się również być rozwišzaniem
dopuszczalnym.
Zadania rozwišzywane prymalnš metodš ze zmiennymi sztucznymi z reguły można rozwišzać metodš dualnš bez wprowadzania zmiennych sztucznych. Metoda dualna jest pomocna przy analizie post-optymalnej zadania PL w odniesieniu do zmian współczynników prawych stron .
Rozwišzać przykładowe zadanie stosujšc dualna metodę sympleks:
min [ f(x) = x1
+ x2 ]
2x1 +
x2 ³ 8
2x1 +
3x2 ³ 12
x1 ³ 0
x2 ³ 0
Zamiast stosować metodę prymalnš (ze zmiennymi
sztucznymi) przekształcamy zadanie mnożšc oba bilansowe warunki ograniczajšce
przez -1. Można wówczas okrelić pierwsze rozwišzanie, które będzie
niedopuszczalne (ujemna wartoć zmiennych), ale wszystkie wskaniki
optymalnoci będš dla tego rozwišzania nieujemne. Od niego rozpoczyna się
działanie algorytmu.
Rozwišzanie optymalne
Zastosować podane na wykładzie warunki Dantziga-Ordena i wykorzystać je do wyznaczenia rozwišzania optymalnego zadania dualnego. Porównać je z warunkami komplementarnoci klasycznych warunków Kuhna-Tuckera zadania programowania nieliniowego.
Warunki Dantziga-Ordena sš specjalnym przypadkiem
warunków optymalnoci, które zostanš podane w ramach wykładu programowania
nieliniowego (w zapisie macierzowym). Zapisane dalej warunki sš spełnione dla
wektorów rozwišzań optymalnych x* oraz y*:
y*T(b Ax*) = 0
(y*TA cT)x*
= 0.
W celu ułatwienia wyznaczania rozwišzania zadania
dualnego proponuje się wykorzystywać poprzednio rozwišzane zadania. W trakcie
zapisywania warunków i ich rozwišzywania należy podkrelać zależnoć, która
łšczy i-tš zmiennš zadania prymalnego z i-tym warunkiem zadania dualnego oraz
j-ty warunek zadania prymalnego z j-tš zmienna zadania dulanego.
Wykorzystać znany przykład:
funkcja kryterium:
max [ f(x) = 5x1 + 25x2 ]
warunki ograniczajšce:
2x1 + x2 £
12
2x1 + 2x2 £
20
x1 ³ 0
x2 ³ 0
otrzymujemy następujšce warunki D-O:
y1*(12
2x1* x2*) = 0
y2*(20
2x1* 2x2*) = 0
(2y1*
+ 2y2* 5)x1* = 0
(y1*
+ 2y2* 25)x2* = 0
po podstawieniu x* i poprawnym wnioskowaniu
na temat komplementarnych warunków D-O wyznaczamy ostatecznie rozwišzanie
optymalne zadania dualnego:
gmin
= 250
8. ANALIZA POST-OPTYMALNA:
- zmiana współczynników funkcji kryterium,
- zastosowanie metody sympleks,
- zmiana prawych stron warunków ograniczajšcych,
- zastosowanie dualnej metody sympleks.
Stosujšc prosty i rozwišzany już metodš sympleks przykład okrelić konsekwencje zmian współczynników funkcji kryterium i współczynników prawych stron tworzšcych zadanie PL.
Zmiana współczynników funkcji kryterium nie wymaga
ponownego rozwišzania przykładu, ponieważ wprowadzenie zmiany w ostatniej
tablicy sympleksowej pozwala sprawdzić czy zachowana została optymalnoć
uzyskanego wczeniej rozwišzania (nieujemnoć wskaników optymalnoci). Gdyby
optymalnoć została utracona, to należy zastosować metodę sympleks do uzyskania
nowego rozwišzania optymalnego.
Zmiana współczynników prawych stron również nie wymaga
rozwišzywania przykładu od poczštku, ale pocišga za sobš koniecznoć
wyznaczenia macierzy przejcia (znajduje się ona w tych kolumnach macierzy A,
które w pierwszej tablicy tworzyły macierz jednostkowš). Dzięki macierzy
przejcia obliczamy nowy, przekształcony wektor prawych stron, a więc mamy
możnoć ustalić, czy została zachowana dopuszczalnoć uzyskanego wczeniej
rozwišzania optymalnego. Gdyby dopuszczalnoć został utracona, to należy
zastosować dualna metodę sympleks w celu uzyskania nowego rozwišzania
optymalnego.
Na prostym przykładzie zadania PL należy przeprowadzić analizę post-optymalnš wyznaczajšc przedziały zmiennoci współczynników funkcji kryterium, a następnie współczynników prawych stron.
Dla współczynników funkcji kryterium rozwišzuje się
odpowiednie nierównoci wynikajšce z warunku nieujemnoci wskaników
optymalnoci. Nierównoci buduje się tyle, ile jest wskaników optymalnoci z
uwikłanym, badanym współczynnikiem funkcji kryterium.
Dla współczynników prawych stron buduje się nierównoci,
które majš zapewnić nieujemnoć elementów przekształconego w tablicy
sympleksowej nowego wektora prawych stron. Przekształcenia wektora
identyfikujemy odtwarzajšc operacje elementarne dokonywane w celu uzyskania
rozwišzania optymalnego. Nierównoci do zbadania będzie tyle, ile z nich
zawiera badany współczynnik prawej strony.
Uwaga: na tym elementarnym poziomie analizy możemy tylko badać skutki zmiany jednego współczynnika, a więc przy założeniu, że pozostałe nie ulegajš tymczasem zmianie. Analiza zmiany współczynników macierzy A nie jest zalecana z powodu ograniczonych możliwoci przejrzystego przedstawienia tego problemu.
Wyjanić zasady konstrukcji, sposobu postępowania i wykorzystania wyników w sytuacji, gdy do zadania PL wprowadzamy parametr o dajšcym się z góry przewidzieć przedziale zmiennoci.
Zadanie z parametrem można rozwišzywać metodš sympleks z
rozbudowana tablicš sympleksowš, a efektem końcowym jest okrelenie jakim
wartociom parametru odpowiada szczególne rozwišzanie optymalne (wektor
zmiennych decyzyjnych i optymalna wartoć funkcji).
9. PAKIET KOMPUTEROWY DECISION
(zajęcia nr 1 w
pracowni komputerowej):
- algorytm
transportowy,
- problem
przydziału,
- algorytm sympleks,
- analiza
postoptymalna.
10. PAKIET KOMPUTEROWY DECISION
(zajęcia nr 2 w
pracowni komputerowej):
- programowanie
całkowitoliczbowe,
- programowanie
wielokryterialne,
- wybrane problemy
sieciowe.