97 lines
4.8 KiB
Org Mode
97 lines
4.8 KiB
Org Mode
---
|
|
title: "Operations Research and Optimisation: where to start?"
|
|
date: 2020-05-26
|
|
---
|
|
|
|
[[https://en.wikipedia.org/wiki/Operations_research][Operations research]] (OR) is a vast area comprising a lot of theory,
|
|
different branches of mathematics, and too many applications to
|
|
count. In this post, I will try to explain why I find it so
|
|
fascinating, but also why it can be a little disconcerting to explore
|
|
at first. Then I will try to ease the newcomer's path in this rich
|
|
area, by suggesting a very rough "map" of the field and a few
|
|
references to get started.
|
|
|
|
Keep in mind that although I studied it during my graduate studies,
|
|
this is not my primary area of expertise (I'm a data scientist by
|
|
trade), and I definitely don't pretend to know everything in OR. This
|
|
is a field too vast for any single person to understand in its
|
|
entirety, and I talk mostly from a "amateur mathematician and computer
|
|
scientist" standpoint.
|
|
|
|
* Why is it hard to approach?
|
|
|
|
Operations research can be difficult to approach, since there are many
|
|
references and subfields. Compared to machine learning for instance,
|
|
OR has a slightly longer history (going back to the 17th century, for
|
|
example with [[https://en.wikipedia.org/wiki/Gaspard_Monge][Monge]] and the [[https://en.wikipedia.org/wiki/Transportation_theory_(mathematics)][optimal transport
|
|
problem]])[fn:optimaltransport]. This means that good textbooks and such
|
|
have existed for a long time, but also that there will be plenty of
|
|
material to choose from.
|
|
|
|
[fn:optimaltransport] {-} For a very nice introduction (in French) to
|
|
optimal transport, see these blog posts by [[https://twitter.com/gabrielpeyre][Gabriel Peyré]], on the CNRS
|
|
maths blog: [[https://images.math.cnrs.fr/Le-transport-optimal-numerique-et-ses-applications-Partie-1.html][Part 1]] and [[https://images.math.cnrs.fr/Le-transport-optimal-numerique-et-ses-applications-Partie-2.html][Part 2]]. See also the resources on
|
|
[[https://optimaltransport.github.io/][optimaltransport.github.io]] (in English).
|
|
|
|
|
|
Moreover, OR is very close to applications. Sometimes methods may vary
|
|
a lot in their presentation depending on whether they're applied to
|
|
train tracks, sudoku, or travelling salesmen. In practice, the
|
|
terminology and notations are not the same everywhere. This is
|
|
disconcerting if you are used to "pure" mathematics, where notations
|
|
evolved over a long time and is pretty much standardised for many
|
|
areas. In contrast, if you're used to the statistics literature with
|
|
its [[https://lingpipe-blog.com/2009/10/13/whats-wrong-with-probability-notation/][strange notations]], you will find that OR is actually very well
|
|
formalized.
|
|
|
|
There are many subfields of operations research, including all kinds
|
|
of optimization (constrained and unconstrained), game theory, dynamic
|
|
programming, stochastic processes, etc.
|
|
|
|
* Where to start
|
|
|
|
For an overall introduction, I recommend cite:wentzel1988_operat. It
|
|
is an old book, published by Mir Publications, a Soviet publisher
|
|
which published many excellent scientific textbooks[fn:mir]. It is out
|
|
of print, but it is available [[https://archive.org/details/WentzelOperationsResearchMir1983][on Archive.org]]. The book is quite old,
|
|
but everything presented is still extremely relevant today. It
|
|
requires absolutely no background, and covers everything: a general
|
|
introduction to the field, linear programming, dynamic programming,
|
|
Markov processes and queues, Monte Carlo methods, and game
|
|
theory. Even if you already know some of these topics, the
|
|
presentations is so clear that it is a pleasure to read! (In
|
|
particular, it is one of the best presentations of dynamic programming
|
|
that I have ever read. The explanation of the simplex algorithm is
|
|
also excellent.)
|
|
|
|
[fn:mir] {-} Mir also published [[https://mirtitles.org/2011/06/03/physics-for-everyone/][/Physics for Everyone/]] by Lev Landau
|
|
and Alexander Kitaigorodsky, a three-volume introduction to physics
|
|
that is really accessible. Together with Feynman's famous [[https://www.feynmanlectures.caltech.edu/][lectures]], I
|
|
read them (in French) when I was a kid, and it was the best
|
|
introduction I could possibly have to the subject.
|
|
|
|
|
|
- why it may be more difficult to approach than other, more recent
|
|
areas like ML and DL
|
|
- slightly longer history
|
|
- always very close to applications: somehow more "messy" in its
|
|
notations, vocabulary, standard references, etc, as other "purer"
|
|
fields of maths (similar to stats in this regard)
|
|
- often approached from a applied point of view means that many very
|
|
different concepts are often mixed together
|
|
- why it is interesting and you should pursue it anyway
|
|
- history of the field
|
|
- examples of applications
|
|
- theory perspective, rigorous field
|
|
- different subfields
|
|
- optimisation: constrained and unconstrained
|
|
- game theory
|
|
- dynamic programming
|
|
- stochastic processes
|
|
- simulation
|
|
- how to learn and practice
|
|
- references
|
|
- courses
|
|
- computational assets
|
|
|
|
* References
|