线性规划、整数规划与偏微分方程建模
Ref: assets/2026-08-06/线性规划与整数规划方法.pdf · assets/2026-08-06/偏微分方程.pdf
一、线性规划(LP)
标准形式与三要素
三要素:决策变量 、目标函数(线性)、约束条件(线性 + 非负)。
我的理解
LP 是”最省力的一类优化”:目标和约束全是直线/平面,可行域是多面体,最优解一定出现在顶点上——所以单纯形法只需要沿顶点走,不用扫描无穷多个点。这个”顶点性质”是 LP 好解的根本原因。
建模套路(把现实翻译成线性)
- 找决策变量:运输量 、是否做某事 ;
- 写目标:成本最小 / 利润最大;
- 写约束:资源、需求、供应、逻辑关系。
运输问题(讲义例):2 个工厂(供应 78、45)→ 3 个销地(需求 43、35、45),单位成本表(13/15/12、11/29/22):
行和 = 工厂供应量,列和 = 销地需求量——这就是”产销平衡运输问题”的标准骨架。
二、整数规划(IP)
分类
| 类型 | 变量取值 | 例子 |
|---|---|---|
| 纯整数规划 | 全部整数 | 生产件数 |
| 混合整数规划 | 部分整数 | 连续产量 + 是否建厂 |
| 0-1 规划 | 0 或 1 | 选址、指派、排班 |
0-1 变量建模技巧(重点)
- 选择依赖:选了 A 才能选 B ⟹ ;
- 互斥:A、B 只能选一个 ⟹ ;
- 至少选一个 ⟹ ;
- 固定成本 / 分段函数:引入 0-1 变量与”大 M”约束;
- 特殊有序集(SOS):排他性选择。
为什么不能四舍五入
IP 不能靠”先解 LP 再四舍五入”——四舍五入后的点可能不可行,也可能离最优很远。标准解法是分支定界(branch and bound):把整数变量分裂成子问题、逐枝剪掉不可能的分支;配合割平面(cutting plane)收紧可行域。
求解工具
- 连续 LP:MATLAB
linprog、Pythonscipy.optimize.linprog、LINGO; - 整数规划:Gurobi / CPLEX / Python
PuLP(分支定界、割平面)。
理解
LP 是”连续世界里的线性可加”,IP 是”现实世界里的 是/否 决策”。数模里排班、选址、路径问题本质都是 0-1 整数规划——先想清楚”哪些是决策、哪些是约束”,比会调求解器更重要。
三、偏微分方程(PDE)方法建模
三类经典方程(都从现实问题”长”出来)
| 方程 | 形式 | 起源 | 参数 |
|---|---|---|---|
| 波动方程 | 弦振动(离散质点链 → 连续化取极限) | ||
| 热传导/扩散 | Fourier 定律 / Fick 扩散定律 | 热/扩散系数 | |
| Laplace / Poisson | / | 引力势、稳态场 | — |
建模套路:微元法
- 选未知函数 (温度 / 浓度 / 位移);
- 取一个微元、一个小区间 ,写守恒律:流入 − 流出 = 变化量;
- 用经验定律(Fourier / Fick / 牛顿第二定律)把”通量”写成梯度的函数;
- 令 ,取极限得到 PDE,再补上定解条件。
弦振动就是标准示范:n 个质点 → n 个二阶常微分方程( 是离散二阶差商)→ 连续化后差商变成 。
定解条件与适定性
- 三类边界条件:Dirichlet(第一类,给定函数值)、Neumann(第二类,给定法向导数)、Robin(第三类,,混合);
- 适定性(well-posed):解存在、唯一、连续依赖初边值(数据小扰动 → 解小扰动);
- 经典解法:D’Alembert 行波法(波动方程 Cauchy 问题)、分离变量法、Fourier 变换法、Green 函数法、有限差分等数值方法。
案例
案例 1:烟雾的扩散与消失(消光与能见度)
- 扩散方程 ( 扩散系数);
- 消光规律 (光强随烟雾浓度指数衰减);
- 可见范围 ;可见范围最大的时刻 ,烟雾”完全消失”时刻 。
案例 2:传输线(电报方程)
由 Kirchhoff 定律写出电流/电压的偏微分方程组:
消去一个变量 ⟹ ()——一条方程同时含二阶时间、一阶时间和零阶项,是”耗散传输线”的典型形态。
案例 3:高温作业服装热传导(2018 国赛 A 题)
- 多层织物(I/II/III 层)+ 空气层 + 皮肤,逐层建立热传导方程;
- 层间界面用温度连续 + 热流连续衔接;
- 问题归结为带边界条件的 PDE 定解问题,用数值方法(有限差分)求解温度分布。
和差分的关系
PDE 是”把离散规律连续化”,差分方程是”把连续过程离散化”——正好是一对互逆操作。建模时看数据的天然形态:变量按周期记录 → 差分;物理量处处连续 → PDE。