y1949b 发表于 2009-3-1 21:00

maxwell 12 中的五种优化算法有哪些特点(大家讨论一下)

本帖最后由 y1949b 于 2009-3-1 21:05 编辑

maxwell v12中共有5种优化算法可以选择

分别为

(1)sequentidal nonlinear programming

(2)sequential mixed integer nonlinear

(3)quasi newton

(4)pattern search

(5)genetic algorithm

那么这几种算法都有哪些特点呢,都分别适用于什么样的场合呢,欢迎大家讨论一下。


对参加讨论,并有一定见解的帖子,将给予积分奖励!

特别是结合电机来说,或者有实际比较的帖子,将给予重分奖励!

perch88 发表于 2009-3-2 02:44

本帖最后由 perch88 于 2009-3-2 03:40 编辑

除了4,都是优化常见算法
先不讨论算法的问题

maxwell的优化都是单目标,若有多目标,赋予权值weight,加权后换算成“一个”目标

我觉得只在maxwell里面用他的优化,还不如用参数化
因为如果几何尺寸有变化(如果不编dll让maxwell调用的话),只是修改点的坐标,会非常慢(后处理),我曾经用GA(遗传)优化过,算了200多步(2维,本来以为可以承受的,我的电脑64位多核8G内存),最后maxwell还是没反应,等了很久,最后我把它关了,用参数化大概扫略sweep一下,然后局部sweep。

例如,定义30个点坐标为变量形式,虽然真正优化的只有几个变量(5个左右),但是每次修改模型时还是会把这些变量全部刷一遍,不管干什么都慢,后处理尤其慢。

参数化修改参数当然也慢了(修改任何一个参数,等待maxwell刷新的时间长),慢到什么程度呢?我有一个project已经求解并保存结果了,结果别人说要看看最优点那个组合(只有两个变量),把那两个变量修改成最优数值以后,等了很久,后来只copy了mxwl文件重新打开的,修改了就看到模型变化。

我觉得我电脑够快了还这么慢,不知道别人有没有同样的问题 。
--------------------------------
说回来优化的问题,我觉得如果可以最好还是用别的软件比如matlab调用maxwell,这样即使算的慢,也能把算好部分的结果保留下来,不然算个几百步,万一maxwell出问题,前功尽弃,浪费时间。

onepagememory 发表于 2009-3-3 20:58

慢,太慢了。我做了一个v12.1自带的例子,算了48个小时,最后意外中断了。决定以后不尝试“优化”了。

y1949b 发表于 2009-3-3 21:02

呵呵我算了一天一夜居然没算完就给结束了   呵呵!

bhang 发表于 2009-3-3 21:24

那个V12的例子,就是调速PMSM的参数优化计算,我用了约46个小时,算完了发现与例子的结果仅稍有一点不同。笔记本从家到单位,再到家,楞是没关机,以后再也不这样算了。超过3个变量,组合就太多了。

yaning88 发表于 2009-3-15 18:59

我感觉12算起来确实很慢

辟尘 发表于 2009-7-17 16:21

(1)用得较多,对于大多数情况用这个就可以了。
(2)和(1)应该差不多,不过(2)可以以匝数为变量,因为匝数是不连续的,用(1)的话可能会出来匝数为小数的情况,肯定是不对的。
(3)的名称应该是拟牛顿,我理解的是,如果价值函数是一个非线性不是特强的,比较平滑的,可用这个。
(4)模式搜索,在MATLAB中有这个搜索工具箱,它可以考虑(3)不能考虑的一些情况,但收敛的速度太慢,让它迭代一些步数,然后再人工

选点好一些。
(5)我认为在优化过程中,太浪费有限元的计算了,当前最优点跳来跳去的。

perch88 发表于 2009-7-18 10:31

后来知道并证实了 慢是个bug,无论优化还是简单的参数化分析都是这样的
解决方法是把几百个组合分成几十个一组的连起来算
据说会很快解决的

dnawujun 发表于 2009-7-22 15:33

建议使用正交试验设计的方法来求优化,试验次数大为减少

jimmykingsea 发表于 2009-9-22 01:59

感觉12算起来确实很慢

eecomes 发表于 2009-9-23 10:43

这些优化算法好像求解起来挺费力气的,我一直都没太搞明白那些权值该怎么设置,所以基本上都用参数化分析。
前断时间看到楼主发的帖子说是在瞬态求解器下面可以用参数化分析的方法可以得到 T-N 曲线,我尝试了好久,还是没弄明白,按照楼主所说,将转速设置为变量,这个是可以的,但是我将转矩设置为输出量的时候就报告错误了,提示的意思是“参数化分析所输出的两必须是单调的”,还望楼主指教

y1949b 发表于 2009-9-23 14:38

我记得格式要这样写

y1949b 发表于 2009-9-23 14:41

呵呵 不是必须是单调的而是必须是单一的

瞬态分析转矩可是周期性的啊而不是就一个单一的值啊

hjb030510917 发表于 2009-9-25 17:36

我用的v12.1,请问这些算法在哪里选择?

mowenshui 发表于 2009-12-9 14:47

一半超过3个变量以上,需要浪费很多时间,我觉得能用其他工具,如matlab先确定参数的大致范围,然后采用ansoft计算。

Kyd70599 发表于 2009-12-28 15:32

12版有5中优化算法?11版只有2中……

Dreamsun 发表于 2010-1-4 10:07

我怎么感觉12版的建模起来也很慢,而且是超级慢,一般加个激励源啥的都得等上好久(模型导体数量很多,上千个)但一开始用的10版本,建模非常快,现在换成12.1,郁闷的很!

egwim 发表于 2010-1-4 16:09

我的理解:
(1) 多变量时用,典型的SQP,但是你的步长一定要设好(这里的步长不是Transient的那个,是设计变量的变化量),这个算法得到的最优解是局部最优解,跟变量的初始值密切相关;
(2) 可以理解为是(1)的 整数版,也就是设计量的最小变化量为1,同样的到得是局部最优解;
(3) 有这个是(1)的一维版本,如果不相信的话可以看一下Matlab里面的SQP帮助,它的迭代步用的就是准牛顿法的思想,得到的是一维局部最优解;
(4) 参数试验,严格来说不是优化算法,也就是把参数在变化范围内扫一遍,通过设置中心值试验和正交试验;
(5) 仿生学算法,种群里面每个都要算,时间长,计算量大,不是新机器烤机的话没必要进行。但是得到的是全局最优解,没什么起始点的问题。

harky 发表于 2010-3-29 21:12

我最近有用到maxwell的优化模块 遇到一个很关键的问题: 似乎在这个模块里不能对输出变量进行约束,而只能对输入变量做线性约束!!
我不知道是不是我学艺不精,但如果真是这样,感觉优化的作用就及其有限了!
另外关于Cost Fuction也比较迷惑,软件既然支持多目标,为什么还需要设置每个目标函数的condition和goal呢 给人的感觉像是在设定约束一样!!
晕乎,如果有大侠比较了解ansoft的优化模块,还望多多指教,这里先谢过了

harky 发表于 2010-3-29 21:13

另外 似乎在ansoft12.1里找不到关于优化的算例 岂不郁闷!
页: [1] 2
查看完整版本: maxwell 12 中的五种优化算法有哪些特点(大家讨论一下)