200 likes | 426 Views
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych. przy ograniczeniach :. dim x =n, dim c =n, dim A =[m x n], dim b 1 =m 1 ,. Postać kanoniczna zadania PL. Równoważnoś ć zadań programowania matematycznego. I O graniczenie r ó wno ś ciowe mo ż na
E N D
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych przy ograniczeniach: dim x=n, dim c=n, dim A =[m x n], dim b1=m1, Postać kanoniczna zadania PL
Równoważność zadań programowania matematycznego I Ograniczenie równościowe można zastąpić dwoma ograniczeniaminierownościowymi II Ograniczenie nierównościowe można zastąpić ograniczeniemrównościowym , wprowadzając zmienną uzupełniającą III Zmienną wolną można przedstawić jako różnicę dwóch zmiennych nieujemnych gdzie:
Podstawowe definicje • Jeśli dla układu równań liniowych Ax=b spełniony jest warunek rz[Ar]=rz[A] to mogą zaistnieć trzy następujące przypadki: • rz[A] = m = n istnieje jedno rozwiązanie układu Ax=b. • rz[A] = n < m istnieje jedno rozwiązanie układu równań, lecz przy tym • (m - n) równań jest zbędnych. • 3. rz[A] = m < n istnieje nieskończenie wiele rozwiązań układu Ax=b , jest to • układ nieoznaczony. Definicja macierzy bazowej B Macierzą bazową B układu równań Ax = b rz[A] = m, n>m nazywamy nieosobliwą macierz kwadratową o wymiarach (m*m) utworzoną z liniowo-niezależnych kolumn aj macierzy A. Definicja rozwiązania bazowego Rozwiązaniem bazowym układu równań Ax=b rz[A]=m, n>m nazywamy wektor xb=B-1b utworzony ze zmiennych odpowiadających kolumnom aj macierzy bazowej B. Składowe wektora bazowego xb są to zmienne bazowe.
Rozwiązania bazowe B- macierz bazowa nieosobliwa N- macierz niebazowa - wektor zmiennych bazowych odpowiadających kolumnom macierz B - wektor zmiennych niebazowych odpowiadających kolumnom macierz N Definicja: Rozwiązanie bazowe jest rozwiązaniem bazowym dopuszczalnym zadania programowania liniowego PL jeśli wektor xB jest nieujemny tzn. Wówczas rozwiązanie bazowe dopuszczalne posiada nie więcej niż m dodatnich xi. Definicja: Niezdegenerowanym rozwiązaniem bazowym dopuszczalnym zadania PL nazywamy rozwiązanie dopuszczalne , w którym nie wszystkie składowe xi są większe od zera.
Extremum zadania programowania liniowego PL Definicja: Punkt x należący do wypukłego zbioru jest punktem wierzchołkowym zbioru X, jeśli nie może być wyrażony jako kombinacja liniowa innych punktów zbioru X. Twierdzenie 5.1 Zbiór wszystkich rozwiązań dopuszczalnych zadania programowania liniowego PL jest zbiorem wypukłym. Twierdzenie 5.2 Rozwiązanie dopuszczalne x zadania programowania liniowego PL jest punktem wierzchołkowym zbioru rozwiązań dopuszczalnych X wtedy i tylko wtedy gdy odpowiada mu bazowe rozwiązanie dopuszczalne tzn.: Dowód: 1. Zakłada się, że wektor x jest bazowym rozwiązaniem dopuszczalnym. Pokazać, że x jest punktem wierzchołkowym zbioru X 2. Zakłada się, że wektor x jest punktem wierzchołkowym zbioru rozwiązań dopuszczalnych zadania programowania liniowego. Pokazać, że wektor x jest bazowym rozwiązaniem dopuszczalnym.
Extremum zadania programowania liniowego PL cd. Twierdzenie 5.3 Jeżeli funkcja określona na domkniętym i ograniczonym wypukłym zbiorze jest ciągła i wypukła, to globalne maksimum funkcji f(x) występuje w punkcie ekstremalnym (bądź punktach) zbioru X. Dowód: Zaprzeczamy tezie: - dowolne globalne minimum v – dowolny punkt ekstremalny zbioru X. Zbiór X jest zbiorem zwartym, funkcja f(x) jest ciągła – więc istnieje punkt - punkty ekstremalne zbioru X . Każdy punkt , który nie jest punktem ekstremalnym, może być wyrażony jako kombinacja wypukła punktów vi Funkcja f(x) jest wypukła więc zachodzi dla dowolnego punktu zachodzi: ckd.
Extremum zadania programowania liniowego PL cd. • Twierdzenie 5.4 • Funkcja celu zadania PL przyjmuje wartość maksymalną w punkcie wierzchołkowym zbioru rozwiązań dopuszczalnych zadania PL. • 2. Jeśli funkcja celu zadania PL przyjmuje wartość maksymalną w więcej niż jednym punkcie wierzchołkowym, to ma tą samą wartość dla każdej kombinacji wypukłej tych punktów. Dla p dopuszczalnych bazowych rozwiązań optymalnych, tzn. Zbiór rozwiązań optymalnych przyjmuje postać:
Wprowadzone oznaczenia: oraz gdzie oznaczają kolumny macierzy N.
Postać początkowej tablicy simpleksowej dla przypadku gdy cB=0 tzn. pierwsze rozwiązanie bazowe dopuszczalne odpowiada za punkt wierzchołkowy x=0.
Polepszanie bazowego rozwiązania dopuszczalnego Gdy mamy nie-zdegenerowane rozwiązanie bazowe dopuszczalne takie, że dla przynajmniej jednego i wówczas można z niego otrzymać lepsze bazowe rozwiązanie dopuszczalne przez wymianę jednej z kolumn macierzy B na kolumnę macierzy N.
Optymalne rozwiązanie zadania programowania liniowego PL metodą simpleks Twierdzenie 5.5 Rozwiązanie bazowe dopuszczalne układu równań Ax=b jest rozwiązaniem optymalnym zadania PL, jeśli są spełnione dwa warunki: (i) Warunek prymalnej dopuszczalności: (ii) Warunek optymalności
Polepszona tablica simpleks odpowiada za następne rozwiązanie bazowe dopuszczalne o większej wartości funkcji celu.
Algorytm simpleks (prymalny) Krok 1. (start). Rozpoczynamy algorytm od znalezienia pierwszego rozwiązania bazowego dopuszczalnego. Należy sprawdzić dopuszczalność rozwiązania: czy Tak - idź do kroku 2, Nie – STOP. • Krok 2. (test optymalności). Czy dla każdego ? • Tak - to aktualne rozwiązaniejest optymalne. • Nie - idź do kroku 3. Krok 3. (Wybór zmiennej wchodzącej do bazy). Wybierz jako zmienną wchodzącą do bazy taką zmienną dla której Typową regułą jest wybór zmiennej jest reguła dla której: Idż do kroku 4.
Algorytm simpleks (prymalny) c.d. Krok 4. (wybór zmiennej usuwanej z bazy). Wybierz jako zmienną usuwaną z bazy taką zmienną dla której Jeśli wiele zmiennych spełnia ten warunek, wybierz arbitralnie jedną z nich. Idż do kroku 5. Krok 5. (eliminacja Gauss’a). Wyznacz oraz względem zmiennych oraz zmiennej zgodnie z wyprowadzonym wzorem. Podstaw aby otrzymać nowe rozwiązanie bazowe dopuszczalne. Idź do kroku 2. Krok ten czasami nazywa się wymianą zmiennej bazowej ( piwotyzacją).
Schemat reguły przeliczenia współczynników w tablicy simpleks wg metody eliminacji Gauss’a • p - element centralny (główny) • q – dowolny element w wierszu centralnym (głównym) • r – dowolny element w kolumnie centralnej (głównej) • s – dowolny pozostały element