Całkowitoliczbowe programowanie liniowe

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

Zagadnienie transportowe

Programowanie liniowe

ZAGADNIENIE TRANSPORTOWE (część 1)

BADANIA OPERACYJNE Zagadnienie transportowe

ZAGADNIENIE TRANSPORTOWE(ZT)

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

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

Badania Operacyjne Ćwiczenia nr 5 (Materiały)

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

ZAGADNIENIE TRANSPORTOWE

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

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

Ćwiczenia laboratoryjne - 7. Zagadnienie transportowoprodukcyjne. programowanie liniowe

Temat: Algorytmy zachłanne

Programowanie liniowe

Definicja problemu programowania matematycznego

Zagadnienie transportowe i zagadnienie przydziału

Programowanie nieliniowe

c j x x

WYKORZYSTANIE NARZĘDZIA Solver DO ROZWIĄZYWANIA ZAGADNIEŃ TRANSPORTOWYCH Z KRYTERIUM KOSZTÓW

Programowanie liniowe

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

celu przyjmijmy: min x 0 = n t Zadanie transportowe nazywamy zbilansowanym gdy podaż = popyt, czyli n

Programowanie liniowe

Algorytmy i struktury danych.

Programowanie liniowe metoda sympleks

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

Zadanie niezbilansowane. Gliwice 1

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

Programowanie liniowe metoda sympleks

WYZNACZANIE KOSZTÓW TRANSPORTU Z WYKORZYSTANIEM OCTAVE 3.4.3

BADANIA OPERACYJNE Zagadnienie transportowe. dr Adam Sojda

KLASYCZNE ZAGADNIENIE TRANSPORTOWE (KZT).

ZAGADNIENIA TRANSPORTOWE

Sieć (graf skierowany)

ZAGADNIENIE TRANSPORTOWE

BADANIA OPERACYJNE pytania kontrolne

Algorytm simplex i dualność

Elementy Modelowania Matematycznego

Dualność w programowaniu liniowym

Programowanie liniowe metoda sympleks

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

OPTYMALIZACJA W LOGISTYCE

Zadanie transportowe

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI

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ł 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

BADANIA OPERACYJNE I TEORIE OPTYMALIZACJI. Zagadnienie transportowe

OPTYMALIZACJA W LOGISTYCE

Ćwiczenia laboratoryjne - 7. Problem (diety) mieszanek w hutnictwie programowanie liniowe. Logistyka w Hutnictwie Ćw. L. 7

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

Laboratorium Metod Optymalizacji

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Optymalizacja

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

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

Standardowe zadanie programowania liniowego. Gliwice 1

Elementy Modelowania Matematycznego

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

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

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

Badania operacyjne egzamin

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

Zagadnienie transportowe

ZAGADNIENIE TRANSPORTOWE (część 2)

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

Programowanie liniowe. Tadeusz Trzaskalik

Programowanie liniowe całkowitoliczbowe

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

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

Metody systemowe i decyzyjne w informatyce

Wstęp do programowania

OPTYMALIZACJA DYSKRETNA

Pyt.1. Podać warunki jakie musi spełniać model matematyczny dla możliwości rozwiązywania metodami programowania liniowego.

Rozdział 1 PROGRAMOWANIE LINIOWE

TOZ -Techniki optymalizacji w zarządzaniu

Podstawy Programowania Algorytmy i programowanie

PROGRAMOWANIE NIELINIOWE

=B8*E8 ( F9:F11 F12 =SUMA(F8:F11)

Metody numeryczne Wykład 4

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

1 Przykładowe klasy zagadnień liniowych

[1] E. M. Reingold, J. Nievergelt, N. Deo Algorytmy kombinatoryczne PWN, 1985.

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

Agenda. Politechnika Poznańska WMRiT ZST. Piotr Sawicki Optymalizacja w transporcie 1. Kluczowe elementy wykładu. WPROWADZENIE Cel i zakres wykładu.

Optymalizacja liniowa w liczbach całkowitych (PLC)

Wybrane elementy badań operacyjnych

Wykład z modelowania matematycznego. Algorytm sympleks.

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

Zbudować model matematyczny do poniższych zagadnień (ułożyć program matematyczny ).

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

PEWNE ZASTOSOWANIA TEORII DYSTRYBUCJI I RACHUNKU OPERATOROWEGO W TEORII RÓWNAŃ RÓŻNICZKOWYCH

Badania operacyjne. Dr hab. inż. Adam Kasperski, prof. PWr. Pokój 509, budynek B4 Materiały do zajęć dostępne na stronie:

) a j x j b; x j binarne (j N) całkowitoliczbowe; przyjmujemy (bez straty ogólności): c j > 0, 0 <a j b (j N), P n

Modelowanie całkowitoliczbowe

PRZEWODNIK PO PRZEDMIOCIE

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

Rozwiązanie zadania 1. Krok Tym razem naszym celem jest, nie tak, jak w przypadku typowego zadania transportowego

Transkrypt:

Przykład Algorytm Ralph Gomory Inne przykłady Badania operacyjne Instytut Informatyki Przykład Algorytm Ralph Gomory Inne przykłady Zadanie Producent dwóch typów szynobusów planuje produkcję na najbliższy miesiąc. Każdy z szynobusów przynosi taki sam zysk, ale wymagają do produkcji różnych zasobów. Zapotrzebowanie na zasoby oraz ich dostępność przedstawiono w Tablicy. Zasób I Zasób II Typ A 4 2 Typ B 5 dostępna ilość zasobu 20 6 Znaleźć optymalny plan produkcji szynobusów.

Model dyskretny zmaksymalizować z = x + x 2 () 2x + x 2 6 (2) 4x + 5x 2 20 () x, x 2 0 (4) x, x 2 Z (5) Postać standardowa zmaksymalizować z = x + x 2 (6) 2x + x 2 + s = 6 (7) 4x + 5x 2 + s 2 = 20 (8) x, x 2 0 (9) x, x 2 Z (0) i B c x x 2 s s 2 RHS s 0 2 0 6 2 s 2 0 4 5 0 20 0 0 0

Rozwiązanie i B c x x 2 s s 2 RHS x 0 5 6 6 5 2 x 2 0 2 8 0 0 6 6 Dyskretne programowanie liniowe x 2 x

Dyskretne programowanie liniowe i B c x x 2 s s 2 RHS x 0 5 6 6 5 2 x 2 0 2 8 0 0 6 6 0 x + x 2 + ( + ) s + x 2 2 s + s 2 = 8 ( 0 + ) s 2 = 2 + 2 () (2) s + s 2 = 2 + (2 x 2 + s ) () Dyskretne programowanie liniowe 0 x + x 2 + x 2 2 s + s 2 = 8 ( + ) ( s + 0 + ) s 2 = 2 + 2 s + s 2 = 2 + (2 x 2 + s ) s + s 2 2 s + s 2 2 (4) s + s 2 s + a = 2 (5)

Dyskretne programowanie liniowe Twierdzenie Niech IL oraz IR będą dowolnymi liczbami naturalnymi, f ściśle dodatnim ułamkiem a F sumą ściśle dodatnich ułamków takich, że IL + F = IR + f Wtedy IL IR oraz F f. Dowód. Niech (IL, IR, f, F ) będzie dowolną czwórką spełniającą założenia twierdzenia. Ponieważ IL oraz IR są liczbami naturalnymi, F jest sumą ściśle dodatnich ułamków a f jest ściśle dodatnim ułamkiem, to musi zachodzić F f. Jeżeli bowiem F < to F = f, a jeżeli F > to F > f. Ponieważ f jest ułamkiem, a IL oraz IR są liczbami naturalnymi, to F nie może być całkowite, w szczególności nie może być równe. Zatem z IL + F = IR + f wynika, że IL IR. Jest oczywiste, że gdy F < to IL = IR oraz gdy F > to IL < IR. Dyskretne programowanie liniowe zmaksymalizować x + x 2 + M a (6) przy ograniczeniach x + 5 s 6 s 6 2 = 5 (7) x 2 2 s + s 2 = 8 (8) s + s 2 s + a = 2 (9) i B c x x 2 s s 2 s a RHS x 0 0 2 x 2 0 0 6 0 0 5 8 a M 0 0 2 4 0 0 M M 6 M 0 4

Dyskretne programowanie liniowe i B c x x 2 s s 2 s RHS x 0 0 6 2 2 x 2 0 0 2 s 2 0 0 0 2 4 0 0 0 0 6 4 Odcięcie s + s 2 2 (20) 2x + x 2 + s = 6 (2) 4x + 5x 2 + s 2 = 20 (22) (6 2x x 2 ) + (20 4x 5x 2 ) 2 (2) 26 6x 6x 2 2 (24) x + x 2 4 (25)

Dyskretne programowanie liniowe x 2 x Algorytm Gomory ego krok Rozwiąż metodą sympleks zadanie PL bez uwzględniania warunku dyskretności zmiennych. krok 2 Jeżeli rozwiązanie uzyskane w wyniku ostatniego zastosowania metody sympleks jest całkowitoliczbowe, to jest ono rozwiązaniem wyjściowego zadania całkowitoliczbowego programowania liniowego; w przeciwnym razie przejdź do kroku. krok Wyeliminuj wszystkie zmienne sztuczne (bazowe i niebazowe) z równań wynikających z ostatniej tablicy sympleksowej, po czym wybierz zmienną x k, która ma wartość ułamkową w ostatnim rozwiązaniu.

Algorytm Gomory ego krok 4 W układzie równań wynikającym z ostatniej tablicy sympleks jeden ze współczynników przy x k, powiedzmy w l-tym równaniu jest równy, a pozostałe są równe zero. Zastąp współczynniki i stałą w l-tym równaniu ich częściami ułamkowymi. krok 5 Dodaj do każdego ujemnego ułamka wynikającego z kroku 4. Zapisz otrzymane równanie jako ograniczenie nierównościowe ze znakiem. Algorytm Gomory ego krok 6 Odejmij zmienną osłabiającą i dodaj zmienną sztuczną do zmodyfikowanego l-tego ograniczenia w celu sprowadzenia go do równania. Dołącz to równanie na koniec układu równań wynikającego z ostatniej tablicy sympleks i przydziel nowej zmiennej sztucznej dowolnie duży współczynnik w funkcji celu. Uaktualnij wiersz wskaźnikowy tablicy sympleks. krok 7 Wykonaj dodatkowe iteracje metody sympleks dla nowego układu równań utworzonego w kroku 6. Po uzyskaniu rozwiązania przejdź do kroku 2. http://www.ms.unimelb.edu.au/ moshe/620-62/gomory/

Ralph Gomory (born 7 May 929) an American applied mathematician and executive. Gomory worked at IBM as a researcher and later as an executive. During that time, his research led to the creation of new areas of applied mathematics. He graduated from George School in Newtown, PA in 946. He received his B.A. from Williams College in 950, studied at Cambridge University, and received his Ph.D. in mathematics from Princeton University in 954. While serving in the Navy (954-957), Gomory described his method he shifted his focus to applied mathematics in operations in a very short paper entitled research. Among his mathematical achievements were Outline of an algorithm for founding contributions to the field of integer programming, integer solutions to linear an active area of research to this day. In December 2007 programs, Bull. American Gomory retired and became Professor at Stern School of Math. Society, 64, 275-278, Business, New York University. 958. Problem plecakowy W kolejce do serwera oczekuje 8 zadań obliczeniowych, które bezwzględnie trzeba zakończyć w ciągu godziny. Za niewykonanie zadania należy zapłacić karę zleceniodawcy. Czasy realizacji oraz kary za niewykonanie poszczególnych zadań zawarto w tablicy. Które zadania należy wykonać, aby zminimalizować całkowitą karę? zadanie Z Z2 Z Z4 Z5 Z6 Z7 Z8 czas [min] 6 8 20 28 5 25 9 kara [tys.zł] 6 5 9 0 2 9 8 x i = { gdy zadanie i zostanie wykonane 0 w przeciwnym razie (26)

Problem plecakowy zadanie Z Z2 Z Z4 Z5 Z6 Z7 Z8 czas [min] 6 8 20 28 5 25 9 kara [tys.zł] 6 5 9 0 2 9 8 x i = { gdy zadanie i zostanie wykonane 0 w przeciwnym razie (27) zmin. 6( x ) + 5( x 2 ) + 9( x ) + 0( x 4 ) + (28) ( x 5 ) + 2( x 6 ) + 9( x 7 ) + 8( x 8 ) (29) p.o. 6x + 8x 2 + x + 20x 4 + 28x 5 + 5x 6 + 25x 7 + 9x 8 60 (0) x i {0, }, i =,..., 8 () Problem plecakowy x i = { gdy zadanie i zostanie wykonane 0 w przeciwnym razie (2) zmin. 6( x ) + 5( x 2 ) + 9( x ) + 0( x 4 ) + () ( x 5 ) + 2( x 6 ) + 9( x 7 ) + 8( x 8 ) (4) p.o. 6x + 8x 2 + x + 20x 4 + 28x 5 + 5x 6 + 25x 7 + 9x 8 60 (5) x i {0, }, i =,..., 8 (6) zmaks. 6x + 5x 2 + 9x + 0x 4 + x 5 + 2x 6 + 9x 7 + 8x 8 (7) p.o. 6x + 8x 2 + x + 20x 4 + 28x 5 + 5x 6 + 25x 7 + 9x 8 60 (8) x i {0, }, i =,..., 8 (9)

Problem plecakowy Dany jest skończony zbiór elementów A = {a, a 2,..., a n }, z których każdy ma całkowitoliczbową wagę w i i wartość v i oraz całkowitoliczbową pojemność plecaka b. Które elementy należy włożyć do plecaka, aby nie przekraczając jego pojemności zmaksymalizować wartość zapakowanych elementów? x i = { gdy element i zostanie zapakowany 0 w przeciwnym razie (40) zmaksymalizować przy ograniczeniach n i= v ix i (4) n i= w ix i b (42) x i {0, }, i =,..., n (4) Problem jest NP-trudny w zwykłym sensie. Problem transportowy Firma produkująca nawozy sztuczne ma trzy zakłady produkcyjne zlokalizowane w Kluczborku, Białymstoku i Pile. Kwartalna produkcja poszczególnych zakładów wynosi odpowiednio: 5000 kg, 6000 kg, i 2500 kg. Firma ma cztery centra dystrybucji, zlokalizowane w Lublinie, Elblągu, Łodzi i Opolu. Przewidywany popyt na nawozy w poszczególnych centrach dystrybucji wynosi odpowiednio: 6000 kg, 4000 kg, 2000 kg oraz 500 kg. Jednostkowe koszty transportu (w zł/kg) z każdego zakładu do poszczególnych centrów dystrybucji podano w tablicy. Lublin Elbląg Łódź Opole Kluczbork 2 7 6 Białystok 7 5 2 Piła 2 5 4 5

Problem transportowy x ij ilość towaru przewieziona od dostawcy i do odbiorcy j zminimalizować x + 2x 2 + 7x + 6x 4 + 7x 2 + 5x 22 + 2x 2 + x 24 + 2x + 5x 2 + 4x + 5x 4 (44) przy ograniczeniach x + x 2 + x + x 4 5000 (45) x 2 + x 22 + x 2 + x 24 6000 (46) x + x 2 + x + x 4 2500 (47) x + x 2 + x 6000 (48) x 2 + x 22 + x 2 4000 (49) x + x 2 + x 2000 (50) x 4 + x 24 + x 4 500 (5) x ij 0, i =, 2,, j =, 2,, 4 (52) x ij Z, i =, 2,, j =, 2,, 4 (5) Problem transportowy Mamy m dostawców, których możliwości wysyłki wynoszą a i, i =,... m i n odbiorców, których zapotrzebowania wynoszą b j, j =,... n. Koszt przesłania jednostkowej porcji towaru od dostawcy i do odbiorcy j wynosi c ij. Wyznaczyć plan przewozów minimalizujący całkowite koszty. zminimalizować przy ograniczeniach n i= m j= c ijx ij (54) n j= x ij a i, i =,..., m (55) m i= x ij b j, j =,..., n (56) x ij 0, i =,..., m, j =,..., n (57) x ij Z, i =,..., m, j =,..., n (58) Istnieje algorytm wielomianowy o złożoności O(n ) znajdujący optymalne rozwiązanie problemu.

Problem przydziału Firma zatrudniła do sprzątania po remoncie pracowników: Armonda, Francine, i Herberta. Jeden z nich musi posprzątać łazienkę, drugi umyć podłogi, a trzeci umyć okna, ale każdy z nich otrzymuje inne wynagrodzenie za te same czynności (tablica). Należy tak rodzielić zadania między pracowników, aby zminimalizować całkowity koszt sprzątania. Armond Francine Herbert łazienka 2 podłogi 2 okna 2 Problem przydziału x ij = { pracownik i wykonuje zadanie j 0 w przeciwnym razie zmin. 2x + x 2 + x + x 2 + 2x 22 + x 2 + x + x 2 + 2x (59) p.o. x + x 2 + x = (60) x 2 + x 22 + x 2 = (6) x + x 2 + x = (62) x + x 2 + x = (6) x 2 + x 22 + x 2 = (64) x + x 2 + x = (65) x ij {0, }, i =,..., m, j =,..., n (66)

Problem przydziału Mamy n pracowników (maszyn, procesorów) i n zadań do wykonania. Koszt (czas) wykonania zadania i przez pracownika j wynosi c ij. Przydzielić zadania do pracowników w taki sposób, aby całkowity koszt wykonania wszystkich zadań był minimalny. zminimalizować przy ograniczeniach n i= m j= c ijx ij (67) n j= x ij, i =,..., m (68) m i= x ij, j =,..., n (69) x ij {0, }, i =,..., m, j =,..., n (70) Istnieje algorytm wielomianowy o złożoności O(log 2 (n)) znajdujący optymalne rozwiązanie problemu.