Operations research (OR) is the discipline of using advanced analytical methods—mathematical modeling, statistics, and algorithms—to make better decisions. Its central subject is not a physical system or a natural phenomenon, but the process of choice itself: how to allocate scarce resources, coordinate complex activities, and design policies under uncertainty and constraint. The field is defined less by a specific domain of application than by a general approach: represent a real-world decision problem as a formal model, then use mathematical and computational tools to find, characterize, or approximate the best course of action among a defined set of possibilities.
The stakes of operations research are practical and often large. OR practitioners work on problems where the difference between a good and a poor decision translates directly into money, time, safety, or lives: scheduling airline fleets, positioning emergency services, managing supply chains, designing telecommunication networks, optimizing energy grids, and allocating medical resources. The field's identity is therefore dual. It is a branch of applied mathematics, concerned with the properties of optimization problems and algorithms. It is also an engineering discipline, concerned with building decision-support systems that work in messy, data-limited, human-filled settings. This duality—rigorous theory on one side, pragmatic intervention on the other—has shaped the field's history and its internal divisions.
At its heart, operations research is organized around a single abstract problem: choose values for a set of decision variables to maximize or minimize an objective function, subject to a set of constraints. This formulation is called a mathematical program. The objective might be profit, cost, time, risk, or any measurable quantity. The constraints represent physical limits, budgets, capacities, or policy rules. The decision variables might be continuous (how much of a product to make), integer (how many trucks to buy), or logical (whether to open a facility).
The power of this abstraction is that an enormous range of practical problems can be cast in this form. But the abstraction also creates the field's central intellectual challenge: the gap between what can be formulated and what can be solved. A problem that is easy to write down may be computationally intractable to solve exactly. The history of operations research is largely the history of discovering which classes of mathematical programs have efficient solution methods, which are fundamentally hard, and how to get good-enough answers for the hard ones.
The most fundamental distinction in the field is between problems that are convex and those that are not. In a convex optimization problem, the objective is a convex function (to be minimized) or concave function (to be maximized), and the feasible region is a convex set. Convex problems have a crucial property: any locally optimal solution is also globally optimal. This makes them tractable, and a large body of theory and algorithms exists for them. The simplest and most widely used convex problem is the linear program (LP), where the objective and all constraints are linear functions. Linear programming was the founding problem of operations research and remains its workhorse.
When the problem is not convex—for example, when variables must be integers, or when the objective has multiple local optima—the guarantee of global optimality is lost. These problems are generally much harder. The theory of NP-completeness, developed in the 1970s, formalized this difficulty: for a large class of integer and combinatorial optimization problems, no known algorithm can guarantee an optimal solution in time that grows polynomially with problem size, and it is widely believed that no such algorithm exists. This result did not stop operations researchers from working on these problems; it redirected them. A substantial portion of the field is devoted to developing methods that find provably optimal solutions for problems of practical size despite worst-case intractability, or that find provably good approximate solutions quickly.
The earliest and most enduring methods in operations research are exact algorithms for specific problem classes. These methods do not merely find good solutions; they find the best possible solution and often provide a certificate of optimality.
Linear programming was developed in the late 1940s by George Dantzig, who introduced the simplex method. The simplex method exploits the geometric structure of a linear program: the optimal solution, if one exists, occurs at a vertex of the feasible polyhedron. The algorithm moves from vertex to vertex along edges, improving the objective at each step, until no improving move exists. The simplex method is remarkably efficient in practice, though its worst-case behavior is exponential. A later development, the ellipsoid method (1979), was the first polynomial-time algorithm for linear programming, but it is slow in practice. The interior-point methods developed in the 1980s, most notably by Narendra Karmarkar, provide a different polynomial-time approach that is also competitive in practice. These methods approach the optimum through the interior of the feasible region rather than along its boundary. Today, commercial and open-source solvers use a combination of simplex and interior-point methods, and linear programming is used routinely in industries ranging from transportation to finance.
Integer programming (IP) is the extension of linear programming in which some or all variables are restricted to integer values. This small change makes the problem dramatically harder, but it also makes the model far more expressive, since integer variables can represent discrete choices, logical conditions, and indivisible quantities. The dominant exact method is branch and bound, which systematically partitions the feasible region into subproblems, solves the linear programming relaxation of each (dropping the integrality constraints), and uses the resulting bounds to prune branches that cannot contain the optimum. This is often combined with cutting planes—inequalities that are valid for the integer problem but violated by the fractional relaxation—to tighten the bounds. The combination, called branch and cut, is the basis of modern integer programming solvers. These methods can solve enormous problems in practice, but their performance depends heavily on problem structure, and some instances of modest size remain intractable.
Dynamic programming, developed by Richard Bellman in the 1950s, takes a different approach. It is not a single algorithm but a general principle for problems with sequential or nested structure. The idea is to break a problem into overlapping subproblems, solve each subproblem once, store the result, and combine the results to solve the larger problem. Dynamic programming is exact and often elegant, but it suffers from the curse of dimensionality: the number of states that must be stored grows exponentially with the number of decision variables. It is the method of choice for many problems in inventory control, shortest-path routing, and resource allocation, but it becomes impractical for problems with many interacting decisions.
Network flow problems form a special class of linear programs with a graph structure. The max-flow problem asks how much flow can be sent from a source to a sink through a capacitated network; the min-cost flow problem asks for the cheapest way to send a required amount of flow. These problems have specialized algorithms that are far faster than general linear programming, and they model a wide range of applications: transportation, communication, project scheduling, and assignment. The theory of network flows is one of the most complete and elegant parts of operations research, with strong duality results and polynomial-time algorithms.
Not all decision problems fit the deterministic optimization framework. Many involve uncertainty about future events—demand, prices, breakdowns, arrivals—and decisions must be made before the uncertainty is resolved. This has led to a distinct branch of operations research concerned with stochastic models.
Queueing theory studies systems in which customers arrive, wait in line, and receive service. It originated in the early twentieth century with the work of Agner Krarup Erlang on telephone traffic, and it became a core part of operations research in the 1950s. The central questions are about performance: how long will a customer wait, how long will queues grow, how much capacity is needed to keep waiting times below a threshold? Queueing models are used to design call centers, emergency rooms, toll booths, and computer networks. The field has developed a rich taxonomy of models—distinguished by arrival processes, service time distributions, number of servers, and queue discipline—and a body of exact and approximate results for each.
Inventory theory addresses the classic problem of how much stock to hold. The fundamental trade-off is between the cost of holding inventory and the cost of running out. The earliest formal results date to the early twentieth century, but the field matured in the 1950s with the development of the economic order quantity model and its many extensions. Modern inventory theory handles stochastic demand, multiple products, lead times, and perishable goods, and it connects directly to supply chain management.
Markov decision processes (MDPs) provide a general framework for sequential decisions under uncertainty. An MDP consists of a set of states, a set of actions, transition probabilities between states, and rewards. At each step, the decision maker chooses an action, the system moves to a new state according to the transition probabilities, and a reward is collected. The goal is to find a policy—a rule for choosing actions in each state—that maximizes the expected total reward over time. MDPs were developed in the 1950s and 1960s, and they unify much of stochastic operations research. They are solved by dynamic programming methods, specifically value iteration and policy iteration. The framework has been extended to partially observable settings (POMDPs) and to continuous time, and it is the theoretical foundation for much of modern reinforcement learning.
Simulation is a different response to uncertainty. Rather than solving a model analytically, simulation builds a computational replica of the system and runs it many times to estimate performance. Discrete-event simulation, developed in the 1960s, is the standard tool for complex systems—manufacturing lines, hospitals, airports, logistics networks—that are too detailed for analytical models. Simulation is flexible and can represent almost any level of detail, but it does not produce optimal decisions directly. It answers "what if" questions: given a proposed design or policy, what performance would result? Finding the best design requires combining simulation with search or optimization methods, a subfield known as simulation optimization.
The exact methods described above are not always usable. For many real-world problems—especially those with nonlinearities, many integer variables, or complex constraints—exact methods may take too long or require too much memory. This has motivated a large and active branch of operations research devoted to heuristics: methods that seek good solutions quickly without guaranteeing optimality.
The oldest heuristics are problem-specific rules of thumb, such as greedy algorithms that make the locally best choice at each step. A more systematic approach emerged in the 1980s and 1990s with metaheuristics—general frameworks that guide lower-level heuristics to explore a search space. The most prominent include simulated annealing, which mimics the physical process of cooling to escape local optima; genetic algorithms, which evolve a population of solutions through selection, crossover, and mutation; tabu search, which uses memory to avoid revisiting recent solutions; and ant colony optimization, inspired by the foraging behavior of ants. These methods are not guaranteed to find the optimum, and their performance is often sensitive to parameter settings, but they have been applied successfully to problems in scheduling, routing, facility location, and design.
A more principled approach to hard problems is approximation algorithms, which provide a worst-case guarantee: the algorithm runs in polynomial time and returns a solution whose objective value is within a known factor of the optimum. Approximation algorithms are a theoretical contribution of operations research and computer science, and they provide a rigorous alternative to the empirical performance of metaheuristics.
The most important modern development is the rise of large-scale optimization, driven by the availability of massive computing power and the growth of data. This has led to decomposition methods that break a large problem into smaller, more tractable pieces. Column generation and Lagrangian relaxation are classical techniques for this purpose, and they remain central to solving problems with millions of variables, such as airline crew scheduling and vehicle routing. More recently, robust optimization has emerged as a way to handle uncertainty without probability distributions: instead of assuming a known distribution, it protects against the worst case within a specified uncertainty set. This approach has become influential in finance, energy, and supply chain management.
Operations research is not a single unified method but a collection of approaches that coexist and interact. The most fundamental division is between deterministic and stochastic modeling. Deterministic optimization assumes known parameters and seeks the best decision; stochastic modeling treats parameters as random and seeks policies that perform well on average or with high probability. These two branches have different mathematical foundations—convex analysis and linear algebra on one side, probability theory on the other—and they attract researchers with different training. Yet they are not separate fields. Many real problems require both: a production plan must be optimized under uncertainty about demand, and a queueing system must be designed with cost constraints.
A second division is between exact and heuristic methods. This is not a clean split but a spectrum. Modern integer programming solvers use heuristics to find good solutions early and exact methods to prove optimality later. Many practical projects combine simulation with optimization, using simulation to evaluate candidate solutions and optimization to search for better ones. The choice of method is driven by problem size, structure, and the decision maker's need for a certificate of optimality versus a timely answer.
A third tension is between theory and practice. Operations research has a strong theoretical tradition, concerned with the mathematical properties of models and algorithms. It also has a strong applied tradition, concerned with building systems that work in organizations. These traditions sometimes diverge: theoretical results may not scale to real problems, and practical successes may rely on tricks that lack theoretical justification. The field's professional societies and journals house both traditions, and the most influential work often combines them—a new algorithm that is both theoretically grounded and computationally effective.
The boundaries of operations research have become more porous over time. The rise of machine learning and data science has created both competition and collaboration. Machine learning is concerned with prediction—learning patterns from data—while operations research is concerned with decision—choosing actions under constraints. These are complementary, and the two fields have converged in areas such as prescriptive analytics, which uses predictions to drive decisions, and reinforcement learning, which solves sequential decision problems that are formally equivalent to large Markov decision processes. Many operations research departments now teach both optimization and machine learning, and the most active research areas sit at the intersection.
The field has also expanded its application domains. Early operations research was driven by military logistics and industrial production. Today, it is central to supply chain management, transportation and logistics, healthcare operations, energy systems, telecommunications, and financial engineering. In each domain, the core methods are adapted to the specific structure of the problem, and domain knowledge is as important as mathematical technique.
The professional practice of operations research is organized around modeling—the art of translating a messy real-world problem into a tractable mathematical form. This is not a mechanical process. It requires judgment about which details to include, which objective to optimize, which constraints to enforce, and which uncertainty to represent. A model that is too simple may miss the essence of the problem; a model that is too detailed may be unsolvable. The skill of the operations researcher lies in finding the right level of abstraction, solving the resulting model, and translating the solution back into actionable recommendations. This modeling cycle—formulate, solve, validate, implement—is the enduring core of the discipline, and it is what distinguishes operations research from pure mathematics on one side and from general data analysis on the other.