Many real-world challenges - from routing packages to designing efficient schedules or layouts - are examples of combinatorial optimization problems: problems where we search over a vast space of possible configurations for the best solution.
This research project explores how to solve such problems using genetic algorithms (GAs) enhanced with large language models (LLMs). Students will learn the foundations of recursion, greedy heuristics, and local search, before building up to fully fledged genetic algorithm solvers. Then, students will explore how large language models (LLMs) can assist in solving combinatorial problems by helping generate or modify simple programs that define candidate solutions. Rather than relying on purely random changes, the algorithm can use the language model to suggest more promising variations - blending traditional evolutionary search with the learned patterns and generalization capabilities of modern AI tools.
This approach mirrors simplified versions of techniques used in recent state-of-the-art research on machine-assisted problem solving, where large language models are used to propose small programs that are evaluated and refined through search.
Instructor: Pedro Paredes
Classes are held from 2pm to 4pm Ghana time. If you can't attend class the slides from the class as well as a video recording of the class (available only to enrolled students) will be provided.
Note: Schedule is subject to change!
Date | Topic | Notes | Video |
---|---|---|---|
July 14 | Project Overview | Slides | Video |
July 16 | Python Programming Review I | Slides | Video |
July 17 | Python Programming Review II | Slides | Video |
July 19 | Greedy Heuristics and Hill Climbing | Slides | Video |
July 21 | Introduction to Genetic Algorithms | Slides | Video |
July 23 | Implementing a Genetic Algorithm in Python | Slides | Video |
July 24 | Analyzing and Plotting Results | Slides | Video |
July 25 | Problem Focus: Capacitated Autonomous Robot Routing | Slides | Video |
July 28 | Combining LLMs and GAs | No Slides | Video |
July 30 | Project Summary and Methodology | Slides | Video |
August 1 | Future Steps | Slides | Video |