lingo解線性的缺陷

2021-07-04 13:08:19 字數 1328 閱讀 7114

引用塊內容

lingo雖然可以解線性問題,但是他只能在約束條件下解針對這一目標的最優解,不能一次性解在不同約束條件的特定目標的最優解,但是matlab就可以做到,

要使淨收益盡可能大,總體風險盡可能小,這是乙個多目標規劃模型:

說明:ri為收益率,pi是交易率,m是總資金,xi是給第i個投資的資金,在本題看做1;

由於此題為多規劃模型,要做一定的處理才能用軟體求解。

方法1:可把取乙個目標做最優化,得到的結果作為條件,在對第二個做最優化。

方法二:可先對這個目標做乙個權值的分配,把它們作為乙個目標進行處理。

通過固定目標風險用a,得到最大收益:

但a的不同,約束條件也就不同,最優值也就不同,所以lingo就顯得很無力,此時用matlab中的linprog函式就可完成。

function xianxinguihua

a=0;

while a<0.05

c=[-0.05;-0.27;-0.12;-0.185;-0.185];

a=[zeros(4,1),diag([0.025,0.015,0.055,0.026])];

b=a.*ones(4,1);

aeq=[1,1.01,1.02,1.045,1.065];

beq=1;

[x,feval]=linprog(c,a,b,aeq,beq,zeros(5,1));

plot(a,-feval,』*』);

hold on//不可少,否則是個點。

a=a+0.001;

end

xlabel(『a』),ylabel(『-feval』)

通過影象就可以看出a在什麼時候最為合適

在a=0.006附近有乙個轉折點,在這一點左邊,風險增加很少時,利潤增長很快。在這一點右邊,風險增加很大時,利潤增長很緩慢,所以對於風險和收益沒有特殊偏好的投資者來說,應該選擇曲線的拐點作為最優投資組合。

Lingo語法與線性規劃,go

lingo看上去很具有復古氣息,但卻實用 model 以model為本檔案的開始 sets 定義集合及其屬性,比如某個變數是多少行多少列,能夠有多長 endsets data enddata end 全文結束 lingo中,沒有單獨的 和 關係,想想高中學的線性規劃,我們是不是都是求的閉區間線性規劃...

數學建模(Lingo 非線性整數規劃

原非線性規劃式子 展示如下 model 程式設計開始 title life 標題 sets 集合段 row 1.4 b col 1.5 c1,c2,x link row,col a endsets data 資料段 c1 1,1,3,4,2 對應目標函式中的x的平方 c2 8,2,3,1,2 對應目...

lingo解決整數線性規劃(小題)

恢復內容開始 小編最近在看解決整數線性規劃。對於一維的決策變數,使用matlab和lingo均可。matlab可以用intlinprog f,incont,a,b,aeq,beq,ln.hn f對應的所求式子的列向量,incont對應著 為整數的相關索引,a為不等式的限定矩陣,b為不等式的資源矩向量...