2. 多目标优化基础与配方问题建模

化工配方优化与单目标优化最大的区别在于:配方工程师几乎从不只追求一个指标。以涂料配方为例,既希望附着力高、耐盐雾时间长,又希望VOC含量低、原料成本可控,还要求黏度和固化时间落在施工窗口内。这些指标之间往往互相牵制——提高交联密度能改善耐溶剂性,却可能牺牲柔韧性;增加填料能降成本,却会拉低力学性能和分散稳定性。多目标优化正是用来系统处理这种"此消彼长"关系的数学框架。

要把一个配方问题交给优化算法,必须先完成三件事的建模:决策变量(我能调什么)、目标函数(我要优化什么)、约束条件(我不能违反什么)。三者共同构成一个完整的优化问题,缺一不可。

决策变量:把配方翻译成可调参数

决策变量是优化过程中允许自由取值的量,通常写成向量 x = (x₁, x₂, …, xₙ)。在配方问题中,它们一般分为两类:组分用量(如树脂质量分数、固化剂配比、填料含量、助剂添加量)和工艺参数(如固化温度、分散转速、反应时间)。选择决策变量时有两条实用原则:一是只纳入真正可调且对目标有实质影响的量,把固定配方组分当作常数;二是尽量用独立变量,避免"树脂+固化剂+填料=100%"这类线性相关导致变量冗余——通常做法是固定总质量为100份,把其中一个组分用差值表示,从而减少一个自由度。

例如某环氧防腐底漆的简化模型,取四个决策变量:树脂A质量份 x₁∈[30,50]、固化剂B质量份 x₂∈[8,16]、片状填料C质量份 x₃∈[10,30]、增韧剂D质量份 x₄∈[0,6]。其余组分(溶剂、颜填料、助剂)按固定比例补齐至100份。这样就把一个配方表压缩成了一个四维设计空间。

目标函数:把性能指标写成可计算的表达式

目标函数 fᵢ(x) 是决策变量的函数,输出待优化的性能值。工程上获取目标函数有三种途径:机理模型(如用混合规则、流变方程、固化动力学计算)、经验回归模型(用试验设计DoE拟合响应面,如二次多项式)、代理模型(用少量仿真或实验数据训练Kriging、神经网络等)。配方问题中响应面模型最常用,因为它直接来自可执行的配方试验。

假设通过一组混料试验拟合得到(以下为教学示例的合理假设,非实测数据):

附着力  f1 = 4.2 + 0.06·x1 + 0.15·x2 - 0.02·x3 + 0.08·x4 - 0.001·x1·x2   (MPa,越大越好)
耐盐雾  f2 = 320 + 8·x2 + 3·x3 - 5·x4 - 0.12·x2²                        (h,越大越好)
成本    f3 = 12·x1 + 28·x2 + 3.5·x3 + 45·x4                            (元/kg,越小越好)
VOC     f4 = 180 - 1.2·x1 - 0.8·x3                                    (g/L,越小越好)

注意目标方向并不统一:附着力、耐盐雾是"越大越好",成本和VOC是"越小越好"。建模时必须统一约定,通常把所有目标改写为最小化形式(对最大化目标取负号),否则后续比较解优劣时会出错。这一点在全文和图示中保持一致:统一按最小化处理。

约束条件:划定可行域

约束定义了决策变量的合法取值范围,分为三类:边界约束(如 30≤x₁≤50)、线性约束(如总质量守恒、成本上限 Σcᵢxᵢ≤预算)、非线性约束(如黏度必须落在 80~120 KU 的施工窗口、固化时间≤30 min)。约束的实质是把整个设计空间裁剪成一个"可行域",优化只在可行域内搜索。配方问题中常见的约束还包括:某组分因法规限值不得超过阈值(如重金属、游离TDI)、某两组分比例必须满足化学计量窗口等。

建模检查清单:每个决策变量是否都有明确的上下界?每个目标是否已统一为最小化?约束是否覆盖了安全、法规、施工三类硬性要求?可行域是否非空——即是否存在至少一组配方同时满足全部约束?若可行域为空,应先放宽约束而不是直接求解。

Pareto最优:多目标没有唯一答案

多目标优化中,各目标通常无法同时达到最优,因此不存在"唯一最优解"。取而代之的是Pareto最优概念。称解 xA 支配 xB,当且仅当 xA 在所有目标上都不劣于 xB,且至少在一个目标上严格更优。不被任何可行解支配的解称为非支配解或Pareto最优解,它们在目标空间中构成的集合就是Pareto前沿。

直观理解:Pareto前沿上的每一个点,都代表一种"无法在不牺牲某指标的前提下继续改进另一指标"的配方方案。工程师的任务不是找唯一解,而是从前沿上挑选符合当前产品定位的方案——高端产品偏向前沿的性能端,走量产品偏向成本端。常用求解方法包括加权和法、ε-约束法,以及能一次生成整条前沿的NSGA-II等多目标进化算法。

配方问题建模三要素 决策变量 x 树脂A / 固化剂B 填料C / 增韧剂D 可调 · 有上下界 目标函数 f(x) 附着力↑ 耐盐雾↑ 成本↓ VOC↓ 统一为最小化 约束条件 边界 / 质量守恒 黏度窗口 / 法规限值 裁剪出可行域 求解 目标空间:Pareto前沿(成本 vs 耐盐雾) 成本 (元/kg) → 耐盐雾 (h) → 高性能端 低成本端 Pareto前沿 (非支配解集) 灰点被前沿解支配 非支配解 被支配解

上图左侧是建模三要素,右侧把"成本—耐盐雾"两个目标投影到平面上:红色曲线即Pareto前沿,曲线上的红点互不支配,任选其一都无法在不牺牲另一目标的情况下改进;灰色点则被前沿解支配,属于应被淘汰的方案。实际工程中,前沿上每个点都对应一组具体配方,工程师再结合订单价格、法规要求和产线能力做最终决策。

建模落地的一个关键细节

把上述模型交给求解器前,还需处理量纲问题:附着力以MPa计(约4~6),耐盐雾以小时计(约200~400),成本以元/kg计(约10~40),VOC以g/L计(约100~180)。数量级差异会让加权和法严重偏向数值大的目标,因此通常先对各目标做归一化(如除以参考值或按极差缩放),再参与加权或比较。此外,若采用加权和法,权重向量改变会得到前沿上不同位置的解,但无法获得前沿凹部上的解,此时应改用ε-约束法:固定成本上限ε,最大化耐盐雾,逐步扫描ε即可得到完整前沿。