Wykład 6. Programowanie liniowe

Podobne dokumenty
METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

Programowanie liniowe. Tadeusz Trzaskalik

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

Programowanie liniowe

Wprowadzenie do badań operacyjnych - wykład 2 i 3

Definicja problemu programowania matematycznego

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Metody systemowe i decyzyjne w informatyce

Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):

Programowanie liniowe metoda sympleks

1 Przykładowe klasy zagadnień liniowych

Programowanie liniowe metoda sympleks

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Optymalizacja

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

Teoretyczne podstawy programowania liniowego

PROGRAMOWANIE KWADRATOWE

doc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505.

Standardowe zadanie programowania liniowego. Gliwice 1

Metody Ilościowe w Socjologii

Badania Operacyjne Ćwiczenia nr 2 (Materiały)

Programowanie liniowe metoda sympleks

Programowanie liniowe

Ćwiczenia laboratoryjne - Dobór optymalnego asortymentu produkcji programowanie liniowe. Logistyka w Hutnictwie Ćw. L.

ZAGADNIENIE TRANSPORTOWE

OPTYMALIZACJA W LOGISTYCE

Programowanie liniowe

BADANIA OPERACYJNE pytania kontrolne

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

ZAGADNIENIE DUALNE Rozważmy zagadnienie liniowe(zagadnienie to nazywamy prymalnym) o postaci kanonicznej:

Rozdział 1 PROGRAMOWANIE LINIOWE

BADANIA OPERACYJNE Zagadnienie transportowe. dr Adam Sojda

Programowanie liniowe

Metoda simpleks. Gliwice

ALGORYTM SIMPLEX. B.Gładysz Badania operacyjne 2007

Wykład z modelowania matematycznego. Algorytm sympleks.

(Dantzig G. B. (1963))

Rozwiązanie Powyższe zadanie możemy przedstawić jako następujące zagadnienie programowania liniowego:

Metody wielokryterialne. Tadeusz Trzaskalik

Modelowanie całkowitoliczbowe

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

( 1) ( ) 16 Warunki brzegowe [WB] Funkcja celu [FC] Ograniczenia [O] b i ( 2) ( ) ( ) 14. FC max. Kompletna postać bazowa

A. Kasperski, M. Kulej Badania Operacyjne- programowanie liniowe 1

OPTYMALIZACJA DYSKRETNA

METODA ANALITYCZNA Postać klasyczna: z = 5 x 1 + 6x 2 MAX 0,2 x 1 + 0,3x 2 < 18 0,6 x 1 + 0,6x 2 < 48 x 1, x 2 > 0

Programowanie liniowe

A. Kasperski, M. Kulej, Badania operacyjne, Wykład 4, Zagadnienie transportowe1

Elementy Modelowania Matematycznego

Laboratorium Metod Optymalizacji

Zagadnienie transportowe

OPTYMALIZACJA W LOGISTYCE

2 1 3 c c1. e 1, e 2,..., e n A= e 1 e 2...e n [ ] M. Przybycień Matematyczne Metody Fizyki I

TOZ -Techniki optymalizacji w zarządzaniu

Wykład 7. Informatyka Stosowana. Magdalena Alama-Bućko. 16 kwietnia Magdalena Alama-Bućko Wykład 7 16 kwietnia / 23

Zadania 1. Czas pracy przypadający na jednostkę wyrobu (w godz.) M 1. Wyroby

Rozdział 1 PROGRAMOWANIE LINIOWE

Programowanie nieliniowe

PROGRAMOWANIE NIELINIOWE

6. ANALIZA POST-OPTYMALIZACYJNA analiza wrażliwości rozwiązania optymalnego

Programowanie matematyczne

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

Zagadnienie Dualne Zadania Programowania Liniowego. Seminarium Szkoleniowe Edyta Mrówka

Wykład 12 i 13 Macierz w postaci kanonicznej Jordana , 0 A 2

Programowanie liniowe

PROGRAMOWANIE WIELOKRYTERIALNE (CELOWE)

BADANIA OPERACYJNE I TEORIE OPTYMALIZACJI. Zagadnienie transportowe

Programowanie nieliniowe. Badania operacyjne Wykład 3 Metoda Lagrange a

Programowanie liniowe

ZAGADNIENIE TRANSPORTOWE(ZT)

Matematyka stosowana i metody numeryczne

Zbiory wypukłe i stożki

Algorytm simplex i dualność

Spis treści. Koszalin 2006 [BADANIA OPERACYJNE PROGRAMOWANIE LINIOWE]

Algebra liniowa. Macierze i układy równań liniowych

WYDZIAŁ ELEKTRYCZNY POLITECHNIKI WARSZAWSKIEJ INSTYTUT ELEKTROENERGETYKI ZAKŁAD ELEKTROWNI I GOSPODARKI ELEKTROENERGETYCZNEJ

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Uniwersytet Kardynała Stefana Wyszyńskiego Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych. Piotr Kaczyński. Badania Operacyjne

Badania operacyjne. te praktyczne pytania, na które inne metody dają odpowiedzi jeszcze gorsze.

Rozwiązania zadań z listy T.Koźniewskiego

Krótkie wprowadzenie do macierzy i wyznaczników

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI

Programowanie dynamiczne. Tadeusz Trzaskalik

Funkcje i tabele. Paweł Bednarz 29 marca Funkcje Funckja liniowa Własności funkcji liniowej Funkcja kwadratowa...

Przykład wykorzystania dodatku SOLVER 1 w arkuszu Excel do rozwiązywania zadań programowania matematycznego

Przekształcanie równań stanu do postaci kanonicznej diagonalnej

KLASYCZNE ZAGADNIENIE TRANSPORTOWE (KZT).

JEDNORÓWNANIOWY LINIOWY MODEL EKONOMETRYCZNY

A. Kasperski, M. Kulej Badania Operacyjne- metoda sympleks 1

Dualność w programowaniu liniowym

Ekonometria - ćwiczenia 10

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn a 1j a 2j R i = , C j =

Ekonometria - ćwiczenia 11

Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: Badania operacyjne. Temat ćwiczenia:

Stochastyczne zagadnienie rozdziału z dyskretnym rozkładem popytu

Lokalna odwracalność odwzorowań, odwzorowania uwikłane

Zagadnienia - równania nieliniowe

Rozwiązywanie układów równań liniowych metody przybliżone Materiały pomocnicze do ćwiczeń z metod numerycznych

Układy równań liniowych. Ax = b (1)

Transkrypt:

Wykład 6. Programowanie liniowe

Zakład może wytwarzać dwa produkty: P 1 i P 2. Ich produkcja jest limitowana dostępnymi zasobami trzech środków: S 1, S 2, S 3. Zasoby tych środków wynoszą odpowiednio, 14, 8 i 16 jednostek. Nakład środka S 1 na wytworzenie produktu P 1 wynosi 2 jednostki, a na wytworzenie produktu P 2 - również 2 jednostki. Nakłady środka S 2 wynoszą odpowiednio, 1 i 2 jednostki, natomiast środka S 3-4 i 0 jednostek. Zysk osiągany z wytworzenia jednostki produktu P 1 wynosi 2 jednostki, a z wytworzenia jednostki produktu P 2-3 jednostki. Należy zaplanować produkcję tak aby maksymalizować zysk. Zmienne decyzyjne: x 1, x 2 - planowana wielkość produkcji wyrobu odpowiednio, P 1, P 2. Funkcja celu: Ograniczenia: F x 1, x 2 = 2x 1 + 3x 2 2x 1 + 2x 2 14 x 1 + 2x 2 8 4x 1 + 0x 2 16 x 1 0, x 2 0

2x 1 + 2x 2 14 2x 1 + 3x 2 = 12 4x 1 16 2x 1 + 3x 2 = 18 Funkcja celu: F x 1, x 2 = 2x 1 + 3x 2 Ograniczenia: 2x 1 + 2x 2 14 x 1 + 2x 2 8 4x 1 + 0x 2 16 x 1 0, x 2 0 x 1 + 2x 2 8 x 2 0 xf 2 ( x) = 3 x 1 = 4 x 2 = 2 x 1 0 2x 1 + 3x 2 = 0 2x 1 + 3x 2 = 14

Zadanie jak poprzednio, z tym że łączna produkcja nie może być mniejsza niż 8 2x 1 + 2x 2 14 2x 1 + 3x 2 = 14 x 1 + 2x 2 8 4x 1 16 2x 1 + 3x 2 = 18 Funkcja celu: F x 1, x 2 = 2x 1 + 3x 2 Ograniczenia: 2x 1 + 2x 2 14 x 1 + 2x 2 8 4x 1 + 0x 2 16 x 1 + x 2 8 x 1 0, x 2 0 x 2 0 xf 2 ( x) = 3 x 1 + x 2 8 D x = Zbiór rozwiązań dopuszczalnych jest pusty x 1 0

Zadanie jak na wstępie, z tym że zysk jednostkowy dla produktu P 2 wynosi 4 2x 1 + 2x 2 14 x 1 = 0 x 2 = 4 x 1 + 2x 2 8 2x 1 + 4x 2 = 8 x 2 0 Zbiór rozwiązań alternatywnych xf Funkcja celu: 4x F x 1, x 2 = 2x 1 + 4x 2 1 16 Ograniczenia: 2x 1 + 2x 2 14 x 1 + 2x 2 8 4x 1 + 0x 2 16 x 1 = 4 x 1 0, x 2 0 x 2 = 2 2x 1 + 4x 2 = 20 2 ( x) = 4 x 1 0 2x 1 + 4x 2 = 16

Rozważmy problem planowania produkcji, w którym występuje jedynie ograniczenie dotyczące środka S 3 (jego zużycie nie może przekraczać 16 jednostek) oraz sformułowano dolne ograniczenie na łączną wielkość produkcji, która nie może być mniejsza od 3 jednostek. Zysk z poszczególnych produktów jak poprzednio. Funkcja celu: F x 1, x 2 = 2x 1 + 3x 2 x 1 + x 2 3 4x 1 16 Ograniczenia: 4x 1 + 0x 2 16 x 1 + x 2 3 x 1 0, x 2 0 x 2 0 xf 2 ( x) = 3 2x 1 + 3x 2 = 16 Rozwiązanie nieograniczone x 1 0 2x 1 + 3x 2 = 12

x F x = min x D x F x D x = x R s, φ l x = 0, l = 1, 2,, L, ψ m x 0, m = 1, 2,, M F x = c T x = c s x s S s=1 S φ l x = a T l x b l = a ls x s b l = 0 l = 1, 2,, L s=1 S ψ m x = a T m x b m 0 = a ms x s b m 0 m = 1, 2,, M x s 0 s = 1, 2,, S s=1

1. Rozwiązanie leży w wierzchołku

2. Rozwiązanie leży na odcinku

3. Rozwiązanie nieograniczone lub 4. Zbiór rozwiązań dopuszczalnych jest pusty t.j.: D x =

F x = 2x 1 + x 2 min D x = {x R 2, x 1 x 2 + 1 0, 2x 1 + 3x 2 6 0, x 1, x 2 0} x F x = 2 1 x F x = 2 1

F(x) = c T x A: D X = x R s, Ax b = 0 L, x 0 S lub B: D x = {x R s, Ax b 0 L, x 0 S } c = c 1 c S, b = b 1, x = b L x 1, A SxL = x S a 11 a 1S a L1 a LS

ҧ ҧ ҧ B A 1 a T L x b l 0 wprowadzamy sztuczną zmienną x S+1 0 a l T x + x S+1 b l = 0 czyli ഥa l = a L1 a LS 1, x ҧ = x 1 x S x S+1, c ҧ = c 1 cs 0 F x = ഥa l T c T x x b L = 0

A B 2 a l T x b l = 0 a l T x b l 0 (a l T x b l ) 0 3 x s - nie jest ograniczone x s = x s x s x s 0, x s 0 x ҧ = x 1 x s 1 x s s x x s+1 x s, c ҧ = c 1 c s 1 c s c s c s+1 c s, ഥa l = a l1 a ls 1 a ls a ls a ls+1 a ls

F x = 2x 1 + x 2 F x = 2x 1 + x 2 +0x 3 +0x 4 x 1 x 2 + 1 0 x 1 x 2 + x 3 + 1 = 0 x 3 0 2x 1 + 3x 2 6 0 2x 1 + 3x 2 + x 4 6 = 0 x 4 0 A = 1 1 1 0 2 3 0 1, b = 1 6, x = x 1 x 2 x 3 x 4, c = 2 1 0 0

F x = c T x D X = x R s : Ax b = 0 L, x 0 L x, λ = c T x + λ T Ax b μ T x x L x, λ = c + A T λ μ = 0 S λ L x, λ = Ax b = 0 L!!! μ T μ L = μ T x = 0 μ 0 S x 0 S

Rozwiązanie dopuszczalne x D x Rozwiązanie Bazowe Ax = b Rz A = L S L x B = B 1 b B macierz L kolumn z macierzy A maksymalna liczba? S L = S! L! S L! Rozwiązanie Bazowe Dopuszczalne x B 0 L Niezdegenerowane Rozwiązanie Bazowe Dopuszczalne x B > 0 L

1. Wyznaczenie rozwiązania początkowego 2. Kryterium zbieżności zatrzymanie procedury 3. Przechodzenie z jednej bazy do drugiej 4. Postępowanie przy rozwiązaniach zdegenerowanych

Warunek zatrzymania procedury Ax = b x B = B 1 b - rozwiązanie bazowe x B = B 1 Ax Ax b = 0 L /B 1 B 1 Ax B 1 b = 0 L c T x = c T x c T B B 1 Ax B 1 b = c T c T B B 1 A x c T BB 1 b = c T c T B B 1 A x c T Bx B

c 1 c k c S Zmienne bazowe c B h 0 h 1 h k h S h s0 h sk h sk 0 x j1 c j1 h 10 h 11 h 1k h 1s x jl c jl h l0 h l1 h lk h ls x jl c jl h L0 h L1 h Lk h Ls c 1 z 1 c k z k c s z s z k = s I B c s h sk h ls h ls ; h lk s = 1, 2,, S h is = h is h ikh ls h lk i = 0, 1,, S s I B \{l}

1. Wyznaczamy początkową bazę dopuszczalną 2. Badamy czy c c B B 1 A 0 S. Jeżeli tak to x B - rozwiązanie problem x = [x B 0] 3. Wstawiamy do bazy k takie, że c k z k = min 1 s S (c s z s ) 4. Badamy, czy h k 0, jeśli tak funkcja nieograniczona 5. Wyrzucamy z bazy l takie, że 6. I B I B l k h l0 = min h {h s0, h lk 1 s S h sk > 0} sk I B = {j 1, 2,, S x j jest elementem bazy } 7. Jeżeli wskaźnik optymalności zmiennej nie bazowej jest równy 0 to istnieje kolejne rozwiązanie (rozwiązania alternatywne)

c 1 c k c S Zmienne bazowe c B h 0 h 1 h k h S h s0 h sk h sk 0 x j1 c j1 h 10 h 11 h 1k h 1s x jl c jl h l0 h l1 h lk h ls x jl c jl h L0 h L1 h Lk h Ls c 1 z 1 c k z k c s z s z k = s I B c s h sk h ls h ls ; h lk s = 1, 2,, S h is = h is h ikh ls h lk i = 0, 1,, S s I B \{l}

F x = 2x 1 3x 2 F x = 2x 1 3x 2 + 0x 3 + 0x 4 + 0x 5 2x 1 + 2x 2 14 0 2x 1 + 2x 2 + x 3 = 14 x 1 + 2x 2 8 0 x 1 + 2x 2 + x 4 = 8 4x 1 16 0 4x 1 + x 5 = 16 F x = [ 2 3 0 0 0] 2 2 1 0 0 1 2 0 1 0 4 0 0 0 1 x 1 x 2 x 3 x 4 x 5 = 14 8 16 x 1 x 2 x 3 x 4 x 5

-2-3 0 0 0 Zmienne c bazowe B h 0 h 1 h 2 h 3 h 4 h 5 h 0 h 2 x 3 0 14 2 2 1 0 0 14 2 x 4 0 8 1 2 0 1 0 8 2 x 5 0 16 4 0 0 0 1-0 -2-3 0 0 0 I B = {3, 4, 5}

-2-3 0 0 0 Zmienne c bazowe B h 0 h 1 h 2 h 3 h 4 h 5 h 0 h 1 x 3 0 6 1 0 1-1 0 6 1 x 2-3 4 1 1 0 1 0 4 2 2 1 2 x 5 0 16 4 0 0 0 1 16 1 2 0 0 3 2 0 4

x B -2-3 0 0 0 Zmienne bazowe c B h 0 h 1 h 2 h 3 h 4 h 5 x 3 0 2 0 0 1-1 1 4 x 2-3 2 0 1 0 1 2 1 8 x 1-2 4 1 0 0 0 1 4 0 0 0 3 2 1 8 0 Rozwiązanie [4 2 2 0 0]

Ax = b x 0 S Zmodyfikuj zbiór Ax + Ix a = b x 0, x a 0 Zadanie pomocnicze min x a 1 T x a

F x = c T x + M1 T x a Przy ograniczeniach Ax + IX a = b, x 0, x A 0

29

F x = x T D X + c T x+d D x = x R s, Ax = b, x 0 L x, λ = x T D x + C T x + d + λ T (Ax b) = x L x, λ = c + 2D x A T λ 0 = x L x, λ 0 x x L x, λ = 0 λ L x, λ = 0 x T X L x, λ = x T c + 2D x A T λ = 0 λ L x, λ = Ax b = 0 c + 2D x A T λ = 0 x T = 0 Ax = b

Ax = b 2D x A T λ = c x T = 0, x 0, 0 A 0 0 2D A T I x λ = b c x 0, 0, x T = 0

Teraz sztuczne zmienne należy usunąć Stosujemy zadanie programowania liniowego Przy ograniczeniach F u = 1 T u A 0 0 0 0 2D A T A T I E Zadanie programowania liniowego x λ λ u = b c

Bx B = b - rozwiązanie bazowe Ax = b 2D x + A T λ +Eu = c D B u sztuczna zmienna u 0 - macierz, której kolumny macierzy D odpowiadają A w B E diagonalna Δj = +1 c j 2d Bj x B 0 1 c j 2d Bj x B < 0 u j = c j 2d Bj x B, j = 1, 2,, S, λ = 0, = 0 d Bj - j-ty wiersz macierzy D B

34