对于多参数,非线性的优化问题您一般用什么方法?(200分)

  • 主题发起人 主题发起人 savenight
  • 开始时间 开始时间
S

savenight

Unregistered / Unconfirmed
GUEST, unregistred user!
对于多参数,非线性的优化问题您一般用什么方法,在用这种方法的时候参数配置的依据是什么,
对于收敛慢的问题您又做了如何的优化(当然数学理论的证明可以不谈,有可能的话给出引用的出处就行)
//可以针对您所感兴趣的具体问题谈。
欢迎大家讨论,人人有分,说的精彩者1000分奉上!
 
你是在做控制理论方面吗?
 
这种问题一般可以用matlab中的优化工具箱解决,很方便的。
L-M方法一般是比较有效的一种。
 
谢谢gangwang的参与:)
matlab只是一种工具,而解决问题要靠具体的算法,比如现在比较热的现代非线性优化算法中的
GA,SA,ANN,ACO等等。
 
什么是'多参数,非线性的优化问题'?
什么是'收敛慢'?
[:I]
 
[h1]我是听课的[/h1]
 
没人搭理?
 
最有实践意义的还是一些经典的数学优化法,如牛顿法等
现代出现的一些如GA只能在理论上对有限小系统应用。
收敛之快慢,在面对具体问题时,可根据具体模型的特点,对其中影响收敛的参数按其物理意义控制
进行控制
 
watercontainer:不错,看来你是做过实际工程的。对于现代非线性优化算法的数学基础还很薄弱,
所以很多地方的参数设置都是靠经验值。不过对于某些多参数的大型项目来说,用传统的方法几乎是
得不到答案的,并且还需要扎实的数学基本功。所以我是想知道实际的应用中,比如GA,什么时候用
A变异方案,什么时候用B变异方案;什么时候用A交叉方案,什么时候又用B交叉方案,有没有实际的工程
例子(理论我看了一些,缺的是实际应用),可否再详细地讲述一下,谢谢您的回答:)
 
把问题讲得具体一点!!!
 
GA中的变异方法很多,甚至我们可以定义自己的变异方法,而且各个算子之间的相互影响
也很大,所以我想是真的很难说清的,最好是先用matlab写一个(用matlab写很快),找一些
实际的数据来试,来调这些参数.实际很多时候我们的确是这么作的.

还有根据你的编码,选择,复制等算子,也对变异方法有很大的指导
最重要的还是实际问题.
毕业设计的时候作了个简单的GA,还调了好长时间的
GA实用于非线性的优化问题,但不能保证找到的是最优的,对数据量大的问题也比较好
另外还有最速下降法,梯度搜索法.....这些方法在复杂,不稳定的系统中容易陷入局部最优,
各有优劣! [:)]
 
Haha...:谢谢您的回答:)。我之所以要大家结合实际例子来说明,就是因为我在实际应用中,总是靠
经验值来设定各项参数,问题稍一变动,各种参数又得重新设置。经典算法一般都能给出数学的推证,但
GA等我总觉得用的不够踏实,如果您有具体的项目程序,可否让俺拜读一番?银子您随便从俺的口袋里拣。
 
是这样的呀,这就是为什么到matlab6,都没有GA工具箱.
我毕业设计的那个是自己写的(matlab的,怕见笑)
在google上以 GA 查,在国外的网站上能找到不错的代码
万能的GA算法,真的是不好写的写
小弟没有项目程序 55~~~~~~~~~~~
 
敢问您的毕设是什么方向?
国外的GA代码当然好,我还用过Delphi编写的一个GA组件(俄罗斯某网站下载的),代码写的简练,易懂。
不过忘记它的下载地址了。
GA的代码网上很多,难得的是结合具体的项目所给出的代码。
 
我的那个设计是帮别人写的,主要是解决解决抽象和不确定性问题的优化,
因为这样的优化找不到适应度函数,所以要先用神经网络把他训练出来
进而用GA进行优化,然后结合一个简单的例子实现了这个思想
 
这本书《数值计算方法与C语言工程函数库》第17章是关于最优化的方法的,或许对你有帮助,这本书里面对于多维问题介绍了爬山法、鲍威尔(Powell)法、共轭梯度法、拟--牛顿法、线性规划法以及模拟退火法,不知道是不是你需要的,这本书1996年科学出版社出版,杨中华、汪蕙编著
另外,软件除了MatLab外还有CMMS,Maple等,这两个软件可以找到下载处
 
chuguozhen:thanks :).
 
to savenight:
如果有兴趣的话我们一起讨论一下写一个比较通用的
GA算法
 
》》写一个比较通用的GA算法
在上学的时候,我曾经花了几个月来做这个东西,总觉得框架设计的不是很好。
另外对于GA掌握的还不够全面,对于何种情况下,怎样调整交叉、变异算子的参数等等
理解的还是不够。所以最终把那个程序给扔掉了。
这个月的项目太紧,等手上的活做完了,咱哥俩好好讨论一下。
 
Haha...: GA做的怎样了:)
 
后退
顶部