非线性约束优化 目标函数和约束函数 在matlab中出错 %约束函数文件如下function [c,ceq]=confun(x)c=[0.70868/(pi*(x(1)^4 - x(2)^4)/(32*x(1))) - 10,0.8 - x(1) +x(2)];ceq=[];---------------------------%目标函数文件如下func

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 06:53:33
非线性约束优化 目标函数和约束函数 在matlab中出错 %约束函数文件如下function [c,ceq]=confun(x)c=[0.70868/(pi*(x(1)^4 - x(2)^4)/(32*x(1))) - 10,0.8 - x(1) +x(2)];ceq=[];---------------------------%目标函数文件如下func
xV[SF+;l"˒,vvc7H ɑɓn!4p &!i0M1g$~_Y &@&L_0=~۳縧x^;+kkqݛƞ< [ocF[x/:(P95:φmCX-ɔʦsrT:Ťto "% H3LY(e _G(ͱek\SuJWB^feŸoSJcC{eU!PjVLY*8UZiGC.v'_A%gx=WV,iӒKlh: L3L Ȝf2qʋɔ,$6G8өʨ rB3i.%(K)>rL.B\$"d8VT:%L`©K_ dZ.FVM

非线性约束优化 目标函数和约束函数 在matlab中出错 %约束函数文件如下function [c,ceq]=confun(x)c=[0.70868/(pi*(x(1)^4 - x(2)^4)/(32*x(1))) - 10,0.8 - x(1) +x(2)];ceq=[];---------------------------%目标函数文件如下func
非线性约束优化 目标函数和约束函数 在matlab中出错
%约束函数文件如下
function [c,ceq]=confun(x)
c=[0.70868/(pi*(x(1)^4 - x(2)^4)/(32*x(1))) - 10,0.8 - x(1) +x(2)];
ceq=[];
---------------------------
%目标函数文件如下
function f=objfun(x)
y(1) = 5*((49.5)^4)*(1.2121*(10^-3))/(384*7000*pi*(x(1)^4-x(2)^4)/64);
y(2) = pi*(x(1)^2 - x(2)^2)/4;
f=0.5*(y(1))^2 + 0.5*(y(2))^2;
----------------------------------
%优化函数文件
clear;
clc;
x0=[5,4];
lb=[3.2,2.3];
ub=[8,7.1];
options=optimset('Algorithm','interior-point','display','iter');
[x,fval,exitflag,output]=fmincon(@objfun,x0,[],[],[],[],lb,ub,@confun,options)
结果出错 时间比较急
运行结果:
No feasible solution found.
fmincon stopped because the size of the current step is less than
the default value of the step size tolerance but constraints were not
satisfied to within the default value of the constraint tolerance.
x =
3.2051 2.3000
fval =
7.6569
exitflag =
-2 结果不收敛

非线性约束优化 目标函数和约束函数 在matlab中出错 %约束函数文件如下function [c,ceq]=confun(x)c=[0.70868/(pi*(x(1)^4 - x(2)^4)/(32*x(1))) - 10,0.8 - x(1) +x(2)];ceq=[];---------------------------%目标函数文件如下func

原因

约束条件

c=[0.70868/(pi*(x(1)^4 - x(2)^4)/(32*x(1))) - 10, 0.8 - x(1) +x(2)];

写错了,改成

c=[0.70868/(pi*(x(1)^4 - x(2)^4)/(32*x(1))) - 10, 0.8 - x(1) + x(2)];

按照你原来的写法,+x(2) 会被理解为单独的一项,约束条件本来是两个,被当成三个了.而第三个约束条件x(2)的值在给定区域内均大于0,所以根本找不到可行解,而不是收不收敛的问题.

 

在表达式中适当地加一些空格有助于阅读,但如果加的位置不合适,可能会改变表达式的本来含义,这一点一定要小心.

 

结果

改正上面这一点错误后,优化成功:

Optimization terminated: first-order optimality relative error
less than options.TolFun, and relative constraint violation less
than options.TolCon.
x =
    3.2000    2.4000

fval =
    6.1902

exitflag =
     1

output =
         iterations: 7
          funcCount: 24
    constrviolation: 0
           stepsize: 7.1456e-007
          algorithm: 'interior-point'
      firstorderopt: 2.3809e-006
       cgiterations: 0
            message: [1x148 char]

 

图示

曲面为目标函数,透明部分为不满足约束条件的区域,红点为最优值.

非线性约束优化 目标函数和约束函数 在matlab中出错 %约束函数文件如下function [c,ceq]=confun(x)c=[0.70868/(pi*(x(1)^4 - x(2)^4)/(32*x(1))) - 10,0.8 - x(1) +x(2)];ceq=[];---------------------------%目标函数文件如下func 非常急!matlab如何完成非线性约束优化!目标函数是:x*(0.02+y)/(2*(300-x))-300/210000最大值约束条件是:0= 谁能帮我编段优化设计程序啊,一直目标函数、约束、变量,求满足约束且目标最小时的变量取值,万分感谢 用matlab的optimization工具箱遗传算法做函数优化问题:将目标函数写成m文件:function y=g1(x1,x2)y=x1^2+x1*x2-2*x2;end将非线性约束写成m文件:function[c,ceq]=yueshu(x1,x2)c=2*x1^2+x2-5;ceq=x1^2+2*x2-4;end工具箱设 %人字架体积优化设计%1----主程序%人字架优化调用目标函数文件与非线性约束文件%设计变量的初始值x0=[100;800];%设计变量的下界与上界lb=[20;200];ub=[140;1200];%线性不等式约束(g3、g4、g5、g6)中 matlab 非线性约束求最小值求目标函数f 的最小值,约束条件为 x>0,y>0,de 用matlab的optimization工具箱遗传算法优化函数,被优化的函数和条件约束如下,请问为会有报错(图片)以下是要优化的目标函数的m文件function F=f1(x)F=500*x(1)*sin(atan(x(5)/x(7))+acos((x(5)^2+x(7)^2+x(3)^2+x( matlab fmincon函数用法高手帮我看下这段有什么问题,为什么运行不出来目标函数和非线性约束不能放在一个M文件里面么?function f = myfun(x)f = 0.192457*1e-4*(x(2)+2)*x(1)^2*x(3);function [c,ceq] = mycon(x)c(1)=350 非线性约束规划 我编制了 目标函数和约束函数 为什么在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)=1 如何用Matlab求有限制条件的目标函数的最小值求解一个优化问题(目标函数非线性,约束函数线性)?minZ=56*x11+74*x12+61*x13+63*x14+63*x21+69*x22+65*x23+71*x24 +57*x31+77*x32+63*x33+67*x34+55*x41+76*x42+62 lingo中0和1约束函数. 非线性约束规划 我编制了 目标函数和约束函数 为什么在matlab中还是出错 求大神看看这不给力的function f=jsq_f(x);f=pi*(4.14*x(1)+2.5)^2*x(2)*x(3)^2/4;function[c,ceq]=jsq_y(x);c(1)=5*x(3)-x(2);c(2)=x(2)-17*x(3);c(3)=6 LINGO算非线性整数规划时,目标函数求最小值,少个约束条件怎么比有约束求的目标值还大,让我情何以堪 Lingo报错程序报错,一下午也找不出错误在哪里.感觉错误应该在目标函数和约束中.题目中的三个约束是:x(1)+.+x(10) 不等式约束多元线性规划我写论文,把最优目标函数和约束写出来,而且可能出现无解怎么判断啊 急!matlab 如何完成非线性约束优化小弟想用matlab求下面的最小值:目标函数:f=0.5*[1.067*10^7-1169*x(1)+8.82*x(1)^2-0.003*x(1)^3+4.53*10^-7*x(1)^4]+8.89/[-9506-0.0083*x(1)^2/x(2)^2-0.00023(-3641.48+x(1))*(395.84+x(1))*x(2)]; 懂罚函数的请进,有约束优化遗传算法的目标函数问题对于目标函数f最小,小弟用惩罚函数处理约束条件,把约束适当惩罚放入适应度函数中,那么最后求解适应度函数F最小即可,但是有一个问题 请教高手MATLAB约束非线性规划/一M文件的调试%1 目标函数function f=abfun(x);f=pi*130*(x(1)-0.75*x(3))^2/4+pi*[80^2-(x(1)-0.75*x(3))^2]*x(2)/4;%2 非线性约束funtion [c,ceq]=abfung(x);c(1)=40000-[0.75*pi*(x(1)-0.75*x(3))*x(2)]*10;