まず、それはかなり小さなソリューションスペースのように思われると言わざるを得ません。ブルートフォースが最も簡単な方法ではないと確信していますか?
次に、一定時間内に「かなり良い」結果が必要である、またはアルゴリズムがO(1)である必要があると言うことを意味しますか?それが不可能だとは言いませんが...まあ、それは不可能だと確信しています。
特定の点で、GAとSAの主な違いは、SAは本質的に山登りアルゴリズムであり、解空間の最後の点から「外側」を検索しますが、GAは確率的であり、解空間内の超平面を検索します。
あなたは、SAがあなたの問題により適していると私に思わせる2つのことを言います:「反復的に構築する」と「不可能な状態」。GAは、ソリューションスペース内の超平面全体で「かなり良い」ソリューションを再結合するため、ソリューションスペース内のデッドゾーンを「再発見」する傾向があります。かなり良いソリューションからより良いソリューションを繰り返し構築できると確信している場合は、山登り法の領域にいるので、SAの方が適している可能性があります。
非常に一般的に、GAの相対的な利点は、非常に大量のソリューションスペースをすばやく処理できることですが、GAは、そのソリューションスペース内に簡単にエンコードされた「優れたアイデア」があることに依存しています。SAの相対的な利点は、初期ソリューションの「周囲」のローカルソリューション空間を検索することです。これにより、ローカルの改善が効率的に検出される傾向があります。欠点は、SAがランダムにシードされるため、大きなソリューションスペースを探索するのに効率的ではないことです。