1. A computer-implemented method of exploring a search space of potential solutions to an optimization problem, the method comprising: sorting the search space according to a computationally inexpensive yet efficient objective function; performing a bounded depth-first search over the search space to find intermediate sub-solutions to the problem; storing the K best sub-solutions in a storage while performing the depth-first search; finding L best partial results using sub-solutions from the storage, where result quality that would be provided by a sub-solution is measured using a low-computation objective function; and storing at least a subset of the L best partial results in memory of a computing device, the subset comprising final solutions to the optimization problem.