首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

细说ZPL(7)如何用Macro控制优化

First

补充数值运算函数和字符串函数

数值运算函数

字符串函数

评价函数

1、建立默认的评价函数

DEFAULTMERIT type, data, reference, method, rings, arms, grid,delete, axial,lateral, start,xweight, oweight

2、删除所有、删除/增加一行评价函数。

DELETEMFO ALL

DELETEMFO row

INSERTMFO row

3、设置特定的评价函数

SETOPERAND row, col, value

Value是row和col所决定的行、列的值。col为11代表函数名字符串,为2代表 Int1,为3代表 Int2,为4 ~ 7代表 data1 ~ data4,为8代表目标值 target,为9代表权重 weight。

4、读取特定评价函数的值。

OPER(row, col)

col为10代表运算值,11代表贡献值。需要注意,只能读取当前值,更新才能读取最新值。

下面2个函数更方便使用,不需要添加到函数编辑器里,就可以读取某个评价函数的值

OPEV(code, int1, int2,data1, data2, data3, data4)

OPEW(code, int1, int2,data1, data2, data3, data4, data5, data6)

code为评价函数代码,由函数OCOD(A$)返回,其中A$为评价函数名字符串。

5、MF值:

MFCN( )

优化

1、设置变量。

如果status的值为0,则取消变量设置,否则将与code相应的值设为变量。如果code为Nn或On,则需提供非顺序元件的编号objectNum。如果code为M,则需提供多组态中的运算元operand。

SETVAR surf, code, status, objectNum

SETVAR config, M, status, operand

2、取消所有变量。

REMOVEVARIABLES

3、读取变量。

其中vector = 1~4,为ZPL所提供的4个一维数组之一。

GETVARDATA vector

不同变量类型的代码和其它参数说明如下表所示。对于不同的变量类型,某些参数可能没有意义。

4、执行优化。

优化的次数可以从1~99。algorithm = 0为阻尼最小均方差法(Damped Least Squares,为缺省方法),1为正交递减法( Orthogonal Descent)。

如果OPTIMIZE后面不带参数,则使用缺省优化方法,自动执行;如果HAMMER后面不带参数,则使用缺省优化方法,执行优化次数为1。

OPTIMIZE

OPTIMIZE number_of_cycles

OPTIMIZE number_of_cycles,algorithm

HAMMER

HAMMER number_of_cycles

HAMMER number_of_cycles, algorithm

5、套样板

其中tpd_file为样板数据文件名,log_file为输出log文件名,method为0~4间的整数,分别表示尝试所有方法、从优到劣、从劣到优、从长到短及从短到长,number_cycles为0表示自动,否则表示最大优化次数。

TESTPLATEFIT tpd_file,log_file, method, number_cycles

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180212G0UNK800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券