2. 多目标优化数学建模基础

多目标优化建模的本质,是把一个模糊的“既要…又要…”工程诉求,翻译成一组可以被算法处理的数学对象。这个翻译过程包含四个基本构件:决策变量、目标函数、约束条件,以及由它们共同决定的可行域与目标空间。理解这四者的形式化表达与映射关系,是后续求解Pareto前沿的前提。

一、决策变量的形式化

决策变量是建模中“我们可以主动调节的量”,记作向量 x = (x₁, x₂, …, xₙ) ∈ ℝⁿ,n 为变量维数。建模时首先要区分三类量:可控的设计变量(如结构尺寸、配比、调度时刻)、不可控但可观测的参数(如环境温度、来料波动)、以及由变量派生出的中间量。只有第一类才进入 x,后两类应作为常数或约束中的系数出现,否则会人为放大搜索空间。

变量还需要明确取值类型与范围:连续型(如壁厚 2.0~8.0 mm)、整数型(如设备台数)、离散枚举型(如材料牌号)。这些信息既写在变量定义中,也常以边界约束的形式重复出现,二者必须一致,否则模型自相矛盾。

二、目标函数与约束条件

目标函数把决策变量映射为待优化的指标,多目标情形下是一组函数 f(x) = (f₁(x), f₂(x), …, f_m(x)),m ≥ 2。每个目标都要写明优化方向(最小化或最大化),并尽量给出物理单位与量级。量级差异过大的目标(如成本以万元计、误差以毫米计)会直接影响后续归一化与权重设计,建模阶段就应记录清楚。

约束条件分为三类:不等式约束 gᵢ(x) ≤ 0、等式约束 hⱼ(x) = 0、以及变量边界 xₗ ≤ x ≤ xᵤ。工程中大量约束来自物理机理(强度、热平衡)、几何关系(装配间隙)、资源上限(预算、工时)和标准规范(排放限值)。等式约束会降低可行域的有效维数,建模时应检查是否存在冗余等式,避免求解器因线性相关而报错。

建模自检:每个目标函数是否都能用决策变量显式表达?每个约束是否都能判断“满足/不满足”?若某条约束只能定性描述,应先转化为可计算的代理指标,再进入模型。

三、可行域与目标空间的映射

所有满足约束的 x 构成可行域 X = {x | g(x) ≤ 0, h(x) = 0, xₗ ≤ x ≤ xᵤ},它是决策空间 ℝⁿ 中的一个子集。目标函数把 X 映射到目标空间 ℝᵐ,得到可行目标集 Y = {f(x) | x ∈ X}。这一步映射是理解多目标优化的关键:决策空间中的“一个点”对应目标空间中的“一个点”,而决策空间中的一片区域,会在目标空间中压成一条曲线或一片曲面。

下图以一个两变量、两目标的案例展示这种映射关系:左侧决策空间中的可行域(阴影区域)经目标函数映射后,在右侧目标空间中形成可行目标集,其左下边界即为Pareto前沿的候选区域。

决策空间 ℝⁿ(n=2) x₁ x₂ 可行域 X g(x)≤0, h(x)=0 x⁽¹⁾ x⁽²⁾ x⁽³⁾ f(x) 映射 目标空间 ℝᵐ(m=2) f₁ f₂ 可行目标集 Y Pareto前沿候选 f(x⁽¹⁾) f(x⁽²⁾) f(x⁽³⁾) 互不支配 决策空间中的点经目标函数映射到目标空间;可行域边界映射为可行目标集边界,非支配解集映射为Pareto前沿

需要强调两点。第一,映射通常不是一一对应的:多个不同的 x 可能映射到同一个目标点,这意味着目标空间中的一个Pareto最优点,可能对应决策空间中的一整族解,工程上可据此挑选更易实现的方案。第二,可行域在目标空间中的像未必是凸集,即使 X 是凸的、各目标函数是线性的,多目标情形下 Y 的边界也可能出现凹陷,这正是加权和法难以覆盖全部Pareto解的原因。

四、建模案例实操

考虑一个简化的减速器箱体设计问题(示例参数为教学假设,非实测数据)。设计变量取壁厚 t(mm)与加强筋高度 h(mm);目标为最小化质量 f₁ 与最大应力 f₂;约束包括应力不超过许用值、装配空间限制、以及变量边界。

决策变量:x = (t, h),2.0 ≤ t ≤ 8.0,10 ≤ h ≤ 60
目标函数:
  f₁(x) = ρ·A(t,h)·L            → 最小化(质量,kg)
  f₂(x) = K·F/(t·h)             → 最小化(最大应力,MPa)
约束条件:
  g₁: f₂(x) − 235 ≤ 0           (应力不超过许用值 235 MPa)
  g₂: t + h/10 − 12 ≤ 0         (装配空间限制)
  g₃: h − 8t ≤ 0                (工艺高厚比限制)
边界:2.0 ≤ t ≤ 8.0,10 ≤ h ≤ 60

建模后的检查动作包括:代入若干组 (t, h) 验证约束是否可计算、目标量级是否可比、可行域是否非空。例如取 t=4、h=30,可算出 g₂ = 4+3−12 = −5 ≤ 0 满足,g₃ = 30−32 = −2 ≤ 0 满足,说明该点位于可行域内部;再取 t=2、h=55,g₃ = 55−16 = 39 > 0,该点被工艺约束排除。通过这类抽样代入,可以在写求解代码之前就发现约束写反、边界冲突等常见错误。

常见建模陷阱:把“希望越小越好”的模糊表述直接写成目标而不给函数式;约束中遗漏变量边界导致可行域无界;多个目标使用不同量纲却直接相加。三者都会让后续Pareto分析失去意义。

完成上述形式化后,模型才具备进入求解阶段的条件:决策变量定义了搜索空间,目标函数定义了评价方向,约束定义了合法性边界,而可行域到目标空间的映射则决定了Pareto前沿的形状与分布。下一阶段的所有算法选择与结果解读,都建立在这一套表达是否准确、完整之上。