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
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
Geometric Characteristics and Corner Point Theorem
- 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]$.
- Convex Feasible Region: The intersection of linear half-spaces forms a convex polygon (2D) or convex polyhedron ($n$D).
- 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 Category | Graphical Behavior | Algebraic Condition |
|---|---|---|
| Unique Optimal | Objective line touches the feasible region at a single distinct corner vertex. | Single basic feasible solution satisfies optimality criterion. |
| Multiple / Alternate Optimal | Objective 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 Solution | The 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 Solution | No 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 Solution | Three 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 Constraint | A 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$).
- $\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).
- $=$ Constraint: Add an Artificial variable $A_i \ge 0$.
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)
- Net Evaluation (Index) Row $\Delta_j$:
- Optimality Criterion (for Maximization):
- If all $\Delta_j = C_j - Z_j \le 0$, the current solution is optimal.
- Entering Variable (Key Column $r$):
- Leaving Variable (Key Row $k$ - Minimum Positive Ratio Test):
- 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
| Feature | Primal 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 Dual | Dual of Dual is the Primal | — |
Fundamental Duality Theorems
- Weak Duality Theorem: For any feasible primal solution $\mathbf{x}$ and feasible dual solution $\mathbf{y}$:
- 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:
- Unboundedness Theorem: If the primal is unbounded, the dual is infeasible. If the dual is unbounded, the primal is infeasible.
- Shadow Prices ($y_i^*$): The optimal value of dual variable $y_i^*$ represents the marginal economic value (shadow price) of resource $i$: It represents the maximum amount a manager should pay for one additional unit of resource $b_i$.
- Complementary Slackness Theorem: (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}$.
Balanced condition: $\sum_{i=1}^m a_i = \sum_{j=1}^n b_j$.
Initial Basic Feasible Solution (IBFS) Methods
- North-West Corner Method (NWCM): Allocates purely based on top-left position without regard to unit costs. Fast but yields the highest initial cost.
- Least Cost Method (LCM / Matrix Minimum): Allocates iteratively to the cell with the lowest unit transportation cost $c_{ij}$.
- 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)
- Row Reduction: Subtract the minimum element of each row from all elements in that row.
- Column Reduction: In the resulting matrix, subtract the minimum element of each column from all elements in that column.
- 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.
- 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.
- 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.
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*?
In a linear programming simplex tableau for a maximization problem, which mathematical test determines the variable that leaves the basis?
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?