Heuristic optimization algorithms (link) are used to solve problems where the solution space is simply too large, and finding an optimal solution might be impractical or impossible due to time constraints or computational resources.