algorytmy mrówkowe w srodowiskach dynamicznych

background image

2010-12-28

1

Algorytmy mrówkowe

w środowiskach dynamicznych

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

1/51

Plan

» Algorytm mrówkowy
» Warianty
» CVRP
» Demo
» Środowisko dynamiczne
» Pomysł modyfikacji
» Testowanie

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

2/51

background image

2010-12-28

2

Algorytm mrówkowy

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

3/51

Algorytmy rojowe

» Zbiorowe zachowanie grupy osobników

» Pojedynczy osobnik:

› Bezbronny
› Bezmyślny

» Grupa osobników:

› Zdecentralizowana
› Samoorganizująca się
› „Inteligentna”

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

4/51

background image

2010-12-28

3

Algorytmy rojowe

» Algorytm mrówkowy

» Inne:

› Particle Swarm Optimization
› Stochastic Diffusion Search
› Gravitational Search Algorithm
› Intelligent Water Drops
› Charged System Search

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

5/51

Algorytm mrówkowy

» Ant System (AS)

› Marco Dorigo, 1991
› 1992 – praca doktorska

» Inspirowany naturą

› Mrówki szukają pożywienia

» Feromony – ślad zapachowy

› Wyparowywanie feromonów

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

6/51

background image

2010-12-28

4

Algorytm mrówkowy - badania

» 1989 – Goss, Aron, Deneubourg, Pasteels

» Pojedyncza mrówka:

› Głucha
› Prawie ślepa
› Bardzo niska inteligencja

» Klucz do sukcesu – komunikacja

› Feromony

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

7/51

Algorytm mrówkowy – badania

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

8/51

Pożywienie

Mrowisko

background image

2010-12-28

5

Algorytm mrówkowy - badania

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

9/51

Pożywienie

Mrowisko

Algorytm mrówkowy - badania

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

10/51

Pożywienie

Mrowisko

background image

2010-12-28

6

Mrówki żywe vs. wirtualne

» Podobieństwa:

› Grupa współpracujących

osobników (agentów)

› Cel: znalezienie

najkrótszej drogi

› Budowanie rozwiązania krok po kroku
› Losowość i prawdopodobieństwo
› Rozkładanie i wyparowywanie feromonów

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

11/51

Mrówki żywe vs. wirtualne

» Różnice (w świecie wirtualnym):

› Czas jest dyskretny
› Mrówki posiadają pamięć
› Mrówki posiadają „wzrok”

› widzą sąsiednie wierzchołki

› Sposób rozkładania feromonów

› globalny, lokalny

› Ilość rozkładanych feromonów zależy od jakości

rozwiązania

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

12/51

background image

2010-12-28

7

Warianty

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

13/51

Oryginalny AS

Resetuj feromony

For i=0 to IlośćIteracji
{

Stwórz/resetuj mrówki

Dla każdej mrówki:
{

Znajdź rozwiązanie
Jeśli jest lepsze od najlepszego, to zapamiętaj

}

Wyparuj część feromonów
Dla każdej mrówki:

Rozłóż feromony proporcjonalnie do znalezionego rozwiązania

}

Zwróć najlepsze rozwiązanie

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

14/51

background image

2010-12-28

8

Oryginalny AS

Znajdź rozwiązanie
{

Dopóki nie znaleziono rozwiązania
{

Wyznacz listę kandydatów
Wybierz kandydata metodą ruletki, na podstawie wzorku:

Przejdź do wybranego kandydata

}

}

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

15/51

i

N

k

ik

ik

ij

ij

ij

h

f

h

f

p

)

(

)

(

)

(

)

(

Oryginalny AS

» Parametry algorytmu:

› Ilość iteracji
› Ilość mrówek w iteracji
› Początkowa wartość feromonu na krawędziach
› Współczynnik wyparowywania
› Priorytet feromonów
› Priorytet heurystyki

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

16/51

background image

2010-12-28

9

Co podlega modyfikacji

» Mrówki rozkładające feromony:

› Wszystkie
› X najlepszych
› Najlepsza

» Moment rozkładania feromonów:

› Lokalnie (po każdym przejściu na nowy wierzchołek)
› Pseudo-lokalnie (zaraz po znalezieniu rozwiązania)
› Globalnie (jak wszystkie mrówki znajdą rozwiązanie)

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

17/51

Co podlega modyfikacji

» Ilość rozkładanego feromonu:

› Stała
› Proporcjonalna do jakości rozwiązania

» Sposób wyboru następnego wierzchołka:

› Ruletka
› Pseudo-ruletka:

› Losujemy
› Jeśli , to wybieramy najlepszego startującego w ruletce
› Jeśli , to przeprowadzamy ruletkę po staremu

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

18/51

0

q

q

0

q

q

q

background image

2010-12-28

10

Elitist AS

» Dorigo, 1992

» Mocne wzmacnianie najlepszego rozwiązania
» Po położeniu feromonów przez wszystkie mrówki

» Zwiększenie feromonów na krawędziach

należących do najlepszego rozwiązania:


e

– ilość elitarnych mrówek

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

19/51

best

Q

e

Rank AS

» Bullnheimer, Hartl and Strauss, 1997

»

σ

mrówek zostawia feromony proporcjonalnie

do swojej rangi

μ

:

» Najlepsze rozwiązanie też jest wzmacniane:

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

20/51

Q

)

(

best

Q

background image

2010-12-28

11

Min-Max AS

» Stützle & Hoos, 1997

» Ograniczony zakres feromonów

» Tylko najlepsza mrówka w danej iteracji zostawia

feromony

» Początkowa wartość feromonów =

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

21/51

]

,

[

max

min

f

f

f

max

f

Inne warianty

» Ant-Density AS
» Ant-Quantity AS

» Ant Colony System (ACS)

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

22/51

background image

2010-12-28

12

CVRP

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

23/51

CVRP

» Capacitated Vehicle

Routing Problem

» Rozwinięcie TSP

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

24/51

http://pl.wikipedia.org/wiki/Problem_marszrutyzacji

background image

2010-12-28

13

CVRP

» Klienci z zapotrzebowaniem
» 1 magazyn
» Ciężarówki z o graniczoną

pojemnością

» Dostarczyć towar

wszystkim klientom

» Zminimalizować koszt

całej trasy

»

http://neo.lcc.uma.es/radi-aeb/WebVRP/

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

25/51

Demo

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

26/51

background image

2010-12-28

14

Środowisko dynamiczne

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

27/51

Środowisko dynamiczne

» Może się zmieniać w czasie

» Graf:

› Dodawanie/usuwanie wierzchołków
› Zmiana zapotrzebowań wierzchołków
› Dodawanie/usuwanie krawędzi
› Zmiana wag krawędzi

» Zdarzenie zmiany w grafie

› Wywoływane zawsze gdy nastąpiła jakakolwiek zmiana

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

28/51

background image

2010-12-28

15

Algorytm dynamiczny

» Dynamiczna zmiana parametrów, przykłady:

› Większa liczba mrówek
› Zwiększenie parowania feromonów
› Większy nacisk na feromony/heurystykę
› Etc…

» Dynamiczna równoległość

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

29/51

Dodawanie/usuwanie wierzchołków

» Zmieniony sposób wyboru sąsiadów

» Wyznaczanie aktualnej listy kandydatów za

każdym przejściem

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

30/51

background image

2010-12-28

16

Zmiana zapotrzebowań

» Nie można korzystać ze statycznej tablicy

zapotrzebowań, inicjalizowanej na początku

algorytmu

» Trzeba odczytywać zawsze aktualną wartość

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

31/51

Dodawanie/usuwanie krawędzi

» CVRP z definicji zakłada graf pełny

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

32/51

Dodawanie/usuwanie krawędzi

Graf nie jest pełny

Konieczna modyfikacja algorytmu

background image

2010-12-28

17

Modyfikacja algorytmu

» Pierwszeństwo wyboru:

› Najpierw jeszcze nieodwiedzeni
› Dopiero potem już odwiedzeni

» System kar:

› Przeprowadzamy wybór po staremu
› Kara za wybranie już odwiedzonego

» Połączenie obu?
» Inne propozycje?

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

33/51

Zmiana wag krawędzi

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

34/51

background image

2010-12-28

18

Pomysł modyfikacji

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

35/51

Pomysł modyfikacji

» Aktualnie najlepsza droga może nagle stać się

bardzo nieatrakcyjna

» A drogi złe mogą stać się bardzo atrakcyjne

» Ilość feromonów uniemożliwia szukanie nowych

dróg

» Potrzebny jest mechanizm „wyrównywania szans”

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

36/51

background image

2010-12-28

19

Wygładzanie feromonów

» Zmniejszenie różnic między krawędziami
» Zachowanie porządku

» Cienkie krawędzie

- mała zmiana

» Grube krawędzie

- duża zmiana

» Funkcja w miarę wolno rosnąca

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

37/51

Wygładzanie feromonów

»

f

ij

– ilość feromonu na wygładzanej krawędzi

»

f

0

– minimalna ilość feromonu

»

p

- podstawa logarytmu

› Im większa, tym większy efekt wygładzenia

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

38/51

)

log

1

(

0

0

f

f

f

f

ij

p

ij

background image

2010-12-28

20

Wygładzanie feromonów

Przed

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

39/51

Po 

Wygładzanie feromonów

» Różnice między krawędziami są zmniejszone

» Porządek jest zachowany

› W dalszym ciągu najgrubsza krawędź ma największe

prawdopodobieństwo wyboru

» Prawdopodobieństwa wyboru krawędzi są

zbliżone

› Większa szansa wyboru objazdów

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

40/51

background image

2010-12-28

21

Wygładzanie globalne vs. lokalne

» Wygładzanie globalne nie zawsze musi być dobre

» Dla dużego grafu:

› Spora zdobyta wiedza
› Wszystkie krawędzie są wygładzane
› Tracimy bezpowrotnie dużo cennych informacji

» Potrzebny mechanizm wygładzania tylko w tej

okolicy, gdzie wystąpił „korek”

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

41/51

Wygładzanie globalne vs. lokalne

» Dodatkowy parametr algorytmu:

› Zasięg wygładzania (SmoothRange)

» Maksymalna odległość od korka

» Wygładzane są tylko te krawędzie, których

odległość od korka jest mniejsza od

SmoothRange

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

42/51

background image

2010-12-28

22

Wygładzanie globalne vs. lokalne

» SmoothRange = maksymalna odległość między

parą wierzchołków

» Nowy parametr:

› Współczynnik wygładzania

› s=0 - brak wygładzania
› s=1 – wygładzanie globalne

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

43/51

 

1

,

0

s

e

SmoothRang

s

Inne pomysły

» Różne funkcje wygładzające:

› Liniowa
› Pierwiastek
› Sigmoidalna
› Etc…

» Inne wykorzystanie wygładzania:

› Zapobieganie stagnacji

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

44/51

)

(

0

0

f

f

F

f

f

ij

ij

background image

2010-12-28

23

Inne pomysły

» Lokalne poprawianie rozwiązań:

› 2-opt
› 3-opt

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

45/51

2-opt

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

46/51

background image

2010-12-28

24

3-opt

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

47/51

Testowanie

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

48/51

background image

2010-12-28

25

Testowanie

» Jak testować dynamiczne problemy?
» Jak mierzyć efektywność poszczególnych

wariantów?

» Ogólna szybkość zbiegania
» Jak bardzo pogorszyło się najlepsze rozwiązanie

po wystąpieniu zdarzenia zmiany w grafie

» Inne metody?

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

49/51

Docelowo…

» Scenariusze występowania korków
» Możliwość tworzenia własnych scenariuszy
» Preprogramowane scenariusze

› Potrzebne do testów

» Drugi problem optymalizacyjny:

› Pomysły?

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

50/51

background image

2010-12-28

26

Dziękuję.

Będę wdzięczny za wszelkie uwagi!

Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk

51/51


Wyszukiwarka

Podobne podstrony:
Algorytmy wyklady, Programowanie dynamiczne, MATRIX-CHAIN-ORDER ( p );
Metody układania algorytmów rekurencja, metoda dziel i zwyciężaj, programowanie dynamiczne, metoda
Analiza Algorytmów Genetycznych jako Ukladow Dynamicznych 08 Kotowski PhD p72
Monitoring środowiskaĆW Charakterystyki statyczne i dynamiczne przyrządów pomiarowych Sprawozdan
Algorytmy do zagrożeń środowiskowych
Środowisko Geologiczne, STUDIA BD, GEOLOGIA BD, Geologia dynamiczna
algorytmy genetyczne i mrówkowe w transporcie
I1 Prototypowanie algorytmów sterowania pracą elastycznej linii w środowisku PLC S7 300
GEOLOGIA DYNAMICZNA, Inżynieria Środowiska, Geologia
Metody układania algorytmów rekurencja, metoda dziel i zwyciężaj, programowanie dynamiczne, metoda
Monitoring środowiskaĆW Charakterystyki statyczne i dynamiczne przyrządów pomiarowych
IK Transport a środowisko
Czynnik środowiskowy, a czynnik ekologiczny
Układy Napędowe oraz algorytmy sterowania w bioprotezach

więcej podobnych podstron