我一直在使用 matlab 解决二次优化问题,使用因子结构的 hessian,假设我有一个协方差矩阵 H,我把它写为 H=A+B*B'。
然后我有一小段代码来计算
hessianf=@f;
options = optimset('HessMult', hessianf);
y1 = quadprog(A, r, [], [], [], [], [], [], [], options, B);
和
function H=f(A,x,B)
H=A*x+B*(B'*x);
end
上述过程只是遵循http://www.mathworks.com/help/toolbox/optim/ug/brn4nlc.html
但是,matlab 说“必须为活动集算法明确指定 H:不能使用 HessMult 选项。”。
我对问题出在哪里感到非常困惑。谁能给我一些建议?