Równoleg³y algorytm tabu z elementami inspirowanymi natur¹ dla problemu planowania tras

Podobne dokumenty
Ethernet VPN tp. Twój œwiat. Ca³y œwiat.

Zarz¹dzanie sieci¹ wielkopowierzchniowych sklepów samoobs³ugowych

Hybrydowy algorytm tabu dla niepermutacyjnego problemu przep³ywowego z kryterium sumacyjnym

Czy przedsiêbiorstwo, którym zarz¹dzasz, intensywnie siê rozwija, ma wiele oddzia³ów lub kolejne lokalizacje w planach?

gdy wielomian p(x) jest podzielny bez reszty przez trójmian kwadratowy x rx q. W takim przypadku (5.10)

Równoleg³y algorytm hybrydowy dla problemu przep³ywowego z kryterium C sum

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

Blokady. Model systemu. Charakterystyka blokady

revati.pl Drukarnia internetowa Szybki kontakt z klientem Obs³uga zapytañ ofertowych rozwi¹zania dla poligrafii Na 100% procent wiêcej klientów

3.2 Warunki meteorologiczne

Techniki optymalizacji

Jedyny w Polsce tak nowoczesny system. wyœwietlania tekstu oparty o TABLET 10,1

IV. UK ADY RÓWNAÑ LINIOWYCH

Projektowanie procesów logistycznych w systemach wytwarzania

Rys Mo liwe postacie funkcji w metodzie regula falsi

Stronicowanie na ¹danie

SYMULACJA STOCHASTYCZNA W ZASTOSOWANIU DO IDENTYFIKACJI FUNKCJI GÊSTOŒCI PRAWDOPODOBIEÑSTWA WYDOBYCIA

(wymiar macierzy trójk¹tnej jest równy liczbie elementów na g³ównej przek¹tnej). Z twierdzen 1 > 0. Zatem dla zale noœci

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

Zagro enia fizyczne. Zagro enia termiczne. wysoka temperatura ogieñ zimno

Bazy danych. Andrzej Łachwa, UJ, /15

Zadania laboratoryjne i projektowe - wersja β

Krótka informacja o instytucjonalnej obs³udze rynku pracy

Podstawowe działania w rachunku macierzowym

Szanowny Kliencie, dziêkujemy za zaufanie jakim obdarzy³eœ nasz¹ firmê wybieraj¹c to urz¹dzenie.

CONSTRUCTOR. Kompaktowy magazyn z u yciem rega³ów wjezdnych. Deepstor P90 DRIVE -IN

Witold Bednarek. Konkurs matematyczny w gimnazjum Przygotuj siê sam!

PODNOSZENIE EFEKTYWNOŒCI PRZEDSIÊBIORSTWA - PROJEKTOWANIE PROCESÓW

ZA CZNIK C: FUNKCJE KLAWISZY I SPOSOBY WPROWADZANIA PARAMETRÓW

Algorytmy heurystyczne w UCB dla DVRP

Zasady racjonalnego dokumentowania systemu zarządzania

Stanowisko Rzecznika Finansowego i Prezesa Urzędu Ochrony Konkurencji i Konsumentów w sprawie interpretacji art. 49 ustawy o kredycie konsumenckim

Warunki Oferty PrOmOcyjnej usługi z ulgą

INSTRUKCJA DLA UCZESTNIKÓW ZAWODÓW ZADANIA

Regulamin oferty Taniej z Energą

PROJEKTOWANIE SYSTEMÓW LOGISTYCZNYCH PROJEKT SYSTEMY LOGISTYCZNE PODSTAWY TEORETYCZNE

Systemy mikroprocesorowe - projekt

Projektowanie bazy danych

Base 6T - widok z przodu

Lublin, Zapytanie ofertowe

SYS CO. TYLU MENAD ERÓW ROCZNIE na ca³ym œwiecie uzyskuje kwalifikacje ILM

Modelowanie œrodowiska 3D z danych pomiarowych**

System nagłośnieniowy i dźwiękowy system ostrzegawczy Bosch Praesideo

Zarządzenie nr 538 Wójta Gminy Zarszyn z dnia 9 czerwca 2014 r.

Automatyzacja pakowania

Procedura weryfikacji badania czasu przebiegu 1 paczek pocztowych

WOJEWÓDZKI KONKURS FIZYCZNY

E-9 09/04. Zespó³ kot³ów stoj¹cych SUPRASTAR MKN M/L. Materia³y projektowe. Uk³ady kaskadowe. Zawartoœæ opracowania:

Innym wnioskiem z twierdzenia 3.10 jest

Waldemar Szuchta Naczelnik Urzędu Skarbowego Wrocław Fabryczna we Wrocławiu

Informacje o omawianym programie. Założenia programu omawianego w przykładzie

S I M P L E. E R P ZARZ DZANIE MA J TKIEM.

Harmonogramowanie projektów Zarządzanie czasem

14.Rozwiązywanie zadań tekstowych wykorzystujących równania i nierówności kwadratowe.

PRZETWARZANIE DANYCH OSOBOWYCH

Analiza dzia³ania systemu gniazdowego z uwzglêdnieniem transportu i czasów przezbrojeñ**

Spe³nienie wymagañ czasu rzeczywistego w obrêbie rodziny sterowników PLC

Optymalizacja. Wybrane algorytmy

(0) (1) (0) Teoretycznie wystarczy wzi¹æ dowoln¹ macierz M tak¹, by (M) < 1, a nastêpnie obliczyæ wektor (4.17)

NAPRAWDÊ DOBRA DECYZJA

EGZAMIN MATURALNY Z INFORMATYKI

Współczesne nowoczesne budownictwo pozwala na wyrażenie indywidualnego stylu domu..

TÜV Rheinland Polska. Nowy Znak. Odpowiadamy na Pañstwa pytania.

Wprowadzenie. System operacyjny - program, który poœredniczy miêdzy u ytkownikiem komputera a sprzêtem komputerowym. Zadania systemu operacyjnego:

Zarząd Dróg Wojewódzkich. Wytyczne Techniczne. Zbigniew Tabor Kraków,

W z ó r u m o w y POSTANOWIENIA GENERALNE

Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

6. Projektowanie składu chemicznego stali szybkotn cych o wymaganej twardo ci i odporno ci na p kanie

Wrocław, 20 października 2015 r.

e-kadry.com.pl Ewa Drzewiecka Telepraca InfoBiznes

DWP. NOWOή: Dysza wentylacji po arowej

do 30 sekund włącznie zawierają informację Projekt/materiał dofinasowany z Unii Europejskiej

Sieci komputerowe cel

BEZPRZEWODOWA MYSZ OPTYCZNA FLAT PRO INSTRUKCJA OBS UGI

Wyszczególnienie. Wyszczególnienie

art. 488 i n. ustawy z dnia 23 kwietnia 1964 r. Kodeks cywilny (Dz. U. Nr 16, poz. 93 ze zm.),

O WIADCZENIE MAJ TKOWE radnego gminy

POWIATOWY URZĄD PRACY W LIDZBARKU WARMIŃSKIM

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

I.1.1. Technik spedytor 342[02]

Warszawa, dnia 28 sierpnia 2012 r. Poz. 966 ROZPORZĄDZENIE MINISTRA TRANSPORTU, BUDOWNICTWA I GOSPODARKI MORSKIEJ 1) z dnia 14 sierpnia 2012 r.

Automatyka przemys³owa

Gie³da Papierów Wartoœciowych w Warszawie S.A.

ABONENCKA CENTRALA TELEFONICZNA SIGMA. Instalacja sterownika USB

systemy informatyczne SIMPLE.ERP Bud etowanie dla Jednostek Administracji Publicznej

Biuro Certyfikacji Wyrobów Instytutu Górnictwa Naftowego i Gazownictwa. IRENA LUBINIECKA IRENA LUBINIECKA

DE-WZP JJ.3 Warszawa,

INSTRUKCJA DO PROGRAMU LICZARKA 2000 v 2.56

Instrukcja obsługi platformy zakupowej e-osaa (klient podstawowy)

SPECYFIKACJA ISTOTNYCH WARUNKÓW ZAMÓWIENIA DLA PRZETARGU NIEOGRANICZONEGO CZĘŚĆ II OFERTA PRZETARGOWA

Ogólna charakterystyka kontraktów terminowych

Zaawansowana adresacja IPv4

OBWIESZCZENIE ZARZĄDU PKP CARGO S.A. z dnia 15 grudnia 2008 r.

RÓWNOLEGŁY ALGORYTM POSZUKIWANIA Z ZABRONIENIAMI UKŁADANIA PLANU ZAJĘĆ

UMOWA O ZARZĄDZANIE NIERUCHOMOŚCIĄ WSPÓLNĄ ( W Z Ó R )

CZY JEDNYM POSUNIÊCIEM DA SIÊ ROZWI ZAÆ WSZYSTKIE UK ADY DWÓCH RÓWNAÑ LINIOWYCH?

Konkurs matematyczny dla uczniów gimnazjum

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

Projekt. Projekt opracował Inż. Roman Polski

INSTRUKCJA U YTKOWNIKA DO KASY SHARP ER-A457P wersja oprogramowania: 27801RAR1C PROGRAMOWANIE FORMATU RAPORTÓW, KROK (PGM2)

Transkrypt:

AUTOMATYKA 2011 Tom 15 Zeszyt 2 Jaros³aw Pempera* Równoleg³y algorytm tabu z elementami inspirowanymi natur¹ dla problemu planowania tras 1. Wprowadzenie Minimalizacja kosztów transportu w systemach transportowych jest obiektem badañ naukowych ju od ponad 40 lat. Nowoczesne urz¹dzenia elektroniczne oraz systemy informatyczne pozwalaj¹ na znaczne u³atwienie pracy kierowców ciê arówek, w szczególnoœci wspomagaj¹c nawigacjê oraz przyspieszaj¹c identyfikacjê przesy³ek i generowanie niezbêdnej dokumentacji. Urz¹dzenia elektroniczne rejestruj¹ równie przebieg jazdy pojazdów umo liwiaj¹c s³u bom kontrolnym weryfikacjê przestrzegania czasów pracy kierowców. W planowaniu przydzia³u zadañ oraz wyznaczeniu harmonogramu realizacji zadañ transportowych nale y uwzglêdniæ wiele ograniczeñ wystêpuj¹cych w rzeczywistoœci. Jednymi z najczêœciej rozwa anych jest ograniczona pojemnoœæ (³adownoœæ) pojazdu oraz przedzia³y czasowe, w których przesy³ka mo e byæ odebrana przez klienta. W literaturze mo na spotkaæ wiele wariantów problemu marszrutyzacji, w których brana jest pod uwagê tylko niewielka liczba ograniczeñ jednoczeœnie. Do najczêœciej rozwa anych problemów nale ¹: CVRP (Capacitated VRP) VRP z ograniczeniem pojemnoœci pojazdów, VRPTW (VRP with Time Windows) VRP z oknami czasowymi, VRPSTW (Vehicle Routing Problem with Soft Time Windows) VRP z miêkkimi oknami czasowymi, CVRPTW VRP z oknami czasowymi i ograniczon¹ ³adownoœci¹ pojazdów, MDVRP (Multiple Depot VRP) VRP z wieloma magazynami centralnymi, MDVRPTW (Multiple Depot VRP with Time Windows) MDVRP z oknami czasowymi, SDVRP (Split Delivery VRP) dopuszczalny jest podzia³ przesy³ek i realizacja przewozów wieloma pojazdami, VRPPD (VRP with Pick-Up and Deliveries) VRP z odbieraniem przesy³ek od klientów. * Politechnika Wroc³awska, Instytut Informatyki Automatyki i Robotyki 399

400 Jaros³aw Pempera Ze wzglêdu NP-trudny charakter nawet najprostszych problemów marszrutyzacji, do ich rozwi¹zania stosuje siê algorytmy metaheurystyczne oparte na takich metodach jak: symulowane wy arzanie, przeszukiwanie z zabronieniami, przeszukiwanie genetyczne, przeszukiwanie mrówkowe, sieci neuronowe [1 9]. W przytoczonych typach problemu marszrutyzacji praktycznie nie uwzglêdnia siê czasów postoju pojazdów (przerw w pracy na odpoczynek). Bior¹c pod uwagê fakt, e przerwy te mog¹ byæ stosunkowo d³ugie, nale y siê liczyæ z istotnymi zak³óceniami realizacji harmonogramu wyznaczonego bez ich uwzglêdnienia. W przypadku problemów z oknami czasowymi mo e to skutkowaæ niezawinionymi przekroczeniami terminów dostawy. Ustawy dotycz¹ce czasu pracy kierowców precyzyjnie okreœlaj¹ jak d³ugo kierowca mo e prowadziæ pojazd bez odpoczynku, czas odpoczynku, jak d³ugo mo e pracowaæ w ci¹gu dnia, minimalny okres odpoczynku na sen, maksymalny czas pracy w ci¹gu tygodnia itd. Ustawy precyzuj¹ równie okresy pracy i odpoczynku dla dwóch kierowców prowadz¹cych pojazd. Zadania transportowe mo emy podzieliæ na dwa typy. W pierwszym typie zadañ realizowane jest pojedyncze zamówienie wymagaj¹ce przewozu przesy³ek na du e odleg³oœci pomiêdzy du ymi centrami logistycznymi. Zdecydowana wiêkszoœæ zadañ transportowych nale y do drugiej grupy i wymaga przewozu towarów na stosunkowo niewielkie odleg³oœci. Dobrym przyk³adem tego typu zadañ jest zaopatrywanie sklepów spo ywczych w pieczywo lub nabia³, gdzie wiêkszoœæ sklepów zaopatruje siê u tego samego producenta regionalnego i najczêœciej korzysta z jego oferty przewozowej. Zadania nale ¹ce do drugiej grupy realizowane s¹ w ci¹gu jednego dnia. Obowi¹zuj¹ce przepisy prawne, dla jednodniowego okresu pracy umo liwiaj¹ pracê przez okres maksymalnie 9 godzin. Czas pracy kierowcy, musi byæ podzielony na dwa okresy 4,5-godzinne, pomiêdzy którymi kierowca musi odpoczywaæ co najmniej 45 minut. Okres przerwy mo e byæ podzielony na 3 przerwy po co najmniej 15 minut. 2. Model matematyczny Firma transportowa dysponuje flot¹ sk³adaj¹c¹ siê z f identycznych pojazdów ze zbioru F = {1,, f }. W czasie jednego dnia pracy firmy nale y wykonaæ zlecenia przewozowe dla n klientów. Ka de zlecenie generuje zadanie transportowe, które polega na przewiezieniu towarów wyspecyfikowanych w zamówieniu z magazynu centralnego do miejsca wskazanego przez klienta zamawiaj¹cego towar. Dany jest czas przejazdu d i,j > 0, i, j = 0, 1,.., n, pomiêdzy wszystkimi miejscami za³adunku i roz³adunku przesy³ek, przy czym 0 oznacza magazyn centralny, natomiast 1,, n miejsca roz³adunku przesy³ek klientów. Czas roz³adunku przesy³ki oraz za³atwienia zwi¹zanych z nim formalnoœci wynosi p i > 0, i = 1,.., n. Przyjmuje siê, e pojemnoœæ ka dego pojazdu jest nieograniczona tj. w dowolnej chwili mo na przewieÿæ dowoln¹ liczbê towarów. Ka demu z zadañ transportowych ze zbioru J = {1,, n} nale y przyporz¹dkowaæ pojazd oraz wyznaczyæ trasy przejazdu i harmonogram przejazdów ka dego pojazdu nale-

Równoleg³y algorytm tabu z elementami inspirowanymi natur¹... 401 ¹cego do floty F. Trasa ka dego pojazdu musi rozpoczynaæ siê i koñczyæ siê w magazynie. Przydzia³ zadañ do pojazdów oraz trasy przejazdu pojazdów mo na jednoznacznie opisaæ przy pomocy zestawu permutacji t = (t 1,, t f ), gdzie t l = (t l (1),, t l (n l )) jest permutacj¹ okreœlaj¹c¹ trasê l-tego pojazdu, natomiast n l jest liczb¹ klientów obs³ugiwanych przez ten pojazd. Oczywiœcie dopuszczalny zestaw tras t musi zagwarantowaæ obs³ugê wszystkich klientów, tj. U f T i 1 i = J = gdzie T i = {t i (1),, t i (n i )} oraz ka dy z klientów musi byæ obs³u ony przez jeden pojazd, tj. T T = i j, i, j = 1,..., f (2) i j (1) Efektywny czas pracy kierowcy l F realizuj¹cego zamówienia wynikaj¹ce z trasy t l jest równy Et nl nl ( l) = d 0, t (1) + s 2 d t ( s 1), t () s + d t ( n ),0 + = s= 1 p t () s (3) l l l l l l Jest on sum¹ czasów przejazdów oraz czasów obs³ugi klientów. Natomiast ca³kowity czas pracy uwzglêdniaj¹cy niezbêdn¹ przerwê na odpoczynek wynosi: Et ( l) dla Et ( l) u Ct ( l ) =, l= 1,..., f Et ( l) +ρ dla Et ( l) > u (4) Jak wspomniano wy ej, w przypadku jednodniowego planowania trasy przejazdu, je- eli efektywny czas pracy kierowcy jest d³u szy od u = 270 minut, to w harmonogramie pracy kierowcy nale y zaplanowaæ przerwê ρ = 45 minutow¹. Maksymalny z czasów pracy kierowców dla zestawu tras t definiujemy nastêpuj¹co: C () t max C( t ) max = 1 l f l (5) Firma transportowa dysponuje flot¹ sk³adaj¹c¹ siê z f identycznych pojazdów ze zbioru F = {1,, f}. W czasie jednego dnia pracy firmy nale y wykonaæ zlecenia przewozowe dla n klientów. Ka de zlecenie generuje zadanie transportowe, które polega na przewiezieniu towarów wyspecyfikowanych w zamówieniu z magazynu centralnego do miejsca wskazanego przez klienta zamawiaj¹cego towar. Dany jest czas przejazdu d i,j > 0, i, j = 0, 1,.., n, pomiêdzy wszystkimi miejscami za³adunku i roz³adunku przesy³ek, przy czym 0 oznacza magazyn centralny, natomiast 1,, n miejsca roz³adunku przesy³ek klientów. Czas roz³adunku przesy³ki oraz za³atwienia zwi¹zanych z nim formalnoœci wynosi p i > 0, i = 1,.., n. Przyjmuje siê, e pojemnoœæ ka dego pojazdu jest nieograniczona, tj. w dowolnej chwili mo na przewieÿæ dowoln¹ liczbê towarów.

402 Jaros³aw Pempera Praca wspó³czesnego kierowcy wspomagana jest ró nego rodzaju urz¹dzeniami elektronicznymi. Umo liwiaj¹ one sprawn¹ nawigacjê, identyfikacjê przesy³ek oraz rejestrowanie i generowanie dokumentacji. Fakt ten w po³¹czeniu z zaufaniem do odbiorcy pozwala na przekazanie czynnoœci spedycyjnych pracownikowi klienta i zaplanowanie niezbêdnej przerwy w okresie obs³ugi tego klienta. W celu spe³nienia wymagañ formalnych, przerwa powinna nast¹piæ nie póÿniej ni u = 4,5 h (270 minut) po rozpoczêciu jazdy kierowcy oraz nie wczeœniej ni 4,5 h przed zakoñczeniem pracy kierowcy. Oznaczmy przez a = u oraz b = E(t l ) u odpowiednio najpóÿniejszy moment rozpoczêcia przerwy oraz najwczeœniejszy moment zakoñczenia przerwy. Dla E(t l ) wiêkszego od 2u (9 h) b > a, czas pracy kierowcy mo na skróciæ do dopuszczalnego lub krótszego, je eli okres (a, b) przypada w ca³oœci na okres obs³ugi jednego z klientów, w przeciwnym przypadku nie mo na utworzyæ harmonogramu dopuszczalnego. W przypadku gdy E(t l ) < 2u, tj. a b, pocz¹tek przerwy mo na zaplanowaæ na dowolny moment z tego przedzia³u, przy czym wybór najd³u szego czasu obs³ugi przypadaj¹cego na ten okres redukuje najwiêcej czas pracy kierowcy C(t l ). Niech Ω bêdzie zbiorem wszystkich dopuszczalnych zestawów tras kierowców, tj. Ω ={ t=(t 1,,t f ): t jest rozbiciem zbioru J, t jest zestawem dopuszczalnych tras} (6) Nale y znaleÿæ zestaw t* taki, e Cmax ( t*) = min Cmax (). τ τ Ω 3. Algorytm tabu Metoda przeszukiwania z zabronieniami (tabu) [10] jest jedn¹ z najczêœciej stosowanych metod konstrukcji algorytmów do rozwi¹zywania kombinatorycznych problemów optymalizacyjnych. Wysoka efektywnoœæ algorytmów konstruowanych w oparciu o tê metodê dla problemów VRP zosta³a potwierdzona miêdzy innymi w pracach [3, 6, 9]. W ka dej iteracji tego typu algorytmów przegl¹dane jest otoczenie rozwi¹zania bazowego w celu wyboru najlepszego. Wybrane rozwi¹zanie zastêpuje rozwi¹zanie bazowe w nastêpnej iteracji. W celu wyeliminowania powrotu do rozwi¹zañ bazowych wczeœniej wygenerowanych wykorzystuje siê mechanizm zabronieñ. Algorytm rozpoczyna dzia³anie od rozwi¹zania pocz¹tkowego wygenerowanego algorytmem konstrukcyjnym oraz koñczy dzia³anie po wykonaniu okreœlonej liczby iteracji. Wysok¹ skutecznoœæ tego typu algorytmów upatruje siê w³aœnie w systematycznym przegl¹daniu ca³ego otoczenia. Domniema siê, e w otoczeniu rozwi¹zania bazowego znajduje siê nowe lepsze rozwi¹zanie lub niewiele gorsze. Intensywne przeszukiwanie otoczenia ma równie niekorzystn¹ cechê, tj. wymaga du o czasu. Dla wielu problemów czas ten mo na znacz¹co zmniejszyæ redukuj¹c licznoœæ otoczenia (np. przez eliminacjê rozwi¹zañ apriorycznie gorszych od bazowego) i/lub akceleracjê obliczeñ.

Równoleg³y algorytm tabu z elementami inspirowanymi natur¹... 403 Podstawowym elementem algorytmu tabu jest reprezentacja rozwi¹zania problemu. W rozwa anym problemie rozwi¹zane reprezentowane jest w postaci zestawu sk³adaj¹cego siê z f permutacji. Dla tego typu reprezentacji stosuje siê zasadniczo dwa typy ruchów: zamieñ i wstaw. Z tych dwóch typów ruchami daj¹cymi wiêksze mo liwoœci modyfikacji rozwi¹zañ s¹ ruchy typu wstaw. Czwórka v = (l, a, k, b) opisuje ruch typu wstaw, który oznacza, e nale y usun¹æ klienta stoj¹cego na pozycji a w trasie kierowcy l i umieœciæ na pozycji b w trasie kierowcy k. Dla tego typów mechanizm zabezpieczaj¹cy przed powrotem do rozwi¹zañ wygenerowanych we wczeœniejszych T iteracjach mo na zrealizowaæ w postaci listy cyklicznej o d³ugoœci T, na której zapisywane s¹ nastêpuj¹ce informacje pochodz¹ce od rozwi¹zania bazowego t oraz ruchu v = (l, a, k, b) generuj¹cego nowe rozwi¹zanie bazowe: (i) (t l (a), t l (a+1), l), gdy a < b oraz l = k, (ii) (t l (a 1), t l (a), l), gdy a < b oraz l = k, (iii) obie trójki dla l k. Rozwi¹zanie s¹siednie t v jest zabronione, je eli dla co najmniej jednej trójki s = (a, b, l) znajduj¹cej siê na liœcie zabronieñ, klienci a raz b obs³ugiwani s¹ przez kierowcê l oraz a obs³ugiwany jest przed b. W zaawansowanych algorytmach stosuje siê mechanizmy intensyfikacji i dywersyfikacji przeszukiwañ. Pierwsze maj¹ na celu intensywniejsze przeszukanie regionów, w których znaleziono najlepsze rozwi¹zania, natomiast drugie na przeniesieniu przeszukiwañ do obszarów jeszcze nie przeszukiwanych. 4. Równoleg³y algorytm tabu Obecnie, dziêki powszechnie dostêpnym systemom wieloprocesorowym (wielordzeniowym) oraz wieloprocesowym systemom operacyjnym, obserwuje siê intensywny rozwój algorytmów równoleg³ych. Algorytmy równoleg³e mo emy podzieliæ na jednoœcie kowe oraz wieloœcie kowe. W algorytmach jednoœcie kowych najczêœciej równolegle obliczana jest wartoœæ funkcji celu dla wielu rozwi¹zañ jednoczeœnie. Z tego punktu widzenia naj³atwiej jest zrównolegliæ algorytmy populacyjne lub przegl¹daj¹ce wiele rozwi¹zañ w jednej iteracji. Algorytmy wieloœcie kowe, podobnie jak wymienione wy ej, bazuj¹ na tradycyjnych algorytmach metaheurystycznych, w których dziêki zmianie parametrów algorytmów uzyskuje siê inny przebieg (œcie kê w przestrzeni rozwi¹zañ) obliczeñ. W szczególnoœci tym parametrem mo e byæ rozwi¹zanie pocz¹tkowe. Pewn¹ s³aboœci¹ algorytmów jednoœcie kowych jest wysoka wra liwoœæ na parametry algorytmu. Strojenie tych parametrów podczas testów wstêpnych algorytmu pozwala na generowanie dobrych wyników w grupie testowej w sensie œrednim. Niemniej, w przypadku konkretnej instancji, rozwi¹zanie wygenerowane algorytmem z innymi parametrami mo e byæ znacznie lepsze. Ze swojej natury algorytmy wieloœcie kowe w du ej mierze pozbawione s¹ tej wady. Dzia³anie algorytmów wieloœcie kowych mo na kontrolowaæ, zastêpuj¹c przebiegi produkuj¹ce rozwi¹zania gorszej jakoœci nowymi przebiegami przeszukuj¹cymi obszary w pobli u wczeœniej znalezionych dobrych rozwi¹zañ (intensyfikacja) lub przeszukuj¹cymi nowe obszary rozwi¹zañ (dywersyfikacja). W literaturze mo na spotkaæ niewiele

404 Jaros³aw Pempera propozycji sposobów zarz¹dzania przebiegami w tego typu algorytmach równoleg³ych [11]. W proponowanym równoleg³ym algorytmie tabu proponuje siê wykorzystanie wybranych mechanizmów ewolucyjnych do zarz¹dzania przebiegami wieloœcie kowego algorytmu tabu. Algorytmy ewolucyjne w istocie swojego dzia³ania naœladuj¹ zachowania ewolucyjne obserwowane w przyrodzie. Proces ewolucyjny odbywa siê na populacji osobników ocenianych na podstawie pewnej miary dopasowania. Pewne osobniki podlegaj¹ transformacji genetycznej, w wyniku której powstaj¹ nowe osobniki. Wyró niamy dwa podstawowe operatory genetyczne: operator krzy owania i operator mutacji. Zadaniem operatora krzy owania jest przekazanie najlepszych cech osobników danej populacji nastêpnej generacji w nadziei otrzymania populacji œrednio lepiej dopasowanej. Natomiast zadaniem operatora mutacji jest wygenerowanie osobników ró ni¹cych siê od osobników wystêpuj¹cych w danej populacji w nadziei przypadkowego odkrycia nowych korzystnych cech. Nowa populacja tworzona jest na podstawie bie ¹cej populacji rozszerzonej o osobniki wygenerowane operatorami genetycznymi poprzez wybór sta³ej liczby osobników najlepiej dopasowanych (selekcja naturalna). W proponowanym mechanizmie zarz¹dzania przebiegami, u ywaj¹c terminologii ewolucyjnej, przez osobnika bêdziemy rozumieli abstrakcyjny byt, jakim jest przebieg algorytmu. Zak³ada siê, e ka dy przebieg mo e byæ w dowolnej chwili zatrzymany, wznowiony lub usuniêty. W ka dej iteracji procesu ewolucyjnego z populacji sk³adaj¹cej siê z X osobników wybierany podzbiór sk³adaj¹cy siê z x przebiegów, z których ka dy uruchamiany jest na zadan¹ liczbê iteracji citer. Podczas ka dego uruchomienia, dla przebiegu l zapamiêtywane jest najlepsze znalezione rozwi¹zanie t l oraz najlepsze rozwi¹zanie t l znale- * zione podczas dzia³ania ca³ego przebiegu. Dodatkowo w przypadku znalezienia nowego * rozwi¹zania t l zapamiêtywany jest równie zbiór wszystkich pozosta³ych rozwi¹zañ s¹siednich oraz zawartoœæ listy zabronieñ. Rozmna aniu podlegaj¹ tylko (osobnicy) przebiegi, w których znaleziono nowe najlepsze rozwi¹zanie. W ka dym przebiegu algorytmu oprócz najlepszego rozwi¹zania zapamiêtywane s¹ wszystkie rozwi¹zania s¹siednie oraz zawartoœæ listy zabronieñ. Z ka dego rozwi¹zania s¹siedniego generowany jest nowy przebieg z zawartoœci¹ listy tabu odtwarzan¹ z pamiêci. W przypadku przebiegów, w których liczba uruchomieñ bez znalezienia nowego najlepszego rozwi¹zania przekroczy zadan¹ liczbê live, przebieg jest modyfikowany poprzez losow¹ zmianê d³ugoœci listy zabronieñ. Pierwszy z przedstawionych mechanizmów pozwala na powrót do obszarów z dobrymi rozwi¹zaniami i znany jest z literatury [12] jako metoda skoku powrotnego, natomiast drugi z mechanizmów implementuje znan¹ metodê dywersyfikacyjn¹, tj. metodê dynamicznej d³ugoœci listy zabronieñ [13]. Przebiegi oceniane s¹ na podstawie wartoœci t l. W przypadku nowo wygenerowanych przebiegów wartoœci¹ t¹ jest wartoœæ funkcji celu dla odpowiedniego rozwi¹zania s¹siedniego.

Równoleg³y algorytm tabu z elementami inspirowanymi natur¹... 405 5. Experyment komputerowy Równoleg³y algorytm tabu PTS zosta³ zaimplementowany w jêzyku C++ œrodowisku Visual Studio 2005 w dwóch wersjach : PTS E z selekcj¹ elitarn¹ oraz PTS R z selekcj¹ rankingow¹. Testy przeprowadzono na komputerze z procesorem Intel i 7 2.4 GHz wyposa onym w 4 rdzenie rzeczywiste (8 rdzeni wirtualnych dziêki technologii multithreading). Testy algorytmów zosta³y przeprowadzone na zestawie 50 instancji wygenerowanych losowo. Instancje te zosta³y podzielone na 5 grup. Instancje z tej samej grupy mia³y identyczn¹ liczbê klientów n = {10, 20, 50, 80, 100}. Liczba pojazdów (kierowców) dla wszystkich instancji z danej grupy by³a jednakowa i wynosi³a odpowiednio dla grup 2, 2, 6, 9, 10. Parametry instancji wygenerowano generatorem jednostajnym, przyjmuj¹c nastêpuj¹ce zakresy dla poszczególnych danych problemu: p j (1,100), d ij (10,120). Jakoœæ rozwi¹zañ generowanych przez proponowany algorytm porównano z rozwi¹zaniami generowanymi przez sekwencyjne algorytmy oparte na metodzie przeszukiwania z zabronieniami TS oraz symulowanego wy arzania SA, które zosta³y opisane w pracy [14]. Testy algorytmu PTS przeprowadzono dla populacji sk³adaj¹cej siê z 8 osobników. Taki wybór zapewni³ prawie identyczny czas dzia³ania wersji równoleg³ej i sekwencyjnej algorytmu tabu. Populacja pocz¹tkowa sk³ada³a siê z identycznych osobników wygenerowanych podobnie jak w przypadku TS algorytmem opartym na metodzie wstawieñ. Poszczególne przebiegi algorytmów ró ni³y siê d³ugoœci¹ listy zabronieñ, która wynosi³a w zale noœci od numeru przebiegu 5, 7,, 19. Czynnoœæ zarz¹dzania przebiegami nastêpowa³a po wykonaniu 200 iteracji. Ustalono czas ycia osobnika na 5 pokoleñ. Algorytm SA dla ka dej instancji zosta³ uruchomiony 5-krotnie z rozwi¹zañ wygenerowanych losowo. Algorytmy SA i TS zosta³y uruchomione na 1000 iteracji, natomiast algorytmy PTS na 50 pokoleñ, tj. 10 000 iteracji. Dla ka dego przebiegu algorytmów zosta³ wyznaczony czas dzia³ania oraz najlepsze rozwi¹zanie znalezione podczas przeszukiwañ. Nastêpnie na podstawie wszystkich rozwi¹zañ wygenerowanych dla tej samej instancji wyznaczono najlepsze rozwi¹zane t ref. Dla ka dego rozwi¹zania t wyznaczono b³¹d wzglêdny B(t) = 100% (C max (t) C max (t ref ))/C max (t ref ). W tabeli 1 przedstawiono b³¹d wzglêdny algorytmów uœredniony wzglêdem instancji nale ¹cych do tej samej grupy. W przypadku algorytmu SA podano œredni b³¹d oraz minimalny b³¹d wyznaczony na podstawie 5 uruchomieñ. W tabeli 2 podano bezwzglêdny czas dzia³ania algorytmów oraz liczbê iteracji wykonywanych w czasie jednej sekundy. Z rezultatów badañ przedstawionych w tabelach wynika, e algorytmy równoleg³e s¹ znacznie efektywniejsze od algorytmów sekwencyjnych. Porównuj¹c b³¹d wzglêdny algorytmów PTS, mo na zauwa yæ, e w przypadku algorytmów równoleg³ych jest on istotnie mniejszy od b³êdów algorytmów sekwencyjnych ju po wykonaniu 400 iteracji (200 w przypadku PTS E). Wyj¹tkowo s³abo w tym zestawieniu wypada algorytm SA. Œredni b³¹d algorytmu wacha siê w granicach od 1,5% do 27%.

406 Jaros³aw Pempera Liczba zadañ TS Tabela 1 B³¹d wzglêdny algorytmów SA PTS E PTS R MIN AVE 200 iter 10 000 iter 200 iter 10 000 iter 10 0,08 0,40 1,54 0,00 0,00 0,00 0,00 20 2,57 19,84 27,18 2,30 0,27 3,15 0,71 50 5,14 6,22 8,17 2,98 1,42 3,57 0,65 80 5,21 7,83 12,08 3,71 2,07 3,84 0,42 100 5,17 10,43 20,33 5,30 0,58 6,12 0,20 Œrednio 3,64 8,94 13,86 2,86 0,87 3,34 0,39 Tabela 2 Œredni czas dzia³ania algorytmów Liczba TS (1000 iter) SA (1000 iter) PTS E (10 000 iter) PTS R (10 000 iter) zadañ CPU [s] iter/s CPU [s] iter/s CPU [s] Iter/s CPU [s] iter/s 10 0,04 25 000 0,01 100 000 0,5 20000 0,60 16667 20 0,2 5 000 0,02 50 000 2,2 4545 2,20 4545 50 0,9 1 111 0,07 14 285 13,7 730 14,20 704 80 2,2 455 0,14 7 143 36,6 273 37,80 265 100 3,5 286 0,20 5 000 62,0 161 63,60 157 Tabela 3 Zale noœæ b³êdu algorytmów równoleg³ych od liczby iteracji Algorytm PTS-E PTS-R Liczba Liczba iteracji zadañ 200 400 800 1600 3200 6400 10000 10 0,00 0,00 0,00 0,00 0,00 0,00 0,00 20 2,30 1,88 1,31 0,64 0,27 0,27 0,27 50 2,98 2,35 1,72 1,50 1,42 1,42 1,42 80 3,71 2,66 2,07 2,07 2,07 2,07 2,07 100 5,30 2,77 1,59 0,62 0,58 0,58 0,58 Œrednio 2,86 1,93 1,34 0,97 0,87 0,87 0,87 10 0,00 0,00 0,00 0,00 0,00 0,00 0,00 20 3,15 2,74 2,18 1,62 1,31 1,31 0,71 50 3,57 2,72 1,96 0,67 0,67 0,67 0,65 80 3,84 2,24 1,26 0,66 0,55 0,53 0,42 100 6,12 3,57 1,44 0,55 0,37 0,31 0,20 Œrednio 3,34 2,25 1,37 0,70 0,58 0,56 0,39

Równoleg³y algorytm tabu z elementami inspirowanymi natur¹... 407 Sekwencyjny algorytm TS znalaz³ praktycznie wszystkie rozwi¹zania najlepsze instancji z pierwszej grupy tj. grupy o najmniejszej liczbie zadañ transportowych. W pozosta³ych grupach b³¹d algorytmu waha siê w granicach od 2,5% do 5,2%. Porównuj¹c algorytmy równoleg³e ³atwo mo na zauwa yæ (patrz tab. 3), e algorytm z selekcj¹ elitarn¹ generuje rozwi¹zania znacznie lepszej jakoœci dla ma³ej liczby iteracji (do 1 000). Dla wiêkszej liczy iteracji rozwi¹zania lepsze, w sensie œrednim, generuje algorytm z selekcj¹ rankingow¹. Przewagê tego algorytmu szczególnie widaæ na instancjach z liczb¹ zadañ, tj. 50 i wiêksz¹. 6. Podsumowanie W pracy zaproponowano nowy równoleg³y algorytm oparty na metodzie tabu dla problemu marszrutyzacji pojazdów. Zaproponowano w nim mechanizm zarz¹dzania przebiegami, w którym zastosowano mechanizmy inspirowane zachowaniami ewolucyjnymi. Z przeprowadzonych eksperymentów komputerowych wynika, e algorytmy te generuj¹ rozwi¹zania lepsze od algorytmów sekwencyjnych w mniejszej liczbie iteracji. Zastosowanie mechanizmów ewolucyjnych pozwala na uzyskanie lepszych rozwi¹zañ w perspektywie wykonania wiêkszej liczby iteracji. Ponadto wykonanie algorytmu równoleg³ego z iloœci¹ przebiegów równ¹ liczbie procesorów (rdzeni) pozwala na wykonanie prawie takiej samej liczby iteracji w podobnym czasie co algorytm sekwencyjny. Literatura [1] Alba E., Dorronsoro B., Solving the Vehicle Routing Problem by Using Cellular Genetic Algorithms. In Conference on Evolutionary Computation in Combinatorial Optimization, Portugal, 2005, 11 20. [2] Bräysy O., Gendreau M., Vehicle Routing Problem with Time Windows, Part I: Route Construction and Local Search Algorithms. Transportation Science, 39, 1, 2005, 104 118. [3] Cordeau J.-F., Laporte G., A tabu search algorithm for the site dependent vehicle routing problem with time windows. INFOR, 39(3), 2001, 292 298. [4] Czech Z.J., Czarnas P., Parallel simulated annealing for the vehicle routing problem with time windows, in 10th Euromicro Workshop on Parallel. Distributed and Networkbased Processing, Spain, 2002, 376 383. [5] Dorigo M., Maniezzo V., Coloni A., Ant system: Optimization by a colony of cooperating agents. IEEE Transactions on Systems, Man, and Cybernetics Part B, 26, 1996, 29 41. [6] Gendreau M., Laporte G., Seguin R., A tabu search heuristic for the vehicle routing problem with stochastic demand and customers. Operations Research, 44, 3, 1996, 469 477. [7] Golden B.L., Magnanti T.L., Nguyan H.Q., Implementing vehicle routing algorithms. Networks, 7, 2, (1972), 113 148. [8] Osman I.H., Kelly J.P., Meta-heuristics: An overview. [w:] I.H. Osman & J. P. Kelly (Eds.), Metaheuristics: Theory and applications Boston: Kluwer Academic Publishers, 1996, 1 21. [9] Rego C., Roucairol C., Using tabu search for solving a dynamic multiterminal truck dispatching problem. European Journal of Operational Research, 83, 1995, 411 429. [10] Glover F., Laguna M., Tabu search. Boston: Kluwer Academic Publishers, 1997.

408 Jaros³aw Pempera [11] Bo ejko W., Wodecki M., Solving Permutational Routing Problems by Population-Based Metaheuristics. Computers & Industrial Engineering, 57, 2009, 269 276. [12] Nowicki E., Smutnicki C., A fast taboo search algorithm for the job shop problem. Management Science, 42, 6, 1996, 797 813. [13] Grabowski J., Pempera J., Some local search algorithms for no-wait flow-shop problem with makespan criterion. Computers & Operations Research, 32, 8, 2005, 2197 2212. [14] Pempera J., Planowanie tras pojazdów z ograniczeniami czasu pracy kierowców. Logistyka i zarz¹dzanie produkcj¹ nowe wyzwania, odleg³e granice. Red. Marek Fertsch, Katarzyna Grzybowska, Agnieszka Stachowiak. Poznañ, 2007, 156 163.