Metody optymalizacyjne w logistyce

Slides:



Advertisements
Podobne prezentacje
DOMINOWANIE W GRAFACH Magdalena Lemańska.
Advertisements

Grafy spełniające nierówność Γ(G) < IR(G)
ALGORYTMY GRAFOWE.
Grażyna Mirkowska PJWSTK 15 listopad 2000
STATYSTYKA WYKŁAD 03 dr Marek Siłuszyk.
Grafy inaczej, czyli inne modele grafów
Wykład 6 Najkrótsza ścieżka w grafie z jednym źródłem
Minimalne drzewa rozpinające
Algorytm Dijkstry (przykład)
Techniki konstrukcji algorytmów
ALGORYTMY I STRUKTURY DANYCH
Sztuczna Inteligencja 2.1 Metody szukania na ślepo
WYKŁAD 2. Kolorowanie wierzchołków
WYKŁAD 7. Spójność i rozpięte drzewa
WĘDRÓWKI PO GRAFACH Obchody Eulera Cykle Hamiltona.
Dariusz Odejewski Krzysztof Wójcik
Materiały pomocnicze do wykładu
Sieci Hopfielda.
Algorytmy genetyczne.
Algorytmy genetyczne.
ALGORYTMY I STRUKTURY DANYCH
WYKŁAD 7. Spójność i rozpięte drzewa Graf jest spójny, gdy dla każdego podziału V na dwa rozłączne podzbiory A i B istnieje krawędź z A do B. Definicja.
Minimalne drzewa rozpinające
Przepływy w sieciach. Twierdzenie minimaksowe.
ALGORYTMY KLASYCZNE ________ FRAKTALE
SKIEROWANE Marek Bil Krzysztof Fitrzyk Krzysztof Godek.
Przegląd podstawowych algorytmów
Algorytmy i Struktury Danych Typy algorytmów
Graf - jest to zbiór wierzchołków, który na rysunku przedstawiamy za pomocą kropek oraz krawędzi łączących wierzchołki. Czasami dopuszcza się krawędzie.
Algorytmy i struktury danych
Algorytmy i struktury danych
Badania operacyjne Wykład 5.
Algorytmy i struktury danych
ALGORYTMY OPTYMALIZACJI
Reprezentacja grafów i operacje na grafach na przykładzie algorytmu Dijkstry i algorytmu na odnajdywanie Silnych Spójnych Składowych Temat Opracowali:
Modelowanie populacji i przepływu opinii pomiędzy aktorami sztucznej inteligencji za pomocą sieci społecznej Wojciech Toman.
Uniwersytet Dzieci Nieważne jaki masz komputer
ALGORYTMY I STRUKTURY DANYCH
Algorytm Dijkstry 1 Zbiory: T - zbiór wierzchołków
Autor: Karol Podsiadło Kierujący pracą: dr inż. Ewa Płuciennik-Psota
Algorytm Z-Bufora (bufora głębokości)
Wykonali -Max Barbucha -Max Kozłowski -Maciek Rutkowski.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Algorytmy i Struktury Danych
Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis.

Komputerowa optymalizacja obszaru logistyki
Systemy kontroli wersji
System gromadzenia i udostępniania informacji o ruchu pojazdów i przesyłek w przedsiębiorstwie kurierskim Autor: Karol Podsiadło gr. OS1 Promotor: dr inż.
PLANARNOŚĆ i KOLOROWANIE MAP. Problem Jaka jest minimalna liczba kolorów, za pomocą których można pokolorować obszary województw na mapie Polski tak,
Algorytmy i Struktury Danych Grafy
Algorytmy Genetyczne Anna Tomkowska Politechnika Koszalińska
Drogi i cykle Eulera w grafach nieskierowanych
WĘDRÓWKI PO GRAFACH Obchody Eulera Cykle Hamiltona.
Algorytmy grafowe Minimalne drzewa rozpinające
GRA CHOMP. Czym jest chomp? Jest to gra dla dwóch osób, rozgrywana na prostokątnej tablicy, zwanej „tabliczką czekolady”
NP-zupełność Problemy: rozwiązywalne w czasie wielomianowym - O(nk)
inżynierskie metody numeryczne
Optymalizacja Monte-Carlo - algorytmy inspirowane przyrodniczo (algorytmy genetyczne, symulowane wyżarzanie, stadne strategie obliczeniowe) Przykład 2.
Wstęp do programowania Wykład 4
Grafy.
Modelowanie matematyczne – złożoność obliczeniowa, teoria a praktyka
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
Metody Badań Operacyjnych Michał Suchanek Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
Zagadnienia transportowe Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
Model matematyczny przydziału częstotliwości w sieciach komórkowych
Algorytm Dijkstry Podano graf Zdefiniowano jego listę sąsiedztwa 1 2 3
Zrozumieć, przeanalizować i rozwiązać
Algorytmy i struktury danych
ALGORYTMY I STRUKTURY DANYCH
Zapis prezentacji:

Metody optymalizacyjne w logistyce Grzegorz Jokiel

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

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.

Problem chińskiego Listonosza Brak cyklu Eulera A-B-C-D-A-G-F-E-C-E-D-G-A lub 800+800+700+500+300+500+400+500+400+300= 6 000

Problem chińskiego Listonosza Brak cyklu Eulera

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

np. Algorytm Lin-Kerninghama Zamienia dwa wiązania

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.

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.

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

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

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

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

Źródło: Wikipedia http://pl. wikipedia. org/w/index. php

Możliwe sposoby załadunku wyrobów Samochód 1: 245cm * 600cm Samochód 2: 245cm * 900cm Możliwe sposoby załadunku wyrobów

Załadunek Ograniczenia: •powierzchnia •pojemność •waga •kolejność wizyt •rozładunek Ilość klientów

Śluzowiec fot. Fotografavo Algirdas, 2005 m. rugpjūčio 19 d Śluzowiec fot. Fotografavo Algirdas, 2005 m. rugpjūčio 19 d., Lietuva http://pl.wikipedia.org/w/index.php?title=Plik:Fuligo_septica.jpg&filetimestamp=20051209101717

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

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:73-81. 1997)

Problemy NP.i P Zob. notatki Wikipedia http://pl.wikipedia.org/wiki/Problem_NP Zob. też czas wielomianowy: http://pl.wikipedia.org/wiki/Z%C5%82o%C 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.