Как использовать scipy.optimize.basinhopping и scipy.optimize.minimum? - PullRequest
0 голосов
/ 29 ноября 2018

Я уже прочитал документацию для обоих, но я все еще не понимаю, как их использовать (я беру вступительный класс CS для python, поэтому я не очень знаком с программированием).Кто-нибудь может привести некоторые очень простые примеры того, как может выглядеть код?

Например, как бы я использовал скачкообразную перестройку бассейна, чтобы найти минимум уравнения с двумя переменными, такими как f (x, y) = x^ 2 * y ^ 2 + cos (x) * sin (y) с x и y в диапазоне -5

И для минимизации, как я могу найти минимум чего-токак f (x) = x ^ 3 - cos (2 * pi * x)?

Пожалуйста, сделайте примеры максимально простыми!(Я действительно не понимал код в документации вообще, я не думаю, что мы изучили scipy так глубоко)

Вот несколько примеров того, что я до сих пор пробовал:

Basinhopping:

import numpy as np
import scipy.optimize as spo

def f(xy): #(I don't know what to do for x and y here)  
    return x**2*y**2+np.cos(x)*np.sin(y)

guess = np.array(-5,5)
result = spo.basinhopping(f, guess)
print(result)

Свернуть:

def g(x):
    return x**2 - np.cos(2*np.pi*x)

result2 = spo.minimize(g)  
print(result2)  
...