我有一個總和的目標函數(非線性組合優化),它看起來像:制定求和目標函數在Matlab
minimize w(i)*w(j)*cv(i,j) for i = 1 to 10 and j = 1 to 10
- W¯¯是決定矢量
- CV是已知的10×10矩陣
我已經制劑用於完成約束條件(項目約束條件的單獨.m文件)以及執行fmincon(下/上限,初始值的單獨.m文件以及用參數調用fmincon)。
我只是不知道如何做目標函數。我習慣於在GLPK中進行線性編程而不是在matlab中,所以我的表現並不好。
我目前有:
ObjectiveFunction.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
...但是這是行不通的。
任何幫助,將不勝感激!感謝提前:)
如果您自己找到答案,請在下面張貼以備將來參考。或者,如果JesseB的答案幫助了你,請接受它。 –