Title: Porovnání paralelní implementace B algoritmu v Javě a C/C++
Other Titles: Comparison of Parallel Implementation of B Algorithm in Java and C/C++
Authors: Pernička, Petr
Advisor: Potužák Tomáš, Ing. Ph.D.
Referee: Lipka Richard, Ing. Ph.D.
Issue Date: 2024
Publisher: Západočeská univerzita v Plzni
Document type: bakalářská práce
URI: http://hdl.handle.net/11025/57098
Keywords: b algoritmus;java;c++;porovnání;paralelizace;problém přiřazení dopravy;uživatelská rovnováha
Keywords in different language: b algorithm;java;c++;comparison;parallelization;traffic assignment problem;user equilibrium
Abstract: 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%.
Abstract in different language: 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.
Rights: Plný text práce je přístupný bez omezení
Appears in Collections:Bakalářské práce / Bachelor´s works (KIV)

Files in This Item:
File Description SizeFormat 
A20B0203P_Text.pdfPlný text práce586,66 kBAdobe PDFView/Open
A20B0203P_Hodnoceni.pdfPosudek vedoucího práce46,27 kBAdobe PDFView/Open
A20B0203P_Posudek.pdfPosudek oponenta práce100,66 kBAdobe PDFView/Open
A20B0203P_Obhajoba.pdfPrůběh obhajoby práce62,79 kBAdobe PDFView/Open


Please use this identifier to cite or link to this item: http://hdl.handle.net/11025/57098

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.