跳转到内容

优化方法

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

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

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

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


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

方法 是什么 最适合
序列二次规划(Sequential QP,SQP) ⭐ 默认 有界牛顿步,将层边界 [MNT/MXT] ∩ [Dmin,Dmax] 作为硬约束(box-QP,精确满足边界,无需罚函数调参)。 默认选择。 在每一个基准案例中取得最佳或并列最佳的评价函数(MF),在带约束的问题上优势尤为明显(它原生处理最小厚度)。在困难问题上较慢,因此若你优先追求速度,可切换到 DLS。
阻尼最小二乘(Damped Least Squares,DLS) Levenberg–Marquardt,经典的薄膜最小二乘精炼器。QR 求解的阻尼步,精确解析雅可比矩阵。 快速、稳健的经典方法;在每次合成步骤之后都会被调用。当你想要在最后一点评价函数上追求速度时选用。
共轭梯度(Conjugate Gradient,CG) Polak–Ribière⁺ 纯梯度方法(Nocedal & Wright §5.2),精确解析 ∇MF,投影式回溯线搜索。 超大型堆栈以及对一个尚可的设计进行抛光。在 30 层失谐高反(detuned-HR)基准中胜出;是针式法首选的内层精炼器。
牛顿(Newton) 二阶方法。对单侧评分时使用精确解析海森矩阵(JᵀJ + 曲率);对全滤光片(Both / symmetric)使用高斯-牛顿(JᵀJ)。 以最少迭代次数完成二次收敛的收尾:小堆栈、接近极小值时,当你想要最后几位精度时。
牛顿-共轭梯度(Newton-CG) 截断牛顿法,无矩阵(matrix-free);用内层 CG 通过海森-向量乘积求解牛顿步(无需稠密海森矩阵)。 无需代价即可获得二阶质量。 可扩展到稠密牛顿过慢的大型堆栈(见下文 75.9 s → 2.8 s 的数据)。
方法 是什么 最适合
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 函数 指示评价函数改善的位置插入无限薄的“针式”层,然后进行精炼。 CG,它使设计保持“松弛”状态,以便扫描持续找到可改进的针式层(更重的精炼器会过度精炼,导致循环过早停止)。
渐进演化 将针式优化包裹在一个外层循环中,强制插入一个针式层(即使上坡)以逃离局部极小值。 CG,它不会像最小二乘精炼器那样在苛刻的多通带目标上停滞,且强制步骤能逃离它落入的极小值。
结构优化器 以模拟退火接受准则随机增 / 删 / 拆 / 合 / 扰层。 CG。在基准中取得最佳层效率

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


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

一个可靠的完整工作流:

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


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

  • SQP 是整体最佳的局部精炼器:在每一个案例中(无论带约束还是无约束)都取得最佳或并列最佳的评价函数,并且在带约束问题上优势明显,因为它将最小厚度视为硬盒式约束(无需罚函数调参)。它现在是默认的精炼方法。在困难问题上它比 DLS/Newton-CG 花费更多时间,但质量优势很大。
  • Newton-CG 是最佳的无矩阵二阶方法:它在不形成稠密海森矩阵的情况下匹配 Newton / SQP 的质量。在 12 层带通上,稠密 Newton 耗时 75.9 s,而 Newton-CG 仅 2.8 s,结果相同。
  • CG 在超大型堆栈上胜出:它拿下了 30 层失谐高反(detuned-HR)案例。
  • DE 是平滑问题上最强的全局优化器;在一个多模态 BBAR 上,它达到 MF 0.019,而普通 DLS 卡在 0.089(它逃离了局部极小值)。
  • 合成在原始评价函数上胜出:在层数足够的前提下,生长层的工具(针式 / 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)。