非线性约束规划 我编制了 目标函数和约束函数 为什么在matlab中还是出错 求大神看看这不给力的

function f=myfun(x)
f=0.192457*le-4*(x(2)+2)*x(1)^2*x(3);

function [c,cep]=mycon(x)
c(1)=350-163*x(1)^(-2.86)*x(3)^0.86;
c(2)=10-0.14*0.01*x(1)^-4*x(2)*x(3)^3;
c(3)=(x(2)+1.5)*x(1)+0.44*0.01*x(1)^(-4)*x(2)*x(3)^3-3.7*x(3);
c(4)=375-0.356*le6*x(1)*x(2)^(-1)*x(3)^(-2);
c(5)=4-x(3)/x(1);
A=[-1 0 0
1 0 0
0 -1 0
0 1 0
0 0 -1
0 0 1];
b=[-1;4;-4.5;50;-10;30];
x0=[2.0;5.0;25.0];
lb=zeros(3,1);
[x,fval,exitflag,output,lambda]=fmincon(@opt17_70,xo,A,b,[],[],lb,[],@opt17_7c)
在matlab中调试了好久还不行 求大神

function f=myfun(x)
f=0.192457*10^(-4)*(x(2)+2)*x(1)^2*x(3);

function [c,cep]=mycon(x)
c(1)=350-163*x(1)^(-2.86)*x(3)^0.86;
c(2)=10-0.14*0.01*x(1)^-4*x(2)*x(3)^3;
c(3)=(x(2)+1.5)*x(1)+0.44*0.01*x(1)^(-4)*x(2)*x(3)^3-3.7*x(3);
c(4)=375-0.356*10^6*x(1)*x(2)^(-1)*x(3)^(-2);
c(5)=4-x(3)/x(1);
cep=[];
-----------------------------------
A=[-1 0 0
1 0 0
0 -1 0
0 1 0
0 0 -1
0 0 1];
b=[-1;4;-4.5;50;-10;30];
x0=[2.0;5.0;25.0];
lb=zeros(3,1);
[x,fval,exitflag,output,lambda]=fmincon(@myfun,x0,A,b,[],[],lb,[],@mycon)
Warning: Trust-region-reflective method does not currently solve this type
of problem,
using active-set (line search) instead.
> In fmincon at 439

Local minimum possible. Constraints satisfied.

fmincon stopped because the size of the current search direction is less than
twice the default value of the step size tolerance and constraints were
satisfied to within the default value of the constraint tolerance.

<stopping criteria details>

Active inequalities (to within options.TolCon = 1e-006):
lower upper ineqlin ineqnonlin
1
3

x =

1.0000
4.5000
11.7155

fval =

0.0015

exitflag =

4

output =

iterations: 5
funcCount: 20
lssteplength: 1
stepsize: 6.1230e-007
algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'
firstorderopt: 1.2510e-004
constrviolation: 0
message: [1x817 char]

lambda =

lower: [3x1 double]
upper: [3x1 double]
eqlin: [0x1 double]
eqnonlin: [0x1 double]
ineqlin: [6x1 double]
ineqnonlin: [5x1 double]
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-11
光从你这几句里面看不出什么问题,可能是别的函数里出的问题

使用matlab的fmincon优化解决非线性问题,一直报错,求大神解答,小白在线...
问题出在约束条件和初值个数都是3个,则会要求目标值也是3个,而优化问题要求得出一个标题值,而不是3个目标值。所以,可这样改:建立目标函数的M文件:function m =fun1(x)m=cos(x)*4\/(3*pi);约束条件:function [g,h]=fun2(x)g=cos(5*x);%此处可改 h=[];%此处可改 操作函数:x...

使用matlab的fmincon优化解决非线性问题,一直报错,求大神解答,小白在线...
这道题我试了fmincon函数,效果不明显,所以改用全局搜索函数GlobalSearch。另外说明一下,这都是求极小值的函数,如果要求m的最大值,那就先求出-m的最小值,其相反数即为最大值。下面给出优化过程:先在m文件中创建约束函数 function [c,ceq] = fun_con(x) % 非线性不等约束 c = [];...

如何用matlab求解非线性约束优化问题
此题的问题描如下图。由于本经验主要是谈非线性约束下的最优化问题,对于其他线性约束就不再考虑。然后启动matlab。新建一个函数文件,用来写目标函数。在编辑器窗口中写入我们要求的目标函数,并保存,注意使函数名与文件名相同。然后再新建一个函数文件,用来编写非线性约束条件。步骤及其注意事项同上。额...

在matlab中为什么改变目标函数,优化结果不变呢,哪儿出错了,或者有没有...
5、使用fmincon()函数求出,x、y、z值 6、验证约束条件是否接近于0 按上述方法进行编程,运行可以得到如下结果。

约束非线性规划工具-fmincon(matlab)的使用
在MATLAB中,使用函数 即可调用fmincon函数进行约束非线性规划,其中fun为目标函数:例如:x0为初始值:A和b为线性不等式约束条件的参数,Aeq和beq为线性不等式约束条件的参数(没有使用过,形式如下):lb为x0中每一维的下限,ub位每一维的上限,形式如下:nonlcon(Nonlinear constraints)为非线性不等式...

请高手帮我看一下我的matlab程序错在哪里了? max(min{f1,f2,f3,f4,f...
1、为了保证整数解且两两不等而引入的非线性等式约束,为什么不从1次方开始(当然,经测试,似乎并无影响)?2、非线性等式约束的第4次项加入时,为什么认为“得到的解是错误的”?就因为“不但不满足整数要求,最小的最大值也不为-7”吗?这种原因好像有点说不过去:(1)要满足整数解的要求,7...

matlab非线性规划fmincon函数中目标函数参数传递问题,怎么解?
在TolCon约束精度内,求解器不能找到一个满足所有约束条件的点,此时,可以尝试以下方法:(1)检查线性约束 通过求解一个线性规划问题来找到一个满足界约束和线性约束的点。i)定义一个目标函数是常值0的线性规划问题、f = zeros(size(x0)); % assumes x0 is the initial point ii)求解这个线性...

matlab中约束条件非线性,求目标函数最小值 怎么做?
function [c,ceq]=xiandaicon(x) %构造约束函数c=[];ceq=100-x(1)^3*x(2)*(12-exp(-x(1)\/x(2)));function y=xiandaiobj(x) %构造目标函数,命名为xiandaiobj.my=x(1)*x(2)^3lb=[0 0];ub=[];x0=[1 1];[x,fval]=fmincon(@xiandaiobj,x0,[],[],[],[],lb,ub,@xiandaicon)...

matlab非线性规划fmincon函数中目标函数参数传递问题,急求!
2、使用嵌套函数,也就是把目标函数写成主函数的一个嵌套函数,这样主函数里面随着循环变化的变量就可以直接在嵌套函数里面使用。推荐使用这种方法。3、使用传递附加参数的方法。例如,把目标函数定义为 function y = objfun(x, p1, p2...)调用fmincon的时候,用 fmincon(@objfun,x0,A,b,Ae,be,lb...

matlab非线性约束优化设计-求大神指教,最好能发个源程序供参考_百度知 ...
约束条件与题主相同。根据上述,可以用matlab的fmincon()最小值函数求解,得到最优解。首先、建立目标函数,fmincon_fun(x)第二,建立约束函数,fmincon_con(x)第三,用fmincon函数求解,即 [x,fval,exitflag] = fmincon(@(x) fmincon_fun(x),x0,[],[],[],[],lb,ub,@(x) fmincon_con(...

相似回答
大家正在搜