Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Badania operacyjne Wykład 5. Rozwiązywanie zadań programowania całkowitoliczbowego: wyliczenie możliwości.

Podobne prezentacje


Prezentacja na temat: "Badania operacyjne Wykład 5. Rozwiązywanie zadań programowania całkowitoliczbowego: wyliczenie możliwości."— Zapis prezentacji:

1 Badania operacyjne Wykład 5

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

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

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

5 Dzielimy na dwa podproblemy wykluczając rozwiązania niedopuszczalne

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

7 Dzielimy na dwa podproblemy wykluczając rozwiązania niedopuszczalne

8 Kolejno rozbijamy na problemy z coraz mniejszym zbiorem dopuszczalnym

9 L 3 ignorujemy, bo jest niedopuszczalne

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

11

12 Nawet, gdybyśmy nie znaleźli rozwiązania całkowitego w L 2 za pierwszym razem, a dostalibyśmy rozwiązanie o funkcji celu nie większej niż 40 (dotychczasowe rozwiązanie z L 6 ), moglibyśmy przerwać procedurę i wywnioskować, że rozwiązanie z L 6 jest optymalne Po analizie L 6, 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ć L 2. L 2 jednak okazuje się nie przynieść poprawy.

13 Skojarzenia xHelenaGosiaIrenarowsums Dawid1001 Edward0101 Filip0011 colsums111 kompatyblino śćHelenaGosiaIrena Dawid100.5 Edward Filip funkcja celu4.5

14 Wprowadzenie do grafów: Mosty w Koenigsbergu Leonard Euler zastanawiał się, czy można przejść przez każdy most tylko raz (1736)

15 Konceptualizacja - węzły

16 Konceptualizacja - krawędzie

17 Czy istnieje spacer po wszystkich mostach, tak aby żaden się nie powtórzył?

18 Gdyby tak zbudować dwa dodatkowe mosty.

19 Każdy taki spacer musi wejść i wyjść z każdego wierzchołka dokładnie raz. Czyli stopień każdego wierzchołka musi być parzysty.

20 Cykl Eulera Cykl Hamiltona Problem komiwojażera

21 Problem komiwojażera – objazd cykl Czas trwania: 2 d 7 h 2 m Długość trasy: 3615 km

22 Problem komiwojażera – objazd ścieżka Czas trwania: 2 d 4 h 37 m Długość trasy: 3436 km

23 Problem komiwojażera – prawdziwy spacer Czas trwania: 29 d 11 h 21 m Długość trasy: 3485 km

24

25 Problem komiwojażera (travelling salesman problem TSP) Problem można zapisać matematycznie jako Zmienna decyzyjna x ij równa się 1, gdy komiwojażer przejeżdża z miasta i do miasta j, 0 w przeciwnym przypadku Możliwość przejazdu z danego miasta do tego samego miasta jest zabroniona

26 Problem komiwojażera Koszt przejazdu z miasta do miasta to d ij Funkcja celu to łączny koszt przejazdu trasy Pierwsze ograniczenie oznacza, że komiwojażer musi opuścić każde miasto dokładnie raz Drugie ograniczenie oznacza, że komiwojażer musi wjechać do każdego miasta dokładnie raz Czy to już wszystko? Załóżmy, że w problemie z 5 miastami rozwiązanie optymalne to x 12 =x 23 =x 31 =x 45 =x 54 =1 To rozwiązanie spełnia powyższe ograniczenia i może być optymalne. Jednak zawiera podtrasy (subtours) – rozłączne pętle o rozmiarze mniejszym niż wszystkie miasta Trzeba wprowadzić dodatkowe ograniczenia

27 Eliminacja podtras Pętle dla dwóch miast Pętle dla trzech miast Pętle dla czterech miast Itd. Jednak w praktycznej implementacji takich ograniczeń byłoby stanowczo za dużo – w problemie z 30 miastami byłoby 870 ograniczeń likwidujących tylko pętle dla dwóch miast

28 Eliminacja podtras – drugie podejście Wprowadzamy dodatkowe nieujemne zmienne ciągłe u i : Podtrasy są wyeliminowane Ile jest takich ograniczeń? (N-1) 2 -N, czyli w problemie z 30 miastami wszystkich ograniczeń byłoby 812, a wcześniej tylko ograniczeń dla pętl o długości dwa było 870.

29

30 Gra


Pobierz ppt "Badania operacyjne Wykład 5. Rozwiązywanie zadań programowania całkowitoliczbowego: wyliczenie możliwości."

Podobne prezentacje


Reklamy Google