关于用MATLAB优化函数fmincon进行约束优化编程的问题我的模型Min s.t.%编写约束条件M文件(yueshu.m).function [c,ceq]=yueshufun(x1,x2,x3)c=[(x2^2+x3^2-(1-x1)^2)/2*x2*x3-sqrt(3)/2;sqrt(2)/2-(x2^2+x3^2-(1-x1)^2)/2*x2*x3];ceq=

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 00:47:17
关于用MATLAB优化函数fmincon进行约束优化编程的问题我的模型Min s.t.%编写约束条件M文件(yueshu.m).function [c,ceq]=yueshufun(x1,x2,x3)c=[(x2^2+x3^2-(1-x1)^2)/2*x2*x3-sqrt(3)/2;sqrt(2)/2-(x2^2+x3^2-(1-x1)^2)/2*x2*x3];ceq=

关于用MATLAB优化函数fmincon进行约束优化编程的问题我的模型Min s.t.%编写约束条件M文件(yueshu.m).function [c,ceq]=yueshufun(x1,x2,x3)c=[(x2^2+x3^2-(1-x1)^2)/2*x2*x3-sqrt(3)/2;sqrt(2)/2-(x2^2+x3^2-(1-x1)^2)/2*x2*x3];ceq=
关于用MATLAB优化函数fmincon进行约束优化编程的问题
我的模型
Min
s.t.
%编写约束条件M文件(yueshu.m).
function [c,ceq]=yueshufun(x1,x2,x3)
c=[(x2^2+x3^2-(1-x1)^2)/2*x2*x3-sqrt(3)/2;
sqrt(2)/2-(x2^2+x3^2-(1-x1)^2)/2*x2*x3];
ceq=[];
目标函数goal_func.m:
function H=goal_func(x1,x2,x3,x4)
F=0;
for i=1:20;
%w表示输入角θ.输入角变化180度,分20次,每次变化9度.
wi=1*pi*i./20;
G=(atan(x1*sin(x4)/(1-x1*cos(x4)))+acos((x1^2-x2^2+x3^2+1-2*x1*cos(x4))...
/(2*x3*sqrt(x1^2+1-2*x1*cos(x4))))-atan((x1*sin(x4+wi))/(1-x1*cos(x4+wi)))...
-acos((x1^2-x2^2+x3^2+1-2* x1*cos(x4+wi))/(2*x3*sqrt(x1^2+1-2*x1*cos(x4+wi))))-6*sin(pi*wi/180)/pi)^2;
F=F+G;
end %运算之后是数学模型中的目标函数.
H=F-r*(log(-x1-x2+x3+1)+log(-x1+x2-x3+1)+log(-x1+x2+x3-1)+log(x1-0.1)+log(-x1+0.5)...
+log(x2-0.1)+log(-x2+1.4)+log(x3-0.1)+log(-x3+0.9)...
+log(x2^2+x3^2-(1-x1)^2)/2*x2*x3-sqrt(3)/2+log(sqrt(2)/2-(x2^2+x3^2-(1-x1)^2)/2*x2*x3)); %这是惩罚函数的目标函数.惩罚函数法是解决约束优化问题的一种思路,是将目标函数和约束条件按照规定构造成新的目标函数,将约束优化问题转化为无约束优化问题
下面是fmincon函数的调用:
%调用fmincon函数进行求解.
x0=[0.3,1,0.6,2*pi/3];
lb=[];
ub=[];
options=optimset('Largescale','on','display','iter','tolx',1e-4); %搞不懂这里options干什么的.
for a=1:100;
b=10^a;
r=1/b;
[x,fval,exitflag,output,lambda]=fmincon('goal_func',x0,A,b,[],[],[],[],'yueshufun',options);
if fval>=0.001 %收敛精度为0.01.
break;
end
end
最后是几个已知参数:
下面是参数A:9*3的
1\x051\x05-1
1\x05-1\x051
1\x05-1\x05-1
-1\x050\x050
1\x050\x050
0\x05-1\x050
0\x051\x050
0\x050\x05-1
0\x050\x051
下面是b
1
1
-1
-0.100000000000000
0.500000000000000
-0.100000000000000
1.40000000000000
-0.100000000000000
0.900000000000000
最后还有初始值x0
0.300000000000000\x051\x050.600000000000000\x052.09439510239320
最后是运行是出现的问题::
dyfmincon
Warning:Trust-region-reflective method does not currently solve this type of problem,
using active-set (line search) instead.
> In fmincon at 439
In dyfmincon at 9
Input argument "x4" is undefined.
Error in ==> goal_func at 6
G=(atan(x1*sin(x4)/(1-x1*cos(x4)))+acos((x1^2-x2^2+x3^2+1-2*x1*cos(x4))...
Error in ==> fmincon at 519
initVals.f = feval(funfcn{3},X,varargin{:});
Error in ==> dyfmincon at 9
[x,fval,exitflag,output,lambda]=fmincon('goal_func',x0,A,b,[],[],[],[],'yueshufun',options);
Caused by:
Failure in initial user-supplied objective function evaluation.FMINCON cannot continue.

关于用MATLAB优化函数fmincon进行约束优化编程的问题我的模型Min s.t.%编写约束条件M文件(yueshu.m).function [c,ceq]=yueshufun(x1,x2,x3)c=[(x2^2+x3^2-(1-x1)^2)/2*x2*x3-sqrt(3)/2;sqrt(2)/2-(x2^2+x3^2-(1-x1)^2)/2*x2*x3];ceq=
1 function [c,ceq]=yueshufun(x)
x1=x(1);x2=x(2);x3=x(3);
c=[(x2^2+x3^2-(1-x1)^2)/2*x2*x3-sqrt(3)/2;
sqrt(2)/2-(x2^2+x3^2-(1-x1)^2)/2*x2*x3];
ceq=[]; %%非线性约束关系函数的输入是一个矩阵
2 function H=goal_func(x)
x1=x(1);x2=x(2);x3=x(3);x4=x(4);
F=0;
for i=1:20;
%w表示输入角θ.输入角变化180度,分20次,每次变化9度.
wi=1*pi*i./20;
G=(atan(x1*sin(x4)/(1-x1*cos(x4)))+acos((x1^2-x2^2+x3^2+1-2*x1*cos(x4))...
/(2*x3*sqrt(x1^2+1-2*x1*cos(x4))))-atan((x1*sin(x4+wi))/(1-x1*cos(x4+wi)))...
-acos((x1^2-x2^2+x3^2+1-2* x1*cos(x4+wi))/(2*x3*sqrt(x1^2+1-2*x1*cos(x4+wi))))-6*sin(pi*wi/180)/pi)^2;
F=F+G;
end %运算之后是数学模型中的目标函数.
H=F-r*(log(-x1-x2+x3+1)+log(-x1+x2-x3+1)+log(-x1+x2+x3-1)+log(x1-0.1)+log(-x1+0.5)...
+log(x2-0.1)+log(-x2+1.4)+log(x3-0.1)+log(-x3+0.9)...
+log(x2^2+x3^2-(1-x1)^2)/2*x2*x3-sqrt(3)/2+log(sqrt(2)/2-(x2^2+x3^2-(1-x1)^2)/2*x2*x3)); %%目标函数中r没有定义,在目标函数中定义r.
3 A中,楼主要求的参数是3个,但是G中用到了x4,那你的x中就必须有四个值,而不是三个值;
4 x0=[0.3;1;0.6;2*pi/3;];初始值x0应该是列向量
5 options=optimset('Largescale','on','display','iter','tolx',1e-4); 是用来控制fmincon的各种参数,tolx是优化终止条件;LargeScale是采用的算法;display选择iter显示迭代次数;
6 注意log(a)a不能为0,我测试了下,提示log运算中a出现0的情况;

关于MATLAB的fmincon函数现在有一个用fmincon的优化问题函数挺复杂的.是一个时间序列里面的问题.然后上下界和非线性条件都用到了程序本身是正确的但是关键是现在针对不同的数据对于迭代初 一个关于matlab中fmincon函数优化的问题,困扰中利用matlab的优化函数fmincon优化一个简单的问题,就是得不到答案,程序如下:X0=[2 2];A=[1 0.1;-0.1 -1];B=[4;-2];Aeq=[];Beq=[];LB=[];UB=[];NONLCON=[];options = optimset( MATLAB中fmincon函数用的什么算法 关于用MATLAB优化函数fmincon进行约束优化编程的问题我的模型Min s.t.%编写约束条件M文件(yueshu.m).function [c,ceq]=yueshufun(x1,x2,x3)c=[(x2^2+x3^2-(1-x1)^2)/2*x2*x3-sqrt(3)/2;sqrt(2)/2-(x2^2+x3^2-(1-x1)^2)/2*x2*x3];ceq= matlab 求解优化问题,过程信息显示用matlab优化函数【比如fmincon等】 求解优化问题时,总是显示一大堆的优化过程信息【比如用什么算法,迭代次数,梯度等】,请问,如何屏蔽这些信息的显示?------ matlab非线性规划fmincon函数中目标函数参数传递问题,fmincon函数的标准形式维[x,fval]=fmincon('fun',Bt0,[],[],[],[],lb,ub,@constr),然后fun是目标函数,Bt0为初值点,优化函数相当于讲Bt0带入fun,逐渐逼近求局 关于matlab最优化中fmincon函数主函数:x0=[0.1 0.05 3.5];lb=[0 0 3];ub=[0.8 0.6 10];a=[-1 1 0;-1 0 0;0 -1 0;0 0 -1];b=[0 0 0 -3]';options=optimset('tolcon',1e-8);[x,fval]=fmincon(@cdz_f,x0,a,b,[],[],lb,ub,@cdz_v,options)辅助函数(非 使用matlab的fmincon优化,一直提示变量“x”未定义,使用matlab的fmincon函数进行优化,遇到以下问题:%以下是建立的目标函数M文件function f = CostObj( x ) % 目标函数a=[1 3 5];b=[2 4 6];c=0*ones(1,3);for i=1:3c(i matlab最优化函数fmincon中的初值x0如何选取?恳请指教!matlab最优化函数fmincon中的初值x0如何选取?我发现选取不同的初值 ,会出现不同的结果,x0应该如何选取?恳请高手指教》感激不尽 关于matlab最优化中fmincon函数主程序如下:x0=[0.17352;-0.33959;3.2403;3.043;-0.046951;6.8701e-011];A=[-1,0,0,0,0,0;0,-1,0,0,0,0;0,0,-1,0,0,0;0,0,0,-1,0,0;0,0,0,0,-1,0;0,0,0,0,0,-1];b=zeros(6,1);[x,fval]=fmincon(@myfun11,x0,A,b,[],[],[],[ 求matlab中fmincon函数格式的中文解释? matlab fmincon函数中的迭代初值怎么确定 一个简单的matlab问题,fmincon优化,例如求以下这个函数f=(x(1)-2).^2+(x(2)-3).^2+26的极小值,如果对自变量加上约束条件:3 一个简单的matlab问题,fmincon优化,例如求以下这个函数f=(x(1)-2).^2+(x(2)-3).^2+26的极小值,如果对自变量加上约束条件:3最好给出具体的命令、方法。 matlab中的fmincon具体怎么用?接替原理是什么? matlab中fmincon函数中不含等号的边界值怎么设置?matlab中fmincon函数的不含等号的边界值怎么设置?fmincon中默认的边界条件是lb 用matlab解决非线性线性规划问题直接上图哪个大神知道,帮忙用fmincon函数把上面模型程序写出来, matlab优化