In this case, the mapping of a complicated multi-step process involving external constraints to a "gene" is going to be a hack, no matter what you do.
I think calling it a "hack" misses the nuance: mapping the physical metrics and telemetry into a genome is nontrivial.
Plus 40 generations is no where NEAR enough. A GA needs millions (or billions) of generations to avoid local minima/maxima. Especially given the size of the input vector. His vector is what, 2^100 states?
> I think calling it a "hack" misses the nuance: mapping the physical metrics and telemetry into a genome is nontrivial.
Well, that's definitely what I was trying to say, so we're agreed.
I actually don't think GA a great fit for this problem as parking a car is a time- and circumstance-dependent process, and a fixed gene is...not. But that's a guess.
To give a silly example, Monte Carlo is like trying to guess the surface area of a dartboard by throwing darts at it and counting how many hit it, while gradient descent is like throwing darts at the board until you hit the center (or something you think is the center).
Oh definitely not! :)
Assuming you can actually detect success, that's not really that big of a problem. You can do it in 11 lines by appending:
for(i in 1e7){g=do-generation(g);if(worksp(g)) return g}
It'll take while, but the claim is that it optimises on lines, not on runtime.