Název: Porovnání paralelní implementace B algoritmu v Javě a C/C++
Další názvy: Comparison of Parallel Implementation of B Algorithm in Java and C/C++
Autoři: Pernička, Petr
Vedoucí práce/školitel: Potužák Tomáš, Ing. Ph.D.
Oponent: Lipka Richard, Ing. Ph.D.
Datum vydání: 2024
Nakladatel: Západočeská univerzita v Plzni
Typ dokumentu: bakalářská práce
URI: http://hdl.handle.net/11025/57098
Klíčová slova: b algoritmus;java;c++;porovnání;paralelizace;problém přiřazení dopravy;uživatelská rovnováha
Klíčová slova v dalším jazyce: b algorithm;java;c++;comparison;parallelization;traffic assignment problem;user equilibrium
Abstrakt: Jedna z používaných technik pro předpověď dopravy je čtyřkrokový model, jehož součástí je i přiřazení dopravy. Přiřazení dopravy přichází poté, co je již určen dopravní tok z každého počátku do každého cíle v dopravní síti ve formě OD matice a obnáší přiřazení tohoto toku jednotlivým silnicím v síti tak, aby jízdy používaly nejlevnější trasy. Algoritmus B řeší statickou variantu přiřazení dopravy, kdy prvky OD matice jsou konstanty a řešení pak reprezentuje průměr přes modelovaný časový úsek. V této práci je Algoritmus B paralelizován a implementován v Javě a C++ a následně jsou porovnány přiřazené toky, čas a paměť. Výsledkem práce je, že C++ je o ~8% rychlejší a potřebuje o ~4% méně paměti. Samotná paralelizace pak dokáže na použitých počítačích urychlit algoritmus až o ~80%.
Abstrakt v dalším jazyce: One of the techniques used for traffic forecasting is the four-step model, part of which is traffic assignment. Traffic assignment comes after determining the traffic flow from each origin to each destination in the traffic network taking the form of OD matrix and it entails assignment of this flow to each link in the network so that trips would use cheapest paths. Algorithm B solves static variant of traffic assignment in which elements of the OD matrix are constants and the result represents an average over considered time frame. In this thesis, Algorithm B is parallelized and implemented in Java and C++. Then, the assigned flows, the computation time and memory consumption of both versions are compared. The result is that C++ is ~8% faster and needs ~4% less memory. The parallelization alone is able to speed up the algoritm by ~80% on used computers.
Práva: Plný text práce je přístupný bez omezení
Vyskytuje se v kolekcích:Bakalářské práce / Bachelor´s works (KIV)

Soubory připojené k záznamu:
Soubor Popis VelikostFormát 
A20B0203P_Text.pdfPlný text práce586,66 kBAdobe PDFZobrazit/otevřít
A20B0203P_Hodnoceni.pdfPosudek vedoucího práce46,27 kBAdobe PDFZobrazit/otevřít
A20B0203P_Posudek.pdfPosudek oponenta práce100,66 kBAdobe PDFZobrazit/otevřít
A20B0203P_Obhajoba.pdfPrůběh obhajoby práce62,79 kBAdobe PDFZobrazit/otevřít


Použijte tento identifikátor k citaci nebo jako odkaz na tento záznam: http://hdl.handle.net/11025/57098

Všechny záznamy v DSpace jsou chráněny autorskými právy, všechna práva vyhrazena.