Portfolio (under construction)
Genetic Algorithm in C
In my project during my Biomedical Engineering studies at McMaster University, I focused on creating a genetic algorithm to minimize the Ackley function, known for its challenging landscape with numerous local minima. My primary objective was to effectively navigate this complexity to locate the global minimum.
In this project, I handled the implementation of the algorithm, setting decision variables, defining bounds, and developing essential functions such as random number generation, population generation, crossover, and mutation. My analysis of the results highlighted the relationship between population size, generation count, and computational time, demonstrating that larger populations and extended generations improved fitness values, albeit with increased computational demands.
A significant aspect of my work involved enhancing the algorithm's performance. I incorporated techniques like elitism to preserve superior solutions over generations and introduced adaptive mutation and crossover rates to maintain population diversity and avoid premature convergence. The effectiveness of these methods was evident in the various plots and contour graphs I generated.
Furthermore, I was responsible for the Makefile creation for compiling the C code and utilized Python for result visualization. My analysis of computational efficiency identified key areas for optimization, particularly within the main function where a majority of the computation time was concentrated. This project not only sharpened my technical skills but also enhanced my analytical abilities in solving complex optimization problems
Minesweeper in C
Co-designed by the world-renowned architect James Smith, our Bridgewater Joy residences offer top views of the nearby lake Michigan. Perfect for a small family, a professional couple, or anyone looking to set up a home office.