Heuristics is a term given to a class of algorithms used to determine in real time a feasible solution to a complex optimization problem.
In combinatorial optimization, graph theory, and complexity theory, heuristics quickly provide a workable but not necessarily optimal solution for a complex optimization problem.