Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by Subject "optimization"

Sort by: Order: Results:

  • Steenari, Jussi (2023)
    Ship traffic is a major source of global greenhouse gas emissions, and the pressure on the maritime industry to lower its carbon footprint is constantly growing. One easy way for ships to lower their emissions would be to lower their sailing speed. The global ship traffic has for ages followed a practice called "sail fast, then wait", which means that ships try to reach their destination in the fastest possible time regardless and then wait at an anchorage near the harbor for a mooring place to become available. This method is easy to execute logistically, but it does not optimize the sailing speeds to take into account the emissions. An alternative tactic would be to calculate traffic patterns at the destination and use this information to plan the voyage so that the time at anchorage is minimized. This would allow ships to sail at lower speeds without compromising the total length of the journey. To create a model to schedule arrivals at ports, traffic patterns need to be formed on how ships interact with port infrastructure. However, port infrastructure is not widely available in an easy-to-use form. This makes it difficult to develop models that are capable of predicting traffic patterns. However, ship voyage information is readily available from commercial Automatic Information System (AIS) data. In this thesis, I present a novel implementation, which extracts information on the port infrastructure from AIS data using the DBSCAN clustering algorithm. In addition to clustering the AIS data, the implementation presented in this thesis uses a novel optimization method to search for optimal hyperparameters for the DBSCAN algorithm. The optimization process evaluates possible solutions using cluster validity indices (CVI), which are metrics that represent the goodness of clustering. A comparison with different CVIs is done to narrow down the most effective way to cluster AIS data to find information on port infrastructure.
  • Hommy, Antwan (2024)
    Machine learning (ML) is becoming increasingly important in the telecommunications industry. The purpose of machine learning models in telecommunications is to outperform a classical receiver’s performance by fine-tuning parameters. Since ML models have the advantage of being more concise, their performance is easier to evaluate, contrary to a classical receiver’s multiple blocks each with their own small errors. Evaluating the said models, however, is challenging. To identify the correct parameters is also not trivial. To address this issue, a coherent and reliant hyperparameter optimization method needs to be introduced. This thesis investigates how a hyperparameter optimization method can be implemented, and which one is best suited for the problem. It looks into the value it provides, the metrics displayed for each hyperparameter set during training and inference, and the challenges of realising such a system, in addition to various other qualities needed for an efficient training stage. The framework aims to provide valuable insight into model accuracy, validation loss, computing cost, signal-to-noise ratio improvement, and available resources when using hyperparameter tuning. The framework uses grid search optimization, Bayesian optimization as well as genetic algorithm optimization to determine which performs better, and compare the results between them. Grid search will act as a reference baseline for the performance of the two algorithms. The thesis is split into two parts: Phase One, which implements the system in a sandbox-like manner, essentially acting as a testing platform to assess the implementation compatibility. Phase Two inspects a more real-case scenario more suitable for a 5G physical layer environment. The proposed framework uses modern, widely used orchestration and development tools. These include ResNet, Pytorch, and sklearn.
  • Yliluoma, Joel (2024)
    In this thesis we study how to implement the one-dimensional fast Fourier transform (FFT) as a computer program in such a way that it works fast on inputs of all sizes. First we walk through the mathematical theory behind the continuous and the discrete Fourier transform (DFT), and study the motivation behind them. We explore both the one-dimensional and the multi-dimensional versions of the DFT. We also study the discrete cosine transform (DCT) and explore its differences to the Fourier transform. After that, we explore various known methods for implementing the fast Fourier transform. We focus especially on the Cooley-Tukey algorithm and its different forms in enough detail, that one can understand both how it works and how it was conceived. We also explore Rader’s and Bluestein’s FFT algorithms. After the theory we implement the DFT and the FFTs using the C++ programming language. We also devise and implement a combined algorithm, which seeks to provide the fastest possible transformation by choosing the optimal combination of algorithms in each case. We use C++20, which is the most recent standard version of C++ at the time of writing. We analyze the speed of the implemented methods, comparing them against each others and also compared to a famous FFT library, FFTW. In addition, we analyze the numeric accuracy of the implementations. Then we analyze the accuracy and applicability of the analysis methods and study the shortcomings and possible approaches for improving the implementations. We also present a simple example application of FFT, where the program attempts to identify the vowel sounds present in a voice sample. The purpose of this thesis is to offer the reader a clear example implementation of all the presented transforms and to thoroughly explore their limitations, weaknesses and strengths. For best value, the reader is expected to understand the basics of calculus and the basics of complex numbers. Especially the sum notation, ∑, and Euler’s formula are vital for understanding the mathematical theory. The computer source code is designed in such way that the reader does not need to know the details of the C++20 standard, or indeed even the C++ language, but experience in C programming will help.