Programowanie liniowe metoda sympleks



Podobne dokumenty
Programowanie liniowe metoda sympleks

Programowanie liniowe metoda sympleks

Programowanie liniowe

Programowanie liniowe

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

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

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

Układy liniowo niezależne

Układy równań liniowych

Teoretyczne podstawy programowania liniowego

Algorytm simplex i dualność

1 Przykładowe klasy zagadnień liniowych

Programowanie liniowe. Tadeusz Trzaskalik

Definicja problemu programowania matematycznego

Metoda simpleks. Gliwice

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

Przekształcenia liniowe

Zastosowania wyznaczników

Formy kwadratowe. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 14. wykład z algebry liniowej Warszawa, styczeń 2017

Rozdział 1 PROGRAMOWANIE LINIOWE

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

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

Badania Operacyjne Ćwiczenia nr 2 (Materiały)

Wyznaczniki. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 6. Wykład z algebry liniowej Warszawa, listopad 2013

PROGRAMOWANIE NIELINIOWE

Standardowe zadanie programowania liniowego. Gliwice 1

Programowanie liniowe

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

PROGRAMOWANIE KWADRATOWE

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

Programowanie liniowe

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

Rozdział 1 PROGRAMOWANIE LINIOWE

Zagadnienie transportowe

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

Laboratorium Metod Optymalizacji

Formy kwadratowe. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 14. wykład z algebry liniowej Warszawa, styczeń 2011

Programowanie liniowe

ZAGADNIENIE TRANSPORTOWE

Formy kwadratowe. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. wykład z algebry liniowej Warszawa, styczeń 2009

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

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Elementy Modelowania Matematycznego

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

BADANIA OPERACYJNE pytania kontrolne

zadaniem programowania liniowego całkowitoliczbowego. nazywamy zadaniem programowania liniowego 0-1. Zatem, w

TOZ -Techniki optymalizacji w zarządzaniu

Przestrzenie liniowe

Programowanie liniowe

Elementy Modelowania Matematycznego

Działania na przekształceniach liniowych i macierzach

Ekonometria - ćwiczenia 10

Elementy modelowania matematycznego

Wielokryteriowa optymalizacja liniowa

Algorytmy i struktury danych.

Wykład 6. Programowanie liniowe

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 całkowitoliczbowe

R n jako przestrzeń afiniczna

etody programowania całkowitoliczboweg

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

Programowanie celowe #1

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

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

Diagonalizacja macierzy i jej zastosowania

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

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

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

Programowanie liniowe całkowitoliczbowe

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

Wstęp do metod numerycznych Faktoryzacja QR i SVD. P. F. Góra

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

KADD Minimalizacja funkcji

Diagonalizacja macierzy i jej zastosowania

Optymalizacja ciągła

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

ZAGADNIENIE TRANSPORTOWE(ZT)

Endomorfizmy liniowe

ALGEBRA LINIOWA Z GEOMETRIĄ, LISTA ZADAŃ NR 8

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

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

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

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Zaawansowane metody numeryczne

Lokalna odwracalność odwzorowań, odwzorowania uwikłane

Obliczenia naukowe Wykład nr 8

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

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

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

Zad. 3: Układ równań liniowych

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

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

Ekonometria - ćwiczenia 11

BADANIA OPERACYJNE Zagadnienie transportowe

OPTYMALIZACJA DYSKRETNA

(Dantzig G. B. (1963))

Rozwiązanie Ad 1. Model zadania jest następujący:

KADD Minimalizacja funkcji

Wykład 14. Elementy algebry macierzy

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

Transkrypt:

Programowanie liniowe metoda sympleks Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW wykład z algebry liniowej Warszawa, styczeń 2012 Mirosław Sobolewski (UW) Warszawa, 2012 1 / 12

Metoda sympleks Twórca George Dantzig, USA 1947 rok Cel: rozwiazywanie zadania programowania liniowego określonego w postaci standardowej f (x 1,..., x n ) = c 1 x 1 + + c n x n min (f funkcja celu) przy warunkach a 11 x 1 + + a 1n x n = b 1 U :......, x 1 0,..., x n 0, gdzie b i 0 a m1 x m1 + + a mn x n = b m dla i = 1,..., m. W skrócie : a 11 a 1n Min{c x : Ax = b, x 0}, gdzie A =....., a m1 a mn b = b 1. b m, x = x 1. x n, c = c 1. c n. Zakładamy, że r(a) = m. Mirosław Sobolewski (UW) Warszawa, 2012 2 / 12

Schemat przeszukiwania: Zaczynajac od pewnego rozwiazania bazowego dopuszczalnego, przechodzimy kolejno do innych rozwiazań rozwiazań bazowych dopuszczalnych, w każdym kroku zastępujac jeden element zbioru bazowego innym, dopóki da się pomniejszać wartość funkcji celu f. Interpretacja geometryczna: Rozwiazania bazowe dopuszczalne = wierzchołki zbioru dopuszczalnego X. Wymiana jednego elementu w zbiorze bazowym = przejście do sasiedniego ( tzn. połaczonego krawędzia) wierzchołka X. Wędrówkę po wierzchołkach kończymy w wierzchołku najniższym w sensie funkcji celu f. Mirosław Sobolewski (UW) Warszawa, 2012 3 / 12

(Szczegóły metody sympleks ) Szukamy największej wartości funkcji g(x 1, x 2, x 3, x 4, x 5 ) = 16x 1 + 10x 2 + x 3, przy ograniczeniach : x 1 + x 3 = 2 x 2 + x 4 = 3 x 1 + x 2 + x 5 = 4 x 1 0,..., x 5 0 Sprowadzamy problem do postaci standardowej zastępujac maksymalizację funkcji g minimalizacja funkcji f (x 1, x 2, x 3, x 4, x 5 ) = 16x 1 10x 2 x 3. Inaczej można to zadanie zapisać w postaci f (x 1, x 2, x 3, x 4, x 5 ) = 16x 1 10x 2 x 3 min przy x 1 1 0 1 0 0 x 2 2 Ax = b, x 0, gdzie A = 0 1 0 1 0, x = x 3 1 1 0 0 1 x 4, B = 3 4 x 5 Mirosław Sobolewski (UW) Warszawa, 2012 4 / 12

(cd) Macierza rozszerzona układu jest: 1 0 1 0 0 2 0 1 0 1 0 3 1 1 0 0 1 4 Widzimy stad, że wybierajac jako zmienne bazowe (zależne) x 3, x 4, x 5 mamy rozwiazanie ogólne postaci: x 3 = 2 x 1 U 1 : x 4 = 3 x 2 x 5 = 4 x 1 x 2 Poczatkowym wektorem bazowym dopuszczalnym jest (x 1, x 2, x 3, x 4, x 5 ) = (0, 0, 2, 3, 4), zbiór bazowy to {3, 4, 5}. Wyrażamy funkcję celu f przy pomocy zmiennych wolnych x 1, x 2 : f (x) = 16x 1 10x 2 x 3 = 16x 1 10x 2 (2 x 1 ) = 2 15x 1 10x 2. Dla poczatkowego rozwiazania bazowego dopuszczalnego wartość f wynosi 2 (bo x 1 = x 2 = 0). Czy możemy ja polepszyć (tj. pomniejszyć)? Tak, powiększajac x 1 albo x 2. Mirosław Sobolewski (UW) Warszawa, 2012 5 / 12

(cd) Wybieramy więc x 1 jako nowa zmienna bazowa (kierujemy się tym, że współczynnik przy x 1 w zapisie f jest najbardziej ujemny - to reguła heurystyczna(=intuicyjna), a nie ściśle uzasadniona). Mirosław Sobolewski (UW) Warszawa, 2012 6 / 12

(cd) Wybieramy więc x 1 jako nowa zmienna bazowa (kierujemy się tym, że współczynnik przy x 1 w zapisie f jest najbardziej ujemny - to reguła heurystyczna(=intuicyjna), a nie ściśle uzasadniona). Musimy również określić, która ze zmiennych x 3, x 4, x 5 przestanie być zmienna bazowa. Wybór jest zdeterminowany przez to, by nowe rozwiazanie bazowe było dopuszczalne (tzn. nie pojawiły się ujemne wartości zmiennych). Mirosław Sobolewski (UW) Warszawa, 2012 6 / 12

(cd) Wybieramy więc x 1 jako nowa zmienna bazowa (kierujemy się tym, że współczynnik przy x 1 w zapisie f jest najbardziej ujemny - to reguła heurystyczna(=intuicyjna), a nie ściśle uzasadniona). Musimy również określić, która ze zmiennych x 3, x 4, x 5 przestanie być zmienna bazowa. Wybór jest zdeterminowany przez to, by nowe rozwiazanie bazowe było dopuszczalne (tzn. nie pojawiły się ujemne wartości zmiennych). Reguła jest następujaca: spośród dotychczasowych zmiennych bazowych (=zależnych) wybieramy tę, w której dotychczasowym przedstawieniu jako funkcji zmiennych wolnych współczynnik a przy nowej zmiennej bazowej jest ujemny i iloraz wyrazu stałego b przez ten współczynnik, czyli b/a jest największy(=jego moduł jest najmniejszy). Mirosław Sobolewski (UW) Warszawa, 2012 6 / 12

(cd) Wybieramy więc x 1 jako nowa zmienna bazowa (kierujemy się tym, że współczynnik przy x 1 w zapisie f jest najbardziej ujemny - to reguła heurystyczna(=intuicyjna), a nie ściśle uzasadniona). Musimy również określić, która ze zmiennych x 3, x 4, x 5 przestanie być zmienna bazowa. Wybór jest zdeterminowany przez to, by nowe rozwiazanie bazowe było dopuszczalne (tzn. nie pojawiły się ujemne wartości zmiennych). Reguła jest następujaca: spośród dotychczasowych zmiennych bazowych (=zależnych) wybieramy tę, w której dotychczasowym przedstawieniu jako funkcji zmiennych wolnych współczynnik a przy nowej zmiennej bazowej jest ujemny i iloraz wyrazu stałego b przez ten współczynnik, czyli b/a jest największy(=jego moduł jest najmniejszy). Czyli: dla x 3 iloraz b/a = 2/ 1, zaś dla x 5 iloraz b/a = 4/ 1, wybieramy więc x 3 przestanie ona być zmienna bazowa (proszę sprawdzić, że wybór x 5 da rozwiazanie bazowe niedopuszczalne). Mirosław Sobolewski (UW) Warszawa, 2012 6 / 12

Uwaga: jeśli wszystkie współczynniki przy nowej zmiennej bazowej sa nieujemne, to oznacza to, że funkcja celu f jest na zbiorze rozwiazań dopuszczalnych nieograniczona z dołu osiaga dowolnie niskie ujemne rozwiazania. Nowy zbiór bazowy to {1, 4, 5} i odpowiadajace mu rozwiazanie ogólne to: x 1 = 2 x 3 U 2 : x 4 = 3 x 2 x 5 = 2 x 2 +x 3 Mirosław Sobolewski (UW) Warszawa, 2012 7 / 12

Uwaga: jeśli wszystkie współczynniki przy nowej zmiennej bazowej sa nieujemne, to oznacza to, że funkcja celu f jest na zbiorze rozwiazań dopuszczalnych nieograniczona z dołu osiaga dowolnie niskie ujemne rozwiazania. Nowy zbiór bazowy to {1, 4, 5} i odpowiadajace mu rozwiazanie ogólne to: x 1 = 2 x 3 U 2 : x 4 = 3 x 2 x 5 = 2 x 2 +x 3 Możemy zapisać funkcję celu f (x) = 2 15x 1 10x 2 = 2 15(2 x 3 ) 10x 2 = 32 10x 2 + 15x 3 Mamy dopuszczalne rozwiazanie bazowe (2, 0, 0, 3, 2), w którym f osiaga 32. Możemy zmniejszyć wartość f zwiększajac x 2. Będzie ono, więc nowa zmienna bazowa. Ponieważ 3/ 1 < 2/ 1, zatem x 5 przestanie być zmienna bazowa. Mirosław Sobolewski (UW) Warszawa, 2012 7 / 12

Nowy zbiór bazowy to {1, 2, 4}, zaś odpowiadajace mu rozwiazanie ogólne to x 1 = 2 x 3 U 3 : x 2 = 2 +x 3 x 5 x 4 = 1 x 3 +x 5 Możemy przedstawić f (x) = 32 10(2 x 5 + x 3 ) + 15x 3 = 52 + 5x 3 + 10x 5. Ponieważ w zbiorze rozwiazań dopuszczalnych x 3 0, x 5 0 zatem f osiaga wartość najmniejsza = 52 dla x 3 = x 5 = 0 czyli dla rozwiazania bazowego dopuszczalnego (2, 2, 0, 1, 0). Zatem rozwiazanie pierwotnego problemu to max g = min f = 52 Mirosław Sobolewski (UW) Warszawa, 2012 8 / 12

Znajdowanie poczatkowego wektora bazowego dopuszczalnego Mamy zbiór X opisany standardowo przez Ax = b, x = [x 1,..., x n ] 0, gdzie A M m n, b M m 1, b 0. Jak stwierdzić, że X jest niepusty, i jeśli tak jest jak znaleźć wektor bazowy dopuszczalny? Mirosław Sobolewski (UW) Warszawa, 2012 9 / 12

Znajdowanie poczatkowego wektora bazowego dopuszczalnego Mamy zbiór X opisany standardowo przez Ax = b, x = [x 1,..., x n ] 0, gdzie A M m n, b M m 1, b 0. Jak stwierdzić, że X jest niepusty, i jeśli tak jest jak znaleźć wektor bazowy dopuszczalny? Stosuje się tzw. metodę sztucznej bazy, wprowadzajac dodatkowe zmienne, y 1,..., y m, macierz współczynników A przedłużajac o macierz jednostkowa I m. Tzn. macierz układu dla n + m zmiennych ma teraz postać [A I m b] M m (n+m+1) (R), z macierza współczynników A = [A I m ] M m (n+m) oraz x = [x 1,..., x n, y 1,..., y m ],i rozwiazujemy problem y 1 + + y n min przy warunkach A x = b, x 0. Ten problem ma zawsze rozwiazanie. Jeśli osiagamy min = 0 to X, w przeciwnym wypadku, tzn. min > 0 mamy X =. Mirosław Sobolewski (UW) Warszawa, 2012 9 / 12

Zbiór X R 4 opisany jest przez: 8x 1 + 3x 2 5x 3 + x 4 = 4 3x 1 + x 2 2x 3 x 4 = 1 x 1, x 2, x 3, x 4 0 Mirosław Sobolewski (UW) Warszawa, 2012 10 / 12

Zbiór X R 4 opisany jest przez: 8x 1 + 3x 2 5x 3 + x 4 = 4 3x 1 + x 2 2x 3 x 4 = 1 x 1, x 2, x 3, x 4 0 Wprowadzamy sztuczne zmienne y 1, y 2 i funkcję celu f (x 1,..., x 4, y 1, y 2 ) = y 1 + y 2 min przy warunkach 8x 1 + 3x 2 5x 3 + x 4 + y 1 = 4 3x 1 + x 2 2x 3 x 4 + y 2 = 1 x 1,..., x 4 0, y 1, y 2 0 Mirosław Sobolewski (UW) Warszawa, 2012 10 / 12

Zbiór X R 4 opisany jest przez: 8x 1 + 3x 2 5x 3 + x 4 = 4 3x 1 + x 2 2x 3 x 4 = 1 x 1, x 2, x 3, x 4 0 Wprowadzamy sztuczne zmienne y 1, y 2 i funkcję celu f (x 1,..., x 4, y 1, y 2 ) = y 1 + y 2 min przy warunkach 8x 1 + 3x 2 5x 3 + x 4 + y 1 = 4 3x 1 + x 2 2x 3 x 4 + y 2 = 1 x 1,..., x 4 0, y 1, y 2 0 y 1, y 2 sa poczatkowymi zmiennymi bazowymi (zależnymi) { y1 = 4 8x 1 3x 2 +5x 3 x 4 y 2 = 1 3x 1 x 2 +2x 3 +x 4 Mirosław Sobolewski (UW) Warszawa, 2012 10 / 12

Zbiór X R 4 opisany jest przez: 8x 1 + 3x 2 5x 3 + x 4 = 4 3x 1 + x 2 2x 3 x 4 = 1 x 1, x 2, x 3, x 4 0 Wprowadzamy sztuczne zmienne y 1, y 2 i funkcję celu f (x 1,..., x 4, y 1, y 2 ) = y 1 + y 2 min przy warunkach 8x 1 + 3x 2 5x 3 + x 4 + y 1 = 4 3x 1 + x 2 2x 3 x 4 + y 2 = 1 x 1,..., x 4 0, y 1, y 2 0 y 1, y 2 sa poczatkowymi zmiennymi bazowymi (zależnymi) { y1 = 4 8x 1 3x 2 +5x 3 x 4 y 2 = 1 3x 1 x 2 +2x 3 +x 4 Wyrażamy f przez zmienne niezależne: f = 5 11x 1 4x 2 + 7x 3. Mirosław Sobolewski (UW) Warszawa, 2012 10 / 12

możemy zmniejszyć f wybierajac x 2 jako nowa zmienna bazowa, natomiast y 2 przestanie być zmienna bazowa. Mirosław Sobolewski (UW) Warszawa, 2012 11 / 12

możemy zmniejszyć f wybierajac x 2 jako nowa zmienna bazowa, natomiast y 2 przestanie być zmienna bazowa. { x2 = 1 3x 1 +2x 3 +x 4 y 2 y 1 = 1 +x 1 x 3 4x 4 +3y 2 Mirosław Sobolewski (UW) Warszawa, 2012 11 / 12

możemy zmniejszyć f wybierajac x 2 jako nowa zmienna bazowa, natomiast y 2 przestanie być zmienna bazowa. { x2 = 1 3x 1 +2x 3 +x 4 y 2 y 1 = 1 +x 1 x 3 4x 4 +3y 2 Wyrażamy f przez nowe zmienne niezależne: f = 1 + x 1 x 3 4x 4 + 4y 2 Mirosław Sobolewski (UW) Warszawa, 2012 11 / 12

Jako nowa zmienna bazowa wprowadzamy x 3 natomiast y 1 staje się zmienna niebazowa (wolna): Mirosław Sobolewski (UW) Warszawa, 2012 12 / 12

Jako nowa zmienna bazowa wprowadzamy x 3 natomiast y 1 staje się zmienna niebazowa (wolna): { x2 = 3 x 1 +2x 3 7x 4 +2y 1 +5y 2 x 3 = 1 +x 1 4x 4 y 1 +3y 2 Mirosław Sobolewski (UW) Warszawa, 2012 12 / 12

Jako nowa zmienna bazowa wprowadzamy x 3 natomiast y 1 staje się zmienna niebazowa (wolna): { x2 = 3 x 1 +2x 3 7x 4 +2y 1 +5y 2 x 3 = 1 +x 1 4x 4 y 1 +3y 2 Wyrażamy f przez nowe zmienne niezależne: f = y 1 + y 2 Mirosław Sobolewski (UW) Warszawa, 2012 12 / 12

Jako nowa zmienna bazowa wprowadzamy x 3 natomiast y 1 staje się zmienna niebazowa (wolna): { x2 = 3 x 1 +2x 3 7x 4 +2y 1 +5y 2 x 3 = 1 +x 1 4x 4 y 1 +3y 2 Wyrażamy f przez nowe zmienne niezależne: f = y 1 + y 2 Otrzymaliśmy minf = 0, zatem mamy niepusty X i należy do niego dopuszczalny punkt bazowy (x 1, x 2, x 3, x 4 ) = (0, 3, 1, 0). Mirosław Sobolewski (UW) Warszawa, 2012 12 / 12