In this Project, I solve a classic 01-Knapsack Problem using Genetic Algorithms, and I break down the different types of crossovers, mutations, and fitnesses that can be used for something like this! My final report cross references my findings from 3 different Genetic Algorithms I made, to a result achieved from a Dynapic Programming Algorithm, and I discuss their differences and similarities in my report.