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

Slides:



Advertisements
Podobne prezentacje
Zakład Mechaniki Teoretycznej
Advertisements

I część 1.
TRADYCYJNE METODY PLANOWANIA I ORGANIZACJI PROCESÓW PRODUKCYJNYCH
Data Mining w e-commerce
Sieci powiązań JM 1.
ANALIZA SIECIOWA PRZEDSIĘWZIĘĆ konstrukcja harmonogramu
Joanna Sawicka Wydział Nauk Ekonomicznych, Uniwersytet Warszawski
Metody badania stabilności Lapunowa
„Wielokryterialna optymalizacja pracy systemu wytwarzania o strukturze przepływowej – algorytm memetyczny” Przygotował: Dominik Żelazny, IIAR.
Rekurencja 1 Podprogram lub strukturę danych nazywamy rekurencyjną, (recursive subprogram, recursive data structure) jeżeli częściowo składa się z samej.
DOMINOWANIE W GRAFACH Magdalena Lemańska.
Wprowadzenie do optymalizacji wielokryterialnej.
Metody rozwiązywania układów równań liniowych
Wykład 6 Najkrótsza ścieżka w grafie z jednym źródłem
Redukcja sekwentu Huzar, str Dany jest sekwent (1) 1 a+/b+/c, /b+/c, d, b, c+/a+/b, c+/d, /a+/d+/b |- Do sekwentu 1 stosujemy regułę: +|-. Stąd:
Techniki konstrukcji algorytmów
Budżetowanie kapitałów
Badania operacyjne. Wykład 1
Modelowanie konstrukcji z uwzględnieniem niepewności parametrów
Wykład no 11.
KNW- Wykład 8 Wnioskowanie rozmyte.
Programowanie liniowe całkowitoliczbowe
KONKURS WIEDZY O SZTUCE
WYKŁAD 7. Spójność i rozpięte drzewa
Zagadnienie transportowe
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Wykład 2: Upraszczanie, optymalizacja i implikacja
Grupowanie.
Algorytmy grafowe Reprezentacja w pamięci
FP-Growth Adam Pieśkiewicz Kamil Niezręcki Krzysztof Grześkowiak
Algorytmy genetyczne.
Algorytmy genetyczne.
dr inż. Piotr Muryjas Wyższa Szkoła Przedsiębiorczości i Administracji
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.
O relacjach i algorytmach
Konstrukcja, estymacja parametrów
Metody Lapunowa badania stabilności
Problem kodowania x s 1 A B C D Wariant I A = 00 B = 01 C = 10 D = 11
Badania operacyjne Wykład 5.
Obserwatory zredukowane
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Analiza szeregów czasowych
ALGORYTMY ROZWIĄZYWANIA GIER C.D.
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Algorytm DIC Dynamic Itemset Countin
Sterowanie – metody alokacji biegunów II
Algorytm Dijkstry 1 Zbiory: T - zbiór wierzchołków
Źródła błędów w obliczeniach numerycznych
DMBO Branch and bound.
MS Excel - wspomaganie decyzji
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Politechniki Poznańskiej
PROBLEM PAKOWANIA (BIN-PACKING PROBLEM)
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Obliczalność czyli co da się policzyć i jak Model obliczeń sieci liczące dr Kamila Barylska.
Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis.
Co to jest dystrybuanta?
Elementy geometryczne i relacje
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.
Algorytmy Genetyczne Anna Tomkowska Politechnika Koszalińska
GRA CHOMP. Czym jest chomp? Jest to gra dla dwóch osób, rozgrywana na prostokątnej tablicy, zwanej „tabliczką czekolady”
NP-zupełność Problemy: rozwiązywalne w czasie wielomianowym - O(nk)
Logical Framework Approach Metoda Macierzy Logicznej
Temat 3: Podstawy programowania Algorytmy – 2 z 2 _________________________________________________________________________________________________________________.
Zarządzanie projektami
Modelowanie matematyczne – złożoność obliczeniowa, teoria a praktyka
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
Zagadnienia transportowe Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
Cz. Nosala (1979, 1993) koncepcja problemu i ich podziału (taksonomii) Każda sytuacja poznawcza ukierunkowana na osiągnięcie jakiegoś celu zawiera następujące.
Zapis prezentacji:

METODA PODZIAŁU I OGRANICZEŃ (Branch and Bound Method) 1. Ogólna idea metody podziału i ograniczeń 2. Podstawowe elementy metody podziału i ograniczeń 3. Przykłady metody podziału i ograniczeń dla problemu komiwojażera 3.1. Metoda permutacyjna 3.2. Metoda niepermutacyjna

Metoda podziału i ograniczeń (PiO, Branch and Bound Method, B&B ): ogólna strategia znajdowania rozwiązań optymalnych dla trudnych obliczeniowo problemów kombinatorycznych metoda uporządkowanego przeszukiwania skończonego zbioru rozwiązań dopuszczalnych problemów optymalizacji kombinatorycznej wykładnicza złożoność obliczeniowa stosowana w celu: wyznaczenia rozwiązania dokładnego – optimum globalnego dokładnego rozwiązywania podproblemów zagadnień optymalizacyjnych uzyskania danych porównawczych dla oceny efektywności metod heurystycznych

OGÓLNA IDEA METODY PODZIAŁU I OGRANICZEŃ (dla zagadnienia minimalizacji funkcji celu) metoda wykonuje uporządkowane przeszukiwanie skończonego zbioru rozwiązań dopuszczalnych zbiór wszystkich rozwiązań jest sukcesywnie dzielony na mniejsze podzbiory – faza podziału (branching) dla każdego podzbioru oblicza się dolne ograniczenie wartości funkcji celu (lower bound, LB) – faza ograniczania (bounding) eliminacja z dalszego podziału podzbiorów o dolnym ograniczeniu przekraczającym wartość funkcji celu dla najlepszego znalezionego dotychczas rozwiązania (górne ograniczenie wartości funkcji celu, upper bound, UB) rozwiązania należące do wyeliminowanych podzbiorów nie są bezpośrednio sprawdzane podział następuje do momentu: znalezienia rozwiązanie dopuszczalnego o wartości funkcji celu (UB) nie gorszej od dolnego ograniczenia wszystkich nie podzielonych podzbiorów (LB) podziału wszystkich podzbiorów

... drzewo przeszukiwań problemu PERMUTACYJNA METODA PODZIAŁU I OGRANICZEŃ DLA PROBLEMU KOMIWOJAŻERA UB=24 1 LB=0 2 1 4 3 5 6 2 2 6 3 2 LB=2 4 LB=1 LB=4 5 1 4 5 2 3 3 LB=2 5 LB=6 5 1 1 4 2 LB=8 LB=4 5 LB=7 2 UB=9 drzewo przeszukiwań problemu LB=9 1 1 LB=0 UB=9 2 LB=2 4 LB=1 5 LB=4 3 LB=2 LB=6 5 2 LB=8 5 LB=4 1 2 3 LB=8 1 5 LB=7 2 LB=10 LB=9 2 LB=10 LB=11 LBUB rozwiązanie niedopuszczalne LBUB LB=14 1 LBUB rozwiązania niedopuszczalne LB=9 ... LBUB

ELEMENTY METODY PODZIAŁU I OGRANICZEŃ Metoda podziału i ograniczeń jest ogólną metodą dokładnego rozwiązywania problemów kombinatorycznych. Zastosowanie metody dla konkretnego problemu wymaga rozwiązania szeregu zagadnień projektowych (z wykorzystaniem wiedzy o naturze problemu): reguła podziału drzewa przeszukiwań problemu reguła selekcji węzła drzewa poddawanego analizie funkcja eliminacji węzłów relacja dominacji funkcja dolnego ograniczenia wartości funkcji celu górne ograniczenie wartości funkcji celu reguła eliminacji węzłów tolerancja metody ograniczanie nakładów obliczeniowych

Optymalizacyjny problem permutacyjny (P, X, f) – optymalizacyjny problem permutacyjny, gdzie: X – przestrzeń parametrów, xX reprezentuje konkretną instancję problemu P – przestrzeń rozwiązań, czyli n-elementowych permutacji  f - funkcja celu, f: PXR, f(, x) oznacza wartość funkcji celu dla rozwiązania  dla danych x xX G(V,E) 2 1 4 3 5 6 P={(12345), (12354), (12435), ... } =(12354), x=G f(, x)= 16 Rozwiązaniem globalnie optymalnym dla instancji xX nazywamy rozwiązanie *P, takie że dla każdego P zachodzi f(*, x)  f(, x). Dla zbioru M={i1, ..., ij}  N={1, 2, ..., n}, oznacza permutację zbioru M. Jeśli M=N to oznacza permutację kompletną, w przeciwnym razie permutację częściową. *=(12534) f(*, x)= 9 N={1,2,3,4,5} =(15432) M={1,2,5} =(152)

Dla danej permutacji =(r1, ..., rj) definiujemy: rozmiar permutacji | |=|M|=j rozszerzenie permutacji o jeden element = (r1, ..., rj, q) dla qN\M złożenie permutacji = (r1, ..., rj, s1, ..., s|K|) uzupełnienie permutacji zbiór wszystkich permutacji kompletnych zawierających następnik permutacji bezpośredni następnik permutacji poprzednik permutacji bezpośredni poprzednik permutacji =(125) |(125)|=3 (125)4=(1254) (125)(34)=(12534) {(125)}= {(12534), (12543)} (12534)=(125)(34) (1253)=(125)3 (1): (125)=(1)(25) (12): (125)=(12)5

Reguła podziału (branching rule) Reguła podziału zbioru permutacji na rozłączne podzbiory, określająca sposób tworzenia drzewa przeszukiwań problemu, w którym każdy wierzchołek reprezentuje zbiór rozwiązań. Każdy wierzchołek w drzewie przeszukiwań ocechowany jest permutacją i reprezentuje zbiór rozwiązań (czyli jest ocechowany rozwiązaniem częściowym i reprezentuje zbiór rozwiązań, które można z niego osiągnąć). Podział węzła oznacza podział zbioru na rozłączne podzbiory czyli . Wierzchołek nazywamy wierzchołkiem podziałowym, a każdy z wierzchołków wierzchołkiem generowanym. Wierzchołki wygenerowane, ale jeszcze nie podzielone, ani nie wyeliminowane to wierzchołki aktywne.

wierzchołek podziałowy reprezentujący zbiór rozwiązań 2 1 4 3 5 6 wierzchołek podziałowy reprezentujący zbiór rozwiązań (1) M ={1} 1 2 ={2,3,4,5} (12) 3 (13) 4 (14) 5 (15) wierzchołki generowane (aktywne) wierzchołek nieaktywny (podzielony) (1) 1 2 wierzchołki aktywne (12) 3 5 (15) (13) nowy wierzchołek podziałowy 4 (14) M ={1,4} 2 (142) 3 (143) 5 (145) ={2,3,5} nowe wierzchołki generowane (aktywne)

Reguła selekcji (selection rule) Reguła określająca sposób wyboru kolejnego wierzchołka drzewa przeszukiwań poddawanego analizie (podziałowi) ze zbioru wierzchołków aktywnych: Least Lower Bound (LLB) – w kolejności nie malejącej wartości dolnego ograniczenia (wybór najlepiej rokującego rozwiązania częściowego) Breadth First (BF) – metoda rozszerzania, wybór wierzchołków wg strategii FIFO (strategia pamięciochłonna, ale dająca szansę eliminacji wielu wierzchołków aktywnych po znalezieniu rozwiązania) Depth First (DF) – metoda zagłębiania, wybór wierzchołków wg strategii LIFO (strategia mniej pamięciochłonna, ale często wymagająca większej liczby podziałów niż BF) DF/LLB – wybór spośród nowo wygenerowanych wierzchołków wierzchołka o minimalnym dolnym ograniczeniu

BF: DF: LB=8 LB=11 LB=9 LB=19 LB=20 LB=21 LB=22 LB=23 LB=23 LB=18 4 2 LB=19 LB=20 LB=21 5 LB=22 6 LB=23 LB=23 LB=18 10 LB=11 11 12 7 8 9 LB=10 UB=20 LB=21 LB=19 13 14 15 UB=10 DF: 1 LB=11 LB=8 LB=9 18 2 15 LB=19 LB=20 LB=21 3 LB=22 LB=23 LB=18 LB=11 16 LB=23 17 19 21 26 7 13 LB=10 UB=20 LB=21 LB=19 4 25 8 11 20 22 14 UB=10 5 6 9 10 12 23 24 f >30 f > 20

LLB: DF/LLB: LB=8 LB=11 LB=9 LB=19 LB=20 LB=23 LB=18 LB=11 LB=10 LB=19 4 2 3 LB=19 LB=20 LB=23 9 LB=18 5 LB=11 6 7 8 LB=10 LB=19 UB=20 10 11 UB=10 DF/LLB: 1 LB=8 LB=11 LB=9 2 3 4 LB=19 LB=20 LB=23 10 11 LB=18 5 LB=11 6 7 LB=10 LB=19 8 9 UB=10

Funkcja eliminacji Funkcja charakterystyczna F eliminująca permutacje częściowe, dla których nie istnieje uzupełnienie w zbiorze rozwiązań dopuszczalnych P nie może eliminować rozwiązań dopuszczalnych (2) nie musi eliminować rozwiązań niedopuszczalnych – nie jest wymagany warunek im silniejsza funkcja eliminacji, tym krótsze obliczenia metody PiO 1 2 5 4 3 F=1 F=0 2 1 4 3 5 6

Relacja dominacji Rozwiązanie częściowe dominuje nad rozwiązaniem ( ) jeśli najlepszy następnik jest lepszy od najlepszego następnika . Relacja dominacji eliminuje zdominowane rozwiązania częściowe (nie doprowadzą one do lepszego rozwiązania, niż rozwiązanie które można otrzymać z permutacji dominującej). relację dominacji definiuje się w oparciu o wiedzę o problemie wykorzystanie silnych relacji dominacji może zwiększyć czas obliczeń  najlepsze rozwiązanie D=100 najlepsze rozwiązanie D=140

Funkcja dolnego ograniczenia (lower bound) Przyporządkowanie każdemu rozwiązaniu częściowemu liczby rzeczywistej reprezentującej dolne ograniczenie funkcji celu dla wszystkich rozwiązań kompletnych w zbiorze , takiej że: dla każdego następnika wierzchołka zachodzi dla każdego rozwiązania kompletnego zachodzi Do konstrukcji efektywnych dolnych ograniczeń wykorzystuje się wiedzę o problemie (kompromis między czasem obliczeń, a jakością ograniczenia). Podnoszenie jakości dolnego ograniczenia nie zawsze prowadzi do redukcji czasu obliczeń. dokładniejsze, ale bardziej płaskie oszacowanie LB=4 LB=4 LB=4 LB=4 LB=4 LB=1 LB=5 LB=5 LB=6 LB=6 LB=5 LB=4 LB=3 LB=2 gorsze oszacowanie, ale krótszy czas obliczeń LB=8 LB=7 LB=7 LB=8 LB=4 LB=4

Górne ograniczenie (upper bound) Wartość funkcji celu dla najlepszego znanego rozwiązania kompletnego , czyli wartość początkowa UB może być wyznaczona heurystycznie, lub jedynie oszacowana z zachowaniem warunku wartość UB jest aktualizowana w momencie znalezienia rozwiązania o wartości funkcji celu poprawiającej dotychczasowe UB podniesienie jakości początkowej wartości górnego ograniczenia podnosi efektywność metody (szczególnie przy zastosowaniu reguł selekcji LLB, DF/LLB) kompromis między czasem obliczeń, a jakością początkowej wartości górnego ograniczenia

Reguły eliminacji Reguły eliminacji wierzchołków aktywnych, ograniczające liczbę rozwiązań analizowanych bezpośrednio. - wierzchołek podziałowy - bezpośredni następnik wierzchołka podziałowego - wierzchołek aktywny, Reguły eliminacji związane z wartościami dolnego i górnego ograniczenia: eliminacja wierzchołków z powodu przekroczenia wartości górnego ograniczenia przez dolne ograniczenie nie zwiększa czasu obliczeń wprowadzenie bardziej ścisłego oszacowania dolnego może wydłużyć czas obliczeń

Reguły eliminacji oparte na relacjach dominacji: silniejsze reguły eliminacji nie zawsze prowadzą do skrócenia obliczeń przebieg obliczeń zależy od kolejności stosowania reguł eliminacji związanych z relacjami dominacji b  a a b LB= 7 8 6 3 UB=5 UB=4

Tolerancja Zdefiniowanie tolerancji, [0,1], jako maksymalnego względnego odchylenia wartości funkcji celu od wartości optymalnej umożliwia wykorzystanie metody podziału i ograniczeń jako metody przybliżonej z gwarancją jakości uzyskanego rozwiązania: zbliżenie LB i UB na odległość  zapewnia „satysfakcjonującą” wartość uzyskanego rozwiązania nie można przewidzieć kiedy założona jakość rozwiązania zostanie osiągnięta

Ograniczenie nakładów obliczeniowych Inne koncepcje wykorzystania metody podziału i ograniczeń jako heurystyki: wprowadzenie limitu czasu obliczeń (podziałów, węzłów) – brak gwarancji znalezienia rozwiązania dopuszczalnego! osiągnięcie rozwiązania o wartości funkcji celu poniżej założonego poziomu poprawa początkowej wartości UB o założoną wartość wprowadzenie maksymalnej akceptowanej liczności zbioru następników wierzchołka podziałowego wprowadzenie maksymalnej akceptowanej liczności zbioru wierzchołków aktywnych

NIEPERMUTACYJNA METODA PODZIAŁU I OGRANICZEŃ DLA PROBELMU KOMIWOJAŻERA wykorzystanie podobieństwa do problemu przydziału, którego rozwiązanie dostarcza dolnego ograniczenia funkcji celu wybór cyklu o długości k i podział na k podproblemów odpowiadającym poszczególnym krawędziom cyklu wybór najkrótszego cyklu – strategia zagłębiania wybór najdłuższego cyklu – strategia rozszerzania ponowne rozwiązanie problemu przydziału dla otrzymanych podproblemów znalezienie rozwiązania dopuszczalnego powoduje aktualizację UB rozwiązania niedopuszczalne są sukcesywnie dzielone 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1  2 5 3 4 7 6

1 2 3 4 5 6 7 1 2 3 4 5 6 7 1  2 5 k=4 4 d15= d54= d42= d21= 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7  1 2 3 4 5 6 7  1 2 3 4 5 6 7  1 2 3 4 5 6 7 