Programowanie liniowe

Podobne dokumenty
Dualność w programowaniu liniowym

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

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

Elementy Modelowania Matematycznego

Metoda simpleks. Gliwice

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

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

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

Definicja problemu programowania matematycznego

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

Programowanie liniowe. Tadeusz Trzaskalik

Zagadnienie transportowe

Programowanie nieliniowe

Rozdział 1 PROGRAMOWANIE LINIOWE

Programowanie liniowe metoda sympleks

Programowanie liniowe metoda sympleks

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Rozdział 1 PROGRAMOWANIE LINIOWE

ZAGADNIENIE TRANSPORTOWE

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Układy równań liniowych

ZAGADNIENIE TRANSPORTOWE (część 1)

Wykład 5. Metoda eliminacji Gaussa

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

BADANIA OPERACYJNE Zagadnienie transportowe

Programowanie liniowe

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

(Dantzig G. B. (1963))

Badania operacyjne egzamin

PROGRAMOWANIE KWADRATOWE

Wykład 6. Programowanie liniowe

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

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

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

1 Przykładowe klasy zagadnień liniowych

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

BADANIA OPERACYJNE pytania kontrolne

Elementy Modelowania Matematycznego Wykład 7 Programowanie nieliniowe i całkowitoliczbowe

O MACIERZACH I UKŁADACH RÓWNAŃ

Elementy Modelowania Matematycznego

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

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

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Programowanie liniowe

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

Programowanie liniowe metoda sympleks

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

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

Programowanie liniowe

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

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

Standardowe zadanie programowania liniowego. Gliwice 1

Teoretyczne podstawy programowania liniowego

TOZ -Techniki optymalizacji w zarządzaniu

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

ALGEBRA Z GEOMETRIĄ MACIERZE ODWZOROWAŃ LINIOWYCH

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

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

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

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

Macierze. Rozdział Działania na macierzach

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

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

1 Macierz odwrotna metoda operacji elementarnych

ZAGADNIENIE TRANSPORTOWE(ZT)

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

Zaawansowane metody numeryczne

1 Układy równań liniowych

Wykład z modelowania matematycznego. Algorytm sympleks.

Programowanie liniowe

OPTYMALIZACJA PROCESÓW LOGISTYCZNYCH

Laboratorium Metod Optymalizacji

ALGORYTM SIMPLEX. B.Gładysz Badania operacyjne 2007

Badania Operacyjne Ćwiczenia nr 4 (Materiały)

Zadanie transportowe

Programowanie liniowe

Modelowanie sytuacji konfliktowych, w których występują dwie antagonistyczne strony.

PROGRAMOWANIE NIELINIOWE

Algorytm simplex i dualność

OPTYMALIZACJA W LOGISTYCE

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

Programowanie dynamiczne. Tadeusz Trzaskalik

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

det[a 1,..., A i,..., A j,..., A n ] + det[a 1,..., ka j,..., A j,..., A n ] Dowód Udowodniliśmy, że: det[a 1,..., A i + ka j,..., A j,...

Metody numeryczne Wykład 4

1 Zbiory i działania na zbiorach.

Metody wielokryterialne. Tadeusz Trzaskalik

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

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

Elementy modelowania matematycznego

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

Iwona Konarzewska Programowanie celowe - wprowadzenie. Katedra Badań Operacyjnych UŁ

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

Wspomaganie Decyzji. Roman Słowiński. Zakład Inteligentnych Systemów Wspomagania Decyzji. Instytut Informatyki. Politechniki Poznańskiej

Formy kwadratowe. Rozdział 10

Matematyka stosowana i metody numeryczne

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

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

ZASTOSOWANIE ZASADY MAKSIMUM PONTRIAGINA DO ZAGADNIENIA

Transkrypt:

Badania operacyjne Problem Model matematyczny Metoda rozwiązania Znaleźć optymalny program produkcji. Zmaksymalizować 1 +3 2 2 3 (1) Przy ograniczeniach 3 1 2 +2 3 7 (2) 2 1 +4 2 12 (3) 4 1 +3 2 +8 3 10 (4) 1, 2, 3 0 (5) Algorytm simple Metoda Chaczijana Algorytm programowania dynamicznego 8 Programowanie liniowe Algorytm sympleks 9 1

Plan wykładu Problem programowania liniowego Postać kanoniczna Postać standardowa Algorytm sympleks Początkowa baza dopuszczalna Tablica sympleks Warunek optymalności rozwiązania Zmiana bazy Transformacja tablicy Metoda sztucznej bazy Metoda graficzna 10 Przykład zastosowania PL Mały warsztat naprawia trzy rodzaje urządzeń B1, B2, B3. Każde urządzenie zawiera trzy podstawowe elementy: E 1, E 2, E 3. Naprawa polega na demontażu i/lub montażu elementów E 1,E 2,E 3 według określonej technologii. Tabela przedstawia przebieg każdej naprawy, zysk z naprawy urządzenia określonego typu oraz zapas elementów E 1,E 2, E 3 w firmie. 11 2

Przykład zastosowania PL Element Urządzenie E1 E2 E3 zysk [$/szt] B1 3-2 -4-1 B2-1 4 3 3 B3 2 0 8-2 Zapas [szt.] 7 12 10 Aby określić optymalny z punktu widzenia maksymalizacji zysku zakres napraw budujemy model liniowy problemu. 12 Sformułowanie problemu Niech 1 oznacza planowaną liczbę sztuk urządzenia B1 2 oznacza planowaną liczbę sztuk urządzenia B2 oznacza planowaną liczbę sztuk urządzenia B3 3 Całkowity zysk z naprawy urządzeń: 1 +3 2 2 3 Zakład ma zapas 7 sztuk elementu E1 Liczba sztuk elementu E1 potrzebna do realizacji produkcji: Podobnie dla elementów E2 i E3: 3 1 2 +2 3 7 2 1 + 4 2 12 4 1 +3 2 +8 3 10 13 3

Sformułowanie problemu Zmaksymalizować 1 +3 2 2 3 (1) Przy ograniczeniach 3 1 2 +2 3 7 (2) 2 1 +4 2 12 (3) 4 1 +3 2 +8 3 10 (4) 1, 2, 3 0 (5) 14 Model liniowy zmaksymalizować n j= 1 j= 1 c przy ograniczeniach a b, i = 1, K,m ograniczenia n j j ij j i 0, j = 1, K,n j funkcja celu (kryterium) 15 4

Model liniowy zmaksymalizować n j= 1 n j= 1 c przy ograniczeniach a b, i = 1, K,m parametry j j ij j i 0, j = 1, K,n j zmienna decyzyjna (i) (ii) (iii) 16 Model liniowy postać kanoniczna zmaksymalizować n j= 1 j= 1 c przy ograniczeniach a b, i = 1, K,m n j j ij j i 0, j = 1, K,n j 17 5

Model liniowy zminimalizować n j= 1 j= 1 c przy ograniczeniach a b, i = 1, K,m n j j ij j i 0, j = 1, K,n j 18 c = Model liniowy postać standardowa zmaksymalizować przy ograniczeniach [ c,c, K,c ] 1 2 n 1 2 = K n c A = b 0 a11 K a1n A = K K K am1 K amn b1 b 2 b = K bm 19 6

Podstawowe definicje Rozwiązaniem dopuszczalnym zagadnienia programowania liniowego jest wektor =( 1, 2,..., n ), spełniający warunki (ii) oraz (iii). Rozwiązaniem bazowym układu równań (ii) nazywamy rozwiązanie układu powstałego przez przyrównanie do zera n m zmiennych przy założeniu, że wyznacznik współczynników pozostałych m zmiennych jest niezerowy. Te m zmiennych nazywamy zmiennymi bazowymi. Niezdegenerowanym rozwiązaniem bazowym dopuszczalnym nazywamy bazowe rozwiązanie dopuszczalne, w którym wszystkie zmienne bazowe są dodatnie. Maksymalnym (minimalnym) rozwiązaniem dopuszczalnym jest rozwiązanie dopuszczalne, które maksymalizuje (minimalizuje) funkcję celu (i). 20 Algorytm sympleks 1. sprowadzić problem do postaci standardowej; 2. znaleźć dopuszczalne rozwiązanie bazowe; 3. zbudować początkową tablicę sympleks; 4. wybrać największy element wiersza wskaźnikowego ( m+1,k ); 5. jeżeli jego wartość jest dodatnia, to a. wyznaczyć element lk o najmniejszym ilorazie b ik / ik dla ik >0, i B; b. przekształcić tablicę sympleks przyjmując element lk za element centralny przekształcenia stosując następujące wzory: ' = ik ij ij c. wrócić do kroku 4. lk ' = lk 21 7

Algorytm sympleks 1. sprowadzić problem do postaci standardowej; 2. znaleźć dopuszczalne rozwiązanie bazowe; 3. zbudować początkową tablicę sympleks; 4. wybrać największy element wiersza wskaźnikowego ( m+1,k ); 5. jeżeli jego wartość jest dodatnia, to a. wyznaczyć element lk o najmniejszym ilorazie b ik / ik dla ik 0, i B; b. przekształcić tablicę sympleks przyjmując element lk za element centralny przekształcenia stosując następujące wzory: ' = ik ij ij c. wrócić do kroku 4. lk ' = lk 22 Postać kanoniczna problemu PL Zmaksymalizować: 1 + 3 2 2 3 Przy ograniczeniach: 3 1 2 + 2 3 7 2 1 + 4 2 12 4 1 + 3 2 + 8 3 10 1, 2, 3 0 23 8

Postać standardowa problemu PL Wszystkie ograniczenia mają postać równań dodajemy zmienne osłabiające (s i 0), z Jak to zrobić? zerowymi współczynnikami w funkcji celu Wektor prawych stron ograniczeń jest nieujemny (b 0) mnożymy obustronnie równanie przez ( 1) Funkcja celu jest maksymalizowana Jak to zrobić? mnożymy funkcję celu przez ( 1) Jak to zrobić? 24 Sprowadzenie ograniczeń do postaci równań Funkcja celu jest maksymalizowana Zmaksymalizować: 3 1 1 + 3 3 2 2 2 3 3 + 0s 1 + 0s 2 + 0s 3 Przy ograniczeniach: 3 1 2 + 2 3 + s 1 = 7 2 1 + 4 2 + s 2 = 12 4 1 + 3 2 + 8 3 + s 3 10 = 10 Wektor prawych stron ograniczeń jest dodatni 1, 12, 23, s 31, s 2 0, s 3 0 25 9

Problem w postaci standardowej Zmaksymalizować: 1 + 3 2 2 3 + 0s 1 + 0s 2 + 0s 3 Przy ograniczeniach: 3 1 2 + 2 3 + s 1 = 7 2 1 + 4 2 + s 2 = 12 4 1 + 3 2 + 8 3 + s 3 = 10 1, 2, 3, s 1, s 2, s 3 0 26 Algorytm sympleks 1. sprowadzić problem do postaci standardowej; 2. znaleźć dopuszczalne rozwiązanie bazowe; 3. zbudować początkową tablicę sympleks; 4. wybrać największy element wiersza wskaźnikowego ( m+1,k ); 5. jeżeli jego wartość jest dodatnia, to a. Wyznaczyć element lk o najmniejszym ilorazie b ik / ik dla ik 0, i B; b. Przekształcić tablicę sympleks przyjmując element lk za element centralny przekształcenia stosując następujące wzory: ' = ik ij ij c. wrócić do kroku 4. lk ' = lk 27 10

Dopuszczalne rozwiązanie bazowe Rozwiązaniem bazowym jest rozwiązanie, które powstaje przez przyrównanie do zera n m zmiennych i rozwiązanie powstałego układu równań. Jeżeli w rozwiązaniu bazowym Uwaga: wartości w postaci standardowej zawsze n>m wszystkich zmiennych są nieujemne, to jest ono rozwiązaniem bazowym dopuszczalnym. 28 Znalezienie bazy początkowej Zmaksymalizować: 1 + 3 2 2 3 Przy ograniczeniach: 3 1 2 + 2 3 + s 1 = 7 2 1 + 4 2 + s 2 = 12 4 1 + 3 2 + 8 3 + s 3 = 10 Niech 1 = 2 = 3 = 0 1, 12, 23, s 13, s 2 0, s 3 0 29 11

Znalezienie bazy początkowej Niech 1 = 2 = 3 = 0 3 1 2 + 2 3 + s 1 = 7 2 1 + 4 2 + s 2 = 12 4 1 + 3 2 + 8 3 + s 3 = 10 Jest to rozwiązanie bazowe dopuszczalne 30 Algorytm sympleks 1. sprowadzić problem do postaci standardowej; 2. znaleźć dopuszczalne rozwiązanie bazowe; 3. zbudować początkową tablicę sympleks; 4. wybrać największy element wiersza wskaźnikowego ( m+1,k ); 5. jeżeli jego wartość jest dodatnia, to a. Wyznaczyć element lk o najmniejszym ilorazie b ik / ik dla ik 0, i B; b. Przekształcić tablicę sympleks przyjmując element lk za element centralny przekształcenia stosując następujące wzory: ' = ik ij ij c. wrócić do kroku 4. lk ' = lk 31 12

i 1 2 3 4 32 i Numer wiersza tablicy. Liczba wierszy: m+1. 1 2 3 4 33 13

i B Nazwy wektorów tworzących bazę. 1 s 1 2 s 2 3 s 3 4 34 i B c B 1 s 1 0 Współczynniki przy zmiennych bazowych w funkcji celu. 2 s 2 0 3 s 3 0 4 35 14

i B c B Wartości zmiennych RHS bazowych w bieżącym rozwiązaniu. 1 s 1 0 7 2 s 2 0 12 3 s 3 0 10 4 36 i B c B RHS 1 2 3 s 1 s 2 s 3 1 s 1 0 7 2 s 2 0 12 3 s 3 0 10 4 Nazwy wszystkich zmiennych. 37 15

Współczynniki przy zmiennych w funkcji celu. 1 2 3 s 1 s 2 s 3 1 s 1 0 7 2 s 2 0 12 3 s 3 0 10 4 38 Współczynniki przy zmiennych w ograniczeniach. 1 2 3 s 1 s 2 s 3 1 s 1 0 3 1 2 1 0 0 7 2 s 2 0 2 4 0 0 1 0 12 3 s 3 0 4 3 8 0 0 1 10 4 39 16

j i B z = c 1 2 3 s 1 s 2 s 3 i ij 1 s 1 0 3 1 2 1 0 0 7 2 s 2 0 2 4 0 0 1 0 12 3 s 3 0 4 3 8 0 0 1 10 4 Wiersz wskaźnikowy. Wartości c j -z j 40 j i B z = c 1 2 3 s 1 s 2 s 3 i ij 1 s 1 0 3 1 2 1 0 0 7 2 s 2 0 2 4 0 0 1 0 12 3 s 3 0 4 3 8 0 0 1 10 4 1 3 2 0 0 0 Wiersz wskaźnikowy. Wartości c j -z j 41 17

1 2 3 s 1 s 2 s 3 1 s 1 0 3 1 2 1 0 0 7 2 s 2 0 2 4 0 0 1 0 12 3 s 3 0 4 3 8 0 0 1 10 4 1 3 2 0 0 0 0 Wartość funkcji celu w bieżącym rozwiązaniu. 42 1 2 3 s 1 s 2 s 3 1 s 1 0 3 1 2 1 0 0 7 2 s 2 0 2 4 0 0 1 0 12 3 s 3 0 4 3 8 0 0 1 10 4 1 3 2 0 0 0 0 43 18

Algorytm sympleks 1. sprowadzić problem do postaci standardowej; 2. znaleźć dopuszczalne rozwiązanie bazowe; 3. zbudować początkową tablicę sympleks; 4. wybrać największy element wiersza wskaźnikowego ( m+1,k ); 5. jeżeli jego wartość jest dodatnia, to a. Wyznaczyć element lk o najmniejszym ilorazie b ik / ik dla ik 0, i B; b. Przekształcić tablicę sympleks przyjmując element lk za element centralny przekształcenia stosując następujące wzory: ' = ik ij ij c. wrócić do kroku 4. lk ' = lk 44 1 2 3 s 1 s 2 s 3 1 s 1 0 3 1 2 1 0 0 7 2 s 2 0 2 4 0 0 1 0 12 3 s 3 0 4 3 8 0 0 1 10 4 1 3 2 0 0 0 0 45 19

1 2 3 s 1 s 2 s 3 1 s 1 0 3 1 2 1 0 0 7 2 s 2 0 2 4 0 0 1 0 12 3 s 3 0 4 3 8 0 0 1 10 4 1 3 2 0 0 0 0 46 Algorytm sympleks 1. sprowadzić problem do postaci standardowej; 2. znaleźć dopuszczalne rozwiązanie bazowe; 3. zbudować początkową tablicę sympleks; 4. wybrać największy element wiersza wskaźnikowego ( m+1,k ); 5. jeżeli jego wartość jest dodatnia, to a. Wyznaczyć element lk o najmniejszym ilorazie b ik / ik dla ik >0, i B; b. Przekształcić tablicę sympleks przyjmując element lk za element centralny przekształcenia stosując następujące wzory: Jeżeli ' wszystkie = ik ij ij ik 0, i B, to funkcja celu może lk przyjmować dowolnie duże c. wrócić wartości do kroku (rozwiązanie 4. nieograniczone). ' = lk 47 20

kolumna k 1 2 3 s 1 s 2 s 3 1 s 1 0 3 1 2 1 0 0 7 2 s 2 0 2 4 0 0 1 0 12 3 s 3 0 4 3 8 0 0 1 10 4 1 3 2 0 0 0 0 48 kolumna k 1 2 3 s 1 s 2 s 3 1 s 1 0 3 1 2 1 0 0 7 2 s 2 0 2 4 0 0 1 0 12 3 s 3 0 4 3 8 0 0 1 10 4 1 3 2 0 0 0 0 12/4 < 10/3 49 21

kolumna k 1 2 3 s 1 s 2 s 3 1 s 1 0 3 1 2 1 0 0 7 2 s 2 0 2 4 0 0 1 0 12 wiersz l 3 s 3 0 4 3 8 0 0 1 10 4 1 3 2 0 0 0 0 element centralny przekształcenia 50 kolumna k 1 2 3 s 1 s 2 s 3 wiersz l 1 s 1 0 3 1 2 1 0 0 7 2 2 3 2 4 0 0 1 0 12 3 s 3 0 4 3 8 0 0 1 10 4 1 3 2 0 0 0 0 zmienna 2 (z kolumny k) zastępuje w bazie zmienną s 2 (z wiersza l) 51 22

Algorytm sympleks 1. sprowadzić problem do postaci standardowej; 2. znaleźć dopuszczalne rozwiązanie bazowe; 3. zbudować początkową tablicę sympleks; 4. wybrać największy element wiersza wskaźnikowego ( m+1,k ); 5. jeżeli jego wartość jest dodatnia, to a. Wyznaczyć element lk o najmniejszym ilorazie b ik / ik dla ik 0, i B; b. Przekształcić tablicę sympleks przyjmując element lk za element centralny przekształcenia stosując następujące wzory: ' = ik ij ij c. wrócić do kroku 4. lk ' = lk 52 kolumna j kolumna k 1 2 3 s 1 s 2 s 3 wiersz i wiersz l 1 s 1 0 3 1 2 1 0 0 7 2 2 3 2 4 0 0 1 0 12 3 s 3 0 4 3 8 0 0 1 10 4 1 3 2 0 0 0 0 53 23

kolumna j kolumna k 1 2 3 s 1 s 2 s 3 1 s 1 0 3 1 2 1 0 0 7 wiersz i 2 2 3 2 4 0 0 1 0 12 wiersz l 3 s 3 0 4 3 8 0 0 1 10 4 1 3 2 0 0 0 0 * =2,5 54 kolumna k 1 2 3 s 1 s 2 s 3 1 s 1 0 5/2 0 2 1 1/4 0 10 2 2 3 2 4 0 0 1 0 12 wiersz l 3 s 3 0 5/2 0 8 0 3/4 1 1 4 1/2 0 2 0 3/4 0 55 24

kolumna k 1 2 3 s 1 s 2 s 3 1 s 1 0 5/2 0 2 1 1/4 0 10 2 2 3 1/2 1 0 0 1/4 0 3 wiersz l 3 s 3 0 5/2 0 8 0 3/4 1 1 4 1/2 0 2 0 3/4 0 56 Algorytm sympleks 1. sprowadzić problem do postaci standardowej; 2. znaleźć dopuszczalne rozwiązanie bazowe; 3. zbudować początkową tablicę sympleks; 4. wybrać największy element wiersza wskaźnikowego ( m+1,k ); 5. jeżeli jego wartość jest dodatnia, to a. Wyznaczyć element lk o najmniejszym ilorazie b ik / ik dla ik 0, i B; b. Przekształcić tablicę sympleks przyjmując element lk za element centralny przekształcenia stosując następujące wzory: ' = ik ij ij c. wrócić do kroku 4. lk ' = lk 57 25

Tablica sympleks 1 2 3 s 1 s 2 s 3 1 s 1 0 5/2 0 2 1 1/4 0 10 2 2 3 1/2 1 0 0 1/4 0 3 3 s 3 0 5/2 0 8 0 3/4 1 1 4 1/2 0 2 0 3/4 0 9 58 Tablica sympleks 1 2 3 s 1 s 2 s 3 1 s 1 0 5/2 0 2 1 1/4 0 10 2 2 3 1/2 1 0 0 1/4 0 3 3 s 3 0 5/2 0 8 0 3/4 1 1 4 1/2 0 2 0 3/4 0 9 59 26

Tablica sympleks 1 2 3 s 1 s 2 s 3 1 s 1 0 5/2 0 2 1 1/4 0 10 2 2 3 1/2 1 0 0 1/4 0 3 3 s 3 0 5/2 0 8 0 3/4 1 1 4 1/2 0 2 0 3/4 0 9 60 Tablica sympleks 1 2 3 s 1 s 2 s 3 1 s 1 0 5/2 0 2 1 1/4 0 10 2 2 3 1/2 1 0 0 1/4 0 3 3 s 3 0 5/2 0 8 0 3/4 1 1 4 1/2 0 2 0 3/4 0 9 61 27

Końcowa tablica sympleks 1 2 3 s 1 s 2 s 3 1 1 1 1 0 4/5 2/5 1/10 0 4 2 2 3 0 1 2/5 1/5 3/10 0 5 3 s 3 0 0 0 10 1-1/2 1 11 4 0 0-12/5-1/5-4/5 0 11 62 1 =4 Rozwiązanie 2 =5 optymalne 3 =0 z=11 s 1 i=0 B c B 1 3 2 0 0 0 RHS s 2 =0 s 3 =11 1 2 3 s 1 s 2 s 3 1 1 1 1 0 4/5 2/5 1/10 0 4 2 2 3 0 1 2/5 1/5 3/10 0 5 3 s 3 0 0 0 10 1-1/2 1 11 4 0 0-12/5-1/5-4/5 0 11 63 28

Interpretacja rozwiązania Maksymalny zysk to 11$. Należy naprawić 4 szt. urządzenia B1 i 5 szt. urządzenia B2, natomiast nie należy przyjmować zleceń na naprawę urządzenia B3. Wartości zmiennych uzupełniających oznaczają zapas części, który pozostanie w magazynie po zakończeniu produkcji. Elementy E1 i E2 zostaną zużyte, natomiast pozostanie 11 szt. Elementu E3. 64 Problem w postaci standardowej Zmaksymalizować: 1 + 3 2 2 3 + 0s 1 + 0s 2 + 0s 3 Przy ograniczeniach: 3 1 2 + 2 3 + s 1 = 7 2 1 + 4 2 + s 2 = 12 4 1 + 3 2 + 8 3 + s 3 = 10 1, 2, 3, s 1, s 2, s 3 0 65 29

Przykład 2 Zminimalizować: 2 1 + 2 + 3 Przy ograniczeniach: 1 + 3 2 + 3 3 2 1 + 2 + 2 3 5 2 1 + 2 2 + 3 2 1, 2, 3 0 66 Postać standardowa Zmaksymalizować: - (2 1 + 2 + 3 ) Przy ograniczeniach: 1 + 3 2 + 3 s 1 = 3 2 1 + 2 + 2 3 + s 2 = 5 Baza dopuszczalna? 2 1 + 2 2 + 3 s 3 = 2 1, 2, 3 0 67 30

Metoda sztucznej bazy Algorytm sympleks 68 Metoda sztucznej bazy I. Wprowadzamy k m zmiennych sztucznych. Zmienne te są nieujemne, a ich współczynniki w funkcji celu przyjmują wartość ( M), gdzie M jest dużą liczbą dodatnią. II. Tablicę sympleks ze sztucznymi wektorami przekształcamy jak zwykłą tablicę, dopóki: 1. wszystkie sztuczne wektory zostaną wyeliminowane z bazy, tj. mamy bazę dopuszczalną pierwotnego zagadnienia; 2. brak dodatnich współczynników przy M w wierszu wskaźnikowym a. jeżeli sztuczna część funkcji celu jest dodatnia, to zagadnienie nie ma rozwiązania dopuszczalnego; b. jeśli sztuczna część funkcji celu jest równa zero, to mamy zdegenerowane rozwiązanie dopuszczalne pierwotnego zagadnienia, które zawiera co najwyżej jeden sztuczny wektor. Przekształcamy tablicę sympleks wprowadzając do bazy wektor, który odpowiada największemu dodatniemu elementowi wiersza wskaźnikowego przy zerowej wartości współczynnika przy M. III. Kolumny odpowiadające zmiennym sztucznym, które opuściły bazę można eliminować z obliczeń. IV. Po otrzymaniu bazy dopuszczalnej zagadnienia pierwotnego kontynuujemy realizację algorytmu sympleks aż do otrzymania rozwiązania problemu pierwotnego. 69 31

Sztuczna baza Zmaksymalizować: -(2 1 + 2 + 3 ) Ma 1 Ma 3 Przy ograniczeniach: 1 + 3 2 + 3 s 1 + a 1 = 3 2 1 + 2 + 2 3 + s 2 = 5 2 1 + 2 2 + 3 s 3 + a 3 = 2 1, 2, 3, s 1, s 2, s 3, a 1, a 3 0 1 = 2 = 3 = s 1 = s 3 = 0 70 Sztuczna baza Zmaksymalizować: 2 1 + 2 + 3 Ma 1 Ma 3 Przy ograniczeniach: a 1 = 3 s 2 = 5 a 3 = 2 1 = 2 = 3 = s 1 = s 3 = 0 71 32

i B c B 2 1 1 0 0 0 -M -M RHS 1 2 3 s 1 s 2 s 3 a 1 a 3 1 a 1 -M 1 3 1-1 0 0 1 0 3 2 s 2 0 2 1 2 0 1 0 0 0 5 3 a 3 -M 2 2 1 0 0-1 0 1 2 4 2+3M 1+5M 1+2M -M 0 -M 0 0-5M 72 Rozwiązanie EploreLP.ee 73 33

Przykład 3 Zminimalizować: 2 1 + 3 2 Przy ograniczeniach: 1 + 3 2 5 1 + 2 2 2 5 1 + 2 7 1, 2 0 74 Rozwiązanie EploreLP.ee 75 34

Podsumowanie Sformułowanie problemu PL w postaci standardowej Algorytm sympleks Metoda sztucznej bazy Metoda graficzna 76 35