Linear Programming

Solve linear optimization problems

Linear programming (LP) is minimizing or maximizing a linear objective function subject to bounds, linear equality, and inequality constraints. Example problems include blending in process industries, production planning in manufacturing, cash flow matching in finance, and planning in energy and transportation.

Linear programming is the mathematical problem of finding a vector x that minimizes the function:

\[\min_{x} \left\{f^{\mathsf{T}}x\right\}\]

Subject to the constraints:

\[\begin{eqnarray}Ax \leq b & \quad & \text{(inequality constraint)} \\A_{eq}x = b_{eq} & \quad & \text{(equality constraint)} \\lb \leq x \leq ub & \quad & \text{(bound constraint)}\end{eqnarray}\]

You can use MATLAB® to implement the following commonly used algorithms to solve linear optimization problems:

  • Interior point: Uses a primal-dual predictor-corrector algorithm and is especially useful for large-scale linear programs that have structure or can be defined using sparse matrices.
  • Simplex: Uses a systematic procedure for generating and testing candidate vertex solutions to a linear program. The simplex algorithm and the related dual-simplex algorithm are the most widely used algorithms for linear programming.

Algorithms for some special cases of linear programs where the constraints have a network structure are typically faster than the general-purpose interior-point and simplex algorithms. Special cases include:

For more information on algorithms and linear programming, see Optimization Toolbox™.

See also: Optimization Toolbox, Global Optimization Toolbox, integer programming, quadratic programming, nonlinear programming, multiobjective optimization, prescriptive analytics, Convex Optimization

Optimization Techniques Training Course

In this course you’ll learn applied optimization techniques in the MATLAB® environment, focusing on using Optimization Toolbox™ and Global Optimization Toolbox.