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).

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