Heuristics are problem-specific techniques or rules of thumb that provide feasible solutions quickly, often without optimality guarantees. Unlike exact algorithms, heuristics trade solution quality for computational speed. Types include: (1) Constructive heuristics - build solutions from scratch (greedy algorithms, nearest neighbor); (2) Improvement heuristics - start with a solution and iteratively improve it (local search, k-opt); (3) Decomposition heuristics - break problems into smaller subproblems. Quality is typically measured by: solution value, computation time, and gap from optimal or lower bounds. Heuristics are essential for large-scale practical problems where exact methods are computationally prohibitive.