Definition

Linear Programming (LP) is the optimization of a linear objective function subject to a set of linear equality and inequality constraints. The general form of an LP problem is:

Primal Problem:

subject to:

where:

  • is the decision variable,
  • is the objective coefficient vector,
  • is the constraint matrix,
  • is the constraint bounds.

Dual Problem

Every LP problem has a corresponding dual problem. The dual of the primal maximization problem is a minimization problem, and vice versa.

Dual Problem:

subject to:

where:

  • is the dual variable.

Strong Duality:

If the primal problem has an optimal solution, then the dual problem also has an optimal solution, and their objective values are equal:


Methods for Solving LP

1. Simplex Method

  • Approach: Starts at a vertex (corner point) of the feasible region and iteratively moves to an adjacent vertex along an edge, improving the objective value at each step.
  • Key Features:
    • Works on the edges of the polytope defined by constraints.
    • Efficient in practice for most problems, though its worst-case complexity is exponential.
  • Applications:
    • Industrial optimization (e.g., resource allocation, scheduling).
    • Transportation problems.

2. Karmarkar’s Algorithm (Interior-Point Method)

  • Approach: Operates within the interior of the feasible region using gradients and calculus, iteratively moving toward the optimal solution.
  • Key Features:
    • Polynomial-time complexity in the worst case.
    • More suited for large-scale problems compared to the simplex method.
  • Applications:
    • Optimization in large-scale data systems (e.g., network flow optimization, machine learning).

Key Concepts

Feasible Region:

The set of points satisfying the constraints and . This region is a convex polytope.

Optimal Solution:

  • Lies at a vertex of the feasible region for bounded problems (simplex exploits this property).
  • The dual solution can also provide insight into the sensitivity of the primal solution.

Duality:

  • Solving the primal automatically solves the dual.
  • Provides bounds on the optimal value and ensures numerical stability in computations.

Example

Primal Problem:

subject to:

Dual Problem:

subject to:

Solution:

Using the simplex method, the optimal solution for the primal problem is:

For the dual problem:

Strong duality confirms the solutions are consistent.