声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2008|回复: 7

[工具箱] 手里有一个有约束非线性的最优化问题,稍稍复杂了点,求大侠指点!!

[复制链接]
发表于 2009-5-19 12:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
结果是求目标函数的最小值。这个式子稍稍有点复杂,本来想用C语言做的,但是好像做这种比较复杂的最优化问题,C语言有点力不从心。查资料了解到用MATLAB的最优化工具箱比较容易实现。目标函数和约束条件都在WORD文档里,请大侠们看看这个程序到底应该怎么编,先谢过大家了,头疼呀。

目标函数及约束条件.doc

17.5 KB, 下载次数: 18

都在这里了

回复
分享到:

使用道具 举报

发表于 2009-5-19 20:58 | 显示全部楼层
使用fmincon即可 不过可能得到的是局部最优

评分

1

查看全部评分

发表于 2009-5-19 21:52 | 显示全部楼层

回复 楼主 cqhuanghe1 的帖子

既然已了解比较容易实现, 就试试看吧! 具体些再说
发表于 2009-5-20 09:15 | 显示全部楼层
实在不好办,就先转化为无约束的吧!
无约束的方法会很多的!网上搜!嘿嘿!
 楼主| 发表于 2009-5-21 17:37 | 显示全部楼层
有大家的回复真好,这个的确是用yufeng同学讲的fmincon函数求解。我已经借到了两本书 《最优化技术方法及MATLAB的实现》和《工程最优化设计》,里面详细的讲解了各种求最优化技术的方法。我正在尝试着做,不过matlab是初学,在输入目标函数的时候,提示我:等号或不等号失衡或滥用(Error: Unbalanced or misused parentheses or brackets.)。我是这样输入的f=(x(1)*x(2)*1.04*pi*(x(4)^2-x(3)^2)((pi*x(4)*x(5))/60)^3)/(4.16*0.606*(1-((x(4)+x(6))^2-x(4)^2)/(x(4)^2-x(3)^2)))。检查了好几遍,括号数目相等,不知道哪里有问题呢?
发表于 2009-5-21 21:04 | 显示全部楼层
f=(x(1)*x(2)*1.04*pi*(x(4)^2-x(3)^2)*((pi*x(4)*x(5))/60)^3)/(4.16*0.606*(1-((x(4)+x(6))^2-x(4)^2)/(x(4)^2-x(3)^2)))
 楼主| 发表于 2009-5-22 17:38 | 显示全部楼层
果然,漏了个乘号。ChaChing大虾果然细心。另外这个程序我已经编出来了,给大家看看。可是结果不太满意,因为MATLAB对初值的依赖性太强了,导致结果变化太大,所以我现在在尝试用1stOpt做,希望能得到满意的结果。

先自己编两个M-FILE函数保存在work目录下。然后在命令窗口下这样:
A=[-1,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,1,0,0,0;0,0,0,-1,0,0;0,0,0,1,0,0;0,0,-1,0.28,0,0;0,0,1,-0.36,0,0;0,0,0,0,-1,0;0,0,0,0,1,0;0,0,0,0,0,-1;0,0,0,0,0,1];
b=[0;0.6;0.39;-0.1;0.16;-0.38;0.45;0;0;-2500;3000;-0.205;0.02];
x0=[0.3;0.2;0.13;0.4;2800;0.01];
[x,fval]=fmincon('myfun',x0,A,b,[],[],[],[],'mycon')

完成。这样就能出结果了,可惜对初值的依赖性太强,结果不好。总之谢谢大家了。

[ 本帖最后由 ChaChing 于 2009-5-22 18:25 编辑 ]
 楼主| 发表于 2009-5-22 17:39 | 显示全部楼层
忘了写上那两个要自己编的函数。补充在这里。
其一,
function[c,ceq]=mycon(x)
c=x(2)*(pi/4)*(x(4)^2-x(3)^2)*((pi*x(4)*x(5))/60)-1.82780;
ceq=[];
其二,
function f=myfun(x)
f=(x(1)*x(2)*1.04*pi*(x(4)^2-x(3)^2)*((pi*x(4)*x(5))/60)^3)/(4.16*0.606*(1-((x(4)+x(6))^2-x(4)^2)/(x(4)^2-x(3)^2)));

[ 本帖最后由 ChaChing 于 2009-5-22 18:17 编辑 ]

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-27 08:47 , Processed in 0.073042 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表