2. 实验对象建模

实验优化工程的第一步,不是急着调参或跑实验,而是把真实实验系统“翻译”成优化算法能理解的语言。这个翻译过程就是实验对象建模。它要回答三个问题:我能改变什么(设计变量)、我关心什么结果(目标函数)、哪些条件不能突破(约束条件)。三者共同划定了优化的边界,决定了后续搜索空间的大小与形状。

一、从真实系统到数学描述

以化学反应收率优化为例。真实系统包括反应釜、加热套、搅拌器、进料泵和在线检测仪。我们并不需要把每个物理细节都写进模型,而是提取对目标有显著影响、且可独立调节的量。假设该实验可调因素为:反应温度 T、催化剂用量 C、反应时间 t。那么设计变量向量可写为:

x = [T, C, t]
T ∈ [40, 90] °C
C ∈ [0.5, 3.0] g
t ∈ [10, 60] min

目标函数是收率 Y(%),希望最大化。约束条件包括:温度不得超过溶剂沸点 95 °C;催化剂成本上限使 C ≤ 3.0 g;反应时间受设备排产限制 t ≤ 60 min。此外,若存在副反应,还需加入选择性 S ≥ 85% 作为约束。这样,一个真实实验就被抽象为:

max  Y(T, C, t)
s.t. T ≤ 95
     C ≤ 3.0
     t ≤ 60
     S(T, C, t) ≥ 85
     T, C, t 在各自范围内

注意,目标函数和约束函数的具体形式通常未知,需要通过实验数据拟合或代理模型来近似。这正是“主动学习”发挥作用的地方:用尽量少的实验点,逐步逼近真实响应面。

二、设计变量的选择原则

设计变量不是越多越好。变量过多会指数级扩大搜索空间,增加实验成本。选择时应遵循三条原则:可调性——实验过程中能独立改变;显著性——对目标有可观测影响;独立性——变量之间尽量不高度相关。例如,若搅拌转速与传热系数强耦合,同时调节两者可能造成共线性,此时可固定一个或改用组合变量。

变量类型也需区分:连续变量(温度、浓度)、离散变量(催化剂种类、批次)、有序变量(等级)。连续变量适合贝叶斯优化或高斯过程;离散变量则常需混合编码或分层搜索。

三、目标函数与约束的工程化表达

目标函数可以是单目标,也可以是多目标。单目标如“收率最大化”;多目标如“收率最大化且杂质最小化”。多目标时,通常转化为加权和或帕累托前沿搜索。约束分为硬约束和软约束:硬约束不可违反,如安全温度上限;软约束可适当放松,如纯度略低于目标但可通过后续纯化弥补。

在主动学习中,约束常通过惩罚函数或可行域分类器处理。例如,将约束违反程度加入目标:

J = Y - λ · max(0, S_min - S)

其中 λ 为惩罚系数。当 S 低于下限时,J 被拉低,算法自然避开不可行区域。

四、优化边界的确定

优化边界由变量范围和约束共同决定。确定边界时,既要避免过宽导致大量无效实验,也要避免过窄遗漏最优解。常用方法包括:文献调研、预实验、专家经验、以及基于历史数据的可行域估计。例如,通过 5 次预实验发现温度低于 50 °C 时反应几乎不进行,则可将下界从 40 °C 收紧到 50 °C,节省搜索预算。

边界确定后,还应进行边界敏感性检查:若最优解落在边界附近,说明边界可能设得太紧,需要外扩;若最优解远离边界,则边界合理。这一检查应在每轮主动学习后重复进行。

实验对象建模:从真实系统到优化边界 真实实验系统 反应釜 · 加热套 搅拌器 · 进料泵 在线检测仪 抽象 设计变量 x 温度 T ∈ [40, 90] °C 催化剂 C ∈ [0.5, 3.0] g 时间 t ∈ [10, 60] min 可调 · 显著 · 独立 映射 目标函数 f(x) max 收率 Y(T, C, t) min 杂质 I(T, C, t) 多目标 → 加权/帕累托 响应面未知 → 代理模型 约束条件 g(x) ≤ 0 硬约束:T ≤ 95 °C(安全) · C ≤ 3.0 g(成本) · t ≤ 60 min(排产) 软约束:选择性 S ≥ 85% → 惩罚函数 J = Y − λ·max(0, S_min − S) 可行域 = 变量范围 ∩ 约束交集 优化边界:搜索空间 Ω Ω = { x | x ∈ 变量范围 且 g(x) ≤ 0 } 边界敏感性检查:最优解靠近边界 → 外扩;远离边界 → 合理 主动学习 采集函数 选下一个点 更新代理模型 迭代反馈

五、建模中的常见陷阱与应对

第一个陷阱是变量遗漏。若某个关键因素未被纳入设计变量,优化结果可能在实际中无法复现。应对方法是做预实验筛选,用部分因子设计或随机森林重要性排序识别显著变量。第二个陷阱是约束过紧。例如将温度上限设为 80 °C,而实际最优在 85 °C,则永远找不到最优。应对方法是先做边界探索实验,观察响应趋势。第三个陷阱是目标函数定义模糊。例如“提高质量”不是可计算目标,应转化为“纯度 ≥ 99.5%”或“杂质峰面积 ≤ 0.3%”。

实用建议:建模完成后,用一句话检验:“我要在____范围内,通过调节____,使____达到最优,同时满足____。”若这句话能完整填出,说明模型边界清晰;若某个空填不出来,说明该部分尚未定义清楚。

六、一个可复用的建模检查清单

检查项 关键问题 示例
设计变量 是否可调、显著、独立? T, C, t 三者独立可调
变量范围 上下界是否有依据? T ∈ [40, 90] °C,基于溶剂沸点与预实验
目标函数 是否可计算、可比较? 收率 Y 由 HPLC 定量
硬约束 是否不可违反? T ≤ 95 °C,安全红线
软约束 是否可惩罚处理? S ≥ 85%,用惩罚项加入目标
边界敏感性 最优解是否靠近边界? 若 T* = 89 °C,接近上界,考虑外扩

完成上述建模后,实验优化问题就从“模糊的工程需求”变成了“明确的数学问题”。后续的主动学习算法、采集函数和停止准则,都建立在这个模型之上。模型的质量直接决定优化的上限:一个遗漏关键变量或约束过紧的模型,再先进的算法也无法弥补。