• Nie Znaleziono Wyników

TC funkcjacelu. π rozwi¡zaniePK( π rozwi¡zanieoptymalne); , c ( i,j ∈{ 1 ,...,n } )parametryPK;permutacja TC ( π )= c + c −→ min .n Znale¹¢permutacj¦miast π ,dlaktórej Zadanie: c = c ,c ∈ R . c ,i,j ∈{ 1 ,...,n } ,i 6 = j odlegªo±¢mi¦dzymiastem i ami

N/A
N/A
Protected

Academic year: 2021

Share "TC funkcjacelu. π rozwi¡zaniePK( π rozwi¡zanieoptymalne); , c ( i,j ∈{ 1 ,...,n } )parametryPK;permutacja TC ( π )= c + c −→ min .n Znale¹¢permutacj¦miast π ,dlaktórej Zadanie: c = c ,c ∈ R . c ,i,j ∈{ 1 ,...,n } ,i 6 = j odlegªo±¢mi¦dzymiastem i ami"

Copied!
34
0
0

Pełen tekst

(1)
(2)
(3)

Przykªady problemów optymalizacji kombinatorycznej Problem Komiwoja»era (PK)

Dane:

n  liczba miast, n ∈

Z

+,

cji, i, j ∈ {1, . . . , n}, i 6= j  odlegªo±¢ mi¦dzy miastem i a miastem j, cji = cij, cji

R

+.

Zadanie:

Znale¹¢ permutacj¦ miast π, dla której T C(π) =

n−1 X

j=1

cπ(j)π(j+1) + cπ(n)π(1) −→ min .

n, cij (i, j ∈ {1, . . . , n})  parametry PK;

permutacja π  rozwi¡zanie PK (π  rozwi¡zanie optymalne);

T C  funkcja celu.

(4)

1

4 5

3 2 c

12

(= c

21

) = 9

c

34

= 6

c

45

= 10

c

25

= 10 c

13

= 7

c

35

= 8 c

23

= 4

n = 5

Przykładowa instancja PK

c

14

= 6

(5)

1

4 5

3 2 c

12

= 9

c

45

= 10

c

25

= 10 c

13

= 7

c

35

= 8 c

23

= 4

Przykładowe rozwiązanie π

1

instancji PK

TC(π

1

) = 9 + 10 + 10 + 6 + 7 = 42 π

1

= < 1, 2, 5, 4, 3 >

c

14

= 6 c

34

= 6

(6)

1

4 5

3 2 c

12

= 9

c

45

= 10

c

25

= 10 c

13

= 7

c

35

= 8 c

23

= 4

Rozwiązanie π

2

TC(π

2

) = 37 < TC(π

1

) = 42 π

2

= < 1, 3, 2, 5, 4 >

c

14

= 6 c

34

= 6

(7)

Problem Plecakowy (PP) Dane:

A = {a1, a2, . . . , an}  zbiór n przedmiotów, n ∈

Z

+, sj, j = 1, . . . , n  rozmiar przedmiotu aj, sj

Z

+, wj, j = 1, . . . , n  warto±¢ przedmiotu aj, wj

Z

+, B  rozmiar plecaka.

Zadanie: Znale¹¢ podzbiór A0 ⊆ A zbioru przedmiotów taki, »e T S = X

j∈A0

sj ≤ B oraz

T W = X

j∈A0

wj −→ max .

n, A, sj, wj (j = 1, . . . , n)  parametry PP;

podzbiór A0  rozwi¡zanie PP;

T W  funkcja celu (T S  dodatkowe ograniczenie).

(8)

Przykªadowa instancja PP n = 5, A = {a1, a2, a3, a4, a5},

j 1 2 3 4 5

sj 5 3 2 4 5 wj 3 4 2 6 1 B = 10.

Rozwi¡zanie (dopuszczalne) optymalne: A0 = {a2, a3, a4},

P

j∈A0 sj = 9 ≤ B = 10,

P

j∈A0 wj = 12.

(9)

Problem szeregowania zada«

1|r

j

|C

max Dane:

J = {J1, J2, . . . , Jn}  zbiór n zada«, n ∈

Z

+,

pojedynczy procesor maj¡cy zrealizowa¢ wszystkie zadania J1, . . . , Jn, pj, j = 1, . . . , n  czas wykonywania (dªugo±¢) zadania Jj, pj

R

+, rj, j = 1, . . . , n  termin dost¦pno±ci zadania Jj, rj

R

+ ∪ {0},

Zadanie: Znale¹¢ permutacj¦ zada« π, dla której

C

max = max

j∈J {Cπ(j)} −→ min,

gdzie Cπ(j) = Sπ(j) + pπ(j) jest czasem zako«czenia wykonywania zadania zajmuj¡cego j-t¡ pozycj¦ w π; Sπ(j) = max{Cπ(j−1), rπ(j)}  czas rozpocz¦cia wykonywania zadania π(j), Cπ(0) = 0, j = 1, . . . , n.

(10)
(11)

Na czym polega trudno±¢ rozwi¡zania problemów optymalizacji kom- binatorycznej?

Liczno±¢ zbioru rozwi¡za«

X

wi¦kszo±ci realnie istniej¡cych problemów jest tak du»a, »e:

(a) procedura polegaj¡ca na sprawdzeniu wszystkich mo»liwych rozwi¡za«

problemu (tzw. przegl¡d zupeªny), i wyznaczenie w±ród nich rozwi¡za- nia optymalnego, wymaga nieakceptowalnie dªugiego czasu (np. milio- nów lat);

(b) skonstruowanie algorytmów wyznaczaj¡cych optymalne (b¡d¹ chocia»

bliskie optymalnym) rozwi¡zania tych problemów w sensownym czasie jest zadaniem nietrywialnym.

(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)

Funkcja zªo»ono±ci obliczeniowej algorytmu

A

fA(N (I)) = max{t : t  ilo±¢ operacji (jednostek czasu) potrzebnych do rozwi¡zania dowolnej instancji I problemu o roz- miarze N(I) przez algorytm A}

(N (I) = n)

W praktyce wa»ny jest tylko ksztaªt funkcji fA(N (I)) (tzn. jej zachow- nie dla rosn¡cych warto±ci rozmiaru problemu N(I)), a nie konkretny czas (konkretne warto±ci funkcji fA).

Notacja

O(·)

 funkcja f(n) jest rz¦du O(g(n)) je±li

_

c,N

^

n≥N

0 ≤ f (n) ≤ c · g(n), czyli

f (n)

g(n) −→ c dla n → ∞,

(tzn. dla n → ∞ funkcje f(n) i g(n) zachowuj¡ si¦ podobnie).

(22)
(23)
(24)
(25)

Przykªady:

f

(

n

)

O

(

g

(

n

))

n2 − 2n + 5 O(n2)

1

2n · π log n2 O(n log n)

1

2nπ log n2 O(nlog n)

23n−8 O(2n)

n! − 100n25 + 0, 3n0,3 O(n!)

(26)

Czasy dziaªania algorytmów o okre±lonych funkcjach zªo»ono±ci oblicze- niowej, przy zaªo»eniu, »e jedna operacja matematyczna zajmuje

1µs

.

f

A

(n) n

10 20 30 40 50 60

O(n)

0,00001 s 0,00002 s 0,00003 s 0,00004 s 0,00005 s 0,00006 s

O(n

2

)

0,0001 s 0,0004 s 0,0009 s 0,0016 s 0,0025 s 0,0036 s

O(n

5

)

0,1 s 3,2 s 24,3 s 1,7 min 5,2 min 13 min

O(n

10

)

2,7 h 118,5 dni 18,7 lat 3,3 30,9 192

wieków wieków wieki

O(2

n

)

0,001 s 1,0 s 17,9 min 12,7 dni 35,7 lat 366

wieków

O(3

n

)

0,59 s 58 min 6,5 roku 3855 2 *

10

8 1,3 * 1013 wieków wieków wieków

O(n!)

3,6 s 770 8,4 *1016 2,5 * 1032 9,6 * 1048 2,6 * 1966 wieków wieków wieków wieków wieków

(27)

Wpªyw wzrostu szybko±ci komputerów na czasy dziaªania algorytmów o okre±lonych funkcjach zªo»ono±ci obliczeniowej.

f

A

(n)

Rozmiar instancji rozwi¡zywany Rozmiar instancji rozwi¡zywany w okre±lonym czasie przez w tym samym czasie przez

wolny komputer komputer 1000 razy szybszy

O(n)

n1 1000·n1

O(n

2

)

n2 31, 62·n2

O(n

5

)

n3 3, 98·n3

O(n

10

)

n4 1, 99·n4

O(2

n

)

n5 n5+10

O(3

n

)

n6 n6+6

n7+3 dla n7 ≤ 10

O(n!)

n7 n7+2 dla 10 < n7 ≤ 30

n7+1 dla 30 < n7 ≤ 1000

(28)

Rodzaje algorytmów ze wzgl¦du na zªo»ono±¢ obliczeniow¡:

Algorytmy wielomianowe  algorytmy, których funkcja zªo»ono±ci obli- czeniowej f(n) jest rz¦du O(p(n)), gdzie p(n) jest pewnym wielomianem zale»nym od rozmiaru problemu n, np. O(n), O(n2), O(n log n) (algo- rytmy efektywne obliczeniowo).

Algorytmy wykªadnicze (ponadwielomianowe)  algorytmy, których funk- cji zªo»ono±ci obliczeniowej f(n) nie da si¦ ograniczy¢ »adnym wielo- mianem p(n), np. O(2n), O(nlog n), O(n!) (algorytmy nieefektywne obliczeniowo).

(29)

Klasy zªo»ono±ci algorytmów:

1. Klasa P  zawiera wszystkie problemy, dla których skonstruowano wielomianowe algorytmy optymalne.

2. Klasa NP  zawiera wszystkie problemy, dla których skonstruowano wykªadnicze algorytmy optymalne.

P ⊂ N P

, poniewa» je±li dla pewnego problemu mamy alg. wielomia- nowy, zawsze mo»emy skonstruowa¢ alg. mniej efektywny (wykªadni- czy), np. przegl¡d zupeªny.

3. Klasa problemów NP-trudnych  podklasa NP problemów wielomia- nowo ekwiwalentnych, dla których (najprawdopodobniej) nie mo»na skon- struowa¢ algorytmów wielomianowych.

N P −

trudne

⊂ N P

, ale

P ∩N P −

trudne

= ∅

.

4. Klasa problemów silnie NP-trudnych  podklasa problemów NP- trudnych, których nie mo»na rozwi¡za¢ optymalnie w czasie pseudo- wielomianowym.

(30)

Dokªadne okre±lenie przynale»no±ci danego problemu do klasy zªo»ono±ci pozwala skonstruowa¢ najodpowiedniejsze algorytmy jego rozwi¡zania.

W tym celu:

(i) albo szukamy dla danego problemu optymalnego algorytmu wielomiano- wego (klasa P),

(ii) albo udowadniamy jego (siln¡) NP-trudno±¢,

przy czym nie ma reguªy, od którego z punktów nale»y zacz¡¢ analiz¦.

Problemy, dla których nie skonstruowano algorytmów wielomianowych (i) ani nie udowodniono (silnej) NP-trudno±ci (ii), tworz¡ klas¦ tymczasow¡

(tzw. problemów otwartych).

(31)

W praktyce:

9% istniej¡cych problemów nale»y do klasy P,

84% nale»y do klasy problemów NP-trudnych,

z czego 79% nale»y do klasy problemów silnie NP-trudnych,

7% to problemy otwarte.

(32)

probl. silnie NP-trudne probl. NP-trudne

klasa P

probl. „otwarte”

klasa NP

(33)

Rodzaje algorytmów (metod) optymalnych:

• Wielomianowe algorytmy dokªadne (dedykowane)  tylko dla problemów z klasy P.

• Programowanie dynamiczne  gªównie dla problemów NP-trudnych w zwykªym sensie (tzn. nie silnie NP-trudnych).

• Programowanie caªkowitoliczbowe.

• Metoda podziaªu i ogranicze«  gªównie dla problemów (silnie) NP- trudnych.

• Przegl¡d zupeªny.

(34)

Rodzaje algorytmów (metod) przybli»onych:

• Algorytmy konstrukcyjne i zachªanne  gªównie dla problemów NP- trudnych.

• Algorytmy typu popraw  gªównie dla problemów (silnie) NP-trudnych:

 lokalnego poszukiwania (np. poszukiwanie zst¦puj¡ce, poszukiwanie losowe),

 metaheurystyczne (np. poszukiwanie z zabronieniami (tabu se- arch), symulowane wy»arzanie, poszukiwanie genetyczne (ewolucyjne), poszukiwanie mrówkowe).

• Wielomianowe i w peªni wielomianowe schematy aproksymacyjne  gªównie dla problemów NP-trudnych.

Cytaty

Powiązane dokumenty

Tutaj takich obserwacji

Wykonawca jest odpowiedzialny za prowadzenie robót zgodnie z kontraktem (umową) oraz za jakość zastosowanych materiałów i wykonywanych robót z ich zgodnością z

- laboratorium – należy przez to rozumieć laboratorium jednostki naukowej, zamawiającego, wykonawcy lub inne laboratorium badawcze zaakceptowane przez

o na podstawie rankingu wynikowego sztafet w sezonie halowym 2020 (rezultaty uzyskane w Polsce w halach ze świadectwem PZLA lub na mityngach z kalendarzy EA lub/i WA), letnim 2019

ściu z muzeum ma się wrażenie, że miasto jest odbiciem przed chwilą widzianych. malowideł, jakby to ono z nich brało

Przedmiotem niniejszej specyfikacji technicznej (ST) są wymagania dotyczące wykonania i odbioru robót związanych z układaniem i montaŜem elementów

przed planowaną godziną rozpoczęcia konkurencji 20’ przed startem w biegu sztafetowym na 30 minut przed startem (wyprowadzenie seriami) 15’ przed startem Uwaga 1:

na dodatkowym stole - jednorazowo 50 zł... na dodatkowym stole - jednorazowo