[問題] 求解最佳解問題
各位matlab大神早安
小弟對於使用matlab不太熟悉
但現在必須使用matlab進行最佳化求解
也因此選擇上板詢問
若有打擾之處還請見諒
-
問題是這樣的
小弟有一個目標函數並設有兩限制式
欲在兩限制式下Minimize我的目標函數
並計算出不同決策變數下的最佳函數值
希望顯示出的有:最佳目標值、最佳值下的各決策變數值
表達式差不多是這樣:
Min TotalASN
s.t. (pa1 / (pa1+pr1)) >= 0.95
(pa2 / (pa2+pr2)) <= 0.1
-
code如下:
目標函數(TotalASN.m):
function [TotalASN] = TotalASN(n,ka,kr,C1,C2)
pa1 = 1- nctcdf(3*sqrt(n)*ka,(n-1),3*sqrt(n)*C1);
pr1 = nctcdf(3*sqrt(n)*kr,(n-1),3*sqrt(n)*C1);
ASN1 = n / (pa1+pr1)
pa2 = 1- nctcdf(3*sqrt(n)*ka,(n-1),3*sqrt(n)*C2);
pr2 = nctcdf(3*sqrt(n)*kr,(n-1),3*sqrt(n)*C2);
ASN2 = n / (pa2+pr2)
TotalASN = 0.5*(ASN1+ASN2)
end
限制式則有兩條(這邊我不知道我寫的對不對...):
function [TotalASN,ceq] = constraint(n,ka,kr,C1,C2)
pa1 = 1- nctcdf(3*sqrt(n)*ka,(n-1),3*sqrt(n)*C1);
pr1 = nctcdf(3*sqrt(n)*kr,(n-1),3*sqrt(n)*C1);
pa2 = 1- nctcdf(3*sqrt(n)*ka,(n-1),3*sqrt(n)*C2);
pr2 = nctcdf(3*sqrt(n)*kr,(n-1),3*sqrt(n)*C2);
TotalASN(1) = 0.05 - (pa1 / (pa1+pr1)) ;
TotalASN(2) = 0.1 - (pa2 / (pa2+pr2));
ceq = 0;
end
-
其中C1、C2為事先給定
使用optimization tool求解
卻一直說我的input arguments不足
頭很疼啊啊啊
希望有大神能夠點出我的問題
感謝QAQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.96.231 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1604836334.A.F9E.html
推
11/14 09:55,
4年前
, 1F
11/14 09:55, 1F
→
11/14 09:56,
4年前
, 2F
11/14 09:56, 2F
推
11/14 09:58,
4年前
, 3F
11/14 09:58, 3F
→
11/22 03:36,
4年前
, 4F
11/22 03:36, 4F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章