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

Podobne dokumenty
Metoda simpleks. Gliwice

Programowanie liniowe

Teoretyczne podstawy programowania liniowego

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

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

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

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

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Programowanie liniowe metoda sympleks

Programowanie liniowe metoda sympleks

Programowanie liniowe metoda sympleks

Rozdział 1 PROGRAMOWANIE LINIOWE

Definicja problemu programowania matematycznego

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

(Dantzig G. B. (1963))

Elementy Modelowania Matematycznego

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

1 Przykładowe klasy zagadnień liniowych

Programowanie liniowe

Programowanie liniowe. Tadeusz Trzaskalik

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

Wykład z modelowania matematycznego. Zagadnienie transportowe.

O MACIERZACH I UKŁADACH RÓWNAŃ

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

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

Wielokryteriowa optymalizacja liniowa

Laboratorium Metod Optymalizacji

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

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Algorytm simplex i dualność

Wykład 5. Metoda eliminacji Gaussa

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

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

Programowanie liniowe

Rozdział 1 PROGRAMOWANIE LINIOWE

Układy równań liniowych. Krzysztof Patan

Macierze. Rozdział Działania na macierzach

PROGRAMOWANIE KWADRATOWE

Układy równań liniowych i metody ich rozwiązywania

Elementy Modelowania Matematycznego

Programowanie liniowe

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

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

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

ZAGADNIENIE TRANSPORTOWE

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Programowanie liniowe

UKŁADY RÓWNAŃ LINIOWYCH - Metody dokładne

Układy równań liniowych

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Obliczenia naukowe Wykład nr 8

ZAGADNIENIE TRANSPORTOWE (część 1)

= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3

ALGORYTM SIMPLEX. B.Gładysz Badania operacyjne 2007

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

3. Macierze i Układy Równań Liniowych

BADANIA OPERACYJNE Zagadnienie transportowe

POD- I NADOKREŚLONE UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Zagadnienie transportowe (badania operacyjne) Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

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

Matematyka stosowana i metody numeryczne

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

KADD Minimalizacja funkcji

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Zaawansowane metody numeryczne

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

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

METODY NUMERYCZNE. wykład. konsultacje: wtorek 10:00-11:30 środa 10:00-11:30. dr inż. Grażyna Kałuża pokój

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

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

Układy równań liniowych

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

Zaawansowane metody numeryczne

Metody numeryczne Wykład 4

Matematyka stosowana i metody numeryczne

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

Metody wielokryterialne. Tadeusz Trzaskalik

Wykład 14. Elementy algebry macierzy

UKŁADY RÓWNAŃ LINIOWYCH -Metody dokładne

2. Układy równań liniowych

1 Układy równań liniowych

ZAGADNIENIE TRANSPORTOWE(ZT)

Wykład 6. Programowanie liniowe

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

Zagadnienie transportowe

Wykład z modelowania matematycznego. Algorytm sympleks.

Baza w jądrze i baza obrazu ( )

Wykład 6. Metoda eliminacji Gaussa: Eliminacja z wyborem częściowym Eliminacja z wyborem pełnym

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Metoda eliminacji Gaussa

Notatki do tematu Metody poszukiwania rozwiązań jednokryterialnych problemów decyzyjnych metody dla zagadnień liniowego programowania matematycznego

ALGEBRA LINIOWA Z GEOMETRIĄ, LISTA ZADAŃ NR 8

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

ALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ. 1. Ciała

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

Transkrypt:

Metoda Simpleks Jak wiadomo, problem PL z dowolną liczbą zmiennych można rozwiązać wyznaczając wszystkie wierzchołkowe punkty wielościanu wypukłego, a następnie porównując wartości funkcji celu w tych punktach wierzchołkowych. Jednak w związku z wielością punktów wierzchołkowych metoda przeszukania wszystkich punktów w celu znalezienia punktu optymalnego jest nieefektywna obliczeniowo. Istota metody Simpleks sprowadza się do tego, że jeżeli znany jest jakikolwiek wierzchołkowy punkt i wartość funkcji celu w tym punkcie, to wszystkie punkty wierzchołkowe, w których funkcja celu przyjmuje wartości mniejsze, są odrzucane.

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 którym funkcja celu osiąga lepszą wartość. Ogólna idea metody polega więc na odwiedzaniu kolejnych punktów wierzchołkowych w taki sposób, aby w każdym kroku poprawić wartość funkcji celu. Metoda zatrzymuje się gdy dalsza poprawa nie jest już możliwa. Można w ten sposób utworzyć ciąg rozwiązań dopuszczalnych bazowych zbieżny do rozwiązania optymalnego (o ile istnieje). Punktem wyjścia do metody Simpleks jest postać standardowa problemu PL. Autorem metody jest George Bernard Dantzig (1914 2005), który opracował ją w końcu lat 40-tych XX wieku. Nazwa metody pochodzi od simpleksu, figury wypukłej będącej uogólnieniem trójkąta na wiele wymiarów.

Metoda korzysta z tablic przekształceń simpleksowych. Każdej iteracji odpowiada jedna tablica, a danej tablicy odpowiada bieżące rozwiązanie dopuszczalne bazowe. Tablica przekształceń simpleksowych: c 1 c l c m c k c n Baza c B b x 1 x l x m x k x n x i B c i b i a 11 a 1l a 1m a 1k a 1n x l B c l b l a l1 a ll a lm a lk a ln x m cb m b m a m1 a ml a mm a mk a mn z z 1 c 1 z l c l z m c m z k c k z n c n wiersz wskaźnikowy

ALGORYTM SIMPLEKS 1. Sprawdzić, czy istnieje takie j, że z j c j < 0. Jeśli NIE, to bieżące rozwiązanie dopuszczalne bazowe jest optymalne i STOP. W przeciwnym wypadku przejść do punktu 2. 2. (Kryterium wejścia) Wybrać k takie, że: z k c k = min {z j c j }, j:(z j c j )<0 wektor a k wchodzi do kolejnej bazy. 3. (Kryterium wyjścia) Wybrać l takie, że: b l j = 1,, n = min a { b i }, i = 1,, m lk i:a ik >0 a ik wektor a l będzie wychodził z bazy. Jeśli a ik > 0 nie istnieje, tzn. i {1,,m} a ik 0, to problem ma rozwiązanie optymalne nieskończone i STOP.

4. Wyrazić wektory niebazowe jako kombinacje liniowe wektorów nowej bazy, stosując metodę eliminacji współczynników Gaussa-Jordana: a lj = a lj a lk, b l = b l a lk a ij b i j = 1,, n = a ij a lj a ik a lk, i l, j = 1,, n = b i b l a ik a lk, i l

Obliczyć: m z j c j : z j = c i B a ij, i=1 m j = 1,, n i wrócić do punktu 1. z = c i B b i i=1

Jak znaleźć początkowe rozwiązanie dopuszczalne bazowe? Przedstawmy macierz ograniczeń A w postaci: A = [B, P], gdzie: B[m x m] baza zbioru kolumn macierzy A, P[(n m) x m] zbiór pozostałych kolumn. Z definicji rozwiązania bazowego wynika, że x B = B 1 b. Jeżeli przyjąć, że B = I, gdzie I macierz jednostkowa stopnia m, to B 1 = I i stąd: x B = b. Wniosek Jeśli w macierzy A uda się wyróżnić podmacierz jednostkową stopnia m, to rozwiązanie dopuszczalne bazowe początkowe jest po prostu równe wektorowi stałych b w układzie ograniczeń Ax = b.

Jak zapewnić istnienie podmacierzy jednostkowej stopnia m w zbiorze kolumn macierzy A? 1. wykorzystać wektory jednostkowe oryginalnie istniejące w macierzy A (jeśli takie występują) 2. wykorzystać wektory jednostkowe odpowiadające zmiennym osłabiającym wprowadzonym ze współczynnikiem +1 (ograniczenie typu ) 3. wprowadzić zmienne sztuczne (metoda sztucznej bazy). Dla rozwiązania początkowego x 0 = b wartość z w tablicy m simpleksów (z = i=1 c B i b i ) jest początkową wartością funkcji celu odpowiadającą początkowemu rozwiązaniu dopuszczalnemu bazowemu x 0, a więc startowemu punktowi wierzchołkowemu w przestrzeni R n o współrzędnych [ x 0 0 ].

Przykład Rozwiązać problem PL: Postać standardowa: min z = 5x 1 2x 2 p. o. 2x 1 + x 2 3 x 1 + 4x 2 6 x 1, x 2 0 max z = 5x 1 + 2x 2 p. o. 2x 1 x 2 3 x 1 + 4x 2 6 x 1, x 2 0

max z = 5x 1 + 2x 2 p. o. 2x 1 x 2 + s 1 = 3 x 1 + 4x 2 + s 2 = 6 x 1, x 2, s 1, s 2 0 A = [ 2 1 1 0 1 4 0 1 ] fragment macierzy A (zaznaczony): [ 1 0 ] jest macierzą 0 1 jednostkową stopnia m = 2 utworzoną z wektorów a 3 i a 4. b = [ 3 6 ] c T = [5 2 0 0]

Tworzymy tablicę simpleks: Baza c B 5 2 0 0 b x 1 x 2 s 1 s 2 s 1 0 3 2-1 1 0 s 2 0 6 1 4 0 1 0-5 -2 0 0 k. zielony wektor c, niebieski wektor b, czerwony macierz A wektory bazowe zawsze tworzą macierz jednostkową dla wektorów bazowych wartość w wierszu wskaźnikowym zawsze wynosi zero na przecięciu wektora wchodzącego i wychodzącego znajduje się tzw. element centralny

Tablica 2: Baza c B 5 2 0 0 b x 1 x 2 s 1 s 2 x 1 5 3/2 1-1/2 1/2 0 s 2 0 9/2 0 9/2-1/2 1 15/2 0-9/2 5/2 0 < 0

Tablica 3: x 1 b 1 : x 1 s 1 : Baza c B b 5 2 0 0 x 1 x 2 s 1 s 2 x 1 5 2 1 0 4/9 1/9 x 2 2 1 0 1-1/9 2/9 12 0 0 2 1 3 2 1 2 ( 9 2 ( 1 2 ) 9 2 = 2 1 2 ) ( 1 2 ) 9 2 0 STOP = 1 2 1 4 2 9 = 8 18 = 4 9

x 1 s 2 : 0 1 ( 1 2 ) 9 2 wiersz wskaźnikowy: = 1 9 s 1 : 5 4 9 + (2 ( 1 20 )) 0 = 9 9 2 9 = 18 9 = 2 Wyniki odczytujemy z wektora b: x 1 = 2 x 2 = 1 s 1 = s 2 = 0 z = 12 z = 12