Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Metody optymalizacyjne w logistyce
Grzegorz Jokiel
2
Problem komiwojażera Cykl Hamiltona (cykl Eulera) można wyjść i wrócić do bazy przechodząc przez każdy wierzchołek (krawędź) tylko raz Odmianami problemu, w których nie wystepuje cykl Hamiltona (Eulera) jest: Problem chińskiego listonosza Trasa mleczarza Czy ogólnie problem marszrutyzacji Strategia najbliższego sąsiada jest algorytmem zachłannym Algorytm zachłanny (ang. greedy algorithm) – algorytm, który w celu wyznaczenia rozwiązania w każdym kroku dokonuje zachłannego, tj. najlepiej rokującego w danym momencie wyboru rozwiązania częściowego. Innymi słowy algorytm zachłanny nie patrzy czy w kolejnych krokach jest sens wykonywać dane działanie, dokonuje decyzji lokalnie optymalnej, dokonuje on wyboru wydającego się w danej chwili najlepszym, kontynuując rozwiązanie podproblemu wynikającego z podjętej decyzji. Typowe zadanie rozwiązywane metodą zachłanną ma charakter optymalizacyjny. W dziedzinie sztucznej inteligencji zachłanna odmiana przeszukiwania lokalnego jest nazywana "podchodzeniem pod wzgórze". Np. Dane są dwa rodzaje monet: 2 zł i 5 zł. Należy obliczyć ile, i jakich monet należy wydać, by reszta wynosiła 6 zł. Gdy dobór pierwszej monety będzie zachłanny (tj. algorytm wybierze jedną "piątkę", bo jest bliżej wyniku ostatecznego (jest lokalnie lepszym rozwiązaniem), niż . Jednak już w następnym kroku okaże się, że droga zachłanna była w tym przypadku drogą ślepą.
3
Problem chińskiego Listonosza
Problem ten został sformułowany po raz pierwszy w języku teorii grafów przez chińskiego matematyka Mei Ku Kwana w 1962 roku Rozważmy graf, którego krawędzie odpowiadają ulicom w rejonie, obsługiwanym przez listonosza. Wierzchołki to po prostu skrzyżowania ulic. Krawędziom nadajemy wagi, które oznaczają odległości między dwoma skrzyżowaniami. Znalezienie możliwie najkrótszej drogi, którą musi przejść listonosz sprowadza sie do znalezienia w tym grafie drogi o minimalnej sumie wag krawędzi, która przechodzi przez każdą krawędź co najmniej raz.
4
Problem chińskiego Listonosza Brak cyklu Eulera
A-B-C-D-A-G-F-E-C-E-D-G-A lub = 6 000
5
Problem chińskiego Listonosza Brak cyklu Eulera
6
Symulowane wyżarzanie ( simulated annealing)
- Wybierz dowolną permutację n miast. - Dokonaj (próbnej) permutacji dwóch miast. Jeżeli zmiana taka obniża całkowitą długość, to permutację tę akceptuj. - Kontynuuj permutacje par aż do momentu gdy dalsze permutacje nie będą prowadziły do zmniejszenia długości trasy. Metoda ta bazuje na pewnej analogii termodynamicznej a w szczególności ze sposobem w jaki ciecz zamarza i krystalizuje lub w jaki metale stygną i wyżarzają się. W wysokich temperaturach molekuły cieczy poruszają się swobodnie względem siebie. W wyniku schładzania ruchy termiczne ulegają zmniejszeniu. Jeżeli schładzanie jest powolne, to molekuły zwykle tworzą uporządkowane struktury - kryształy. Kryształ jest stanem o minimum energii tego systemu. Jeżeli natomiast ciecz jest chłodzona szybko to zwykle nie osiąga stanu krystalicznego ale pozostaje w pewnym stanie amorficznym (szklistym) posiadającym wyższą energię.
7
np. Algorytm Lin-Kerninghama Zamienia dwa wiązania
8
Metoda TABU (TS) Fred Glover w 1986 wprowadził termin Tabu Search (TS) jako ”metaheurystykę”
Heurystyka - algorytm, który w stosunkowo krótkim czasie znajduje zwykle przybliżone rozwiązanie danego (złożonego) problemu. Przykład: Upakowywanie jak największej liczby różnych przedmiotów do plecaka Zwykle rozpoczynamy od największych rzeczy dokładając mniejsze w miarę możliwości. Zwykle dość dobrze uda się nam zapełnić plecak, ale w ogólności algorytm ten może nie dawać optymalnego rozwiązania.
9
Procedura lokalnego poszukiwania rozwiązania
Definicja problemu dystrybucji (S, g) S – zbiór; g – funkcja celu - min g(s), s należy do: S Budowa sąsiedztwa N : s → 2 do S Zastosowanie operatora ruchu: g( y) < g(x), y należy do: N(x) Problem lokalnego minimum g(x) ≤ g( y),dla każdego y należącego do N(x) PRZYKŁAD Chcemy znalezc najlepszy klub do imprezowania w piatkowy wieczór. Operatorem porównania bedzie subiektywna opinia całej ekipy. Jestesmy wybredni, nie chcemy zadowolic sie pierwszym odwiedzonym klubem. Pamietajmy jednak, ze nie mamy całej nocy na poszukiwania a potencjalnych klubów jest multum. Okreslmy czas jaki mozemy poswiecic na szukanie najlepszego klubu. 2. Wybieramy poczatkowy klub do oceny, najlepiej taki z duza iloscia sasiadujacych klubów, 3. Przechodzimy kolejno do sasiednich klubów, głosujac wyznaczamy jego ocene, oznaczamy go na liscie Tabu jako odwiedzonego i nie idziemy tam przez 6 iteracji. 4. Przy kazdej iteracji pamietajmy o aktualizacji listy Tabu. 5. Po skonczonym czasie sprawdzmy jaki klub został oznaczony jako najlepszy i idzmy do niego! Juz wystarczajaco duzo czasu stracilismy.
10
Pamięć krótkoterminowa
Głównym celem pamięci krótkoterminowej jest uniknięcie wyboru operatora ruchu, który może prowadzi do oscylacji wokół określonego rozwiązania • Najbardziej popularna implementacja pamięci krótkoterminowej oparta jest na przechowywaniu ostatnio zmienianych atrybutów operatora ruchu
11
Operatory ruchu Operator 2-or 1->2->3->4 1->3->2->4
1->2->3->4 1->3->2->4 Operator wymiany R1 1->2->3 R2 4->5->6 R1 1->5->3 R2 4->2->6 Operator 4-or 1->2->3->4->5->6 1->5->3->4->2->6
12
Pamięć długookresowa Metoda dywersyfikacji strategii poszukiwania rozwiązania – najczęściej modyfikuje się operator ruchu. Przykładem takich warunków są: 1. Przez k kolejnych iteracji nie zostało znalezione lepsze rozwiązanie 2. Algorytm wykonał k iteracji od wygenerowania nowego rozwiązania startowego 3. Przez k kolejnych iteracji były przeglądane rozwiązania ”bliskie” rozwiązaniu startowemu
13
Problem plecakowy ZOB. następny slajd
W pierwszej części algorytmu zachłannego przedmioty są sortowane wg. stosunku wartości do wagi (po lewej), po czym wybierane są kolejno od góry te elementy które się jeszcze mieszą w plecaku. W wyniku wybrane zostały przedmioty o wartości 11$ i wadze 11kg, optymalny wynik to przedmioty o wadze 14kg i wartości 12$.
14
Źródło: Wikipedia http://pl. wikipedia. org/w/index. php
15
Możliwe sposoby załadunku wyrobów
Samochód 1: 245cm * 600cm Samochód 2: 245cm * 900cm Możliwe sposoby załadunku wyrobów
16
Załadunek Ograniczenia: •powierzchnia •pojemność •waga
•kolejność wizyt •rozładunek Ilość klientów
17
Śluzowiec fot. Fotografavo Algirdas, 2005 m. rugpjūčio 19 d
Śluzowiec fot. Fotografavo Algirdas, 2005 m. rugpjūčio 19 d., Lietuva
18
Planowanie tras z wykorzystaniem Śluzowca
Śluzowiec - grzyb posiadający zdolność ruchu – jego ulubionym przysmakiem są płatki owsiane. Na makiecie miasta z rozsypuje się kupki płatków i umieszcza śluzowca. Następnego dnia śluzowiec łączy wszystkie kupki płatków owsianych najbardziej optymalnymi trasami. Ich stadium wegetatywne stanowi wielojądrowa śluźnia, która pełza za pomocą nibynóżek. Śluźnia porusza się w sposób skoordynowany, reaguje na bodźce - wykazuje chemotaksje i fototaksje, termotaksję. Gdy natrafia na pokarm np. kolonie bakterii kieruje tam dopływ plazmy i zatrzymuje się tam do momentu wyczerpania składników pokarmowych
19
Algorytmy mrówkowe Połączenia między miastami inicjowane są z pewną (niewielką) ilością feromonu. Pewna liczba mrówek umieszczona jest na losowo wybranych miastach. Mrówki poruszają się z miasta do miasta. Nie mogą wracać do miasta, w którym już były. Miasto do którego przemieści się mrówka wybierane jest losowo jednakże preferowane są miasta bliżej położone i te z większą ilością feromonu. Gdy wszystkie mrówki zakończą obchód wszystkich miast to feromon na wszystkich ścieżkach zmniejsza się o pewną wartość (parowanie). Ponadto feromon na ścieżkach, którymi przeszły mrówki zwiększa się o ilość odwrotnie proporcjonalną do całkowitej długości trasy danej mrówki (im krótsza trasa tym większy przyrost). Strategia ta rozpoczyna poszukiwanie miast blisko położonych a następnie wybiera trasy, które były dobre w przeszłości. Zalety: algorytmy mrówkowe dobrze radzą sobie z dynamicznie zmieniającymi się grafami miast. Pewne modyfikacje algorytmów mrówkowych mogą być wykorzystywane w routingu. W tym przypadku dodatkową komplikacją są zmieniające się natężenia przepływu danych. Rozszerzeniem algorytmów mrówkowych są kolonie mrówek (Dorigo, M. Gambardella, L. M. Ant Colonies for the Travelling Salesman Problem. BioSystems, 43: )
20
Problemy NP.i P Zob. notatki Wikipedia
Zob. też czas wielomianowy: 5%BCono%C5%9B%C4%87_obliczeniowa Problem NP (niedeterministycznie wielomianowy, ang. nondeterministic polynomial) to problem decyzyjny, dla którego rozwiązanie można zweryfikować w czasie wielomianowym. Równoważna definicja mówi, że problem jest w klasie NP, jeśli może być rozwiązany w wielomianowym czasie na niedeterministycznej maszynie Turinga. Różnica pomiędzy problemami P i NP polega na tym, że w przypadku P znalezienie rozwiązania ma mieć złożoność wielomianową, podczas gdy dla NP sprawdzenie podanego z zewnątrz rozwiązania ma mieć taką złożoność. Przykładowo rozważmy problem: Czy jakikolwiek niepusty podzbiór zadanego zbioru (np. {-2,6,-3,72,10,-11}) sumuje się do zera ? Trudno znaleźć rozwiązanie tego zagadnienia w czasie wielomianowym. Nasuwający się algorytm sprawdzenia wszystkich możliwych podzbiorów ma złożoność wykładniczą ze względu na liczebność zbioru. Nie wiadomo zatem, czy problem ten jest klasy P. Na pewno natomiast uzyskawszy z zewnątrz kandydata na rozwiązanie (np. {-2,6,-3,10,-11}) możemy w liniowym (a zatem wielomianowym) czasie sprawdzić, czy sumuje się do zera. Jest to zatem problem NP. W szczególności wszystkie problemy klasy P są NP, ponieważ można je sprawdzić w czasie wielomianowym. Innymi słowy, klasa P zawiera się nieostro w NP (). Nie wiadomo natomiast, czy istnieje problem NP, który nie jest w klasie P (czyli, czy P rożni się od NP, lub inaczej lub inaczej ). Jest to jedno z wielkich nierozwiązanych zagadnień informatyki.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.