【发布时间】:2022-01-26 02:30:29
【问题描述】:
我知道这不是一件实际的事情(这个问题我只是为了理解发生了什么),但我想知道为什么 SciPy 不能最小化以下线性组合(它返回初始权重并且只进行 1 次迭代):
from scipy.optimize import minimize
import numpy as np
mean = np.array([[0.00149066, 0.00076633]])
def constrain1(w):
return w[0] + w[1] - 1
def minimize_func(w):
return (w[0]*mean[0,0] + w[1]*mean[0,1])*(-1)
initial_guess = [0.5,0.5]
bound = (0,1)
bounds = [bound for i in range(2)]
con1 = {"type": "eq", "fun": constrain1}
cons = [con1]
sol = minimize(minimize_func, initial_guess,
method="SLSQP", bounds=bounds, constraints=cons)
【问题讨论】:
-
什么是
returns?这在任何地方都没有定义。 -
@bnaecker 这是因为这是对代码的简化,我忘了更改它。已更正!
标签: python optimization scipy scipy-optimize-minimize quadratic-programming