Assignment Problem

The Assignment Problem optimally assigns n tasks to n agents (one-to-one assignment) minimizing total cost. Formulated as: minimize Σᵢ Σⱼ cᵢⱼxᵢⱼ subject to: Σⱼ xᵢⱼ = 1 for all i (each agent assigned one task), Σᵢ xᵢⱼ = 1 for all j (each task assigned to one agent), xᵢⱼ ∈ {0,1}. Despite being an integer program, it can be solved efficiently in polynomial time using the Hungarian algorithm (O(n³)). Applications include: job assignment, vehicle routing, task scheduling, and resource allocation. Variants include: bottleneck assignment (minimize maximum cost), generalized assignment (agents can handle multiple tasks), and quadratic assignment (costs depend on assignment pairs).

» OR glossary