I had cloned a puzzle game http://code.google.com/p/turningpolyhedron and wrote a puzzle solver and a random level generator. The random level generator first create a bunch of complete random levels, then run genetic algorithm on them. Each time the generator runs solver on them to calculate fitness function, then choose some best levels to mutate and reproduce.
It works not bad, but when adding new puzzle elements to the game mechanics, the solver get slower and slower, due to expanded possible game states. Moreover, the possible level elements combination is also grow up, so the random level generator is very slow and couldn't produce good results.
My question: Is puzzle solver a must for random level generation in puzzle games? Are there any other ways/algorithms to generate random level? And what do you think about random level generation in puzzle game? Suggestions are welcome