我目前有一个函数PushLogUtility(p,w,f)
,我希望针对固定f
(9xk列表)和p
(2xk)列表优化wrt w
(2xk)列表
我正在使用scipy.optimize.fmin
函数,但我发现错误,因为f
是二维的。我写了一个前面的函数LogUtility(p,q,f)
,传递了一维输入,并且它有效。
似乎有一种选择是将p
,w
和f
写入一维列表,但这会耗费时间并且不易阅读。有没有办法让fmin
使用2D输入优化函数?
答案 0 :(得分:0)
事实上,无法将2D列表传递给numpy.optimize.fmin
。然而,平坦化输入f
并不是一个问题,虽然它使代码稍微丑陋,但优化现在可以正常工作。
有趣的是,我还在Matlab中对优化进行了编码,该算法确实将2D输入转换为fminsearch
函数。两个程序都提供相同的输出(y)。