在数学建模比赛中,优化模型是最常见的数学模型。
引言
在实际问题中,优化模型是在一组约束条件下,使得具体目标的评判标准达到最优:例如公司经理要根据生产成本和市场需求确定产品价格,使所获利润最高;调度人员要在满足物资需求和装载条件下安排从各供应点到各需求点的运量和路线,使运输总费用最低。
优化模型的通用格式
\\\boxed{\\hspace{3em} \\begin{aligned} \\max \\text{ 或 } \\min \\quad \& \\text{目标函数} \\\\ \\text{s.t.} \\quad \& \\text{约束条件} \\end{aligned} \\hspace{3em}} \\
当你打算用数学建模方法来处理一个优化问题时,通常需要遵循以下步骤:
第一步:明确优化问题的三要素
- 优化目标 ------ 明确优化的目标是什么(即要最大化或最小化的对象);
- 决策变量 ------ 明确寻求的决策是什么;
- 约束条件 ------ 明确决策受到哪些条件的限制(如果有限制的话)。
第二步:建立优化模型
用数学工具(变量、常数、函数等)将上述要素加以形式化表示,从而建立优化模型。
第三步:求解模型
在最优化理论中,我们并不存在一种「万能」的算法 ,能够求解实践中可能出现的所有数学模型。恰恰相反,数学模型的类型多种多样、复杂程度各不相同,这决定了求解方法必然迥异。
大多数优化模型都具有这样一个特点:问题的解通常不是 通过闭形式(closed form) (即解析式)直接得到的,而是 借助算法(algorithm) 求得的。所谓算法,就是一组固定的计算规则 ,利用它反复对问题进行计算;每次重复计算称为一次迭代(iteration),而每经过一次迭代,所得的解都会向最优解逐步靠近。由于每次迭代的计算过程往往类似、且计算量庞大,这些算法必须依托计算机来运行。
此外,有些数学模型可能非常复杂,已有的最优化算法也无法求出其最优解。在这种情况下,我们不得不放弃寻找最优解 ,转而借助某些启发式算法(heuristic algorithm) 或经验方法,退而求其次,找到一个较好的解。
求解之后,还需要明确两个重要概念:
- 可行解(feasible solution) :一个模型的解若满足所有约束条件,则称该解是可行的;
- 最优解(optimal solution):若一个解既是可行的,又使目标函数取得最佳值(最大值或最小值),则称该解是最优的。
第四步:结果分析
根据求解结果,可以进行下列分析:
- 可行性分析:检测结果是否满足所有约束条件;
- 敏感性分析:了解模型对参数变化的响应程度;
- 稳健性分析:衡量最优解邻域内目标函数的平缓程度。
敏感性分析
优化问题的敏感度(灵敏度) ,是指优化模型中的各类输入参数发生微小扰动 时,模型的最优解 与最优目标函数值 随之产生变化的响应程度。在优化模型中,参数往往无法精确确定,借助敏感性分析,我们能够探索这种不确定性对最优解在质的方面的影响。
敏感度越高,说明优化结果对该参数变化越敏感,模型最优方案的稳定性越差;敏感度越低,说明优化结果受参数波动的影响越小,模型鲁棒性更强、决策更加可靠。
数学解释
设含参优化模型:
\\\begin{cases} \\min \\ f(\\boldsymbol x,\\boldsymbol p) \\\\ \\text{s.t.} \\ \\boldsymbol{g}(\\boldsymbol x,\\boldsymbol p) \\le \\boldsymbol 0 \\end{cases} \\
其中 \(\boldsymbol p\) 为模型中的不确定参数向量。最优目标值 \(f^*(\boldsymbol p)\) 对参数 \(p_i\) 的敏感度可定义为:
\S_i = \\frac{\\partial f\^\*}{\\partial p_i} \\
最优解 \(x_i^*\) 对参数 \(p_i\) 的敏感度(弹性)可定义为:
\S(x_i\^\*,p_i) =\\frac{\\frac{\\Delta x_i\^\*}{x_i\^\*}}{\\frac{\\Delta p_i}{p_i}} \\approx \\frac{\\partial x_i\^\*}{\\partial p_i}\\cdot\\frac{p_i}{x_i\^\*} \\
该式表征最优解随参数变化的相对变化比例 ,即参数每变化 \(1\%\),最优解约变化 \(S\) 个百分点。
稳健性分析
最优解附近目标函数的稳健性,是指当决策变量在理论最优解的邻域内发生小幅偏移时,目标函数值的变化幅度大小,用来衡量最优解邻域内目标函数的平缓程度,属于局部稳健性分析。
- 稳健性好 :最优解周边一小片区域内,决策变量即使偏离严格最优点,目标函数值也不会出现大幅度恶化;
- 稳健性差 :只要决策变量稍微偏离最优解,目标函数值就会快速上升(极小化问题)或下降(极大化问题),最优方案的容错空间很小。
💡 注意区分两个容易混淆的概念
- 敏感性分析 :扰动模型的输入参数,观察最优解和最优值的变化;
- 最优解邻域稳健性分析 :直接扰动决策变量,观察目标函数本身的变化。
优化模型的建立
接下来,我们结合一个实际问题,完整演示「问题提出 → 问题分析 → 建立模型 → 模型求解 → 结果分析」的建模主要流程,并结合本例进行敏感性分析与稳健性分析。
问题提出
我们考虑用一段长度为 \(L\) 的导线来围成一个矩形区域,要让这个矩形的面积最大,它的长和宽各应取多少呢?
问题分析
这是一个典型的连续优化问题。按照优化模型的三要素,我们可以依次确定:
- 优化目标:矩形的面积最大;
- 决策变量 :矩形的长 \(w\) 和宽 \(h\);
- 约束条件 :
- 矩形的长与宽之和等于周长的一半(导线总长 \(L\) 固定);
- 矩形的长和宽不能小于 0。
使用优化模型的通用格式,我们可以先把问题写成如下形式:
\\\boxed{\\hspace{3em} \\begin{aligned} \\max \\quad \& \\text{矩形的面积} \\\\ \\text{s.t.} \\quad \& \\text{长} + \\text{宽} = \\frac{L}{2} \\\\ \& \\text{长} \\geq 0,\\quad \\text{宽} \\geq 0 \\end{aligned} \\hspace{3em}} \\
建立模型
符号说明
| 符号 | 含义 | 说明 |
|---|---|---|
| \(L\) | 导线总长度(矩形的周长) | 已知常数 |
| \(w\) | 矩形的长 | 决策变量 |
| \(h\) | 矩形的宽 | 决策变量 |
| \(S\) | 矩形的面积 | \(S = wh\) |
其中,\(L > 0\),且 \(w \geq 0,\ h \geq 0\)。
模型建立
首先,用数学符号表示目标函数------矩形的面积为:
\S = wh \\
接着,用数学符号表示约束条件 。由于导线总长度为 \(L\),即矩形周长 \(2(w+h) = L\),因此:
\w + h = \\frac{L}{2} \\
同时,矩形的长和宽不能为负数:
\w \\geq 0, \\qquad h \\geq 0 \\
综上,我们得到完整的数学模型:
\\\boxed{\\hspace{3em} \\begin{aligned} \\max_{w,\\,h} \\quad \& S = wh \\\\ \\text{s.t.} \\quad \& w + h = \\frac{L}{2} \\\\ \& w \\geq 0, \\quad h \\geq 0 \\end{aligned} \\hspace{3em}} \\
模型求解
由于问题结构简单,直接用解析法即可求出精确的最优解,求解过程如下:
由约束条件 \(w + h = \dfrac{L}{2}\),可得 \(h = \dfrac{L}{2} - w\)。将其代入目标函数,把二元问题化为一元问题:
\S(w) = w\\left(\\frac{L}{2} - w\\right) = \\frac{L}{2}w - w\^2 \\
这是一个开口向下的二次函数,最大值在顶点处取得。令导数等于零:
\S'(w) = \\frac{L}{2} - 2w = 0 \\quad \\Longrightarrow \\quad w = \\frac{L}{4} \\
代入约束条件得 \(h = \dfrac{L}{4}\),此时最大面积为:
\S_{\\max} = \\frac{L}{4} \\times \\frac{L}{4} = \\frac{L\^2}{16} \\
另解 :也可以利用均值不等式 直接得到结论------\(wh \leq \left(\dfrac{w+h}{2}\right)^2 = \dfrac{L^2}{16}\),当且仅当 \(w = h\) 时取等号。
结果分析
- 当 \(w = h = \dfrac{L}{4}\) 时,矩形变为正方形,此时围成的面积最大;
- 可行性验证 :\(w + h = \dfrac{L}{4} + \dfrac{L}{4} = \dfrac{L}{2}\),且 \(w,\,h \geq 0\),满足所有约束条件,故该解是可行解;
- 最优性验证 :\(S''(w) = -2 < 0\),故 \(w = \dfrac{L}{4}\) 是目标函数的极大值点,此时 \(S_{\max} = \dfrac{L^2}{16}\),该解是最优解(optimal)。
本例的敏感性分析
在本例中,唯一的模型参数是导线长度 \(L\)。最优解与最优值分别为:
\w\^\* = h\^\* = \\frac{L}{4}, \\qquad S_{\\max} = \\frac{L\^2}{16} \\
对 \(L\) 求导可得最优解与最优值的绝对变化率:
\\\frac{\\partial w\^\*}{\\partial L} = \\frac{\\partial h\^\*}{\\partial L} = \\frac{1}{4}, \\qquad \\frac{\\partial S_{\\max}}{\\partial L} = \\frac{L}{8} \\
即:导线长度每增加 1 个单位,最优长与宽各增加 \(\dfrac{1}{4}\) 个单位,最大面积增加约 \(\dfrac{L}{8}\) 个单位。进一步,以弹性形式刻画 \(L\) 的相对变化对最优解的相对影响:
\s(w,L)=\\frac{\\partial w\^\*}{\\partial L}\\cdot\\frac{L}{w\^\*} = 1, \\qquad s(h,L)=\\frac{\\partial h\^\*}{\\partial L}\\cdot\\frac{L}{h\^\*} = 1 \\
弹性 \(s=1\) 表明:\(L\) 每变化 \(1\%\),最优长与宽也各变化 \(1\%\),即最优解随 \(L\) 等比例变化。
小结:本例参数单一、结构简单,敏感度可解析求出。对于参数众多的复杂优化模型,通常需借助计算机进行数值模拟完成敏感性分析。
本例的最优解邻域稳健性分析
设长在最优值附近偏离一个小量 \(\delta\),即 \(w = \dfrac{L}{4} + \delta\),由约束得 \(h = \dfrac{L}{4} - \delta\),此时面积为:
\S = \\left(\\frac{L}{4} + \\delta\\right)\\left(\\frac{L}{4} - \\delta\\right) = \\frac{L\^2}{16} - \\delta\^2 \\
面积损失 \(\Delta S = \delta^2\) 是 \(\delta\) 的二阶小量 。这说明:即使长宽无法精确取到 \(\dfrac{L}{4}\),只要偏离不大,面积损失也很小,最优解具有较强的稳健性。
优化模型的分类
前文中矩形面积最大问题是一道简单的连续优化问题。然而正如求解一步中所说,数学模型类型多样、复杂程度各异,并不存在「万能」的求解算法------面对实际问题,只有先弄清楚它究竟属于哪一类优化模型,才能更好地选择合适的数学工具与求解策略。因此,在动手建模之前,先厘清优化模型的分类体系至关重要。下图从不同维度对优化模型进行系统的划分:

在运筹学与最优化理论中,优化模型没有单一的划分标准,通常可按优化目标、约束条件、决策变量、函数数学性质四个维度自上而下拆解,形成五层分类体系;上下层类别可自由交叉组合,由此生成各类优化问题。
-
第一层:原始问题 ------ 分类框架的起点,指现实中的实际问题,经建模后抽象为数学优化模型,进入后续分类。
-
第二层:按优化目标划分 ------ 依据目标函数的数量分类。
- 单目标优化:仅含一个目标函数,求解目标唯一,最为常见。
- 多目标优化:存在两个及以上可能相互冲突的目标函数,一般无唯一最优解,最终得到一组折中均衡的帕累托最优解集。
-
第三层:按约束条件划分 ------ 约束是现实问题对决策变量的限制,分两大类。
- 无约束优化:决策变量无额外限制,可自由取值,理论分析简单,是求解有约束问题的基础。
- 有约束优化:决策变量须满足等式或不等式约束,可行解只能落在可行域内,绝大多数工程、经济问题均属此类。
-
第四层:按决策变量类型划分 ------ 依据变量取值特征分三类。
- 连续变量优化:变量可在区间内取任意实数,如连续生产计划、参数寻优。
- 整数/离散变量优化:变量只能取整数或有限离散值,如背包问题、选址规划。
- 混合变量优化:同时含连续与整数离散变量,即混合整数规划,广泛用于工业调度、供应链优化。
-
第五层:按函数数学性质划分 ------ 从三个角度判定目标与约束函数的特征。
- 线性 / 非线性:目标与约束全为线性函数即线性优化,任一函数非线性则属非线性优化。
- 凸 / 非凸:凸优化要求目标函数凸、可行域为凸集,局部最优即全局最优;非凸优化存在多个局部最优解,求解难度更大。
- 可微 / 不可微:可微函数可利用梯度信息、用梯度类算法求解;不可微优化无法直接求梯度,需用次梯度或启发式智能算法。
层级交叉组合说明
上下层级之间不存在强制绑定关系,上层任意一个类别均可和下层所有类别自由搭配。例如:单目标‑有约束‑连续‑凸非线性优化 、多目标‑无约束‑离散‑非凸优化等。通过不同维度的组合,该五层框架几乎可以覆盖运筹优化领域绝大多数的数学模型。
小结
本文以「矩形面积最大」问题为例,完整演示了优化建模的主要流程:明确三要素 → 建立模型 → 求解模型 → 结果分析,并在此基础上介绍了敏感性分析与最优解邻域稳健性分析等结果评估方法。事实上,无论模型多么复杂,建模的思路都是相通的------先想清楚目标、决策与约束,再选择合适的数学工具与求解算法,最后对结果进行验证与评估。