yeguiren 发表于 2008-9-19 16:12:01

请问各位高手这种数据流程能实现吗?

接触isight不长时间,在本板块看了不少大家发的帖子,学到了很多东西。我现在遇到一个小问题请大家帮忙解决,谢谢!
问题:假设有一个系统层问题和两个子系统问题,系统层优化完的最优解传递给两个子问题,两个子问题优化完的最优解再传递给系统层。也就是子问题不是嵌套在系统层问题中,两个层次地位一样,这样在isight中能实现吗?我在isight中做过CO的例子,插入两个子任务是嵌套的,也就是系统层优化一步传递结果给子系统。

yekai 发表于 2008-9-21 09:05:41

可以实性,在不同task之间传递数据

icemeteor 发表于 2008-9-21 21:26:06

其实就是迭代过程是吗?那得有个收敛条件,也就是计算结束的条件。
主task下加一个while,while下加一个task和两个“子”task。主task的任务选single,让计算在whlie下不断迭代
我觉得这样可行

yeguiren 发表于 2008-9-21 22:38:28

我觉得楼上说的有一定道理,我再考虑考虑,明天做个小例子看能不能行得通。
不知道大家看懂我解释得没有,我再说明一下:CO的系统层每迭代一步就往下传递结果,子系统从而完成一次完整的优化,这样在isight中能实现。我希望的是系统层迭代几步完成一次完整优化后传递结果到下面,下面再完成一次完整优化后传递结果到系统层,这样反复几次。

icemeteor 发表于 2008-9-22 03:01:13

按照你的想法,我提出一个问题
系统层优化时,是否加入一致性约束?
a. 如果不加一致性约束,那么子系统优化的结果对系统层没有意义,因为CO中,子系统优化的目标就是减小不一致性,使系统层的一致性约束尽可能满足。这时系统层的优化结果显然是不可行的。
b. 如果加上一致性约束,由于这个一致性约束的结果来自子系统,那么显然,系统层在进行这个完整的优化时,一致性约束的值是不会随设计变量的改变而改变的。在未收敛之前,一致性约束是不满足的,即系统层优化过程中,无论怎么调节设计变量,约束条件(一致性约束)一直不满足且没有改进的趋势,这样就会扰乱寻优算法调整设计变量的规则,不管寻优算法是用罚函数还是其他方式来处理约束条件,最后会得到一个很奇怪结果。
鉴于以上情况,系统层的一个完整的优化不会得到可行的解,更别说向最优解靠近了。

这是我分析后认为可能出现的情况,请指教!

yeguiren 发表于 2008-9-22 20:12:57

先说明一下,这种流程不同于CO。系统层和子系统层相当于串联,系统层固定子系统传上来的某些变量的值(出现在一致性约束中)迭代几步达到这时约束下的最小值,子系统固定系统传下来的某些变量的值迭代几步达到最小值,再将这时更新后的某些变量的值上传,这时系统层一致性约束变了,迭代几步再达到这时约束下的最小值。满足一定条件中止,这种形式能实现吗?

yekai 发表于 2008-9-23 12:49:37

可以实现,While是一种实现方式。iSIGHT搭建流程很方便,可以按照使用者的要求运行流程。
页: [1]
查看完整版本: 请问各位高手这种数据流程能实现吗?