Programming

Comparison of Optimisation Methods for The Knapsack Problem: Steepest Ascent Hill Climbing vs. Simulated Annealing

I have published my article “Comparison of Optimisation Methods for The Knapsack Problem: Steepest Ascent Hill Climbing vs. Simulated Annealing” on ResearchGate.

The paper explores the application of optimization algorithms, specifically Hill Climbing and Simulated Annealing, to solve the knapsack problem. The knapsack problem is a well-known combinatorial optimization problem with various real-world applications. The aim is to select a subset of items with maximum value while adhering to a weight constraint. The paper provides a comparative analysis of the two algorithms, evaluates their performance based on metrics such as best solution, average solution, and iterations required to converge, and identifies the optimal solution. Additionally, it includes a literature review discussing the application areas of the knapsack problem and concludes with the limitations of the chosen search methods and potential avenues for further development.

Harnessing the Power of Shell Code

Linux shell scripting is a powerful tool that allows users to automate tasks, execute commands, and create complex workflows using simple scripts. Shell scripts are written in a shell programming language, such as Bash (Bourne Again Shell), which is the most common shell used in Linux distributions. This article provides...

Exploring AI Optimizers: Enhancing Model Performance and Efficiency

Introduction Artificial Intelligence (AI) optimizers play a crucial role in training and fine-tuning machine learning models. These optimization algorithms are designed to improve model performance, enhance convergence, and efficiently use computational resources. In this article, we will delve into the world of AI optimizers, exploring their importance, popular types, and...

Optimality vs Completeness: Striking a Balance in Algorithm Design

In computer science, algorithms are essential tools for solving problems efficiently. When designing algorithms, two key concepts to consider are optimality and complexity. Both concepts are related to the efficiency of an algorithm, but they approach efficiency from different perspectives. Optimality refers to the best possible solution to a problem,...

Building A Power Supply for My DIY CNC Machine

CNC, or Computer Numerical Control, is a revolutionary technology that has transformed the manufacturing industry. CNC machines are used in a wide range of applications, from precision machining to woodworking and metalworking, and have completely changed the way that many products are manufactured. CNC machines are essentially automated tools that...

Vim vs NeoVim

Vim and NeoVim are both powerful and popular text editors that are widely used in the software development community. Both editors are based on the original Vi editor, which was developed in the 1970s and is still widely used today. Vim is a free and open-source text editor that is...