找回密码
 注册
Simdroid-非首页
查看: 738|回复: 10

通过isight的结果数据库,有效研究优化的历程

[复制链接]
发表于 2005-5-30 13:50:58 | 显示全部楼层 |阅读模式 来自 北京海淀
isight的算法很多,对不熟悉算法的人来讲就似乎是个黑盒子,觉得很神秘。那么,如何知道算法每步在干什么工作呢?
下面推荐一个方法,即:通过isight的db文件数据库的后处理来研究算法的历程.

比如:梯度算法在计算过程中,通常要进行评价、敏度分析、线搜索等操作,你可以把db数据库打开,然后看到"Internal"这一列的值即可知道isight在这一步在作什么工作:

Internal:
   Displays the evaluation scheme used by the technique
   (0 - Evaluation, 1- Gradient, 2 - Search, 3 - Initialize).

类似的,其他字段还有如下(更多信息,请查看iSIGHT user guide的 Solution Monitor--> Using Database Files --> Filtering Data by Rows):

Feasibility:

Records whether the design satisfies its constraints and how it compares to previous designs. There are ten possible values, 0-9. For more
information on the meaning of these values, refer to the iSIGHT Reference Guide.

Control:
  Provides information on the iterative control mode that is being used
  (1 - Single, 2 - Optimize, 3 - DOE, 4 - Approximation, 5 - TaskPlan).

Approach:
  Shows whether an optimization run is deterministic or probabilistic
  (0 - Deterministic, 1 - Probabilistic).
  A deterministic optimization is a standard optimization. A probabilistic optimization includes random variables and reliability analysis.

Analysis:
   Displays the type of analysis for the recorded design point. The following options are available:

   0 - Task run without approximations (Exact analysis).
   1 - Task run with approximations (Approximate analysis).
   2 - Design restored from database using Exact match.
   3 - Design restored from database using inexact match (Significant Digits match or Relative Delta match).

  The following values are used for Mixed Integer Optimization (MOST) only. Since MOST treats all INTEGER and DISCRETE design variables as REAL parameters
during initial phases of optimization, such parameters can assume values that are outside of the original design space. Therefore, design points with such violations
must be marked with different Analysis codes and cannot be used for Best Solution or in future database lookups.
   4 - Task run without approximations (Exact analysis), outside of the original
design space.
   5 - Task run with approximations (Approximate analysis), outside of the original design space.
   6 - Design restored from database using Exact match, outside of the original design space.
   7 - Design restored from database using inexact match (Significant Digits match or Relative Delta match), outside of the original design space.

  
Technique:
    Displays the plan named being used during design exploration.  Technique Data. Displays information pertaining to the design exploration
technique.

评分

1

查看全部评分

发表于 2005-5-30 17:22:21 | 显示全部楼层 来自 北京交通大学

Re:通过isight的结果数据库,有效研究优化的历程

Simdroid开发平台
看来以后得认真读一读iSIGHT user guide和reference guide!
发表于 2005-5-31 11:30:14 | 显示全部楼层 来自 北京朝阳

Re:通过isight的结果数据库,有效研究优化的历程

呵呵,如果写清楚,1用single代替就不用看帮助了,岂不更方便?
 楼主| 发表于 2005-5-31 14:11:21 | 显示全部楼层 来自 北京海淀

Re:通过isight的结果数据库,有效研究优化的历程

这是两个问题:

1、算法编写的通用常识:  算法都是专业人员编写,数据结构一定要简单,否则,函数参数如果都用字符串来表达和传递,太占内存,影响程序效率。而程序可读性则通过详尽的开发帮助文档来提供。

2、在软件界面上,则通过开发出的人机界面,提供足够多的指引信息(Log文件、信息提示和详尽的帮助文档)。

任何软件和用户都需要通过以上两个方面去了解算法内核,因为往往软件图形界面不能提供100%的算法内幕,借助软件帮助文档和算法参考手册,则可以达到研究算法的目的。
发表于 2005-5-31 19:50:03 | 显示全部楼层 来自 北京交通大学

Re:通过isight的结果数据库,有效研究优化的历程

同意,不过这不是给自己编来用的软件,是在编写优化软件。对优化软件,初学者一般都摸不着头脑。。。如何能让用户尽快学会也应该是程序员们应该考虑的问题。不是说内部数据库啥样子,给客户就啥样,不用后处理,直接给客户数据,让自己看就行了的。

软件后处理的意义之一就是将内部的只有程序员或者看了帮助之后才会懂的代码翻译成用户一目了然的甚至加有特殊标记(就像我们在书上画重点)的东西,简单的说就是翻译,把简单的为了编程方便的语言翻译成客户容易接受的语言。

是提供帮助文档直观,还是将数据以用户容易接受的方式显示更直观呢?尽管帮助也很详尽,我向用户还是喜欢后者。
 楼主| 发表于 2005-6-1 09:20:00 | 显示全部楼层 来自 北京海淀

Re:通过isight的结果数据库,有效研究优化的历程

用户的需求是分不同层次和偏好的:

刚开始时是入门阶段,希望有一些模板性的向导,尽早入门,这点通过一些简单算例和培训即可掌握;

中级阶段是应用阶段,希望知道参数的意义,算法的适用条件,可以通过软件的帮助和做工程实际题目完成;

高级阶段是研究阶段,将对算法本身感兴趣,甚至自己开发算法嵌入到软件中,这可以通过算法的文档、学术文献和软件的二次开发帮助完成。

由于用户群的组成不同、用户需求和水平在不断更新,用户的学习能力在进步, 所以,一个软件只有在这高、中、低三个层面上都能给用户带来信息,才能满足用户需求。
发表于 2005-6-1 10:23:43 | 显示全部楼层 来自 北京朝阳

Re:通过isight的结果数据库,有效研究优化的历程

同意,不过编应用软件是一切为用户的方便,无论初级还是高级用户,都希望能简单的就不要搞复杂。

目前绝大部分用户都还是在入门和中级阶段,暂从版上的讨论来看中级的人都不多(除了贵公司的工程师),作足够大的项目(以至于需要自己编算法二次开发)的客户很大可能就不用商业软件,自己去搞了。因为这时他自己有算法,他自己什么都明白,何必用商业软件的外壳呢?那时候他也有能力自己编外壳(即完成集成功能,集成软件用批处理或者sh就可以),这相对于算法来说容易的太多了
发表于 2005-6-1 11:51:12 | 显示全部楼层 来自 北京海淀

Re:通过isight的结果数据库,有效研究优化的历程

尽管商业软件大部分都是通过批处理的方式来集成,但集成可以用批处理来完成就是很不妥当的说法了,这种情况之适用于一部分情况。
发表于 2005-6-1 14:23:22 | 显示全部楼层 来自 北京朝阳

Re:通过isight的结果数据库,有效研究优化的历程

集成有两种情况,详细区分的话有四种。
1 集成命令流可以驱动的程序,如ansys
  1) windows下完全可以编写ansys.exe -i ** -o **的形式
  2) linux下类似
2 集成命令流不可以驱动的程序,如ansoft.maxwell. proii
需要增加中间驱动软件
  1) windows下winbatch、autoit什么的都行,先调用中间软件的批命令,再由它驱动真正的仿真程序计算
  2) linux下也类似

归根结底都是可以用批命令集成的,集成跟算法不一样,它繁琐但不神秘。

评分

1

查看全部评分

发表于 2005-6-1 15:26:54 | 显示全部楼层 来自 北京海淀

Re:通过isight的结果数据库,有效研究优化的历程

那是因为我们说得集成不是一个意思,你说的集成是集成某个软件或者程序。我说的集成是指集成某个设计任务。集成设计任务要求集成具有平台能力。不要说Dos Batch, sh*,即使是强大的Ansys Workbench都只能胜任有限的集成任务。
而且ansoft之类不用autoit就可以啦。
发表于 2005-6-1 17:14:10 | 显示全部楼层 来自 北京朝阳

Re:通过isight的结果数据库,有效研究优化的历程

workbench本身是ansys想将其内部的各个软件整合的产物,当然不是所谓的设计任务集成平台。ansys暂时没想做这个,说不定人家哪天感兴趣了,也就做了。

就像有些老师讲课,本来学生刚学就不明白,他还非要把概念往复杂里讲,往抽象里讲。中国人的思维大多是这样,从说话就可以看出来,经常拿道理说道理。而有些老师尽可能的让学生明白,形象的对比加以实例。美式思维大多如此,用事实的讲道理,证明道理。对所谓的设计优化平台来说也是一样,说得抽象了只能是雾里看花的让人畏惧,说得实在点,就是一个循环程序(每循环一次执行一次批处理,怎么循环是优化算法告诉它的),这个程序被称为平台,无奈现在平台这个词让人感觉有档次阿,呵呵

不同的版本方法不同而已
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-4 12:24 , Processed in 0.058584 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表