作者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://webptt.com/cn.aspx?n=bbs/MATLAB/M.1430988116.A.C8C.html
1F:推 dou1986: B=-3600; Y 05/07 17:28
2F:→ w12389034e: 感谢 可以跑了 05/08 14:22