lovewft 发表于 2006-5-9 11:01

[求助]matlab优化问题:为什么用不同的初值,计算结果却有很大的不同

我用的是matlab优化工具箱里的<FONT color=#f73809>fmincon</FONT>函数,曾用了几个不同的初始值计算得出的结果却有很大的不同:<FONT color=#e6421a>有的是exitflag =0;有的是exitflag =-1不收敛;还有的是收敛的,但得出的目标函数相差很大。<BR></FONT><FONT color=#1a1ae6>请高手给小弟指点一下,看看到底是什么原因(我用的初始值是随便给的)<BR>而且我里面的目标函数与非线性约束条件很复杂!<BR></FONT>

lovewft 发表于 2006-5-9 15:41

<P>怎么没人回答<BR>高手快来就我啊!</P>

siyanger 发表于 2006-5-9 20:01

我也遇到过,可能是局部最优。不是全局最优。不知道怎么解决?

dingd 发表于 2006-5-9 22:11

Matlab的优化工具对初始值的依赖相当严重,选择不当,极易陷入局部最优,建议用1stOpt,基本不用猜初值。

suffer 发表于 2006-5-9 22:13

回复:(lovewft)[求助]matlab优化问题:为什么用不同...

<P>这个问题需要针对具体问题才能解决的,暂时没有看到一种比较通用的方法</P>

lovewft 发表于 2006-5-9 22:25

回复:(siyanger)我也遇到过,可能是局部最优。不是...

<P>那我对比里面各局部最优点,取其中目标函数最小的点作为该优化问题的解,这样行吗</P>

lovewft 发表于 2006-5-9 22:39

回复:(suffer)回复:(lovewft)[求助]matlab优化问...

什么具体问题?我这优化问题里的目标函数很复杂有4个变量,而且非线性等式与不等式约束条件也非常复杂!出现我上述说的那几种情况是不是因为约束条件太复杂,而不能求解该问题?还有fmincon函数对目标函数与约束条件有什么特殊要求?<BR>劳烦主任帮我指点一下!谢谢!

lovewft 发表于 2006-5-10 20:58

<P>我还是不大清楚<BR>高手进来帮我指点一下!</P>

lovewft 发表于 2006-5-11 21:54

<P>为什么还是没有人进来回答问题?<BR>哪位大侠进来帮我排忧解难吧!不甚感激!<BR></P>

qinyuan651 发表于 2006-5-16 20:07

是啊,我也碰到过类似的问题。访问了很多论坛,大致结论是:matlab的优化函数对初值的依赖性较强,建议采用其他软件

happy 发表于 2006-5-16 21:32

回复:(lovewft)[求助]matlab优化问题:为什么用不同...

<P>优化问题里最难解决的就局部最优问题,这是算法上的问题<BR>matlab又不是神仙,它的函数也都是基于各种算法开发的<BR><BR>要避免出现局部最优就需要将其和具体的物理意义对照起来<BR>根据具体的物理意义选取合适的算法和初始点才能解决这一问题</P>

huright 发表于 2006-5-17 11:07

<P>依靠初始值来寻找最优解,一般对初值比较敏感。这就是优化算法的收敛性问题。初值宣布还好,结果就有可能错误!!</P>

lovewft 发表于 2006-5-25 19:14

<P>happy 教授:我能不能取许多不同的初值,然后分别进行求解,最后取各解中的最小值作为该优化问题的近似解???</P>

lovewft 发表于 2006-5-26 19:27

<P>怎么还是没人答复我的问题???</P>
<P>大侠帮我指点迷津吧!<BR>谢谢!</P>

lovewft 发表于 2006-5-27 17:59

没人回答!<BR>自己先顶一个!
页: [1] 2
查看完整版本: [求助]matlab优化问题:为什么用不同的初值,计算结果却有很大的不同