kyorri 发表于 2009-3-25 18:37:46

请教:为什么优化一直达不到要求

我用isight集成gambit和fluent做了个翼型的优化,用得是多岛遗传算法,要求增加升力系数,减小阻力系数,可是算了十几代后发现升力系数是增加了,可是阻力系数不见减少,请高手给以解答!谢谢啦!升力和阻力系数就是输出参数。

hudd632986 发表于 2009-3-29 14:05:13

我也正在学习,麻烦楼主能和我相互学习!
rongjianglei@163.com

yekai 发表于 2009-3-30 17:06:24

这个问题要具体分析,看什么原因。不同的问题,可能引起的原因不同

jacicka1984 发表于 2009-3-31 09:01:24

多岛处理多目标问题是通过将多个目标加权处理成一个目标,针对你的问题:升力系数增加,阻力不下降,有可能是阻力系数值相对于升力系数很小,比如一个是0.1 一个是10,那么加权起来,0.1的那个量带来的影响就微乎其微。 解决的方法是增加10那个变量的scale,把目标变量修正到同一量级上。
   如果不是上述因素,那么只能在模型上找问题了。呵呵

kyorri 发表于 2009-4-1 09:38:11

恩!那个阻力系数增加的是很小,麻烦楼上给讲下怎么增加那个变量的scale?谢谢啦!

jacicka1984 发表于 2009-4-1 11:36:02

目标变量设置界面的后两列是weight factor 和 scale ,还是以上面的那个y1=0.1 和y2=10 为例,通过设置y2的scale为100,isight就可以将这个变量除以100,这样它的量级就和y1一样了。

kyorri 发表于 2009-4-8 08:43:04

我这几天试了一下,阻力系数确实是减少了,设置那个scale的时候,需要设置目标变量的最大值,一旦超过那个最大值,那个惩罚函数就特别大,哪个高手给讲一下惩罚函数是怎么用的?

jacicka1984 发表于 2009-4-8 11:38:02

罚函数是算法的内部判别的手段,用来判断解是否可行,当你的最大值超过设定时,当然会被判断为不可行解了

seuboy2 发表于 2009-4-19 21:09:52

可以在定义目标函数的时候,人为设置不同目标函数在同一范围
页: [1]
查看完整版本: 请教:为什么优化一直达不到要求