Я столкнулся с проблемой выбора параметров, которую я хотел бы решить, используя Генетический алгоритм (GA). Я должен выбрать не более 4 параметров из 3000 возможных. Использование представления бинарной хромосомы кажется естественным выбором. Функция оценки наказывает слишком много «выбранных» атрибутов и, если число атрибутов является приемлемым, она затем оценивает выбор.
Проблема в том, что в этих редких условиях ГА вряд ли может улучшить население. Ни средняя стоимость фитнеса, ни фитнес "худшего" человека не улучшаются в течение нескольких поколений. Все, что я вижу, - это небольшое (даже крошечное) улучшение оценки лучшего человека, которое, я полагаю, является результатом случайной выборки.
Кодирование проблемы с использованием индексов параметров также не работает. Скорее всего, это связано с тем, что хромосомы являются направленными, а проблема выбора - нет (то есть хромосомы [1, 2, 3, 4]; [4, 3, 2, 1]; [3, 2, 4, 1] и т. Д. Идентичны)
Какую проблему вы бы предложили?
P.S. Если это имеет значение, я использую PyEvolve .