15.3 Operations Research: Linear Programming & Transportation/Assignment

Key Takeaways

  • The Fundamental Theorem of Linear Programming guarantees that if an optimal solution exists, at least one corner point of the convex feasible region is optimal
  • Simplex iterations identify the entering variable via the most positive C_j - Z_j in maximization and select the leaving variable via the minimum positive ratio test
  • The dual of a maximization LPP with <= constraints is a minimization LPP with >= constraints; the optimal dual variables represent the economic shadow prices of the primal resources
  • A transportation problem with m origins and n destinations has an initial basic feasible solution with exactly m + n - 1 non-degenerate independent allocated cells
  • The Hungarian algorithm solves an n x n assignment problem in polynomial time by operating on the reduced cost matrix
Last updated: August 2026

Operations Research: Linear Programming & Transportation/Assignment

Optimization is central to modern industrial management. In Coal India's multi-subsidiary logistics networks, Operations Research (OR) models dictate coal blending proportions, fleet allocation from open-cast pits to washeries, railway siding dispatch schedules, and overhaul worker assignments.


1. Linear Programming Problem (LPP) Formulation & Geometry

General Mathematical Model

Maximize / Minimize Z=j=1ncjxj=cTx\text{Maximize / Minimize } Z = \sum_{j=1}^n c_j x_j = \mathbf{c}^T \mathbf{x} Subject to: j=1naijxj(,=,)bi,i=1,2,,m\text{Subject to: } \sum_{j=1}^n a_{ij} x_j (\le, =, \ge) b_i, \quad i = 1, 2, \dots, m and Non-negativity: xj0,j=1,2,,n\text{and Non-negativity: } x_j \ge 0, \quad j = 1, 2, \dots, n

Geometric Characteristics and Corner Point Theorem

  1. Convex Set: A region $S$ is convex if for any two points $\mathbf{x}_1, \mathbf{x}_2 \in S$, the entire line segment connecting them $\lambda \mathbf{x}_1 + (1 - \lambda)\mathbf{x}_2 \in S$ for all $\lambda \in [0, 1]$.
  2. Convex Feasible Region: The intersection of linear half-spaces forms a convex polygon (2D) or convex polyhedron ($n$D).
  3. Extreme Point (Corner Point) Theorem: The objective function achieves its optimal value (maximum or minimum) at one of the extreme (corner) points of the convex feasible region.
  x2 ^
     |
     |    Binding Constraint 2
     |\           Optimal Vertex (x1*, x2*)
     | \______       *
     |  \     \____  |\  Iso-profit line: Z = c1*x1 + c2*x2
     |   \ Feasible\ | \
     |    \ Region  \|  \
     |     \         |   \
   0 +------\--------+----\-----> x1
            Binding Constraint 1

Classification of LPP Solutions

Solution CategoryGraphical BehaviorAlgebraic Condition
Unique OptimalObjective line touches the feasible region at a single distinct corner vertex.Single basic feasible solution satisfies optimality criterion.
Multiple / Alternate OptimalObjective line is parallel to a binding constraint edge; touches an entire boundary segment.$C_j - Z_j = 0$ for a non-basic variable in the optimal simplex tableau.
Unbounded SolutionThe feasible region is open/unbounded in the direction of optimization, allowing $Z \to \infty$.In simplex, all substitution rates $a_{ir} \le 0$ in the key column (no valid leaving variable).
Infeasible SolutionNo point satisfies all constraints simultaneously (feasible region is empty, $\emptyset$).Simplex terminates with one or more artificial variables remaining in the basis at a non-zero level.
Degenerate SolutionThree or more constraint lines intersect at the same 2D vertex ($> m$ hyperplanes in $n$D).A tie occurs in the minimum ratio test; one or more basic variables become zero in the next tableau.
Redundant ConstraintA constraint whose removal does not alter the geometry of the feasible region.Does not form any boundary of the active feasible region.

2. Simplex Method Fundamentals

Standard Form Conversion

To solve via Simplex, constraints must be converted into equalities with non-negative right-hand sides ($b_i \ge 0$):

  • $\le$ Constraint: Add a Slack variable $s_i \ge 0$ (cost in objective $= 0$). aijxj+si=bi\sum a_{ij} x_j + s_i = b_i
  • $\ge$ Constraint: Subtract a Surplus variable $e_i \ge 0$ (cost $= 0$) and add an Artificial variable $A_i \ge 0$ (penalty cost in objective $= -M$ for Maximize, $+M$ for Minimize). aijxjei+Ai=bi\sum a_{ij} x_j - e_i + A_i = b_i
  • $=$ Constraint: Add an Artificial variable $A_i \ge 0$. aijxj+Ai=bi\sum a_{ij} x_j + A_i = b_i

Basic Definitions in Simplex

For a system of $m$ linear equations with $n$ variables ($n > m$):

  • Basic Solution: Set $(n - m)$ non-basic variables to 0 and solve for the remaining $m$ basic variables.
  • Basic Feasible Solution (BFS): A basic solution where all basic variables are non-negative ($x_{Bi} \ge 0$).
  • Maximum possible basic solutions: $\binom{n}{m} = \frac{n!}{m!(n - m)!}$.

Step-by-Step Simplex Iteration Mechanics

                     +------------------------------+
                     | Formulate Standard Tableau   |
                     +------------------------------+
                                    |
                                    v
                     +------------------------------+
                     | Compute Net Evaluations      |
                     |    Delta_j = C_j - Z_j       |
                     +------------------------------+
                                    |
                     +--------------+--------------+
                     |                             |
              All Delta_j <= 0?             Any Delta_j > 0?
                     |                             |
                     v                             v
            +-----------------+           +-------------------+
            | OPTIMALITY      |           | KEY COLUMN        |
            | REACHED         |           | Enter Max Delta_j |
            +-----------------+           +-------------------+
                                                   |
                                                   v
                                          +-------------------+
                                          | KEY ROW           |
                                          | Min Positive Ratio|
                                          | theta = b_i / a_ir|
                                          +-------------------+
                                                   |
                                                   v
                                          +-------------------+
                                          | PIVOT OPERATION   |
                                          | Gauss-Jordan Row  |
                                          | Transformations   |
                                          +-------------------+
                                                   |
                                                   + (Loop back)
  1. Net Evaluation (Index) Row $\Delta_j$: Δj=CjZj=Cji=1mcBiaij\Delta_j = C_j - Z_j = C_j - \sum_{i=1}^m c_{Bi} a_{ij}
  2. Optimality Criterion (for Maximization):
    • If all $\Delta_j = C_j - Z_j \le 0$, the current solution is optimal.
  3. Entering Variable (Key Column $r$): Select variable with max(CjZj>0)\text{Select variable with } \max(C_j - Z_j > 0)
  4. Leaving Variable (Key Row $k$ - Minimum Positive Ratio Test): θ=mini{biair    air>0}\theta = \min_{i} \left\{ \frac{b_i}{a_{ir}} \;\middle\|\; a_{ir} > 0 \right\}
  5. Pivot Element: Intersection of Key Column and Key Row ($a_{kr}$). Perform Gauss-Jordan row transformations to make $a_{kr} = 1$ and all other entries in column $r$ equal to $0$.

3. Duality in Linear Programming

Every linear programming problem (the Primal) has an associated twin problem (the Dual) formed from the same underlying parameters.

Primal-Dual Relationships

FeaturePrimal Problem (Standard Form)Dual Problem
Objective$\text{Maximize } Z = \mathbf{c}^T \mathbf{x}$$\text{Minimize } W = \mathbf{b}^T \mathbf{y}$
Constraints$\mathbf{A}\mathbf{x} \le \mathbf{b}$$\mathbf{A}^T \mathbf{y} \ge \mathbf{c}$
Variables$n$ variables, $\mathbf{x} \ge 0$$m$ variables, $\mathbf{y} \ge 0$
Equations$m$ constraints$n$ constraints
RHS Constants$\mathbf{b}$$\mathbf{c}$ (Objective coefficients of primal)
Objective Coefficients$\mathbf{c}$$\mathbf{b}$ (RHS constants of primal)
Dual of DualDual of Dual is the Primal

Fundamental Duality Theorems

  1. Weak Duality Theorem: For any feasible primal solution $\mathbf{x}$ and feasible dual solution $\mathbf{y}$: cTxbTy\mathbf{c}^T \mathbf{x} \le \mathbf{b}^T \mathbf{y}
  2. Strong (Fundamental) Duality Theorem: If either the primal or dual has a finite optimal solution, the other also has a finite optimal solution, and their optimal objective values are identical: Z=cTx=bTy=WZ^* = \mathbf{c}^T \mathbf{x}^* = \mathbf{b}^T \mathbf{y}^* = W^*
  3. Unboundedness Theorem: If the primal is unbounded, the dual is infeasible. If the dual is unbounded, the primal is infeasible.
  4. Shadow Prices ($y_i^*$): The optimal value of dual variable $y_i^*$ represents the marginal economic value (shadow price) of resource $i$: yi=Zbiy_i^* = \frac{\partial Z^*}{\partial b_i} It represents the maximum amount a manager should pay for one additional unit of resource $b_i$.
  5. Complementary Slackness Theorem: xj[(ATy)jcj]=0,jx_j^* \left[(\mathbf{A}^T \mathbf{y}^*)_j - c_j\right] = 0, \quad \forall j yi[bi(Ax)i]=0,iy_i^* \left[b_i - (\mathbf{A} \mathbf{x}^*)_i\right] = 0, \quad \forall i (If a primal constraint is non-binding with positive slack, the corresponding dual variable is zero; if a dual variable is strictly positive, the corresponding primal constraint is strictly binding).

4. The Transportation Problem

The Transportation Problem is a special class of LPP where a homogeneous commodity is transported from $m$ sources ($a_i$ capacity) to $n$ destinations ($b_j$ requirement) at unit cost $c_{ij}$.

Minimize Z=i=1mj=1ncijxijsubject to j=1nxij=ai,i=1mxij=bj\text{Minimize } Z = \sum_{i=1}^m \sum_{j=1}^n c_{ij} x_{ij} \quad \text{subject to } \sum_{j=1}^n x_{ij} = a_i, \quad \sum_{i=1}^m x_{ij} = b_j Balanced condition: $\sum_{i=1}^m a_i = \sum_{j=1}^n b_j$.

Initial Basic Feasible Solution (IBFS) Methods

  1. North-West Corner Method (NWCM): Allocates purely based on top-left position without regard to unit costs. Fast but yields the highest initial cost.
  2. Least Cost Method (LCM / Matrix Minimum): Allocates iteratively to the cell with the lowest unit transportation cost $c_{ij}$.
  3. Vogel's Approximation Method (VAM / Penalty Method):
    • Step 1: Compute the penalty (difference between the two lowest costs) for each row and column.
    • Step 2: Identify the row or column with the maximum penalty.
    • Step 3: Allocate the maximum possible amount $\min(a_i, b_j)$ to the minimum cost cell in that chosen row/column.
    • Step 4: Adjust supply/demand and cross out satisfied rows/columns. Recompute penalties and repeat until all allocations are complete.
    • Result: VAM yields an initial solution very close to (or identical to) the global optimum.

Degeneracy & MODI ($u-v$) Optimality Method

  • Non-degeneracy Condition: An IBFS must have exactly $m + n - 1$ allocated cells located at independent positions (no closed loops among allocated cells).
  • If allocations $< m + n - 1$, the problem is degenerate. Allocate an infinitesimal amount $\epsilon > 0$ to an unallocated cell with the lowest cost that does not form a loop.
                 MODI (u-v) OPTIMALITY METHOD
                 ----------------------------
  ALLOCATED CELLS (Basic):           UNALLOCATED CELLS (Non-basic):
  Solve: u_i + v_j = c_ij            Compute: Delta_ij = c_ij - (u_i + v_j)
  (Set u_1 = 0 as reference)         Optimality: All Delta_ij >= 0
  • Optimality Rule:
    • If all $\Delta_{ij} = c_{ij} - (u_i + v_j) \ge 0$, the current solution is optimal.
    • If any $\Delta_{ij} < 0$, the solution can be improved. Select the most negative $\Delta_{ij}$, construct a closed alternating $+/-\theta$ loop with existing allocated cells, shift allocation by $\theta = \min(\text{negative loop corners})$, and retest.

5. The Assignment Problem & Traveling Salesperson Problem (TSP)

The Assignment Problem assigns $n$ workers to $n$ jobs on a 1-to-1 basis ($x_{ij} \in {0, 1}$) to minimize total cost $\sum \sum c_{ij} x_{ij}$.

Hungarian Algorithm (Flood's Technique)

  1. Row Reduction: Subtract the minimum element of each row from all elements in that row.
  2. Column Reduction: In the resulting matrix, subtract the minimum element of each column from all elements in that column.
  3. Zero Covering: Draw the minimum number of horizontal and vertical lines $L$ to cover all zeros in the reduced matrix:
    • If $L = n$ (matrix size), an optimal assignment is possible. Proceed to step 5.
    • If $L < n$, proceed to step 4.
  4. Matrix Modification:
    • Find the smallest uncovered element, denoted as $k$.
    • Subtract $k$ from all uncovered elements.
    • Add $k$ to elements at the intersection of two covering lines.
    • Leave elements covered by a single line unchanged.
    • Return to step 3.
  5. Optimal Assignment: Assign zeros uniquely such that exactly one zero is selected per row and per column.

Traveling Salesperson Problem (TSP)

A salesperson must visit $n$ cities and return to the starting city such that each city is visited exactly once and total tour distance is minimized. Formulated as an assignment problem with $c_{ii} = \infty$ plus sub-tour elimination constraints.

Test Your Knowledge

A mining corporation formulates a linear programming model to maximize coal revenue: Maximize Z = 40x1 + 30x2 subject to 2x1 + x2 <= 20, x1 + 2x2 <= 20, and x1, x2 >= 0. What are the optimal values of (x1, x2) and the maximum profit Z*?

A
B
C
D
Test Your Knowledge

In a linear programming simplex tableau for a maximization problem, which mathematical test determines the variable that leaves the basis?

A
B
C
D
Test Your Knowledge

A transportation problem involves 4 supply pits and 5 distribution washeries. How many non-degenerate basic allocated cells must exist in an initial basic feasible solution?

A
B
C
D