PROBLEM HARMONOGRAMOWANIA ZADAŃ WIELOMASZYNOWYCH
|
|
- Zdzisław Świderski
- 9 lat temu
- Przeglądów:
Transkrypt
1 PROBLEM HARMONOGRAMOWANIA ZADAŃ WIELOMASZYNOWYCH Karolina BOROWICKA, Wojciech BOŻEJKO, Łukasz KACPRZAK, Mieczysław WODECKI Streszczenie: W pracy rozpatrujemy problem harmonogramowania zadań wykonywanych na wielu identycznych maszynach z pewnym kryterium kosztowym, którym jest iloczyn czasu wykonywania zadań oraz liczby użytych maszyn. Rozwiązanie problemu sprowadza się do pewnego dwuwymiarowego problemu pakowania. Przedstawiamy algorytm symulowanego wyżarzania z różnymi wariantami strategii pakowania. Przeprowadzone eksperymenty obliczeniowe wykazały, że wyznaczone rozwiązania niewiele różnią się od górnych ograniczeń wartości funkcji celu. Słowa kluczowe: równoległe maszyny, zadania wielomaszynowe, kryterium kosztowe. 1. Wprowadzenie W zdecydowanej większości rozpatrywanych w literaturze problemów szeregowania zakłada się, że zadanie jest wykonywane na pojedynczej maszynie. Istnieją jednak takie rzeczywiste procesy produkcyjne, a w szczególności współczesne systemy komputerowe, w których wykonanie zadania wymaga jednocześnie więcej niż jednego procesora (maszyny). Mówimy wówczas o systemach z maszynami równoległymi i zadaniach wielomaszynowych (wieloprocesorowych). W literaturze takie problemy były już od dość dawna rozpatrywane, np. przeglądowa praca Drozdowskiego [4] oraz monografia [5], a także praca doktorska Kramera [7], które głównie dotyczą systemów komputerowych. Założenie dotyczące wielomaszynowości zadań może być realizowane na różne sposoby: zadnie może być wykonane na dowolnym podzbiorze wymaganej liczbie maszyn (np. Makuchowski [11]), ustalone są podzbiory maszyn (sposoby wykonania) spośród których należy dokonać wyboru (np. Nowicki [10]). Pierwsze zastosowania wielomaszynowych modeli szeregowania zadań odnoszą się do przemysłu chemicznego (Bozoki i Richard [3]) oraz harmonogramowania projektów (Vizing [13]). Naturalnym odniesieniem dla tego typu zagadnieniń są badane od kilkudziesięciu lat wieloprocesorowe systemy komputerowe (Błażewicz i in. [1]). W przeważającej większości optymalizowano termin wykonania wszystkich zadań ( C max ). Obecnie wiele centrów komputerowych oferuje wykonywanie obliczeń przy czym koszt wykonania usługi jest zależny, przede wszystkim, od czasu trwania obliczeń oraz liczby wymaganych procesorów. Istnieje więc potrzeba budowy oraz badania nowych, odpowiadających obecnej rzeczywistości modeli, a także analizy funkcji kryterialnych uwzględniających całokształt kosztów. Z podobnymi zagadnieniami spotykamy się także przy planowaniu przedsięwzięc budowlanych, gdzie jednoczesne korzystanie z wielu zasobów jest podstawą organizacji pracy. Podstawowy problem szeregowania zadań wielomaszynowych, P size j C (gdzie 547 max
2 P jest symbolem wielomaszynowości, a size j - liczbą wymaganych maszyn) był badany głównie pod kątem algorytmów przybliżonych oraz analizy najgorszego przypadku (Lin [8], Lloyd [9]). Udowodniono bowiem, że już w przypadku dwóch maszyn, problem P 2 size j C max jest NP-trudny. Błądek i in. [2] rozpatrują problem z kryterium C max zakładając dodatkowo, że do wykonania pewnych zadań należy przydzielić ustaloną liczbę sąsiednich maszyn. Z kolei obszerny rozdział w pracy Nowickiego [10] jest poświęcony problemowi gniazdowemu z równoległymi maszynami. Przedstawiono model grafowy oraz algorytm oparty ma metodzie przeszukiwania z tabu, a także wyniki przeprowadzonych eksperymentów obliczeniowych. Kryterium kosztowe (iloczyn długości uszeregowania i liczby użytych maszyn) jest rozpatrywane w pracy Rudek i in. [12]. Dodatkowo przyjęto założenie, że czas wykonywania zadania podlega efektowi uczenia się bądź starzenia, w zależności od momentu rozpoczęcia jego wykonywania. Kryteria uwzględniające, oprócz czasu pracy maszyn, także inne parametry systemu niewątpliwie umożliwiają dokładniejsze wyznaczenie rzeczywistych kosztów realizowanego przedsięwzięcia. W pracy rozpatrujemy kryterium kosztowe zależne od czasu wykonywania zadań i liczby użytych maszym. 2. Sformułowanie problemu Problem harmonogramowania zadań wielomaszynowych można sformułować następująco. Problem: dany jest zbiór zadań J = {1, 2,, n}, które należy wykonać na identycznych maszynach (tj. o tych samych własnościach funkcjonalnych i jednakowych wydajnościach) ze zbioru M = {1,2,, m}. Zadanie i J wymaga jednocześnie do wykonania size i maszyn przez okres p i > 0. Muszą być przy tym spełnione następujące ograniczenia: a) żadna maszyna nie może w dowolnym momencie wykonywać więcej niż jedno zadanie, b) wykonywanie zadania nie może być przerwane, c) każde zadanie jest wykonywane na wymaganej liczbie maszyn. Zakładamy ponadto, że liczba maszyn m size i. n i 1 Rozpatrywany w pracy problem sprowadza się do wyznaczenia, dla każdego zadania, podzbioru maszyn oraz momentów rozpoczęcia jego wykonywania (na każdej z maszyn) spełniających ograniczenia (a)-(c), aby zoptymalizować przyjęte kryterium. Każde rozwiązanie dopuszczalne (tj. spełniające ograniczenia (a)-(c)) może być reprezentowane przez parę = ( Q, S), przy czym: 1 2 Q = [ Q, Q,..., Q n ], gdzie Q i ( Q i M ) jest zbiorem maszyn (przydziałem) na których będzie wykonywane zadanie i J, Q = size, S S1,1 S1, m S2,1 S2, m Sn,1 Sn, m = (,...,,,...,,...,,..., ), gdzie element S jest momentem i, j rozpoczęcia wykonywania zadania i na maszynie j (jeżeli j, wówczas przyjmujemy S, ). i j Oznaczmy przez zbiór wszystkich rozwiązań dopuszczalnych. Dla dowolnego rozwiązania i i Q i 548
3 Cmax ( ) max{ Si, j pi : i J, j M} jest momentem zakończenia wykonywania wszystkich zadań, a M max max{ j : j Qi, i J} maksymalnym numerem maszyny spośród wszystkich przydzielonych do wykonywania zadań. Niech F ( ) Cmax ( ) M max ( ). (1) Rozpatrujemy problem harmonogramowania zadań (w skrócie oznaczany przez MP) polegający na wyznaczeniu rozwiązania * takiego, że * F ( ) min{ F( ) : }. Przykład 1. Dany jest zbiór wielomaszynowych zadań J = {1,2,3,4,5,6} do wykonania na m = 4 równoległych maszynach ze zbioru M = {1,2,3,4}. Parametry poszczególnych zadań są przedstawiono w tabeli 1. Tab. 1. Parametry zadań. zadane (j) p j size j Na rysunku 1 przedstawiono diagram Gannta pewnego harmonogramu, dla którego M ( ) 4, C ( ) 6, a wartość funkcji celu F ( ) 24. max max Rys. 1. Harmonogram rozwiązania problemu szeregowania zadań wieloprocesorowych. Maszyny l, k M ( l k) nazywamy sąsiednimi, jeżeli k l 1 ( l 1,2,..., m 1) lub k l 1 ( l 2,3,..., m). Wprowadzamy nowe ograniczenie: (c ) każde zadanie jest wykonywane na wymaganej liczbie sąsiednich maszyn. Problem harmonogramowania zadań z ograniczeniami (a), (b), (c ) oraz funkcją celu zdefiniowaną w (1) będziemy nazywali problemem prostokątnego harmonogramowania zadań wielomaszynowych i w skrócie oznaczali przez MPP. W tym przypadku funkcję celu oznaczamy przez F ( ). Na rysunku 2 przedsytawiono rozwiązanie dla prostokątnego harmonogramowania 549
4 zadań z przykładu 1. W tym przypadku, podobnie jak w przykładzie 1, wartość funkcji celu * F ( ) 24. Można łatwo udowodnić, że jeżeli dla pewnego przykładu danych, jest * rozwiązanie optymalnym problemu MP, a rozwiązaniem optymalnym problemu MPP, * * to F ( ) F( ). Pewne dolne oraz górne oszacowania rozpatrywanego kryterium przedstawiono w pracy [6]. Rys. 2. Harmonogram rozwiązania problemu prostokątnego szeregowania zadań. Rozwiązanie problemu prostokątnego harmonogramowania zadań wieloprocesorowych można łatwo sprowadzić do pewnego problemu dwuwymiarowego pakowania. 3. Dwuwymiarowy problem pakowania Problem dwuwymiarowego pakowania, w rozważanym wariancie, polega na takim rozmieszczeniu dostępnych, dwuwymiarowych obiektów (prostokątów), aby zajmowany przez nie obszar posiadał minimalne pole powierzchni. Bardziej formalnie. Problem: dany jest zbiór prostokątów P p, p,..., p } oraz typów T t, t,..., t }. { 1 2 n { 1 2 n Każdy prostokąt p i P posiada określony typ u i, definiujący jego wymiary, tj. ui t k, dla k { 1,2,..., m}, i 1,2,..., n, u U u, u,..., u }. Dowolny typ t k T definiuje para { 1 2 n liczb tk ( lk, wk ), gdzie l k oznacza długość a w k szerokość prostokąta. Rozpatrywany problem polega na znalezieniu obszaru o minimalnym polu powierzchni, wewnątrz którego możliwe jest umieszczenie wszystkich dostępnych obiektów, tj minimalizacja iloczynu, ( G) L W, gdzie L jest długością, a W szerokością obszaru G. Z każdym prostokątem, znajdującym się wewnątrz obszaru G, utożsamiona jest pozycja, na której został on umieszczony reprezentowana przez współrzędne w kartezjańskim układzie współrzędnych. Prostokąty należy umieścić wewnątrz obszaru G w taki sposób, aby na siebie nie nachodziły a ich krawędzie, reprezentujące odpowiednio ich długość i szerokość, położone były równoległe do krawędzi reprezentujących długość i szerokość obszaru G. Przykład ilustrujący wyżej opisane definicje i oznaczenia przedstawiono na rys
5 Y G L Rys. 3. Obszar G wraz z zapakowanymi prostokątami. X 4. Strategie pakowania oraz algorytm W tym rozdziale opisano metodę reprezentacji rozwiązania, przedstawiono schemat algorytm symulowanego wyżarzania, różne strategie pakowania, a także schemat działania algorytmu wraz z przyjętą strategią pakowania Rozwiązanie Rozwiązanie reprezentowane jest jako chromosom, będący ciągiem (permutacją) prostokątów p i P. Na jego podstawie, przy zastosowaniu strategii pakującej, ustalana jest rzeczywista postać rozwiązania (współrzędne prostokątów wewnątrz obszaru G, jego pole powierzchni oraz dokładność rozwiązania ). Przykładowy chromosom dla n 7 prostokątów przedstawiono rys. 4. Sekwencja prostokątów odzwierciedla kolejność, w jakiej będą one rozpatrywane przez odpowiednią strategię pakującą Algorytm symulowanego wyżarzania Rys. 4. Chromosom Algorytm symulowanego wyżarzania (SA) został zastosowany do wyznaczania nowych rozwiązań (chromosomów), z których korzystamy umieszczając prostokąty wewnątrz obszaru stosując, w tym celu jedną z opisanych strategii pakowania. 551
6 Kluczowymi elementami algorytmu są: temperatura początkowa, temperatura końcowa, funkcja prawdopodobieństwa z którym akceptowane są rozwiązania gorsze od bieżącego oraz schemat schładzania (zmniejszania wartości) temperatury. W każdym kroku algorytmu, rozpatrywane są rozwiązania tworzące sąsiedztwo bieżącego rozwiązania. Sąsiedztwo jest zbiorem elementów, generowanych poprzez niewielkie modyfikacje rozpatrywanego aktualnie rozwiązania. W przypadku, gdy rozwiązanie bieżące jest gorsze od najlepszego z sąsiedztwa, zostaje ono nim zastąpione. Z pewnym prawdopodobieństwem jest możliwe również zastąpienie aktualnego rozwiązania rozwiązaniem gorszym. Ma to na celu zapobieganie stagnacji i kierowaniu trajektorii poszukiwań w nowe obszary przestrzeni rozwiązań. Dobór temperatury, schematu chłodzenia i funkcji prawdopodobieństwa wpływa na częstość akceptowania rozwiązań gorszych od bieżącego, a więc na zdolność algorytmu do opuszczania minimów lokalnych jak i stabilność poszukiwań. W zaimplementowanym algorytmie symulowanego wyżarzania sąsiedztwo generowane jest na dwa sposoby: poprzez losową zamianę miejscami wybranych pól chromosomu, oraz zapisaniu wybranego podciągu elementów chromosomu w odwrotnej kolejności Strategie pakowania W konstrukcji algorytmu zastosowano cztery strategie umieszczania prostokątów wewnątrz tworzonego obszaru. minimalnego powiększania powierzchni obszaru, współczynnika zależności pole-wymiary, zasady ruletki, XYP. Ogólny schemat działania strategii pakujących, w postaci pseudokodu, został przedstawiony na rys. 5. W każdej z zastosowanych strategii dążymy do umieszczenia prostokątów wewnątrz obszaru o możliwie najmniejszym polu powierzchni, rozpatrując je zgodnie z kolejnością ich występowania w chromosomie. Pętla w linii 5 jest wykonywana aż do momentu umieszczenia wewnątrz obszaru wszystkich prostokątów. Kluczowym elementem jest lista pozycji, służąca do przetrzymywania aktualnie dostępnych współrzędnych rozważanych przy poszukiwaniu miejsca, w którym aktualnie rozpatrywany prostokąt p i może być umieszczony. W kroku pierwszym (i:= 0) na liście pozycji umieszczana jest para (0,0) będąca początek układu współrzędnych (linia 9). Jeżeli wstawienie rozważanego prostokąta jest możliwe, pozycja j zostaje usunięta z listy (Aktualizacja), a na jej miejsce dodawane są dwie nowe, powstałe w wyniku umieszczenia prostokąta p i. Pozycje te mają współrzędne: x w, y ), ( x, y w ) i są nazywane punktami referencyjnymi bądź skrajnymi (ang. ( j i j j j i referencepoints, extremepoints). Następnie, gdy pozostały jeszcze pewne nieumieszczone prostokąty, to są one rozpatrywane zgodnie z kolejnością występowania w chromosomie. Wcześniej jednak sortuje się zaktualizowaną listę dostępnych pozycji, sprawdzając jednocześnie możliwości wstawienia. Po rozpatrzeniu wszystkich prostokątów następuje zakończenie działania procedury. Metoda sortowania listy aktualnych pozycji zależy od stosowanej strategii (linia 12). Każda ze strategii sortuje aktualnie dostępne pozycje według innego kryterium. Jako 552
7 właściwa pozycja, dla rozważanego prostokąta jest wybierana pierwsza, umożliwiająca wstawienie prostokąta, bez kolizji z już tam wcześniej umieszczonymi. 1 Obliczenia wstępne: 2 n := liczba dostępnych prostokątów; 3 p i := prostokąt rozważany w kroku i. 4 5 For ( i := 0; i < n; i := i+1 ) 6 { 7 If ( i = 0 ) 8 { 9 lista_pozycji.dodaj(0,0); 10 } Dla prostokąta p i sortuj lista_pozycji; j:=0; 13 wstawienie = false; While (wstawienie = false) 16 { 17 If ( p i pasuje na pozycję j) 18 { 19 Aktualizacja; 20 wstawienie := true; 21 } 22 Else 23 { 24 j := j+1; 25 } } Rys. 5. Ogólny schemat strategii umieszczania prostokątów wewnątrz obszaru Zastosowanie strategii minimalnego obszaru powoduje wyznaczenie, dla każdej aktualnie dostępnej pozycji j, potencjalnego pola powierzchni tymczasowego obszaru powstałego na skutek wstawienia rozważanego prostokąta p i na pozycję j w chromosomie. Następnie, pozycje generujące upakowanie o mniejszym polu powierzchni tymczasowego obszaru przesuwane są na początek listy pozycji. Strategia pole-wymiary jest rozwinięciem strategii minimalnego obszaru. Obliczana jest wartość współczynnika uwzględniającego pole powierzchni tymczasowego obszaru i różnicę długości jego ów. Zastosowanie opisanego współczynnika ma na celu tworzenie obszarów o bardziej równomiernym kształcie. Premiowane są pozycje o jak najmniejszej wartości współczynnika pole-wymiary. Kryterium według którego sortowane są dostępne pozycje, przy wykorzystaniu strategii ruletki, wybierane jest z pewnym prawdopodobieństwem. Możliwe jest sortowanie pozycji według mniejszych wartości współrzędnych x, y oraz różnicy x-y. Wraz z kolejnymi iteracjami wzrasta prawdopodobieństwo sortowania według kryterium x y. Dzięki temu, 553
8 wraz z powiększaniem się obszaru G, częściej są wykorzystane pozycje dostępne w jego wnętrzu. Zastosowanie strategii XYP powoduje sortowanie dostępnych pozycji według mniejszych wartości współrzędnych x, y oraz dodatkowo różnicy x y z identycznym prawdopodobieństwem wyboru każdego z nich. Po wyznaczeniu pozycji położenia wszystkich prostokątów, obliczane jest pole powierzchni ( G) L W obszary G, gdzie W jest szerokością, a L wysokością obszaru. Dokładnością rozwiązania jest iloraz R, (G) gdzie R jest sumą pól powierzchni wszystkich prostokątów Schemat działania algorytmu wraz z przyjętą strategią Ogólny schemat algorytmu symulowanego wyżarzania wraz z dowolną strategią pakowania przedstawiono na rysunku 6. W kroku pierwszym (Inicjalizacja) są wczytywane dane oraz inicjowane podstawowe zmienne. Wyznaczane jest pierwsze rozwiązanie - Bieżące rozw. (BR), a następnie jest ono dekodowane (tj. na jego podstawie są wyznaczane pozycje każdego z prostokątów wewnątrz obszaru G ). Po dekodowaniu obliczana jest dokładność rozwiązania. Następne kroki algorytmu są powtarzane aż do momentu, gdy jest spełniony warunek stopu. Kolejno, generowane jest sąsiedztwo rozwiązania bieżącego, a następnie każde rozwiązanie z sąsiedztwa poddawane jest dekodowaniu. Jeżeli w sąsiedztwie znajduje się lepsze rozwiązanie ( (S)> (BR)), zastępuje ono aktualne (tj. BR=S). W przypadku, gdy żadne rozwiązanie z sąsiedztwa nie ma mniejszej dokładności, wówczas zgodnie z funkcją prawdopodobieństwa jest akceptowane jedno z sąsiednich rozwiązań. 5. Eksperymenty obliczeniowe Obliczenia wykonano na komputerze wyposażonym w 6-rdzeniowy procesor Intel Core i7 CPU X980 (3.33GHz) i system operacyjny Linux Ubuntu LTS. Na potrzeby eksperymentów obliczeniowych wygenerowane zostały dane testowe o różnym stopniu heterogeniczności. Liczba możliwych typów prostokątów wynosiła od trzech do dwudziestu. Wraz ze wzrostem liczby typów danych wejściowych zmniejszana była liczba, dostępnych w każdym typie, prostokątów. Dla każdej instancji danych testowych uruchamiano czterokrotnie algorytm z różnymi strategiami pakowania. Przyjęto ponadto następujące założenia. W każdej iteracji algorytmu SW generowana była określona liczba rozwiązań sąsiadujących z bieżącym rozwiązaniem. Rozwiązania gorsze od aktualnego, były akceptowane z prawdopodobieństwem e /T, gdzie jest różnicą pola obszaru rozwiązania bieżącego i rozwiązania z sąsiedztwa. Sąsiedztwo generowane było z użyciem obu operatorów, z częstszym stosowaniem operatora odwracającego kolejność elementów w permutacji (chromosomie). Warunkiem stopu była maksymalna liczba iteracji algorytmu symulowanego wyżarzania, równa Eksperymenty obliczeniowe przeprowadzone zostały wielokrotnie, dla każdej instancji problemu. 554
9 Inicjalizacja Bieżące rozw. (BR) Dekoduj Tak Koniec? Nie Generuj sąsiedztwo (S) Dekoduj (S) > (BR)? Tak Nie Tak Zamienić BR na S? Nie BR = S STOP Rys. 6. Schemat działania algorytmu SA wraz ze strategią pakowania Wyniki badań przedstawione zostały w tabelach (2-5). Każda tabela zawiera uśrednione wyniki obliczeń przeprowadzonych z zastosowaniem jednej ze strategii pakowania. Każdy wiersz tabeli zawiera wyniki uzyskanym dla jednej instalacji danych testowych: liczbę typów prostokątów (Typy), dokładność wyznaczonego rozwiązania (Dokładność), pole powierzchni obszaru zawierającego rozważane prostokąty (Pole obszaru), długości krótszego i dłuższego u pola obszaru (Krótszy, Dłuższy ), stosunek dłuższego u do krótszego (Ratio) oraz czas obliczeń w minutach (Czas). 555
10 Tab. 2. Strategia minimalnego obszaru Pole Typy Dokładność obszaru Krótszy Dłuższy Ratio Czas 3 0, ,74 47,9 5 0, ,10 32,8 8 0, ,08 101,3 10 0, ,90 141,3 12 0, ,94 158,2 15 0, ,53 86,2 20 0, ,73 137,9 Najwyższą dokładność rozwiązań, dla wszystkich instancji problemu, otrzymano przy zastosowaniu strategii minimalnego obszaru (tab. 2). Jedynie dla danych zawierających dziesięć typów prostokątów nie odnotowano najkrótszego czasu obliczeń. Wartości Ratio były zdecydowanie większe od wartości otrzymanych przy zastosowaniu pozostałych strategii pakowania (dłuższy był od 7,73 do 24,94 krotnie większy od krótszego). Tab. 3. Strategia współczynnika pole-wymiary Pole Krótszy Typy Dokładność obszaru Dłuższy Ratio Czas 3 0, ,03 112,7 5 0, ,01 94,2 8 0, ,02 218,7 10 0, ,01 172,1 12 0, ,03 206,0 15 0, ,01 153,1 20 0, ,00 301,8 Stosując strategię współczynnika pola-wymiaru (tab. 3) otrzymano rozwiązania o nieznacznie gorszej dokładności od rozwiązań przedstawionych w tabeli 2. Średni czas obliczeń jest mniejszy tylko w jednym przypadku (3 typów). Zastosowanie tej strategia dało znacznie mniejszy współczynnik Ratio w sześciu przypadkach (tj. dla 3, 5, 10, 12, 15 i 20 typów) oraz dwukrotnie o takiej samej wartości jak w przypadku strategii ruletki. Wartości Ratio bliskie 1.00 oznacza, że kształt wyznaczonego obszaru jest zbliżony do kwadratu. Dokładność rozwiązań wyznaczonych przy zastosowaniu strategii ruletki (tab. 4) była mniejsza dla trzech przypadkach danych wejściowych, tj. dla instancji z liczbą typów prostokątów równą 8, 10 lub 20. Z kolei czas obliczeń był najkrótszy tylko w jednym przypadku (10 typów). Wyznaczony współczynnik Ratio miał najmniejszą wartość dla trzech przypadków z liczbą typów: 8, 10 i
11 Tab. 4. Strategia ruletki Typy Dokładność Pole obszaru Krótszy Dłuższy Ratio Czas 3 0, ,06 85,6 5 0, ,03 72,9 8 0, ,01 120,3 10 0, ,01 114,1 12 0, ,03 179,0 15 0, ,07 136,3 20 0, ,02 245,2 Zastosowanie strategii XYP (tab. 5) dało w pięciu przypadkach (3, 5, 12, 15 i 20 typów) rozwiązania o znacznie gorszej dokładności. Zdecydowanie najdłuższe były także czasy obliczeń oraz największe wartości współczynnika Ratio. Tab. 5. Strategia XYP Typy Dokładność Pole obszaru Krótszy Dłuższy Ratio Czas 3 0, ,41 112,1 5 0, ,45 95,2 8 0, ,66 263,1 10 0, ,59 219,8 12 0, ,53 260,3 15 0, ,49 196,3 20 0, ,38 378,3 6. Wnioski W pracy rozpatrywano problem harmonogramowania zadań wielomaszynowych na równoległych (identycznych) maszynach z minimalizacją iloczynu liczby użytych maszyn i długości czasu wykonywania wszystkich zadań. Wyznaczenie rozwiązania można sprowadzić do pewnego problemu dwuwymiarowego pakowania prostokątów z minimalizacją pola powierzchni zajętego obszaru. Przedstawiono algorytm symulowanego wyżarzania z zastosowaniem różnych strategii pakowania, tj. umieszczania prostokątów wewnątrz obszaru. Przeprowadzone eksperymenty obliczeniowe wykazały, że wyznaczone pola powierzchni (rozwiązania problemu harmonogramowania zadań) są tylko nieznacznie większe od sumy pól wszystkich prostokątów (tj. od dolnego ograniczenia). Literatura 1. Błażewicz J., Drabowski M., Węglarz J., Scheduling multiprocessor tasks to minimize schedule length, IEEE Transaction, 1986,
12 2. Błądek I., Drozdowski M., Guinand F., Schepler X., On contiguous and non-contiguous parallel task scheduling, Journal of Scheduling, Bozoki, G., Richard, J.-P., A branch-and-bound algorithm for the continous-process job-shop scheduling problem, AIIE Transactions 2/3, 1970, Drozdowski M., Scheduling multiprocessor tasks an overview, European Journal of Operational Research 94, 1996, Drozdowski M., Selected problems of scheduling tasks in multiprocessor computer systems, Poznan University of Technology Press, Series: Monographs No. 321, Janiak A., Lichtenstein M., Mokrzysz K., Szeregowanie zadań wieloprocesorowych z kryterium minimalizacji powierzchni uszeregowania, Automatyzacja Procesów Dyskretnych, Kramer A., Scheduling multiprocessor tasks on dedicated processors. PhD Thesis, Fachbereich Mathematik/Informatik, Univeristat Osnabruck, Lin J., Chen S., Scheduling algorithm for nonpreemptive multiprocessor tasks, Computers and Mathematics with Applications 28/4, 1994, Lloyd E., Concurrent task system, Operations Research 29/1, 1981, Nowicki E., Metoda tabu w problemach szeregowania zadań produkcyjnych, Oficyna wydawnicza Politechniki Wrocławskiej, Wrocław, Makuchowski M., Problemy gniazdowe z operacjami wielomaszynowymi. Własności i algorytmy, praca doktorska, Instytut Cybernetyki Technicznej Politechniki Wrocławskiej, Raport serii: PREPRINTY nr 37/ Rudek R., Agnieszka Rudek A., Kozik A., The solution algorithms for the multiprocessor scheduling with workspan criterion, Expert Systems with Applications 40, 2013, Vizing, V., About schedules observing deadlines, Kibernetika 1, 1981, Mgr inż. Karolina BOROWICKA Prof. nadzw. dr hab. Wojciech BOŻEJKO Mgr inż. Łukasz KACPRZAK Katedra Automatyki, Mechatroniki i Systemów Sterowania Politechnika Wrocławska ul. Janiszewskiego 11/17, Wrocław wojciech.bozejko@edu.pwr.wroc.pl lukasz.kacprzak@edu.pwr.wroc.pl Prof. nadzw. dr hab. Mieczysław WODECKI Instytut Informatyki Uniwersytetu Wrocławskiego ul. Joliot-Curie 15, Wrocław mwd@ii.uni.wroc.pl 558
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
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
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
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
SYSTEM WSPOMAGANIA HARMONOGRAMOWANIA PRZEDSIĘWZIĘĆ BUDOWLANYCH
SYSTEM WSPOMAGANIA HARMONOGRAMOWANIA PRZEDSIĘWZIĘĆ BUDOWLANYCH Wojciech BOŻEJKO, Zdzisław HEJDUCKI, Mariusz UCHROŃSKI, Mieczysław WODECKI Streszczenie: W pracy przedstawiamy system wspomagający harmonogramowanie
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
Problemy z ograniczeniami
Problemy z ograniczeniami 1 2 Dlaczego zadania z ograniczeniami Wiele praktycznych problemów to problemy z ograniczeniami. Problemy trudne obliczeniowo (np-trudne) to prawie zawsze problemy z ograniczeniami.
Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki
Informatyka I Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Operacje relacji (porównania) A
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,
do instrukcja while (wyrażenie);
Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie
Temat: Algorytmy zachłanne
Temat: Algorytmy zachłanne Algorytm zachłanny ( ang. greedy algorithm) wykonuje zawsze działanie, które wydaje się w danej chwili najkorzystniejsze. Wybiera zatem lokalnie optymalną możliwość w nadziei,
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
System wspomagania harmonogramowania przedsięwzięć budowlanych
System wspomagania harmonogramowania przedsięwzięć budowlanych Wojciech Bożejko 1 Zdzisław Hejducki 2 Mariusz Uchroński 1 Mieczysław Wodecki 3 1 Instytut Informatyki, Automatyki i Robotyki Politechnika
Definicje. Algorytm to:
Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi
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
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
1 Wprowadzenie do algorytmiki
Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności
Programowanie dynamiczne
Programowanie dynamiczne Patryk Żywica 5 maja 2008 1 Spis treści 1 Problem wydawania reszty 3 1.1 Sformułowanie problemu...................... 3 1.2 Algorytm.............................. 3 1.2.1 Prosty
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
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
Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH. Heurystyka, co to jest, potencjalne zastosowania
Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Autor: Łukasz Patyra indeks: 133325 Prowadzący zajęcia: dr inż. Marek Piasecki Ocena pracy: Wrocław 2007 Spis treści 1 Wstęp
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
a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76
. p. 1 Algorytmem nazywa się poddający się interpretacji skończony zbiór instrukcji wykonania zadania mającego określony stan końcowy dla każdego zestawu danych wejściowych W algorytmach mogą występować
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
Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne
A. Permutacja losowa Matematyka dyskretna - wykład - część 2 9. Podstawowe algorytmy kombinatoryczne Załóżmy, że mamy tablice p złożoną z n liczb (ponumerowanych od 0 do n 1). Aby wygenerować losową permutację
Podstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
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
Analiza algorytmów zadania podstawowe
Analiza algorytmów zadania podstawowe Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r 0 Jaka wartość zostanie zwrócona przez powyższą
PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.
WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI Katedra Inżynierii Systemów Sterowania PODSTAWY AUTOMATYKI MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.
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
8. Neuron z ciągłą funkcją aktywacji.
8. Neuron z ciągłą funkcją aktywacji. W tym ćwiczeniu zapoznamy się z modelem sztucznego neuronu oraz przykładem jego wykorzystania do rozwiązywanie prostego zadania klasyfikacji. Neuron biologiczny i
Metody Programowania
POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Metody Programowania www.pk.edu.pl/~zk/mp_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 8: Wyszukiwanie
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
Wykład z Technologii Informacyjnych. Piotr Mika
Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły
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 Metody optymalizacji Metody bezgradientowe optymalizacji bez ograniczeń Materiały pomocnicze do ćwiczeń
Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char
Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od
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
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
Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2
Pętle wielokrotne wykonywanie ciągu instrukcji. Bardzo często w programowaniu wykorzystuje się wielokrotne powtarzanie określonego ciągu czynności (instrukcji). Rozróżniamy sytuacje, gdy liczba powtórzeń
WHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
Strategie ewolucyjne (ang. evolu4on strategies)
Strategie ewolucyjne (ang. evolu4on strategies) Strategia ewolucyjna (1+1) W Strategii Ewolucyjnej(1 + 1), populacja złożona z jednego osobnika generuje jednego potomka. Kolejne (jednoelementowe) populacje
ALGORYTMY GENETYCZNE ćwiczenia
ćwiczenia Wykorzystaj algorytmy genetyczne do wyznaczenia minimum globalnego funkcji testowej: 1. Wylosuj dwuwymiarową tablicę 100x2 liczb 8-bitowych z zakresu [-100; +100] reprezentujących inicjalną populację
Macierze. Rozdział Działania na macierzach
Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i, j) (i 1,..., n; j 1,..., m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F R lub F C, nazywamy macierzą (rzeczywistą, gdy
2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych
2. Tablice Tablica to struktura danych przechowująca elementy jednego typu (jednorodna). Dostęp do poszczególnych elementów składowych jest możliwy za pomocą indeksów. Rozróżniamy następujące typy tablic:
Wybrane algorytmy tablicowe
Wybrane algorytmy tablicowe Algorytmy i struktury danych Wykład 2. Rok akademicki: 2009/2010 Sortowanie przez wybieranie for (int i = 0; i < liczby.length - 1; i++) k = i; for (int j = i; j < liczby.length;
WHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
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
ALGORYTMY. 1. Podstawowe definicje Schemat blokowy
ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności
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
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
Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji
Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw
Luty 2001 Algorytmy (4) 2000/2001
Mając dany zbiór elementów, chcemy znaleźć w nim element największy (maksimum), bądź najmniejszy (minimum). We wszystkich naturalnych metodach znajdywania najmniejszego i największego elementu obecne jest
Metodyki i techniki programowania
Metodyki i techniki programowania dr inż. Maciej Kusy Katedra Podstaw Elektroniki Wydział Elektrotechniki i Informatyki Politechnika Rzeszowska Elektronika i Telekomunikacja, sem. 2 Plan wykładu Sprawy
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 + +
Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,
wprowadzenie Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu, w przepisie tym podaje się opis czynności, które trzeba wykonać, oraz dane, dla których algorytm będzie określony.
Rozwiązywanie problemów metodą przeszukiwania
Rozwiązywanie problemów metodą przeszukiwania Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Reprezentacja problemu w przestrzeni stanów Jedną z ważniejszych metod sztucznej
Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).
Algorytm A* Opracowanie: Joanna Raczyńska 1.Wstęp Algorytm A* jest heurystycznym algorytmem służącym do znajdowania najkrótszej ścieżki w grafie. Jest to algorytm zupełny i optymalny, co oznacza, że zawsze
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
ALGORYTMY. 1. Podstawowe definicje Schemat blokowy
ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności
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
Sortowanie zewnętrzne
Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Sortowanie zewnętrzne 1 Wstęp Bardzo często
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
Metoda Karnaugh. B A BC A
Metoda Karnaugh. Powszechnie uważa się, iż układ o mniejszej liczbie elementów jest tańszy i bardziej niezawodny, a spośród dwóch układów o takiej samej liczbie elementów logicznych lepszy jest ten, który
Programowanie w VB Proste algorytmy sortowania
Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich
LISTA 5. C++ PETLE for, while, do while
WSTEP DO INFORMATYKI I PROGRAMOWANIA LISTA 5. C++ PETLE for, while, do while Zadanie. Przeanalizuj działanie poniższego programu. cout
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
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
3. Opracować program kodowania/dekodowania pliku tekstowego. Algorytm kodowania:
Zadania-7 1. Opracować program prowadzący spis pracowników firmy (max.. 50 pracowników). Każdy pracownik opisany jest za pomocą struktury zawierającej nazwisko i pensję. Program realizuje następujące polecenia:
Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009
Algorytmy genetyczne Paweł Cieśla 8 stycznia 2009 Genetyka - nauka o dziedziczeniu cech pomiędzy pokoleniami. Geny są czynnikami, które decydują o wyglądzie, zachowaniu, rozmnażaniu każdego żywego organizmu.
Szablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych
inż. Marek Duczkowski Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych słowa kluczowe: algorytm gradientowy, optymalizacja, określanie wodnicy W artykule
Zadanie 5 - Algorytmy genetyczne (optymalizacja)
Zadanie 5 - Algorytmy genetyczne (optymalizacja) Marcin Pietrzykowski mpietrzykowski@wi.zut.edu.pl wersja 1.0 1 Cel Celem zadania jest zapoznanie się z Algorytmami Genetycznymi w celu rozwiązywanie zadania
Maciej Piotr Jankowski
Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski 2005.12.22 Maciej Piotr Jankowski 1 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji
Metody Rozmyte i Algorytmy Ewolucyjne
mgr inż. Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Uniwersytet Kardynała Stefana Wyszyńskiego Podstawowe operatory genetyczne Plan wykładu Przypomnienie 1 Przypomnienie Metody generacji liczb
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
XV Olimpiada Matematyczna Juniorów
XV Olimpiada Matematyczna Juniorów Zawody stopnia pierwszego część testowa (26 września 209 r.) Rozwiązania zadań testowych. odatnia liczba a jest mniejsza od. Wynika z tego, że a) a 2 > a; b) a > a; c)
Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady
Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy
Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych
Algorytm Genetyczny zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Dlaczego Algorytmy Inspirowane Naturą? Rozwój nowych technologii: złożone problemy obliczeniowe w
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
Złożoność obliczeniowa zadania, zestaw 2
Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze
RACHUNEK PRAWDOPODOBIEŃSTWA WYKŁAD 1. L. Kowalski, Statystyka, 2005
RACHUNEK PRAWDOPODOBIEŃSTWA WYKŁAD 1. Literatura: Marek Cieciura, Janusz Zacharski, Metody probabilistyczne w ujęciu praktycznym, L. Kowalski, Statystyka, 2005 R.Leitner, J.Zacharski, "Zarys matematyki
Pzetestuj działanie pętli while i do...while na poniższym przykładzie:
Pzetestuj działanie pętli while i do...while na poniższym przykładzie: Zadania pętla while i do...while: 1. Napisz program, który wczytuje od użytkownika liczbę całkowitą, dopóki podana liczba jest mniejsza
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
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
WYRAŻENIA ALGEBRAICZNE
WYRAŻENIA ALGEBRAICZNE Wyrażeniem algebraicznym nazywamy wyrażenie zbudowane z liczb, liter, nawiasów oraz znaków działań, na przykład: Symbole literowe występujące w wyrażeniu algebraicznym nazywamy zmiennymi.
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
Podstawowe algorytmy i ich implementacje w C. Wykład 9
Wstęp do programowania 1 Podstawowe algorytmy i ich implementacje w C Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Element minimalny i maksymalny zbioru Element minimalny
RÓWNOLEGŁE ALGORYTMY POPULACYJNE DLA TRÓJWYMIAROWEGO PROBLEMU PAKOWANIA
RÓWNOLEGŁE ALGORYTMY POPULACYJNE DLA TRÓJWYMIAROWEGO PROBLEMU PAKOWANIA Wojciech BOŻEJKO, Łukasz KACPRZAK, Mieczysław WODECKI Streszczenie: Praca rozważa wariant problemu trójwymiarowego pakowania (3D-BPP),w
ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
ALGORYMY 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
1 Problemyprzepływowe
Problemyprzepływowe Problemy przepływowe należą do jednych z prostszych i często analizowanych modeli systemów produkcyjnych. Poniżej zostanie przedstawiony podstawowy problem przepływowy, permutacyjny
Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A
Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A Zadanie do wykonania 1) Utwórz na pulpicie katalog w formacie Imię nazwisko, w którym umieść wszystkie pliki związane z
Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup
Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie
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,
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
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ą
Lista zadań nr 15 TERMIN ODDANIA ROZWIĄZANYCH ZADAŃ 9 marca 2015
Lista zadań nr 5 TERMIN ODDANIA ROZWIĄZANYCH ZADAŃ 9 marca 05 Liczby rzeczywiste a) planuję i wykonuję obliczenia na liczbach rzeczywistych; w szczególności obliczam pierwiastki, w tym pierwiastki nieparzystego
Algebra Boole a i jej zastosowania
lgebra oole a i jej zastosowania Wprowadzenie Niech dany będzie zbiór dwuelementowy, którego elementy oznaczymy symbolami 0 oraz 1, tj. {0, 1}. W zbiorze tym określamy działania sumy :, iloczynu : _ oraz
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
Dobór parametrów algorytmu ewolucyjnego
Dobór parametrów algorytmu ewolucyjnego 1 2 Wstęp Algorytm ewolucyjny posiada wiele parametrów. Przykładowo dla algorytmu genetycznego są to: prawdopodobieństwa stosowania operatorów mutacji i krzyżowania.
1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci:
1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci: * Jan Kowalski * * ul. Zana 31 * 3. Zadeklaruj zmienne przechowujące