Использование нескольких начальных догадок в функции оптимизации - PullRequest
0 голосов
/ 28 декабря 2018

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

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

В следующем я рандомизировал списки начальных догадок (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, чтобы я мог использовать свои собственные списки начальных догадок или подсказать мне другую библиотеку с похожим алгоритмом, который может это сделать?

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

...