Problemy gniazdowe z operacjami wielomaszynowymi. Własności i algorytmy (praca doktorska) Mariusz MAKUCHOWSKI. Na prawach rękopisu

Wielkość: px
Rozpocząć pokaz od strony:

Download "Problemy gniazdowe z operacjami wielomaszynowymi. Własności i algorytmy (praca doktorska) Mariusz MAKUCHOWSKI. Na prawach rękopisu"

Transkrypt

1 Na prawach rękopisu INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ Raport serii: PREPRINTY nr 37/2004 Problemy gniazdowe z operacjami wielomaszynowymi. Własności i algorytmy (praca doktorska) Mariusz MAKUCHOWSKI PROMOTOR: Prof. dr hab. inż. Czesław Smutnicki Słowa kluczowe: optymalizacja algorytm szeregowanie operacje wielomaszynowe problem gniazdowy WROCŁAW czerwiec 2004

2 Motto: Nie dane by mi było tyle osiągnąć, gdybym nie stał na ramionach herosów. Albert Einstein Tą drogą pragnę podziękować Ś.p. profesorowi Eugeniuszowi Nowickiemu za cenne sugestie i rady, rzetelne wprowadzenie do tematu oraz moralne wsparcie podczas przewodu doktorskiego. Nie dane mu było doczekać mojej obrony, jednak na kartach tej pracy przetrwa cząstka jego osobowości i wiedzy. Dziękuję mu serdecznie za poświęcony mi czas. Dziękuję również profesorowi Czesławowi Smutnickiemu za wskazówki merytoryczne, zaangażowanie oraz stworzenie przyjaznej atmosfery, która ułatwiła mi funkcjonowanie w tym trudnym dla mnie okresie. Wszystkim pracownikom Zakładu Systemów Dyskretnych, Politechniki Wrocławskiej dziękuję za atmosferę życzliwości. Gorąco dziękuję także mojej żonie Renacie i córce Agnieszce za cierpliwość, wyrozumiałość oraz stworzenie sprzyjających do pracy warunków.

3 Spis treści 1 Wprowadzenie Tezy pracy Cel i zakres pracy Problemy szeregowania w praktyce Problem gniazdowy Ograniczenia technologiczne Problemy ogólniejsze Wiele sposobów wykonywania Operacje wielomaszynowe Wielosposobowe operacje wielomaszynowe Metody rozwiązywania Metody dokładne Metody przybliżone Algorytmy typu wstaw Algorytmy typu symulowanego wyżarzania Algorytmy typu poszukiwania z zabronieniami Operacje wielomaszynowe. Klasyfikacja, modele grafowe Parametry operacji wielomaszynowych Klasyfikacja operacji wielomaszynowych Modele grafowe operacji wielomaszynowych Nieprzesuwalne czynności synchroniczne Nieprzesuwalne czynności asynchroniczne Przesuwalne czynności bez dodatkowych ograniczeń Przesuwalne czynności z dodatkowymi ograniczeniami Modele ograniczeń występujących pomiędzy operacjami Ograniczenia technologiczne Ograniczenia kolejnościowe i

4 ii Spis treści 4 Problemy gniazdowe z operacjami wielomaszynowymi. Modele grafowe Nieprzesuwalne czynności asynchroniczne jeden sposób wykonywania Sformułowanie problemu Model matematyczny i reprezentacja grafowa Ścieżka krytyczna Nieprzesuwalne czynności asynchroniczne wiele sposobów wykonywania Sformułowanie problemu Model matematyczny i reprezentacja grafowa Czynności przesuwalne Czynności bez dodatkowych ograniczeń Czynności z dodatkowymi ograniczeniami Porównanie modeli Algorytmy wyznaczania wartości najdłuższej drogi w grafach cyklicznych Przegląd algorytmów literaturowych Detektory cykli w algorytmach MB, MBEP Algorytm MDSP Opis algorytm MDSP Detektor cykli w algorytmie MDSP Analiza eksperymentalna Sposób generowania przykładów Wyniki testów Wnioski i uwagi Jednosposobowy problem gniazdowy z czynnościami asynchronicznymi Własności problemu w kontekście metod LS Ruch Ocena ruchu Eliminacyjne własności ścieżki krytycznej Sąsiedztwa Sąsiedztwo pełne Sąsiedztwo zredukowane Dominacje ruchów Sąsiedztwo bazowe Zredukowane sąsiedztwo bazowe Relacje między sąsiedztwami

5 SPIS TREŚCI iii 6.4 Algorytmy konstrukcyjne Permutacyjne algorytmy konstrukcyjne Niepermutacyjne algorytmy konstrukcyjne Algorytm typu tabu Sąsiedztwo Akceleratory wyboru reprezentanta Postać listy tabu Techniki wspierające Rozwiązanie początkowe Algorytm symulowanego wyżarzania Sąsiedztwo Rozwiązanie startowe Techniki wspierające Badania testowe Przykłady testowe Algorytmy konstrukcyjne Algorytmy popraw Problem gniazdowy bez czekania Wnioski i uwagi Wielosposobowy problem gniazdowy z czynnościami asynchronicznymi Własności problemu Algorytmy konstrukcyjne Algorytm M-MTS typu tabu Sąsiedztwo Lista tabu Techniki wspierające Badania testowe Przykłady testowe Algorytmy konstrukcyjne Algorytmy popraw Wielosposobowy problem gniazdowego z nieprzesuwalnymi czynnościami synchronicznymi Wnioski i uwagi Zastosowania praktyczne Wnioski końcowe 183 Literatura 185

6 iv Spis treści

7 Rozdział 1 Wprowadzenie Teoria szeregowania zadań stanowi bazę dla rozwiązania problemów optymalizacji, planowania i sterowania w konwencjonalnych i elastycznych systemach wytwórczych (nazywanych także dyskretnymi systemami produkcyjnymi). Generowane przez praktykę zagadnienia, dla przypadku deterministycznego, należą do obszaru badań operacyjnych, programowania dyskretnego i kombinatorycznego. Zagadnienia te są intensywnie badane od wielu lat, przy czym można wymienić co najmniej kilka powodów tak wielkiego nimi zainteresowania. Po pierwsze sformułowane problemy modelują wiele procesów przemysłowych charakteryzujących się dyskretnym przepływem zadań. Są to przede wszystkim zagadnienia optymalizacji przydziału dostępnych zasobów (maszyn, personelu, energii) do zadań oraz ustalenia harmonogramu wykonywania tych zadań, w taki sposób aby optymalizować żądane kryterium (minimalizować czas wykonania zlecenia, minimalizować zużycie energii itp.). Po wtóre, zdecydowana większość problemów optymalizacji kombinatorycznej należy do klasy problemów N P-trudnych, zatem najprawdopodobniej nie będzie można skonstruować dla nich algorytmów czasowo efektywnych (jeśli P N P). Istniejące algorytmy dokładne o złożoności wykładniczej, rozwiązują w sensownym czasie tylko problemy o niewielkim, z praktycznego punktu widzenia, rozmiarze. Te dwa powody (praktyczne zastosowanie problemów oraz trudność w znalezieniu rozwiązania optymalnego) skierowały w ostatnich latach badania w stronę poszukiwania efektywnych algorytmów przybliżonych. Miarą ich efektywności jest zarówno czas działania jak i dokładność określająca odległość wygenerowanego rozwiązania od rozwiązania optymalnego (w sensie różnicy wartości optymalizowanego kryterium). 1

8 2 Rozdział 1. Wprowadzenie Jednym z istotniejszych zagadnień w teorii harmonogramowania zadań produkcyjnych jest problem gniazdowy z kryterium będącym terminem zakończenia wykonania wszystkich zadań. Znaczenie tego zagadnienia wynika z faktu, że już jego klasyczne sformułowanie modeluje szereg rzeczywistych procesów produkcyjnych. Dodatkowo, różnorodne uogólnienia takie jak: wprowadzenie czasów przezbrojeń, ograniczonej pojemności buforów, ograniczonej liczby palet, uwzględnienie transportu, itp. powodują, że obszar jego stosowania staje się jeszcze większy. Jednym z ważnych kierunków uogólnień jest wprowadzenie operacji wielomaszynowych modelujących procesy, w których do wykonywania poszczególnych operacji zaangażowana jest nie jedna (tak jak w modelu klasycznym) lecz kilka maszyn. Tym właśnie problemom poświęcona jest moja praca. 1.1 Tezy pracy Oczywiste jest, że stosowanie bardziej precyzyjnych modeli operacji wielomaszynowych, generuje nową rodzinę problemów szeregowania, bliższych realiom produkcyjnym. Efektem ubocznym dokładniejszego modelowania jest zwykle znaczny wzrost rozmiaru oraz złożoności modelu matematycznego opisywanych procesów, a co za tym idzie pogorszenie własności numerycznych algorytmów rozwiązywania. W tym kontekście wysuwam następujące tezy: możliwa jest budowa bardziej precyzyjnych modeli operacji wielomaszynowych w systemach wytwórczych, poprzez umiejętne rozszerzenie klasycznych modeli znanych w teorii szeregowania, przy nieznacznym wzroście rozmiaru i stopniu skomplikowania modelu, w rozpatrywanej klasie problemów istnieją własności, analogiczne do tych znanych z problemów klasycznych oraz nowe własności charakterystyczne dla formułowanych zagadnień, efektywność algorytmów przybliżonych można znacząco poprawić poprzez wykorzystanie szczególnych własności problemu, w klasie metod lokalnego przeszukiwania (ang. local search) metoda przeszukiwania z zabronieniami (ang. tabu search) jest szczególnie polecana do rozwiązywania postawionych zagadnień. Bezpośrednią konsekwencją udowodnienia postawionych tez jest następująca, dość oczywista, własność: przybliżone rozwiązania otrzymane szybkimi algorytmami popraw, problemu precyzyjnie modelującego proces przemysłowy, mogą okazać się istotnie lepsze (w sensie danego kryterium) niż,

9 1.2. Cel i zakres pracy 3 rozwiązanie optymalne problemu modelującego w sposób przybliżony ten sam proces. 1.2 Cel i zakres pracy Zasadniczym celem pracy jest dowiedzenie postawionych tez. Cel ten zamierzam osiągnąć, poprzez: opracowanie nowych modeli operacji wielomaszynowych, opracowanie sposobu konstrukcji modeli permutacyjno-grafowych problemów szeregowania (na przykładzie problemu gniazdowego) z zastosowaniem prezentowanych modeli operacji wielomaszynowych, wykrycie i udowodnienie specyficznych własności badanego problemu, pozwalających na budowę efektywnych algorytmów konstrukcyjnych oraz algorytmów popraw, implementację algorytmów i przeprowadzenie eksperymentów obliczeniowych, ocenę jakości proponowanych algorytmów oraz przedstawienie wniosków wynikających z przeprowadzonych badań. Organizacja przedstawianej pracy została dostosowana odpowiednio do zaplanowanych badań. W rozdziale 2 podaję znane z literatury odpowiedniki prezentowanych problemów bazujące na klasycznych modelach operacji. Ponadto dokonuję przeglądu algorytmów literaturowych dedykowanych opisanym problemom. Kolejne rozdziały 3-7 stanowią w całości mój oryginalny dorobek. W rozdziale 3 opisuję uogólnione operacje wielomaszynowe. Rozważam i analizuję cztery niżej wymienione sytuacje: (i) operacja jest wykonywana jednocześnie na wszystkich maszynach, (ii) operacja wykonywana jest na poszczególnych maszynach, gdzie położenia przedziałów czasowych są względem siebie ustalone, (iii) operacja wykonywana jest na poszczególnych maszynach, gdzie położenia przedziałów czasowych nie są względem siebie ustalone jednak muszą się mieścić w ściśle określonym przedziale czasowym, (iv) operacja wykonywana jest tak jak w przypadku (iii), gdzie położenia poszczególnych przedziałów czasowych, nie są względem siebie ustalone z tym, że są nałożone na nie dodatkowe ograniczenia. Dla każdej z wymienionych sytuacji prezentuję opracowane modele grafowe, szczególnie wygodne przy analizie własności teoretycznych i konstrukcji algorytmów przybliżonych.

10 4 Rozdział 1. Wprowadzenie W rozdziale 4 prezentuję sposób tworzenia modeli permutacyjno grafowych na przykładzie gniazdowego problemu z operacjami wielomaszynowymi. Podaję modele permutacyjno-grafowe czterech problemów gniazdowych różniących się między sobą modelami operacji wielomaszynowych. W rozdziale 5 prezentuję, niezbędne do dalszej pracy narzędzie jakim jest szybka procedura wyznaczająca długość najdłuższej ścieżki w grafie modelującym rozważany problemy. Odpowiadający rozważanemu problemowi graf jest wyjątkowo trudnym do tego typu analizy, a istniejące procedury literaturowe działają zbyt wolno by na ich podstawie możliwe byłoby konstruowanie efektywnych algorytmów optymalizacyjnych. W rozdziale 6 badam jednosposobowy problem gniazdowy z nieprzesuwalnymi czynnościami asynchronicznymi. Najpierw dowodzę szeregu bardzo użytecznych z praktycznego punktu widzenia własności pozwalających na efektywne konstruowanie algorytmów. Następnie na ich podstawie proponuję szereg algorytmów konstrukcyjnych oraz algorytmy popraw. Zwracam szczególną uwagę na definicję sąsiedztwa, atrybuty zapisywane na liście tabu (dla algorytmu poszukiwania z zabronieniami) oraz zaawansowane techniki poprawiające efektywność algorytmów. Na zakończenie rozdziału, przeprowadzam wyczerpujące badania testowe prezentowanych algorytmów na odpowiednio zmodyfikowanych przykładach literaturowych. W rozdziale 7 badam wielosposobowy wariant zagadnienia z rozdziału 6. Wykazuję własności szczególne przez analogię do jego prostszego odpowiednika. Rozdziałowi temu towarzyszą także obszerne badania eksperymentalne proponowanych algorytmów. Rozdział 8 zawiera przykład rzeczywistego systemu produkcyjnego, w którym operacje przemysłowe można opisać przy pomocy prezentowanych w pracy nowych modeli operacji wielomaszynowych. W rozdziale 9 podsumowuję największe osiągnięcia mojej pracy, oceniam z teoretycznego punktu jakość oraz z praktycznego punktu stosowalność proponowanych modeli operacji wielomaszynowych, w stosunku do modeli klasycznych. Podsumowuję jakość proponowanych algorytmów dla badanych w pracy problemów gniazdowych. Na zakończenie tego rozdziału sugeruję kierunki dalszych badań naukowych związanych z zagadnieniami prezentowanymi w mojej pracy.

11 Rozdział 2 Problemy szeregowania w praktyce Praktyka szeregowania zadań (w zakresie modeli deterministycznych dla potrzeb konwencjonalnych i elastycznych systemów wytwórczych) uznaje za fundamentalne zagadnienie o praktycznej stosowalności problem występujący w literaturze pod nazwą problemu gniazdowego (ang. job-shop problem). Kolejne, bardziej zaawansowane modele problemów praktycznych powstają poprzez odpowiednie modyfikacje modelu bazowego, zmierzające w kilku wymienionych poniżej kierunkach: 1. uwzględnienie specyficznych ograniczeń, takich jak np. transport, przezbrojenia, pojemność systemu, ograniczenia czasu oczekiwania itp., 2. budowa modeli ogólniejszych, uwzględniających m.in. alternatywne marszruty zadań, złożone żądania zasobowe, dystrybucje zasobów itp., 3. wprowadzenie funkcji kryterialnych odzwierciedlające m.in. potrzeby ekonomiczne, 4. uwzględnienie niepewności, losowości, rozmytości danych. Ponieważ znaczące rezultaty dla problemu bazowego (ang. job-shop) osiągnięto zaledwie 2 8 lat temu, to kierunki (1) (4) są ciągle w fazie rozwoju, przy czym obszary (3) (4) w odniesieniu do problemów bardziej złożonych pozostają prawie niezbadane. W tym rozdziale zawarta jest krótka charakterystyka (wraz z referencjami do literatury) problemu bazowego oraz problemów w kierunkach (1) (2), ze szczególnym uwzględnieniem kierunku (2), stanowiącego centralny obszar badań zawartych w mojej rozprawie. 5

12 6 Rozdział 2. Problemy szeregowania w praktyce 2.1 Problem gniazdowy Klasyczny problem gniazdowy modeluje szeroką klasę praktycznych procesów produkcyjnych oraz stanowi bazę wyjściową do opisu działania bardziej skomplikowanych systemów wytwarzania opartych na przepływie zadań. Praktycznie każda nowa metoda jego rozwiązania może być w łatwy sposób zaadoptowana do rozwiązywania innych problemów szeregowania [39]. Ten N P-trudny problem jest jednym ze sztandarowych zagadnień szeregowania zadań produkcyjnych, często traktowany jest przez badaczy jako problem do testowania efektywności nowo powstających metod optymalizacji dyskretnej. Sformułowanie problemu W gniazdowym systemie produkcyjnym znajduje się określona liczba maszyn, na których należy wykonać, określoną liczbę zadań produkcyjnych. Niech J = {1,..., r} oznacza zbiór zadań, O = {1, 2,..., n} zbiór operacji oraz M = {1, 2,..., m} zbiór maszyn. Zbiór operacji jest podzielony na r rozłącznych podzbiorów J 1, J 2,..., J r odpowiadających poszczególnym zadaniom. Zadanie k, k J utożsamia się z zadaną sekwencją o k operacji ze zbioru J k, gdzie J k = o k oraz k J o k = n. Sekwencja ta określa wymaganą kolejność wykonywania operacji zadania k, bez straty ogólności przyjmuje się, że ma ona następująca postać: j k +1, j k +2,..., j k +o k, gdzie j k = k 1 i=1 o i jest liczbą operacji w zadaniach 1, 2,..., k 1 oraz j 1 = 0. Ponadto dla każdej operacji j O określona jest jedna maszyna µ(j) M, na której operacja ta ma być wykonywana w czasie p j > 0. Przyjmuje się, że: (i) każda maszyna może wykonywać w danej chwili nie więcej niż jedną operację, (ii) nie można jednocześnie wykonywać więcej niż jednej operacji danego zadania w danej chwili oraz (iii) wykonywanie operacji na maszynie nie może być przerywane. Uszeregowanie dopuszczalne jest definiowane przez momenty rozpoczęcia wykonywania S(j) 0 operacji j O takie, że wszystkie powyższe ograniczenia są spełnione. Problem polega na znalezieniu uszeregowania dopuszczalnego minimalizującego wybrane kryterium optymalności, będące niemalejącą funkcją terminów S(j), j O. Jednym z najczęściej stosowanych w literaturze kryteriów jest długość uszeregowania max j O C(j), gdzie C(j) = S(j) + p j. Istnieje kilka różnych technik modelowania opisanego problemu. Należą do nich m.in (i) model dysjunktywny, (ii) model PLC, (iii) model dualny. Jednakże najlepsze algorytmy dla tego problemu (i jego różnorodnych uogólnień) bazują na (iv) modelu permutacyjno-grafowym [77], przytoczonym poniżej.

13 2.1. Problem gniazdowy 7 W modelu tym rozwiązanie reprezentowane jest w postaci zestawu permutacji operacji wykonywanych na poszczególnych maszynach, a wartość funkcji celu wykorzystuje właściwości pewnego grafu skojarzonego z danym zestawem permutacji. Zbiór operacji O można podzielić na m rozłącznych podzbiorów O 1, O 2,..., O m takich, że zbiór O l = {j O : µ(j) = l} (o liczności oznaczanej przez n l ) określa operacje wykonywane na maszynie l, l M; l M nl = n. Niech π = (π 1,..., π m ) oznacza zestaw permutacji taki, że π l = (π l (1),..., π l (n l )) jest pewną permutacją operacji ze zbioru O l, l M; zbiór wszystkich takich zestawów będziemy oznaczać przez Π. Dla zestawu permutacji π Π definiujemy skierowany graf ( ) G(π) = O, E T E K (π) (2.1) ze zbiorem wierzchołków O oraz zbiorem łuków E T E K (π). Wierzchołek j O reprezentuje operacje j i obciążony jest wartością p j. Łuki E T = j k +o k k J j=j k +2 { } (j 1, j) (2.2) określają kolejność wynikającą z technologii, zaś E K (π) = n l l M i=2 { } (π l (i 1), π l (i)) (2.3) wybraną kolejność wykonywania operacji. Ze sposobu konstrukcji grafu G(π) wynika, że jest on acykliczny wtedy i tylko wtedy gdy rozwiązanie reprezentowane przez zestaw permutacji π jest dopuszczalne. Ponadto, wtedy wartości S(j) rozpoczęcia wykonywania operacji j O równe są długością najdłuższych dróg dochodzących do odpowiednich wierzchołków w grafie G(π) i ostatecznie na ich podstawie obliczana jest wartość funkcji celu. Problem gniazdowy pomimo stosunkowo prostego sformułowania należy do problemów trudnych obliczeniowo. Przegląd literatury Problem gniazdowy z kryterium C max (termin zakończenia wszystkich operacji) jest w ogólnym przypadku N P-trudny. Istnieją nieliczne, bardzo specyficzne przypadki szczególne, rozwiązywane w czasie wielomianowym. Przykładowo dla dwumaszynowego problemu gniazdowego z kryterialną funkcją C max oraz co najwyżej dwoma operacjami w każdym zadaniu, znany jest wielomianowy algorytm dokładny [46]. Podobnie dla dwumaszynowego problemu gniazdowego z jednostkowymi czasami wykonywania operacji

14 8 Rozdział 2. Problemy szeregowania w praktyce znane są algorytmy wielomianowe [109, 53]. Te dwa problemy wytaczają granicę pomiędzy problemami klasy P a problemami N P-trudnymi. Problem z trzema maszynami i z trzema operacjami w zadaniu jest już problemem N P-trudnym co zostało udowodnione w pracy [106]. Podobnie, jeżeli zrezygnujemy z ograniczenia na ilość operacji w zadaniu, to już dwumaszynowy problem gniazdowy, ograniczony do sytuacji jednostkowych i dwujednostkowych czasów wykonywania wszystkich operacji lub trójmaszynowy problem ograniczony tylko do jednostkowych czasów wykonywania operacji jest problemem N P-trudnym, co udowodniono w pracy [59]. Jeżeli ograniczymy się do problemów w których marszruta zadań przechodzi kolejno przez wszystkie maszyny (problem przepływowy, ang. flow-shop) to tylko dla dwumaszynowego problemu znany jest algorytm wielomianowy [47], natomiast problem trójmaszynowy jest już problemem N P-trudnym, co pokazano w pracy [58]. Negatywne doświadczenia z algorytmami dokładnymi w latach 90-tych skierowały poszukiwania w kierunku algorytmów przybliżonych i schematów aproksymacyjnych. Podobnie jak dla większości problemów szeregowania, algorytmy przybliżone dedykowane dla problemu gniazdowego dzielą się na dwie klasy: algorytmy konstrukcyjne oraz algorytmy popraw. Do pierwszej klasy należą algorytmy które konstruują rozwiązanie końcowe szeregując zadanie po zadaniu (operację po operacji). Działają one bardzo szybko, są stosunkowo proste w implementacji komputerowej lecz niestety dostarczają rozwiązań dość odległych (w sensie wartości funkcji celu) od rozwiązań optymalnych. Działanie algorytmów popraw popiera się na systematycznym poprawianiu pewnych rozwiązań. W tym celu w każdej iteracji algorytmu przeglądane jest otoczenie tego rozwiązania (zbiór bliskich w pewnym sensie rozwiązań) w celu wyznaczenia nowego rozwiązania bazowego. Najczęściej jako nowe rozwiązanie bazowe wybiera się najlepsze rozwiązanie z otoczenia. Ze szkicu algorytmu popraw przedstawionego powyżej wynika, że algorytmy te mogą przeglądać w trakcie pracy wiele rozwiązań kończąc swoje działanie na życzenie użytkownika lub w wyniku ustalonego kryterium zatrzymania. Z reguły dłuższe działanie takiego algorytmu, oznacza znalezienie lepszego w sensie wartości funkcji celu rozwiązania. Własność ta pozwala użytkownikowi na kreowanie rozsądnego do danej sytuacji praktycznej, kompromisu pomiędzy czasem obliczeń a jakością otrzymywanych rozwiązań.

15 2.1. Problem gniazdowy 9 Algorytmy konstrukcyjne Dla problemu gniazdowego algorytmy konstrukcyjne możemy podzielić na dwie zasadnicze grupy (i) algorytmy priorytetowe, (ii) algorytmy typu wstaw. Algorytmy priorytetowe ze zbioru operacji nieuszeregowanych wybierają według pewnej zasady (priorytetu) operację i wstawiają ją jako kolejną do realizacji na maszynę, na której ma być ona wykonywana. Do najczęściej stosowanych reguł priorytetowych należą: SPT operacja o najkrótszym czasie trwania (ang. shortest processing time), LPT operacja o najdłuższym czasie trwania (ang. longest processing time), LWR operacja o najkrótszym pozostałym czasie wykonania (ang. least work remaining), MWR operacja o najdłuższym pozostałym czasie wykonania (ang. most work remaining), Random operacja wybrana losowo. Szerszą listę reguł stosowanych w tym przypadku można znaleźć w pracy [39]. Znane są też w literaturze [5, 42, 93], algorytmy z tzw. dynamicznymi priorytetami. W przypadku tych algorytmów priorytety wszystkich nieuszeregowanych operacji uaktualniane są po każdej fazie algorytmu. Algorytmy z drugiej grupy, opierają się na tak zwane technice wstawień. Główna idea jej działania polega na tym, że szeregowana operacja nie jest umieszczana na końcu uszeregowania częściowego, tak jak to miało miejsce w przypadku algorytmów priorytetowych, lecz próbnie wstawiana jest na wszystkie pozycje i ostatecznie wstawiana na najlepszą pozycję spośród testowanych. W pracy [84] zaproponowano modyfikację polegającą na powtórnym szeregowaniu wcześniej już uszeregowanych operacji. Pozwoliło to na poprawienie efektywności metody o ponad 5% w sensie jakości produkowanych rozwiązań. Na pograniczu algorytmów popraw działa algorytm oparty na metodzie przesuwania wąskiego gardła SB (ang. shifting bottleneck algorithm) [3]. Algorytm w m krokach poprawia rozwiązanie startowe. W każdym kroku ze zbioru jeszcze nie wybranych maszyn, wyznaczona jest według pewnej reguły maszyna nazywana wąskim gardłem. Na tej maszynie szereguje się operacje, zgodnie z permutacją będącą rozwiązaniem jednomaszynowego problemu z czasami gotowości i dostarczania. Dane instancji tego problemu zależą od danych pierwotnego problemu gniazdowego. W dalszej części iteracji przeprowadza się określoną liczbę cykli popraw.

16 10 Rozdział 2. Problemy szeregowania w praktyce Algorytmy popraw W pracy [77], przedstawiono wyniki badań porównujących, szybkość działania oraz jakość generowanych rozwiązań 20 najlepszych algorytmów dedykowanych problemowi gniazdowemu. Opierają się one na czterech podstawowych metodach. Poniżej zostały one wymienione, dodatkowo lista ta została uzupełniona o najnowsze algorytmy bazujące na wspomnianych metodach: metodzie symulowanego wyżarzania Aarts i in. [1]; Matsuo i in. [72], Yamada i in. [118], metodzie tabu Barnes i Chambers [8], Dell Amico i Trubian [24], Nowicki i Smutnicki (TSAB) [86], metodzie genetycznej Dell Croce i in. [23], Dorndorf i Pesch [27], Pesch [98], Aarts i in. [1] metoda SB Adams i in. [3], Balas i Vazacopoulos [6]. Z przeprowadzonych testów wynika, że najlepsze rezultaty otrzymano algorytmem TSAB. Algorytm ten jest w dalszym ciągu rozwijany, w tym także przez jego twórców. W pracy [89] zaproponowano nową metodę dywersyfikacji przeszukiwań, wykorzystującą wiedzę o krajobrazie przestrzeni rozwiązań, która dla rozważanego problemu była rozważana w pracy [82]. Algorytm TSAB jest również inspiracją dla algorytmów prezentowanych w dalszej części pracy. 2.2 Ograniczenia technologiczne Jak już wspominałem klasyczne sformułowanie problemu patrz 2.1 przyjmuje wiele założeń upraszczających takich jak: (i) dowolnie długi czas oczekiwania zadania w kolejce pomiędzy zakończeniem danej operacji i przed rozpoczęciem następnej, (ii) nieograniczona możliwość magazynowania zadań (iii) zerowe lub pomijalne czasy transportu, (iv) zerowe lub pomijalne czasy przezbrojeń maszyn, (v) nieograniczona pojemność buforów, (vi) nieograniczona liczba palet. Utrzymanie tych założeń w modelu matematycznym często prowadzi do modeli nieadekwatnych do rzeczywistości. Przeciwnie, uwzględnienie tych realnych ograniczeń generuje nowe klasy problemów szeregowania. Bez czekania Ograniczenie bez czekania jest szczególnym przypadkiem ogólniejszego ograniczenia czasu oczekiwania. Przy ograniczeniu tego typu dla każ-

17 2.2. Ograniczenia technologiczne 11 dej pary kolejnych operacji (j, j + 1) tego samego zadania określony jest minimalny α j oraz maksymalny β j czas zwłoki pomiędzy momentem zakończenia operacji j a momentem rozpoczęcia wykonywania operacji j + 1; α j S(j + 1) C(j) β j. (2.4) Parametr α j często jest utożsamiany z opóźnieniem wynikającym np. z czasu transportu lub czasu schnięcia malowanego elementu. Parametr β j natomiast utożsamiany jest z czasem po jakim dany element traci swoje niezbędne do dalszej obróbki własności fizyczno-chemiczne, może to być np. czas stygnięcia obrabianego na gorąco elementu. Ograniczenie bez czekania należy rozumieć jako sytuację, w której czas oczekiwania musi wynosić dokładnie zero; α j = β j = 0. Oznacza to wymóg ciągłego wykonywania danego zadania, operacja po operacji, bez możliwości przestoju. Sytuacja tak zachodzi w wielu praktycznych procesach, w których wykonuje się operacje na materiałach zmieniających swoje własności fizyczno-chemiczne. Przykładem może być produkcja żywności [40] czy produkcja lekarstw [99]. W pracy [100] pokazano, że problem ten jest N P-trudny już dla przypadku dwumaszynowego. W pracy [54] proponowany jest pseudo-wielomianowy algorytmy dla dwumaszynowego problemu gniazdowego z ograniczeniem bez czekania przy dodatkowym założeniu jednostkowych czasów wykonywania operacji. Próby skonstruowania różnych algorytmów (dokładnych, popraw bazujących na zróżnicowanych technikach) dla tego problemu były podejmowane przez wielu badaczy. Dla małych przykładów rozważanego problemu zaproponowany jest w pracy [64] algorytm oparty na metodzie podziału i ograniczeń. W pracy [99] prezentuje się algorytmy popraw oparte na metodzie symulowanego wyżarzania. Algorytmy poszukiwania z zabronieniami przedstawiony jest w pracy [63], natomiast prace [13, 103] prezentują algorytmy genetyczne. Bufory Ograniczenie rozważane w tej sekcji odnosi się do skończonej pojemności buforów wejściowych maszyn. W praktyce ograniczona pojemność buforów maszyn występuje najczęściej w przepływowych systemach produkcyjnych, ponieważ obrabiane detale, przesuwają się np. przy pomocy taśmociągu, a fragment taśmociągu pomiędzy kolejnymi maszynami może pomieścić tylko niewielką liczbę obrabianych elementów. W jednej z pierwszych prac [94] pokazano, że już dla dwumaszynowego problemu przepływowego rozważany problem należy do klasy problemów N P-trudnych.

18 12 Rozdział 2. Problemy szeregowania w praktyce W monografii [104] zaprezentowano algorytm wykorzystujący technikę poszukiwania z zabronieniami dla problemu przepływowego z maszynami równoległymi (w stanowisku obsługi znajduje się kilka maszyn), przy dodatkowym ograniczeniu pojemności buforów (bufory mają co najwyżej jednostkową pojemność). Szczegółowe modele zasobów buforowych podane są w pracy [110] oraz [88]. Problemu przepływowego z buforami analizowany był w pracy [57], natomiast w pracy [79] zaproponowano dla niego algorytm oparty na metodzie poszukiwania z zabronieniami. Transport Ograniczenie te polega na uwzględnieniu czasów transportów zadań pomiędzy poszczególnymi maszynami. Ponieważ czas transportu może być zależny od drogi dzielącej poszczególne maszyny, w problemach gniazdowych z transportem konieczne jest również uwzględnienie geometrycznego układu maszyn. Najczęściej spotykane układy maszyn wymienia się m. in. w pracy [55]. Należą do nich układy typu linia, pętla i drabinka. Systemy transportowe o nieograniczonej przepustowości mogą być modelowane jako ograniczenia czasu oczekiwania. Inaczej jest z systemami transportowymi o ograniczonej liczbie środków przewozowych. Systemy o strukturze gniazdowej wykorzystujące ograniczoną liczbę wózków AGV możemy zróżnicować ze względu na liczbę oraz tryb pracy wózków. Wózki mogą pracować w dwóch trybach. Tryb pierwszy stój i jedź polega na tym, że dany środek transportu jest związany z konkretnym zadaniem przez cały czas pobytu zadania w systemie. W takim przypadku, po wykonaniu operacji załadowczej, wózek jedzie do zadanej maszyny, po czym staje i czeka aż operacja wykonywana przez maszynę zakończy się. Drugi tryb pracy zabierz i zostaw polega na tym, że po zostawieniu danej części buforze maszyny, wózek może wykonać tzw. przejazd pusty w kierunku innej maszyny i tam zabrać inną część z bufora wyjściowego maszyny, rozpoczynając kolejny transport. W problemach gniazdowych z transportem i ograniczoną liczbą wózków pracujących w trybie zabierz i zostaw, wózki traktuje się jak zbiór dodatkowych maszyn (transportowych) [44, 45, 90, 111]. W przypadku gdy przydział operacji do poszczególnych maszyn transportowych jest znany, problem można przetransformować do problemu gniazdowego z przezbrojeniami w przeciwnym wypadku, problem jest transformowalny do problemu gniazdowego z przezbrojeniami i maszynami wielofunkcyjnymi. Algorytmy konstrukcyjne dla tego problemu przedstawiono w pracy [7, 90] zaś algorytmy popraw bazujące na technice poszukiwania z zabronieniami przedstawione są w pracach [44, 45, 81].

19 2.3. Problemy ogólniejsze 13 Palety Na początku zaznaczę, że palety często odgrywają istotną rolę w procesie produkcyjnym jako platforma do przenoszenia obrabianych detali [101, 19, 112]. Wykorzystanie palet w rzeczywistym procesie produkcyjnym polega na tym, że w gnieździe załadowczym na paletę ładowana jest część bazowa danego zadania i następnie paleta jest transportowana pomiędzy odpowiednimi gniazdami. Przez cały proces wykonywania danego zadania przyporządkowana jest mu jedna paleta, tzn czynności technologiczne wykonywane są bez zdejmowania części bazowej z palety. Po zakończeniu procesu technologicznego, gotowe zadanie jest zdejmowane z palety w gnieździe wyładowczym i paleta może ponownie być wykorzystana dla potrzeb kolejnego zadania. Do modelowania tego ograniczenia można wykorzystać rozszerzony model permutacyjno-grafowy [80] lub konkurencyjny model paleto-zadaniowy opisany w pracy [97]. Algorytm tabu dla problemu przepływowego z paletami zaproponowano w pracy [78]. 2.3 Problemy ogólniejsze Pomimo iż, klasyczne sformułowanie problemu gniazdowego, modeluje szereg praktycznych procesów produkcyjnych, wprowadza się jego dalsze uogólnienia, które rozszerzają obszar stosowalności na bardziej złożone procesy przemysłowe. Do najczęściej stosowanych uogólnień problemu gniazdowego należy wprowadzenie modelu operacji wielomaszynowych (ang. multiprocesor task) oraz uwzględnienie alternatywnych sposobów wykonania operacji (ang. multi-purpose machines). Problem, w którym występują równocześnie dwa wyżej wymienione uogólnienia nazywany jest wielotrybowym (ang. multi-mode) Wiele sposobów wykonywania Wielosposobowy problem gniazdowy spotykany jest także pod nazwą problemu gniazdowego z maszynami wielofunkcyjnymi. Problem ten modeluje sytuacje, gdy w procesie przemysłowym istnieją pewne operacje mogące być wykonane na różnych maszynach. Słowo różnych należy rozumieć zarówno jako różne egzemplarze takiej samej maszyny, (maszyny identyczne) jak i różne typy maszyn (np. robot uniwersalny i wiertarka). Ponieważ wielosposobowy problem gniazdowy, formułowany jest bardzo podobnie jak klasyczny problem gniazdowy, ograniczę się tylko do podania różnicy. W klasycznym problemie każda operacja j O była skojarzona z

20 14 Rozdział 2. Problemy szeregowania w praktyce konkretną jedną maszyną µ(j) M. W rozważanym problemie dla operacji j O zdany jest zbiór M j alternatywnych maszyn. Realizacja operacji j wymaga użycia jednej, dowolnie wybranej maszyny i M j, z tego zbioru przez zadany czas p i,j (ogólnie różny dla różnych maszyn). Ponadto w problemie tym obowiązują wszystkie inne ograniczenia występujące w klasycznym problemie gniazdowym. Pewnym, często spotykanym, przypadkiem szczególnym opisanego problemu, jest problem gniazdowy z maszynami równoległymi. Modeluje on proces przemysłowy, w którym zamiast jednej maszyny występuje gniazdo produkcyjne wyposażone w kilka identycznych maszyn (maszyny dedykowane [11]). Wtedy oczywiście dla każdej operacji przypisany jest indeks gniazda, a operacja realizowana jest na dowolnej maszynie z tego gniazda. Pomimo iż, problem należy dla klasy problemów N P-trudnych, w literaturze znane są algorytmy dokładne bazujące na metodzie podziału i ograniczeń. Niestety najlepszy algorytm tego typu zaproponowany w pracy [48] jest w stanie rozwiązać problem o rozmiarze kilku maszyn i kilkunastu operacji, co jest niewystarczające dla praktycznych zastosowań. Algorytmy konstrukcyjne zaproponowane zostały w pracach [43], [77], algorytmy popraw oparte na technice przeszukiwania z zabronieniami przedstawione są w pracach [43], [22], [76] Operacje wielomaszynowe Problem gniazdowy z operacjami wielomaszynowymi znany jest także jako problem gniazdowy z równoległym wykorzystaniem maszyn [37]. Problem ten modeluje procesy produkcyjne, w których występuje konieczność użycia kilku maszyn jednocześnie, np. w celu wymiany tłumika należy użyć podnośnika i spawarki. W pracy [41] pokazano, że już dwustanowiskowy problem (przepływowy) z maszynami równoległymi na jednym ze stanowisk jest problemem N P-trudnym. Ze względu na duże podobieństwo rozważanego problemu w stosunku do problemu klasycznego, poniższe sformułowanie ograniczę tylko do podania różnic względem problemu gniazdowego. Podobnie jak przy wcześniejszym uogólnieniu, dla każdej operacji j O zamiast jednej maszyny, dany jest zbiór maszyn M j. Tym razem do realizacji operacji j O należy użyć jednocześnie wszystkich maszyn M j przez czas p j. Wszystkie dodatkowe ograniczenia występujące w klasycznym problemie przenoszą się w całości na rozważany problem. Pierwsza prace [37] dotycząca operacji wielomaszynowych pochodzi z końca lat siedemdziesiątych. W pracy [52] rozważa się wiele specyficznych bardzo zredukowanych (np. do dwóch maszyn, jednostkowych czasów wyko-

21 2.3. Problemy ogólniejsze 15 nywania) przypadków rozważanego problemu. Podobnie w pracy [29] analizuje się różne uproszczenia rozważanego problemu (np. zakłada się podzielność operacji). W pracach tych przeprowadzona jest analiza złożoności obliczeniowej uproszczonych problemów, a co za tym idzie wytyczona jest granica pomiędzy problemami wielomianowymi a N P-trudnymi. Algorytm dokładny dla tego problemu został przedstawiony w pracy [52]. Bazuje on na ogólnej metodzie podziału i ograniczeń. Niestety praktyczna czasochłonność algorytmu jest na tyle duża, że można nim rozwiązać w sensownym czasie instancje przykładów zawierające maksymalnie do 40 operacji Wielosposobowe operacje wielomaszynowe Problem ten łączy w sobie dwa wcześniej opisane uogólnienia problemu gniazdowego. Modeluje on najszerszą klasę procesów produkcyjnych, lecz jest jednocześnie najbardziej złożonym z obliczeniowego punktu widzenia. W rozważanym problemie szeregowania zadań produkcyjnych, realizacja operacji j odbywa się pewnym (dowolnie wybranym) sposobem f należącym do zbioru F j wszystkich sposobów jakimi można wykonać tę operację. Natomiast każdy sposób realizacji definiuje precyzyjnie zbiór wykorzystywanych maszyn oraz czas p j,f realizacji operacji j sposobem f. Rozważany problem, jest na tyle trudnym problemem z praktycznego punktu widzenia, że wyklucza stosowanie jakichkolwiek metod dokładnych nawet dla niewielkich rozmiarów instancji. Jakość priorytetowych algorytmów literaturowych jest bardzo słaba, np. algorytm prezentowany w pracy [17] generuje rozwiązania średnio o 100% gorsze (w sensie wartości funkcji celu) niż rozwiązania referencyjne otrzymane algorytmami typu przeszukiwania z zabronieniami. W pracy [12] proponowany jest algorytm na pograniczu, algorytmu priorytetowego i algorytmu popraw (cyklicznie dokonuje: przydziału wszystkim operacją sposobu i szeregowania wybranych sposobów). Jakość dostarczanych rozwiązań jest na poziomie 50% (w sensie odległości wartości funkcji celu od rozwiązań referencyjnych.) W grupie algorytmów konstrukcyjnych najlepszym jest algorytm typu wstaw zaproponowany w monografii [77]. Analogiczna jakość generowanych rozwiązań jest na poziomie 25% od rozwiązań referencyjnych. Pierwszym algorytmem popraw jest algorytm typu przeszukiwania z zabronieniami opisany w pracy [17]. Niestety prędkość jego działania jest bardzo wolna tzn. dla największych przykładów wykonuje on około jedną iterację na minutę (na komputerze o prędkości odpowiadającej komputerowi klasy PC z procesorem Pentium 120). Kolejny algorytm typu tabu opisany w pracy [77] jest znacznie lepszy zarówno pod względem prędkości jak i jakości dostarczanych

22 16 Rozdział 2. Problemy szeregowania w praktyce rozwiązań. 2.4 Metody rozwiązywania Problemy optymalizacji dyskretnej charakteryzują się tym, że zmienne decyzyjne (wszystkie lub część) przyjmują wartości dyskretne, najczęściej całkowitoliczbowe lub binarne. Ze względu na to, że przestrzeń rozwiązań nie jest ciągła i różniczkowalna, zawiera ogromną liczbę ekstremów lokalnych oraz jej rozmiar jest ogromny, znalezienie rozwiązania optymalnego jest dość kłopotliwe (w wielu przypadkach praktycznie niemożliwe). Zdecydowania większość tych problemów należy do klasy problemów N P- trudnych, dlatego przy obecnym stanie wiedzy, nie będzie można ich rozwiązać dokładnie wykorzystując algorytmy o złożoności wielomianowej. Proponowane dla tej klasy problemów algorytmy dokładne o złożoności ponadwielomianowej, oparte najczęściej o schemat podziału i ograniczeń, potrafią rozwiązać (w sensownym czasie) tylko problemy o niewielkich rozmiarach. Fakt ten przyczynił się do powstania algorytmów rozwiązujący dany problem w sposób przybliżony. Algorytmy te zwane przybliżonymi, z definicji nie znajdują rozwiązań optymalnych, lecz tylko rozwiązania w miarę dobre w sensie wartości funkcji celu. Tak więc o ile algorytmy dokładne można porównywać ze sobą na podstawie czasu działania (dostarczane rozwiązania były jednakowo dobre (optymalne)), miarą efektywności algorytmów przybliżonych jest zarówno czas działania oraz dokładność (odległość otrzymanego rozwiązania od rozwiązania optymalnego w sensie wartości funkcji celu). Opisywane w dalszym ciągu metody, będą dotyczyły problemu optymalizacyjnego zapisanego w formie x = arg min F (x) (2.5) x X gdzie x jest rozwiązaniem optymalnym, x rozwiązaniem, X zbiorem rozwiązań dopuszczalnych, F funkcją celu. Jest powszechnie znane, że inne typy problemów optymalizacji można sprowadzić do postaci Metody dokładne Metody dokładne znajdują zastosowanie w rozwiązywaniu problemów klasy P, dla których istnieją różne specjalistyczne algorytmy dokładne o złożoności wielomianowej. W klasie problemów N P-trudnych zastosowanie metod dokładnych praktycznie jest ograniczone do instancji o niewielkich

23 2.4. Metody rozwiązywania 17 rozmiarach, ponieważ czas pracy tych algorytmów rośnie wykładniczo wraz z wzrostem rozmiaru problemu. Najbardziej znanymi metodami dokładnymi są: algorytmy dedykowany dla problemów klasy P, np. algorytm Johnson a [47] metody specjalizowane oparte na schemacie podziału i ograniczeń (ang. Branch and Bound), [16], np. algorytm Carlier a [18], schemat programowania dynamicznego (PD), metody programowania liniowego całkowitoliczbowego (PLC), np. algorytm Gilmora-Gomory ego, [31] metody programowania liniowego binarnego (PLB), np. algorytm Balasa, metody subgradientowe Metody przybliżone Metod przybliżonych, rozwiązujących problemy optymalizacji dyskretnej jest bardzo dużo. Wiele z nich naśladuje Naturę, np. algorytmy ewolucyjne, czy algorytmy mrówkowe. Inne używają komputerów biologicznych, tzn. problem matematyczny kodowany jest za pomocą sekwencji DNA w formie łańcuchów, które pasują do siebie w ściśle określony sposób. Rozwiązaniem jest sekwencja połączonych elementarnych łańcuchów. Stwierdzenie czy znaleziono wymagane rozwiązanie wykonywane jest w teście biochemicznym wykrywającym szukaną cząsteczkę DNA. Kolejne, np. ekspertowe bazują na zgromadzonej wiedzy ludzi zawodowo zajmujących się danym problemem. Jeszcze inne metody, np. oparte na sieciach neuronowych wymagają do poprawnego funkcjonowania procesu uczenia. Lista metod przybliżonych jest bardzo długa i w skróconej wersji przedstawiona jest poniżej: algorytmy konstrukcyjne (ang. constructive methods) reguły priorytetowe (ang. dispatching rules) algorytmy oparte na technice wstawiania (ang. insert algorithms) obcięte B&B (ang. truncated B&B) poszukiwanie adaptacyjne (ang. adaptation algorithms) metody AI (ang. artificial inteligence)

24 18 Rozdział 2. Problemy szeregowania w praktyce metody ekspertowe (ang. expert systems) metody wieloagentowe (ang. multi agents) metoda geometryczna (ang. geometric search) poszukiwania biochemiczne (ang. DNA method) sieci neuronowe (ang. neural networks) metody hybrydowe (ang. hybrid methods) algorytmy naśladujące (ang. memetic algorithms) spełnienie ograniczeń (ang. constraints satisfaction) poszukiwanie lokalne (ang. local search) zwane też metodami popraw (ang. improvement methods) poszukiwanie zstępujące (ang. descending search) sterowane poszukiwanie lokalne (ang. guided local search) poszukiwania ewolucyjne (ang. evolutionary, genetic search) ewolucja różnicowa (ang. differential evolution) algorytmy kulturowe (ang. cultural algorithms) poszukiwania ścieżkowe (ang. path search) ścieżki przejściowe (ang. path relinking) celowe ścieżki śledzące (ang. goal-oriented tracing paths) poszukiwanie mrówkowe (ang. ant search) poszukiwania rozproszone (ang. scatter search) poszukiwanie progowe (ang. threshold search) symulowane wyżarzanie (ang. simulated annealing) symulowane wstrząsanie (ang. simulated jumping) poszukiwanie losowe (ang. random search) poszukiwanie z zakazami (ang. taboo search) poszukiwanie z pamięcią adaptacyjną (ang. adaptive memory search) Krótki opis z każdej z wymienionej tu metody znajduje się w pracy [105]. Problemy optymalizacji dyskretnej którymi zajmuje się w pracy należą do obszaru szeregowania zadań produkcyjnych, dokładniej są to uogólnione problemy gniazdowe. Dla tych właśnie problemów najskuteczniejsze okazały się dwie klasy algorytmów przybliżonych. Są to szybkie i z reguły mniej dokładne algorytmy konstrukcyjne oraz wolniejsze i zazwyczaj dokładniejsze algorytmy popraw.

25 2.4. Metody rozwiązywania 19 Moim zdaniem odpowiedź na pytanie, który z algorytmów jest efektywniejszy, ten działający 1s i generujący rozwiązanie odległe o 20% czy ten działający 10h i dostarczający rozwiązanie odległe o 0,1%, zależy tylko od praktycznego zastosowania. W przypadku awarii, gdzie trzeba podjąć natychmiast decyzję, a uzyskane rozwiązanie będzie wykorzystywane tylko przez 1 dzień, zdecydowanie pierwszy algorytm jest lepszy. Jednak w planowaniu produkcji długo terminowej, np projektowanie parku maszyn w zakładach produkujących samochody, zdecydowanie lepszy jest algorytm dostarczający lepsze rozwiązanie nawet kosztem kilku-godzinnych obliczeń. Wśród algorytmów konstrukcyjnych dla problemów szeregowania najlepsze rezultaty osiągane są przez algorytmy typu wstaw, natomiast wśród algorytmów popraw najlepiej spisuje się algorytm typu poszukiwania z zabronieniami oraz algorytm typu symulowanego wyżarzania. Ponieważ w swojej pracy będę korzystać z tych trzech wymienionych schematów, przejdę do dokładniejszego ich opisania Algorytmy typu wstaw Algorytmy typu wstaw dedykowane są tylko tym problemom optymalizacji dyskretnej w których rozwiązanie może być reprezentowane w postaci permutacji bądź zestawu permutacji. Z tego powodu algorytm typu wstaw omówię na przykładzie problemu gniazdowego zdefiniowanego w rozdziale 2.1, w którym rozwiązanie reprezentowane jest w postaci zestawu permutacji operacji wykonywanych na poszczególnych maszynach. Prekursorem algorytmów typu wstaw był algorytm NEH, [74], zaproponowany dla klasycznego problemu przepływowego. Ogólna idea algorytmów konstrukcyjnych typu wstaw w klasycznym problemie gniazdowym (każda operacja jest wykonywana tylko na jednej określonej maszynie) polega na tym, że na danym kroku iteracyjnym, dysponując częściowym uszeregowaniem (lub inaczej - częściową kolejnością), wstawia się próbnie na wszystkie możliwe pozycje w permutacji częściowej na maszynie l jedną z jeszcze nieuszeregowanych operacji j, maszyna l oznacza tutaj maszynę, na której należy wykonać operację j. Dla każdej z takich pozycji wyznacza się dolne ograniczenie wartości funkcji celu i następnie wybiera się pozycję o najmniejszej wartości tego ograniczenia. Na tę pozycję wstawia się ostatecznie operację j. Tym samym zbiór nieuszeregowanych operacji zostaje pomniejszony o operację j. Postępowanie jest kontynuowane, aż wszystkie operacje zostaną uszeregowane. Problem wyboru operacji j ze zbioru operacji nieuszeregowanych, rozwiązuje się przez ustalenie w fazie początkowej algorytmu pewnej kolejności, najczęściej według nierosnących czasów wykonywania. Schemat algorytmu typu wstaw przedstawiony jest na rys. 2.1.

26 20 Rozdział 2. Problemy szeregowania w praktyce Algorytmu typu wstaw Krok 1. Podstaw za x częściowe puste uszeregowanie, oraz wyznacz permutację γ wszystkich operacji wg. nierosnących czasów wykonywania. Krok 2. Dla i = 1... o wykonaj kroki 3 5. Krok 3. Włóż próbnie operację j = γ(i) do na wszystkie możliwe pozycje w uszeregowaniu częściowym x, dla każdego powstałego dopuszczalnego uszeregowania wyznacz dolne ograniczenie wartość funkcji celu. Krok 4. Z powstałych częściowych uszeregowań wybierz uszeregowanie x najlepsze w sensie dolnego ograniczenia wartości funkcji celu. Krok 5. Podstaw x := x. Rysunek 2.1: Schemat algorytmu typu wstaw Algorytmy typu symulowanego wyżarzania Metoda symulowanego wyżarzania została zaprezentowana po raz pierwszy w pracy [49]. Nazwa metody wynika z faktu iż metoda ta nawiązuje do termodynamicznego procesu studzenia (wyżarzania) ciała stałego. Metoda ta jest dość powszechnie stosowana ze względów na dość łatwą implementację oraz dobrą jakość generowanych rozwiązań. W literaturze [2, 21, 72, 56, 91, 92, 118] prezentowane są liczne algorytmy oparte na tej metodzie dla różnych problemów szeregowania. Ogólna idea algorytmu symulowanego wyżarzania polega na ciągłym losowym przechodzeniu z rozwiązania bieżącego do rozwiązania sąsiedniego, przy czym decyzja o przejściu do rozwiązania sąsiedniego zależy od jego jakości (w sensie wartości funkcji celu). Intuicyjne jest, że prawdopodobieństwo przejścia do rozwiązania zwiększa się z jakością tego rozwiązania. W miarę działania algorytmu prawdopodobieństwo akceptacji rozwiązań gorszych maleje. W celu precyzyjnego omówienia przyjmijmy następujące oznaczenia: X x X zbiór wszystkich rozwiązań rozważanego problemu, bieżące rozwiązanie problemu, F (x) wartość funkcji celu dla rozwiązania x,

27 2.4. Metody rozwiązywania 21 Algorytmu symulowanego wyżarzania (x, T start, T stop, n, η) Krok 1. Podstaw x := x, T := T start, na podstawie parametrów T start, T stop ), η oblicz λ zgodnie zgodnie z przyjętym schematem chłodzenia, Krok 2. Zwiększ licznik iteracji i := i + 1, Wybierz losowo rozwiązanie x z sąsiedztwa N x, oraz liczbę R z przedziału [0, 1). Krok 3. Jeżeli F (x ) < F (x ) wtedy połóż x := x. Krok 4. Oblicz wartość = F (x ) F (x) i jeżeli R < e /T to połóż x := x Krok 5. Jeżeli i mod n = 0 wtedy zmniejsz temperaturę T według przyjętego schematu chłodzenia Krok 6. Jeżeli i < n η) to idź do kroku 2. Rysunek 2.2: Schemat algorytmu symulowanego wyżarzania N x N sąsiedztwo rozwiązania x czyli zbiór rozwiązań bliskich w pewnym sensie rozwiązaniu x, x N x pewne wylosowane rozwiązanie z sąsiedztwa N x. Jeżeli wartość funkcji celu wylosowanego rozwiązania jest mniejsza (w przypadku minimalizacji) niż rozwiązania bazowego, F (x ) < F (x), przejście do tego rozwiązania jest bezwarunkowe x := x. W przeciwnym wypadku prawdopodobieństwo P (x, x ) przejścia do wylosowanego rozwiązania zależy od jakości rozwiązań F (x ) i F (x) oraz parametru T zwanego temperaturą. Najczęściej stosowana postać funkcji prawdopodobieństwa akceptacji przejścia z rozwiązania x do rozwiązania x ma postać: P (x, x ) = min(1, e /T ) (2.6) gdzie = F (x ) F (x). Co pewien etap algorytmu (najczęściej po ustalonej liczbie iteracji) parametr t jest zmniejszany. W literaturze znane jest kilka schematów chłodzenia (zmniejszania parametru T ) jednak najczęściej stosowane są dwa schematy: geometryczny T := λt i logarytmiczny T := T/(1 + λt ), gdzie λ jest pewnym parametrem najczęściej obliczanym na początku algorytmu na podstawie temperatury początkowej T start,

Metody optymalizacji dyskretnej

Metody optymalizacji dyskretnej Metody optymalizacji dyskretnej Spis treści Spis treści Metody optymalizacji dyskretnej...1 1 Wstęp...5 2 Metody optymalizacji dyskretnej...6 2.1 Metody dokładne...6 2.2 Metody przybliżone...6 2.2.1 Poszukiwanie

Bardziej szczegółowo

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

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Autoreferat do rozprawy doktorskiej OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Michał Mazur Gliwice 2016 1 2 Montaż samochodów na linii w

Bardziej szczegółowo

9.9 Algorytmy przeglądu

9.9 Algorytmy przeglądu 14 9. PODSTAWOWE PROBLEMY JEDNOMASZYNOWE 9.9 Algorytmy przeglądu Metody przeglądu dla problemu 1 r j,q j C max były analizowane między innymi w pracach 25, 51, 129, 238. Jak dotychczas najbardziej elegancka

Bardziej szczegółowo

Optymalizacja. Wybrane algorytmy

Optymalizacja. Wybrane algorytmy dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Andrzej Jaszkiewicz Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem

Bardziej szczegółowo

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

NIETYPOWE WŁASNOŚCI PERMUTACYJNEGO PROBLEMU PRZEPŁYWOWEGO Z OGRANICZENIEM BEZ PRZESTOJÓW NIETYPOWE WŁASNOŚCI PERMUTACYJNEGO PROBLEMU PRZEPŁYWOWEGO Z OGRANICZENIEM BEZ PRZESTOJÓW Mariusz MAKUCHOWSKI Streszczenie: W pracy rozważa się permutacyjny problem przepływowy z kryterium będącym momentem

Bardziej szczegółowo

9.4 Czasy przygotowania i dostarczenia

9.4 Czasy przygotowania i dostarczenia 140 9. PODSTAWOWE PROBLEMY JEDNOMASZYNOWE dla każdej pary (i, j) R. Odpowiednie problemy posiadają oznaczenie 1 r j,prec C max,1 prec L max oraz 1 q j,prec C max. Właściwe algorytmy rozwiązywania, o złożoności

Bardziej szczegółowo

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

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. Krótka historia algorytmów Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

Harmonogramowanie produkcji

Harmonogramowanie produkcji Harmonogramowanie produkcji Przedmiot: Zarządzanie zasobami przedsiębiorstwa Moduł: 4/4 Opracował: mgr inż. Paweł Wojakowski Instytut Technologii Maszyn i Automatyzacji Produkcji Zakład Projektowania Procesów

Bardziej szczegółowo

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

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 16.01.2003 Algorytmy i Struktury Danych PIŁA ALGORYTMY ZACHŁANNE czas [ms] Porównanie Algorytmów Rozwiązyjących problem TSP 100 000 000 000,000 10 000 000

Bardziej szczegółowo

Wybrane podstawowe rodzaje algorytmów

Wybrane podstawowe rodzaje algorytmów Wybrane podstawowe rodzaje algorytmów Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych

Bardziej szczegółowo

PROBLEMY HAROMONOGRAMOWANIA PRODUKCJI

PROBLEMY HAROMONOGRAMOWANIA PRODUKCJI Łukasz Sobaszek, mgr inż. Wydział Mechaniczny, Politechnika Lubelska PROBLEMY HAROMONOGRAMOWANIA PRODUKCJI Artykuł zawiera informacje dotyczące procesu harmonogramowania produkcji, problemów występujących

Bardziej szczegółowo

Algorytmy metaheurystyczne podsumowanie

Algorytmy metaheurystyczne podsumowanie dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Andrzej Jaszkiewicz Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem

Bardziej szczegółowo

Harmonogramowanie produkcji

Harmonogramowanie produkcji Harmonogramowanie produkcji Przedmiot: Zarządzanie produkcją Moduł: 2/3 Prowadzący: mgr inż. Paweł Wojakowski Instytut Technologii Maszyn i Automatyzacji Produkcji Zakład Projektowania Procesów Wytwarzania

Bardziej szczegółowo

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

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji Badania operacyjne i teoria optymalizacji Instytut Informatyki Poznań, 2011/2012 1 2 3 Teoria optymalizacji Teoria optymalizacji a badania operacyjne Teoria optymalizacji zajmuje się badaniem metod optymalizacji

Bardziej szczegółowo

Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia

Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia Informacja w perspektywie obliczeniowej Informacje, liczby i obliczenia Cztery punkty odniesienia (dla pojęcia informacji) ŚWIAT ontologia fizyka UMYSŁ psychologia epistemologia JĘZYK lingwistyka nauki

Bardziej szczegółowo

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

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej,

Bardziej szczegółowo

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

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Laboratorium nr 9 PRZESZUKIWANIE GRAFÓW Z

Bardziej szczegółowo

Harmonogramowanie produkcji

Harmonogramowanie produkcji Harmonogramowanie produkcji Harmonogramowanie produkcji jest ściśle związane z planowaniem produkcji. Polega na: rozłożeniu w czasie przydziału zasobów do zleceń produkcyjnych, podziale zleceń na partie

Bardziej szczegółowo

Techniki optymalizacji

Techniki optymalizacji Techniki optymalizacji Dokładne algorytmy optymalizacji Maciej Hapke maciej.hapke at put.poznan.pl Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem minimalizacji

Bardziej szczegółowo

SYLABUS/KARTA PRZEDMIOTU

SYLABUS/KARTA PRZEDMIOTU PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W GŁOGOWIE SYLABUS/KARTA PRZEDMIOTU 1. NAZWA PRZEDMIOTU Systemy produkcyjne komputerowo zintegrowane. NAZWA JEDNOSTKI PROWADZĄCEJ PRZEDMIOT Instytut Politechniczny 3. STUDIA

Bardziej szczegółowo

Schemat programowania dynamicznego (ang. dynamic programming)

Schemat programowania dynamicznego (ang. dynamic programming) Schemat programowania dynamicznego (ang. dynamic programming) Jest jedną z metod rozwiązywania problemów optymalizacyjnych. Jej twórcą (1957) był amerykański matematyk Richard Ernest Bellman. Schemat ten

Bardziej szczegółowo

Metody Optymalizacji: Przeszukiwanie z listą tabu

Metody Optymalizacji: Przeszukiwanie z listą tabu Metody Optymalizacji: Przeszukiwanie z listą tabu Wojciech Kotłowski Instytut Informatyki Politechniki Poznańskiej email: imię.nazwisko@cs.put.poznan.pl pok. 2 (CW) tel. (61)665-2936 konsultacje: wtorek

Bardziej szczegółowo

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA I WSPOMAGANIA DECYZJI Rozproszone programowanie produkcji z wykorzystaniem

Bardziej szczegółowo

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

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 5 Prof. dr hab. inż. Jan Magott DMT rozwiązuje problem decyzyjny π przy kodowaniu e w co najwyżej wielomianowym czasie, jeśli dla wszystkich łańcuchów wejściowych

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej

Bardziej szczegółowo

Priorytetyzacja przypadków testowych za pomocą macierzy

Priorytetyzacja przypadków testowych za pomocą macierzy Priorytetyzacja przypadków testowych za pomocą macierzy W niniejszym artykule przedstawiony został problem przyporządkowania priorytetów do przypadków testowych przed rozpoczęciem testów oprogramowania.

Bardziej szczegółowo

Jacek Skorupski pok. 251 tel konsultacje: poniedziałek , sobota zjazdowa

Jacek Skorupski pok. 251 tel konsultacje: poniedziałek , sobota zjazdowa Jacek Skorupski pok. 251 tel. 234-7339 jsk@wt.pw.edu.pl http://skorupski.waw.pl/mmt prezentacje ogłoszenia konsultacje: poniedziałek 16 15-18, sobota zjazdowa 9 40-10 25 Udział w zajęciach Kontrola wyników

Bardziej szczegółowo

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

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami dr inż. Mariusz Uchroński Wrocławskie Centrum Sieciowo-Superkomputerowe Agenda Cykliczny problem przepływowy

Bardziej szczegółowo

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

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Politechnika Poznańska Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Joanna Józefowska POZNAŃ 2010/11 Spis treści Rozdział 1. Metoda programowania dynamicznego........... 5

Bardziej szczegółowo

Algorytm genetyczny (genetic algorithm)-

Algorytm genetyczny (genetic algorithm)- Optymalizacja W praktyce inżynierskiej często zachodzi potrzeba znalezienia parametrów, dla których system/urządzenie będzie działać w sposób optymalny. Klasyczne podejście do optymalizacji: sformułowanie

Bardziej szczegółowo

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO Mariusz MAKUCHOWSKI Streszczenie: Proponowany w tej pracy algorytm perturbacyjny PNEH (dedykowany permutacyjnemu problemowi przepływowemu) pozwala na dostarczanie

Bardziej szczegółowo

Wstęp do Techniki Cyfrowej... Teoria automatów

Wstęp do Techniki Cyfrowej... Teoria automatów Wstęp do Techniki Cyfrowej... Teoria automatów Alfabety i litery Układ logiczny opisywany jest przez wektory, których wartości reprezentowane są przez ciągi kombinacji zerojedynkowych. Zwiększenie stopnia

Bardziej szczegółowo

ALHE. prof. Jarosław Arabas semestr 15Z

ALHE. prof. Jarosław Arabas semestr 15Z ALHE prof. Jarosław Arabas semestr 15Z Wykład 5 Błądzenie przypadkowe, Algorytm wspinaczkowy, Przeszukiwanie ze zmiennym sąsiedztwem, Tabu, Symulowane wyżarzanie 1. Błądzenie przypadkowe: Pierwszym krokiem

Bardziej szczegółowo

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

Przegląd metod optymalizacji wielowymiarowej. Funkcja testowa. Funkcja testowa. Notes. Notes. Notes. Notes. Tomasz M. Gwizdałła Przegląd metod optymalizacji wielowymiarowej Tomasz M. Gwizdałła 2012.12.06 Funkcja testowa Funkcją testową dla zagadnień rozpatrywanych w ramach tego wykładu będzie funkcja postaci f (x) = (x 1 1) 4 +

Bardziej szczegółowo

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

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott Struktury danych i złozoność obliczeniowa Prof. dr hab. inż. Jan Magott Formy zajęć: Wykład 1 godz., Ćwiczenia 1 godz., Projekt 2 godz.. Adres strony z materiałami do wykładu: http://www.zio.iiar.pwr.wroc.pl/sdizo.html

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 01 Modele obliczeń Jarosław Miszczak IITiS PAN Gliwice 05/10/2016 1 / 33 1 2 3 4 5 6 2 / 33 Co to znaczy obliczać? Co to znaczy obliczać? Deterministyczna maszyna Turinga

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

Planowanie przedsięwzięć

Planowanie przedsięwzięć K.Pieńkosz Badania Operacyjne Planowanie przedsięwzięć 1 Planowanie przedsięwzięć Model przedsięwzięcia lista operacji relacje poprzedzania operacji modele operacji funkcja celu planowania K.Pieńkosz Badania

Bardziej szczegółowo

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Wykład z modelowania matematycznego. Zagadnienie transportowe. Wykład z modelowania matematycznego. Zagadnienie transportowe. 1 Zagadnienie transportowe zostało sformułowane w 1941 przez F.L.Hitchcocka. Metoda rozwiązania tego zagadnienia zwana algorytmem transportowymópracowana

Bardziej szczegółowo

Zadania laboratoryjne i projektowe - wersja β

Zadania laboratoryjne i projektowe - wersja β Zadania laboratoryjne i projektowe - wersja β 1 Laboratorium Dwa problemy do wyboru (jeden do realizacji). 1. Water Jug Problem, 2. Wieże Hanoi. Water Jug Problem Ograniczenia dla każdej z wersji: pojemniki

Bardziej szczegółowo

Optymalizacja. Przeszukiwanie lokalne

Optymalizacja. Przeszukiwanie lokalne dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Maciej Hapke Idea sąsiedztwa Definicja sąsiedztwa x S zbiór N(x) S rozwiązań, które leżą blisko rozwiązania x

Bardziej szczegółowo

Matematyka dyskretna dla informatyków

Matematyka dyskretna dla informatyków Matematyka dyskretna dla informatyków Część I: Elementy kombinatoryki Jerzy Jaworski Zbigniew Palka Jerzy Szymański Uniwersytet im. Adama Mickiewicza Poznań 2007 4 Zależności rekurencyjne Wiele zależności

Bardziej szczegółowo

K.Pieńkosz Badania Operacyjne Wprowadzenie 1. Badania Operacyjne. dr inż. Krzysztof Pieńkosz

K.Pieńkosz Badania Operacyjne Wprowadzenie 1. Badania Operacyjne. dr inż. Krzysztof Pieńkosz K.Pieńkosz Wprowadzenie 1 dr inż. Krzysztof Pieńkosz Instytut Automatyki i Informatyki Stosowanej Politechniki Warszawskiej pok. 560 A tel.: 234-78-64 e-mail: K.Pienkosz@ia.pw.edu.pl K.Pieńkosz Wprowadzenie

Bardziej szczegółowo

Sterowanie procesami dyskretnymi

Sterowanie procesami dyskretnymi Politechnika Rzeszowska Wydział Elektrotechniki i Informatyki Katedra Informatyki i Automatyki Laboratorium Sterowanie procesami dyskretnymi Stanowisko 3 Algorytmy harmonogramowania zadań pakiet LiSA Rzeszów

Bardziej szczegółowo

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/

Bardziej szczegółowo

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik Zadanie transportowe i problem komiwojażera Tadeusz Trzaskalik 3.. Wprowadzenie Słowa kluczowe Zbilansowane zadanie transportowe Rozwiązanie początkowe Metoda minimalnego elementu macierzy kosztów Metoda

Bardziej szczegółowo

OPTYMALIZACJA DYSKRETNA

OPTYMALIZACJA DYSKRETNA Temat nr a: odelowanie problemów decyzyjnych, c.d. OPTYALIZACJA DYSKRETA Zagadnienia decyzyjne, w których chociaż jedna zmienna decyzyjna przyjmuje wartości dyskretne (całkowitoliczbowe), nazywamy dyskretnymi

Bardziej szczegółowo

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Więcej o sprawności algorytmów Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Załóżmy, że możemy wykonać dane zadanie przy użyciu dwóch algorytmów: jednego o złożoności czasowej

Bardziej szczegółowo

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

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać ogólna równania nieliniowego Zazwyczaj nie można znaleźć

Bardziej szczegółowo

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

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA? /9/ Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład --9 Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów

Bardziej szczegółowo

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH Transport, studia I stopnia Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać ogólna równania nieliniowego Często występującym, ważnym problemem obliczeniowym

Bardziej szczegółowo

Zarządzanie projektami

Zarządzanie projektami Dr Adam Kucharski Spis treści Podstawowe pojęcia Metoda CPM 3 3 Przykład analizy metodą CPM 5 Podstawowe pojęcia Przedsięwzięcia złożone z wielu czynności spotykane są na każdym kroku. Jako przykład może

Bardziej szczegółowo

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO Mariusz MAKUCHOWSKI Streszczenie: Proponowany w tej pracy algorytm perturbacyjny PNEH (dedykowany permutacyjnemu problemowi przepływowemu) pozwala na dostarczanie

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie

Bardziej szczegółowo

ZAGADNIENIE TRANSPORTOWE

ZAGADNIENIE TRANSPORTOWE ZAGADNIENIE TRANSPORTOWE ZT jest specyficznym problemem z zakresu zastosowań programowania liniowego. ZT wykorzystuje się najczęściej do: optymalnego planowania transportu towarów, przy minimalizacji kosztów,

Bardziej szczegółowo

Informatyka 1. Złożoność obliczeniowa

Informatyka 1. Złożoność obliczeniowa Informatyka 1 Wykład XI Złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada 80 20, ocena efektywności

Bardziej szczegółowo

OPTYMALIZACJA DYSKRETNA I ROBOTYCE W INFORMATYCE, AUTOMATYCE. Wojciecha Bozejki i Jaroslawa Pempery

OPTYMALIZACJA DYSKRETNA I ROBOTYCE W INFORMATYCE, AUTOMATYCE. Wojciecha Bozejki i Jaroslawa Pempery OPTYMALIZACJA DYSKRETNA W INFORMATYCE, AUTOMATYCE I ROBOTYCE Pod redakcja Wojciecha Bozejki i Jaroslawa Pempery B Oficyna Wydawnicza Politechniki Wroclawskiej Wroclaw 2012 Spis tresci Wstep 11 I Metody

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki

Bardziej szczegółowo

Praca Dyplomowa Magisterska. Zastosowanie algorytmów genetycznych w zagadnieniach optymalizacji produkcji

Praca Dyplomowa Magisterska. Zastosowanie algorytmów genetycznych w zagadnieniach optymalizacji produkcji Praca Dyplomowa Magisterska Zastosowanie algorytmów genetycznych w zagadnieniach optymalizacji produkcji Cel pracy zapoznanie się z zasadami działania ania algorytmów genetycznych przedstawienie możliwo

Bardziej szczegółowo

Techniki optymalizacji

Techniki optymalizacji Techniki optymalizacji Wprowadzenie Maciej Hapke maciej.hapke at put.poznan.pl Literatura D.E. Goldberg Algorytmy genetyczne i zastosowania, WNT, 1995 Z. Michalewicz Algorytmy genetyczne + struktury danych

Bardziej szczegółowo

AiSD zadanie trzecie

AiSD zadanie trzecie AiSD zadanie trzecie Gliwiński Jarosław Marek Kruczyński Konrad Marek Grupa dziekańska I5 5 czerwca 2008 1 Wstęp Celem postawionym przez zadanie trzecie było tzw. sortowanie topologiczne. Jest to typ sortowania

Bardziej szczegółowo

Harmonogramowanie przedsięwzięć

Harmonogramowanie przedsięwzięć Harmonogramowanie przedsięwzięć Mariusz Kaleta Instytut Automatyki i Informatyki Stosowanej Politechnika Warszawska luty 2014, Warszawa Politechnika Warszawska Harmonogramowanie przedsięwzięć 1 / 25 Wstęp

Bardziej szczegółowo

Instrukcja. Laboratorium Metod i Systemów Sterowania Produkcją.

Instrukcja. Laboratorium Metod i Systemów Sterowania Produkcją. Instrukcja do Laboratorium Metod i Systemów Sterowania Produkcją. 2010 1 Cel laboratorium Celem laboratorium jest poznanie metod umożliwiających rozdział zadań na linii produkcyjnej oraz sposobu balansowania

Bardziej szczegółowo

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je. Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie

Bardziej szczegółowo

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

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2014 PROBLEM PRZEPŁYWOWY: PERMUTACYJNY, BEZ CZEKANIA, BEZ PRZESTOJÓW AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2014 Mariusz MAKUCHOWSKI Politechnika Wrocławska PROBLEM PRZEPŁYWOWY: PERMUTACYJNY, BEZ CZEKANIA, BEZ PRZESTOJÓW Streszczenie W pracy porównuje się harmonogramy różnych

Bardziej szczegółowo

1 Równania nieliniowe

1 Równania nieliniowe 1 Równania nieliniowe 1.1 Postać ogólna równania nieliniowego Często występującym, ważnym problemem obliczeniowym jest numeryczne poszukiwanie rozwiązań równań nieliniowych, np. algebraicznych (wielomiany),

Bardziej szczegółowo

Programowanie celowe #1

Programowanie celowe #1 Programowanie celowe #1 Problem programowania celowego (PC) jest przykładem problemu programowania matematycznego nieliniowego, który można skutecznie zlinearyzować, tzn. zapisać (i rozwiązać) jako problem

Bardziej szczegółowo

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016 AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016 Adam PRUS, Krzysztof PIEŃKOSZ Politechnika Warszawska SZEREGOWANIE ZADAŃ CZĘŚCIOWO PODZIELNYCH NA PROCESORACH RÓWNOLEGŁYCH Streszczenie. W pracy jest rozpatrywany

Bardziej szczegółowo

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

Teoria obliczeń i złożoność obliczeniowa Teoria obliczeń i złożoność obliczeniowa Kontakt: dr hab. inż. Adam Kasperski, prof. PWr. pokój 509 B4 adam.kasperski@pwr.wroc.pl materiały + informacje na stronie www. Zaliczenie: Egzamin Literatura Problemy

Bardziej szczegółowo

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1 Weryfikacja hipotez statystycznych KG (CC) Statystyka 26 V 2009 1 / 1 Sformułowanie problemu Weryfikacja hipotez statystycznych jest drugą (po estymacji) metodą uogólniania wyników uzyskanych w próbie

Bardziej szczegółowo

Programowanie dynamiczne i algorytmy zachłanne

Programowanie dynamiczne i algorytmy zachłanne Programowanie dynamiczne i algorytmy zachłanne Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii

Bardziej szczegółowo

Programowanie liniowe. Tadeusz Trzaskalik

Programowanie liniowe. Tadeusz Trzaskalik Programowanie liniowe Tadeusz Trzaskalik .. Wprowadzenie Słowa kluczowe Model matematyczny Cel, środki, ograniczenia Funkcja celu funkcja kryterium Zmienne decyzyjne Model optymalizacyjny Układ warunków

Bardziej szczegółowo

Uniwersytet im. Adama Mickiewicza w Poznaniu Wydział Matematyki i Informatyki. Marek Dębczyński

Uniwersytet im. Adama Mickiewicza w Poznaniu Wydział Matematyki i Informatyki. Marek Dębczyński Uniwersytet im. Adama Mickiewicza w Poznaniu Wydział Matematyki i Informatyki Marek Dębczyński Jednomaszynowe problemy szeregowania zadań zależnych z mieszanymi czasami wykonywania Rozprawa doktorska napisana

Bardziej szczegółowo

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

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych. Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą

Bardziej szczegółowo

Optymalizacja systemów

Optymalizacja systemów Optymalizacja systemów Laboratorium - problem detekcji twarzy autorzy: A. Gonczarek, J.M. Tomczak, S. Zaręba, P. Klukowski Cel zadania Celem zadania jest zapoznanie się z gradientowymi algorytmami optymalizacji

Bardziej szczegółowo

Tomasz M. Gwizdałła 2012/13

Tomasz M. Gwizdałła 2012/13 METODY METODY OPTYMALIZACJI OPTYMALIZACJI Tomasz M. Gwizdałła 2012/13 Informacje wstępne Tomasz Gwizdałła Katedra Fizyki Ciała Stałego UŁ Pomorska 149/153, p.523b tel. 6355709 tomgwizd@uni.lodz.pl http://www.wfis.uni.lodz.pl/staff/tgwizdalla

Bardziej szczegółowo

WYKŁAD 9 METODY ZMIENNEJ METRYKI

WYKŁAD 9 METODY ZMIENNEJ METRYKI WYKŁAD 9 METODY ZMIENNEJ METRYKI Kierunki sprzężone. Metoda Newtona Raphsona daje dobre przybliżenie najlepszego kierunku poszukiwań, lecz jest to okupione znacznym kosztem obliczeniowym zwykle postać

Bardziej szczegółowo

Przeszukiwanie lokalne

Przeszukiwanie lokalne Przeszukiwanie lokalne 1. Klasyfikacja algorytmów 2. Przeszukiwanie lokalne 1. Klasyfikacja algorytmów Algorytmy dokładne znajdują rozwiązanie optymalne, 1. Klasyfikacja algorytmów Algorytmy dokładne znajdują

Bardziej szczegółowo

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski METODA SYMPLEKS Maciej Patan Uniwersytet Zielonogórski WSTĘP Algorytm Sympleks najpotężniejsza metoda rozwiązywania programów liniowych Metoda generuje ciąg dopuszczalnych rozwiązań x k w taki sposób,

Bardziej szczegółowo

Wprowadzenie w tematykę zarządzania projektami/przedsięwzięciami

Wprowadzenie w tematykę zarządzania projektami/przedsięwzięciami Wprowadzenie w tematykę zarządzania projektami/przedsięwzięciami punkt 2 planu zajęć dr inż. Agata Klaus-Rosińska 1 DEFINICJA PROJEKTU Zbiór działań podejmowanych dla zrealizowania określonego celu i uzyskania

Bardziej szczegółowo

UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH

UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH Robert Wójcik Instytut Cybernetyki Technicznej Politechniki Wrocławskiej 1. Impasy w systemach procesów współbieżnych 2. Klasyczne algorytmy unikania

Bardziej szczegółowo

Zaawansowane algorytmy i struktury danych

Zaawansowane algorytmy i struktury danych Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)

Bardziej szczegółowo

Wykład 2. Poprawność algorytmów

Wykład 2. Poprawność algorytmów Wykład 2 Poprawność algorytmów 1 Przegląd Ø Poprawność algorytmów Ø Podstawy matematyczne: Przyrost funkcji i notacje asymptotyczne Sumowanie szeregów Indukcja matematyczna 2 Poprawność algorytmów Ø Algorytm

Bardziej szczegółowo

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik Programowanie liniowe całkowitoliczbowe Tadeusz Trzaskalik .. Wprowadzenie Słowa kluczowe Rozwiązanie całkowitoliczbowe Założenie podzielności Warunki całkowitoliczbowości Czyste zadanie programowania

Bardziej szczegółowo

Technologia informacyjna Algorytm Janusz Uriasz

Technologia informacyjna Algorytm Janusz Uriasz Technologia informacyjna Algorytm Janusz Uriasz Algorytm Algorytm - (łac. algorithmus); ścisły przepis realizacji działań w określonym porządku, system operacji, reguła komponowania operacji, sposób postępowania.

Bardziej szczegółowo

Metody numeryczne w przykładach

Metody numeryczne w przykładach Metody numeryczne w przykładach Bartosz Ziemkiewicz Wydział Matematyki i Informatyki UMK, Toruń Regionalne Koło Matematyczne 8 kwietnia 2010 r. Bartosz Ziemkiewicz (WMiI UMK) Metody numeryczne w przykładach

Bardziej szczegółowo

Układy równań i nierówności liniowych

Układy równań i nierówności liniowych Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +

Bardziej szczegółowo

doc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505.

doc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505. doc. dr Beata Pułska-Turyna Zakład Badań Operacyjnych Zarządzanie B506 mail: turynab@wz.uw.edu.pl mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505. Tel.: (22)55 34 144 Mail: student@pgadecki.pl

Bardziej szczegółowo

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH Transport, studia I stopnia rok akademicki 2012/2013 Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Pojęcie

Bardziej szczegółowo

Podstawy Sztucznej Inteligencji (PSZT)

Podstawy Sztucznej Inteligencji (PSZT) Podstawy Sztucznej Inteligencji (PSZT) Paweł Wawrzyński Uczenie maszynowe Sztuczne sieci neuronowe Plan na dziś Uczenie maszynowe Problem aproksymacji funkcji Sieci neuronowe PSZT, zima 2013, wykład 12

Bardziej szczegółowo

Opinia o pracy doktorskiej pt. On active disturbance rejection in robotic motion control autorstwa mgr inż. Rafała Madońskiego

Opinia o pracy doktorskiej pt. On active disturbance rejection in robotic motion control autorstwa mgr inż. Rafała Madońskiego Prof. dr hab. inż. Tadeusz Uhl Katedra Robotyki i Mechatroniki Akademia Górniczo Hutnicza Al. Mickiewicza 30 30-059 Kraków Kraków 09.06.2016 Opinia o pracy doktorskiej pt. On active disturbance rejection

Bardziej szczegółowo

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

NOWE WARIANTY OPERATORÓW GENETYCZNYCH DLA PROBLEMÓW Z KRYTERIUM SUMACYJNYM NOWE WARIANTY OPERATORÓW GENETYCZNYCH DLA PROBLEMÓW Z KRYTERIUM SUMACYJNYM Mariusz MAKUCHOWSKI Streszczenie: W pracy analizuje się własności sumacyjnego kryterium w permutacyjnym problemie przepływowym.

Bardziej szczegółowo

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

Szeregowanie zadań. Wykład nr 3. dr Hanna Furmańczyk Wykład nr 3 27.10.2014 Procesory identyczne, zadania niezależne, podzielne: P pmtn C max Algorytm McNaughtona 1 Wylicz optymalną długość C max = max{ j=1,...,n p j/m, max j=1,...,n p j }, 2 Szereguj kolejno

Bardziej szczegółowo

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Przeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, w głąb. Spis treści: 1. Wprowadzenie 3. str. 1.1 Krótki Wstęp

Bardziej szczegółowo

Efektywność Procedur Obliczeniowych. wykład 5

Efektywność Procedur Obliczeniowych. wykład 5 Efektywność Procedur Obliczeniowych wykład 5 Modele procesu obliczeń (8) Jedno-, wielotaśmowa MT oraz maszyna RAM są równoważne w przypadku, jeśli dany problem jest rozwiązywany przez jeden model w czasie

Bardziej szczegółowo

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Algorytmy wyznaczania centralności w sieci Szymon Szylko Algorytmy wyznaczania centralności w sieci Szymon Szylko Zakład systemów Informacyjnych Wrocław 10.01.2008 Agenda prezentacji Cechy sieci Algorytmy grafowe Badanie centralności Algorytmy wyznaczania centralności

Bardziej szczegółowo

Heurystyki. Strategie poszukiwań

Heurystyki. Strategie poszukiwań Sztuczna inteligencja Heurystyki. Strategie poszukiwań Jacek Bartman Zakład Elektrotechniki i Informatyki Instytut Techniki Uniwersytet Rzeszowski DLACZEGO METODY PRZESZUKIWANIA? Sztuczna Inteligencja

Bardziej szczegółowo

Metody przeszukiwania

Metody przeszukiwania Metody przeszukiwania Co to jest przeszukiwanie Przeszukiwanie polega na odnajdywaniu rozwiązania w dyskretnej przestrzeni rozwiązao. Zwykle przeszukiwanie polega na znalezieniu określonego rozwiązania

Bardziej szczegółowo

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO. Rzeczywistość (istniejąca lub projektowana).. Model fizyczny. 3. Model matematyczny (optymalizacyjny): a. Zmienne projektowania

Bardziej szczegółowo