• Nie Znaleziono Wyników

Algorytmy wstawień

W dokumencie Index of /rozprawy2/10260 (Stron 63-69)

3.5 Analiza obliczeniowa efektywności algorytmów harmonogramowania

3.5.3 Algorytmy wstawień

Celem eksperymentów jest znalezienie najlepszych algorytmów wstawień: najsku-teczniejszych reguł priorytetowych oraz najefektywniejszych kryteriów oceny harmono-gramów częściowych. Ustalane są najlepsze reguły priorytetowe stosowane do ustalania kolejności zadań na liście L oraz najlepsze zasady ustalania kolejności zadań nie umieszczonych na liście P przy kryterium K1 oceny uszeregowań częściowych.

Wyniki eksperymentów dla poszczególnych algorytmów wstawień zaprezentowane są w załączniku 1 w tabeli 33.

W tabeli 7 zestawione są średnie czasy trwania i najlepsze średnie wartości funkcji celu harmonogramowania nominalnego poszczególnych algorytmów wstawień.

Tabela 7. Średnie czasy trwania i najlepsze średnie wartości funkcji celu harmonogramowania nominalnego poszczególnych algorytmów wstawień

Algorytm

30 zadań 90 zadań

szeregowy SGS równoległy SGS szeregowy SGS równoległy SGS

t maxFn t maxFn t maxFn t maxFn

W1, K1 0.011 250.8 (RN13)* 0.042 229.1 (RN13) 0.340 331.7 (RN13) 2.234 296.6 (RN13) W1, K2 0.006 216.7 (RN13) 0.014 214.8 (RN13) 0.161 297.9 (RN13) 0.778 290.2 (RN2) W1, K3 0.006 246.2 (RN15) 0.014 231.1 (RN2) 0.166 344.6 (RN2) 0.785 309.7 (RN2) W2, K1 0.010 221.2 (RN1) 0.039 219.7 (RN0) 0.458 211.3 (RN1) 2.449 202.4 (RN1) W2, K2 0.004 149.0 0.009 44.3 0.067 98.2 0.317 -107.1 W2, K3 0.004 160.7 0.009 47.0 0.061 110.9 0.259 -10.4 W3, K1 0.015 198.3 (RN13) 0.089 193.9 (RN0) 0.653 190.9 (RN11) 5.878 187.2 (RN1) W3, K2 0.005 129.4 0.021 94.9 0.161 87.1 0.723 -35.3 W3, K3 0.005 132.1 0.023 59.0 0.191 97.6 0.848 -77.2

* - w nawiasie zastosowana reguła priorytetowania w algorytmie o największej wartości Fn

Najlepsze harmonogramy są znajdowane przez algorytm W1. Najmniej skuteczny jest najbardziej czasochłonny obliczeniowo algorytm W3.

Na efektywność W1 znaczny wpływ ma użyta reguła priorytetowa stosowana do ustalania kolejności rozpatrywanych zadań (porządku na liście L). W zastosowaniu do procedury W1 najefektywniejsze są reguły, które są wydajne także dla algorytmów prio-rytetowych (reguły RN2, RN3, RN13, RN15), niezależnie od przyjętego kryterium oceny harmonogramów częściowych.

Reguły priorytetowe stosowane przy ustalaniu kolejności zadań nie umieszczonych na liście zadań P przy stosowaniu kryterium K2 i K3 oceny harmonogramów częścio-wych nie mają dużego wpływu na efektywność uszeregowania złożonego z wszystkich zadań.

Eksperymenty wykazują lepszą przeciętną skuteczność szeregowej procedury deko-dującej niż równoległej SGS. Korzyści ze stosowania szeregowej SGS można zaobser-wować zwłaszcza dla wydajnych algorytmów wstawień. Dla każdego typu algorytmu wstawień najlepsze wartości Fn są znajdowane za pomocą szeregowej procedury deko-dującej.

Dla problemów 30-zadaniowych przeciętnie najlepsze rozwiązania osiągane są przy zastosowaniu W1 z kryterium oceny K1 z regułą priorytetową RN13 (250.8 średnia war-tość Fn). Dla problemów 90-zadaniowych najlepsze harmonogramy uzyskiwane są przy wykorzystaniu W1 z kryterium oceny K3 z regułą priorytetową RN2 (344.6 przeciętna

wartość Fn). Średnie wartości Fn są wyższe niż dla najlepszych algorytmów prioryte-towych.

Kryterium oceny harmonogramów częściowych K2 jest najmniej efektywne dla każ-dego z proponowanych algorytmów wstawień. Algorytm W1 z kryterium K1 oceny harmonogramów częściowych dla skutecznych reguł priorytetowania jest porównywal-nie skuteczny jak z kryterium K3. Natomiast dla algorytmów W2 i W3 stosując kryte-rium K1 uzyskuje się harmonogramy lepszej jakości niż przy ocenie uszeregowań czę-ściowych za pomocą kryteriów K3.

3.5.4 Algorytmy metaheurystyczne

Celem eksperymentów jest znalezienie najlepszych algorytmów metaheurystycz-nych. Rezultaty eksperymentów dla wydajnych algorytmów priorytetowych i wstawień wskazują na niższą efektywność równoległej procedury dekodującej SGS niż szerego-wego SGS i ze względu na dużą czasochłonność obliczeń równoległy SGS nie jest sto-sowany podczas obliczeń dla metaheurystyk.

W celu porównania działania testowanych algorytmów w każdym eksperymencie przyjęta jest stała liczba wygenerowanych rozwiązań w procesie przeszukiwania prze-strzeni rozwiązań równa 5000: 5000 iteracji w algorytmie SA, 100 pokoleń przy rozmia-rze populacji wynoszącej 50 osobników w algorytmie GA.

W drodze doświadczeń ustalono następujące parametry GA: prawdopodobieństwo krzyżowania 0.6, prawdopodobieństwo mutacji 0.2, liczba osobników elitarnych 2.

W załączniku 1 w tabelach 34-35 przedstawione są wyniki obliczeń osiągnięte przez algorytm genetyczny z różnymi parametrami tj. operator krzyżowania (PPX, 1PX, 2PX,

PRX), mutacji (M0 – Zamień, M1 – Zamień sąsiednie, M2 – Wstaw, M3 – Inwersja),

selekcji (ruletka, turniejowa, rankingowa), z lokalnym przeszukiwaniem najlepszych rozwiązań przy użyciu technik jednoargumentowych (LS1 – stosowana mutacja Wstaw

wszystkie, LS2 – mutacja Zamień wszystkie, LS3 – mutacja Zamień sąs. wszystkie).

Rezultaty osiągane przez GA są lepsze dla projektów z zestawu J30 i gorsze dla pro-jektów z zestawu J90 niż wyniki otrzymywane przez najlepsze algorytmy wstawień. Najlepsza średnia wartość funkcji celu harmonogramowania nominalnego uzyskiwana jest przez algorytm genetyczny o następujących parametrach:

dla zestawu J30 Fn równe 274.1 – krzyżowanie 2PX, mutacja Wstaw, selekcja tur-niejowa, bez przeszukiwań lokalnych najlepszego rozwiązania,

dla zestawu J90 Fn równe 309.4 – krzyżowanie 1PX, mutacja Wstaw, selekcja tur-niejowa, bez przeszukiwań lokalnych najlepszego rozwiązania.

Wśród metod wyboru nowego pokolenia najlepsze rezultaty osiągane są przy zasto-sowaniu metody rankingowej i turniejowej, ale wpływ wyboru metody selekcji na osią-gane wyniki nie jest duży.

Najskuteczniejszymi operatorami krzyżowania są 2PX, PPX. Zdecydowanie najgor-sze unajgor-szeregowania są generowane przy zastosowaniu krzyżowania PRX. W tabelach 8-9 zestawione są wyniki eksperymentów dla poszczególnych operatorów krzyżowania.

Tabela 8. Przeciętne i najlepsze wartości funkcji celu harmonogramowania nominalnego dla algo-rytmu genetycznego w zależności od stosowanego operatora krzyżowania (zestaw J30)

Operator krzyżowania ruletka turniejowa rankingowa

średnieFn max Fn średnieFn max Fn średnieFn max Fn

PPX 259.9 273.5 262.4 273.4 262.3 273.2

1PX 258.1 272.8 260.7 270.7 260.9 272.0

2PX 259.0 273.3 261.6 274.0 261.1 274.1

PRX 213.5 217.6 215.3 225.2 216.1 223.0

Tabela 9. Przeciętne i najlepsze wartości funkcji celu harmonogramowania nominalnego dla algo-rytmu genetycznego w zależności od stosowanego operatora krzyżowania (zestaw J90)

Operator krzyżowania ruletka turniejowa rankingowa

średnieFn max Fn średnieFn max Fn średnieFn max Fn

PPX 242.8 308.2 252.5 307.6 252.4 307.1

1PX 235.2 304.7 243.4 309.4 243.4 301.8

2PX 236.7 308.5 245.1 306.2 245.6 307.9

PRX 160.1 165.3 165.7 176.4 166.4 177.2

Wśród operatorów mutacji najefektywniejszy jest, zwłaszcza dla projektów 90-zadaniowych, operator M2 – Wstaw. Najmniej skutecznym jest operator M1 – Zamień

sąsiednie. W tabelach 10-11 porównane są wyniki eksperymentów dla poszczególnych

operatorów mutacji.

Tabela 10. Przeciętne i najlepsze wartości funkcji celu harmonogramowania nominalnego dla algo-rytmu genetycznego w zależności od stosowanego operatora mutacji (zestaw J30)

Operator mutacji

ruletka turniejowa rankingowa

średnieFn max Fn średnieFn max Fn średnieFn max Fn

M0 – Zamień 247.4 272.3 250.2 271.3 250.3 270.9

M1 – Zamień sąsiednie 245.7 263.2 247.5 264.6 248.1 263.6

M2 – Wstaw 248.7 273.5 251.9 274.0 251.0 274.1

M3 – Inwersja 248.5 272.0 250.4 270.6 251.0 272.3

Tabela 11. Przeciętne i najlepsze wartości funkcji celu harmonogramowania nominalnego dla algo-rytmu genetycznego w zależności od stosowanego operatora mutacji (zestaw J90)

Operator mutacji

ruletka turniejowa rankingowa

średnieFn max Fn średnieFn max Fn średnieFn max Fn

M0 – Zamień 218.6 295.7 226.8 293.9 227.1 297.3

M1 – Zamień sąsiednie 214.5 279.4 223.0 282.4 222.7 276.9

M2 – Wstaw 221.0 308.5 230.0 309.4 229.6 307.9

M3 – Inwersja 220.7 306.9 226.8 295.8 228.3 300.4

Najskuteczniejszą strategią poszukiwań jest zastosowanie GA bez hybrydyzacji. Lo-kalne przeszukiwanie najlepszych rozwiązań (chromosomów) obniża jakość uzyskiwa-nych harmonogramów (przy maksymalnej liczbie 5000 przeglądniętych rozwiązań). W tabelach 12-13 zestawione są wyniki eksperymentów dla poszczególnych strategii hybrydyzacji GA.

Tabela 12. Przeciętne i najlepsze wartości funkcji celu harmonogramowania nominalnego dla algo-rytmu genetycznego w zależności od metody przeszukiwania najlepszych rozwiązań (zestaw J30)

Operator mutacji

ruletka turniejowa rankingowa

średnieFn max Fn średnieFn max Fn średnieFn max Fn

Bez LS 255.9 273.5 254.8 274.0 255.2 274.1

LS1 235.3 246.5 242.6 252.4 242.4 252.8

LS2 – Wstaw 248.2 261.4 250.8 266.1 250.3 264.2

LS3 – Inwersja 250.9 266.5 251.8 267.1 252.5 267.7

Tabela 13. Przeciętne i najlepsze wartości funkcji celu harmonogramowania nominalnego dla algo-rytmu genetycznego w zależności od metody przeszukiwania najlepszych rozwiązań (zestaw J90)

Operator mutacji

ruletka turniejowa rankingowa

średnieFn max Fn średnieFn max Fn średnieFn max Fn

Bez LS 260.4 308.5 259.2 309.4 259.4 307.9

LS1 171.7 186.5 189.9 206.9 190.3 203.2

LS2 – Wstaw 209.5 236.1 217.9 246.4 217.6 245.4

LS3 – Inwersja 233.3 261.5 239.7 272.9 240.4 272.7

W załączniku 1 w tabelach 36-39 zaprezentowane są rezultaty eksperymentów przy zastosowaniu metaheurystyki symulowanego wyżarzania w zależności od stosowanego schematu chłodzenia (fazy strojenia, temperatury początkowej, końcowej), typów ruchu (Zamień, Zamień sąsiednie, Wstaw, Inwersja, Wstaw wszystkie, Zamień wszystkie,

Za-mień sąs. wszystkie, losowy wybór ruchu11

). W tabelach 37, 39 stosowany jest algorytm

SA, w którym rozwiązanie początkowe jest znajdowane przez najlepszy z algorytmów

wstawień znaleziony w rozdziale 3.5.3. Dla problemów 30-zadaniowych jest to procedu-ra W1 z kryterium oceny K1 z regułą priorytetową RN13, natomiast dla problemów 90-zadaniowych W1 z kryterium oceny K3 z regułą priorytetową RN2.

Rezultaty osiągane przez SA są lepsze niż wyniki otrzymywane przez najlepsze algo-rytmy wstawień i algorytm genetyczny. Najlepsza średnia wartość funkcji celu harmo-nogramowania nominalnego uzyskiwana jest przez algorytm SA, w którym stosowany jest ruch typu Zamień wszystkie, z parametrami chłodzenia ustalanymi w fazie strojenia, z rozwiązaniem początkowym znalezionym przez najefektywniejszy algorytm wstawień:

dla zestawu J30 Fn równe 281.5 – z geometrycznym schematem chłodzenia,  dla zestawu J90 Fn równe 407.2 – z logarytmicznym schematem chłodzenia.

Można zaobserwować zróżnicowane wyniki dla różnych technik przeszukiwania przestrzeni rozwiązań. Najskuteczniejsze są ruchy typu Wstaw (dla problemów 90– zadaniowych) i ruch typu Zamień wszystkie (dla problemów 30–zadaniowych), nato-miast najmniej efektywny jest ruch Zamień sąs. wszystkie. W tabelach 14-15 zestawione są wyniki eksperymentów dla poszczególnych typów ruchu.

11 Wykonywany ruch dla danego rozwiązania aktualnego jest wybierany każdorazowo w sposób losowy spośród ruchów: Zamień, Zamień sąsiednie, Wstaw, Inwersja, Wstaw wszystkie, Zamień wszystkie, Za-mień sąs. wszystkie.

Tabela 14. Przeciętne i najlepsze wartości funkcji celu harmonogramowania nominalnego dla algo-rytmu symulowanego wyżarzania w zależności od stosowanego ruchu (zestaw J30)

Ruch

Schemat geometryczny Schemat logarytmiczny Schemat liniowy średnieFn max Fn średnieFn max Fn średnieFn max Fn

Zamień 260.1 271.7 259.4 261.8 257.4 263.2 Zamień sąsiednie 252.4 260.9 254.2 267.0 253.9 260.0 Wstaw 245.7 259.1 247.6 256.3 245.1 255.4 Inwersja 261.0 269.5 251.3 257.4 257.5 261.2 Zamień wszystkie 274.3 279.4 274.0 278.7 274.5 280.0 Wstaw wszystkie 259.4 271.3 257.2 271.6 261.5 272.0 Zamień sąs. wszystkie 160.7 253.6 158.6 253.2 154.7 250.6

losowy wybór ruchu 268.1 269.9 268.7 275.1 268.0 271.3

Zamień* 268.6 272.7 261.0 263.2 267.1 271.5 Zamień sąsiednie* 271.2 276.2 271.5 274.6 270.2 273.8 Wstaw* 265.8 271.1 254.1 257.0 261.3 266.2 Inwersja* 269.6 273.2 258.2 261.0 266.1 269.6 Zamień wszystkie* 280.9 281.5 279.2 279.8 279.7 280.5 Wstaw wszystkie* 275.1 277.7 271.7 275.4 275.7 277.7 Zamień sąs. wszystkie* 260.8 260.8 260.8 260.8 260.8 260.8

losowy wybór ruchu* 276.4 279.3 277.2 278.9 277.3 279.8

* - rozwiązanie początkowe znalezione przez najlepszy algorytm wstawień

Tabela 15. Przeciętne i najlepsze wartości funkcji celu harmonogramowania nominalnego dla algo-rytmu symulowanego wyżarzania w zależności od stosowanego ruchu (zestaw J90)

Ruch

Schemat geometryczny Schemat logarytmiczny Schemat liniowy średnieFn max Fn średnieFn max Fn średnieFn max Fn

Zamień 228.2 286.0 273.3 313.6 227.6 250.8 Zamień sąsiednie 152.2 246.8 188.3 286.7 159.5 242.4 Wstaw 233.9 312.7 281.5 323.3 241.9 300.5 Inwersja 226.9 273.6 254.3 302.7 231.4 255.7 Zamień wszystkie 261.2 326.4 251.5 322.3 258.6 323.7 Wstaw wszystkie 235.8 306.0 235.0 311.4 233.5 304.2 Zamień sąs. wszystkie 56.3 231.1 55.5 236.8 55.7 229.5

losowy wybór ruchu 194.7 269.4 200.9 289.8 191.6 269.8

Zamień* 372.9 401.5 375.8 382.3 369.5 386.8 Zamień sąsiednie* 375.7 392.0 384.4 386.6 375.9 389.6 Wstaw* 368.3 400.5 358.5 361.3 358.6 363.2 Inwersja* 368.8 393.2 364.2 366.4 363.7 372.4 Zamień wszystkie* 404.1 404.1 403.9 407.2 404.0 406.2 Wstaw wszystkie* 388.9 392.3 390.5 392.0 388.0 391.2 Zamień sąs. wszystkie* 364.8 364.8 364.8 364.8 364.8 364.8

losowy wybór ruchu* 383.4 392.7 390.3 393.4 383.9 393.8

* - rozwiązanie początkowe znalezione przez najlepszy algorytm wstawień

Wpływ przyjętego schematu chłodzenia (logarytmiczny, geometryczny, liniowy) na jakość uzyskanych harmonogramów nie jest duży. Zastosowanie fazy strojenia, w której ustalone jest rozwiązanie startowe SA oraz parametry schematu chłodzenia zwiększa jakość wygenerowanych rozwiązań dla najefektywniejszych ruchów. Mniejszy wpływ na rezultaty ma zastosowanie strojenia w przypadku, gdy początkowe rozwiązanie jest znalezione przez najlepszy algorytm wstawień. Najefektywniejszy jest algorytm SA z rozwiązaniem początkowym ustalanym przez algorytm wstawień, przy czym czas działania takiego algorytmu jest dłuższy. W przypadku SA bez fazy strojenia, najlepiej sprawdza się przyjęcie niskiej temperatury początkowej T0 = 10. W tabelach 16-17

po-równane są wyniki eksperymentów dla poszczególnych strategii ustalania parametrów chłodzenia.

Tabela 16. Przeciętne i najlepsze wartości funkcji celu harmonogramowania nominalnego dla algo-rytmu symulowanego wyżarzania w zależności od stosowanego ruchu (zestaw J30)

Ruch

Schemat geometryczny Schemat logarytmiczny Schemat liniowy średnieFn max Fn średnieFn max Fn średnieFn max Fn Bez fazy strojenia,

T0 = 10, Tmin = 0.001 247.5 271.7 240.9 270.6 242.7 270.8

Bez fazy strojenia,

T0 = 100, Tmin = 0.01 245.8 274.4 240.3 274.1 244.0 273.0

Bez fazy strojenia,

T0 = 1000, Tmin = 0.1 234.4 275.5 239.7 272.5 236.2 274.2

Z fazą strojenia:

200 los. rozwiązań 263.1 279.4 264.6 278.7 263.4 280.0

Bez fazy strojenia,

T0 = 10, Tmin = 0.001* 272.3 280.3 265.3 278.3 269.1 279.9

Bez fazy strojenia,

T0 = 100, Tmin = 0.01* 273.4 280.6 265.9 279.8 272.0 279.8

Bez fazy strojenia,

T0 = 1000, Tmin = 0.1* 269.5 281.3 267.3 279.7 269.1 280.1

Z fazą strojenia:

200 los. Rozwiązań* 269.0 281.5 268.3 279.2 268.9 280.5

* - rozwiązanie początkowe znalezione przez najlepszy algorytm wstawień

Tabela 17. Przeciętne i najlepsze wartości funkcji celu harmonogramowania nominalnego dla algo-rytmu symulowanego wyżarzania w zależności od stosowanego ruchu (zestaw J90)

Ruch

Schemat geometryczny Schemat logarytmiczny Schemat liniowy

średnieFn max Fn średnieFn max Fn średnieFn max Fn

Bez fazy strojenia,

T0 = 10, Tmin = 0.001 205.7 312.7 188.1 262.3 195.7 300.5

Bez fazy strojenia,

T0 = 100, Tmin = 0.01 174.5 236.4 192.1 269.7 188.5 251.7

Bez fazy strojenia,

T0 = 1000, Tmin = 0.1 151.8 240.5 191.7 270.7 154.5 238.9

Z fazą strojenia:

200 los. rozwiązań 262.6 326.4 298.3 323.3 261.1 323.7

Bez fazy strojenia, T0 = 10, Tmin =

0.001*

392.6 403.9 379.4 404.2 382.3 402.6

Bez fazy strojenia, T0 = 100, Tmin =

0.01*

377.4 404.1 380.0 402.2 377.9 404.6

Bez fazy strojenia, T0 = 1000, Tmin =

0.1*

372.4 404.1 378.4 401.9 372.1 402.7

Z fazą strojenia:

200 los. Rozwiązań* 371.2 404.1 378.4 407.2 371.8 406.2

* - rozwiązanie początkowe znalezione przez najlepszy algorytm wstawień

W tabelach 18-19 porównane są czasy działania poszczególnych algorytmów harmo-nogramowania nominalnego analizowane w tej rozprawie. Przedstawione są także wy-niki działania opracowanych procedur odniesione do najlepszych uzyskanych wyników spośród wszystkich wygenerowanych rozwiązań.

Tabela 18. Zestawienie informacji o algorytmach harmonogramowania nominalnego (zestaw J30)

P1 P1R P2 W1,K1 W2,K1 W3,K1 GA SA SAzW1

t 1•10-7 3•10-7 8•10-7

0.011 0.010 0.015 0.380 0.359 0.369

maxFn 230.4 189.9 189.6 250.8 221.2 198.3 274.1 280.0 281.5

Tabela 19. Zestawienie informacji o algorytmach harmonogramowania nominalnego (zestaw J90)

P1 P1R P2 W1,K1 W2,K1 W3,K1 GA SA SAzW1

t 7•10-7 2•10-6 6•10-6 0.340 0.458 0.653 2.036 1.594 1.932

maxFn 323.3 209.6 231.6 344.6 211.3 190.9 309.4 326.4 407.2

W załączniku 1 w tabelach 40-50 zaprezentowane są wyniki działania opracowanych procedur odniesione do najlepszych uzyskanych wyników spośród wszystkich wygene-rowanych rozwiązań.

Najbardziej efektywny jest algorytm SA, zwłaszcza dla problemów większych, zło-żonych z 90 zadań.

Dla zestawu J30 najskuteczniejszy jest algorytm symulowanego wyżarzania, w któ-rym stosowany jest ruch typu Zamień wszystkie, z parametrami chłodzenia ustalanymi w fazie strojenia, z rozwiązaniem początkowym znalezionym przez najefektywniejszy algorytm wstawień, z geometrycznym schematem chłodzenia, znajduje najlepsze roz-wiązanie, spośród wszystkich opracowanych heurystyk, dla 373 instancji testowych spośród 480 dostępnych. Średnie odchylenie Fn dla tego algorytmu SA od największej znalezionej wartości funkcji celu harmonogramowania nominalnego wynosi 1.7%.

Dla problemów 90-zadaniowych najefektywniejszy jest również algorytm SA, w któ-rym stosowany jest ruch typu Zamień wszystkie, z parametrami chłodzenia ustalanymi w fazie strojenia, z rozwiązaniem początkowym znalezionym przez najefektywniejszy algorytm wstawień, z logarytmicznym schematem chłodzenia. Znajduje on najlepsze rozwiązanie dla 221 instancji testowych spośród 480 analizowanych. Średnie odchylenie

Fn dla tego algorytmu SA od największej znalezionej wartości funkcji celu harmonogra-mowania nominalnego wynosi 7.1%.

W dokumencie Index of /rozprawy2/10260 (Stron 63-69)