[問題] fmincon的問題
小弟我想求目標函數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
推
05/07 17:28, , 1F
05/07 17:28, 1F
→
05/08 14:22, , 2F
05/08 14:22, 2F
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章