作者jajagood (蓝海白沙)
站内MATLAB
标题[问题]fmincon 求解问题(内附档案连结)
时间Tue Nov 5 03:19:08 2013
小弟正在解下面一个非线性的题目
functionA>=1-rpha
functionB<=Beta
n>=1 0<kN<kT
语法如下 (functionA and B太过繁复就化简如下)
主程式......................................
x0=[100 1 1.3];
options = optimset('Display','iter','Algorithm','interior-point');
[xStr, f_xStr]=fmincon(@QSSobjfuntion,x0,[],[],[],[],[1;0;kN],[inf;kT;2],@QSSfuntion,options)
副方程式.......................................
function [c,ceq]= QSSfuntion(x)
global r beta paql plql
(functionA and B太过繁复就化简如下)
c=[(1-r)-(PTAQL./(1-PNAQL+PTAQL));(PTLQL./(1-PNLQL+PTLQL))-beta;1-x(1)];
ceq=[];
主程式..................................................
function f = QSSobjfuntion(x)
global kN kT
n=x(1);
kN=x(2);
kT=x(3);
f=min(n);
已知正解为 xStr = 32 0.9594 1.1924
但得到解为xStr =
39.4306 0.8625 1.5095
而Matlab显示
fmincon stopped because it exceeded the function evaluation limit,
options.MaxFunEvals = 3000 (the default value).
是说内建的跌代数到极限了吗?
还有限制式为不等式的问题不知道这样写是否有误
https://www.dropbox.com/s/xaj90gtlffz1xew/QSS.zip 这是完整的语法
跪求高手解惑
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.161.243.121
1F:→ jajagood:主要求n kN kT值 然後在FUNCTION分别用x(1)x(2)x(3)代替 11/05 03:21
※ 编辑: jajagood 来自: 118.161.248.190 (11/05 11:23)
※ 编辑: jajagood 来自: 118.161.248.190 (11/05 11:24)