DMBO Branch and bound.

Slides:



Advertisements
Podobne prezentacje
METODA PODZIAŁU I OGRANICZEŃ (Branch and Bound Method)
Advertisements

TRADYCYJNE METODY PLANOWANIA I ORGANIZACJI PROCESÓW PRODUKCYJNYCH
ANALIZA SIECIOWA PRZEDSIĘWZIĘĆ konstrukcja harmonogramu
Instrukcje - wprowadzenie
Algorytmy – c.d. złożoność algorytmów struktury danych
Schemat blokowy M START KONIEC
Obserwowalność System ciągły System dyskretny
Metoda simpleks Simpleks jest uniwersalną metodą rozwiązywania zadań programowania liniowego. Jest to metoda iteracyjnego poprawiania wstępnego rozwiązania.
Wprowadzenie do optymalizacji wielokryterialnej.
Metody rozwiązywania układów równań liniowych
Badania operacyjne. Wykład 1
Badania operacyjne. Wykład 2
Ciągi de Bruijna generowanie, własności
Programowanie liniowe całkowitoliczbowe
Opracowała: Elżbieta Fedko
WYKŁAD 7. Spójność i rozpięte drzewa
Wykład 2: Upraszczanie, optymalizacja i implikacja
Metoda graficzna opracowanie na podstawie „Metody wspomagające podejmowanie decyzji w zarządzaniu” D. Witkowska, Menadżer Łódź Zadania, w których.
Metoda simpleks opracowanie na podstawie „Metody wspomagające podejmowanie decyzji w zarządzaniu” D. Witkowska, Menadżer Łódź Simpleks jest uniwersalną.
Metoda graficzna opracowanie na podstawie Metody wspomagające podejmowanie decyzji w zarządzaniu D. Witkowska, Menadżer Łódź Zadania, w których występują
Klasyfikacja Obcinanie drzewa Naiwny klasyfikator Bayes’a kNN
Metody matematyczne w Inżynierii Chemicznej
WYKŁAD 7. Spójność i rozpięte drzewa Graf jest spójny, gdy dla każdego podziału V na dwa rozłączne podzbiory A i B istnieje krawędź z A do B. Definicja.
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
Algorytmy i struktury danych
Optymalizacja liniowa
Badania operacyjne Wykład 5.
Obserwatory zredukowane
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
II Zadanie programowania liniowego PL
Badania operacyjne Wykład 6.
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Zakładamy a priori istnienie rozwiązania α układu równań.
ALGORYTMY ROZWIĄZYWANIA GIER C.D.
Dana jest sieć dystrybucji wody w postaci: Ø      m- węzłów,
Elżbieta Fiedziukiewicz
PROBLEMY DECYZYJNE KRÓTKOOKRESOWE WYBÓR OPTYMALNEJ STRUKTURY PRODUKCJI
Algorytm Dijkstry 1 Zbiory: T - zbiór wierzchołków
MS Excel - wspomaganie decyzji
FUNKCJE Opracował: Karol Kara.
Politechniki Poznańskiej
IV EKSPLORACJA DANYCH Zadania eksploracji danych: klasyfikacja
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
II Zadanie programowania liniowego PL
Algorytmy i Struktury Danych
Co to jest dystrybuanta?
Metody numeryczne szukanie pierwiastka metodą bisekcji
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
I T P W ZPT 1 Kodowanie stanów to przypisanie kolejnym stanom automatu odpowiednich kodów binarnych. b =  log 2 |S|  Problem kodowania w automatach Minimalna.
Zagadnienie i algorytm transportowy
Algorytmy Genetyczne Anna Tomkowska Politechnika Koszalińska
Adaptacyjne Systemy Inteligentne Maciej Bielski, s4049.
NP-zupełność Problemy: rozwiązywalne w czasie wielomianowym - O(nk)
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
Treść dzisiejszego wykładu l Metoda kar. l Podsumowanie przekształcania zadań programowania liniowego do postaci tabelarycznej. l Specjalne przypadki –sprzeczność,
Metody Badań Operacyjnych Michał Suchanek Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
Zagadnienia transportowe Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
Zdefiniować problem Jaki jest problem? Jakie są główne założenia? Jak chcesz śledzić przebieg funkcjonowania projektu ? metody ewaluacji Budżet Jakie źródła.
Treść dzisiejszego wykładu l Postać standardowa zadania PL. l Zmienne dodatkowe w zadaniu PL. l Metoda simpleks –wymagania metody simpleks, –tablica simpleksowa.
Liczby naturalne i całkowite Spis treści Definicje Działania na liczbach Wielokrotności liczb naturalnych Cechy podzielności Przykłady potęg,potęgi o.
Rozpatrzmy następujące zadanie programowania liniowego:
Metody optymalizacji Materiał wykładowy /2017
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Wprowadzenie i problem optymalnego grafiku
Liczby pierwsze: szukanie, rozmieszczenie, zastosowanie, ciekawostki. Liczby pierwsze: szukanie, rozmieszczenie, zastosowanie, ciekawostki. Kinga Cichoń.
Problem ustalania grafiku ciąg dalszy
ALGORYTMY I STRUKTURY DANYCH
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Zapis prezentacji:

DMBO Branch and bound

Uwagi na temat PCL Czy wystarczy zaokrąglić rozwiązanie problemu liniowego, aby uzyskać rozwiązanie problemu całkowitoliczbowego? Modelowanie warunków logicznych i sprowadzanie ich do ograniczeń liniowych: Koniunkcja (proste) Alternatywa Implikacja Warunki logiczne dla zmiennych binarnych Alterntywa rozłączna Koszty stałe w modelowaniu

Modelowanie funkcji liniowej na przedziałach

Modelowanie funkcji liniowej na przedziałach Wprowadzamy zmienne binarne Przekształcamy ograniczenia gdzie w1 i w2 są binarne

Modelowanie funkcji liniowej na przedziałach B) C)

Rozwiązywanie zadań programowania całkowitoliczbowego: wyliczenie możliwości

Algorytm Branch and bound Dany jest następujący problem optymalizacji całkowito-liczbowej:

Rozwiązujemy problem w wersji ciągłej (z liczbami rzeczywistymi)

Dzielimy na dwa podproblemy wykluczając rozwiązania niedopuszczalne

Dwa podproblemy również rozwiązujemy w liczbach rzeczywistych

Kolejno rozbijamy na problemy z coraz mniejszym zbiorem dopuszczalnym

L3 ignorujemy, bo jest niedopuszczalne

Kontynuujemy aż otrzymamy rozwiązanie całkowitoliczbowe Możemy przerwać procedurę przy L5, jeśli chcemy być w 10% od minimum

Nawet, gdybyśmy nie znaleźli rozwiązania całkowitego w L2 za pierwszym razem, a dostalibyśmy rozwiązanie o funkcji celu nie większej niż 40 (dotychczasowe rozwiązanie z L6), moglibyśmy przerwać procedurę i wywnioskować, że rozwiązanie z L6 jest optymalne Po analizie L6, wiemy, że optimum jest pomiędzy 40 a 41. Jeśli wystarczy nam 2.5% dokładności możemy przerwać. Jeśli nie, musimy sprawdzić L2. L2 jednak okazuje się nie przynieść poprawy.

Ilustracja metody cięć

Cięcia Gomory

Idea branch and bound Mamy trzy zmienne decyzyjne x1 (zmienna całkowito-liczbowa) i dwie zmienne binarne x2 i x3 oraz ograniczenia 1 ≤ x1 ≤ 3, 0 ≤ x2 ≤ 1, 0 ≤ x3 ≤ 1 Poniżej jest drzewo pełnego wyliczenia możliwości [full enumeration tree] Zamiast budować całe drzewo na raz, buduj drzewo stopniowo, rozwijając tylko najbardziej obiecujące wierzchołki na każdym etapie. Najbardziej obiecujące wierzchołki są wskazywane poprzez estymowanie ograniczenia na najlepszą wartość funkcji celu, jaka może być osiągnięta poprzez rozwinięcie danego wierzchołka w następnych etapach.

Podstawowe pojęcia Rozgałęzianie [Branching] Ograniczanie [Bounding] Sądowanie [fathoming] Podcinanie [Prunning] Pojęcia: wierzchołek [node] każde częściowe lub pełne rozwiązanie liść [leaf node] pełne rozwiązanie pączek [bud node] częsciowe rozwiązanie dopuszczalne lub niedopuszczalne funkcja ograniczająca [bounding function] – metoda estymacji dla pączków, musi być optymistyczna rozgałęzianie [branching], rozwijanie [growing], ekspansja [expanding] wierzchołka – proces kreowania wierzchołków dzieci dla pączka tymczasowe rozwiązanie [incumbent] System selekcji zmiennych [variable selection policy] Reguły przycinania pączków Reguła zakończenia algorytmu Trzy popularne systemy selekcji wierzchołków [node selection policy] Best-first / global-best node selection Depth-first Breadth-first

Przykład – problem przyporządkowania Znaczenie wierzchołka w drzewie: Częściowe lub pełne przyporządkowanie ludzi do zadań System selekcji wierzchołków: global best System selekcji zmiennych: wybierz następne zadanie w naturalnej kolejności 1 do 4 Funkcja ograniczająca: dla nieprzyporządkowanych zadań wybierz najlepszą nieprzyporządkowaną osobę, nawet jeśli będzie wybrana parę razy Reguła zakończenia: kiedy wartość funkcji celu dla tymczasowego rozwiązania jest lepsza lub równa do wartości funkcji ograniczającej dla wszystkich pączków Sądowanie: rozwiązanie wygenerowane przez funkcję ograniczającą jest dopuszczalne jeśli każde zadanie jest przyporządkowane do różnych osób.

Jak powstają wartości funkcji ograniczającej? Popatrzmy na wierzchołek pierwszego etapu, który oznacza przyporządkowanie osoby A do zadania 1. Zbiór rozwiązań reprezentowanych przez ten wierzchołek to A??? Faktyczna wartość przyporządkowania A do zadania 1 to: 9 Najlepsza nieprzyporządkowana osoba dla zadania 2 to C, wartość: 1 Najlepsza nieprzyporządkowana osoba dla zadania 3 to D, wartość: 2 Najlepsza nieprzyporządkowana osoba dla zadania 4 to C, wartość: 2 Rozwiązanie funkcji ograniczającej to ACDC z kosztem całkowitym =9+1+2+2=14. Wiemy, że w najlepszym wypadku wartość funkcji celu dla wierzchołków pochodzących od A??? To 14. To nie jest dopuszczalne rozwiązanie, bo osoba C jest przyporządkowana do dwóch zadań. Osoba A jest faktycznie przyporządkowana.

Tworzymy drzewo Pierwszy etap: korzeń drzewa Drugi etap: Przycięte wierzchołki mają przerywane obrzeża Dopuszczalne wierzchołki mają pogrubione obrzeża Przycięte dopuszczalne wierzchołki mają to i to Wierzchołek C??? Jest wysądowany – pierwsze tymczasowe rozwiązanie dopuszczalne CBDA=13 To nam pozwala przyciąć wierzchołek A???, którego wartość funkcji ograniczającej wynosi 14. Dwa pączki, które dają nadzieję na poprawę B??? i D??? – global best: wybieramy D???

Tworzymy drzewo Trzeci etap: Nie ma nowych dopuszczalnych rozwiązań, czyli rozwiązanie tymczasowe się nie zmienia. Nowe wierzchołki nie mogą być przycięte poprzez porównanie z rozwiązaniem tymczasowym lub wysądowane. Wybieramy global best spośród B??? (9), DA?? (12), DB?? (10) oraz DC?? (12) A zatem B???

Tworzymy drzewo Czwarty etap: Sądujemy dwa wierzchołki BA?? oraz BC?? Nowe tymczasowe rozwiązanie dopuszczalne to BCDA=12 Wycinamy dotychczasowe rozwiązanie CBDA BA?? jest dopuszczalne, ale wycinamy w porównaniu z nowym rozwiązaniem tymczasowym Wycinamy wierzchołki DA?? i DC?? Poprzez porównanie z tymczasowym rozwiązaniem Gdybyśmy chcieli znaleźć wszystkie rozwiązania a nie tylko jedno możemy w przyszłości je analizować dalej Zostaje nam tylko jeden pączek DB??. Czwarty etap:

Tworzymy drzewo Piąty etap: DBAC ma lepszą wartość niż dotychczasowe rozwiązanie, zatem je zastępuje I wycina poprzednie DBCA jest wycięte poprzez porównanie z tymczasowym Nie ma innych pączków do ekspansji, więc kończymy Przeanalizowaliśmy 13 wierzchołków zamiast 24 Dla większych problemów znaczne przyspieszenie Piąty etap:

Dobra funkcja ograniczająca jest kluczem Problem komiwojażera: odwiedzić każde miasto dokładnie raz i powrócić do punktu wyjścia Załóżmy, że mamy częściowe rozwiązanie (pogrubione) Bardzo sprytna funkcja ograniczająca: minimalne drzewo rozpinające na wierzchołkach nieodwiedzonych i wierzchołku początkowym i końcowym częsciowej trasy