Dynamiczne programowanie w teorii optymalizacji

master
dc.abstract.enPaper focuses on adapting the technique of dynamic programming for multicore computers, equipped with two or more processing units. Proposed by R. Bellman method of solving problems, which exibits optimal substructure property and overlapping subproblems property, based on sequential algorithms are modified to fully exploit the available computing power. The first part discusses the basic definitions and information about dynamic programming and defines the problem, which was used to present the results of parallelization. Next section presents parallel dynamic programming algorithms and discuses measurement of the performance gain. 16-core server equipped with Java Virtual Machine with Solaris operating system was selected as the test platform.In this work special Java language framework was prepared, which simplifies implementation of the parallel dynamic programming algorithms by providing a generic mechanism which automatically separates task management and synchronization issues from framework client. The last chapter present the results obtained for two examples of optimization problems - the minimization of certain functionals. Work shows that parallel processing in dynamic programming can be at least four times faster than sequential solutions, and that these techniques can be successfully applied in other optimization problems.pl
dc.abstract.otherPraca skupia się na przystosowaniu techniki programowania dynamicznego do komputerów wielordzeniowych, zaopatrzonych w dwie lub więcej jednostek obliczeniowych. Zaproponowane przez R. Bellmana metody rozwiązywania problemów posiadających własność optymalnej podstruktury oraz własność wspólnych podproblemów oparte o sekwencyjne algorytmy zostają w pracy zmodyfikowane, aby w pełni wykorzystać dostępną moc obliczeniową. W pierwszej części omówione zostały podstawowe definicje i informacje dotyczące dynamicznego programowania oraz zdefiniowany został problem, który posłużył do prezentacji wyników zrównoleglenia. W kolejnej części przedstawione zostały równoległe algorytmy programowania dynamicznego oraz omówione zostały sposoby oceny wzrostu wydajności algorytmów równoległych, uzyskanej dzięki równoległemu przetwarzaniu. Jako platforma do testów wybrany został język Java uruchomiony na serwerze posiadającym 16 procesorów pracujących pod kontrolą systemu operacyjnego Solaris. W ramach pracy został utworzony framework w języku Java, ułatwiający implementację równoległego rozwiązywania problemów programowania dynamicznego poprzez dostarczenie ogólnych mechanizmów zajmujących się rozdzieleniem pracy na poszczególne jednostki obliczeniowe oraz zajmujący się synchronizacją wykonywania poszczególnych podzadań. Ostatnie rozdziały prezentują wyniki uzyskane dla dwóch przykładowych problemów optymalizacyjnych polegających na minimalizacji określonych funkcjonałów. Praca wskazuje, że zastosowanie równoległego przetwarzania pozwala na conajmniej czterokrotne zmniejszenie czasu potrzebnego na odnalezienie optymalnego rozwiązania dla opisanych problemów programowania dynamicznego oraz że podane techniki mogą zostać z powodzeniem zastosowane w innych problemach optymalizacyjnych.pl
dc.affiliationWydział Matematyki i Informatykipl
dc.contributor.advisorOchal, Anna - 131110 pl
dc.contributor.authorKucia, Piotrpl
dc.contributor.departmentbycodeUJK/WMI2pl
dc.contributor.reviewerDenkowski, Zdzisław - 127715 pl
dc.contributor.reviewerOchal, Anna - 131110 pl
dc.date.accessioned2020-07-14T18:11:39Z
dc.date.available2020-07-14T18:11:39Z
dc.date.submitted2011-10-18pl
dc.fieldofstudyinformatyka stosowanapl
dc.identifier.apddiploma-54758-65601pl
dc.identifier.projectAPD / Opl
dc.identifier.urihttps://ruj.uj.edu.pl/xmlui/handle/item/169721
dc.subject.enparallel dynamic programming, parallel processing, tasks synchronization, performance of parallel algorithmspl
dc.subject.otherRównoległe programowanie dynamiczne, równoległe przetwarzanie, synchronizacja zadań, wydajność algorytmów równoległychpl
dc.titleDynamiczne programowanie w teorii optymalizacjipl
dc.title.alternativeDynamic programming in optimization theorypl
dc.typemasterpl
dspace.entity.typePublication
dc.abstract.enpl
Paper focuses on adapting the technique of dynamic programming for multicore computers, equipped with two or more processing units. Proposed by R. Bellman method of solving problems, which exibits optimal substructure property and overlapping subproblems property, based on sequential algorithms are modified to fully exploit the available computing power. The first part discusses the basic definitions and information about dynamic programming and defines the problem, which was used to present the results of parallelization. Next section presents parallel dynamic programming algorithms and discuses measurement of the performance gain. 16-core server equipped with Java Virtual Machine with Solaris operating system was selected as the test platform.In this work special Java language framework was prepared, which simplifies implementation of the parallel dynamic programming algorithms by providing a generic mechanism which automatically separates task management and synchronization issues from framework client. The last chapter present the results obtained for two examples of optimization problems - the minimization of certain functionals. Work shows that parallel processing in dynamic programming can be at least four times faster than sequential solutions, and that these techniques can be successfully applied in other optimization problems.
dc.abstract.otherpl
Praca skupia się na przystosowaniu techniki programowania dynamicznego do komputerów wielordzeniowych, zaopatrzonych w dwie lub więcej jednostek obliczeniowych. Zaproponowane przez R. Bellmana metody rozwiązywania problemów posiadających własność optymalnej podstruktury oraz własność wspólnych podproblemów oparte o sekwencyjne algorytmy zostają w pracy zmodyfikowane, aby w pełni wykorzystać dostępną moc obliczeniową. W pierwszej części omówione zostały podstawowe definicje i informacje dotyczące dynamicznego programowania oraz zdefiniowany został problem, który posłużył do prezentacji wyników zrównoleglenia. W kolejnej części przedstawione zostały równoległe algorytmy programowania dynamicznego oraz omówione zostały sposoby oceny wzrostu wydajności algorytmów równoległych, uzyskanej dzięki równoległemu przetwarzaniu. Jako platforma do testów wybrany został język Java uruchomiony na serwerze posiadającym 16 procesorów pracujących pod kontrolą systemu operacyjnego Solaris. W ramach pracy został utworzony framework w języku Java, ułatwiający implementację równoległego rozwiązywania problemów programowania dynamicznego poprzez dostarczenie ogólnych mechanizmów zajmujących się rozdzieleniem pracy na poszczególne jednostki obliczeniowe oraz zajmujący się synchronizacją wykonywania poszczególnych podzadań. Ostatnie rozdziały prezentują wyniki uzyskane dla dwóch przykładowych problemów optymalizacyjnych polegających na minimalizacji określonych funkcjonałów. Praca wskazuje, że zastosowanie równoległego przetwarzania pozwala na conajmniej czterokrotne zmniejszenie czasu potrzebnego na odnalezienie optymalnego rozwiązania dla opisanych problemów programowania dynamicznego oraz że podane techniki mogą zostać z powodzeniem zastosowane w innych problemach optymalizacyjnych.
dc.affiliationpl
Wydział Matematyki i Informatyki
dc.contributor.advisorpl
Ochal, Anna - 131110
dc.contributor.authorpl
Kucia, Piotr
dc.contributor.departmentbycodepl
UJK/WMI2
dc.contributor.reviewerpl
Denkowski, Zdzisław - 127715
dc.contributor.reviewerpl
Ochal, Anna - 131110
dc.date.accessioned
2020-07-14T18:11:39Z
dc.date.available
2020-07-14T18:11:39Z
dc.date.submittedpl
2011-10-18
dc.fieldofstudypl
informatyka stosowana
dc.identifier.apdpl
diploma-54758-65601
dc.identifier.projectpl
APD / O
dc.identifier.uri
https://ruj.uj.edu.pl/xmlui/handle/item/169721
dc.subject.enpl
parallel dynamic programming, parallel processing, tasks synchronization, performance of parallel algorithms
dc.subject.otherpl
Równoległe programowanie dynamiczne, równoległe przetwarzanie, synchronizacja zadań, wydajność algorytmów równoległych
dc.titlepl
Dynamiczne programowanie w teorii optymalizacji
dc.title.alternativepl
Dynamic programming in optimization theory
dc.typepl
master
dspace.entity.type
Publication
Affiliations

* The migration of download and view statistics prior to the date of April 8, 2024 is in progress.

Views
30
Views per month
Views per city
Zabrze
10
Zarszyn
6
Ruda Śląska
3
Wroclaw
3
Dublin
1
Gerolstein
1
Grenville
1
Luszyn
1
Olesno
1
Piaseczno
1

No access

No Thumbnail Available