Heuristic algorithms (2024/25)

Schedule and classroom


The lessons take place

  • on Thursday, from 14.30 to 16.30, in classroom 503 (Centro Universitario)
  • on Friday, from 14.30 to 16.30, in classroom 503 (Centro Universitario)

Exam


The exam is written, usually composed of five parts:

  1. combinatorial optimization problems: ground sets, objective function and feasibility
  2. performance evaluation: quality and time, a priori and a posteriori
  3. constructive heuristics and metaheuristics
  4. exchange heuristics and metaheuristics
  5. recombination heuristics and metaheuristics
that include theoretical questions and numerical exercises.

Lessons

The videorecordings of the lessons are available at the Ariel web site of the course.

Lecture notes in English are available. The students are welcome to report mistakes and obscurities.

Additional lecture notes for the Italian version of the course have been provided by another former student.

Lesson 1 (26th September 2024)

Introduction: basics and classification of heuristic algorithms

Lesson 2 (27th September 2024)

Combinatorial Optimization: problems on sets, logical functions, matrices and graphs

Lesson 3 (3rd October 2024)

A priori evaluation of algorithm efficiency: parameterized complexity and average-case complexity

Lesson 4 (4th October 2024)

A priori evaluation of algorithm effectiveness: deterministic and randomized approximation

Lesson 5 (10th October 2024)

A posteriori evaluation of heuristic algorithms (1)

Lesson 6 (11th October 2024)

A posteriori evaluation of heuristic algorithms (2)

Lesson 7 (17th October 2024)

Constructive heuristics: basic definitions and exact algorithms

Lesson 8 (18th October 2024)

Constructive heuristics: nonexact algorithms

Lesson 9 (24th October 2024)

Constructive heuristics: extensions of the basic scheme

Lesson 10 (25th October 2024)

Laboratory on constructive and destructive heuristics

Lesson 11 (31st October 2024)

Constructive metaheuristics: Tabu Greedy, GRASP and Ant System

Lessons 12 (7th November 2024)

Laboratory on constructive metaheuristics

Lesson 13 (8th November 2024)

Exchange heuristics: neighbourhood definition

Lessons 14 (14th November 2024)

Exchange heuristics: exploration complexity

Lesson 15 (15th November 2024)

Very Large Neighbourhood Search

Lesson 16 (21st November 2024)

Laboratory on exchange heuristics

Lesson 17 (22nd November 2024)

Exchange metaheuristics: Multi-start, Iterated Local Search and Variable Neighbourhood Search

Lesson 18 (28th November 2024)

Exchange metaheuristics: Variable Neighbourhood Descent and Dynamic Local Search

Lesson 19 (29th November 2024)

Exchange metaheuristics: Simulated Annealing and Tabu Search

Lesson 20 (5th December 2024)

Laboratory on exchange metaheuristics

Lesson 21 (6th December 2024)

Recombination metaheuristics: Scatter search and Path Relinking

Lessons 22 (12th December 2024)

Recombination metaheuristics: genetic algorithms (1)

Lesson 23 (13th December 2024)

Recombination metaheuristics: genetic algorithms (2)

Lesson 24 (19th December 2024)

Laboratory on recombination metaheuristics