ALGORYTM POSZUKIWANIA Z ZABRONIENIAMI DLA PROBLEMU CENTRALNEGO DRZEWA ROZPINAJĄCEGO

Podobne dokumenty
Algorytm perturbacyjny dla problemu minimalizacji maksymalnego żalu minimalnego drzewa rozpinającego

Metody Programowania

Minimalne drzewa rozpinające

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

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Rozdział 8 PROGRAMOWANIE SIECIOWE

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

Programowanie dynamiczne i algorytmy zachłanne

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

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

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

WIELOKRYTERIALNE PORZĄDKOWANIE METODĄ PROMETHEE ODPORNE NA ZMIANY WAG KRYTERIÓW

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Sprawozdanie do zadania numer 2

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

Matematyczne Podstawy Informatyki

Algorytmika Problemów Trudnych

NIETYPOWE WŁASNOŚCI PERMUTACYJNEGO PROBLEMU PRZEPŁYWOWEGO Z OGRANICZENIEM BEZ PRZESTOJÓW

Ogólne wiadomości o grafach

Teoria obliczeń i złożoność obliczeniowa

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

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE

1 Równania nieliniowe

MODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem

Algorytmy heurystyczne w UCB dla DVRP

Wybrane podstawowe rodzaje algorytmów

Metody optymalizacji dyskretnej

AiSD zadanie trzecie

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

Aproksymacja funkcji a regresja symboliczna

Grafy w MATLABie. LABORKA Piotr Ciskowski

Programowanie celowe #1

SYSTEM WSPOMAGANIA HARMONOGRAMOWANIA PRZEDSIĘWZIĘĆ BUDOWLANYCH

Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu dla odczytu Australia Employment Change

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

Algorytmiczna teoria grafów

System wspomagania harmonogramowania przedsięwzięć budowlanych

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

TEORETYCZNE PODSTAWY INFORMATYKI

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Metody Optymalizacji: Przeszukiwanie z listą tabu

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

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

Tabu Search (Poszukiwanie z zakazami)

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

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Rozdział 9 PROGRAMOWANIE DYNAMICZNE

Znajdowanie skojarzeń na maszynie równoległej

Podstawy Informatyki. Sprawność algorytmów

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

Graf. Definicja marca / 1

Optymalizacja ciągła

Kody blokowe Wykład 5a;

Schemat programowania dynamicznego (ang. dynamic programming)

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

9.9 Algorytmy przeglądu

Wstęp do Sztucznej Inteligencji

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

Złożoność obliczeniowa klasycznych problemów grafowych

Metody numeryczne w przykładach

Excel - użycie dodatku Solver

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

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

Techniki optymalizacji

OPTYMALIZACJA ZBIORNIKA NA GAZ PŁYNNY LPG

Algorytmy mrówkowe w dynamicznych problemach transportowych

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

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

ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI

Optymalizacja harmonogramów budowlanych - szeregowanie zadań. Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie

Zaawansowane programowanie

Podejście zachłanne, a programowanie dynamiczne

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

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Techniki optymalizacji

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Optymalizacja. Przeszukiwanie lokalne

Matematyka dyskretna

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2008 Seria: AUTOMATYKA z. 199 Nr kol. 1999

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

ZASTOSOWANIE GRAFU WIDOCZNOŚCI W PLANOWANIU TRASY PRZEJŚCIA STATKU APPLICATION OF A VISIBILITY GRAPH IN SHIP S PATH PLANNING

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Algorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 5 i 6. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

Analiza składowych głównych. Wprowadzenie

PROBLEM ROZMIESZCZENIA MASZYN LICZĄCYCH W DUŻYCH SYSTEMACH PRZEMYSŁOWYCH AUTOMATYCZNIE STEROWANYCH

PODEJMOWANIE DECYZJI W WARUNKACH NIEPEŁNEJ INFORMACJI

Techniki optymalizacji

POISSONOWSKA APROKSYMACJA W SYSTEMACH NIEZAWODNOŚCIOWYCH

Programowanie sieciowe. Tadeusz Trzaskalik

Algorytm. Krótka historia algorytmów

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

Transkrypt:

ALGORYM POSZUKIWANIA Z ZABRONIENIAMI DLA PROBLEMU CENRALNEGO DRZEWA ROZPINAJĄCEGO Mariusz MAKUCHOWSKI Politechnika Wrocławska, Instytut Informatyki Automatyki i Robotyki Streszczenie: W pracy analizuje się problem znajdowania centralnego drzewa rozpinającego. Problem ten polega na znalezieniu takiego drzewa rozpinającego graf, aby największa odległość od wszystkich pozostałych drzew była możliwie najmniejsza. Odległość pomiędzy drzewami jest miarą zliczającą różnice w zbiorze krawędzi porównywanych drzew. Zagadnienie to należy do klasy problemów NP-trudnych. W pracy proponuje się algorytm, oparty na metodzie poszukiwania z zabronieniami, dedykowany rozpatrywanemu problemowi. Praca zawiera także wyniki eksperymentów numerycznych testujących efektywność proponowanego algorytmu oraz porównuje go z algorytmem dokładnym opartym na metodzie podziału i ograniczeń. Słowa kluczowe: problem centralnego drzewa rozpinającego, drzewo rozpinające, metoda poszukiwania z zabronieniami, optymalizacja odporna. 1. WPROWADZENIE W wielu dziedzinach życia poszukujemy rozwiązania problemu, w którym nie wszystkie dane są precyzyjne i z góry znane. W takim przypadku zaczynamy szczególnie cenić rozwiązania odporne na zakłócenia danych wejściowych. Jednym z kryteriów oceny odporności rozwiązania jest odległość od jeszcze nieznanego (na etapie rozwiązywania, a zależnego od czynników losowych) rozwiązania optymalnego. Dlatego często poszukuje się rozwiązania możliwie bliskiego wszystkim innym rozwiązaniom (w szczególności bliskie jeszcze nieznanemu rozwiązaniu optymalnemu) - tak zwanego rozwiązania centralnego. Koncepcja centralnego drzewa rozpinającego graf pojawiła się po raz pierwszy pracy [1]. W pracy [2] pokazano, że problem znalezienia centralnego drzewa należy do klasy problemów NP-trudnych, a to uzasadnia stosowanie przybliżonych algorytmów heurystycznych. Natomiast z pracy [3] wynika, że dla dowolnego algorytmu mamy gwarancję iż wartość funkcji celu dostarczonego rozwiązania nie będzie gorsza więcej niż dwukrotnie względem wartości funkcji celu rozwiązania optymalnego. W pracy [4] przedstawiono zachłanny algorytm konstrukcyjny oraz algorytm lokalnych popraw. 2. PROBLEM CENRALNEGO DRZEWA ROZPINAJĄCEGO Przed zdefiniowaniem problemu centralnego drzewa rozpinającego (ang. Central Spanning ree Problem) wprowadzimy najpierw podstawowe oznaczenia, definicje i miary zgodne z notacją zawartą we wstępie pracy [5]. Na wejściu problemu mamy zadany spójny nieskierowany graf G=(V,E) będący parą: zbioru wierzchołków V i zbioru krawędzi E. Analizowany problem polega na znalezieniu pewnego drzewa rozpinającego ten graf. Przestrzenią rozwiązań jest zbiór wszystkich możliwych drzew rozpinających graf G, zbiór ten będzie dalej oznaczany przez (G). Znany w teorii jest fakt iż, liczność zbioru (G) zależy zarówno od struktury grafu G jak i od jego rozmiaru. Dla grafu pełnego zachodzi zależność: V 2 ( G ) V. (1) Rozmiar przestrzeni rozwiązań może więc rosnąć wykładniczo wraz ze wzrostem ilości danych wejściowych. Poszukiwane drzewo rozpinające ma być centralnym drzewem, a więc takim które znajduje się możliwie blisko centrum przestrzeni rozwiązań. Oznacza to, że maksymalna odległość od pozostałych drzew powinna być jak najmniejsza, według danej miary odległości. W literaturze [2,4] miara odległości pomiędzy drzewami ( ) rozpiętymi na grafie G przyjmuje postać: 1, 2 G

1 Dist ( 1, 2 ) ( E( 1 ) E( 2 )) \ ( E( 1 ) E( 2 )), (2) 2 gdzie E() oznacza zbiór krawędzi drzewa (G). W literaturze [6,4] spotyka się także równoważny opis powyższej miary w bardzie przystępnej postaci: Dist, ) E( ) \ E( ). (3) ( 1 2 1 2 Dla ustalonego drzewa (G) można wyznaczyć w czasie wielomianowym względem danych wejściowych, drzewo (G), które jest możliwie najdalej położone w przestrzeni rozwiązań w sensie miary opisanej wzorami (2),(3); arg max Dist (, '). (4) ' W celu wyznaczenia drzewa (G) należy nadać krawędziom drzewa wagi 1, a pozostałym wagi 0. Następnie należy wyznaczyć minimalno kosztowe drzewo rozpinające według algorytmów podanych w pracach [7,8]. Łączna suma wag krawędzi tak otrzymanego drzewa jest dokładnie odległością pomiędzy tymi drzewami. Dystans pomiędzy danym drzewem (G) i drzewem od niego najbardziej oddalonym (G) będziemy oznaczać przez: ( ) Dist (, ) max Dist (, ' ). (5) ' Problem centralnego drzewa rozpinającego graf G sprowadza się do znalezienia takiego rozwiązania dla którego dystans do drzewa najdalej od niego położonego jest możliwie najmniejszy: * arg min ( ) arg min ' max E( ) \ E( '). (6) 3. ALGORYM ABU Prezentowany w pracy algorytm, oparty na ogólnej idei poszukiwania z zabronieniami, będziemy dalej oznaczać CSS (ang. Central Spanning ree aboo Search). Bazuje on na idei przedstawionej w pracach [9,10]. Poszczególne elementy bazowe proponowanego algorytmu opisane są szczegółowo w poniższych rozdziałach. 3.1. Sąsiedztwo Zmienną decyzyjną w rozpatrywanym problemie jest drzewo rozpięte na spójnym nieskierowanym grafie G. W wyniku przeszukiwania przestrzeni rozwiązań chcemy przeglądać drzewa leżące możliwie blisko bieżącemu rozwiązaniu w sensie pewnej miary. Kryterium oceny rozwiązania stosuje miarę (2),(3) odległości pomiędzy drzewami, dlatego jako sąsiedztwo N() bieżącego rozwiązania przyjmujemy zbiór wszystkich drzew rozpinających graf G dla których odległość (w sensie tych miar) wynosi dokładnie jeden: N ( ) { ' : E( ) \ E( ' ) 1}. (7) Liczność sąsiedztwa N() może być ograniczona od góry przez wielomian: N ( ) O( E V ). (8) W badaniach wstępnych analizowane były również inne rodzaje sąsiedztw w szczególności będące podzbiorami sąsiedztwa (7). Z analizy wstępnych rezultatów wynika, że algorytm wyposażony w sąsiedztwo prezentowane w niniejszej pracy był algorytmem najszybciej zbieżnym, tzn. najszybciej osiągający optymalne rozwiązania. ylko ten algorytm jest prezentowany w bieżącej pracy.

3.2. Lista tabu Z definicji sąsiedztwa wynika, że pojedynczy ruch oznaczany (e,s) w algorytmie CSS, transformujący drzewo 1 w drzewo 2 N( 1) polega na usunięciu pewnej krawędzi e E(1) z drzewa 1 i zastąpieniu jej krawędzią s E \ E( 1) taką, że ( V, E( 1) \ { e} { s}). W algorytmie są dwie listy tabu, na pierwszej z nich el zapisywane są usuwane krawędzie, a na drugiej z nich sl krawędzie dodawane. Obydwie listy mają skończoną długość i pamiętają odpowiednio eln i sln ostatnio dodanych do nich elementów. Ruch (e,s) uważany jest za tabu jeżeli usuwana krawędź e znajduje się na liście sl lub jeżeli dodawana krawędź s znajduje się na liście el. 3.3. Rozwiązanie startowe i dodatkowe techniki dywersyfikacji Rozwiązanie startowe algorytmu jest pseudolosowym drzewem rozpinającym graf G. W algorytmie zastosowano także metodę dywersyfikacji poszukiwań rozwiązań. Polega ona na restarcie algorytmu w przypadku stagnacji obliczeń. Jeżeli algorytm przez określoną liczbę iteracji nie poprawił rozwiązania to następuje zastąpienie bieżącego rozwiązania pseudolosowym drzewem. Liczba jałowych iteracji po której następuje opisany mechanizm dywersyfikacji nazywana jest restart. 4. BADANIA NUMERYCZNE Wszystkie prezentowane wyniki badań w szczególności czasy pracy algorytmów uzyskane były na komputerze klasy PC wyposażonym w procesor Core2Duo E6750 2,66GHz, 4GB pamięci RAM, pracującym w systemie Windows 7. Algorytmy zaprogramowane zostały jako jednowątkowe w środowisku DEV C++ 4.9.9.1. Badania numeryczne przeprowadzone zostały na wyjątkowo trudnych 100 przykładach. Przykłady te stworzone zostały na podstawie idei zaproponowanej w pracy [11]. Przykłady podzielone są na 10 grup oznaczanych rzymskimi liczbami I-X. W ramach danej grupy grafy posiadają jednakową liczbę wierzchołków oraz krawędzi. Liczba wierzchołków zmienia się linowo od 10 do 100, a liczba krawędzi zmienia się od 24 do 1374. Przykłady te charakteryzują się dużą liczbą szerokich minimów lokalnych oraz jednym minimum globalnym. Ponadto ze względu na ich charakterystyczną budowę znane są rozwiązania optymalne co ułatwia ocenę efektywności badanego algorytmu. Instancje przykładów w ramach pojedynczej grupy opisują de facto ten sam graf, lecz inaczej są etykietowane wierzchołki i w innej kolejności zapisane są kolejne węzły i krawędzie w danych wejściowych grafu. W celu praktycznej oceny trudności testowanych przykładów oraz stworzenia punktu odniesienia dla czasu pracy algorytm CSS został stworzony model programowania liniowego a następnie rozwiązany przy pomocy pakietu IBM ILOG OPL v6.3. Czas pracy pakietu dla poszczególnych grup przedstawiony został w tabeli 1. abela 1. Czas pracy pakietu ILOG OPL dla poszczególnych grup instancji Grupa rozmiar ( V, E ) minmalny czas [s] średni czas [s] maksymalny czas [s] I (10, 24) 0,09 0,10 0,12 II (20, 74) 0,21 0,35 0,68 III (30, 149) 0,73 1,56 2,83 IV (40, 249) 2,54 8,46 15,78 V (50, 374) 13,72 44,77 130,21 VI (60, 524) 55,78 227,96 572,05 VII (70, 699) 408,69 1231,55 3965,62 Następnie dla każdego z przykładów uruchomiony został algorytm CSS. Parametry przy których proponowany algorytm osiągną rozwiązania optymalne, przy możliwie najkrótszym czasie działania to: liczba iteracji = 1000, restart=400, el=0, sl=10. W tabeli 2 przedstawiony został średni czas pracy algorytmu CSS, oraz średni czas po jakim algorytm osiągał rozwiązanie optymalne.

abela 2. Czas pracy algorytmu CSS (liczba iteracji = 1000, restart=400, el=0, sl=10) dla poszczególnych grup instancji Grupa rozmiar ( V, E ) średni czas osiągnięcia opt.[s] średni czas pracy [s] I (10, 24) 0,01 0,03 II (20, 74) 0,01 0,26 III (30, 149) 0,09 0,93 IV (40, 249) 0,25 2,27 V (50, 374) 1,04 4,87 VI (60, 524) 2,03 9,21 VII (70, 699) 3,08 15,16 VIII (80, 899) 9,09 25,09 IX (90, 1124) 14,56 36,18 X (100,1374) 32,90 56,40 Przykładowe dwa przebiegi dla tego samego przykładu z X grupy przedstawione są na rysunkach 1 i 2. Rysunek 1 przedstawia przebieg algorytmu z doświadczalnie dobraną możliwie najlepszą długością list tabu. Długość listy tabu jest na tyle duża by algorytm nie wpadał w cykle i jednocześnie na tyle mała by zbyt szybko nie opuszczał szerokich płaskich minimów w przestrzeni rozwiązań. Nie jest to typowy przebieg algorytmu opartego na technice poszukiwania z zabronieniami. Kształt owego przebiegu zdeterminowany jest przez nietypowy i zarazem bardzo trudny krajobraz przestrzeni rozwiązań. Dlatego na rysunku 2 zaprezentowany został także przebieg algorytmu dla większych długości listy tabu. Zwiększenie długości listy tabu spowodowało, iż charakter zmiany wartości funkcji celu wzorcowo odpowiada idei poszukiwania z zabronieniami. Zwiększenie długości list tabu powodowało jednak wyraźny spadek wydajności algorytmu, mierzony jako średni błąd od rozwiązań optymalnych w sensie różnicy wartości funkcji celu. Podobnie stosowanie dwóch list tabu (jednej zabraniającej usuwania a drugiej dodawania krawędzi do drzewa) powodowało spadek efektywności algorytmu. Ostatecznie najlepszą strategią tabu okazała się technika zabronień dodawania krawędzi, które były usunięte w ostatnich 10 iteracjach pracy algorytmu, przy jednoczesnym całkowitym wyłączeniu zabronień usuwania krawędzi (eln=0, sln=10). Rys.1. Przebieg algorytmu CSS dla jednego przykładu z 10 grupy, wysterowanie algorytmu: liczba iteracji = 1000, restart=400, el=0, sl=10

Rys.2. Przebieg algorytmu CSS dla jednego przykładu z 10 grupy, wysterowanie algorytmu: liczba iteracji = 1000, restart=400, el=20, sl=0 Oczywiście jak w każdym algorytmie popraw czas pracy algorytmu można skracać kosztem jakości uzyskiwanych rozwiązań. Na rysunku 3 przedstawiona została zależność średniej jakości uzyskiwanych rozwiązań względem ilości wykonanych przez algorytm iteracji. Przy ustalonej liczbie iteracji, dla każdego z przykładów policzony został względny błąd uzyskanego rozwiązania ( ) zgodnie z wzorem: 100% ( ) ( * ( ) * ), (9) a następnie na wykresie zaznaczono jego średnią wartość z wszystkich 100 instancji testowych. Rys.3. Zależność średniego błędu rozwiązań algorytmu CSS w zależności od wykonanych iteracji dla ustawień restart=400, el=0, sl=10 W przykładach testowych, niezależnie od wielkości instancji, średni błąd losowych rozwiązań utrzymywał się na poziomie 85%. Zgodnie z intuicją największa poprawa rozwiązań następowała w początkowej fazie pracy algorytmu. Dla 1000 iteracji algorytm osiąga optymalne rozwiązania we wszystkich 100 testowanych instancjach.

5. PODSUMOWANIE Zaproponowany w pracy algorytm CSS bazujący na schemacie poszukiwania z zabronieniami wykazuje się bardzo dużą skutecznością działania. Dla prezentowanych przykładów osiągał on zawsze optymalne rozwiązanie w czasie krótszym niż jedna minuta. Dla innych przykładów, nieprezentowanych w pracy, które tylko udało się rozwiązać optymalnie przez pakiet ILOG OPL v6.3 w ciągu kilkudziesięciu godzin, algorytm CSS również znajdował optimum w co najwyżej kilkadziesiąt sekund. Prezentowany algorytm łatwo można zmodyfikować dla bardziej ogólnego problemu jakim jest znajdowanie minimalno kosztowego odpornego drzewa rozpinającego z przedziałowymi obciążeniami krawędzi (ang. min-max regret minimum spanning tree with interval data). Wstępne badania wykazują, że jest on wtedy bardziej wydajny niż inne literaturowe algorytmy dedykowane temu problemowi. Badania finansowane przez Ministerstwo Nauki i Szkolnictwa Wyższego, grant nr N N206 492938. PIŚMIENNICWO CYOWANE [1] DEO N., A central tree. IEEE ransactions on Circuit heory, vol. ct-13, 1966, 439-440. [2] BEZRUKOV S., KADERALI F., POGUNKE W., On central spanning trees of a graph. Lecture Notes Computer Science. 1120, 1996, 53-58. [3] KASPERSKI A., ZIELIŃSKI P., An approximation algorrithm for interwal data minmax regret combinatorial optimalization problems. Information Processing Letters, 97(5), 2006, 177-18. [4] BANG-JENSEN J., NIKULIN Y., Heuristics for the central tree problem. Journal of Heuristics 16, 2010, 663-651. [5] HARARY F., Graph theory. Addison-Wesley Publ. Company, 1969. [6] ARON I., HENENRYCK P., On the complexity of the robust spanning tree problem with interval data. Operations Research Letters 32, 2004, 36-40. [7] KRUSKAL JB., On the shortest spanning subtree of graph and the trveling salesman problem.. KProc. Amer. Math. Soc. 7, 1956, 48-50. [8] PRIM RC., Shortest connection networks and some generalizations. Bell System echnical Journal 36, 1957, 1389-1401. [9] GLOVER F., LAGUNA M., abu Search..Kluwer Academic Publishers, Massachusetts USA, 1997. [10] NOWICKI E., Metoda tabu w problemach szeregowania zadań produkcyjnych. Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław 1999. [11] KASPERSKI A., Discrete optimalization with interval data: Minmax regret and fuzzy approach.studies in Fuzziness and Soft Computing, vol 228. Springer-Verlag, Berlin Heidelberg 2008. ALGORIHM ABU FOR HE CENRAL SPANNING REE PROBLEM Summary: In this paper the central spanning tree problem is considered. he problem consists in finding a spanning tree in a graph, that minimizes the maximum distance to all other spanning trees. he distance between two trees is measured by means of the symmetric difference of their edge sets. he problem is known to be NPhard. he algorithm based on the tabu search approach is proposed. Computational experiments are conducted and compared with results obtained by a branch and bound algorithm. Keywords: central spanning tree problem, spanning tree, tabu search algorithm, robust optimization