46

1st place - Canadian Engineering Competition 2023

Resource allocation optimization using linear programming for solving real-life scenarios.

The Canadian Engineering Competition is the final round of competition in the Engineering Competition series. It is a national competition that brings together the top engineering students from across Canada to compete in eight different competitions. The competition is held annually in March and is hosted by a different university each year. Participants represent their university in teams of four and compete in one of the eight categories: Junior Design, Senior Design, Consulting, Debate, Innovative Design, Programming, Re-Engineering, and Parliamentary Debate. In 2023, the competition was hosted by the University of Waterloo.

The representatives of each province are decided by the result of the previous rounds, which include at the school level and at the provincial level.

Our team won the 1st place in the 2023 edition of the Canadian Engineering Competition in the programming category. We participated in an 8 hour programming competition as a team of 4 students from McGill University. Teams were tasked with coming up with an algorithm for resource allocation given 5 different set of constraints. Our solutions leverages linear programming to define the different constraints and optimize resource allocations. The solution was implemented in Python using the PuLP library for linear programming, and a frontend was implemented using Angular to visualize the results.

For more information on the competition case, visit the official Competition Case document on GitHub.