Skip to content

Instantly share code, notes, and snippets.

@dirkschumacher
Last active February 8, 2022 09:24
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dirkschumacher/c0e498df3dd029de3898d10413e1697c to your computer and use it in GitHub Desktop.
Save dirkschumacher/c0e498df3dd029de3898d10413e1697c to your computer and use it in GitHub Desktop.

Draft: Applied Mixed Integer Linear Programming for Beginners

Format preferences

  • virtual, morning hours Nashville, Tennessee time, as I am based in Berlin, 2 - 3 hours

Language in which the tutorial can be taught

  • English

The title of the tutorial

  • Applied Mixed Integer Linear Programming for Beginners

The broad topic it covers

  • Discrete optimization, operations research

Abstract (250 words max)

Finding the optimal seating plan for you and your coworkers, designing a conference schedule or setting up production facilities: these kind of problems can often be modelled as optimization problems.

It turns out, many real-world optimization problems can be naturally formulated as a special problem class, called a mixed-integer linear program (MILP). Once able to formulate the problem as a MILP, we can use specialized open-source and commercial solvers that have been developed over the past decades to efficiently solve it to optimality.

In this tutorial, we will learn about modelling and solving optimization problems using mixed integer-linear programming. First, we will introduce the theory of MILPs from an applied perspective and review the packages currently available to model and solve these optimization problems. We will then cover modelling techniques using {ompr} to translate a real-world problem into a MILP and after that proceed with interactive case studies, where you will model and solve problems yourself. At the end, you will have solved your first mixed integer linear program and have the foundation to continue learning and apply it to real problems.

Intended audience and prerequisites

  • Beginners with an interest in learning about applied mixed integer linear programming
  • Some mathematical understanding and interest, in particular comfortable working with variables, summations, (in)equalities and functions.
  • A computer with R 4.1 or higher and packages ompr, ompr.roi, ROI.plugin.glpk, dplyr, ggplot2, rmarkdown, knitr installed.

A brief outline of the tutorial

The tutorial starts with an interactive introduction session (about 30 minutes) on mixed integer linear programming. After that (and a short break), there will be 3 hands-on sessions (abount 20 minutes each), where you work through examples and exercises yourself. After each session, we discuss the results, take a break and answer questions.

A brief biography of the instructors

Dirk is an independent research software developer who has worked in various software development and data science roles over the last 10 years. Among other packages, he develops and maintains {ompr}, an R package to formulate mixed integer linear programs. Dirk holds a Master’s degree in Business Information Systems with a focus on operations research (the topic of this tutorial).

If it exists, a link to the tutorial materials and/or webpage

The materials do not exist yet, but will be similiar to the articles on {ompr}: https://dirkschumacher.github.io/ompr/articles/index.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment