请教:为什么优化一直达不到要求
我用isight集成gambit和fluent做了个翼型的优化,用得是多岛遗传算法,要求增加升力系数,减小阻力系数,可是算了十几代后发现升力系数是增加了,可是阻力系数不见减少,请高手给以解答!谢谢啦!升力和阻力系数就是输出参数。 我也正在学习,麻烦楼主能和我相互学习!rongjianglei@163.com 这个问题要具体分析,看什么原因。不同的问题,可能引起的原因不同 多岛处理多目标问题是通过将多个目标加权处理成一个目标,针对你的问题:升力系数增加,阻力不下降,有可能是阻力系数值相对于升力系数很小,比如一个是0.1 一个是10,那么加权起来,0.1的那个量带来的影响就微乎其微。 解决的方法是增加10那个变量的scale,把目标变量修正到同一量级上。
如果不是上述因素,那么只能在模型上找问题了。呵呵 恩!那个阻力系数增加的是很小,麻烦楼上给讲下怎么增加那个变量的scale?谢谢啦! 目标变量设置界面的后两列是weight factor 和 scale ,还是以上面的那个y1=0.1 和y2=10 为例,通过设置y2的scale为100,isight就可以将这个变量除以100,这样它的量级就和y1一样了。 我这几天试了一下,阻力系数确实是减少了,设置那个scale的时候,需要设置目标变量的最大值,一旦超过那个最大值,那个惩罚函数就特别大,哪个高手给讲一下惩罚函数是怎么用的? 罚函数是算法的内部判别的手段,用来判断解是否可行,当你的最大值超过设定时,当然会被判断为不可行解了 可以在定义目标函数的时候,人为设置不同目标函数在同一范围
页:
[1]