Programowanie liniowe

Podobne dokumenty
Teoretyczne podstawy programowania liniowego

Układy równań i nierówności liniowych

Zbiory wypukłe i stożki

Programowanie liniowe

Algorytm simplex i dualność

Programowanie liniowe

TOZ -Techniki optymalizacji w zarządzaniu

R n = {(x 1, x 2,..., x n ): x i R, i {1,2,...,n} },

Programowanie liniowe

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

Definicja problemu programowania matematycznego

1 Przykładowe klasy zagadnień liniowych

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

Algebra liniowa z geometrią

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

Metody systemowe i decyzyjne w informatyce

Rozdział 1 PROGRAMOWANIE LINIOWE

Formy kwadratowe. Rozdział 10

Baza w jądrze i baza obrazu ( )

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

Programowanie liniowe

B jest liniowo niezależny V = lin (B) 1. Układ pusty jest bazą przestrzeni trywialnej {θ}. a i v i = i I. b i v i, (a i b i ) v i = θ.

Równania liniowe. Rozdział Przekształcenia liniowe. Niech X oraz Y będą dwiema niepustymi przestrzeniami wektorowymi nad ciałem

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

cx cx 1,cx 2,cx 3,...,cx n. Przykład 4, 5

Standardowe zadanie programowania liniowego. Gliwice 1

Dualność w programowaniu liniowym

Podstawowe struktury algebraiczne

Zadania egzaminacyjne

Wielokryteriowa optymalizacja liniowa

III. Układy liniowe równań różniczkowych. 1. Pojęcie stabilności rozwiązań.

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):

Grzegorz Bobiński. Wykład monograficzny Programowanie Liniowe i Całkowitoliczbowe

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

Układy równań liniowych

Programowanie liniowe. Tadeusz Trzaskalik

Elementy Modelowania Matematycznego

ALGEBRA Z GEOMETRIĄ BAZY PRZESTRZENI WEKTOROWYCH

Wektor, prosta, płaszczyzna; liniowa niezależność, rząd macierzy

Przestrzenie liniowe

Wykład z modelowania matematycznego. Zagadnienie transportowe.

wszystkich kombinacji liniowych wektorów układu, nazywa się powłoką liniową uk ładu wektorów

Przestrzenie wektorowe

Przestrzeń unitarna. Jacek Kłopotowski. 23 października Katedra Matematyki i Ekonomii Matematycznej SGH

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

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

PROGRAMOWANIE KWADRATOWE

Rozwiązania, seria 5.

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

Document: Exercise*02*-*manual /11/ :31---page1of8 INSTRUKCJA DO ĆWICZENIA NR 2

Programowanie celowe #1

Wykład 5. Ker(f) = {v V ; f(v) = 0}

Zaawansowane metody numeryczne

Geometria Lista 0 Zadanie 1

Elementy Modelowania Matematycznego

Rozwiazywanie układów równań liniowych. Ax = b

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

A,B M! v V ; A + v = B, (1.3) AB = v. (1.4)

Zadania z algebry liniowej - sem. I Przestrzenie liniowe, bazy, rząd macierzy

Analiza funkcjonalna 1.

FUNKCJA KWADRATOWA. 1. Definicje i przydatne wzory. lub trójmianem kwadratowym nazywamy funkcję postaci: f(x) = ax 2 + bx + c

ALGEBRA LINIOWA Z GEOMETRIĄ, LISTA ZADAŃ NR 8

III. ZMIENNE LOSOWE JEDNOWYMIAROWE

5. Rozwiązywanie układów równań liniowych

Rozdzia l 11. Przestrzenie Euklidesowe Definicja, iloczyn skalarny i norma. iloczynem skalarnym.

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

Funkcje analityczne. Wykład 4. Odwzorowania wiernokątne. Paweł Mleczko. Funkcje analityczne (rok akademicki 2016/2017) dla każdego s = (s.

V Konkurs Matematyczny Politechniki Białostockiej

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

Badania Operacyjne Ćwiczenia nr 2 (Materiały)

Dwa równania kwadratowe z częścią całkowitą

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

PROGRAMOWANIE NIELINIOWE

Jak łatwo zauważyć, zbiór form symetrycznych (podobnie antysymetrycznych) stanowi podprzestrzeń przestrzeni L(V, V, K). Oznaczamy ją Sym(V ).

Uzupełnienia dotyczące zbiorów uporządkowanych (3 lutego 2011).

1 Podstawowe oznaczenia

LI Olimpiada Matematyczna Rozwiązania zadań konkursowych zawodów stopnia trzeciego 3 kwietnia 2000 r. (pierwszy dzień zawodów)

Matematyka dyskretna dla informatyków

Krzywe Freya i Wielkie Twierdzenie Fermata

Lokalna odwracalność odwzorowań, odwzorowania uwikłane

ZAGADNIENIE TRANSPORTOWE

Aproksymacja. j<k. L 2 p[a, b] l 2 p,n X = Lemat 1. Wielomiany ortogonalne P 0,P 1,...,P n tworza przestrzeni liniowej Π n. Dowód.

LOGIKA I TEORIA ZBIORÓW

13 Układy równań liniowych

Zagadnienie transportowe

φ(x 1,..., x n ) = a i x 2 i +

Iloczyn skalarny. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 10. wykład z algebry liniowej Warszawa, grudzień 2013

Funkcje analityczne. Wykład 4. Odwzorowania wiernokątne. Paweł Mleczko. Funkcje analityczne (rok akademicki 2017/2018)

Definicja i własności wartości bezwzględnej.

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

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

3 1 + i 1 i i 1 2i 2. Wyznaczyć macierze spełniające własność komutacji: [A, X] = B

Programowanie liniowe metoda sympleks

9 Przekształcenia liniowe

1 Zbiory i działania na zbiorach.

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

1 Podobieństwo macierzy

Wektory i wartości własne

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Transkrypt:

Programowanie liniowe Maciej Drwal maciej.drwal@pwr.wroc.pl 1 Problem programowania liniowego min x c T x (1) Ax b, (2) x 0. (3) gdzie A R m n, c R n, b R m. Oznaczmy przez x rozwiązanie optymalne, tzn. takie rozwiązanie dopuszczalne, Ax b, x 0, które spełnia: x 0 Ax b c T x c T x. Każde rozwiązanie dopuszczalne x daje górne oszacowanie wartości rozwiązania optymalnego. Dolne oszacowanie możemy uzyskać znajdując odpowiednią kombinację liniową ograniczeń. Warunkiem jest dobranie takiego wektora y R m, który spełnia c y T A. Wówczas ograniczenia gwarantują nam, że wartość y T b będzie nie większa niż wartość optymalna: c T x (y T A) T x = y T (Ax ) y T b. Ostatnia nierówność zachodzi, ponieważ rozwiązanie x jest dopuszczalne. Jak znaleźć najlepsze dolne oszacowanie (tzn. minimalizujące c T x b T y)? Możemy sformułować następujący problem programowania liniowego: max b T y (4) y A T y c. (5) Problem programowania liniowego (4) (5) nazywamy dualnym, natomiast problem (1) (3) nazywamy prymalnym. Łatwo zauważyć, że podobnie konstruując problem dualny dla dualnego problemu (4) (5) uzyskamy problem prymalny. Problem dualny można też skonstruować następująco: włączając do funkcji celu ograniczenia (2) poprzez wprowadzenie wektora mnożników Lagrange a y: L(x, y) = c T x + y T (b Ax) = c T x + y T b (y T A) T x = y T b + x T (c y T A) a następnie traktując y jako zmienną decyzyjną, a zmienne x jako mnożniki Lagrange a, możemy wyeliminować ograniczenia z funkcji Lagrange a, uzyskując problem maksymalizacji y T b przy ograniczeniach c A T y. 1

2 Twierdzenia o dualności W poniższych twierdzeniach zakładamy, że istnieją skończone optymalne rozwiązania problemu prymalnego (1) (3) i dualnego (4) (5). Twieredzenie 1. (słaba dualność) Jeśli x jest rozwiązaniem dopuszczalnym problemu (1) (3), a y jest rozwiązaniem dopuszczalnym problemu (4) (5), wówczas c T x b T y. Dowód: c T x (A T y) T x = y T (Ax) y T b. QED. Twieredzenie 2. (silna dulaność) Jeśli x jest optymalnym rozwiązaniem problemu (1) (3), a y optymalnym rozwiązaniem problemu (4) (5), wówczas c T x = b T y. Udowodnimy powyższe twierdzenie przy wykorzystaniu następującego faktu z algebry liniowej, tzw. alternatywy Farkasa: Lemat 1. (Farkas) Niech A R m n i b R m. Dokładnie jedno z poniższych zdań jest prawdziwe: (1) istnieje x 0, takie, że Ax = b, (2) istnieje y, takie, że A T y 0 i b T y < 0. Dowód (lematu Farkasa): Zdania (1) i (2) nie mogą być jednocześnie prawdziwe, ponieważ jeśli 0 = Ax b, wówczas dla każdego y mamy: 0 = y T (Ax b) = y T Ax y T b. Zdanie (2) mówi, że dla x 0, y T Ax 0 i jednocześnie y T b > 0, czyli y T Ax y T b > 0, co daje sprzeczność. Teraz należy wykazać, że negacja zdania (1) implikuje (2). Wówczas alternatywa tych zdań będzie prawdziwa, co w połączeniu z powyższym będzie oznaczało, że dokładnie jedno z tych zdań jest prawdziwe. Załóżmy, że nie istnieje x 0 spełniający Ax = b. Oznaczmy K = {z : z = Ax, x 0}. Z założenia b / K. Rozważmy rzut wektora b na zbiór K, tzn. taki punkt p K, który minimalizuje odległość b z, z K. Zbiór K jest niepustym zbiorem wypukłym, więc zachodzi poniższa nierówność: (b p) T (Ax p) 0 co wynika z faktu, że kąt pomiędzy wektorem (b p) a dowolnym wektorem (Ax p) nie może być ostry (stąd ich iloczyn skalarny jest nie większy od zera, patrz Rysunek 1.). Rysunek 1: Ilustracja idei lematu Farkasa. Niech p = Aw dla pewnego w K, będzie rzutem wektora b na zbiór K. Zdefiniujmy y = p b, stąd y = b p i otrzymujemy dla wszystkich x 0: y T (Ax Aw) = (x w) T A T ( y) 0 2

co daje: x 0 (x w) T A T y 0. Biorąc kolejne wektory e i = [0... 1... 0] T, gdzie 1 znajduje się tylko na i-tej pozycji, konstruujemy wektory x i = w + e i. Ponieważ powyższa nierówność zachodzi dla wszystkich x 0, więc zachodzi też dla x i, skąd otrzymujemy po wstawieniu x i w = e i : e T i A T y 0 (A T y) i 0. Wobec tego wszystkie elementy wektora A T y muszą być nieujemne. Stąd wniosek, że A T y 0. Niech teraz y T b = y T (p y) = y T p y T y. Ponownie, ponieważ nierówność (b p) T (Ax p) 0 zachodzi dla wszystkich x 0, więc w szczególności zachodzi dla x 0 = 0. Stąd otrzymujemy: (b Aw) T (Ax 0 Aw) = (b Aw) T ( Aw) = y T ( Aw) = y T Aw = y T p 0. Ponieważ b / K, więc wektor y 0, więc y T y = y > 0. Uzyskujemy ostatecznie: co dowodzi zdania (2). QED. y T b = y T p y < 0, Wróćmy teraz do Twierdzenia 2 (o silnej dualności). Dowód (Twierdzenia 2): Załóżmy, że x jest rozwiązaniem optymalnym zadania (1) (3). Podzielmy ograniczenia (2) na dwie grupy: spełnione w sposób równościowy i w sposób ostro nierównościowy: a T i x = b i, i I, a T i x < b i, i / I. Pokażemy, że nie istnieje rozwiązanie d spełniające następujący układ nierówności: a T i d 0, i I, c T d < 0. Gdyby takie rozwiązanie istniało, wówczas dla i I byłoby prawdziwe: t(a T i d) 0 dla dowolnej liczby rzeczywistej t > 0, więc z faktu, że a T i x = b i, czyli również a T i x b i, otrzymujemy: a T i x + t(a T i d) b i a T i (x + td) b i. Natomiast dla i / I, zawsze możemy dobrać odpowiednio małą liczbę t > 0, tak, aby spełnione było: a T i x + ta T i d b i, a T i (x + td) b i. Wobec tego wektor x = x + td jest rozwiązaniem dopuszczalnym problemu (1) (3), więc wartość funkcji celu: c T x = c T x + t(c T d) < c T x, ponieważ z założenia t(c T d) < 0. 3

Więc taki wektor d nie istnieje. Zauważmy, że a T i d 0, i I oraz ct d < 0 odpowiada przypadkowi (2) z lematu Farkasa. Ponieważ pokazaliśmy, że przypadek ten nie zachodzi, więc zachodzić musi przypadek (1), który przyjmuje tu postać: a T y i = c, dla i I. Oznaczmy przez y R m wektor, który dla i I przyjmuje wartości y i będące rozwiązaniem powyższego układu równań, a dla i / I przyjmuje wartości y i = 0. Stąd istnieje taki wektor y, spełniający A T ( y) = c, czyli będący rozwiązaniem dopuszczalnym problemu dualnego (4) (5). Wektor ten daje wartość funkcji celu równą wartości optymalnego rozwiązania problemu prymalnego: b T ( y) = i I b i y i = i I (a T i x )y i = ( y) T Ax = c T x. QED. 3 Algorytm Simplex Postać standardowa programowania liniowego: min c T x (6) Ax = b, (7) x 0. (8) gdzie A jest macierzą m n, m < n. Postać kanoniczna: Ax b. Postać ogólna: A 1 x b 1, A 2 x = b 2, x dowolne. Wszystkie 3 postacie są równoważne. Wielościan (ang. polyhedron): zbiór P = {x R n : Ax b}, gdzie A R m n, b R m. Jeśli P jest zbiorem ograniczonym to nazywamy go wielościanem ograniczonym lub wielokomórką (ang. polytope). Ściana (ang. face): zbiór będący przecięciem wielościanu i półprzestrzeni, zawierający się w całości wewnątrz płaszczyzny definiującej półprzestrzeń. Dla wielościanu wymiaru d wyróżniamy: ściana (ang. facet) wymiaru d 1 (hiperpłaszczyzna) krawędź (ang. edge) wymiaru 1 (prosta) wierzchołek (ang. vertex) wymiaru 0 (punkt) Wierzchołek wielościanu nazywany jest również rozwiązaniem bazowym układu Ax b (ang. basic solution). Wypukła otoczka: (ang. convex hull) każdy wielościan jest wypukłą otoczką swoich wierzchołków. Wypukła otoczka dowolnego skończonego zbioru punktów jest wielościanem. Baza (ang. basis): zbiór m liniowo niezależnych wektorów {A j1,..., A jm }. Inaczej: nieosobliwa macierz m m, B = [A jk ]. Rozwiązanie bazowe: dla bazy B, jest to x R n, taki, że dla A j / B, x j = 0, a dla pozostałych A j : x jk = k-ty element wektora B 1 b, k = 1,..., m. Dalej rozważmy problem (6) (8), zakładając, że rank(a) = m (macierz A ma m liniowo niezależnych kolumn). 4

Twieredzenie 3. Niech x będzie rozwiązaniem bazowym Ax = b, x 0, odpowiadającym bazie B. Wtedy istnieje wektor c, taki, że x jest jedynym rozwiązaniem zadania LP: min{c T x : Ax = b, x 0}. Dowód. Rozważmy wektor c, zdefiniowany jako c j = 0 dla A j B, c j = 1 dla A j / B. Ponieważ c T x = 0, oraz z faktu, że wszystkie współczynniki są nieujemne, wektor x musi być rozwiązaniem optymalnym. Każde inne rozwiązanie o zerowym koszcie musi mieć zera dla współrzędnych j, takich, że A j / B. Więc takie rozwiązanie musi być równe x. 5