approximation algorithm
An algorithm for an optimisation problem that generates feasible but not necessarily optimal solutions.
Unlike "heuristic", the term "approximation algorithm" often implies some proven worst or average case bound on performance. The terms are often used interchangeably however.