我需要一些关于 python(scipy) 中优化函数的帮助,问题是优化f(x)
where x=[a,b,c...n]
。约束是 a、b 等的值应该在 0 和 1 之间,并且sum(x)==1
. scipy.optimise.minimize 函数似乎最好,因为它不需要微分。我如何传递论点?
使用排列创建 ndarray 太长了。我现在的代码如下: -
import itertools as iter
all=iter.permutations([0.0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1.0],6) if sum==1
all_legal=[]
for i in all:
if np.sum(i)==1:
#print np.sum(i)
all_legal.append(i)
print len(all_legal)
lmax=0
sharpeMax=0
for i in all_legal:
if sharpeMax<getSharpe(i):
sharpeMax=getSharpe(i)
lmax=i