Re: [問題] 非線性規劃 主副程式變數使用問題已回收
整個問題阿....
目標函數 為線性, 限制式為線性(4條)與非線性混合(2條)
max 0.5*bet_B + 0.5* bet_d
bet_B,bet_d ,u, z_B ,z_F
subject to X_B * z_B + X_B(:,i) * bet_B 小於等於 X_B(:,i)
Y_I * z_F 小於等於 Y_I(:,i)
----- 以上是線性 以下是非線性 只舉部分 ---
X_BF.* u * z_B -(1-bet_B)*X_BF.*u(:,i)
由限制式可以看到 X_B 和 Y_I和 u 都有部分的值特別拿出來做處理
因此當初用迴圈的概念 每一次做完 都有一個結果跑出來
從整個結果來看的話
未知數: bet_B,bet_d 都是 K*1 的矩陣 ; u是c*K ; z_B ,z_F 是 K*K
已知數: X_B 是 v*K ; X_BF 是 c*K ; Y_I 是 r*K
每個矩陣大小都不一樣....
在執行檔的部分 先寫上限制式為線性的程式 最後再寫上這個:
[result(i,:),fval(i)]=fmincon(@DMNDEA,x0,A,B,Aeq,Beq,lb,ub,@DMN_confun);
目標函數 和非線性限制式 就另外寫
可是後來w大說 fmincon只能用於單變數
那請問是要 令成這樣嗎? x=[ bet_B,bet_d ,u, z_B ,z_F ];
x好像可以是x(1) x(2).... 請問他可以用成矩陣表示嗎?
接下來可能要把那些變數拼湊在一起 成一個x矩陣了 這樣對嗎?
所以上面這個動作 是在執行檔做嗎 目標函數和非線性限制式就都用x表示?
那關於線性限制式的迴圈 如果先在迴圈前那些變數弄成x後
迴圈內皆用x表示 會不會有影響?
還是厲害的大家有甚麼建議? (感覺整個要重寫>"< 天阿...)
謝謝大家了!!!
※ 編輯: sindyddd 來自: 140.126.147.48 (08/12 18:47)
推
08/12 18:46, , 1F
08/12 18:46, 1F
→
08/12 18:47, , 2F
08/12 18:47, 2F
→
08/12 18:49, , 3F
08/12 18:49, 3F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 5 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章