Programowanie liniowe całkowitoliczbowe

Podobne dokumenty
Programowanie liniowe całkowitoliczbowe

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

Modelowanie całkowitoliczbowe

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

etody programowania całkowitoliczboweg

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

Algorytmy i struktury danych.

1 Przykładowe klasy zagadnień liniowych

Badania Operacyjne Ćwiczenia nr 5 (Materiały)

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

Definicja problemu programowania matematycznego

) 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

1 Programowanie całkowitoliczbowe PLC

Programowanie liniowe metoda sympleks

Sieć (graf skierowany)

Programowanie liniowe metoda sympleks

Programowanie liniowe metoda sympleks

OPTYMALIZACJA DYSKRETNA

PROGRAMOWANIE CAŁKOWITOLICZBOWE

Badania operacyjne. Dr Michał Kulej. Pokój 509, budynek B4 Forma zaliczenia wykładu: egzamin pisemny.

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

Metody Optymalizacji. Wstęp. Programowanie matematyczne. Dr hab. inż. Maciej Komosiński, mgr Agnieszka Mensfelt

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

Programowanie liniowe

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

ZAGADNIENIE TRANSPORTOWE(ZT)

Standardowe zadanie programowania liniowego. Gliwice 1

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

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

Adam Kasperski, Michał Kulej, Badania Operacyjne, Wykład 3, Programowanie całkowite(plc)1 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE(DYSKRET- NE)

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

Elementy Modelowania Matematycznego

Optymalizacja. Algorytmy dokładne

Sieć (graf skierowany)

Programowanie liniowe

Programowanie liniowe

Programowanie liniowe. Tadeusz Trzaskalik

Programowanie liniowe

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

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Firma JCo wytwarza dwa wyroby na dwóch maszynach. Jednostka wyrobu 1 wymaga 2 godzin pracy na maszynie 1 i 1 godziny pracy na maszynie 2.

Wielokryteriowa optymalizacja liniowa

Badania Operacyjne Ćwiczenia nr 2 (Materiały)

Temat: Algorytmy zachłanne

Optymalizacja. Algorytmy dokładne

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

METODY OBLICZENIOWE OPTYMALIZACJI zadania

Programowanie dynamiczne i algorytmy zachłanne

Wstęp do programowania

OPTYMALIZACJA W LOGISTYCE

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Schemat programowania dynamicznego (ang. dynamic programming)

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

Programowanie nieliniowe

Zagadnienie transportowe

Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott

7 zaokr aglamy do liczby 3,6. Bład względny tego przybliżenia jest równy A) 0,8% B) 0,008% C) 8% D) 100

Algorytmy i Struktury Danych.

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Układy równań liniowych

0 + 0 = 0, = 1, = 1, = 0.

ZAGADNIENIE TRANSPORTOWE

Zagadnienia programowania liniowego dotyczą modelowania i optymalizacji wielu problemów decyzyjnych, na przykład:

1. Który z warunków nie jest właściwy dla powyższego zadania programowania liniowego? 2. Na podstawie poniższej tablicy można odczytać, że

Metody Rozmyte i Algorytmy Ewolucyjne

Wykład na Politechnice Krakowskiej w dniu 18 stycznia 2012 r. ZADAŃ I ALGORYTMÓW W OPTYMALIZACJI DYSKRETNEJ

Programowanie dynamiczne. Tadeusz Trzaskalik

Elementy Modelowania Matematycznego

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

Metody Ilościowe w Socjologii

Wstęp do programowania

Programowanie liniowe

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

Rozwiązywanie problemów z użyciem Solvera programu Excel

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Klasyczne zagadnienie przydziału

1.2. Rozwiązywanie zadań programowania liniowego metodą geometryczną

Rozwiązywanie programów matematycznych

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

Wykład z modelowania matematycznego. Zagadnienie transportowe.

ZAGADNIENIE TRANSPORTOWE

PRÓBNY EGZAMIN MATURALNY

Programowanie liniowe

Przykład wykorzystania dodatku SOLVER 1 w arkuszu Excel do rozwiązywania zadań programowania matematycznego

łączny czas pracy (1 wariant) łączny koszt pracy (2 wariant) - całkowite (opcjonalnie - dla wyrobów liczonych w szt.)

Algorytmika Problemów Trudnych

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

[1] R. K. Ahuja, T. L. Magnanti, J. B. Orlin, Network Flows: Theory, Algorithms, and Applications, Prentice Hall, 1993.

Optymalizacja decyzji

Przykłady problemów optymalizacyjnych

Dodatek Solver Teoria Dodatek Solver jest częścią zestawu poleceń czasami zwaną narzędziami analizy typu co-jśli (analiza typu co, jeśli?

Algorytmy aproksymacyjne dla problemów stochastycznych

PROGRAMOWANIE NIELINIOWE

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

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

Wielokryteriowa optymalizacja liniowa cz.2

WYKORZYSTANIE NARZĘDZIA Solver DO ROZWIĄZYWANIA ZAGADNIENIA Problem przydziału

Ekonometria - ćwiczenia 11

Transkrypt:

Programowanie liniowe całkowitoliczbowe Jeżeli w zadaniu programowania liniowego pewne (lub wszystkie) zmienne musza przyjmować wartości całkowite, to takie zadanie nazywamy zadaniem programowania liniowego całkowitoliczbowego. Jeżeli wszystkie zmienne musza przyjmować wartości 0 lub 1, to zadanie nazywamy zadaniem programowania liniowego 0-1. Zatem, w każdym takim zadaniu występuja ograniczenia postaci 0 x i 1 i x i całkowite dla każdej zmiennej x i, co krótko oznaczamy jako x i {0, 1}.

Problem rozkroju Tartak posiada standardowe deski o szerokości 10 cali. Otrzymał zamówienie na 90 desek o szerokości 2 cale, 175 desek o szerokości 3 cale i 120 desek o szerokości 4 cale. Tartak chce wyznaczyć taki plan realizacji zamówienia, który zminimalizuje łaczny odpad wyrażony w calach. Możliwe sposoby cięcia deski 10 calowej podane sa w poniższej tabeli: Sposób deski 4-calowe deski 3-calowe deski 2-calowe Odpad 1 2 0 1 0 2 1 2 0 0 3 1 1 1 1 4 1 0 3 0 5 0 3 0 1 6 0 2 2 0 7 0 1 3 1 8 0 0 5 0

Problem rozkroju 1 Zmienne decyzyjne: x i - liczba standardowych desek ciętych i-tym sposobem y 1, y 2, y 3 - liczba desesk 4, 3 i 2-calowych wyprodukowanych ponad zamówienie 2 Funkcja celu: 3 Ograniczenia: min z = Całkowity odpad= x 3 + x 5 + x 7 + 4y 1 + 3y 2 + 2y 3 2x 1 + x 2 + x 3 + x 4 y 1 = 90 2x 2 + x 3 + 3x 5 + 2x 6 + x 7 y 2 = 175 x 1 + x 3 + 3x 4 + 2x 6 + 3x 7 + 5x 8 y 3 = 120 x 1,...,x 8, y 1, y 2, y 3 0 i całkowite. [deski 4-calowe] [deski 3-calowe] [deski 2-calowe] Optymalne rozwiazanie: x 1 = 24, x 2 = 42, x 6 = 45, x 7 = 2, y 2 = 1 i całkowity odpad wynosi 5 cali.

Planowanie komunikacji miejskiej [Taha 2008] Progress City planuje usprawnienie komunikacji miejskiej. Przeprowadzono badania, z których wynika że minimalna liczba potrzebnych autobusów zmienia się w ciagu dnia. W kolejnych, 4-godzinnych oknach czasowych, jest ona pokazana na poniższym rysunku. Każdy autobus rozpoczyna pracę na poczatku czterogodzinnego okna czasowego i pracuje bez przerwy przez kolejne 8 godzin. Celem jest wyznaczenie minimalnej liczby autobusów, które spełnia zapotrzebowanie komunikacyjne mieszkańców.

Planowanie komunikacji miejskiej [Taha 2008] 1 Zmienne decyzyjne: x i - liczba autobusów zaczynajacych pracę o 00:01, 4:01, 8:01, 12:01, 16:01, 20:01. 2 Funkcja celu: 3 Ograniczenia: min z = Liczba autobusów= x 1 + x 2 + x 3 + x 4 + x 5 + x 6 x 1 + x 6 4 [0:01-4:00] x 1 + x 2 8 [4:01-8:00] x 2 + x 3 10 [8:01-12:00] x 3 + x 4 7 [12:01-16:00] x 4 + x 5 12 [16:01-20:00] x 5 + x 6 4 [20:01-24:00] x 1,...,x 6 0 i całkowite. Optymalne rozwiazanie: x 1 = 4, x 2 = 4, x 3 = 6, x 4 = 8, x 5 = 4, x 6 = 0 i minimalna liczba autobusów wynosi 26.

Problem plecakowy Jan zamierza wybrać się na wycieczkę. Rozważa zapakowanie do plecaka siedmiu przedmiotów. Każdy z nich ma określona wagę i wartość. Niestety pojemność plecaka Jana jest ograniczona i można do niego załadować przedmioty o wadze nie większej niż 15. Które przedmioty Jan powinien zabrać? Przedmiot Waga Wartość 1 5 8 2 2 3 3 7 10 4 1 1 5 6 9 6 8 11 7 2 2

Problem plecakowy 1 Zmienne decyzyjne: x i = { 1 jeżeli przedmiot i jest zabrany 0 w przeciwnym wypadku, i = 1,...,7. 2 Funkcja celu: max z = Wartość= 8x 1 + 3x 2 + 10x 3 + x 4 + 9x 5 + 11x 6 + 2x 7 3 Ograniczenia: 5x 1 + 2x 2 + 7x 3 + x 4 + 6x 5 + 8x 6 + 2x 7 15 x i {0, 1}, i = 1,...,7. [Poj. plecaka] Optymalne rozwiazanie: x 1 = 1, x 2 = 1, x 6 = 1, czyli Jan powinien zabrać przedmioty 1, 2 i 6. Wartość plecaka wyniesie wówczas 22.

Problem lokalizacji W pewnym regionie znajduje się pięć miast. Władze regionu chca wybudować w miastach posterunki straży pożarnej tak aby czas dojazdu straży pożarnej do każdego miasta nie przekraczał 15 minut. Czasy przejazdu między miastami (w minutach) sa podane w poniższej tabeli. Miasto 1 Miasto 2 Miasto 3 Miasto 4 Miasto 5 Miasto 6 Miasto 1 0 10 20 30 30 20 Miasto 2 0 25 35 20 10 Miasto 3 0 15 30 20 Miasto 4 0 15 25 Miasto 5 0 14 Miasto 6 0 W których miastach należy wybudować posterunki straży pożarnej aby liczba tych posterunków była najmniejsza?

Problem lokalizacji 1 Zmienne decyzyjne: { 1 jeżeli P.S. jest zbudowany w mieście i x i = 0 w przeciwnym wypadku 2 Funkcja celu:, i = 1,...,6. 3 Ograniczenia: min z = Liczba posterunków= x 1 + x 2 + x 3 + x 4 + x 5 + x 6 x 1 + x 2 1 [Miasto 1] x 1 + x 2 + x 6 1 [Miasto 2] x 3 + x 4 1 [Miasto 3] x 3 + x 4 + x 5 1 [Miasto 4] x 4 + x 5 + x 6 1 [Miasto 5] x 2 + x 5 + x 6 1 [Miasto 6] x i {0, 1}, i = 1,...,6. Optymalne rozwiazanie: x 2 = 1, x 4 = 1, czyli należy wybudować posterunki w miastach 2 i 4.

Warunki logiczne Rozpatrzmy ponownie problem plecakowy (Slajd 6) i załóżmy, że Jan ma następujace dodatkowe wymagania: 1 Chce zabrać przedmiot 1 lub 5: x 1 + x 5 1 [1 5] 2 Nie chce zabrać jednocześnie przedmiotów 1 i 6: x 1 + x 6 1 [ (1 5)] 3 Jeżeli zabierze przedmiot 3, to chce również zabrać przedmiot 4: x 3 x 4 [4 3] 4 Chce zabrać albo przedmiot 5 albo przedmiot 6 (ale nie oba): x 5 + x 6 = 1 [5 6] Ponieważ x i {0, 1}, więc możemy identyfikować 1 z prawda a 0 z fałszem.

Ograniczenia dyzjunkcyjne i implikacje Firma DA wytwarza trzy typy samochodów: kompaktowe, średnie i duże. Wymagane zasoby oraz zyski jednostkowe ze sprzedaży sa podane w poniższej tabeli: Kompaktowy Średni Duży Wymagana stal (t./jedn.) 1.5 3 5 Nakład pracy (godz./jedn.) 30 25 40 Zysk ($/jedn.) 2000 3000 4000 Dostępnych jest 6000 ton stali i 60000 godzin pracy. Firma DA chce zmaksymalizować zysk. Model jest następujacy: max z = 2000x 1 + 3000x 2 + 4000x 3 1.5x 1 + 3x 2 + 5x 3 6000 [Stal] 30x 1 + 25x 2 + 40x 3 60000 [Praca] x 1, x 2, x 3 0 i całkowite

Ograniczenia dyzjunkcyjne i implikacje Jeżeli DA uruchomi produkcję samochodów kompaktowych, to co najmniej 1000 sztuk tych samochodów musi być produkowanych. Ograniczenie jest następujace: x 1 > 0 x 1 1000. lub równoważnie: x 1 0 lub x 1 1000. Modelujemy to w następujacy sposób: x 1 My 1 1000 x 1 M(1 y 1 ) gdzie y 1 {0, 1} i M jest duża stała (nie jest zmienna!).

Ograniczenia dyzjunkcyjne i implikacje Jeżeli liczba produkowanych dużych samochodów jest większa niż 500, to produkcja średnich samochodów musi być niewiększa niż 100 Ograniczenie jest następujace: x 3 > 500 x 2 100. lub równoważnie: x 1 500 lub x 2 100 (x 1 500 0 lub x 2 100 0) Modelujemy to w następujacy sposób: gdzie M duża stała a y 2 {0, 1} x 3 500 My 2 x 2 100 M(1 y 2 )

Ograniczenia dyzjunkcyjne i implikacje W ogólnym przypadku chcemy zamodelować alternatywę ograniczeń: f(x 1,...,x n) 0 g(x 1,...,x n) 0 Chcemy zapewnić, żeby przynajmniej jedno z dwóch ograniczeń było spełnione. Wprowadzamy dodatkowa zmienna binarna y {0, 1} i dodajemy do modelu następujace ograniczenia: f(x 1,...,x n) My g(x 1,...,x n) M(1 y) (1) gdzie M jest dostatecznie duża liczba taka, że warunki f(x 1,...,x n) M i g(x 1,...,x n) M sa prawdziwe dla wszystkich wartości zmiennych.

Ograniczenia dyzjunkcyjne i implikacje Implikację f(x 1,...,x n) > 0 g(x 1,...,x n) 0. zastępujemy równoważnym logicznie warunkiem: f(x 1,...,x n) 0 g(x 1,...,x n) 0. Implikację f(x 1,...,x n) > 0 g(x 1,...,x n) 0 zastępujemy równoważnym logicznie warunkiem: f(x 1,...,x n) 0 g(x 1,...,x n) 0,

Modelowanie iloczynu zmiennych 0-1 Fabryka rozważa 5 miejsc w celu lokalizacji nowych magazynów. W miejscach tych można wybudować magazyny o pojemnościach odpowiednio 120, 200, 180, 150 i 300. Odległości pomiędzy każda para miejsc sa podane w poniższej tabeli: 1 2 3 4 5 1 0 12 3 9 20 2 0 9 2 12 3 0 6 8 4 9 11 5 0 Fabryka chce zbudować 3 magazyny o maksymalnej sumarycznej pojemności. Magazyny powinny być tak ulokowane aby odległość pomiędzy każda para magazynów była niewiększa niż 10.

Modelowanie iloczynu zmiennych 0-1 1 Zmienne decyzyjne: x i = { 1 jeżeli magazyn jest w miejscu i 0 w przeciwnym wypadku, i = 1,...,5. 2 Funkcja celu: 3 Ograniczenia: max z = Pojemność = 120x 1 + 200x 2 + 180x 3 + 150x 4 + 300x 5 12x 1 x 2 10 [Odległość między 1 i 2] 3x 1 x 3 10 [Odległość między 1 i 3]... x i {0, 1}, i = 1,...,5. Ograniczenia nie sa liniowe!

Modelowanie iloczynu zmiennych 0-1 Ograniczenie 12x 1 x 2 10 nie jest liniowe. Zmieniamy je na liniowe wprowadzajac zmienna y 12 {0, 1} i zastępujac ograniczeniami: 12y 12 10 y 12 x 1 y 12 x 2 y 12 x 1 + x 2 1

[Algorytm 1.] Usuń warunki całkowitoliczbowości. Rozwiaż model algorytmem sympleksowym i zaokraglij wyniki do najbliższej liczby całkowitej. 3 x 2 2.5 2 1.5 max z = 21x1 + 12x2 7x1 + 4x2 < 13 x1, x2 > 0, integer 1 0.5 0 0.5 1.0 1.5 2.0 x 1 Optymalnym rozwiazaniem jest(13/7, 0). Zaokraglaj ac do(1, 0) otrzymujemy rozwiazanie nieoptymalne. Zaokraglaj ac do (2, 0) otrzymujemy rozwiazanie niedopuszczalne.

[Algorytm 2.] Wygeneruj wszystkie rozwiazania dopuszczalne i wybierz najlepsze z nich. Problem plecakowy ze zmiennymi binarnymi x 1,...,x n posiada nie więcej niż 2 n dopuszczalnych rozwiazań. Przypuśćmy, że jedno rozwiazanie można sprawdzić w czasie 10 6 sekundy. Jak długo potrwaja obliczenia? n 10 6 2 n 10 0.0001 s. 20 1.048 s. 50 35.7 lat 100 10 16 lat

Zadanie programowania liniowego całkowitoliczbowego jest dużo trudniejsze do rozwiazania niż zwykłe zadanie programowania liniowego. Do chwili obecnej nie jest znany szybki algorytm dla tej klasy problemów i uważa się, że taki algorytm nie istnieje. Do rozwiazania zadania programowania liniowego całkowitoliczbowego powszechnie stosuje się algorytm podziału i ograniczeń, który można traktować jako znacznie ulepszona wersję metody pełnego przegladu.

Liniowa relaksacja Jeżeli usuniemy ograniczenia na całkowitość zmiennych w problemie P, to otrzymamy zadanie programowania liniowego, które nazywamy relaksacja P. Dla problemu maksymalizacji, optymalna wartość funkcji celu relaksacji jest górnym ograniczeniem na wartość funkcji celu optymalnego rozwiazania P. 3 x 2 2.5 P: max z = 21x 1 + 12x2 7x 1 + 4x 2 < 13 x1, x2 > 0, integer 2 1.5 relaxation of P: max z = 21x1 + 12x2 7x 1 + 4x 2 < 13 x1, x2 > 0 1 0.5 0 0.5 1.0 1.5 2.0 x 1 Optymalnym rozwiazaniem P jest (0, 3), z = 36. Optymalnym rozwiazaniem relaksacji P jest (13/7, 0), z R = 39.

max z = 8x 1 + 5x 2 6x 1 + 10x 2 45 9x 1 + 5x 2 45 x 1, x 2 0, x 1, x 2 całkowite x 2 5 4 3 2 (3.75,2.25) 1 0 1 2 3 4 5 x 1 Rozwiazuj ac relaksację otrzymujemy x 1 = 3.75, x 2 = 2.25, zr = 41.25.

x 1 3 0 x 1 1 = 3, x 2 = 2.7 2 zr = 37.5 x 1 = 3.75, x 2 = 2.25 z R = 41.25 x 1 4 x 1 = 4, x 2 = 1.8 z R = 41 5 4 3 (3,2.7) 2 1 1 0 1 2 3 4 2 (4,1.8) 5 Wartość zmiennej x 1 = 3.75 nie jest całkowita. Rozpatrujemy dwa podproblemy 1 i 2 dodajac odpowiednio ograniczenia x 1 3 i x 1 4.

x 1 3 0 x 1 = 3.75, x 2 = 2.25 z R = 41.25 x 1 4 x x 1 = 4, x 2 = 1.8 1 1 = 3, x 2 = 2.7 2 z zr R = 37.5 = 41 x 2 1 x 2 2 x 3 1 = 4.44, x 2 = 1 4 zr = 40.55 sprzeczny W podproblemie 2 wartość zmiennej x 2 = 1.8 nie jest całkowita. Rozpatrujemy dwa kolejne podproblemy 3 i 4 dodajac odpowiednio ograniczenia x 2 1 i x 2 2. Podproblem 4 jest sprzeczny, dlatego wierzchołek odpowiadajacy temu podproblemowi zamykamy.

x 1 3 0 x 1 = 3.75, x 2 = 2.25 z R = 41.25 x 1 4 x x 1 = 4, x 2 = 1.8 1 1 = 3, x 2 = 2.7 2 z zr R = 37.5 = 41 x 2 1 x 2 2 x 3 1 = 4.44, x 2 = 1 4 zr = 40.55 x 1 4 x 1 5 x 5 1 = 4, x 2 = 1 x 6 1 = 5, x 2 = 0 zr = 37 zr = 40 sprzeczny W podproblemie 3 wartość zmiennej x 1 = 4.44 nie jest całkowita. Rozpatrujemy więc kolejne dwa podproblemy 5 i 6 dodajac ograniczenia x 1 4 i x 1 5. W obu podproblemach otrzymujemy optymalne rozwiazanie całkowite i zamykamy wierzchołki im odpowiadajace. Zamykamy też wierzchołek 1, popnieważ w problemie odpowiadajacym temu wierzchołkowi zr = 37.5 < 40. Optymalne rozwiazanie: x 1 = 5, x 2 = 0, z = 40.

1 Algorytm konstruuje binarne drzewo przeszukiwania. W każdym wierzchołku tego drzewa rozwiazywane jest zadanie programowania liniowego. 2 Istnieje kilka metod wyboru kolejnego wierzchołka do podziału. Jedna z najbardziej popularnych jest wybór wierzchołka z największa wartościa zr. 3 Wierzchołek drzewa zamykamy jeżeli: 1 rozwiazanie otrzymane w tym wierzchołku jest całkowitoliczbowe; 2 problem odpowiadajacy temu wierzchołkowi jest sprzeczny; 3 wartość funkcji celu optymalnego rozwiazania w tym wierzchołku jest niewiększa niż wartość funkcji celu dla pewnego znanego rozwiazania dopuszczalnego. 4 Jeżeli wszystkie wierzchołki sa zamknięte, to najlepsze znalezione rozwiazanie całkowitoliczbowe jest optymalne.

Mieszany problem liniowy całkowitoliczbowy Jeżeli w zadaniu programowania liniowego tylko niektóre zmienne musza być całkowite, to zadanie takie nazywamy mieszanym zadaniem programowania liniowego całkowitoliczbowego. max z = 2x 1 + x 2 5x 1 + 2x 2 8 x 1 + x 2 3 x 1, x 2 0, x 1 całkowite

Mieszany problem liniowy całkowitoliczbowy x 1 0 0 x 1 = 0, x 2 = 3 zr = 3 x 1 = 2/3, x 2 = 7/3 z R = 11 x 1 1 1 2 x 1 = 1, x 2 = 3/2 z R = 7/2 Przy podziale bierzemy pod uwagę tylko zmienna x 1. Optymalne rozwiazanie wynosi x 1 = 1, x 2 = 3/2.

Problem plecakowy Relaksacja: max z = 5x 1 + 3x 2 + 6x 3 + 6x 4 + 2x 5 5x 1 + 4x 2 + 7x 3 + 6x 4 + 2x 5 15, x 1,.., x 5 {0, 1} max z = 5x 1 + 3x 2 + 6x 3 + 6x 4 + 2x 5 5x 1 + 4x 2 + 7x 3 + 6x 4 + 2x 5 15, 0 x i 1, i = 1,...,5

Problem plecakowy Relaksacja może być efektywnie rozwiazana za pomoca algorytmu zachłannego: i c i w i c i /w i 1 5 5 1 2 3 4 3/4 3 6 7 6/7 4 6 6 1 5 2 2 1 Zatem bie- Wybieramy przedmioty zgodnie z nieroznac a wartościa c i /w i. rzemy całe przedmioty 1, 4, 5 i 2/7 przedmiotu 3. W optymalnym rozwiazaniu relaksacji co najwyżej jedna zmienna jest niecałkowita.

Problem plecakowy 1 0 zr = 14 5 7 (1, 0, 2, 1, 1) 7 x 3 = 0 x 3 = 1 zr = 14 1 z 2 R = 14 2 (1, 1, 0, 1, 1) (1, 0, 1, 1, 0) 2 2 x 2 = 0 x 2 = 1 x 4 = 0 x 4 = 1 zr = 13 zr = 14 zr = 13 3 z 4 R = 14 3 4 5 6 (1, 0, 0, 1, 1) (1, 1, 0, 1, 0) (1, 1, 1, 0, 1) ( 2, 0, 1, 1, 0) 4 5 W każdym wierzchołku wybieramy zmienna niecałkowita x i i rozpatrujemy dwa przypadki x i = 1 (bierzemy przedmiot i) oraz x i = 0 (nie bierzemy przedmiotu i). Optymalne rozwiazanie znajduje się w wierzchołku 4. Zatem bierzemy przedmioty 1, 2 i 4.