270 likes | 458 Views
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
E N D
DMBO Branch and bound
Uwaginatemat PCL • Czywystarczyzaokrąglićrozwiązanieproblemuliniowego, abyuzyskaćrozwiązanieproblemucałkowitoliczbowego? • Modelowaniewarunkówlogicznych i sprowadzanieich do ograniczeńliniowych: • Koniunkcja (proste) • Alternatywa • Implikacja • Warunkilogicznedlazmiennychbinarnych • Implikacja • Alternatywa • Alterntywarozłączna • Kosztystałe w modelowaniu
Modelowaniefunkcjiliniowejnaprzedziałach • Wprowadzamyzmiennebinarne • Przekształcamyograniczenia gdzie w1 i w2sąbinarne
Modelowaniefunkcjiliniowejnaprzedziałach • A) • B) • C)
Rozwiązywaniezadańprogramowaniacałkowitoliczbowego: wyliczeniemoż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
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.
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 [fullenumerationtree] • 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 • Pojęcia: • wierzchołek[node] każde częściowe lub pełne rozwiązanie • liść[leafnode] pełne rozwiązanie • pączek[bud node]częsciowe rozwiązanie dopuszczalne lub niedopuszczalne • funkcja ograniczająca[boundingfunction] – 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] • Rozgałęzianie[Branching] • Ograniczanie[Bounding] • Sądowanie[fathoming] • Podcinanie[Prunning] System selekcjizmiennych[variable selection policy] Regułyprzycinaniapączków Regułazakończeniaalgorytmu • Trzy popularne systemy selekcji wierzchołków [nodeselectionpolicy] • Best-first / global-bestnodeselection • Depth-first • Breadth-first
Przykład – problem przyporządkowania • Znaczeniewierzchołka w drzewie: • Częściowelubpełneprzyporządkowanieludzi do zadań • System selekcjiwierzchołków: global best • System selekcjizmiennych: wybierznastępnezadanie w naturalnejkolejności 1 do 4 • Funkcjaograniczająca: dlanieprzyporządkowanychzadańwybierznajlepsząnieprzyporządkowanąosobę, nawetjeślibędziewybranaparęrazy • Regułazakończenia: kiedywartośćfunkcjiceludlatymczasowegorozwiązania jest lepszalubrówna do wartościfunkcjiograniczającejdlawszystkichpączków • Sądowanie: rozwiązaniewygenerowaneprzezfunkcjęograniczającą jest dopuszczalnejeślikażdezadanie jest przyporządkowane do różnychosób.
Jakpowstająwartościfunkcjiograniczającej? • Popatrzmynawierzchołekpierwszegoetapu, któryoznaczaprzyporządkowanieosoby A do zadania 1. • Zbiórrozwiązańreprezentowanychprzez ten wierzchołek to A??? • Faktycznawartośćprzyporządkowania A do zadania 1 to: 9 • Najlepszanieprzyporządkowanaosobadlazadania 2 to C, wartość: 1 • Najlepszanieprzyporządkowanaosobadlazadania3 to D, wartość: 2 • Najlepszanieprzyporządkowanaosobadlazadania4 to C, wartość: 2 • Rozwiązaniefunkcjiograniczającej to ACDC z kosztemcałkowitym =9+1+2+2=14. • Wiemy, że w najlepszymwypadkuwartośćfunkcjiceludlawierzchołkówpochodzących od A??? To 14. To nie jest dopuszczalnerozwiązanie, boosoba C jest przyporządkowana do dwóchzadań. Osoba A jest faktycznieprzyporządkowana.
Tworzymydrzewo Przycięte wierzchołki mają przerywane obrzeża Dopuszczalne wierzchołki mająpogrubione obrzeża Przycięte dopuszczalne wierzchołki mają to i to Pierwszyetap: korzeńdrzewa Drugietap: • Wierzchołek C??? Jest wysądowany– pierwszetymczasowerozwiązaniedopuszczalne CBDA=13 • To nampozwalaprzyciąćwierzchołek A???, któregowartośćfunkcjiograniczającejwynosi 14. • Dwapączki, któredająnadziejęnapoprawę B??? i D??? – global best: wybieramy D???
Tworzymydrzewo Trzecietap: • Nie ma nowychdopuszczalnychrozwiązań, czylirozwiązanietymczasowesięniezmienia. • Nowewierzchołkiniemogąbyćprzyciętepoprzezporównanie z rozwiązaniemtymczasowymlubwysądowane. • Wybieramy global best spośród B??? (9), DA?? (12), DB?? (10) oraz DC?? (12) • A zatem B???
Tworzymydrzewo • Sądujemydwawierzchołki BA?? oraz BC?? • Nowetymczasowerozwiązaniedopuszczalne to BCDA=12 • Wycinamydotychczasowerozwiązanie CBDA • BA?? jest dopuszczalne, ale wycinamy w porównaniu z nowymrozwiązaniemtymczasowym • Wycinamywierzchołki DA?? i DC?? Poprzezporównanie z tymczasowymrozwiązaniem • Gdybyśmychcieliznaleźćwszystkierozwiązania a nietylkojednomożemy w przyszłości je analizowaćdalej • Zostajenamtylkojedenpączek DB??. Czwartyetap:
Tworzymydrzewo • DBAC ma lepsząwartośćniżdotychczasowerozwiązanie, zatem je zastępuje I wycinapoprzednie • DBCA jest wyciętepoprzezporównanie z tymczasowym • Nie ma innychpączków do ekspansji, więckończymy • Przeanalizowaliśmy 13 wierzchołkówzamiast 24 • Dlawiększychproblemówznaczneprzyspieszenie Piątyetap:
Dobra funkcjaograniczająca jest kluczem • Problem komiwojażera: odwiedzićkażdemiastodokładnieraz i powrócić do punktuwyjścia • Załóżmy, żemamyczęściowerozwiązanie (pogrubione) • Bardzosprytnafunkcjaograniczająca: minimalnedrzeworozpinającenawierzchołkachnieodwiedzonych i wierzchołkupoczątkowym i końcowymczęsciowejtrasy