PROBLEM GNIAZDOWY Z OGRANICZENIEM BEZ CZEKANIA, HYBRYDOWY ALGORYTM POSZUKIWANIA Z ZABRONIENIAMI. Mariusz Makuchowski

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

ALGORYTMY KONSTRUKCYJNE W PROBLEMIE GNIAZDOWYM. Mariusz Makuchowski

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

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

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2014 PROBLEM PRZEPŁYWOWY: PERMUTACYJNY, BEZ CZEKANIA, BEZ PRZESTOJÓW

Przykªady problemów optymalizacji kombinatorycznej

NOWE WARIANTY OPERATORÓW GENETYCZNYCH DLA PROBLEMÓW Z KRYTERIUM SUMACYJNYM

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

Wstp. Warto przepływu to

Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury.

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

ALTERNATYWNE KODOWANIE W ALGORYTMACH PROBLEM PRZEPŁYWOWY Z SUMĄ SPÓŹNIEŃ

Nowe warianty operatorów genetycznych dla problemów z kryterium sumacyjnym

Temat: Problem minimalnego drzewa Steinera. Definicja problemu. Zastosowania. Algorytm dokładny Hakimi. Algorytmy aproksymacyjne.

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

Multipro GbE. Testy RFC2544. Wszystko na jednej platformie

Temat: Algorytmy zachłanne

Planowanie adresacji IP dla przedsibiorstwa.

Szeregowanie zada« Przedmiot fakultatywny 15h wykªadu + 15h wicze« dr Hanna Furma«czyk. 7 pa¹dziernika 2013

Szeregowanie zada« Wykªad nr 5. dr Hanna Furma«czyk. 4 kwietnia 2013

I Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 10 kwietnia 2013 grupa elektryczno-elektroniczna

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

Projektowanie i analiza zadaniowa interfejsu na przykładzie okna dialogowego.

Algorytmy konstrukcyjne dla problemu harmonogramowania projektu z ograniczonymi zasobami. Marcin Klimek *

Temat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting.

stopie szaro ci piksela ( x, y)

Przycisk pracy. Przycisk stopu/kasowanie

Temat: Geometria obliczeniowa cz II. Para najmniej odległych punktów. Sprawdzenie, czy istnieje para przecinajcych si odcinków.

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

Lab. 02: Algorytm Schrage

PROCEDURY REGULACYJNE STEROWNIKÓW PROGRAMOWALNYCH (PLC)

SYSTEM WSPOMAGANIA HARMONOGRAMOWANIA PRZEDSIĘWZIĘĆ BUDOWLANYCH

Zastosowanie programu Microsoft Excel do analizy wyników nauczania

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Poprawa efektywnoci metody wstecznej propagacji bdu. Jacek Bartman

IV Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 1 kwietnia 2016

Elementy pneumatyczne

Sterowanie prac plotera w układach logiki programowalnej

Wektor o pocztku i kocu odpowiednio w punktach. Prosta zawierajca punkty p i q: pq Półprosta zaczynajca si w punkcie p i zawierajca punkt q:.

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

Bazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B

System TELE-Power (wersja STD) Instrukcja instalacji

Gramatyki regularne i automaty skoczone

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

HEURYSTYCZNY ALGORYTM SZEREGOWANIA ZADAŃ W SYSTEMIE MASZYN RÓWNOLEGŁYCH Z KRYTERIUM MINIMALNO-CZASOWYM

Program Sprzeda wersja 2011 Korekty rabatowe

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver Aplikacja WWW ver. 2.1 Instrukcja Obsługi

Argumenty na poparcie idei wydzielenia OSD w formie tzw. małego OSD bez majtku.

Metody optymalizacji dyskretnej

Napd i sterowanie hydrauliczne i pneumatyczne

Sposoby przekazywania parametrów w metodach.

Zapisów 17 ust. 4-6 nie stosuje si do przesuni midzy kategoriami wydatków, które s wynikiem przeprowadzenia procedury zamówie publicznych.

Wymierne korzyci wynikajce z analizy procesów

Sterowanie procesami dyskretnymi

SUPLEMENT SM-BOSS WERSJA 6.15

Syntactic Pattern Recognition. Anna Kuchna Maciej arnowski

Bazy danych Podstawy teoretyczne

Bazy danych. Plan wykładu. Pierwsza posta normalna. Druga posta normalna. Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML

SYMULACJA PROCESU OBRÓBKI NA PODSTAWIE MODELU OBRABIARKI UTWORZONEGO W PROGRAMIE NX

6.2. Baza i wymiar. V nazywamy baz-

Projekt okablowania strukturalnego dla I semestru Akademii CISCO we WSIZ Copernicus we Wrocławiu

1 Problemyprzepływowe

Cash flow projektu zakładajcego posiadanie własnego magazynu oraz posiłkowanie si magazynem obcym w przypadku sezonowych zwyek

Projektowanie algorytmów rekurencyjnych

Plan wykładu. Reguły asocjacyjne. Przykłady asocjacji. Reguły asocjacyjne. Jeli warunki to efekty. warunki efekty

FAKTURA PRZEDPŁATA PODRCZNIK UYTKOWNIKA

zdefiniowanie kilku grup dyskusyjnych, z których chcemy odbiera informacje, dodawanie, usuwanie lub edycj wczeniej zdefiniowanych grup dyskusyjnych,

Na podstawie art. 14a 1 i 4 ustawy z dnia 29 sierpnia 1997r. - Ordynacja podatkowa (tekst jednolity Dz. U. Nr 8, poz. 60 z 2005r. ze zm.

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika.

AUTOMATYZACJA PROCESW DYSKRETNYCH 2012 ZASTOSOWANIE TECHNIK RÓWNOLEGŁYCH W SZEREGOWANIU ZA- DAŃ Z KRYTERIUM MINIMALIZACJI SUMY SPÓŹNIEŃ

PROBLEM PRZEPŁYWOWY Z PRZEZBROJENIAMI ORAZ CIĄGŁĄ PRACĄ MASZYN Wojciech BOŻEJKO, Radosław IDZIKOWSKI, Mieczysław WODECKI

M ZASYPANIE WYKOPÓW WRAZ Z ZAGSZCZENIEM

AUTOMATYCZNE STEROWANIE OTOCZENIEM W ALGORYTMACH POPRAW

ALGORYTM EWOLUCYJNY DLA PROBLEMU SZEREGOWANIA ZADAŃ W SYSTEMIE PRZEPŁYWOWYM

Priorytetyzacja przypadków testowych za pomocą macierzy

Wzorcowy załcznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomidzy Firm A oraz Firm B

Excel-wiczenia 3-1- Ilo psów na giełdach. Procentowy udział poszczególonych ras na giełdzie w padzierniku Owczarek 25% Wielorasowiec 27%

w sprawie wprowadzenia procedury naboru pracowników na kierownicze stanowiska urzdnicze i stanowiska urzdnicze w Starostwie Powiatowym w Krasnymstawie

Skojarzenia. Najliczniejsze skojarzenia: Dokładne skojarzenia o maksymalnej sumie wag w obcionych pełnych grafach dwudzielnych.

PROWIZJE Menad er Schematy rozliczeniowe

9.9 Algorytmy przeglądu

Konspekt lekcji matematyki klasa 4e Liceum Ogólnokształcce

PREZENTACJA DZIAŁANIA KLASYCZNEGO ALGORYTMU GENETYCZNEGO

Laboratorium elektryczne. Falowniki i przekształtniki - I (E 14)

Metoda poszukiwania TABU w zastosowaniu do optymalizacji harmonogramu dostaw sieci dystrybucji towarów. Przykład przemysłu meblarskiego

Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe.

Tworzenie rezerw na wiadczenia pracownicze wymogi regulacji polskich na tle standardów midzynarodowych i ich praktyka

WYKŁAD 4 PLAN WYKŁADU. Sieci neuronowe: Algorytmy uczenia & Dalsze zastosowania. Metody uczenia sieci: Zastosowania

PROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE

Temat: Algorytmy aproksymacyjne (przyblione) cz. I. Majc do rozwizania trudny obliczeniowo problem, moemy wybra jedno z dwóch nastpujcych podej:

Metody Informatyczne w Budownictwie Metoda Elementów Skoczonych ZADANIE NR 1

ZMIANY W KRZYWIZNACH KRGOSŁUPA MCZYZN I KOBIET W POZYCJI SIEDZCEJ W ZALENOCI OD TYPU POSTAWY CIAŁA WSTP

Algorytmy kodowania predykcyjnego

Twierdzenia ekstremalne teorii plastycznoci

- 1 - OPIS TECHNICZNY Do projektu wykonawczego modernizacji budynku Komisariatu Policji w Gniewoszowie, pow. Kozienice

KONKURS PRZEDMIOTOWY INFORMATYCZNY DLA UCZNIÓW GIMNAZJUM

Statyczna próba skrcania

SENTE Produkcja. Tworzymy dla Ciebie. Prezentacja programu. planowanie i kontrola procesów wytwórczych. SENTE Systemy Informatyczne Sp. z o.o.

Transkrypt:

PROBLEM GNIAZDOWY Z OGRANIZENIEM BEZ ZEKANIA, HYBRYDOWY ALGORYTM POSZUKIWANIA Z ZABRONIENIAMI Mariusz Makuchowski Streszczenie: Praca opisuje hybrydowy algorytm poszukiwa z zabronieniami dedykowany problemowi gniazdowemu z ograniczeniem bez czekania oraz funkcj kryterialn bdc momentem wykonania wszystkich zada. Złoono proponowanego algorytmu polega na tym, i nadrzdny algorytm oparty na technice tabu dobiera parametry sterujce prac pewnego algorytmu konstrukcyjnego. Podejcie takie, ogranicza przegldane rozwizania tylko do grupy rozwiza mogcych zosta wygenerowanych owym algorytmem konstrukcyjnym. Niesie to ze sob powane nastpstwa, zarówno pozytywne przykładowo ograniczenie przestrzeni poszukiwa do niewielkiej frakcji stosunkowo bardzo dobrych jakociowo rozwiza dopuszczalnych jak i negatywne brak moliwoci znalezienia rozwizania optymalnego. W pracy przeprowadza si badania numeryczne proponowanego algorytmu oraz przeprowadza si analiz porównawcz wzgldem literaturowych algorytmów dedykowanych temu problemowi. Słowa kluczowe: problem gniazdowy, ograniczenie bez czekania, algorytm poszukiwania z zabronieniami, algorytmy hybrydowe. 1. Wstp W pracy analizuje si silnie NP-trudny problem gniazdowy z dodatkowym ograniczeniem bez czekania z kryterium optymalizacji bdcym momentem zakoczenia wykonywania wszystkich zada. Omawiany problem wywodzi si z klasycznego problemu gniazdowego poprzez nałoenie dodatkowych wymogów dotyczcych rozwizania dopuszczalnego. Rónica pomidzy analizowanym problemem a jego klasycznym odpowiednikiem problemem gniazdowym, polega na koniecznoci wykonywania kolejnych operacji danego zadania dokładnie w momencie zakoczenia si ich poprzedników technologicznych. Wymóg ten jest czsto spotykany w rzeczywistych procesach produkcyjnych, w których to obrabiane elementy z biegiem czasu zmieniaj swoje parametry fizyczno-chemiczne. Przykładowo podczas wyrobu elementów stalowych naley podgrza surowce do odpowiednio wysokiej temperatury, aby nastpnie przystpi do formowania gotowych elementów. Proces formowania musi rozpocz si dokładnie w momencie otrzymania gorcego półproduktu [1]. Podobnie podczas produkcji niektórych produktów spoywczych, ze wzgldów zarówno sanitarnych jak i zachodzcych procesów chemiczno-biologicznch niezbdne jest wykonywanie jednej czynnoci bezporednio po drugiej [2]. Teoria złoonoci obliczeniowej klasyczny problem gniazdowy klasyfikuje do grupy problemów silnie NP-trudnych, dowód zawarty jest w pracy [3]. W tej samej pracy pokazane jest, i w przypadku dodania ograniczenia bez czekania problem take naley do tej samej klasy - problemów silnie NP-trudnych. ho teoretyczna złoono obu wariantów analizowanego problemu jest identyczna, to wielu badaczy uwaa, praktycznego punktu widzenia, problem z ograniczeniem bez czekania za znacznie trudniejszy. Wynika to midzy innymi z faktu, i rozmiar instancji, które udaje si rozwiza dokładnie np. metod podziału i ogranicze jest znacznie mniejszy dla wariantu z ograniczeniem bez

czekania. Przykładowo w pracy [4] pokazano algorytm znajdujcy rozwizanie optymalne w sensownym czasie dla instancji problemu bez czekania, w których rozmiar nie przekraczał 15 zada wykonywanych na 5 maszynach lub 10 zada wykonywanych na 10 maszynach. Ponadto rónego rodzaju algorytmy przyblione, algorytm oparty na technice poszukiwa z zabronieniami [5], algorytm oparty na technice symulowanego wyarzania [6] oraz algorytm genetyczny z elementami symulowanego wyarzania [7], dostarczaj rozwiza z do duym błdem liczonym wzgldem rozwiza referencyjnych. W pracy proponuje si algorytm hybrydowy oparty na technice poszukiwa z zabronieniami dedykowany problemowi gniazdowemu z ograniczeniem bez czekania. Prezentowany algorytm uwaany jest za hybryd, poniewa nadrzdny człon - algorytm tabu steruje parametrem wejciowym algorytmu konstrukcyjnego generujcego dopuszczalne rozwizanie problemu gniazdowego z ograniczeniem bez czekania. Odpowiednia konstrukcja algorytmu generujcego rozwizanie zapewnia, i dowolne ustawienie parametrów sterujcych uzyskane przez algorytm nadrzdny zawsze wygeneruje rozwizanie dopuszczalne. Ponadto ilo moliwych rónych ustawie parametrów sterujcych jest znacznie mniejsza ni liczno wszystkich moliwych rozwiza aktywnych problemu wejciowego, co zmniejsza przestrze poszukiwa. Generowane rozwizania s stosunkowo wysokiej jakoci w sensie wartoci funkcji celu, a wynika to z bardzo wyrachowanej procedury konstrukcyjnej opisanej w dalszej czci pracy. Niestety w ogólnoci podejcie takie uniemoliwia znalezienie rozwiza optymalnych, nawet w przypadku najlepiej dobranych parametrów sterujcych. Prezentowany w pracy hybrydowy algorytm z zabronieniami, został przebadany numerycznie na literaturowej grupie przykładów testowych. Przykłady te s powszechnie uywane do bada nowych algorytmów dla omawianego zagadnienia. Uzyskane rezultaty porównuje si do algorytmu [7] przedstawionego w czołowym czasopimie zajmujcym si badaniami operacyjnymi, uwzgldniajc zarówno czas pracy algorytmu jak i jako otrzymanych rozwiza. Prac kocz wnioski autora na temat zaproponowanego algorytmu. 2. Sformułowanie problemu Problemu gniazdowy z ograniczeniem bez czekania mona zamodelowa jak klasyczny problem gniazdowy wprowadzajc dodatkowy warunek dotyczcy dopuszczalnoci rozwizania. Klasyczny problem gniazdowy mona sformułowa w nastpujcy sposób: Dany jest zbiór zada J = {1,,,,,r}, zbiór operacji O = {1,,,,,n} oraz zbiór maszyn M = {1,,,,,m}. Zbiór operacji podzielony jest na r rozłcznych podzbiorów odpowiadajcych poszczególnym zadaniom. Zadanie k J, utosamia si z zadan sekwencj o k, operacji; o n. Sekwencja ta okrela wymagan kolejno wykonywania operacji zadania k J k = o numerze k i dla uproszczenia notacji przyjmuje si, e ma ona nastpujca posta: k j k + 1, jk + 2,..., jk + ok, gdzie = 1 k i= 1 oraz j 1 = 0 ( j k 1, jk + 2,..., jk + ok ) j o jest liczb operacji w zadaniach 1, 2,,,,, k-1 i. Dodatkowo dla ułatwienia dalszej notacji cig operacji zadania k tj, + oznaczmy przez O k oraz przyjmijmy, e oznaczenie oznacza, i h jest pewnym elementem wystpujcym w cigu O k, 1 h Ok 1 Normalnie operator zdefiniowany jest tylko dla zbioru elementów a nie cigu.

Ponadto dla kadej operacji h O okrelona jest jedna maszyna µ ( h) M, na której ma by ona wykonywana w czasie p h > 0. Dodatkowo w modelu obowizuj trzy typowe, dla tego rodzaju problemów, ograniczenia: kada maszyna moe wykonywa w danej chwili nie wicej ni jedn operacj, nie mona jednoczenie wykonywa wicej ni jednej operacji danego zadania w danej chwili, wykonywanie operacji na maszynie nie moe by przerywane. Uszeregowanie dopuszczalne definiowane jest przez momenty rozpoczcia wykonywania S ( h) 0 operacji h, h O takie, e wszystkie powysze ograniczenia s spełnione. Problem polega na znalezieniu uszeregowania dopuszczalnego minimalizujcego moment wykonania wszystkich operacji max h O ( h), gdzie ( h) = S( h) + p h. Zakładajc dodatkowy wymóg: bez czekania kada nie pierwsza operacja danego zadania musi rozpocz si dokładnie w momencie zakoczenia wykonywania operacji wczeniejszej tego samego zadania, otrzymujemy model problemu gniazdowego z ograniczeniem bez czekania oznaczanego w notacji Grahama [8] poprzez J no wait. Zauwamy teraz, e termin k max t rozpoczcia wykonywania zadania k (moment rozpoczcia wykonywania pierwszej operacji tego zadania; t = S j ) ) okrela precyzyjnie terminy rozpocz oraz zakocze wykonywania wszystkich operacji h Ok tego zadania. Dla przypadku bez czekania rozwizanie problemu moe wic by reprezentowane poprzez wektor T = ( t 1,, t r ) terminów rozpoczcia wykonywania wszystkich zada. 3. Algorytmy generujcy rozwizania Ogólna idea proponowanego algorytmu polega na tworzeniu rozwizania poprzez systematyczne dokładanie zada do czciowo utworzonego we wczeniejszych iteracjach uszeregowania. Parametrem sterujcym, bdcym jednoczenie zmienn decyzyjn dla algorytmu nadrzdnego jest kolejno szeregowania zada. Kolejno ta zwana jest dalej permutacj ładujc i oznaczana przez π= ( π(1), π(2),, π( r)), π ( i) J, 1 i r. Zbiór wszystkich moliwych permutacji ładujcych oznaczamy poprzez Π. W i-tej iteracji szeregowaniu podawane zostaje zadanie o numerze π (i). Proces dodania zadania π (i) do czciowego harmonogramu polega na wyznaczeniu wszystkich momentów rozpoczcia S (h) oraz momentów zakoczenia (h) wykonywania si kadej operacji tego zadania h O. Raz uszeregowane zadanie nie zmienia ju swego połoenia w harmonogramie, π (i) tzn. wyznaczone w i-tej iteracji momenty S (h) i (h), h Oπ (i) bd momentami rozpoczcia i zakoczenia wykonywania si tych operacji w kocowym uszeregowaniu. W i-tej iteracji, sposób wyznaczenia momentów rozpoczcia i zakoczenia operacji zadania π (i) oblicza si wzgldem moliwie najmniejszego (spełniajcego wszystkie wymagane ograniczenia) momentu t π 0 rozpoczcia wykonywania si zadania π (i). Zauwamy, ( i) e kada permutacja ładujca π (permutacja zbioru J ) definiuje dokładnie jedno k ( k

uszeregowanie, co wicej uszeregowanie te jest zawsze dopuszczalne, co wynika bezporednio ze sposobu jego konstrukcji). Zaimplementowana procedura posiada złoono obliczeniow O ( r 2 N 2 ), gdzie N = max{ o } oznacza najwiksza liczb operacji w szeregowanych zadaniach. Jak ju wczeniej wspominano nawet sprawdzenie wszystkich moliwych kombinacji parametru sterujcego algorytmem konstrukcyjnym nie daje gwarancji znalezienia rozwizania optymalnego. Niestety autorowi nie udało si przeprowadzi teoretycznej analizy najgorszego przypadku tego zagadnienia. Jednake wykonano badania numeryczne dajce wyobraenie o skali tego zjawiska. Interesujce jest zarówno jak czsto zdarza si, k J aby najlepsze moliwe do otrzymania rozwizanie, oznaczy je * k ** α, nie było rozwizaniem optymalnym, oznaczonym α oraz jaki jest wtedy redni błd wartoci funkcji celu ** * rozwizania α wzgldem wartoci funkcji celu rozwizania optymalnego α. eby odpowiedzie sobie na tak postawione pytania naley dysponowa moliwie du seri * instancji o znanych wartociach funkcji celu rozwiza optymalnych α oraz naley zna wartoci funkcji celu najlepszych moliwych do wygenerowania rozwiza α. W tym celu posłuono si 22 literaturowymi przykładami znanymi pod nazwami La01-La05, La16-La20, Orb01-Orb10, Ft06 i Ft10. Dla tych przykładów znane s rozwizania optymalne osignite algorytmem opartym na technice podziału i ogranicze [4]. Równoczenie ilo zada w tych przykładach nie przekracza 10; r 10, co umoliwia sprawdzenie wszystkich moliwych permutacji ładujcych, których jest r!. W tym celu został napisany algorytm HBB oparty na metodzie podziału i ogranicze generujcy rozwizanie dla najlepszej moliwej permutacji ładujcej. Ponad dla kadej instancji mona wygenerowa instancj lustrzan, w której zamieniono na przeciwne kolejnociowe relacje technologiczne. Praktycznie jest to taka sama instancja, jednake algorytm generujcy rozwizanie układa zadania w inny sposób ni dla instancji oryginalnej. Uzyskane rozwizanie instancji lustrzanej jest oczywicie lustrzanym odbiciem pewnego rozwizania instancji oryginalnej. Oznacza to, i pewne złoliwoci instancji powodujce brak moliwoci wygenerowania rozwizania optymalnego mog nie istnie dla instancji lustrzanej. o wicej, jeli algorytm nadrzdny dla pewnych danych ma trudnoci z znalezieniem dobrego rozwizania, to moe okaza si, i w przypadku instancji lustrzanej dana trudno nie wystpuje. Trudno dla algorytmów popraw moe by tutaj rozumiana, jako problemy z opuszczeniem zbyt głbokiego lub zbyt szerokiego minimum lokalnego lub problemy z poruszaniem si po płaskiej (w sensie wartoci funkcji celu) przestrzeni rozwiza. Alg Niech oznacza warto optymalizowanego kryterium rozwizania otrzymanego algorytmem Alg. Badania testowe polegały na odczytaniu z pracy [4,7] wartoci HBB ** OPT funkcji celu optymalnych rozwiza, obliczeniu warto funkcji celu rozwizania HBB' otrzymanego algorytmem HBB oraz obliczeniu warto funkcji celu rozwizania otrzymanego algorytmem HBB pracujcym na lustrzanych instancjach. Nastpnie dla kadej instancji policzono wzgldny błd rozwiza uzyskanych kolejnymi algorytmami: Alg OPT A lg δ = 100%, Alg { HBB, HBB'}. (1) OPT

Uzyskane rezultaty zostały zawarte w tabeli 1. Dodatkowo w tabeli tej zawarta jest informacja o rozmiarze instancji, rednich błdach poszczególnych grup instancji oraz ostatnia linia zawiera rednie wartoci analizowanych parametrów z wszystkich 32 testowanych przykładów. Tabela 1. Błd wzgldny rozwiza otrzymanych algorytmami HBB i HBB Przykład m r OPT HBB HBB' HBB δ HBB' δ min{ δ, la01 971 975 971 0,41 0,00 0,00 la02 937 961 937 2,56 0,00 0,00 la03 5 10 820 820 820 0,00 0,00 0,00 la04 887 887 887 0,00 0,00 0,00 la05 777 781 777 0,51 0,00 0,00 0,70 0,00 0,00 la16 1575 1575 1575 0,00 0,00 0,00 la17 1371 1384 1371 0,95 0,00 0,00 la18 10 10 1417 1417 1417 0,00 0,00 0,00 la19 1482 1482 1491 0,00 0,61 0,00 la20 1526 1526 1580 0,00 3,54 0,00 0,19 0,83 0,00 orb01 1615 1615 1626 0,00 0,68 0,00 orb02 1485 1485 1518 0,00 2,22 0,00 orb03 10 10 1599 1599 1599 0,00 0,00 0,00 orb04 1653 1653 1653 0,00 0,00 0,00 orb05 1365 1370 1367 0,37 0,15 0,15 0,07 0,61 0,03 orb06 1555 1555 1557 0,00 0,13 0,00 orb07 689 705 689 2,32 0,00 0,00 orb08 10 10 1319 1319 1319 0,00 0,00 0,00 orb09 1445 1445 1445 0,00 0,00 0,00 orb10 1557 1557 1564 0,00 0,45 0,00 0,46 0,12 0,00 ft06 6 6 73 73 73 0,00 0,00 0,00 ft10 10 10 1607 1607 1609 0,00 0,12 0,00 0,00 0,06 0,00 HBB δ HBB' rednia 0,32 0,36 0,005 }

Z przeprowadzonych bada wynika, i sytuacja, w których nie mona osign rozwizania optymalnego to około 30% przykładów. Jednake rednia odległo w sensie wartoci funkcji celu rozwiza najlepszych od rozwiza optymalnych jest mała i wynosi około 0,3%. Przykładowo algorytm [7] generuje rozwizania odległe od rozwiza referencyjnych na poziomie 8%, algorytm konstrukcyjny przedstawiony w dalszej czci pracy rozwizania z błdem około 18%. Dodatkowo stosujc jednoczenie poszukiwania na oryginalnej jak i zwierciadlanej instancji ilo przykładów, w których nie mona otrzyma rozwizania optymalnego spada do kilku procent. Ponadto rednia odległo najlepszych wartoci funkcji celu rozwiza otrzymanych w ten jest na poziomie 0,005%. Poniewa testy s przeprowadzone na stosunkowo małej grupie przykładów wartoci te mog do duo odbiega od rzeczywistych, jednake daj wyobraenie o stosunkowo niewielkiej skali omawianej niedogodnoci. 4. Algorytm Proponowany algorytm (zwany dalej ) składa si z dwóch czci. Nadrzdnego członu sterujcego opartego na technice poszukiwa z zabronieniami oraz drugiego członu wykonawczego, generujcego rozwizanie problemu przy ustalonych przez człon nadrzdny parametrach sterujcych. Dokładny opis algorytmu generujcego rozwizania z analiz otrzymywanych rozwiza, zawarty jest we wczeniejszym fragmencie pracy. Dla dalszego opisu algorytmu nadrzdnego wane jest tylko, i parametrem sterujcym czci wykonawcz jest permutacja zada; π = ( π(1), π(2),, π( r)), π ( i) J, 1 i r zwana permutacj ładujc. Nadrzdne sterowanie jest, wic algorytmem, w którym zmienn decyzyjn jest jedna permutacja, za funkcj kryterialn jest warto funkcji celu rozwizania otrzymanego algorytmem konstrukcyjnym. Takie podejcie uniemoliwiło autorowi, znalezienie praktycznych zalenoci pomidzy zmian w permutacji ładujcej a zmian długoci otrzymywanego harmonogramu. Do pokazania zadziwiajcych własnoci tak analizowanego problemu moe posłuy przykład, w którym wyjcie zadania z permutacji ładujcej bdzie skutkowało generacj czciowego harmonogramu dłuszego ni wczeniejszy kompletny harmonogram! Znalezienie takiego przykładu pozostawiam jako ciekaw łamigłówk dla czytelnika. Istnienie powyszego zjawiska oznacza, e dodajc (lub zabierajc) zadane do czciowej permutacji ładujcej, otrzymywany harmonogram moe si zarówno wydłuy jak i skróci. Poniewa ogólny opis algorytmu poszukiwania z zabronieniami mona znale midzy innym w pracy [9] w poniszych podrozdziałach przedstawione zostan szczegółowo najwaniejsze składowe elementy tego algorytmu. Ssiedztwo Ssiedztwo permutacji π Π wykorzystywane w algorytmie bazuje na ruchach typu wstaw. Ruch v = ( a, b), 1 a r, 1 b r, a b, a b 1, typu wstaw wykonany na permutacji π Π polega na przesuniciu elementu z pozycji a na pozycj b tworzc now permutacj oznaczan π Π. Liczba ruchów a tym samym rozmiar ssiedztwa dla (v) 2 permutacji r elementowej wynosi ( r 1). W prezentowanym algorytmie postanowiono ograniczy wielko analizowanego ssiedztwa tylko do rozwiza otrzymanych ruchami o ograniczonym rozmiarze. Rozmiar ruchu v = ( a, b), oblicza si jako ilo pozycji o jak zostaje przestawiony element, a b. Ostatecznie analizowane ssiedztwo powstaje z

ruchów v = ( a, b), 1 a r, 1 b r, a b, a b 1, movesizemin a b movesizemax. Jeli kilka ruchów generuje rozwizanie jednakowo dobre, wybierany zostaje ruch o wikszym rozmiarze. W prezentowanym algorytmie ustalono nastpujce wartoci parametrów movesizemi n = 1, movesizema x = 10. Lista tabu Elementami listy tabu T, zgodnie z ide zawart w pracy [9] s pewne atrybuty permutacji i ruchu AV ( π, v) ostatnich tabun iteracji algorytmu. Niech łuk ( x y) oznacza relacj kolejnociow zada x i y w permutacji. Po wykonaniu ruchu v = ( a, b), przekształcajcego permutacj π Π w permutacj π Π (v), na list tabu zapisywana jest pewna para ( x, y), dla której w permutacji π zachodziła relacja ( x y), a w permutacji π (v) zamieniła si w relacj przeciwn ( y x). Oczywiste jest, i dla danego ruchu moe istnie wiele takich par ( x, y). W algorytmie zastosowano dwie metody wybory pary zada zapisywanej na licie tabu. Metoda pierwsza ma na celu wprowadzanie łuków słabych, zabraniajcych stosunkowo mał liczb ruchów oraz druga metoda zapisujca łuki mocne zabraniajce moliwie najwiksz liczb ruchów. I tak dla przypadku pierwszego na list tabu zapisywane s atrybuty: a dla przypadku drugiego AV ( π ( x), π ( x + 1)) dla x < y ( π, v) = SOFT ( ( x 1), ( x )), (2) π π dla x > y AV ( π ( x), π ( y)) dla x < y ( π, v) = HARD ( ( y), ( x )). (3) π π dla x > y Ruch v = ( a, b) uwaany jest za zabroniony, jeeli na licie tabu znajduje si przynajmniej jedna para zada ( x, y), dla której wystpuje relacja ( x y) w powstajcej permutacji π (v). W algorytmie rodzaj zapisywanych atrybutów jest zmieniany cyklicznie pomidzy AV SOFT ( π, v) i AV HARD ( π, v). Rozwizanie startowe Konstrukcyjny algorytm generujcy rozwizanie startowe zwany dalej HNEH take, jest algorytmem hybrydowym. Procedura generujca rozwizanie jest taka sama jak w algorytmie, natomiast członem nadrzdnym jest algorytm NEH [10]. Algorytm NEH dedykowany jest permutacyjnemu problemowi przepływowemu, w którym to problemie (przy typowym modelu permutacyjno-grafowym) zmienn decyzyjn jest permutacja zada. Poniewa parametrem sterujcym członu wykonawczego jest take permutacja zada, algorytm NEH bez adnych przeróbek został zastosowany do wygenerowania startowej permutacji ładujcej. Niestety w zwizku braku wykrycia praktycznych relacji pomidzy permutacjami sterujcymi a długoci otrzymywanych uszeregowa, autorowi nie udało si stworzy akceleracji analogicznych do akceleracji powszechnie stosowanych

w przypadku permutacyjnego problemu przepływowego. Ostatecznie złoono 4 N 2 obliczeniowa algorytmu HNEH wynosi O ( r ), gdzie N = max{ o }. Metoda skoku powrotnego Metoda skoku powrotnego, intensyfikuje poszukiwania w pobliu najlepszego znalezionego rozwizania. Powrót do tego rozwizania nastpuje po wykonaniu backjumpit er iteracji jałowych (nie przynoszcych poprawy najlepszego znanego rozwizania). Ponadto w celu, wymuszenia innej strategii i tym samym innej trajektorii poszukiwa przy kadym powrocie do danego rozwizania zmieniane s główne parametry algorytmu: z kadym powrotem nastpuje cykliczna zmiana zapisywanych atrybutów na list tabu, algorytm przełcza si pomidzy atrybutami AV SOFT ( π, v) i AV HARD ( π, v) z co drugim powrotem nastpuje zwikszenie długoci tabu listy o 1; tabun : = tabun + 1 ; oraz dwukrotne zwikszenie długoci dopuszczalnych do wykonania przed skokiem powrotnym iteracji jałowych; backjumpiter : = 2 backjumpiter. Przy kadorazowym poprawieniu najlepszego znalezionego rozwizania wszystkim parametrom sterujcym przywracana jest startowa warto, a zawarto listy tabu jest czyszczona. Ostatecznie parametrami algorytmu s: timemax - okrelajcy maksymalny czas pracy algorytmu, itermax - okrelajcy maksymaln wykonan liczb iteracji, tabun - okrelajcy startow długo listy tabu, backjumpiter - okrelajcy startow liczb iteracji jałowych, po których nastpuje skok powrotny. 5. Badania testowe Prezentowany algorytm został zaprogramowany w ++ i był uruchamiany na komputerze P z procesorem Intel PentiumD 2,8GHz. Efektywno opracowanego algorytmu rozumiana zarówno jako szybko działania jak i jako dostarczanych rozwiza, przetestowana została na znanych w literaturze przykładach testowych. Przykłady te zrónicowane s zarówno pod wzgldem iloci maszyn (od 5 do 20), jak i iloci zada (od 6 do 30). Dla lepszej interpretacji uzyskanych rezultatów, porównane zostały one wzgldem wyników otrzymanych algorytmem hybrydowym [7], łczcym w sobie algorytm genetyczny z elementami algorytmu symulowanego wyarzania. Rozwizanie danego przykładu przez algorytm odbywało si kadorazowo poprzez uruchomienie tego algorytmu zarówno dla instancji oryginalnej jak i lustrzanej. Nastpnie rozwizanie otrzymane z instancji lustrzanej poddawane było prostemu przekształceniu tak, aby stanowiło prawidłowe rozwizanie problemu oryginalnego. Z otrzymanych w ten sposób dwóch rozwiza danej instancji do dalszej oceny brane było rozwizanie lepsze w sensie wartoci funkcji celu. zas otrzymania w ten sposób rozwizania był oczywicie obliczany jako suma czasu znalezienia rozwizania instancji oryginalnej i czasu znalezienia rozwizania instancji zwierciadlane oraz czasów utworzenia rozwiza startowych. Badania testowe składaj si z dwóch czci. W pierwszej z nich bada si efektywno algorytmu na łatwych, a w drugiej na trudnych przykładach testowych. Przykłady k J k

Tabela 2. Wyniki działania algorytmów i dla przykładów łatwych ρ Przykład m n BEST t t ρ [s] [s] La01 5 x 10 971 1037 23 6,80 971 5 0,00 La02 5 x 10 937 990 24 5,66 937 5 0,00 La03 5 x 10 820 832 24 1,46 820 5 0,00 La04 5 x 10 887 889 25 0,23 887 5 0,00 La05 5 x 10 777 817 24 5,15 777 5 0,00 La16 10 x 10 1575 1637 39 3,94 1575 12 0,00 La17 10 x 10 1371 1430 42 4,30 1371 12 0,00 La18 10 x 10 1417 1555 42 9,74 1417 12 0,00 La19 10 x 10 1482 1610 40 8,64 1482 12 0,00 La20 10 x 10 1526 1693 45 10,94 1526 12 0,00 Orb01 10 x 10 1615 1663 39 2,97 1615 12 0,00 Orb02 10 x 10 1485 1555 40 4,71 1485 12 0,00 Orb03 10 x 10 1599 1603 41 0,25 1599 12 0,00 Orb04 10 x 10 1653 1653 43 0,00 1653 12 0,00 Orb05 10 x 10 1365 1415 44 3,66 1367 12 0,15 Orb06 10 x 10 1555 1555 42 0,00 1555 12 0,00 Orb07 10 x 10 689 706 43 2,47 689 12 0,00 Orb08 10 x 10 1319 1319 41 0,00 1319 12 0,00 Orb09 10 x 10 1445 1535 40 6,23 1445 12 0,00 Orb10 10 x 10 1557 1618 46 3,92 1557 12 0,00 Ft06 6 x 6 73 73 6 0,00 73 0 0,00 Ft10 10 x 10 1607 1607 41 0,00 1607 12 0,00 Tabela 3. redni błd oraz suma czasów działania algorytmów i dla grup łatwych Grupy przykładów t [s] ρ t [s] ρ La01-La05 120 3,86 25 0,00 La16-La20 208 7,51 60 0,00 Orb01-Orb05 207 2,32 60 0,00 Orb06-Orb10 212 2,52 60 0,03 Ft06, Ft10 47 0,00 12 0,00 Wszystkie 794 3,68 217 0,005

Tabela 4. Wyniki działania algorytmów i dla przykładów trudnych Przykład m n REF t σ t σ [s] [s] La06 5 x 15 1248 1339 80 7,29 1248 74 0.00 La07 5 x 15 1172 1240 70 5,80 1172 74 0.00 La08 5 x 15 1244 1296 72 4,18 1276 74 2.57 La09 5 x 15 1358 1447 83 6,55 1368 74 0.74 La10 5 x 15 1287 1338 70 3,96 1299 74 0.93 La11 5 x 20 1656 1825 170 10,21 1666 100 0.60 La12 5 x 20 1462 1631 164 11,56 1447 100-1.03 La13 5 x 20 1610 1766 183 9,69 1669 100 3.66 La14 5 x 20 1659 1805 176 8,80 1716 100 3.44 La15 5 x 20 1713 1829 167 6,77 1754 100 2.39 La21 10 x 15 2048 2182 147 6,54 2067 150 0.93 La22 10 x 15 1918 1965 135 2,45 1910 150-0.42 La23 10 x 15 2075 2193 136 5,69 2021 150-2.60 La24 10 x 15 2044 2150 133 5,19 2062 150 0.88 La25 10 x 15 1946 2034 142 4,52 1906 150-2.06 La26 10 x 20 2627 2945 332 12,11 2741 200 4.34 La27 10 x 20 2763 3036 311 9,88 2849 200 3.11 La28 10 x 20 2696 2902 324 7,64 2810 200 4.23 La29 10 x 20 2498 2617 311 4,76 2555 200 2.28 La30 10 x 20 2602 2892 346 11,15 2643 200 1.58 La31 10 x 30 3690 4298 957 16,48 3820 300 3.52 La32 10 x 30 4082 4686 869 14,80 4289 300 5.07 La33 10 x 30 3712 4214 860 13,52 3933 300 5.95 La34 10 x 30 3716 4401 968 18,43 4009 300 7.88 La35 10 x 30 3797 4299 897 13,22 3824 300 0.71 La36 15 x 15 2796 2949 203 5,47 2802 224 0.21 La37 15 x 15 3025 3216 192 6,31 3065 224 1.32 La38 15 x 15 2612 2762 202 5,74 2695 224 3.18 La39 15 x 15 2760 2908 195 5,36 2772 224 0.43 La40 15 x 15 2728 2950 214 8,14 2610 224-4.33 Ft20 20 x 20 1587 1675 184 5,55 1586 100-0.06

Tabela 5. redni błd oraz suma czasów działania algorytmów i dla grup trudnych Grupy przykładów t [s] ρ t [s] σ La06-La10 375 5,56 370 0.85 La11-La15 860 9,41 500 1.81 La21-La25 693 4,88 750-0.65 La26-La30 1 624 9,11 1000 3.11 La31-La35 4 551 15,29 1500 4.63 La36-La40 1 006 6,21 1120 0.16 Ft20 184 5,55 100-0.06 Wszystkie 9 292 8,32 5340 1.60 łatwe to te, które udało si rozwiza dokładnie stosujc algorytm typu dziel i ograniczaj opisany w pracy [4], o iloci zadani nieprzekraczajcej 10; r 10, natomiast pozostałe nosz miano przykładów trudnych. W pierwszej czci testu algorytm uruchamiany był z nastpujcymi parametrami sterujcymi: ( timemax = 6, itermax = 4000, tabun = 5, bacjjumpiter = 100 ). Znaczenie wszystkich parametrów zostało omówione wczeniej. Ponadto startowa permutacja ładujca była permutacja naturaln. Dla kadego przykładu wyznaczono długo uszeregowania generowanego przez badany algorytm w czasie t. Analogiczne dane i t dla algorytmu otrzymano uruchamiajc 30 razy algorytm (na komputerze z procesorem Athlon 1400 Mhz). Nastpnie dla kadego przykładu obliczono wzgldny błd w stosunku do rozwizania optymalnego zgodnie wzorem (1); dla Alg {, }. BEST Jak ju wspominałem, wartoci funkcji celu rozwiza optymalnych zaczerpnito z pracy [4], w której otrzymano je stosujc algorytm dokładny typu dziel i ograniczaj. BEST Wartoci, t,, t oraz dla kadego z łatwych przykładów zamieszczono w tabeli 2. rednie wartoci A sum Alg ρ błdu Alg ρ oraz sum czasów działania t algorytmu Alg {, PGA } dla poszczególnych grup przykładów łatwych zamieszczone zostały w tabeli 3. W drugiej czci testu algorytm był uruchamiany z nastpujcymi parametrami: ( timemax = r / 2, itermax =, tabun = 6, bacjjumpiter = 20 ). Ponadto przebieg drugiej czci testu przebiegał analogicznie do czci pierwszej, z t zasadnicz rónic, e porównywane algorytmy A lg {, SGA } testowane były na przykładach trudnych, a błdy rozwiza referencyjnych, A σ liczone s wzgldem Alg REF REF wartoci funkcji celu rozwiza Alg σ = 100%, Alg {, }. (4) REF

REF Wartoci funkcji celu rozwiza referencyjnych zaczerpnito z pracy [11], w której otrzymano je stosujc algorytm typu poszukiwania z zabronieniami oraz algorytm typu REF symulowanego wyarzania. Wartoci, t,, t oraz przykładów trudnych zawarte s w tabeli 4, natomiast rednie wartoci A sum A σ błdu A σ oraz sum czasów działania t algorytmu A lg {, } dla poszczególnych grup przykładów trudnych zamieszczono w tabeli 5. 6. Podsumowanie Głównym osigniciem pracy jest bardzo wysoka efektywno algorytmu. W porównywalnym czasie, co algorytm literaturowy prezentowany algorytm znajduje rozwizania duo lepsze w sensie optymalizowanego kryterium. Piszc tu o porównywalnym czasie uwzgldniono rónic szybkoci komputerów, na których uruchamiano poszczególne algorytmy. Dla instancji zakwalifikowanych do grupy przykładów łatwych redni błd otrzymanych rozwiza (1) dla algorytmu wynosił niecałe δ < 0,005%, co jest niewspółmiernie mał wartoci w stosunku do redniego błdu rozwiza otrzymanych algorytmem, który wynosił δ = 3,68%. o wicej algorytm nie tylko wygenerował rozwizania znacznie lepsze, ni zrobił to algorytm, ale dokonał to w czasie relatywnie dwukrotnie krótszym. Podobnie, lecz nie ju tak spektakularnie wypada porównanie algorytmu i dla instancji zakwalifikowanych jako przykłady trudne. Prezentowany w pracy algorytm wygenerował rozwizania o rednim błdzie wzgldem rozwiza referencyjnych (4) na poziomie σ = 1,5%, podczas gdy w relatywnie porównywalnym czasie algorytm wygenerował rozwizania o rednim błdzie na poziomie σ = 8,32%. Ponadto na naley zwróci, uwag na prostot algorytmu. Algorytm ten w aden sposób nie wykorzystuje własnoci problemu, lecz jedynie sugeruje si długoci harmonogramu otrzymanego wyniku działania członu wykonawczego. Obecne dalsze badania autora pracy, polegaj na próbie wykazania pewnych zalenoci pomidzy permutacj ładujc dostarczan przez nadrzdny człon algorytmu, a długoci harmonogramu, bez koniecznoci jego budowy. Autor uwaa, i znalezienie nawet pewnych statystycznych zalenoci pomidzy tymi bytami pozwoliłoby ukierunkowa poszukiwania parametrów sterujcych w algorytmie nadrzdnym w statystycznie lepsz stron. Taka modyfikacja algorytmu mogłaby istotnie podnie jego wydajnoci. Literatura 1. Wismer D.A.: Solution of the flowshop scheduling-problem with no intermediate queues. Operations Research. 1972, 20, 689. 2. Hall N., Sriskandarajah.: A survey of machine scheduling-problems with blocking and no-wait in process. Operations Research. 1996, 44 (3), 510. 3. Lenstra J., Rinnooy Kan A.: omputational complexity of discrete optimization problems. Annals of Discrete Mathematics, 1979, 4, 121. 4. Mascis A., Pacciarelli D.: Job shop scheduling with blocking and no-wait constraints, European Journal of Operational Research. 2002, 142 (3), 498.

5. Macchiaroli R., Mole S., Riemma S.: Modelling and optimization of industrial manufacturing processes subject to no-wait constrains, International Journal of Production Research, 1999, 37 (11), 2585. 6. Raaymakers W., Hoogeveen J.: Scheduling multipurpouse batch process industries with no-wait restrictions by simulated annealing, European Journal of Operational Research. 2000, 126, 131. 7. Schuster., Framinan J.: Approximative procedures for no-wait job shop scheduling, Operations Research Letters. 2003, 31, 308. 8. Graham R., Lawler E., Lenstra J., Rinnooy Kan A.: Optimization and approximation in deterministic sequencing and scheduling: a survey, Annals of Discrete Mathematics, 1979, 5, 287. 9. Nowicki E.: Metoda tabu w problemach szeregowania zada produkcyjnych, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław 1999, 10. Nawaz M., Enscore Jr.E.E., Ham I.: A heuristic algorithm for the m-machine, n-job flow-shop sequencing problem, OMEGA International Journal of Management Science, 11, 1983, 91-95, 11. Makuchowski M.: Problemy gniazdowe z operacjami wielomaszynowymi. Własnoci i algorytmy. Raport Politechniki Wrocławskiej, seria: Preprinty nr 37 / 2004. Dr in, Mariusz Makuchowski Politechnika Wrocławska, Instytut Informatyki Automatyki i Robotyki 50-372 Wrocław, ul Janiszewskiego 11/17 tel,: (0-71) 320-28-34, e-mail: mariusz,makuchowski@pwr,wroc,pl