In this project, we attempt to solve a modified version of the Multi-Objective Quadratic Multiple Knapsack Problem using an Mu plus Lambda Evolutionary Algorithm strategy. The goal was to optimize 3 objectives:
- Maximize the total profit of all the knapsacks
- Minimize the total weight of the items in the knapsacks
- Maximize the minimum profit of all the knapsacks
More information on the approach as well as a more formal problem definition can be found in our report (Evolutionary_QKP_Solver_Analysis.pdf). The Python notebook QKP Evolutionary Algorithm.pynb contains all the code necessary to run and test the evolutionary algorithm developed. The R Notebook ga_statistics.Rmd contains the scripts used for the statistical analysis of our algorithm performance as well as the scripts used to generate the plots in our report.