Решение оптимизационных задач в SciPy

python > Решение оптимизационных задач в SciPy
02.04.2020 17:55:25



Статья:

#!/usr/bin/env python
# coding: utf-8
 
# # Решение оптимизационных задач в SciPy (Версия для Python 3)
 
# In[1]:
 
 
from scipy import optimize
 
def f(x):   # The rosenbrock function
    return .5*(1 - x[0])**2 + (x[1] - x[0]**2)**2
 
print(f([1, 1]))
 
 
result = optimize.brute(f, ((-5, 5), (-5, 5)))
print(result)
 
 
print(optimize.differential_evolution(f, ((-5, 5), (-5, 5))))
 
 
 
import numpy as np
 
def g(x):
        return np.array((-2*.5*(1 - x[0]) - 4*x[0]*(x[1] - x[0]**2), 2*(x[1] - x[0]**2)))
 
 
print(optimize.check_grad(f, g, [2, 2]))
 
 
 
print(optimize.fmin_bfgs(f, [
#!/usr/bin/env python
# coding: utf-8
 
# # Решение оптимизационных задач в SciPy (Версия для Python 3)
 
# In[1]:
 
 
from scipy import optimize
 
def f(x):   # The rosenbrock function
    return .5*(1 - x[0])**2 + (x[1] - x[0]**2)**2
 
print(f([1, 1]))
 
 
result = optimize.brute(f, ((-5, 5), (-5, 5)))
print(result)
 
 
print(optimize.differential_evolution(f, ((-5, 5), (-5, 5))))
 
 
 
import numpy as np
 
def g(x):
        return np.array((-2*.5*(1 - x[0]) - 4*x[0]*(x[1] - x[0]**2), 2*(x[1] - x[0]**2)))
 
 
print(optimize.check_grad(f, g, [2, 2]))
 
 
 
print(optimize.fmin_bfgs(f, [2, 2], fprime=g))
 
 
print(optimize.minimize(f, [2, 2]))
 
 
 
 
print(optimize.minimize(f, [2, 2], method='BFGS'))
 
 
print(optimize.minimize(f, [2, 2], method='Nelder-Mead'))
 
 
2
, 2], fprime=g))     print(optimize.minimize(f, [2, 2]))         print(optimize.minimize(f, [2, 2], method='BFGS'))     print(optimize.minimize(f, [2, 2], method='Nelder-Mead'))