声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1663|回复: 7

[综合讨论] 运行fmincon,变量不参与优化,为什么?

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

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

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

x
Fmincon 做优化,
X0=[55,20,20];
lb=[35,4,5];
ub=[80,60,90];
[X,fval]=fmincon('myfunt1',X0,[],[],[],[],lb,ub)
结果出现
Optimization terminated: first-order optimality measure less than options.TolFun and maximum constraint violation is less  than options.TolCon.
No active inequalities.
X =
    55    20    20

fval =
   15.4891
X的值根本就是初值,并没有参与优化,请问这是什么原因。
回复
分享到:

使用道具 举报

发表于 2009-7-19 19:22 | 显示全部楼层
maximum constraint violation is less  than options.
 楼主| 发表于 2009-7-19 19:30 | 显示全部楼层
能说具体点吗,有什么办法可能解决这个问题
发表于 2009-7-19 20:15 | 显示全部楼层
options = optimset('Display','iter','TolFun',1e-8)
This statement creates an optimization options structure called options in which the Display option is set to 'iter' and the TolFun option is set to 1e-8.

可能是初值带入既满足优化条件,利用上例修改TolFun的大小后试试。

评分

1

查看全部评分

 楼主| 发表于 2009-7-19 22:45 | 显示全部楼层
恩,谢谢,试试。
另外我改了初值,最后的fval竟然还和之前的一样,不变,即x0=[50,40,40]运行后,x=[50,40,40],fval还是15.4891,怪了啊!!!
发表于 2009-7-20 07:05 | 显示全部楼层
画出myfunt1计算结果,多画几幅图,检查它的输出结果与你的感觉是否一致。有可能是这个函数有问题

评分

1

查看全部评分

 楼主| 发表于 2009-7-20 16:25 | 显示全部楼层
myfunt返回的是least-square-error,奇怪的就是,不管怎么赋X的值,返回的总是15.4891.与myfunt相关的结果画出图与预想的形状差不多了,就是幅值有差异,所以用fmincon优化来最小化least-square-error。另外,我也试了改tolfun,没效果啊。
 楼主| 发表于 2009-7-20 17:35 | 显示全部楼层
这个问题查出来了,原来自己没注意在myfunt里面调用的子程序里面已经把X赋值了。

[ 本帖最后由 ChaChing 于 2009-7-20 23:56 编辑 ]

评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2024-5-2 12:49 , Processed in 0.316535 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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