Использование нескольких начальных догадок в функции оптимизации

Проект, над которым я сейчас работаю, требует оптимизации в отношении функции.

Чтобы сделать процесс оптимизации более надежным с точки зрения нахождения глобального минимума, я хотел бы использовать несколько начальных предположений для каждой переменной, которую я могу указать заранее.

Далее я рандомизировал списки начальных догадок (ipp_term, ipp_ci, i_risky_w) для демонстрации списков начальных догадок. Списки тезисов, которые я хотел бы ввести как семена (строка 13).

upper_term = max(term)
upper_ci = max(ci)

ipp_term = np.random.uniform(0,upper_term,30)
ipp_ci = np.random.uniform(0,upper_ci,30)
i_risky_w = np.random.uniform(0,1,30) 

bds = [(0,1), (0,upper_term), (0,upper_ci)]

scipy.optimize.differential_evolution(
   optInsInv_opt, bounds = bds, strategy='best1bin', maxiter=None, 
   popsize=1, tol=0.00001, mutation=(0.5, 1), recombination=0.7, 

   **seed=[i_risky_w, ipp_term, ipp_ci, i_risky_w],** 

   callback=None, disp=True, polish=True, init='latinhypercube')

Из документации я понимаю, что есть два способа инициализации заполненных параметров, но, насколько я понимаю, они также генерируются случайным образом!?

Кто-нибудь знает, как изменить пакет scipy.optimize.differential_evolution, чтобы я мог использовать свои собственные списки начальных догадок, или может подсказать мне другую библиотеку с похожим алгоритмом, который может это сделать?

Спасибо за вашу помощь!

0 ответов

Другие вопросы по тегам