ZASTOSOWANIE ALGORYTMÓW MRÓWKOWYCH W ROZWIĄZANIU PROBLEMU SZEREGOWANIA ZADAŃ APPLICATION OF ANT COLONY SYSTEMS IN SOLVING OF TASK SCHEDULING PROBLEM

Podobne dokumenty
Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Algorytmy mrówkowe. P. Oleksyk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Obliczenia inspirowane Naturą

Wykład 4. Droga i cykl Eulera i Hamiltona

Techniki optymalizacji

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Wybrane podstawowe rodzaje algorytmów

Droga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona

Systemy mrówkowe. Opracowali: Dawid Strucker, Konrad Baranowski

Algorytmy mrówkowe w dynamicznych problemach transportowych

Algorytmy mrówkowe (ang. Ant Colony Optimization)

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Problem Komiwojażera - algorytmy metaheurystyczne

Metody Programowania

Problem komiwojażera ACO. Zagadnienie optymalizacyjne, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym.

Optymalizacja. Wybrane algorytmy

Zadania laboratoryjne i projektowe - wersja β

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

WYKORZYSTANIE ALGORYTMÓW GENETYCZNYCH I MRÓWKOWYCH W PROBLEMACH TRANSPORTOWYCH

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Szeregowanie zadań. Wykład nr 3. dr Hanna Furmańczyk

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

a) 7 b) 19 c) 21 d) 34

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Algorytmy mrówkowe. Plan. » Algorytm mrówkowy» Warianty» CVRP» Demo» Środowisko dynamiczne» Pomysł modyfikacji» Testowanie

Przegląd metod optymalizacji wielowymiarowej. Funkcja testowa. Funkcja testowa. Notes. Notes. Notes. Notes. Tomasz M. Gwizdałła

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Algorytmy metaheurystyczne podsumowanie

Spacery losowe generowanie realizacji procesu losowego

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Algorytm grupowania danych typu kwantyzacji wektorów

Problemy optymalizacyjne - zastosowania

Algorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja Instytut Informatyki Uniwersytetu Wrocławskiego

Obliczenia Naturalne - Algorytmy Mrówkowe

Ekonometria - ćwiczenia 10

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

HARMONOGRAMOWANIE ROBÓT BUDOWLANYCH Z MINIMALIZACJĄ ŚREDNIEGO POZIOMU ZATRUDNIENIA

Optymalizacja. Przeszukiwanie lokalne

Rozdział 1 PROGRAMOWANIE LINIOWE

Sterowanie procesami dyskretnymi

CHARAKTERYSTYKA I ZASTOSOWANIA ALGORYTMÓW OPTYMALIZACJI ROZMYTEJ. E. ZIÓŁKOWSKI 1 Wydział Odlewnictwa AGH, ul. Reymonta 23, Kraków

Tomasz M. Gwizdałła 2012/13

Algorytm genetyczny (genetic algorithm)-

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Metody przeszukiwania

Metody systemowe i decyzyjne w informatyce

Zagadnienie transportowe

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Planowanie przedsięwzięć

Wykład z Technologii Informacyjnych. Piotr Mika

STATYKA Z UWZGLĘDNIENIEM DUŻYCH SIŁ OSIOWYCH

Rozwiązanie problemu komiwojażera przy użyciu algorytmu genetycznego 2

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Harmonogramowanie przedsięwzięć

SZTUCZNA INTELIGENCJA

PRZEWODNIK PO PRZEDMIOCIE

Tabu Search (Poszukiwanie z zakazami)

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

Harmonogramowanie produkcji

Problemy z ograniczeniami

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji

Algorytmika Problemów Trudnych

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Wykład na Politechnice Krakowskiej w dniu 18 stycznia 2012 r. ZADAŃ I ALGORYTMÓW W OPTYMALIZACJI DYSKRETNEJ

Schemat programowania dynamicznego (ang. dynamic programming)

ZASTOSOWANIE SPLOTU FUNKCJI DO OPISU WŁASNOŚCI NIEZAWODNOŚCIOWYCH UKŁADÓW Z REZERWOWANIEM

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Szeregowanie zadań. Wykład nr 2. dr Hanna Furmańczyk. 12 października 2014

Algorytmy ewolucyjne 1

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Priorytetyzacja przypadków testowych za pomocą macierzy

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Algorytmy mrówkowe wprowadzenie.

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe

Przykªady problemów optymalizacji kombinatorycznej

Przykład planowania sieci publicznego transportu zbiorowego

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Wstęp do Sztucznej Inteligencji

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Co to jest grupowanie

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

9.9 Algorytmy przeglądu

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

METODY OPTYMALIZACJI. Tomasz M. Gwizdałła 2018/19

Zadania jednorodne 5.A.Modele przetwarzania równoległego. Rafał Walkowiak Przetwarzanie równoległe Politechnika Poznańska 2010/2011

Programowanie celowe #1

Obliczenia z wykorzystaniem sztucznej inteligencji

Problem 1 prec f max. Algorytm Lawlera dla problemu 1 prec f max. 1 procesor. n zadań T 1,..., T n (ich zbiór oznaczamy przez T )

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

8. Neuron z ciągłą funkcją aktywacji.

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Transkrypt:

GRZEGORZ FILO ZASTOSOWANIE ALGORYTMÓW MRÓWKOWYCH W ROZWIĄZANIU PROBLEMU SZEREGOWANIA ZADAŃ APPLICATION OF ANT COLONY SYSTEMS IN SOLVING OF TASK SCHEDULING PROBLEM S t r e s z c z e n i e A b s t r a c t W artykule przedstawiono propozycję rozwiązania problemu szeregowania zadań TSP (ang. Task Scheduling Problem) określonego za pomocą skierowanego grafu w warunkach ograniczonych zasobów za pomocą algorytmów mrówkowych ACS (ang. Ant Colony System). Zaprojektowano i wykonano własne oprogramowanie w środowisku RAD C++ Turbo Explorer. Oprogramowanie posłużyło do przeprowadzenia wielu badań pozwalających na dobór parametrów ACS w celu rozwiązania problemu TSP. Wyniki wskazują, że zastosowanie ACS stanowi korzystną alternatywę dla używanych algorytmów suboptymalnych typu wielomianowego, jak algorytm Hu lub LPT. Słowa kluczowe: algorytmy mrówkowe, optymalizacja, szeregowanie zadań In this paper is presented proposal of solving the task scheduling problem (TSP) given by directed graph, under limited resources condition using the ant colony system (ACS). The own software in C++ Turbo Explorer rapid application development environment was designed and developed. The software was used to carry out series of simulations, what allowed to choose the best parameters of the ACS in solving of the TSP problem. The results indicate, that using of the ACS is an advantageous option to commonly used suboptimal polynomial algorithms, like Hu or LPT. Keywords: ant colony systems, optimization, task scheduling Dr inż. Grzegorz Filo, Instytut Informatyki Stosowanej, Wydział Mechaniczny, Politechnika Krakowska.

136 Oznaczenia Z, R zbiór zadań oraz zbiór zasobów n, m liczba zadań oraz liczba zasobów i, j indeksy służące do numerowania zadań i zasobów w wektor wag (kosztów jednostkowych) wykonania zadań τ macierz czasów wykonania zadań C wektor czasów zakończenia wykonywania zadań ρ, η natężenie śladu feromonowego, oraz długość (czas wykonania) zadania α, β nastawialne parametry G k, S k, P k wektor zadań nieprzydzielonych, aktualnie dostępnych, przydzielonych γ współczynnik parowania feromonu N, q 0 rozmiar populacji i parametr określający sposób wyboru kolejnego zadania L liczba cykli (iteracji) 1. Wstęp W ostatnich latach, wraz z szybkim zwiększaniem mocy obliczeniowych komputerów, nastąpił wzrost zainteresowania zastosowaniem heurystycznych metod rozwiązywania trudnych problemów kombinatorycznych [7]. Do tej grupy zaliczane są m.in. sieci neuronowe, algorytmy genetyczne, algorytmy mrówkowe, systemy rozmyte czy poszukiwanie rozwiązania metodą Tabu Search [1, 4, 5]. W niniejszym artykule podjęto tematykę rozwiązania problemu szeregowania zadań TSP [2, 6] za pomocą algorytmów mrówkowych. Problem TSP w ogólnym przypadku nie może być rozwiązany optymalnie za pomocą algorytmów deterministycznych, ponieważ pod względem złożoności obliczeniowej należy do grupy NP-zupełnych. 2. Model problemu szeregowania zadań TSP W ogólności w problemie szeregowania dany jest ustalony system zadań, które powinny być wykonane z wykorzystaniem posiadanego zbioru zasobów. Korzystając z posiadanych charakterystyk zadań i zasobów oraz nałożonych na nie ograniczeń (np. ograniczenie kolejnościowe), należało opracować algorytm optymalizacyjny oparty na systemie kolonii mrówek ACS, którego kryterium jest znalezienie możliwie najkrótszego całkowitego czasu wykonania zadań. Na model problemu składają się modele zasobów, systemu zadań oraz kryterium optymalności [2, 6]. Model zasobów jest zwykle przedstawiany w postaci zbioru R = {R 1 R m }. W zależności od problemu poszczególne zasoby mogą być definiowane jako równoległe spełniające te same funkcje, lub dedykowane różniące się wykonywanymi funkcjami [2]. Wśród zasobów równoległych można wyróżnić trzy rodzaje, w zależności od wydajności pracy: jeżeli każdy zasób R i jest w stanie wykonywać wszystkie zadania zdefiniowane w zbiorze Z z taką samą wydajnością, zasoby są określane jako identyczne. Jeżeli poszczególne zasoby różnią się wydajnościami, ale wydajność każdego z nich jest stała, niezależna od zadania, zasoby są określane jako jednorodne. Jeżeli natomiast

137 wydajności co najmniej dwóch zasobów R i, R k zależą od wykonywanego zadania Z j, wtedy zasoby są niezależne. Ogólnie, system zadań dla danego zbioru zasobów może być zdefiniowany jako układ U = (Z,, τ, R, w) [2], gdzie: zbiór zadań do wykonania Z = {Z 1 Z n }, antyzwrotna relacja częściowego porządku zdefiniowana na zbiorze Z określa operacyjne ograniczenia kolejnościowe (Z i Z k oznacza, że wykonanie zadania Z k nie może się rozpocząć przed zakończeniem wykonywania zadania Z i ). Istnienie przynajmniej jednego ograniczenia kolejnościowego sprawia, że zbiór Z staje się zbiorem zadań zależnych, macierz czasów wykonania zadań τ o wymiarze m n, gdzie τ ij > 0 jest czasem wykonywania zadania Z j, 1 j n, z wykorzystaniem zasobu R i, 1 i m. Zakłada się, że τ ij =, jeżeli zadanie Z j nie może być wykonywane przez zasób R i oraz że dla każdego j istnieje co najmniej jedno i dla którego τ ij <. Jeżeli zasoby są identycz- ne, τ j oznacza czas wykonywania zadania Z j na dowolnym zasobie, wagi w i, 1 i n są interpretowane jako koszty jednostkowe, które w ogólności mogą być dowolnymi funkcjami własności uszeregowania mającymi wpływ na zadanie Z i. Zwykle przyjmuje się, że w i są stałe, dlatego koszt związany z zakończeniem wykonywania zadania Z i w chwili t jest równy w i t. Jako kryterium optymalności przyjęto minimalizację długości czasu wykonania wszystkich zadań MIN(C max ), określonego za pomocą zadania o największym czasie zakończenia wykonywania max{c j }: MIN(C max ) = MIN(max{C j }, j = 1 n). (1) 3. Implementacja algorytmów obliczeniowych W zbudowanym oprogramowaniu zaimplementowano algorytm ACS oraz algorytmy LPT i Hu, które posłużyły do przeprowadzenia badań porównawczych. 3.1. Model systemu kolonii mrówek ACS Algorytmy mrówkowe to grupa metod przeznaczona do poszukiwania optymalnego rozwiązania zadań. Metody te, zaproponowane po raz pierwszy w latach 90., stosowane są zazwyczaj do rozwiązywania trudnych problemów kombinatorycznych [3, 4]. Podstawowymi cechami algorytmów ACS są: poszukiwanie oparte na populacji osobników, które nie komunikują się w sposób bezpośredni, odporność na nieznane warunki środowiska i wzajemne stymulacja przez dodatnie sprzężenie zwrotne. ACS jest systemem wieloagentowym, w którym działanie poszczególnych agentów odpowiada działaniu pojedynczych mrówek poszukujących wartościowych dla nich zasobów. Każdy z agentów, zwanych, sztucznymi mrówkami, realizuje identyczną strategię szukania najkrótszej drogi do celu. Ponadto istnieje w systemie pewna forma gromadzenia doświadczeń i uwzględnienia ich w dalszych poszukiwaniach (ślad feromonowy), co sprawia, że w miarę upływu czasu mrówki wspólnie dopracowują się zbioru najkrótszych

138 ścieżek wiodących ich do wyznaczonych celów. Schemat działania algorytmu mrówkowego opracowanego do rozwiązania problemu TSP zapisano następująco: void SystemMrowkowy() { N = ustal_rozmiar_populacji(); ustal_poczatkowy_poziom_feromonu(); do{ for i=0 to N-1 wygeneruj_sciezke_mrowki(i); wyznacz_najlepszy_wynik(); odparuj_i_uaktualnij_feromon(); }while(warunek_konca_algorytmu); } Na początku algorytmu tworzona jest populacja mrówek o zadanym rozmiarze N i ustalany początkowy poziom feromonu. W każdej iteracji (cyklu) dany osobnik rozpoczyna wędrówkę od zadania początkowego. Wszystkie zadania oprócz pierwszego są zapisywane w wektorze G k zadań nieprzydzielonych. Następnie następuje wyznaczenie wektora zadań dostępnych w bieżącym kroku S k i osobnik wykonuje krok poprzez wybór jednego z nich. Algorytm wyboru jest zależny od parametru q 0. W zależności od wartości tego parametru może nastąpić losowy wybór zadania z wektora S k lub metodą ruletki, przy czym w tym wypadku prawdopodobieństwo wyboru wierzchołka jest dane wzorem: [ ρij ( t)] [ η ] k ij pij ( t) =, α β ([ ρ ( t)] [ η ] k j l N il α β il i gdzie j S k. (2) Po wyborze zadania jest ono przyporządkowywane do zasobu, na którym może być wykonane najwcześniej przy uwzględnieniu ograniczeń. Przyporządkowane zadanie jest usuwane z wektora G k zapisywane w pamięci osobnika (wektor P k ) w celu uniknięcia jego ponownego wyboru i krok jest powtarzany do momentu aż G k =. Po wygenerowaniu ścieżek przez wszystkie osobniki populacji wyznaczana jest najkrótsza z nich (najlepsze rozwiązanie). Następuje odparowanie feromonu ze wszystkich krawędzi, a następnie dodanie nowej wartości na krawędziach, po których poruszały się osobniki w bieżącej iteracji według wzoru: ρ ( t + 1) = (1 γ) ρ ( t) + ρ ( t) (3) ij ij ij k= 1 Cykle są powtarzane, aż zostanie spełniony warunek końca algorytmu. Warunkiem tym może być osiągnięcie zadanej liczby cykli lub uzyskanie czasu uszeregowania krótszego niż założony czas wymagany. m 3.2. Algorytm LPT I Hu Algorytm LPT jest typu wielomianowego, suboptymalnego. Polega on na przydzielaniu aktualnie wolnego zasobu do wykonania najdłuższego zadania z listy dostępnych w danej chwili. W ocenie jego dokładności udowodniono [2], że dla zbioru zadań niezależnych stosunek długości uszeregowania otrzymanego za pomocą algorytmu LPT do długości odpowiedniego uszeregowania optymalnego spełnia nierówność:

LPT max max 139 C 4 1. (4) C 3 3m Algorytm Hu jest algorytmem dokładnym, wielomianowym dla problemu szeregowania zadań o jednostkowych czasach wykonania tworzących diagraf typu antydrzewa przy założeniu identycznych zasobów. Algorytm ten składa się z trzech kroków [2]. Na początku następuje określenie poziomów zadań. Jeśli liczba zadań bez poprzedników jest mniejsza lub równa m, następuje przydzielenie zadaniom zasobów i przejście do następnego kroku. W przeciwnym razie następuje wybór m zadań o najwyższych poziomach i przydzielenie im zasobów (dla zadań tego samego poziomu wybór jest dowolny). Na końcu kroku przydzielone zadania są usuwane z grafu. Krok drugi należy powtarzać do momentu przydzielenia wszystkich zadań. Poziom zadania w grafie określa długość najdłuższej drogi rozpoczynającej się w danym wierzchołku, liczonej jako suma czasów wykonania zadań leżących na tej drodze. 4. Charakterystyka i wyniki badań W badaniach wykorzystano testowe grafy zadań dostępne w serwisie internetowym [8]. Dostępne są grafy o rozmiarze od n = 50 do n = 5000. Na rysunku 1 przedstawiono zależność uzyskanej długości uszeregowania zadań przykładowego grafu (n = 100) w zależności od rozmiaru populacji ACS i liczby cykli obliczeń. Na wykresie zamieszczono średnie wartości uzyskane z 10 powtórzeń każdej symulacji. Parametry ACS: α = 1,0, LPT β = 1,0, γ = 0,5, q 0 = 0,2. Długość uszeregowania algorytmem LPT wyniosła C max = 317. Rys. 1. Długość uszeregowania w funkcji liczby osobników N i liczby cykli L Fig. 1. Length of scheduling time in function of agents number N and iterations number L Na rysunku 2 pokazano zależność uzyskiwanej długości uszeregowania od wartości parametrów q 0 i γ dla tego samego grafu, przy α = 1,0, β = 1,0, N = 100.

140 długo uszeregowania Cmax długo uszeregowania Cmax parametr ruletki q0 współczynnik parowania γ Rys. 2. Zale no długo ci uszeregowania w funkcji parametrów q 0 i γ Fig. 2. Length of scheduling time in function of parameters q 0 and γ 5. Wnioski W artykule podj to zadanie rozwi zania problemu szeregowania zada TSP za pomoc algorytmów mrówkowych ACS. Zadanie wykonano za pomoc własnego oprogramowania wykonanego w j zyku C++. Wyniki bada wskazuj, e zastosowanie ACS daje znacz co lepsze wyniki ni suboptymalny algorytm LPT. Na podstawie uzyskanych wyników zaproponowano dobór wybranych parametrów ACS na potrzeby rozwi zywania problemu TSP: parametr ruletki q 0 = 0,2 oraz współczynnik parowania feromonu γ = 0,5. L i t e r a t u r a [1] A n g u l i a r J., A General Ant Colony Model to solve Combinatorial Optimization Problems, Revista Colombiana de Computacion, Vol. 2, No. 1, 2001. [2] C o f f m a n E., Teoria szeregowania zada, WNT, Warszawa, 1980. [3] C o r n e D., D o r i g o M., G l o v e F., New ideas in Optimization, McGraw Hill, 1999. [4] D o r i g o M., S t ü t z l e T., Ant colony optimization, MIT Press, USA, 2004. [5] G r z y m k o w s k i R. i inni, Wybrane algorytmy optymalizacji. Algorytmy genetyczne, Algorytmy mrówkowe, PKJS, 2008. [6] S i n n e n O., S o u s a L., On Task Scheduling Accuracy: Evaluation Methodology and Results, The Journal of Supercomputing, Vol. 27, No. 2, Kluwer 2004. [7] T r o j a n o w s k i K., Metaheurystyki praktycznie, Wydawnictwo Wy szej Szkoły Informatyki i Zarz dzania, Warszawa 2003. [8] Serwis zawieraj cy przykładowe grafy zada (kasahara.elec.waseda.ac.jp/schedule/ index.html).