跳转到内容

优化方法

TFStudio 提供了一整套完整的优化器工具箱。本页说明每一种优化器是什么、何时使用,并总结了我们针对所有方法所运行的基准测试,以设定默认值。

存在两类根本不同的任务:

  • 精炼(Refinement):结构固定,仅移动层的厚度以最小化评价函数。绝不增删层。
  • 合成(Synthesis):改变结构:插入、移除、拆分或合并层,以寻找更优的拓扑。

所有方法最小化的都是完全相同的评价函数(来自 评价函数编辑器 的操作数集合),并且都遵循 设计编辑器 中设置的表面模式(front_only / back_only / both_independent / symmetric)。


从 精炼 窗口的下拉菜单中选择方法。它们分为局部(local)(从你当前的设计沿评价函数斜率向下搜索)和全局(global)(广泛搜索,无梯度)。

方法 是什么 最适合
序列二次规划(Sequential QP,SQP) ⭐ 默认 有界牛顿步,将厚度限制(见下文)作为硬约束(box-QP,精确满足边界,无需罚函数调参)。 默认选择。 将最小厚度作为硬限制处理,并在基准中最难的带约束案例上远远领先其他局部精炼器。没有任何局部精炼器在每个案例中都胜出,因此当 SQP 停滞时,可尝试 CG 或“全部尝试,保留最佳”。
阻尼最小二乘(Damped Least Squares,DLS) Levenberg–Marquardt,经典的薄膜最小二乘精炼器。QR 求解的阻尼步,精确解析雅可比矩阵。 稳健的经典方法;在每次合成步骤之后都会被调用。没有最小厚度时接近最佳,有最小厚度时明显落后。
共轭梯度(Conjugate Gradient,CG) Polak–Ribière⁺ 纯梯度方法(Nocedal & Wright §5.2),精确解析 ∇MF,投影式回溯线搜索。 对一个尚可的设计进行抛光。在基准的分束器和三线带通上是最佳的局部精炼器(无论有无最小厚度)。
牛顿(Newton) 二阶方法。对单侧评分时使用精确解析海森矩阵(JᵀJ + 曲率);对全滤光片(Both / symmetric)使用高斯-牛顿(JᵀJ)。 以最少迭代次数完成二次收敛的收尾:小堆栈、接近极小值时,当你想要最后几位精度时。
牛顿-共轭梯度(Newton-CG) 截断牛顿法,无矩阵(matrix-free);用内层 CG 通过海森-向量乘积求解牛顿步(无需稠密海森矩阵)。 无需形成海森矩阵即可走二阶步。 在无约束的多通带案例上是最佳的局部精炼器。

厚度限制。 没有任何方法内置最大层厚:只要评价函数需要,层就可以一直增厚,而红外波段的半波层和厚的间隔层正需要这一点。如需上限,请在 评价函数编辑器 中添加一行 MXT;如需制造下限,则添加一行 MNT。SQP 将 MNT 和 MXT 作为硬限制,任何一步都不会越出。其他方法将它们作为评价函数中的罚函数项,只要限制得到满足,这些项就保持为零。每种方法还会让每一层不低于一个最小厚度:精炼中为 1 nm,合成窗口中为 最小厚度 设置的值。只要评价函数还在把某层推得更薄,DLS、Newton 和 Newton-CG 就把它固定在该下限上,一旦评价函数把它拉回便立即释放,这样每一步都用在能够移动的层上。

方法 是什么 最适合
DLS 多起点(DLS multi-start) 从 N 个随机扰动起点运行 DLS,保留最佳结果。 在已知尚可的设计周围逃离浅层局部极小值。
差分进化(Differential Evolution,DE) Storn & Price(1997)的种群搜索,无梯度;在你的 CPU 核心间并行运行。 较差或未知的起始点、多模态目标。
模拟退火(Simulated Annealing,SA) Kirkpatrick(1983),以概率 exp(−ΔMF/T) 接受上坡移动,随后降温。 崎岖的评价函数曲面,需要爬出深井时。
全部尝试,保留最佳(Try all, keep best) 从同一起点运行每种方法并保留最低的评价函数(DLS 多起点最后运行,因为它最慢)。 当你不想选择,而宁愿让 TFStudio 选出赢家时。

所有方法在所有表面模式下都可用。 Newton / Newton-CG / SQP 对单侧使用完整的解析海森矩阵,对耦合的全滤光片评估使用高斯-牛顿,没有静默回退。


这些方法改变层的数量。详见各工具页面。

工具 作用 默认内层精炼器
针式 在 P 函数 指示评价函数改善的位置插入无限薄的“针式”层,然后进行精炼。 信赖域牛顿法(Trust-region Newton),它在基准的大多数案例中得到的评价函数低于 CG,并且在增长堆栈时不会使其坍缩。
渐进演化 将针式优化包裹在一个外层循环中,强制插入一个针式层(即使上坡)以逃离局部极小值。 CG,它不会像最小二乘精炼器那样在苛刻的多通带目标上停滞,且强制步骤能逃离它落入的极小值。
结构优化器 以模拟退火接受准则随机增 / 删 / 拆 / 合 / 扰层。 CG。在基准中取得最佳层效率。

各工具的内层精炼器可选;上述默认值均在真实设计上经基准确认。


多数设计只用一种方法? → SQP (默认)
无最小厚度、想用经典方法?→ DLS
需要抛光尚可的设计? → CG (或 Newton-CG)
接近极小值、想要最后精度?→ Newton-CG (或小堆栈上用 Newton)
难以满足最小厚度? → SQP (原生处理边界)
较差 / 未知起点、多模态? → DE (或崎岖曲面上用 SA)
层数不足以达到目标? → 合成:针式 → GE → 结构优化
不确定? → 全部尝试,保留最佳

一个可靠的完整工作流:

无约束合成 → 用你的最小厚度进行精炼 → 设计清理器 → 再次精炼。


为了设定本页的默认值与指导,我们针对一组固定的代表性设计(一个宽带增透膜、一个 50/50 分束器、一个三线带通、一个短通截止滤光片,以及一个苛刻的多通带滤光片)运行了每一种方法,并测量了最终评价函数、运行时间以及所得层数,分别在有约束和无约束、以及带现实最小厚度限制的情况下进行。

  • 没有任何局部精炼器在每个案例中都胜出。 默认的 SQP 将最小厚度视为硬盒式约束,并在最难的带约束案例上远远领先,即带 40 nm 下限的多通带(MF 0.235,其他方法为 0.51 到 0.56)。CG 在分束器和三线带通上是最佳的局部精炼器(无论有无该下限);带下限时,CG 在分束器上达到 MF 0.009,而 SQP 停在 0.067。DLS、Newton 和 SQP 在短通截止滤光片上并列。
  • 全局精炼器能逃离局部极小值:在宽带增透膜上,DE 达到 MF 0.012,DLS 多起点达到 0.008,而普通 DLS 停在 0.118。
  • 合成在原始评价函数上胜出:在层数足够的前提下,生长层的工具(针式 / GE)能达到比任何固定结构精炼器更低的评价函数。
  • 结构优化器给出最佳的层效率:每层 评价函数最低。
  • dMin 1 ↔ 40 的权衡是真实且可见的:dMin = 1 nm 让合成达到更低的评价函数(更多、更薄的层);可制造的厚度下限会抬高评价函数,但产出可制造的堆栈。在 dMin = 1 下合成,然后在精炼 + 清理器处理中强制你真实的厚度下限。
  • 约束行为是工具特定的且有意为之: 针式按设计忽略 MNT(MNT 罚函数会抹掉每一个可改进的候选),GE 遵循 MNT,而结构优化器 / 精炼通过罚函数遵循它。

有两件事能让每种方法在不改变结果的前提下更快:

  • 并行处理:多起点精炼、差分进化以及合成候选搜索会将工作分散到你的 CPU 核心上,因此在大型设计上仍能保持响应。
  • 硬件加速数学:核心光学计算通过一个优化引擎运行(默认开启;设置 → 性能),为每一次优化带来大幅加速。

  • K. Levenberg, Quart. Appl. Math. 2, 164 (1944); D. Marquardt, J. SIAM 11, 431 (1963), DLS / Levenberg–Marquardt。
  • J. Nocedal & S. Wright, Numerical Optimization, 2nd ed., §5.2 (CG), Ch. 6–7 (Newton / truncated Newton), Ch. 18 (SQP)。
  • R. Storn & K. Price, J. Global Optim. 11, 341 (1997), Differential Evolution。
  • S. Kirkpatrick, C. D. Gelatt, M. P. Vecchi, Science 220, 671 (1983), Simulated Annealing。
  • A. V. Tikhonravov et al., Appl. Opt. 35, 5493 (1996) & 46, 6936 (2007), needle / gradual evolution。
  • H. A. Macleod, Thin-Film Optical Filters, 5th ed., Ch. 9 & §13 (synthesis & refinement overview)。