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 LBUB rozwiązanie niedopuszczalne LBUB LB=14 1 LBUB rozwiązania niedopuszczalne LB=9 ... LBUB
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, xX reprezentuje konkretną instancję problemu P – przestrzeń rozwiązań, czyli n-elementowych permutacji f - funkcja celu, f: PXR, f(, x) oznacza wartość funkcji celu dla rozwiązania dla danych x xX 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 xX 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 qN\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