dlchen 发表于 2007-12-24 20:45

matlab中的ga命令在多参数优化时怎么经常落在参数的边界值上呢?

ga()在多参数优化时,所得的最优解多是落在边界值上,有甚么方法能让其在可行域的全范围内搜寻呢?因为当边界范围很大时总得不到较好的解。

[ 本帖最后由 eight 于 2007-12-24 20:59 编辑 ]

happy 发表于 2007-12-25 09:40

是不是你给的参数范围不合适?

dlchen 发表于 2007-12-25 12:26

对于一个已知最优解问题而言,可行域范围包含了最优解,但是ga()总是在边界值附近转悠,找不到最优解。比如已知三个变量的优化可行域分别为、、,已知最优解为49、125、8。让ga()来优化的话,搜索到的解类似于10、200、5这样的边值组合解。算过好几个优化模型,ga()都是这样。是否matlab中的ga()在多参数非线性优化时都比较弱啊?

a282915531777 发表于 2011-12-2 17:14

请问 楼主 您的变量的优化可行域分别为、、在bounds中是怎么定义的????能把代码写出来让小弟领教一下吗   我也在编写一个这样的程序 不知道怎么设置这个变量定义方式
页: [1]
查看完整版本: matlab中的ga命令在多参数优化时怎么经常落在参数的边界值上呢?