caizi2008 发表于 2007-12-13 19:00

请教一个关于fmincon最优化的问题

我最近做了一个最优化的程序,使用fmincon
运行完成之后给出如下信息:
Optimization terminated: Magnitude of directional derivative in search
direction less than 2*options.TolFun and maximum constraint violation
is less than options.TolCon.

options=optimset('largescale','off');
=fmincon(@myfunmidu,x0,[],[],[],[],lb,ub,[],options)


exitflag =

   5

我想请问下大家,是不是我的程序没有把问题解决,按我理解的exitflag =1,问题才有可能对


请大家帮忙,上述问题该如何去解决 谢谢大家了
特别是Optimization terminated: Magnitude of directional derivative in search
direction less than 2*options.TolFun and maximum constraint violation
is less than options.TolCon.
这个提示 我不知道怎么样去改善程序:handshake :@Q

star198311 发表于 2007-12-13 19:50

我对函数内部深层次的东西也不懂。
但肯定是不是1最好,应该是越大效果越“好”一点,或者说没有绝对的好坏之分,只是由于满足了不同的条件,而优化终止。
比如
1 First order optimality conditions were satisfied to the specified tolerance
是说优化约束条件满足精度要求。
5 Magnitude of directional derivative was less than the specified tolerance and constraint violation was less than options.TolCon.
是说梯度大小满足要求,并且约束条件也满足要求。

有些术语不太清楚,不知道我认为的对不。

[ 本帖最后由 star198311 于 2007-12-13 19:54 编辑 ]

花如月 发表于 2007-12-13 20:00

directional derivative 记得这个一般译作 方差

star198311 发表于 2007-12-13 20:05

应该是方向导数(梯度)吧?
方差应该是variance.

caizi2008 发表于 2007-12-13 21:56

谢谢你们哈 呵呵
学习 学习再学习 我给你楼上的大哥发了一个消息
帮我看看那个问题

caizi2008 发表于 2007-12-13 21:58

应该是方向导数才对
呵呵
明天我再到书店的新书上查查 (看看不买)
有了结果再发上来哈

star198311 发表于 2007-12-13 23:16

原帖由 caizi2008 于 2007-12-13 21:58 发表 http://www.chinavib.com/forum/images/common/back.gif
谢谢你们哈 呵呵
学习 学习再学习 我给你楼上的大哥发了一个消息
帮我看看那个问题


“No active inequalities.”
意思是不等式式约束没有起到作用,也就是有没有它对优化结果没什么影响。
(个人理解,不一定对)
你可以把不等式去掉看看结果有没有变化。

[ 本帖最后由 star198311 于 2007-12-13 23:19 编辑 ]

caizi2008 发表于 2007-12-14 20:23

exitflag值对应的含义

1   一阶最优性条件满足容许范围
2    x的变化范围小于容许范围
3    目标函数的变化小于容许范围
4    重要搜索方向小于规定的容许范围容许范围并且约束违背小于options.TolCon
5   重要方向导数小于规定的容许范围容许范围并且约束违背小于options.TolCon
0    达到最大迭代次数或达到函数评价
-1   算法由输出函数终止
-2   无可行点


给大家提供一个邮箱里面有好东西在网络易盘里
wangmin770520@126.com
密码:770621
邮箱提供者MATLAB7.2优化设计实例指导教程 编者
页: [1]
查看完整版本: 请教一个关于fmincon最优化的问题