24小时热门版块排行榜    

Znn3bq.jpeg
查看: 2133  |  回复: 2

椋木迪

新虫 (小有名气)

[求助] fmincon函数求解非线性约束优化问题出错 已有1人参与

我用fmincon函数求解一个非线性约束优化问题总是算不出结果,不知道哪里出问题了,求大佬帮忙看看,一下是代码:
x0=[3.6;0.8;19;7.8;7.6;3.5;5.2];
A=[];b=[];
Aeq=[];beq=[];
lb=[2.6;0.7;17;7.3;7.3;2.9;5.0];ub=[3.6;0.8;28;8.3;8.3;3.9;5.5];
[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(@myfun,x0,A,b,Aeq,beq,lb,ub,@mycon);

function [c,ceq] = mycon(x)
c(1)=27/(x(1)*x(2)^2*x(3))-1;
c(2)=397.5/(x(1)*x(2)^2*x(3)^2)-1;
c(3)=1.93*x(4)^3/(x(2)*x(3)*x(6)^4)-1;
c(4)=1.93*x(5)^3/(x(2)*x(3)*x(7)^4)-1;
c(5)= 10*x(6)^(-3)*sqrt((745*x(2)^(-1)*x(3)^(-1)*x(4))^2+1.69*10^7)-1100;
c(6)=10*x(7)^(-3)*sqrt((745*x(2)^(-1)*x(3)^(-1)*x(5))^2+1.575*10^8)-850;
c(7)=(1.5*x(6)+1.9)/x(4)-1;
c(8)=(1.1*x(7)+1.9)/x(5)-1;
c(9)=x(2)*x(3)-40;
c(10)=5-x(1)/x(2);
c(11)=x(1)/x(2)-12;
ceq = [];

function y = myfun(x)
y = 0.7854*x(1)*x(2)^2*(3.333*x(3)^2+14.9334*x(3)-43.0934)-1.5079*x(1)*(x(6)^2+x(7)^2)+7.477*(x(6)^3+x(7)^3)+0.7854*(x(4)*x(6)^2+x(5)*x(7)^2);

以下是MATLAB里的提示:
Local minimum found that satisfies the constraints.

Optimization completed because the objective function is non-decreasing in
feasible directions, to within the default value of the optimality tolerance,
and constraints are satisfied to within the default value of the constraint tolerance.

<stopping criteria details>


Optimization completed: The relative first-order optimality measure, 7.082717e-09,
is less than options.OptimalityTolerance = 1.000000e-06, and the relative maximum constraint
violation, 0.000000e+00, is less than options.ConstraintTolerance = 1.000000e-06.

Optimization Metric                                            Options
relative first-order optimality =   7.08e-09       OptimalityTolerance =   1e-06 (default)
relative max(constraint violation) =   0.00e+00    ConstraintTolerance =   1e-06 (default)
由于是第一次用MATLAB来求解优化问题,所很多地方不懂,请多多指教,谢谢各位大神了。
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

somomo91

专家顾问 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
这个问题很常见,找不到全局最优,只有局部最优
可以试着
1. 改变初始值
2. 修改 fmincon 的参数,比如算法等等
2楼2018-05-23 02:25:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

椋木迪

新虫 (小有名气)

引用回帖:
2楼: Originally posted by somomo91 at 2018-05-23 02:25:44
这个问题很常见,找不到全局最优,只有局部最优
可以试着
1. 改变初始值
2. 修改 fmincon 的参数,比如算法等等

fmincon函数不返回局部最优解么?最后没有结果出来。另外初始值修改过了,还是不行,sqp和set-active算法也同样不行。还有其他办法吗
3楼2018-05-23 14:25:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 椋木迪 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 284求调剂 +21 让我上岸吧阿西 2026-04-09 21/1050 2026-04-15 21:53 by noqvsozv
[考研] 294求调剂 +8 淡然654321 2026-04-15 8/400 2026-04-15 21:47 by lbsjt
[考研] 085404 22408 309分求调剂 +9 lzmk 2026-04-14 10/500 2026-04-15 20:02 by 学员JpLReM
[考研] 297,工科调剂?河南农业大学本科 +11 河南农业大学-能 2026-04-14 11/550 2026-04-15 15:03 by 学员JpLReM
[考研] 调剂求收留 +34 果然有我 2026-04-10 35/1750 2026-04-15 13:05 by 西北望—风沙
[考研] 药学305求调剂 +10 玛卡巴卡boom 2026-04-10 10/500 2026-04-14 15:55 by zs92450
[考研] 290求调剂 +21 luoziheng 2026-04-10 23/1150 2026-04-14 15:49 by zs92450
[考研] 297求调剂 +23 ORCHID1 2026-04-10 26/1300 2026-04-14 13:52 by 陈皮皮
[考研] 105500药学求调剂 +4 x_skys 2026-04-12 4/200 2026-04-14 13:37 by rndfc
[考研] 300分求调剂 (085501机械专硕,本科扬大) +9 xu@841019 2026-04-11 10/500 2026-04-14 08:48 by 木木mumu~
[考研] 2本,初试303,0860求调剂 +6 floriea 2026-04-12 8/400 2026-04-12 18:13 by zhouxiaoyu
[考研] 085410 273求调剂 +10 X1999 2026-04-09 10/500 2026-04-12 09:24 by 逆水乘风
[考研] 调剂 +6 青灯不负 2026-04-09 6/300 2026-04-11 20:35 by dongdian1
[考研] 359求调剂 +5 胃痉挛累了 2026-04-11 5/250 2026-04-11 19:55 by lbsjt
[考研] 机械专硕270求调剂,接受跨专业 +12 老师看看我吧aba 2026-04-09 14/700 2026-04-11 10:21 by laoshidan
[考研] 一志愿985机械学硕380求调剂 +5 关关雎鸠10 2026-04-11 5/250 2026-04-11 10:10 by 知念。A
[考研] 中药学调剂 初试324 +4 洋甘菊、 2026-04-10 6/300 2026-04-11 09:41 by gong120082
[考研] 083200 305分 求二轮调剂 不接受跨专业 +9 Claireyyyy 2026-04-09 10/500 2026-04-10 21:21 by Claireyyyy
[考研] 263能源动力专硕求调剂 +4 加大号饭盒袋 2026-04-10 4/200 2026-04-10 20:52 by gong120082
[考研] 一志愿矿大,材料工程专硕314分,0856可调都可以 +15 无懈可击的巨人 2026-04-09 15/750 2026-04-10 18:10 by hmn_wj
信息提示
请填处理意见