关于用进化策略求解Xin-She Yang N.4函数时自变量单位的疑问
关于Xin-She Yang N.4函数自变量的弧度/角度制选择
在数学优化领域处理这类经典测试函数时,毫无疑问要采用弧度制——这几乎是所有标准优化测试函数(包括Xin-She Yang系列)的默认约定,原因如下:
- 从函数定义的本质来看:这类测试函数的设计完全基于数学中三角函数的标准定义,而数学里三角函数的输入默认就是弧度。如果改用角度制,函数的极值分布、取值范围、整体形态都会彻底偏离原函数的设计初衷,你的进化策略求解也就失去了测试算法性能的意义。
- 从函数表达式的细节推导:看你给出的公式,里面有$\sin^2\sqrt{|x_i|}$这一项。Yang N.4函数的常规变量范围是$x_i \in [-10, 10]$,如果用角度制,$\sqrt{|x_i|}$的范围是0到约3.16度,$\sin$的取值会非常小,完全无法触发原函数设计的复杂波动特性;而用弧度制的话,$\sqrt{|x_i|}$的范围是0到约3.16弧度(约181度),能让三角函数正常发挥作用,呈现原函数的预期形态。
实践中的验证与注意事项
- 几乎所有编程语言的内置三角函数(比如Python的
math.sin/numpy.sin、MATLAB的sin)默认都接受弧度输入,直接用就好,不需要额外转换。 - 你可以用简单的数值验证来确认:比如取$n=1$,$x_1=0$,代入原函数计算结果应为$-1$。再试$x_1=\pi/2$(弧度),按公式计算得到的结果和用编程语言内置函数直接计算的结果一致,就说明你用对了;如果用角度制代入,结果会和预期偏差极大,一眼就能发现问题。
内容的提问来源于stack exchange,提问作者VansFannel
相关产品推荐
相关产品推荐

