作者w12389034e (林小緯)
看板MATLAB
標題[問題] fmincon的問題
時間Thu May 7 16:41:53 2015
小弟我想求目標函數x(1)*1.2+x(2)*1.5+x(3)*2+x(4)*1的最小值
又3600<=x(1)+x(2)+x(3)+x(4)
且x(1)<1800 x(2)<1200 x(3)<1200 x(4)<400且皆大於0
程式碼如下
function F = myfun1(x)
F = x(1)*1.2+x(2)*1.5+x(3)*2+x(4)*1;
end
clc;clear all;
x0 = [1000;1000;1000;400]; % Starting guess at the solution
A = [-1 -1 -1 -1];
B = [3600];
Aeq = [];
Beq = [];
LB = [0 0 0 0];
UB = [1800 1200 1200 400];
nonlcon = [];
options = optimset('Display','iter','TolFun',1e-7,'MaxFunEvals',10000);
[x,fval] = fmincon(@myfun1,x0,A,B,Aeq,Beq,LB,UB,nonlcon,options);
可是回傳得到x = [0 0 0 0];
不知道是不是哪邊出問題了@@?
謝謝m(_ _)m
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.77.71
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1430988116.A.C8C.html
推 dou1986: B=-3600; Y 05/07 17:28
→ w12389034e: 感謝 可以跑了 05/08 14:22