| 查看: 2272 | 回复: 16 | ||
yijianmeixyt铁杆木虫 (著名写手)
一剪梅
|
[求助]
Matlab中的fmincon功能求助 已有2人参与
|
|
|
本人在非线性约束优化问题中遇到难题,请高人帮忙,谢谢! 问题描述: 求解函数 f=w1+w2+40*cos(a1)*cos(b1)+30* sin(a1)cos(b1)-40 在非线性约束条件 0.05≤w1+20*sin(b1)+20* sin(a1)*cos(b1)≤0.05 0.05≤w1-20*sin(b1)+20* sin(a1)*cos(b1)≤0.05 0.05≤w1-20*sin(b1)-20* sin(a1)*cos(b1)≤0.05 0.05≤w1+20*sin(b1)-20* sin(a1)*cos(b1)≤0.05 0.05≤40* sin(a1)*cos(b1)≤0.05 0.05≤w2-20*sin(b2)+50* sin(a2)*cos(b2)≤0.05 0.05≤w2-20*sin(b2)-50* sin(a2)*cos(b2)≤0.05 0.05≤w2+20*sin(b2)+50* sin(a2)*cos(b2)≤0.05 0.05≤w2+20*sin(b2)-50* sin(a2)*cos(b2)≤0.05 下的优化解。约束条件中的角度a和b都非常小,一般只有0.006*180/π左右,而w的范围在±0.05。 我使用fmincon()命令来计算,程序代码如下: %/////主程序 clc; clear; % w1=x(1); % w2=x(2); % cos(a1)=x(3) % cos(b1)=x(4) % sin(b2)=x(5) % sin(a2)=x(6) x0=[0;0;0;0;0;0]; ub=[0.05;0.05;1;1;0.007;0.007]; lb=-ub; options = optimset('display','iter','Algorithm','active-set'); [x,fval,exitflag]=fmincon(@myfun,x0,[],[],[],[],lb,ub,@nonlcon1,options); disp(fval); %/////////目标函数 function f= myfun(x) f=x(1)+40*x(3)*x(4)+30*x(4)*sqrt(1-x(3)^2)-40+x(2)+0*x(5)+0*x(6); end %////////约束 function [c ceq]=nonlcon1(x) c=[x(1)-20*sqrt(1-x(4)^2)-20*x(4)*sqrt(1-x(3)^2)-0.05;-(x(1)-20*sqrt(1-x(4)^2)-20*x(4)*sqrt(1-x(3)^2)-0.05)-0.1;... x(1)+20*sqrt(1-x(4)^2)-20*x(4)*sqrt(1-x(3)^2)-0.05;-(x(1)+20*sqrt(1-x(4)^2)-20*x(4)*sqrt(1-x(3)^2)-0.05)-0.1;... x(1)+20*sqrt(1-x(4)^2)+20*x(4)*sqrt(1-x(3)^2)-0.05;-(x(1)+20*sqrt(1-x(4)^2)+20*x(4)*sqrt(1-x(3)^2)-0.05)-0.1;... x(1)-20*sqrt(1-x(4)^2)+20*x(4)*sqrt(1-x(3)^2)-0.05;-(x(1)-20*sqrt(1-x(4)^2)+20*x(4)*sqrt(1-x(3)^2)-0.05)-0.1;... x(2)-20*x(5)-50*sqrt(1-x(5)^2)*x(6)-0.05;-(x(2)-20*x(5)-50*sqrt(1-x(5)^2)*x(6)-0.05)-0.1;... x(2)-20*x(5)+50*sqrt(1-x(5)^2)*x(6)-0.05;-(x(2)-20*x(5)+50*sqrt(1-x(5)^2)*x(6)-0.05)-0.1;... x(2)+20*x(5)+50*sqrt(1-x(5)^2)*x(6)-0.05;-(x(2)+20*x(5)+50*sqrt(1-x(5)^2)*x(6)-0.05)-0.1;... x(2)+20*x(5)-50*sqrt(1-x(5)^2)*x(6)-0.05;-(x(2)+20*x(5)-50*sqrt(1-x(5)^2)*x(6)-0.05)-0.1]; ceq=[]; end 结果明显不对,请求高人指点,谢谢! |
» 猜你喜欢
回收溶剂求助
已经有7人回复
职称评审没过,求安慰
已经有40人回复
硝基苯如何除去
已经有3人回复
A期刊撤稿
已经有4人回复
垃圾破二本职称评审标准
已经有17人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有22人回复
申请26博士
已经有5人回复
EST投稿状态问题
已经有7人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
求助文献
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
matlab中fmincon的fun是矩阵运算怎么办?
已经有5人回复
matlab线性规划
已经有5人回复
求教matlab线性优化求最小值的问题
已经有7人回复
matlab 绘图功能
已经有7人回复
求助matlab解非线性规划。求代码。
已经有13人回复
matlab里有没有类似于origin合并图形的功能
已经有8人回复
matlab fmincon优化函数 怎样知道每次得到的迭代点
已经有3人回复
小弟新学matlab,想借用 fmincon求个函数的最小值,求助错误该法,感谢!
已经有4人回复
fmincon优化问题
已经有5人回复
【资源】《matlab辅助激光光学分析与应用》 pdf 里面含有很多matlab程序
已经有81人回复

cooooldog
铁杆木虫 (著名写手)
ส็็็
- 应助: 237 (大学生)
- 金币: 6101.9
- 散金: 1114
- 红花: 39
- 帖子: 1380
- 在线: 553.8小时
- 虫号: 506699
- 注册: 2008-02-18
- 专业: 模式识别
【答案】应助回帖
★ ★ ★ ★ ★
感谢参与,应助指数 +1
yijianmeixyt: 金币+5, ★有帮助, 提供了一个解决思路 2014-03-26 09:32:30
感谢参与,应助指数 +1
yijianmeixyt: 金币+5, ★有帮助, 提供了一个解决思路 2014-03-26 09:32:30
|
fmincon用的方法本质上是非线性目标函数的迭代方法优化; 大部分情况下得不到好的结果. 尤其是初值不理想的情况下; 所以,最好用专门的全局优化算法. 1.模拟退火, 2. 遗传算法; 3.粒子群; 4. 差分演化; 5.其它蚁群蜂群鱼群等算法... 得到的结果再作为fmincon的初值. 此外,含有正余弦函数的优化问题,最好变成不含正余弦的两个变量形式 然后增加一个两变量平方和为1的非线性约束. |

4楼2014-03-26 09:24:51
dingd
铁杆木虫 (职业作家)
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.5小时
- 虫号: 291104
- 注册: 2006-10-28
2楼2014-03-26 08:58:09
yijianmeixyt
铁杆木虫 (著名写手)
一剪梅
- 应助: 158 (高中生)
- 金币: 16506.5
- 散金: 59
- 红花: 5
- 帖子: 1880
- 在线: 304.6小时
- 虫号: 1161506
- 注册: 2010-12-03
- 性别: GG
- 专业: 机构学与机器人

3楼2014-03-26 09:12:37
yijianmeixyt
铁杆木虫 (著名写手)
一剪梅
- 应助: 158 (高中生)
- 金币: 16506.5
- 散金: 59
- 红花: 5
- 帖子: 1880
- 在线: 304.6小时
- 虫号: 1161506
- 注册: 2010-12-03
- 性别: GG
- 专业: 机构学与机器人

5楼2014-03-26 09:32:04
dingd
铁杆木虫 (职业作家)
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.5小时
- 虫号: 291104
- 注册: 2006-10-28
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★
yijianmeixyt: 金币+10, ★★★很有帮助, 非常有用 2014-03-26 10:45:19
yijianmeixyt: 金币+10, ★★★很有帮助, 非常有用 2014-03-26 10:45:19
|
试下1stOpt,全局优化求解: 目标函数值(最小): -110.099999999887 w1: -0.049999999917981 w2: -0.0499999999686499 a1: -2.32599889392923E-15 b1: -3.14159265359389 b2: 9.35389140020864E-16 a2: -3.00105093596349E-33 约束函数: 1: w1+20*sin(b1)+20* sin(a1)*cos(b1)-(-0.05) = 1.640242178E-010 2: w1+20*sin(b1)+20* sin(a1)*cos(b1)-(0.05) = -0.09999999984 3: w1-20*sin(b1)+20* sin(a1)*cos(b1)-(-0.05) = 1.069075384E-013 4: w1-20*sin(b1)+20* sin(a1)*cos(b1)-(0.05) = -0.1 5: w1-20*sin(b1)-20* sin(a1)*cos(b1)-(-0.05) = 1.387084891E-014 6: w1-20*sin(b1)-20* sin(a1)*cos(b1)-(0.05) = -0.1 7: w1+20*sin(b1)-20* sin(a1)*cos(b1)-(-0.05) = 1.639311811E-010 8: w1+20*sin(b1)-20* sin(a1)*cos(b1)-(0.05) = -0.09999999984 9: 40*sin(a1)*cos(b1)-(-0.05) = 0.05 10: 40*sin(a1)*cos(b1)-(0.05) = -0.05 11: w2-20*sin(b2)+50* sin(a2)*cos(b2)-(-0.05) = 3.133134724E-011 12: w2-20*sin(b2)+50* sin(a2)*cos(b2)-(0.05) = -0.09999999997 13: w2-20*sin(b2)-50* sin(a2)*cos(b2)-(-0.05) = 3.133134724E-011 14: w2-20*sin(b2)-50* sin(a2)*cos(b2)-(0.05) = -0.09999999997 15: w2+20*sin(b2)+50* sin(a2)*cos(b2)-(-0.05) = 3.136876175E-011 16: w2+20*sin(b2)+50* sin(a2)*cos(b2)-(0.05) = -0.09999999997 17: w2+20*sin(b2)-50* sin(a2)*cos(b2)-(-0.05) = 3.136876175E-011 18: w2+20*sin(b2)-50* sin(a2)*cos(b2)-(0.05) = -0.09999999997 |
6楼2014-03-26 09:45:58
yijianmeixyt
铁杆木虫 (著名写手)
一剪梅
- 应助: 158 (高中生)
- 金币: 16506.5
- 散金: 59
- 红花: 5
- 帖子: 1880
- 在线: 304.6小时
- 虫号: 1161506
- 注册: 2010-12-03
- 性别: GG
- 专业: 机构学与机器人

7楼2014-03-26 10:08:25
yijianmeixyt
铁杆木虫 (著名写手)
一剪梅
- 应助: 158 (高中生)
- 金币: 16506.5
- 散金: 59
- 红花: 5
- 帖子: 1880
- 在线: 304.6小时
- 虫号: 1161506
- 注册: 2010-12-03
- 性别: GG
- 专业: 机构学与机器人

8楼2014-03-26 10:08:37
dingd
铁杆木虫 (职业作家)
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.5小时
- 虫号: 291104
- 注册: 2006-10-28
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★
nono2009: 金币+10, 鼓励应助 2014-08-11 20:04:26
nono2009: 金币+10, 鼓励应助 2014-08-11 20:04:26
|
目标函数“w1+w2+40*cos(a1)*cos(b1)+30* sin(a1)cos(b1)-40;”应该订正为“w1+w2+40*cos(a1)*cos(b1)+30* sin(a1)*cos(b1)-40;” 结果: 目标函数值(最小): -80.1124687498363 w1: -0.0249999998711498 w2: -0.0499999999774767 a1: 3.14284265391531 b1: 0 b2: 0 a2: 1.59174869141693E-14 |
9楼2014-03-26 11:09:51
yijianmeixyt
铁杆木虫 (著名写手)
一剪梅
- 应助: 158 (高中生)
- 金币: 16506.5
- 散金: 59
- 红花: 5
- 帖子: 1880
- 在线: 304.6小时
- 虫号: 1161506
- 注册: 2010-12-03
- 性别: GG
- 专业: 机构学与机器人

10楼2014-03-26 11:36:00













回复此楼