# An Ode to Operations Research and the Future

Operations Research (OR) is the most underrated “Artificial Intelligence” field, in my opinion. Although its roots are a bit deeper than that, Dantzig’s Linear Programming and Simplex Method, and von Neumann’s duality principle are the major breakthroughs in late 1940s.

Since then, the field saw great interest in terms of both theory and applications. Focus on OR shifted from battlefield to business problems. It is possible to find many examples especially in production planning, logistics, inventory management and in general logistics areas.

## Non-Standard Operations Research

What always surprised me is the breadth of OR applications. Recently it occurred to me that, in the last several years, I used OR models consistently for problems which were not initially conceived as OR problems.

It makes sense because, contrary to other AI applications, OR is a largely unknown field outside of its practitioners. I don’t think I would know much about it if I didn’t love the field so much thanks to my professors at METU IE.

Here is a brief review of some of the models I contributed to in recent past:

**Learning**schedule generation for exam preparations.**Energy**(electricity-natural gas) consumption planning.- Incentive matching for
**HR**applications. - Portfolio generation for
**hedging**purposes. - Integrated
**supply chain**optimization with staffing and purchasing aspects.

The funny thing about almost all of them is that models were simple (solvable by laptops) and **gains were amazing** because there were either no precedent or the precedent was **natural intelligence** (i.e. people with Excel).

## Is OR actually AI?

**It depends how you classify AI**. If it is about decision making by a machine given a set of context and limitations, then OR is right in the field of AI. See Giapetto example (OR version of **MNIST**) for starters.

**Why OR?**

Even though optimization as a general field is much wider, what OR does is pure genius. It provides a mathematical framework and algorithms to efficiently find the best solutions. That framework can be applied to a vast number of problems.

Most popular of those algorithms are called “solvers”. There are many solvers out there, but currently the best ones (e.g. Gurobi, CPLEX) are commercial (see benchmarks) although there are several open source ones (e.g. HiGHS). Surprisingly, almost none of these solvers use GPU, which is the main firepower of deep learning models.

Some other algorithms are called (meta)heuristics. They can be fine tuned to be more problem specific. But they are less structured than solvers.

## How to implement OR end to end?

You need to start with a problem description and establish that it is an OR problem. Then pass through four stages:

- Problem description to mathematical model.
- Mathematical model to model code (e.g. using Python and PuLP/OR-Tools or GAMS).
- Model code to solvers (e.g. Gurobi or HiGHS)
- Solver output to results analysis

## The Future

Eventually, focus of the “AI community” will shift to other problems to solve and then they will discover OR problems. It had already begun with simple overlaps for instance between Graph Neural Networks and Combinatorial Optimization.

OR needs deterministic inputs to provide optimal solutions. But combined with ML algorithms and other predictive models integrations are a reality. Here is a seminal paper from Prof. Bertsimas.

Finally, I think OR will be “best friends” with **Reinforcement Learning** for online optimization and stochastic programming.