Parisian Master of Research in Computer Science
Master Parisien de Recherche en Informatique (MPRI)

Solving Optimization Problems with Search Heuristics

Update for 2020/21:

The course pauses for the academic year 2020/21. We will resume the course in 2021. Students interested in the topic can contact the teachers to learn more about randomized optimization heuristics. We also offer internships on the topic.

Responsible of the course:

Teachers for 2019-20:


This course will be held in English. Exam answers and project reports can be answered in English or French.

Objectives of the course:

The current MPRI offer contains courses on different algorithmic problems, for which solutions are designed that are tailored to the problem at hand. These solutions are often exact, and their optimization times ideally (close to being) best possible. In this course we want to give a complementary view on algorithmics in computer science. We present general purpose heuristics which are widely applied to solve real-world optimization challenges, such as local search algorithms and randomizes search heuristics like Simulated Annealing and evolutionary algorithms. Our course focuses on the theoretical aspects of this area. Runtime bounds, complexity statements, and approximation ratios are rigorously proven in the course.


Some background on algorithms and probability theory (e.g., expected value, binomial distribution).

Outline of the course:

The course starts with a summary of solution techniques and problems that the students might have seen in their studies, for example local search algorithms for facility location. Then we introduce formally a few different popular heuristic approaches, such as random sampling, local search, simulated annealing, genetic algorithms. Theoretical background from both deterministic and randomized algorithm analysis will be introduced. Students will see how to apply them to show lower bounds and upper bounds on the performance of the different heuristics. Finally, we given an illustrative example, highlighting how to use insights from this course to design new efficient problem solvers.

Course Material

For the first part of the lecture, a slide deck and relevant papers will be communicated by e-mail after each lecture. For the second part of the lecture, relevant papers will be either listed here or send around by e-mail.

The lecture itself will be mostly on the black board, the slide decks are not guaranteed to cover all content discussed in the course.

In-class exercises will help students (and the teachers ;)) identify topics that may require more discussion.

For the first part of the lecture, you can find some references here:

Lectures (Tentative Schedule)

4.12.2019 [Carola] Introduction to heuristic search, motivation, applications, the role of mathematical investigations and a fundamental “theory dilemma”. Discussion of the course project.

11.12.2019 [Carola] Analysis of iterative optimization heuristics: performance measures, tools and techniques, hot topics, algorithm-specific performance bounds

18.12.2019 [Carola] The parameter selection problem: offline vs. online algorithm configuration

8.1.2020 [Carola] Black-box complexity: lower bounds for selected classes of iterative optimization heuristics

15.1.2020 [Christoph] Maximum leafs Spanning Tree. Local search : 10-approximation, Greedy: 3-approximation.

22.1.2020 [Christoph] degree constrained minimum spanning tree, Williamson, Shmoys: The Design of Approximation Algorithms page 49, section 2.6 then page 243, section 9.3. See also the original article.

29.1.2020 [Christoph] local search for k-median and uncapacitated facility location. en français: notes 1, in english simpler proof by Gupta and Tangwongsan'2008

5.2.2020 (no lecture, deadline for submitting the documentation of the course project/homework)

12.2.2020 [Christoph] Schöning’s randomized local search for 3-SAT, and other algorithms for STAT. section 4, Daniel Spielman's notes on Uwe Schoening's algorithm, Notes en français

19.2.2020 (no lecture)

4.3.2020 exam

Grading and Homework

There will be one extended homework and a final written exam. Final grading will combine these two grades.

Internships (“Stages”)

Internships, also in collaboration with international colleagues, will be proposed during the lectures. Students interested in an internship are invited to contact the instructors for more information. We will be happy to share and discuss potential internship projects

Universités partenaires Université Paris-Diderot
Université Paris-Saclay
ENS Cachan École polytechnique Télécom ParisTech
Établissements associés Université Pierre-et-Marie-Curie CNRS INRIA CEA