我正在尝试为采用以下所示5x4矩阵的函数寻找最小值。
def objective(w):
...
return value
# Random Initial Input Matrix where rows sum up to 1.0
w = array(
[[0.33333333, 0. , 0.2 , 0.46666667],
[0.07142857, 0.42857143, 0.5 , 0. ],
[0. , 0.42857143, 0. , 0.57142857],
[0.31034483, 0.27586207, 0.27586207, 0.13793103],
[0.27272727, 0.22727273, 0.22727273, 0.27272727]])
唯一的约束是使每一行的总和不超过1.0。
我尝试过
1)scipy.optimize.fmin(objective, w)
-这使我获得了收敛的结果,但是由于我不确定如何应用约束,因此是不正确的。
2)scipy.optimize.minimize(objective, w)
-不会更改初始矩阵。
关于我能看到的任何建议吗?
谢谢。