对不起,我的帖子不清楚。我正在尝试为以下问题构建一个class
:
import numpy as np
from scipy.optimize import minimize
n, y = 1.0, 100
def func(x, sign=1.0, beta=0.90):
"""Objective function"""
return sign*(np.log(x[0]) + beta * np.log(x[1]))
def func_deriv(x, sign=1.0, beta=0.90):
"""Derivative of objective function"""
dfdx0 = sign*(1/x[0])
dfdx1 = sign*beta*(1/x[1])
return np.array ([dfdx0, dfdx1])
cons = ({'type': 'eq',
'fun': lambda x: np.array([x[0] + x[1]/n - y]),
'jac': lambda x: np.array([1, 1/n])})
resC = minimize (func, [30,20], args=(-1.0,),
jac=func_deriv, constraints=cons,
method='SLSQP', options={'disp': True})
print(resC.x)
结果是: [52.64537904 47.35462096]
谢谢你的帮助
目前没有回答
相关问题 更多 >
编程相关推荐