我有一个求和目标函数(非线性投资组合优化),如下所示:
minimize w(i)*w(j)*cv(i,j) for i = 1 to 10 and j = 1 to 10
- w是决策向量
- cv是一个已知的 10 x 10 矩阵
我已经为约束(项目约束的单独 .m 文件)和 fmincon 的执行(下/上限、初始值和使用参数调用 fmincon 的单独 .m 文件)制定了公式。
我只是不知道如何做目标函数。我习惯于在 GLPK 而不是 matlab 中进行线性编程,所以我做得不太好。
我目前得到:
目标函数.m
function f = obj(w)
cv = [all the constants are in here]
i = 1;
j = 1;
n = 10;
var = 0;
while i <= n
while j<=n
var = var + abs(w(i)*w(j)*cv(i, j));
j = j + 1;
end
i = i + 1;
end
f = var
...但这不起作用。
任何帮助,将不胜感激!提前致谢 :)