Linear Programming

Definition
Linear Programming (LP) finds the best outcome for a linear objective function subject to linear constraints. It's widely used for resource allocation and scheduling problems. S, consider it as solving a system that asks "maximize profit" with limited resources, where everything scales linearly. LP differs from non-linear optimization or integer programming because of its linearity and the availability of powerful polynomial-time solvers; if variables must be integers, the problem becomes harder (integer programming).
Linear Programming

How does it work?

Linear Programming methods search a space of candidate solutions. They typically define neighbor moves or gradients, evaluate objective functions, and use schedules or memory to escape local optima or to converge reliably.

Examples

  • Supply chain optimisation — Minimise transportation and production cost with LP constraints for capacities.
  • Diet optimisation — Choose food mixes to meet nutrition targets at minimum cost using LP formulations.
  • Blending problems — Compute optimal blends of components (oil, chemicals) respecting quality constraints.

Problems

  • Real-world constraints often aren't actually linear, requiring approximation
  • Scalability issues with very large numbers of variables/constraints
  • Degenerate solutions causing cycling in the simplex method
  • Numerical precision issues with ill-conditioned constraint matrices
  • Integer requirements turning it into much harder integer programming
  1. Wikipedia: Linear programming