Algorytm y heurystyczne dla problemu minimalizacji sumy kosztów zadań opóźnionych

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

Download "Algorytm y heurystyczne dla problemu minimalizacji sumy kosztów zadań opóźnionych"

Transkrypt

1 ROCZNIKI POLSKIEGO TOWARZYSTWA MATEMATYCZNEGO Seria III: MATEMATYKA STOSOWANA XXXXI (1999) M ie c z y s ł a w W odecki Wrocław Algorytm y heurystyczne dla problemu minimalizacji sumy kosztów zadań opóźnionych (Praca wpłynęła do Redakcji 19 czerwca 1998) A b stra ct. W pracy rozpatrujemy problem minimalizacji sumy kosztów opóźnień zadań wykonywanych na jednej maszynie, który jest oznaczany przez 1 y^wjtj. Należy on do klasy problemów silnie NP-zupełnych. Zamieszczone w literaturze wyniki obliczeniowe wskazują, że w rozsądnym czasie można uzyskać jego rozwiązanie optymalne jedynie dla przykładów o niewielkich rozmiarach. Z tego właśnie powodu proponujemy szybki algorytm heurystyczny oraz algorytm typu popraw oparty na metodzie tabu search. 1. W s t ę p. W pracy zajmujemy się zagadnieniem optymalizacji kolejności wykonywania zadań na jednej maszynie, w którym kryterium optymalności jest suma kosztów zadań wykonanych nieterminowo (opóźnionych). W problemie tym, każde z n zadań (ponumerowanych liczbami 1, 2,...,n) należy wykonać, bez przerywania, na jednej maszynie. Maszyna ta, w dowolnej chwili, może wykonywać co najwyżej jedno zadanie. Dla zadania i (i = 1,2,...,n), niech pi, Wi, di będą odpowiednio: czasem wykonywania, wagą funkcji kosztów oraz wymaganym terminem zakończenia (linią krytyczną). Jeżeli ustalona jest kolejność wykonywania zadań oraz Ci jest terminem zakończenia wykonywania zadania i (i = 1,2,..., n), to Ti = max{0, Ci di} nazywamy opóźnieniem, a fi(ci) = Wi * Ti kosztem opóźnienia zadania. Rozważany problem polega na wyznaczeniu takiej kolejności wykonywania zadań, która minimalizuje sumę kosztów opóźnień, tj. YhwiTi. W literaturze jest on oznaczany przez 1 Y^wiTi- Problem minimalizacji sumy kosztów opóźnień zadań wykonywanych na jednej maszynie należy do klasy problemów silnie NP-zupełnych (Lawler [7], Lenstra i inni [9]). Emmons w pracy [5] sformułował tak zwane reguły dominacji (dominance rules) - kryteria pozwalające na ustalenie relacji czę-

2 36 M. Wodecki ściowego porządku na zbiorze zadań. Korzystając z nich skonstruowano wiele algorytmów rozwiązywania rozpatrywanego problemu opartych na metodzie podziału i ograniczeń Fisher [6], Potts i Van Wassenhove [10], Rinnoy Kan i inni [13], Adrabiński i inni [3], a także na metodzie programowania dynamicznego Schrage i Baker [14], Lawler [8]. Algorytmy te pozwalają rozwiązywać (w rozsądnym czasie) przykłady, w których liczba zadań jest nie większa niż 40 (Potts i Van Wassenhove [10]) oraz dla pewnych danych 50 (Adrabiński i inni [3]). Osobną grupę stanowią algorytmy wykorzystujące elementy programowania dynamicznego, na przykład do obliczania dolnych ograniczeń (Potts i Van Wassenhove [11]). Jednak ze względu na gwałtowny wzrost zapotrzebowania na pamięć stosowanie metod programowania dynamicznego dla rozwiązywania przykładów o rozmiarze większym niż 50 wydaje się wielce problematyczne. Inne jeszcze algorytmy dokładne są omówione w pracy przeglądowej Abdul-Razaq i inni [2]. Ze względu na małą efektywność tych algorytmów, w praktycznych zastosowaniach dużą rolę odgrywają algorytmy heurystyczne, które mogą być wykorzystywane między innymi do wyznaczania górnych ograniczeń oraz rozwiązań początkowych. Nie zawsze satysfakcjonująca jakość rozwiązań wyznaczonych przez nawet najlepsze algorytmy heurystyczne (Potts i Van Wassenhove [12]) oraz bardzo interesujące wyniki otrzymane dla wielu zagadnień przez zastosowanie techniki tabu search, były inspiracją do konstrukcji zupełnie nowych algorytmów. W niniejszej pracy przedstawiamy nowy algorytm heurystyczny oraz algorytm popraw (którego punktem startowym jest rozwiązanie wyznaczone przez algorytm heurystyczny) dla rozwiązywania problemu minimalizacji sumy kosztów zadań wykonanych nieterminowo na jednej maszynie. Algorytm heurystyczny jest oparty na regule lokalnej optymalizacji zadań, tj. takim uszeregowaniu, w którym zamiana miejscami dowolnych dwóch sąsiednich zadań nie zmniejsza wartości funkcji celu. Zamieszczone w Rozdziale 4. wyniki obliczeniowe tego algorytmu są porównywalne z przedstawionymi w pracy Potts i Van Wassenhove [12]. Pomimo tego, w przypadku, gdy mamy możliwość zwiększenia czasu obliczeń, proponujemy zastosowanie algorytmu popraw opartego na metodzie tabu search. Wówczas rozwiązanie wyznaczone przez algorytm heurystyczny będzie punktem startowym dla algorytmu popraw. W konstrukcji tego algorytmu wykorzystuje się specyfikę rozwiązania początkowego oraz rozpatruje się jedynie permutacje lokalnie optymalne (minima lokalne), dzięki czemu istotnie poprawia się lokalne przeszukiwanie i zwiększa prędkość działania algorytmu. Pozwala to na przejrzenie (bezpośrednio lub pośrednio), w krótkim czasie, znacznej części zbioru rozwiązań, a co za tym idzie wyznaczenie rozwiązania globalnie optymalnego lub też dobrego rozwiązania lokalnego. Przedstawione w Rozdziale 4. wyniki wskazują, że dzięki temu można średnio jeszcze o kilka procent poprą-

3 Algorytmy heurystyczne dla problemu minimalizacji 37 wić wyznaczone przez algorytm heurystyczny rozwiązanie. Oba algorytmy są bardzo szybkie i nie wymagają zbyt wiele pamięci. 2. A lg o ry tm heurystyczny. Niech N = {l,2,...,n} będzie zbiorem wszystkich zadań, a 77 zbiorem permutacji elementów z N. Dla permutacji 7T G 77 przez: 71 F (n) = ) oznaczamy wagę permutacji (tj. sumę kosztów opóźnień, gdy zadania są wykonywane w kolejności występowania w 7r), gdzie: Łatwo zauważyć, że rozważany problem minimalizacji sumy kosztów opóźnień zadań jest równoważny problemowi wyznaczenia permutacji optymalnej (o minimalnej wadze) w zbiorze wszystkich permutacji 77. Dla dowolnego zbioru zadań S C N wprowadzamy oznaczenie: to istnieje permutacja optymalna, w której zadanie i występuje po wszystkich zadaniach z S. Powyższe twierdzenie zwane jest w literaturze lematem Elmaghrabyego [4]. Mówimy, że uszeregowanie (permutacja zadań) jest lokalnie optymalne, jeżeli zamiana miejscami dowolnych dwóch sąsiednich zadań nie generuje uszeregowania o mniejszej wadze. T w i e r d z e n i e 2 (O lokalnej optymalności). Uszeregowanie ir jest lokalnie optymalne wtedy i tylko wtedy, gdy: (l) fn{i 1) (^7r(i 1)) T fir(i) (^ir(i) ) fn (i-l) (^ 7r(i 1) T Pn(i) ) T fn(i) (^Or (ż) PTv(i 1) ) dla i 2,3,...,71. Dowód twierdzenia pomijamy, bowiem jest on natychmiastowy. Rozpatrzmy problem, w którym funkcje kosztów są liniowe to jest, dla każdego zadania i G N jego koszt: jes T w i e r d z e n i e 1. Jeżeli dla zadania i G S (S C N ) zachodzi: di > P(S), fi{ci) = Wi* {Ci - di).

4 38 M. Wodecki Dla liniowych funkcji kosztów zadań, nierówności (1) przyjmują postać: ^7r(ż 1) ^ ^ 7r(ż) Pn(i 1) Pir(i) dla i = 2,3,..., n. Ponieważ powyższy warunek jest stały i nie zależy od czasu (momentów zakończenia wykonywania zadań), wobec tego łatwo udowodnić następujący lemat. L e m a t 1 (Smith [15]). Dla liniowych funkcji kosztów, uszeregowanie zadań według nierosnących wartości ilorazów Wi/pi (i = 1,2,...,n), jest uszeregowaniem optymalnym. W oparciu o powyższe własności przedstawimy opis konstrukcji algorytmu heurystycznego dla rozważanego zagadnienia. Wynikiem jego działania będzie uszeregowanie lokalnie optymalne (tj. zamiana miejscami dowolnych dwóch sąsiednich zadań nie zmniejszy wartości funkcji celu). W działaniu algorytmu można wyróżnić dwa etapy: 1. Wyznaczanie uszeregowania dla liniowych funkcji kosztów (Lematem 1). 2. Zmiana uszeregowania (rozpoczynając od ostatniego zadania) wynikająca z nieliniowych funkcji kosztów zadań, polegająca na: sprawdzeniu, czy zadanie spełnia warunki Twierdzenia 1, oraz jeżeli nie są spełnione warunki lokalnej optymalności (nierówności (1) z Twierdzenia 2), zamiana miejscami zadań sąsiednich w permutacji. Bardziej formalnie, korzystając z elementów języka Pascal, algorytm ten można zapisać następująco: A lg o ry tm O P T S { Wyznaczenie rozwiązania lokalnie optymalnego} K r o k 1: {Ustalenie wstępnej kolejności zadań} Ponumerować zadania według nierosnących w artości ilorazów W/Pi, i = l,2,...,n; {Zapoczątkowanie obliczeń} U ^ N -, i * - n -,T ^ Y,? = ip i K ro k 2: {Iteracja} repeat Wyznaczyć: dw = max{d* : i [/}; Ustawić zadanie w na p o z y c ji l; J e ż e li dw < T wówczas: (i) 3 l] (ii) dopóki j < n wykonać: przestaw ić zadania znajdujące s ię na pozycjach j, j + 1, j e ż e l i n ie sp e łn ia ją nierów ności (1) oraz j j + i ;

5 Algorytmy heurystyczne dla problemu minimalizacji 39 { Uaktualnienie wartości} U <- U \ M ; Z< Z 1; T < T pw\ until Z= 0; Złożoność obliczeniowa algorytmu O P T S wynosi 0 (n 2). Można przy tym łatwo wykazać, że wyznaczona przez ten algorytm permutacja (rozwiązanie heurystyczne) jest lokalnie optymalna (spełnia nierówności Twierdzenie 2). Wyniki obliczeniowe tego algorytmu są zamieszczone w Rozdziale A lg o ry tm p op raw oparty na m etod zie tabu search. Z przeprowadzonych w Rozdziale 1. rozważań wynika, że stosowanie algorytmów dokładnych do rozwiązywania rozpatrywanego zagadnienia jest niemożliwe - szczególnie dla problemów o średnim i dużym rozmiarze. Dlatego w pełni uzasadnionym jest stosowanie algorytmów heurystycznych wyznaczających zazwyczaj pewne minimum lokalne. Nie zawsze satysfakcjonująca jakość uzyskanego w ten sposób rozwiązania oraz bardzo interesujące wyniki otrzymane przy zastosowaniu metod popraw, przedstawione w opracowaniu Aarts E., Lenstra J.K. [1], były inspiracją do konstrukcji algorytmu przeszukiwania tabu (tabu search, w skrócie TS) dla rozpatrywanego zagadnienia. Zazwyczaj, w literaturze, punktem startowym dla algorytmów opartych na technice TS jest losowo generowane rozwiązanie dopuszczalne lub też rozwiązanie wyznaczone przez dowolny algorytm heurystyczny. Przedstawiony w dalszej części pracy algorytm oparty na metodzie TS w sposób istotny wykorzystuje fakt, że jego punktem startowym jest permutacja wyznaczona przez algorytm O P T S, tj. spełniająca warunki lokalnej optymalności. Dzięki temu, w krótkim czasie, można uzyskać dalsze polepszenie wejściowego rozwiązania heurystycznego. Generalnie, przeszukiwanie tabu należy do klasy metod iteracyjnych polegających na polepszaniu bieżącego rozwiązania poprzez lokalne przeszukiwanie. Rozpoczyna się ono od pewnego rozwiązania początkowego (startowego) tt. Następnie, generuje się jego otoczenie Vn oraz wyznacza najlepsze rozwiązanie 8 z tego otoczenia (jeżeli F(8) < F ( tt *), to 8 jest przyjmowane za najlepsze do tej pory wyznaczone rozwiązanie 7r*). Rozwiązanie 8 przyjmuje się za rozwiązanie startowe t t w następnej iteracji. Aby zapobiec generowaniu w nowych iteracjach rozwiązań, niedawno rozpatrywanych, zapamiętuje się je na tzw. liście rozwiązań zabronionych (liście tabu). Przy czym, generując otoczenie nie rozpatruje się rozwiązań znajdujących się na tej liście. Jej długość jest jednym z parametrów algorytmu. Warunkiem zakończenia jest zazwyczaj maksymalna liczba iteracji algorytmu lub też brak poprawy wartości funkcji celu w z góry określonej liczbie iteracji. Sposób określania sąsiedztwa oraz organizacja listy ruchów (rozwiązań) zabronionych są podstawowymi elementami algorytmu TS. Poniżej określimy oba te elementy.

6 40 M. Wodecki Niech t t = (7r(l), t t ( 2),..., t t (n)) będzie permutacją startową wyznaczoną przez algorytm O P T S (opisany w poprzednim rozdziale), a t t * permutacją o najmniejszej wadze spośród do tej pory rozpatrywanych. Na początek za t t * przyjmujemy permutację t t. Dalej załóżmy, że tr ( k ) jest zadaniem o największym koszcie opóźnienia spośród 7r(l), 7t (2),..., 7r(n), to jest: (2) /^(fc)(^7r(fc)) max{y7r(j)(c77r(j)). i 1,2,..., n{. Przez 7rf (l = 1,2,..., n) oznaczmy permutację otrzymaną z t t przez zamianę miejscami elementu tt ( k ) z tt (1), tj. permutację, w której 7rf(ż) = 7r(ż), i 1, 2,..., n, i / k, l oraz 7rf ( k ) = 7r(Z), 7rf(/) = 7r ( k ). Niech: (3) K = {tt? : l = 1,2,..., k - 2, k + 2,..., n}. Zbiór ten nazywamy otoczeniem permutacji t t. Z otoczenia Vn wybieramy permutację o najmniejszej wadze i modyfikujemy ją (zgodnie z Twierdzeniem 2) tak, aby spełniała warunki lokalnej optymalności (1). Oznaczmy tak wyznaczoną permutację przez j3. Jeżeli F{(3) < F ( t t * ), to za t t * przyjmujemy permutację /3. Permutację tą traktujemy jako nowe rozwiązanie startowe i rozpoczynamy następną iterację algorytmu od określenia otoczenia permutacji (5. Każde rozwiązanie startowe jest pamiętane na liście ruchów zakazanych (cykliczna lista o ustalonej długości LTmax), zawierającej ostatnio rozpatrywane permutację startowe. Przy realizacji algorytmu na liście pamiętane są nie całe permutację, ale jedynie pewne ich atrybuty (pozycje zamienianych zadań) przez co zajmuje ona niewiele pamięci. Wyznaczając otoczenie permutacji eliminujemy rozwiązania, które aktualnie są na liście. Uniemożliwia to generowanie rozwiązań niedawno rozpatrywanych, a więc szybki powrót do lokalnego minimum. Liczba elementów otoczenia jest nie większa niż n 2, a złożoność obliczeniowa operacji związanych z jego wygenerowaniem wynosi 0 (n * LTmax). Algorytm kończy działanie (warunek końca), jeżeli: wykonał z góry określoną LImax liczbę iteracji, w kolejnych BPmax iteracjach nie uzyskano poprawy wartości funkcji celu, - aktualne otoczenie jest zbiorem pustym. Niech t t będzie rozwiązaniem heurystycznym wyznaczonym przez algorytm O P T S oraz LTS listą permutacji zakazanych. Za t t * - najlepszą do tej pory wyznaczoną permutację przyjmujemy na początek t t. A lg o ry tm A T S {Algorytm popraw - tabu search} repeat Wyznaczyć otoczenie Vv permutacji 7r, zgodnie z (2) i (3); Usunąć z otoczenia elementy znajdujące się na liście LTS; Wybrać permutację 6 taką, że: F(6) = min{.f(/?) :(3 G V*}

7 Algorytmy heurystyczne dla problemu minimalizacji 41 oraz zmodyfikować ją ta k, aby b y ła lo k a ln ie optymalna; J e ż e li F(ó)<F(ir*), to 7r* ó; Umieść ó na liście LTS; 7r < 6; until Warunek_Końca. Algorytm A T S ma pseudowielomianową złożoność obliczeniową 0(LIm ax * n * LTmax), zależną od liczby zadań n, maksymalnej liczby iteracji LImax oraz długości listy ruchów zakazanych LTmax. 4. W y n ik i obliczen iow e algorytm ów. Przedstawione w poprzednich rozdziałach algorytmy zostały zaprogramowane w języku Pascal i były testowane na wielu przykładach generowanych losowo. Sposób generowania danych został dokładnie przedstawiony i przedyskutowany w pracy Potts i Van Wassenhove [12]. Każdy przykład składa się z n trójek (Wi,pi,di), gdzie n jest liczbą zadań, a Wi, pi, di są odpowiednio: wagą funkcji kosztów, czasem wykonywania oraz wymaganym terminem zakończenia dla i-tego zadania. Waga funkcji kosztów oraz czas wykonywania są realizacją zmiennych losowych o rozkładzie jednostajnym odpowiednio na przedziale [1,10] oraz [1,100]. Wartości wymaganych terminów zakończenia zależą od dwóch parametrów RDD (relative of due dates) oraz TF (average tardiness factor), które przyjmują wartości ze zbioru {0.2, 0.4, 0.6, 0.8, 1.0}. Terminy te są realizacją zmiennej losowej o rozkładzie jednostajnym na przedziale [P( 1 - TF - R D D /2), P( 1 - TF + RDD/2)], gdzie P = Dla każdej pary parametrów RDD i TF (w sumie 25 par) generowano 5 przykładów, czyli dla ustalonego n generowano 125 przykładów. T A B E L A 1 Porównanie wyników algorytmu dokładnego i heurystycznego. liczba zadań liczba przykładów liczba rozwiązań optymalnych średni błąd (% ) * * * Średni błąd w stosunku do najlepszego rozwiązania (niekoniecznie optymalnego) wyznaczonego przez algorytm dokładny Adrabióski i inni [3], przy ograniczeniu czasu obliczeń do 3 minut. W Tabeli 1 przedstawiono i porównano wyniki uzyskane przez algorytm dokładny zamieszczony w pracy Adrabiński i inni [3] oraz algorytm heurystyczny O P T S przedstawiony w Rozdziale 2. Błąd każdego rozwiązania

8 42 M. Wodecki (heurystycznego) liczono według następującego wzoru: ((Fo p t s -Fo p t V ^ o p t ) * 100%, gdzie Fo p t jest wartością rozwiązania dokładnego, a Fo p t s wartością rozwiązania wyznaczonego przez algorytm heurystyczny. Średnią tych błędów przedstawiono w kolumnie czwartej tabeli, a w kolumnie trzeciej liczbę przykładów (spośród wygenerowanych), dla których algorytmem O P T S wyznaczono rozwiązanie dokładne. Z Tabeli 1 wynika, że algorytmem O P T S dla 30% przykładów wyznaczono rozwiązanie dokładne, a średni błąd rozwiązania wynosi 5.16% (błąd maksymalny nie przekracza 67%). Algorytm ten jest porównywalny z innymi, najlepszymi znanymi w literaturze algorytmami heurystycznymi, na przykład zamieszczonymi w pracy Potts i Van Wassenhove [12]. Czas obliczeń jednego przykłady, na mikrokomputerze z procesorem Pentium 166 MHz, nie przekraczał kilkudziesięciu sekund. Eksperymenty obliczeniowe dla algorytm popraw ATS, opartego na metodzie tabu search, przeprowadzono w dwóch etapach. Celem pierwszego było wyznaczenie poszczególnych parametrów algorytmu dla uzyskania jak najlepszej jego efektywności. Analiza otrzymanych wyników pozwoliła na ustalenie następujących wartości parametrów: maksymalnej liczby iteracji LImax = 100 * n, liczby iteracji bez popraw BPmax = 2 * n, długość listy ruchów zakazanych LTmax = 10 * n, gdzie n jest liczbą zadań. Przy zwiększaniu wartości tych parametrów wzrastał także i czas obliczeń, ale poprawa jakości rozwiązania była już niewielka. T A B E L A 2 Poprawa rozwiązania heurystycznego - wyniki algorytmu popraw A T S Liczba liczba liczba rozwiązań średnia zadań przykładów optymalnych poprawa (% ) W drugim etapie, dokonano obliczeń jedynie na tych spośród wygenerowanych przykładów, dla których algorytm heurystyczny O P T S nie wy-

9 Algorytmy heurystyczne dla problemu minimalizacji 43 znaczył rozwiązania dokłądnego. Otrzymane wyniki są przedstawione w Tabeli 2. Wyniki zamieszczone w tabeli wskazują, że stosując algorytm popraw A TS, w krótkim czasie, uzyskano dalsze znaczne polepszenie wstępnego rozwiązania - średnio o 4,77%. Z analizy kolumny trzeciej wynika, że dla 21.7% przykładów (o liczbie zadań nie przekraczającej 50), startując z rozwiązania różnego od dokładnego, algorytm popraw wyznaczył rozwiązanie optymalne. Czas obliczeń jednego przykładu nie przekraczał kilkudziesięciu sekund. W sumie, stosując kolejno oba algorytmy uzyskano dla około 44% generowanych przykładów rozwiązanie optymalne, a średni błąd wyznaczonego rozwiązania wynosi około 4.6%. Czas obliczeń jednego przykładu (obu algorytmów) nie przekraczał 2 minut. Na podstawie uzyskanych wyników można jednoznacznie stwierdzić, że oba algorytmy mogą być z powodzeniem stosowane do rozwiązywania problemów o praktycznych (dużych) rozmiarach. Zarówno czas obliczeń jak i jakość uzyskanych rozwiązań są w pełni zadawalające. 5. W n io sk i i uw agi. Wiele eksperymentowano dobierając różne parametry algorytmu popraw A T S jak i na różny sposób definiowano otoczenie punktu przestrzeni rozwiązań dopuszczalnych. Poza sporadycznymi przykładami, generalnie nie prowadziło to do polepszenia wartości uzyskiwanych rozwiązań. Otrzymane wyniki w pełni potwierdziły słuszność założenia, że należy konstruować algorytm popraw dla rozwiązań wyznaczonych przez konkretny algorytm heurystyczny. W naszym przypadku rozwiązania te były lokalnie optymalne. Również przyjęcie permutacji lokalnie optymalnej (minimum lokalnego) za rozwiązanie startowe w każdej iteracji algorytmu TS znacznie zwiększyło efektywność jego działania. Algorytm popraw testowano także przyjmując jako punkt startowy inne rozwiązania. Między innymi wielokrotnie go uruchamiano dla różnych permutacji generowanych losowo. Prowadziło to do znacznego zwiększenia czasu obliczeń, a otrzymane wyniki były znacznie gorsze. Dalsze zwiększenie efektywności działania obu algorytmów można uzyskać poprzez zastosowanie kryteriów eliminacyjnych (Emmons [5]), ustalając relację częściowego porządku na zbiorze zadań, dzięki czemu można z góry ustalić pewne sekwencje zadań a co za tym idzie, zmniejszyć przestrzeń rozwiązań dopuszczalnych. Literatura [1] E. A a r t s, J. K. L e n s tr a (edited), Local Search in Combinatorial Optimization, John W iley & Sons Ltd., [2] T. S. A b d u l -R a z a q, C. N. P o t t s, L. N. V a n W a s s e n h o v e, A Survey of Algorithms for the Single Machine Total Weighted Tardiness Scheduling Problem, Discrete Applied Mathematics 26 (1990),

10 44 M. Wodecki [3] A. A d r a b iń s k i, J. G r a b o w s k i and M. W o d e c k i, Algorytm rozwiązywania zagadnienia kolejnościowego postaci 1 ^ WjTj, Archiwum Automatyki i Telemechaniki, Tom X X X III (1988), [4] S. E. E lm a g h r a b y, The One-Machine Sequencing Problem with Delay Costs, Journal of Industrial Engineering, 19 (1968), [5] H. E m m o n s, One-Machine Sequencing Problem with Delay Costs, Journal of Industrial Engineering, 19 (1968), [6] M. J. F ish e r, A Dual Algorithm for the One-Machine Scheduling Problem, Mathematical Programming, 11 (1976), [7] E. L. L a w le r, A Pseudopolinomial Algorithm for Sequencing Jobs to Minimize Total Tardiness, Annals of Discrete Mathematics, 1 (1977), [8] E. L. L a w le r, Efficient Implementation of Dynamic Programming Algorithms for Sequencing Problems, Report B W 106, Mathematisch Centrum, Amsterdam (1979). [9] J. K. L e n s tr a, A. H. G. R in n o y K a n and P. B ru c k e r, Complexity of Machine Scheduling Problems, Annals of Discrete Mathematics, (1977), [10] C. N. P o ttsa n d L. N. V a n W a s s e n h o v e, A Branch and Bound Algorithm for the Total Weighted Tardiness Problem, Operations Research, 33 (1985), [11],, Dynamic Programming and Decomposition Approaches for the Single M a- chine Total Tardiness Problem, The European Journal of Operational Research, 32 (1987), [12],, Single Machine Tardiness Sequencing Heuristics, HE Transactions, Volume 23, Number 4 (1991), [13] A. H. G. R in n o y K a n, B. J. L a g e w e g and J. K. L e n s tr a, Minimizing total costs in one-machine scheduling, Operations Research, 25 (1975), [14] L. S c h ra g e and K. R. B a k er, Dynamic Programming solution of Sequencing Problems with Precedence Constraints, Operational Research, 26 (1978), [15] W. E. S m ith, Various Otimizers for Single-Stage Production, Naval Research Logistics Quarterly,3 (1956), Abstract. Heuristics algorithms for the single machine total tardiness problem This paper presents approximations algorithms for the single machine total weighted tardiness problems. The algorithms is based on a tabu search technique with a specific neighborhood definition. Results of testing the algorithms on large number of randomly generated examples are also given and analysed.

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

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 iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1 Normy wektorów i macierzy (5.3.1) Niech 1 X =[x x Y y =[y1 x n], oznaczają wektory przestrzeni R n, a yn] niech oznacza liczbę rzeczywistą. Wyrażenie x i p 5.3.1.a X p = p n i =1 nosi nazwę p-tej normy

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

Rozdział 1 PROGRAMOWANIE LINIOWE

Rozdział 1 PROGRAMOWANIE LINIOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.2 Ćwiczenia komputerowe Ćwiczenie 1.1 Wykorzystując

Bardziej szczegółowo

5. Rozwiązywanie układów równań liniowych

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

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

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

Programowanie liniowe

Programowanie liniowe Programowanie liniowe Maciej Drwal maciej.drwal@pwr.wroc.pl 1 Problem programowania liniowego min x c T x (1) Ax b, (2) x 0. (3) gdzie A R m n, c R n, b R m. Oznaczmy przez x rozwiązanie optymalne, tzn.

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

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

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Uwarunkowanie zadania numerycznego Niech ϕ : R n R m będzie pewna funkcja odpowiednio wiele

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać układu równań liniowych Układ liniowych równań algebraicznych

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

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

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

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE 2.2 Ćwiczenia komputerowe Ćwiczenie

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

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

HEURYSTYCZNY ALGORYTM SZEREGOWANIA ZADAŃ W SYSTEMIE MASZYN RÓWNOLEGŁYCH Z KRYTERIUM MINIMALNO-CZASOWYM EURYSTYCZNY ALGORYTM SZEREGOWANIA ZADAŃ W SYSTEMIE MASZYN RÓWNOLEGŁYC Z KRYTERIUM MINIMALNO-CZASOWYM Zbigniew BUCALSKI Streszczenie: Artykuł dotyczy zagadnienia czasowo-optymalnego przydziału zasobu podzielnego

Bardziej szczegółowo

Algorytm simplex i dualność

Algorytm simplex i dualność Algorytm simplex i dualność Łukasz Kowalik Instytut Informatyki, Uniwersytet Warszawski April 15, 2016 Łukasz Kowalik (UW) LP April 15, 2016 1 / 35 Przypomnienie 1 Wierzchołkiem wielościanu P nazywamy

Bardziej szczegółowo

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji Macierze - obliczanie wyznacznika macierzy z użyciem permutacji I LO im. F. Ceynowy w Świeciu Radosław Rudnicki joix@mat.uni.torun.pl 17.03.2009 r. Typeset by FoilTEX Streszczenie Celem wykładu jest wprowadzenie

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

Programowanie liniowe

Programowanie liniowe Programowanie liniowe Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW wykład z algebry liniowej Warszawa, styczeń 2010 Mirosław Sobolewski (UW) Warszawa, 2009 1 / 15 Homo oeconomicus=

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA) Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, 7.06.2005 1 Kryptografia: algorytmy asymetryczne (RSA) Niech E K (x) oznacza szyfrowanie wiadomości x kluczem K (E od encrypt, D K (x)

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

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

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2008 Seria: AUTOMATYKA z. 199 Nr kol. 1999 ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2008 Seria: AUTOMATYKA z. 199 Nr kol. 1999 Mariusz Makuchowski Politechnika Wrocławska, Instytut Informatyki Automatyki i Robotyki PROBLEM GNIAZDOWY Z OGRANICZENIEM

Bardziej szczegółowo

1 Działania na zbiorach

1 Działania na zbiorach M. Beśka, Wstęp do teorii miary, rozdz. 1 1 1 Działania na zbiorach W rozdziale tym przypomnimy podstawowe działania na zbiorach koncentrując się na własnościach tych działań, które będą przydatne w dalszej

Bardziej szczegółowo

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu 1 Metody rozwiązywania równań nieliniowych. Postawienie problemu Dla danej funkcji ciągłej f znaleźć wartości x, dla których f(x) = 0. (1) 2 Przedział izolacji pierwiastka Będziemy zakładać, że równanie

Bardziej szczegółowo

Rozwiązywanie problemów z użyciem Solvera programu Excel

Rozwiązywanie problemów z użyciem Solvera programu Excel Rozwiązywanie problemów z użyciem Solvera programu Excel Podstawowe czynności: aktywować dodatek Solver oraz ustawić w jego opcjach maksymalny czas trwania algorytmów na sensowną wartość (np. 30 sekund).

Bardziej szczegółowo

TOZ -Techniki optymalizacji w zarządzaniu

TOZ -Techniki optymalizacji w zarządzaniu TOZ -Techniki optymalizacji w zarządzaniu Wykład dla studentów II roku studiów II stopnia na kierunku Zarządzanie Semestr zimowy 2009/2010 Wykładowca: prof. dr hab. inż. Michał Inkielman Wykład 2 Optymalizacja

Bardziej szczegółowo

Programowanie liniowe

Programowanie liniowe Programowanie liniowe Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW wykład z algebry liniowej Warszawa, styczeń 2015 Mirosław Sobolewski (UW) Warszawa, 2015 1 / 16 Homo oeconomicus=

Bardziej szczegółowo

Uczenie sieci typu MLP

Uczenie sieci typu MLP Uczenie sieci typu MLP Przypomnienie budowa sieci typu MLP Przypomnienie budowy neuronu Neuron ze skokową funkcją aktywacji jest zły!!! Powszechnie stosuje -> modele z sigmoidalną funkcją aktywacji - współczynnik

Bardziej szczegółowo

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie: Rekurencje Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie: T(n) = Θ(1) (dla n = 1) T(n) = 2 T(n/2) + Θ(n) (dla n

Bardziej szczegółowo

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

Metody Numeryczne Optymalizacja. Wojciech Szewczuk Metody Numeryczne Optymalizacja Optymalizacja Definicja 1 Przez optymalizację będziemy rozumieć szukanie minimów lub maksimów funkcji. Optymalizacja Definicja 2 Optymalizacja lub programowanie matematyczne

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

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA) Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, 19.06.2005 1 Kryptografia: algorytmy asymetryczne (RSA) Niech E K (x) oznacza szyfrowanie wiadomości x kluczem K (E od encrypt, D K (x)

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 1. Optymalizacja funkcji jednej zmiennej Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 28.02.2019 1 / 54 Plan wykładu Optymalizacja funkcji jednej

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

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych Piotr Modliński Wydział Geodezji i Kartografii PW 13 stycznia 2012 P. Modliński, GiK PW Rozw.

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

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

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

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany. Przedstawiamy algorytmy porządkowania dowolnej liczby elementów, którymi mogą być liczby, jak również elementy o bardziej złożonej postaci (takie jak słowa i daty). Porządkowanie, nazywane również często

Bardziej szczegółowo

Zaawansowane programowanie

Zaawansowane programowanie Zaawansowane programowanie wykład 3: inne heurystyki prof. dr hab. inż. Marta Kasprzak Instytut Informatyki, Politechnika Poznańska Heurystyką nazywamy algorytm (metodę) zwracający rozwiązanie przybliżone.

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

Układy równań liniowych. Krzysztof Patan

Układy równań liniowych. Krzysztof Patan Układy równań liniowych Krzysztof Patan Motywacje Zagadnienie kluczowe dla przetwarzania numerycznego Wiele innych zadań redukuje się do problemu rozwiązania układu równań liniowych, często o bardzo dużych

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

Algorytmy heurystyczne w UCB dla DVRP

Algorytmy heurystyczne w UCB dla DVRP Algorytmy heurystyczne w UCB dla DVRP Seminarium IO na MiNI 24.03.2015 Michał Okulewicz based on the decision DEC-2012/07/B/ST6/01527 Plan prezentacji Definicja problemu DVRP UCB na potrzeby DVRP Algorytmy

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

Analiza wielokryterialna wstęp do zagadnienia

Analiza wielokryterialna wstęp do zagadnienia Organizacja, przebieg i zarządzanie inwestycją budowlaną Analiza wielokryterialna wstęp do zagadnienia dr hab. Mieczysław Połoński prof. SGGW 1 Wprowadzenie Jednym z podstawowych, a równocześnie najważniejszym

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

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

HARMONOGRAMOWANIE ROBÓT BUDOWLANYCH Z MINIMALIZACJĄ ŚREDNIEGO POZIOMU ZATRUDNIENIA HARMONOGRAMOWANIE ROBÓT BUDOWLANYCH Z MINIMALIZACJĄ ŚREDNIEGO POZIOMU ZATRUDNIENIA Wojciech BOśEJKO, Zdzisław HEJDUCKI, Michał PODOLSKI, Mariusz UCHROŃSKI Streszczenie: w pracy proponujemy zastosowanie

Bardziej szczegółowo

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

PROBLEM ROZMIESZCZENIA MASZYN LICZĄCYCH W DUŻYCH SYSTEMACH PRZEMYSŁOWYCH AUTOMATYCZNIE STEROWANYCH CZESŁAW KULIK PROBLEM ROZMIESZCZENIA MASZYN LICZĄCYCH W DUŻYCH SYSTEMACH PRZEMYSŁOWYCH AUTOMATYCZNIE STEROWANYCH Duże systemy przemysłowe, jak kopalnie, kombinaty metalurgiczne, chemiczne itp., mają złożoną

Bardziej szczegółowo

Analiza stanów gry na potrzeby UCT w DVRP

Analiza stanów gry na potrzeby UCT w DVRP Analiza stanów gry na potrzeby UCT w DVRP Seminarium IO na MiNI 04.11.2014 Michał Okulewicz based on the decision DEC-2012/07/B/ST6/01527 Plan prezentacji Definicja problemu DVRP DVRP na potrzeby UCB Analiza

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

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka

Bardziej szczegółowo

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu danych

Bardziej szczegółowo

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

Algorytmy konstrukcyjne dla problemu harmonogramowania projektu z ograniczonymi zasobami. Marcin Klimek * Zeszyty Naukowe WWSI, No 15, Vol. 10, 2016, s. 41-52 Algorytmy konstrukcyjne dla problemu harmonogramowania projektu z ograniczonymi zasobami Marcin Klimek * Państwowa Szkoła Wyższa w Białej Podlaskiej,

Bardziej szczegółowo

Metody numeryczne I Równania nieliniowe

Metody numeryczne I Równania nieliniowe Metody numeryczne I Równania nieliniowe Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/66 Równania nieliniowe 1. Równania nieliniowe z pojedynczym pierwiastkiem

Bardziej szczegółowo

Optymalizacja. Przeszukiwanie tabu

Optymalizacja. Przeszukiwanie tabu dr inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Maciej Hapke Naturalny sposób powstania algorytmu Algorytm największego spadku niezdolność wyjścia z lokalnych optimów!

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

Programowanie liniowe metoda sympleks

Programowanie liniowe metoda sympleks Programowanie liniowe metoda sympleks Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW wykład z algebry liniowej Warszawa, styczeń 2009 Mirosław Sobolewski (UW) Warszawa, 2009 1 / 13

Bardziej szczegółowo

Tabu Search (Poszukiwanie z zakazami)

Tabu Search (Poszukiwanie z zakazami) Tabu Search (Poszukiwanie z zakazami) Heurystyka - technika znajdująca dobre rozwiązanie problemu (np. optymalizacji kombinatorycznej) przy rozsądnych (akceptowalnych z punktu widzenia celu) nakładach

Bardziej szczegółowo

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

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność obliczeń równoległych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność Przy rozważaniu wydajności przetwarzania (obliczeń, komunikacji itp.) często pojawia się pojęcie skalowalności

Bardziej szczegółowo

Dystrybucje, wiadomości wstępne (I)

Dystrybucje, wiadomości wstępne (I) Temat 8 Dystrybucje, wiadomości wstępne (I) Wielkości fizyczne opisujemy najczęściej przyporządkowując im funkcje (np. zależne od czasu). Inną drogą opisu tych wielkości jest przyporządkowanie im funkcjonałów

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

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

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

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

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

Optymalizacja harmonogramów budowlanych - szeregowanie zadań. Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie Optymalizacja harmonogramów budowlanych - szeregowanie zadań Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie Opis zagadnienia Zadania dotyczące szeregowania zadań należą do szerokiej

Bardziej szczegółowo

Elementy Modelowania Matematycznego

Elementy Modelowania Matematycznego Elementy Modelowania Matematycznego Wykład 6 Metoda simpleks Spis treści Wstęp Zadanie programowania liniowego Wstęp Omówimy algorytm simpleksowy, inaczej metodę simpleks(ów). Jest to stosowana w matematyce

Bardziej szczegółowo

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH Transport, studia I stopnia rok akademicki 2011/2012 Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Uwagi wstępne Układ liniowych równań algebraicznych można

Bardziej szczegółowo

1 Programowanie całkowitoliczbowe PLC

1 Programowanie całkowitoliczbowe PLC Metody optymalizacji, wykład nr 9 Paweł Zieliński Programowanie całkowitoliczbowe PLC Literatura [] S.P. Bradley, A.C. Hax, T. L. Magnanti Applied Mathematical Programming Addison-Wesley Pub. Co. (Reading,

Bardziej szczegółowo

Metody numeryczne. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/50

Metody numeryczne. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/50 Metody numeryczne Układy równań liniowych, część II Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/50 Układy równań liniowych, część II 1. Iteracyjne poprawianie

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

Zestaw A-1: Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.adb i.ads)!!! Zad. 1: 4,3,3 2,2,1 Zad. 2: 3,3,3 Zad.

Zestaw A-1: Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.adb i.ads)!!! Zad. 1: 4,3,3 2,2,1 Zad. 2: 3,3,3 Zad. Zestaw A-1: Oddajemy tylko źródła programów (pliki o rozszerzeniach.adb i.ads)!!! Zad. 1: Napisać pakiet rodzajowy udostępniający: typ Sznur będący dynamiczną listą łączoną, której elementy przechowują

Bardziej szczegółowo

III. ZMIENNE LOSOWE JEDNOWYMIAROWE

III. ZMIENNE LOSOWE JEDNOWYMIAROWE III. ZMIENNE LOSOWE JEDNOWYMIAROWE.. Zmienna losowa i pojęcie rozkładu prawdopodobieństwa W dotychczas rozpatrywanych przykładach każdemu zdarzeniu była przyporządkowana odpowiednia wartość liczbowa. Ta

Bardziej szczegółowo

Programowanie w Baltie klasa VII

Programowanie w Baltie klasa VII Programowanie w Baltie klasa VII Zadania z podręcznika strona 127 i 128 Zadanie 1/127 Zadanie 2/127 Zadanie 3/127 Zadanie 4/127 Zadanie 5/127 Zadanie 6/127 Ten sposób pisania programu nie ma sensu!!!.

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

n=0 (n + r)a n x n+r 1 (n + r)(n + r 1)a n x n+r 2. Wykorzystując te obliczenia otrzymujemy, że lewa strona równania (1) jest równa

n=0 (n + r)a n x n+r 1 (n + r)(n + r 1)a n x n+r 2. Wykorzystując te obliczenia otrzymujemy, że lewa strona równania (1) jest równa Równanie Bessela Będziemy rozważać następujące równanie Bessela x y xy x ν )y 0 ) gdzie ν 0 jest pewnym parametrem Rozwiązania równania ) nazywamy funkcjami Bessela rzędu ν Sprawdzamy, że x 0 jest regularnym

Bardziej szczegółowo

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE 6. Ćwiczenia komputerowe Ćwiczenie 6.1

Bardziej szczegółowo

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA SZTUCZNA INTELIGENCJA WYKŁAD 12. PRZESZUKIWANIE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska ROZWIĄZYWANIE PROBLEMÓW JAKO PRZESZUKIWANIE Istotną rolę podczas

Bardziej szczegółowo

Optymalizacja. Przeszukiwanie tabu

Optymalizacja. Przeszukiwanie tabu dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Maciej Hapke Naturalny sposób powstania algorytmu Algorytm optymalizacji lokalnej Niezdolność wyjścia z lokalnych

Bardziej szczegółowo

Rozwiązywanie układów równań liniowych

Rozwiązywanie układów równań liniowych Rozwiązywanie układów równań liniowych Marcin Orchel 1 Wstęp Jeśli znamy macierz odwrotną A 1, to możęmy znaleźć rozwiązanie układu Ax = b w wyniku mnożenia x = A 1 b (1) 1.1 Metoda eliminacji Gaussa Pierwszy

Bardziej szczegółowo

Metoda eliminacji Gaussa. Autorzy: Michał Góra

Metoda eliminacji Gaussa. Autorzy: Michał Góra Metoda eliminacji Gaussa Autorzy: Michał Góra 9 Metoda eliminacji Gaussa Autor: Michał Góra Przedstawiony poniżej sposób rozwiązywania układów równań liniowych jest pewnym uproszczeniem algorytmu zwanego

Bardziej szczegółowo

Zestaw 1: Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.adb i.ads)!!! Zad. 1: Zad. 2: 2,2,2 5,5,5,5,5,5 Zad.

Zestaw 1: Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.adb i.ads)!!! Zad. 1: Zad. 2: 2,2,2 5,5,5,5,5,5 Zad. Zestaw 1: procedurę Wstaw wstawiającą do sznura podanego jako parametr element zawierający liczbę podaną jako parametr tak, aby sznur był uporządkowany niemalejąco (zakładając, że sznur wejściowy jest

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

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Matematyka dyskretna. Andrzej Łachwa, UJ, /10 Matematyka dyskretna Andrzej Łachwa, UJ, 2018 andrzej.lachwa@uj.edu.pl 10/10 Podziały i liczby Stirlinga Liczba Stirlinga dla cykli (często nazywana liczbą Stirlinga pierwszego rodzaju) to liczba permutacji

Bardziej szczegółowo

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy

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

Programowanie dynamiczne (optymalizacja dynamiczna).

Programowanie dynamiczne (optymalizacja dynamiczna). Programowanie dynamiczne (optymalizacja dynamiczna). W wielu przypadkach zadania, których złożoność wynikająca z pełnego przeglądu jest duża (zwykle wyk ładnicza) można rozwiązać w czasie wielomianowym

Bardziej szczegółowo

Zadanie 1: Piętnastka

Zadanie 1: Piętnastka Informatyka, studia dzienne, inż. I st. semestr VI Sztuczna Inteligencja i Systemy Ekspertowe 2010/2011 Prowadzący: mgr Michał Pryczek piątek, 12:00 Data oddania: Ocena: Grzegorz Graczyk 150875 Marek Rogalski

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

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

AUTOMATYZACJA PROCESW DYSKRETNYCH 2012 ZASTOSOWANIE TECHNIK RÓWNOLEGŁYCH W SZEREGOWANIU ZA- DAŃ Z KRYTERIUM MINIMALIZACJI SUMY SPÓŹNIEŃ AUTOMATYZACJA PROCESW DYSKRETNYCH 2012 Mariusz MAKUCHOWSKI, Jarosław PEMPERA Politechnika Wroclawska ZASTOSOWANIE TECHNIK RÓWNOLEGŁYCH W SZEREGOWANIU ZA- DAŃ Z KRYTERIUM MINIMALIZACJI SUMY SPÓŹNIEŃ Streszczenie.

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

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

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

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

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

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