Mathematical programming
What Is Mathematical Programming?
Mathematical programming is a branch of applied mathematics and operations research concerned with finding the optimal value of an objective function subject to a set of constraints, where both the objective and the constraints are expressed as mathematical relations among decision variables. The general problem asks: given a feasible set defined by equality and inequality constraints, which point in that set minimizes or maximizes the objective? The field encompasses linear programming, integer programming, nonlinear programming, and stochastic programming, each distinguished by the structure of the objective function, the nature of the constraints, and whether variables are required to take discrete values.
The discipline traces its foundations to George Dantzig's development of the simplex method for linear programming in 1947 and to the Kuhn-Tucker conditions for nonlinear optimization published in 1951. Since then it has grown into a core tool in engineering design, logistics, finance, and machine learning. The MIT textbook on linear and nonlinear programming surveys the theoretical and algorithmic landscape from basic feasibility theory through interior-point methods for large-scale problems.
Linear Programming
Linear programming addresses problems in which both the objective function and all constraints are linear in the decision variables. The feasible region is a convex polyhedron, and the optimal solution, when it exists, lies at a vertex of that polyhedron. The simplex method explores vertices systematically, while interior-point methods traverse the interior of the feasible region along paths that converge to the optimum. Linear programming is used extensively in production planning, network flow optimization, transportation routing, and resource allocation. Problems with hundreds of thousands of variables and constraints are solved routinely with commercial solvers, making linear programming one of the most practically deployed classes of mathematical programming.
Integer and Combinatorial Programming
Integer programming requires some or all decision variables to take integer values, which captures discrete choices such as whether to open a facility, assign a worker to a shift, or include an item in a set. The feasible region is no longer convex, and the problem becomes combinatorially hard in the general case. Mixed-integer linear programming (MILP) combines continuous and integer variables with linear objectives and constraints. Branch-and-bound algorithms, cutting-plane methods, and their combination in branch-and-cut are the dominant solution approaches. The INFORMS Management Science paper by Glover on integer programming formulations introduced linearization techniques that remain widely used. Applications span scheduling, vehicle routing, portfolio selection, and the design of communication networks.
Nonlinear and Stochastic Programming
Nonlinear programming relaxes the linearity restriction, permitting quadratic, convex, or general smooth objective functions and constraints. Convex programs, where the objective is convex and the feasible set is a convex set, are solvable to global optimality with gradient-based methods such as the sequential quadratic programming (SQP) algorithm or interior-point methods. Non-convex programs may have many local optima, requiring global optimization strategies or problem-specific structure to certify a global solution. The IEEE Xplore survey on mathematical programming for multi-vehicle motion planning illustrates how mixed-integer and nonlinear formulations are applied to real-time robotics and autonomous vehicle problems. Stochastic programming extends the framework to problems where some parameters are uncertain, incorporating probability distributions and solving for policies that perform well across scenarios.
Applications
Mathematical programming has applications in a wide range of disciplines, including:
- Supply chain and logistics optimization, including vehicle routing and warehouse layout
- Power systems, where unit commitment and economic dispatch are solved as mixed-integer programs
- Machine learning, where training neural networks and support vector machines reduces to optimization problems
- Structural design, where topology optimization finds minimum-weight structures satisfying stress constraints
- Finance, where portfolio optimization and risk management rely on quadratic and stochastic programming