First, I have to say that it seems like a pretty small solution space: are you confident that brute-force isn't your easiest way forward?
Second, do you mean to say that you need a "pretty good" result in some constant time or that you need the algorithm to be O(1)? I won't say that's impossible, but... well, I'm pretty sure it's impossible.
On the specific point, the major difference between GAs and SA is that SA is essentially a hill-climbing algorithm that searches "outward" from the last point in the solution space, while GAs are probabilistic and search hyperplanes within the solution space.
You say two things that make me think SA is a better fit for your problem: "iteratively building" and "impossible states." Since GAs recombine "pretty good" solutions across hyperplanes in the solution space, they tend to "re-discover" dead zones in the solution space. If you're convinced that a better solution can be iteratively built from a pretty good solution, you're in hill-climbing territory and SA could fit better.
To be very general, the relative advantage of GAs is that they quickly process very large volumes of the solution space, but they rely on there being briefly-encoded "good ideas" within that solution space. The relative advantage of SA is that it searches the local solution space "around" its initial solution, which tends to find local improvements efficiently. The disadvantage is that SA is seeded randomly and so is not efficient in exploring large solution spaces.