Re: [問題] 非線性規劃 主副程式變數使用問題已回收

看板MATLAB作者時間15年前 (2010/08/12 18:38), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串2/5 (看更多)
整個問題阿.... 目標函數 為線性, 限制式為線性(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
這樣問好了 你要最佳化的5個參數 最後是變數 還是矩陣 !
08/12 18:46, 1F

08/12 18:47, , 2F
有可能是你誤會阿 ! 然後讓大家也誤會了 !
08/12 18:47, 2F

08/12 18:49, , 3F
請問你指的變數是指單一變數嗎? 恩..最後那5個參數是矩陣
08/12 18:49, 3F
文章代碼(AID): #1COyyYtC (MATLAB)
文章代碼(AID): #1COyyYtC (MATLAB)