Algorytmy heurystyczne - Algorytmy przeszukiwania...

66

Transcript of Algorytmy heurystyczne - Algorytmy przeszukiwania...

Page 1: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Algorytmy heurystyczneAlgorytmy przeszukiwania lokalnego

Piotr Gajowiak, Paweª Kacprzak

Instytut Informatyki Uniwersytetu Wrocªawskiego

8 czerwca 2011

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 2: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

De�nicja problemu

Funkcja kosztu f

Funkcja oceny, ewaluacyjna albo dopasowania. Ma typ f : S → R

Rozwi¡zanie optymalne

Dana jest przestrze« rozwi¡za« pewnego problemu oraz funkcja

kosztu f okre±lona na tej przestrzeni. Rozwi¡zanie jest optymalne,

gdy minimalizuje warto±¢ f .

Problem optymalizacyjny

Znale¹¢ rozwi¡zanie optymalne przy danej funkcji kosztu f .

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 3: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Reprezentacja rozwi¡zania

Rozwi¡zujemy te problemy, których rozwi¡zania mo»na

reprezentowa¢ w postaci wektorów.

Przykªad:

rozwi¡zanie problemu komiwoja»era < e1, e2, . . . , ek >

Wektory mo»na ªatwo zaburza¢ na wspóªrz¦dnych.

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 4: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Reprezentacja rozwi¡zania

Rozwi¡zujemy te problemy, których rozwi¡zania mo»na

reprezentowa¢ w postaci wektorów.

Przykªad:

rozwi¡zanie problemu komiwoja»era < e1, e2, . . . , ek >

Wektory mo»na ªatwo zaburza¢ na wspóªrz¦dnych.

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 5: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Reprezentacja rozwi¡zania

Rozwi¡zujemy te problemy, których rozwi¡zania mo»na

reprezentowa¢ w postaci wektorów.

Przykªad:

rozwi¡zanie problemu komiwoja»era < e1, e2, . . . , ek >

Wektory mo»na ªatwo zaburza¢ na wspóªrz¦dnych.

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 6: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Jak nale»y my±lec o problemie?

Poj¦cia krajobrazu funkcji oceny

optima lokalne

zbocza

siodªa

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 7: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Jakie s¡ optima?

lokalne

globalne

Obszar przyci¡gania danego punktu

Fragment dziedziny, z którego przeszukiwanie u»ywaj¡c funkcji

oceny zawsze prowadzi do tego punktu.

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 8: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Paradygmaty poszukiwania rozwi¡zania

1 zaburzeniowe i konstruktywne

2 systematyczne i lokalne

Kombinacje paradygmatów:

konstruktywne systematyczne � to byªo ostatnio

zaburzeniowe lokalne � to b¦dzie dzisiaj

konstruktywne lokalne � o tym te» dzisiaj

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 9: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Paradygmaty poszukiwania rozwi¡zania

1 zaburzeniowe i konstruktywne

2 systematyczne i lokalne

Kombinacje paradygmatów:

konstruktywne systematyczne � to byªo ostatnio

zaburzeniowe lokalne � to b¦dzie dzisiaj

konstruktywne lokalne � o tym te» dzisiaj

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 10: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Paradygmaty poszukiwania rozwi¡zania

1 zaburzeniowe i konstruktywne

2 systematyczne i lokalne

Kombinacje paradygmatów:

konstruktywne systematyczne � to byªo ostatnio

zaburzeniowe lokalne � to b¦dzie dzisiaj

konstruktywne lokalne � o tym te» dzisiaj

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 11: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Paradygmaty poszukiwania rozwi¡zania

1 zaburzeniowe i konstruktywne

2 systematyczne i lokalne

Kombinacje paradygmatów:

konstruktywne systematyczne � to byªo ostatnio

zaburzeniowe lokalne � to b¦dzie dzisiaj

konstruktywne lokalne � o tym te» dzisiaj

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 12: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Przeszukiwanie lokalne

proces iteracyjny

ustala punkt pocz¡tkowy

przemieszcza si¦ po przestrzeni znajduj¡c coraz to lepsze

rozwi¡zania

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 13: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Przeszukiwanie lokalne

proces iteracyjny

ustala punkt pocz¡tkowy

przemieszcza si¦ po przestrzeni znajduj¡c coraz to lepsze

rozwi¡zania

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 14: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Przeszukiwanie lokalne

proces iteracyjny

ustala punkt pocz¡tkowy

przemieszcza si¦ po przestrzeni znajduj¡c coraz to lepsze

rozwi¡zania

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 15: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Algorytm podstawowy

procedure algorytm1

x = jakie±_pocz¡tkowe_rozwi¡zanie

optimum = x

do

{

S = n elementowy zbiór rozwi¡za« (s¡siadów x)

x = min(S)

if(x < optimum)

optimum = x

}

while(warunek_ko«ca_algorytmu);

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 16: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Gªówne elementy algorytmu

1 procedura generowania rozwi¡zania pocz¡tkowego

2 procedura generowania zbioru rozwi¡za« o rozmiarze n z

s¡siedztwa punktu x

3 procedura wyboru najlepszego rozwi¡zania z danego zbioru

4 procedura akceptacji rozwi¡zania

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 17: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Gªówne elementy algorytmu

1 procedura generowania rozwi¡zania pocz¡tkowego

2 procedura generowania zbioru rozwi¡za« o rozmiarze n z

s¡siedztwa punktu x

3 procedura wyboru najlepszego rozwi¡zania z danego zbioru

4 procedura akceptacji rozwi¡zania

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 18: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Gªówne elementy algorytmu

1 procedura generowania rozwi¡zania pocz¡tkowego

2 procedura generowania zbioru rozwi¡za« o rozmiarze n z

s¡siedztwa punktu x

3 procedura wyboru najlepszego rozwi¡zania z danego zbioru

4 procedura akceptacji rozwi¡zania

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 19: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Gªówne elementy algorytmu

1 procedura generowania rozwi¡zania pocz¡tkowego

2 procedura generowania zbioru rozwi¡za« o rozmiarze n z

s¡siedztwa punktu x

3 procedura wyboru najlepszego rozwi¡zania z danego zbioru

4 procedura akceptacji rozwi¡zania

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 20: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Wybór punktu pocz¡tkowego

wybór losowy

wiedza o zachowaniu funkcji oceny

wiedza od eksperta

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 21: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Wybór punktu pocz¡tkowego

wybór losowy

wiedza o zachowaniu funkcji oceny

wiedza od eksperta

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 22: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Wybór punktu pocz¡tkowego

wybór losowy

wiedza o zachowaniu funkcji oceny

wiedza od eksperta

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 23: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Generowanie nowego punktu przestrzeni

Jak wybieramy nowy punkt przestrzeni?

z s¡siedztwa bie»¡cego punktu

Co to jest s¡siedztwo?

de�niujemy operator s¡siedztwa

s¡ to wszystkie punkty, które mo»emy uzyska¢ z bie»¡cego przy

pomocy zde�niowanego operatora

Czy przegl¡damy wszystkie punkty s¡siedztwa?

dziedzina dyskretna � deterministycznie lub losowo

dziedzina ci¡gªa � losowo

Wa»ne: musi zabezpiecza¢ przed wpadni¦ciem w zamkni¦ty

cykl

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 24: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Generowanie nowego punktu przestrzeni

Jak wybieramy nowy punkt przestrzeni?

z s¡siedztwa bie»¡cego punktu

Co to jest s¡siedztwo?

de�niujemy operator s¡siedztwa

s¡ to wszystkie punkty, które mo»emy uzyska¢ z bie»¡cego przy

pomocy zde�niowanego operatora

Czy przegl¡damy wszystkie punkty s¡siedztwa?

dziedzina dyskretna � deterministycznie lub losowo

dziedzina ci¡gªa � losowo

Wa»ne: musi zabezpiecza¢ przed wpadni¦ciem w zamkni¦ty

cykl

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 25: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Generowanie nowego punktu przestrzeni

Jak wybieramy nowy punkt przestrzeni?

z s¡siedztwa bie»¡cego punktu

Co to jest s¡siedztwo?

de�niujemy operator s¡siedztwa

s¡ to wszystkie punkty, które mo»emy uzyska¢ z bie»¡cego przy

pomocy zde�niowanego operatora

Czy przegl¡damy wszystkie punkty s¡siedztwa?

dziedzina dyskretna � deterministycznie lub losowo

dziedzina ci¡gªa � losowo

Wa»ne: musi zabezpiecza¢ przed wpadni¦ciem w zamkni¦ty

cykl

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 26: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Generowanie nowego punktu przestrzeni

Jak wybieramy nowy punkt przestrzeni?

z s¡siedztwa bie»¡cego punktu

Co to jest s¡siedztwo?

de�niujemy operator s¡siedztwa

s¡ to wszystkie punkty, które mo»emy uzyska¢ z bie»¡cego przy

pomocy zde�niowanego operatora

Czy przegl¡damy wszystkie punkty s¡siedztwa?

dziedzina dyskretna � deterministycznie lub losowo

dziedzina ci¡gªa � losowo

Wa»ne: musi zabezpiecza¢ przed wpadni¦ciem w zamkni¦ty

cykl

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 27: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Dlaczego algorytm ma wad¦?

kroczy w kierunku lokalnego optimum (które nie koniecznie

jest optimum globalnym

problem: wiele lokalnym optimów

Jak sobie z tym poradzi¢?

jest kilka strategii

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 28: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Dlaczego algorytm ma wad¦?

kroczy w kierunku lokalnego optimum (które nie koniecznie

jest optimum globalnym

problem: wiele lokalnym optimów

Jak sobie z tym poradzi¢?

jest kilka strategii

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 29: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Strategia wielostartu (multi-start)

Idea:

wielokrotnie uruchamiamy ten sam algorytm z wielu punktów

poczatkowych

je±li zauwa»amy, »e bie»¡ce rozwi¡zanie pomimo du»ej ilo±ci

iteracji pozostaje niezmienione � przerywamy, zapami¦tujemy

je i zaczynamy z innego punktu pocz¡tkowego

Jak wybieramy nowy punkt pocz¡tkowy?

losujemy

Na koniec zwracamy najlepsze rozwi¡zanie ze wszystkich

uruchomie«.

Ta strategia te» ma swoje wady.

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 30: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Strategia wielostartu (multi-start)

Idea:

wielokrotnie uruchamiamy ten sam algorytm z wielu punktów

poczatkowych

je±li zauwa»amy, »e bie»¡ce rozwi¡zanie pomimo du»ej ilo±ci

iteracji pozostaje niezmienione � przerywamy, zapami¦tujemy

je i zaczynamy z innego punktu pocz¡tkowego

Jak wybieramy nowy punkt pocz¡tkowy?

losujemy

Na koniec zwracamy najlepsze rozwi¡zanie ze wszystkich

uruchomie«.

Ta strategia te» ma swoje wady.

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 31: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Strategia wielostartu (multi-start)

Idea:

wielokrotnie uruchamiamy ten sam algorytm z wielu punktów

poczatkowych

je±li zauwa»amy, »e bie»¡ce rozwi¡zanie pomimo du»ej ilo±ci

iteracji pozostaje niezmienione � przerywamy, zapami¦tujemy

je i zaczynamy z innego punktu pocz¡tkowego

Jak wybieramy nowy punkt pocz¡tkowy?

losujemy

Na koniec zwracamy najlepsze rozwi¡zanie ze wszystkich

uruchomie«.

Ta strategia te» ma swoje wady.

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 32: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Strategia wielostartu (multi-start)

Idea:

wielokrotnie uruchamiamy ten sam algorytm z wielu punktów

poczatkowych

je±li zauwa»amy, »e bie»¡ce rozwi¡zanie pomimo du»ej ilo±ci

iteracji pozostaje niezmienione � przerywamy, zapami¦tujemy

je i zaczynamy z innego punktu pocz¡tkowego

Jak wybieramy nowy punkt pocz¡tkowy?

losujemy

Na koniec zwracamy najlepsze rozwi¡zanie ze wszystkich

uruchomie«.

Ta strategia te» ma swoje wady.

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 33: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Strategia wielostartu ze zmody�kowanego bie»¡cegopoªo»enia (kick-start)

podobna do poprzedniej

zamiast losowa¢ zaburzamy aktualny punkt

Jak silnie zaburza¢?

na tyle silnie, aby opu±cic minimum lokalne

nie za mocno, aby nie stracic informacji o bie»¡cym punkcie �

mog¡ by¢ cenne

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 34: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Strategia wielostartu ze zmody�kowanego bie»¡cegopoªo»enia (kick-start)

podobna do poprzedniej

zamiast losowa¢ zaburzamy aktualny punkt

Jak silnie zaburza¢?

na tyle silnie, aby opu±cic minimum lokalne

nie za mocno, aby nie stracic informacji o bie»¡cym punkcie �

mog¡ by¢ cenne

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 35: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Iteracyjne przeszukiwanie lokalne (iterated local search)

przypomina poprzedni¡ strategie, ale

od teraz najlepsze rozwi¡zania to zbiór

korzysta z trzech procedur

algorytm przeszukiwania lokalnego � to ju» znamy

perturbacja

wybór najlepszego

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 36: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Iteracyjne przeszukiwanie lokalne (iterated local search)

przypomina poprzedni¡ strategie, ale

od teraz najlepsze rozwi¡zania to zbiór

korzysta z trzech procedur

algorytm przeszukiwania lokalnego � to ju» znamy

perturbacja

wybór najlepszego

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 37: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Iteracyjne przeszukiwanie lokalne (iterated local search)

przypomina poprzedni¡ strategie, ale

od teraz najlepsze rozwi¡zania to zbiór

korzysta z trzech procedur

algorytm przeszukiwania lokalnego � to ju» znamy

perturbacja

wybór najlepszego

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 38: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Iteracyjne przeszukiwanie lokalne (iterated local search)

przypomina poprzedni¡ strategie, ale

od teraz najlepsze rozwi¡zania to zbiór

korzysta z trzech procedur

algorytm przeszukiwania lokalnego � to ju» znamy

perturbacja

wybór najlepszego

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 39: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Iteracyjne przeszukiwanie lokalne (iterated local search)

przypomina poprzedni¡ strategie, ale

od teraz najlepsze rozwi¡zania to zbiór

korzysta z trzech procedur

algorytm przeszukiwania lokalnego � to ju» znamy

perturbacja

wybór najlepszego

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 40: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Iteracyjne przeszukiwanie lokalne (iterated local search) c.d.

procedure algorytm2

x = jakie±_rozwi¡zanie_pocz¡tkowe

poprzednie_najlepsze_rozwi¡zania = {}

x* = algorytm1(x)

do

{

x' = perturbacja(x*,

poprzednie_najlepsze_rozwi¡zania)

x*' = algorytm1(x')

x* = wybor_najlepszego(x*, x*',

poprzednie_najlepsze_rozwi¡zania)

}

while(warunek_ko«ca_algorytmu)

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 41: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Procedura perturbacji

ma dopeªnia¢ dziaªanie algorytmu przeszukiwania lokalnego

nie mo»e by¢ zbyt silnia, bo to nie multi-start

nie mo»e tylko wprost mody�kowa¢, bo to kick-start

siªa zmienia si¦ w czasie i zale»y od zbioru najlepszych

rozwi¡za« � dostosowuje si¦ do aktualnych potrzeb

Jak dobiera¢ siª¦?

je±li w zbiorze najlepszych rozwi¡za« elementy nie ró»ni¡ si¦

zbytnio to zwi¦kszamy siª¦

i odwrotnie

mo»emy te» dokonywa¢ zaburze« na podstawie wi¦cej ni»

jednego (ostatniego) rozwi¡zania

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 42: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Procedura perturbacji

ma dopeªnia¢ dziaªanie algorytmu przeszukiwania lokalnego

nie mo»e by¢ zbyt silnia, bo to nie multi-start

nie mo»e tylko wprost mody�kowa¢, bo to kick-start

siªa zmienia si¦ w czasie i zale»y od zbioru najlepszych

rozwi¡za« � dostosowuje si¦ do aktualnych potrzeb

Jak dobiera¢ siª¦?

je±li w zbiorze najlepszych rozwi¡za« elementy nie ró»ni¡ si¦

zbytnio to zwi¦kszamy siª¦

i odwrotnie

mo»emy te» dokonywa¢ zaburze« na podstawie wi¦cej ni»

jednego (ostatniego) rozwi¡zania

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 43: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Procedura perturbacji

ma dopeªnia¢ dziaªanie algorytmu przeszukiwania lokalnego

nie mo»e by¢ zbyt silnia, bo to nie multi-start

nie mo»e tylko wprost mody�kowa¢, bo to kick-start

siªa zmienia si¦ w czasie i zale»y od zbioru najlepszych

rozwi¡za« � dostosowuje si¦ do aktualnych potrzeb

Jak dobiera¢ siª¦?

je±li w zbiorze najlepszych rozwi¡za« elementy nie ró»ni¡ si¦

zbytnio to zwi¦kszamy siª¦

i odwrotnie

mo»emy te» dokonywa¢ zaburze« na podstawie wi¦cej ni»

jednego (ostatniego) rozwi¡zania

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 44: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Procedura perturbacji

ma dopeªnia¢ dziaªanie algorytmu przeszukiwania lokalnego

nie mo»e by¢ zbyt silnia, bo to nie multi-start

nie mo»e tylko wprost mody�kowa¢, bo to kick-start

siªa zmienia si¦ w czasie i zale»y od zbioru najlepszych

rozwi¡za« � dostosowuje si¦ do aktualnych potrzeb

Jak dobiera¢ siª¦?

je±li w zbiorze najlepszych rozwi¡za« elementy nie ró»ni¡ si¦

zbytnio to zwi¦kszamy siª¦

i odwrotnie

mo»emy te» dokonywa¢ zaburze« na podstawie wi¦cej ni»

jednego (ostatniego) rozwi¡zania

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 45: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Procedura perturbacji

ma dopeªnia¢ dziaªanie algorytmu przeszukiwania lokalnego

nie mo»e by¢ zbyt silnia, bo to nie multi-start

nie mo»e tylko wprost mody�kowa¢, bo to kick-start

siªa zmienia si¦ w czasie i zale»y od zbioru najlepszych

rozwi¡za« � dostosowuje si¦ do aktualnych potrzeb

Jak dobiera¢ siª¦?

je±li w zbiorze najlepszych rozwi¡za« elementy nie ró»ni¡ si¦

zbytnio to zwi¦kszamy siª¦

i odwrotnie

mo»emy te» dokonywa¢ zaburze« na podstawie wi¦cej ni»

jednego (ostatniego) rozwi¡zania

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 46: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Procedura perturbacji

ma dopeªnia¢ dziaªanie algorytmu przeszukiwania lokalnego

nie mo»e by¢ zbyt silnia, bo to nie multi-start

nie mo»e tylko wprost mody�kowa¢, bo to kick-start

siªa zmienia si¦ w czasie i zale»y od zbioru najlepszych

rozwi¡za« � dostosowuje si¦ do aktualnych potrzeb

Jak dobiera¢ siª¦?

je±li w zbiorze najlepszych rozwi¡za« elementy nie ró»ni¡ si¦

zbytnio to zwi¦kszamy siª¦

i odwrotnie

mo»emy te» dokonywa¢ zaburze« na podstawie wi¦cej ni»

jednego (ostatniego) rozwi¡zania

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 47: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Procedura perturbacji

ma dopeªnia¢ dziaªanie algorytmu przeszukiwania lokalnego

nie mo»e by¢ zbyt silnia, bo to nie multi-start

nie mo»e tylko wprost mody�kowa¢, bo to kick-start

siªa zmienia si¦ w czasie i zale»y od zbioru najlepszych

rozwi¡za« � dostosowuje si¦ do aktualnych potrzeb

Jak dobiera¢ siª¦?

je±li w zbiorze najlepszych rozwi¡za« elementy nie ró»ni¡ si¦

zbytnio to zwi¦kszamy siª¦

i odwrotnie

mo»emy te» dokonywa¢ zaburze« na podstawie wi¦cej ni»

jednego (ostatniego) rozwi¡zania

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 48: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Procedura wybór najlepszego

Czy najlepszy jest zawsze najlepszy?

niekoniecznie

mo»emy odrzuci¢ nowe rozwi¡zanie, nawet gdy jest lepsze, lecz

znajduje sie dostatecznie blisko poprzedniego

lub odwrotnie, zaakceptowa¢ gorsze je±li znajduje si¦ w maªo

eksplorowanej cz¦±ci przestrzeni

Wa»na jest wzajemna relacja mi¦dzy perturbacj¡ a wyborem

najlepszego. Nie chcemy, »eby perturbacja zostaªa zneutralizowana

przez wybór najlepszego, inaczej mo»emy znów utkn¡¢ w jednym

miejscu.

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 49: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Procedura wybór najlepszego

Czy najlepszy jest zawsze najlepszy?

niekoniecznie

mo»emy odrzuci¢ nowe rozwi¡zanie, nawet gdy jest lepsze, lecz

znajduje sie dostatecznie blisko poprzedniego

lub odwrotnie, zaakceptowa¢ gorsze je±li znajduje si¦ w maªo

eksplorowanej cz¦±ci przestrzeni

Wa»na jest wzajemna relacja mi¦dzy perturbacj¡ a wyborem

najlepszego. Nie chcemy, »eby perturbacja zostaªa zneutralizowana

przez wybór najlepszego, inaczej mo»emy znów utkn¡¢ w jednym

miejscu.

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 50: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Procedura wybór najlepszego

Czy najlepszy jest zawsze najlepszy?

niekoniecznie

mo»emy odrzuci¢ nowe rozwi¡zanie, nawet gdy jest lepsze, lecz

znajduje sie dostatecznie blisko poprzedniego

lub odwrotnie, zaakceptowa¢ gorsze je±li znajduje si¦ w maªo

eksplorowanej cz¦±ci przestrzeni

Wa»na jest wzajemna relacja mi¦dzy perturbacj¡ a wyborem

najlepszego. Nie chcemy, »eby perturbacja zostaªa zneutralizowana

przez wybór najlepszego, inaczej mo»emy znów utkn¡¢ w jednym

miejscu.

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 51: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Procedura wybór najlepszego

Czy najlepszy jest zawsze najlepszy?

niekoniecznie

mo»emy odrzuci¢ nowe rozwi¡zanie, nawet gdy jest lepsze, lecz

znajduje sie dostatecznie blisko poprzedniego

lub odwrotnie, zaakceptowa¢ gorsze je±li znajduje si¦ w maªo

eksplorowanej cz¦±ci przestrzeni

Wa»na jest wzajemna relacja mi¦dzy perturbacj¡ a wyborem

najlepszego. Nie chcemy, »eby perturbacja zostaªa zneutralizowana

przez wybór najlepszego, inaczej mo»emy znów utkn¡¢ w jednym

miejscu.

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 52: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Procedura wybór najlepszego

Czy najlepszy jest zawsze najlepszy?

niekoniecznie

mo»emy odrzuci¢ nowe rozwi¡zanie, nawet gdy jest lepsze, lecz

znajduje sie dostatecznie blisko poprzedniego

lub odwrotnie, zaakceptowa¢ gorsze je±li znajduje si¦ w maªo

eksplorowanej cz¦±ci przestrzeni

Wa»na jest wzajemna relacja mi¦dzy perturbacj¡ a wyborem

najlepszego. Nie chcemy, »eby perturbacja zostaªa zneutralizowana

przez wybór najlepszego, inaczej mo»emy znów utkn¡¢ w jednym

miejscu.

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 53: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Podstumowanie itercyjnego przeszukiwania lokalnego

tworzenie rozwi¡zania pocz¡tkowego nie powinno wpªywa¢ na

jako±¢ uzyskiwanych wyników

algorytm1 powinien by¢ dopasowany specjalnie do

rozwi¡zywanego problemu

perturbacja i wybór najlepszego powinny od siebie zale»e¢

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 54: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Przeszukiwanie ze zmiennym s¡siedztwem

Motywacja: trudno±ci¡ w znalezieniu optimum globalnego mo»e by¢

operator s¡siedztwa, gdy» faworyzuje pewne fragmenty dziedziny.

wprowadzamy operator s¡siedztwa, który b¦dzie zmieniaª si¦ w

czasie

ka»de poprzednie s¡siedztwo jest podzbiorem nast¦pnego

gdy nie mo»emy znale¹¢ lepszego punktu w k-tym s¡siedztwie

poszukajmy w k + 1 gdzie k + 1 ≤ kmax

Dlaczego nie szuka¢ odrazu dla kmax?

wraz ze wzrostem k ro±nie zªo»ono±¢, wi¦c staramy zawsze

najpierw skorzysta¢ z s¡siedztwa ni»szego rz¦du

dla ka»dego k1 < k2, k1 jest przeszukiwane cz¦±ciej ni» k2 �

intuicyjnie oznacza to, »e cz¦±ciej przegl¡damy te bli»sze

s¡siedztwa, bo w rzeczywisto±ci optima zazwyczaj s¡

zgromadzone blisko siebie

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 55: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Przeszukiwanie ze zmiennym s¡siedztwem

Motywacja: trudno±ci¡ w znalezieniu optimum globalnego mo»e by¢

operator s¡siedztwa, gdy» faworyzuje pewne fragmenty dziedziny.

wprowadzamy operator s¡siedztwa, który b¦dzie zmieniaª si¦ w

czasie

ka»de poprzednie s¡siedztwo jest podzbiorem nast¦pnego

gdy nie mo»emy znale¹¢ lepszego punktu w k-tym s¡siedztwie

poszukajmy w k + 1 gdzie k + 1 ≤ kmax

Dlaczego nie szuka¢ odrazu dla kmax?

wraz ze wzrostem k ro±nie zªo»ono±¢, wi¦c staramy zawsze

najpierw skorzysta¢ z s¡siedztwa ni»szego rz¦du

dla ka»dego k1 < k2, k1 jest przeszukiwane cz¦±ciej ni» k2 �

intuicyjnie oznacza to, »e cz¦±ciej przegl¡damy te bli»sze

s¡siedztwa, bo w rzeczywisto±ci optima zazwyczaj s¡

zgromadzone blisko siebie

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 56: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Przeszukiwanie ze zmiennym s¡siedztwem

Motywacja: trudno±ci¡ w znalezieniu optimum globalnego mo»e by¢

operator s¡siedztwa, gdy» faworyzuje pewne fragmenty dziedziny.

wprowadzamy operator s¡siedztwa, który b¦dzie zmieniaª si¦ w

czasie

ka»de poprzednie s¡siedztwo jest podzbiorem nast¦pnego

gdy nie mo»emy znale¹¢ lepszego punktu w k-tym s¡siedztwie

poszukajmy w k + 1 gdzie k + 1 ≤ kmax

Dlaczego nie szuka¢ odrazu dla kmax?

wraz ze wzrostem k ro±nie zªo»ono±¢, wi¦c staramy zawsze

najpierw skorzysta¢ z s¡siedztwa ni»szego rz¦du

dla ka»dego k1 < k2, k1 jest przeszukiwane cz¦±ciej ni» k2 �

intuicyjnie oznacza to, »e cz¦±ciej przegl¡damy te bli»sze

s¡siedztwa, bo w rzeczywisto±ci optima zazwyczaj s¡

zgromadzone blisko siebie

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 57: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Przeszukiwanie ze zmiennym s¡siedztwem

Motywacja: trudno±ci¡ w znalezieniu optimum globalnego mo»e by¢

operator s¡siedztwa, gdy» faworyzuje pewne fragmenty dziedziny.

wprowadzamy operator s¡siedztwa, który b¦dzie zmieniaª si¦ w

czasie

ka»de poprzednie s¡siedztwo jest podzbiorem nast¦pnego

gdy nie mo»emy znale¹¢ lepszego punktu w k-tym s¡siedztwie

poszukajmy w k + 1 gdzie k + 1 ≤ kmax

Dlaczego nie szuka¢ odrazu dla kmax?

wraz ze wzrostem k ro±nie zªo»ono±¢, wi¦c staramy zawsze

najpierw skorzysta¢ z s¡siedztwa ni»szego rz¦du

dla ka»dego k1 < k2, k1 jest przeszukiwane cz¦±ciej ni» k2 �

intuicyjnie oznacza to, »e cz¦±ciej przegl¡damy te bli»sze

s¡siedztwa, bo w rzeczywisto±ci optima zazwyczaj s¡

zgromadzone blisko siebie

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 58: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Przeszukiwanie ze zmiennym s¡siedztwem

Motywacja: trudno±ci¡ w znalezieniu optimum globalnego mo»e by¢

operator s¡siedztwa, gdy» faworyzuje pewne fragmenty dziedziny.

wprowadzamy operator s¡siedztwa, który b¦dzie zmieniaª si¦ w

czasie

ka»de poprzednie s¡siedztwo jest podzbiorem nast¦pnego

gdy nie mo»emy znale¹¢ lepszego punktu w k-tym s¡siedztwie

poszukajmy w k + 1 gdzie k + 1 ≤ kmax

Dlaczego nie szuka¢ odrazu dla kmax?

wraz ze wzrostem k ro±nie zªo»ono±¢, wi¦c staramy zawsze

najpierw skorzysta¢ z s¡siedztwa ni»szego rz¦du

dla ka»dego k1 < k2, k1 jest przeszukiwane cz¦±ciej ni» k2 �

intuicyjnie oznacza to, »e cz¦±ciej przegl¡damy te bli»sze

s¡siedztwa, bo w rzeczywisto±ci optima zazwyczaj s¡

zgromadzone blisko siebie

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 59: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Przeszukiwanie ze zmiennym s¡siedztwem

Motywacja: trudno±ci¡ w znalezieniu optimum globalnego mo»e by¢

operator s¡siedztwa, gdy» faworyzuje pewne fragmenty dziedziny.

wprowadzamy operator s¡siedztwa, który b¦dzie zmieniaª si¦ w

czasie

ka»de poprzednie s¡siedztwo jest podzbiorem nast¦pnego

gdy nie mo»emy znale¹¢ lepszego punktu w k-tym s¡siedztwie

poszukajmy w k + 1 gdzie k + 1 ≤ kmax

Dlaczego nie szuka¢ odrazu dla kmax?

wraz ze wzrostem k ro±nie zªo»ono±¢, wi¦c staramy zawsze

najpierw skorzysta¢ z s¡siedztwa ni»szego rz¦du

dla ka»dego k1 < k2, k1 jest przeszukiwane cz¦±ciej ni» k2 �

intuicyjnie oznacza to, »e cz¦±ciej przegl¡damy te bli»sze

s¡siedztwa, bo w rzeczywisto±ci optima zazwyczaj s¡

zgromadzone blisko siebie

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 60: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Przeszukiwanie ze zmiennym s¡siedztwem

Motywacja: trudno±ci¡ w znalezieniu optimum globalnego mo»e by¢

operator s¡siedztwa, gdy» faworyzuje pewne fragmenty dziedziny.

wprowadzamy operator s¡siedztwa, który b¦dzie zmieniaª si¦ w

czasie

ka»de poprzednie s¡siedztwo jest podzbiorem nast¦pnego

gdy nie mo»emy znale¹¢ lepszego punktu w k-tym s¡siedztwie

poszukajmy w k + 1 gdzie k + 1 ≤ kmax

Dlaczego nie szuka¢ odrazu dla kmax?

wraz ze wzrostem k ro±nie zªo»ono±¢, wi¦c staramy zawsze

najpierw skorzysta¢ z s¡siedztwa ni»szego rz¦du

dla ka»dego k1 < k2, k1 jest przeszukiwane cz¦±ciej ni» k2 �

intuicyjnie oznacza to, »e cz¦±ciej przegl¡damy te bli»sze

s¡siedztwa, bo w rzeczywisto±ci optima zazwyczaj s¡

zgromadzone blisko siebie

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 61: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Przeszukiwanie ze zmiennym s¡siedztwem c.d.

procedure algorytm3

x = jakie± rozwi¡zanie pocz¡tkowe

k = 1

do

{

x' = element z k-tego s¡siedztwa x

if(x' < x)

x = x', k = 1

else

k++

}

while(k < k_max)

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 62: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Uogólnione przeszukiwanie ze zmiennym s¡siedztwem

procedure algorytm4

x = jakie± rozwi¡zanie pocz¡tkowe

l = 1

do

{

x' = element z l-tego s¡siedztwa x

algorytm3(x')

if(x' < x)

x = x', l = 1

else

l++

}

while(l < l_max)

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 63: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Skrzywione przeszukiwanie ze zmiennym s¡siedztwem

Co, gdy optima s¡ rozproszone?

podobnie jak wcze±niej

chcemy da¢ szans¦ gorszym rozwi¡zaniom, aby przeszuka¢ ich

s¡siedztwa, je±li s¡ dostatecznie oddalone od bie»¡cego

Idea:

mody�kujemy funkcj¦ oceny

dla zadania minimalizacji jako±¢ nowego rozwi¡zania chcemy

pomniejszy¢

f ′(y) = f (y)− α||x , y ||α � staªa, wspóªczynnik wagowy, ||x , y || � odlegªo±¢ mi¦dzy

rozwi¡zaniami w przestrzeni

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 64: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Skrzywione przeszukiwanie ze zmiennym s¡siedztwem

procedure algorytm5

x = jakies rozwiazanie poczatkowe

x_opt = x, f_opt = f(x_opt)

l = 1

do {

x' = element z k-tego sasiedztwa x

x'' = algorytm1(x')

if(x'' < x)

x_opt = x''

f_opt = f(x_opt)

if(f(x'') - a||x,x''|| < f(x))

x = x''

l = 1

else

l++

} while(l < l_max)

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 65: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Przykªady konkretnych algorytmów

algorytm A*

algorytm Lin-Kernighan

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne

Page 66: Algorytmy heurystyczne - Algorytmy przeszukiwania lokalnegoprz/2011lato/ah/opracowania/szuk_lok.pdf · Algorytmy heurystyczne Algorytmy przeszukiwania lokalnego Piotr Gajowiak, Paweª

Dzi¦kujemy za uwag¦.

Piotr Gajowiak, Paweª Kacprzak Algorytmy heurystyczne