1 / 27

DMBO

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

skyla
Download Presentation

DMBO

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DMBO Branch and bound

  2. 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

  3. Modelowaniefunkcjiliniowejnaprzedziałach

  4. Modelowaniefunkcjiliniowejnaprzedziałach • Wprowadzamyzmiennebinarne • Przekształcamyograniczenia gdzie w1 i w2sąbinarne

  5. Modelowaniefunkcjiliniowejnaprzedziałach • A) • B) • C)

  6. Rozwiązywaniezadańprogramowaniacałkowitoliczbowego: wyliczeniemożliwości

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

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

  9. Dzielimy na dwa podproblemy wykluczając rozwiązania niedopuszczalne

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

  11. Kolejno rozbijamy na problemy z coraz mniejszym zbiorem dopuszczalnym

  12. L3 ignorujemy, bo jest niedopuszczalne

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

  14. 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.

  15. Ilustracja metody cięć

  16. Cięcia Gomory

  17. 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.

  18. 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

  19. 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.

  20. 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.

  21. 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???

  22. 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???

  23. 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:

  24. 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:

  25. 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

More Related