Во-первых, я должен сказать, что это кажется довольно маленьким пространством для решения: вы уверены, что грубая сила - не самый легкий путь вперед?
Во-вторых, вы хотите сказать, что вам нужен "довольно хороший" результат в какое-то постоянное время или что вам нужен алгоритм, равный O (1)? Я не скажу, что это невозможно, но ... я уверен, что это невозможно.
Что касается конкретной точки, то основное различие между GA и SA заключается в том, что SA по сути является алгоритмом восхождения на холм, который ищет «наружу» от последней точки в пространстве решений, в то время как GA являются вероятностными и ищут гиперплоскости в пространстве решений. ,
Вы говорите две вещи, которые заставляют меня думать, что SA лучше подходит для вашей проблемы: "итеративное построение" и "невозможные состояния". Поскольку ГА рекомбинируют «довольно хорошие» решения через гиперплоскости в пространстве решений, они имеют тенденцию «заново открывать» мертвые зоны в пространстве решений. Если вы убеждены в том, что лучшее решение может быть итеративно построено из довольно хорошего решения, вы находитесь на территории для восхождения на гору, и SA может подойти лучше.
Если говорить в общих чертах, то относительное преимущество ГА состоит в том, что они быстро обрабатывают очень большие объемы пространства решений, но полагаются на то, что в этом пространстве решений есть кратко закодированные "хорошие идеи". Относительное преимущество SA состоит в том, что он ищет локальное пространство решений «вокруг» своего исходного решения, которое имеет тенденцию эффективно находить локальные улучшения. Недостатком является то, что SA засевается случайным образом и поэтому неэффективен при исследовании больших пространств решений.