NOPT059 Large-scale optimization: Exact methods

The course is taught bi-yearly (in odd-numbered years), alternating with the course NOPT061 Large-scale optimization: Metaheuristics.

The course will be scheduled in the beginning of the semester (probably during the first week). If you are interested, please email me your time constraints.

About this course

The aim of course is to introduce the main principles of various exact optimization methods based on linear programming and combinatorial optimization with emphasis on large-scale instances. Moreover, during the accompanying tutorial you will gain experience in applying these methods in practice.

We expect you to be somewhat familiar with linear programming. Although certainly not necessary, a recommended prerequisite is the course NOPT048 Linear programming and combinatorial optimization.

Resources

Tentative schedule

Lecture 0 - Linear programming basics

Linear programs

Simplex method

Duality of linear programming

Resources: any textbook on linear programming (e.g. [matousek]), [wolsey] 2.5-6, for the simplex method: video tutorial

Lecture 1 - Introduction. Modeling using Integer programming

Introduction

Modeling using Integer programming

Resources: [wolsey] 1.1-1.7

Lecture 2 - Branch and bound

Optimality and relaxation

Branch and bound

LP-based B&B

Resources: [wolsey] 2.1-2.3, 7.1-4

Lecture 3 - Cutting plane algorithms, Gomory’s algorithm

Lazy constraint generation

Valid inequalities

Cutting planes

Resources: [wolsey] 8.1-8.3, 8.6

Lecture 4 - Strong valid inequalities

Strong valid inequalities

0-1 Knapsack

Branch-and-cut

Resources: [wolsey] 9.1-3, 9.5-6

Lecture 5 - Lagrangian relaxation

Lagrangian relaxation

Example: Resource-constrained shortest path

Resources: [wolsey] 10.1, [lagrange] 12.1

Lecture 6 - Lagrangian duality

Lagrangian dual

Example: Traveling Salesperson Problem

Subgradient method

Resources: [wolsey] 10.2-3, [lagrange] 12.2-3

Lecture 7 - Column generation

Motivation:

Example: Cutting Stock

Column generation:

Example: Vertex Coloring

Branch and price:

Resources: [wolsey] 11.1, 11.3

Lecture 8 - Dantzig-Wolfe decomposition

Motivation:

Dantzig-Wolfe reformulation

Block-Angular matrices

Example: Resource Constrained Shortest Path

Resources: [wolsey] 11.2, 11.5

Lecture 9 - Branch-price-and-cut

Motivation

Branch-price-and-cut

Examples:

Resources: [wolsey] 11.4, 11.6-7

Lecture 10 - Selected applications

TBA (Branch-price-and-cut for Multi-Agent Pathfinding?)

Resources: Branch-and-cut-and-price for multi-agent path finding

Exam requirements

The exam is oral with written preparation. Requirements for the exam correspond to the syllabus of the course in the extent that has been covered in the lecture. Obtaining the credit from the tutorial is a necessary requirement for taking the exam.

Frequently asked questions (FAQ)