Solver optimizations, time out if solution takes too long