非线性规划与差分方程方法

Ref: assets/2026-08-07/非线性规划.pdf · assets/2026-08-07/差分.pdf

一、非线性规划(NLP)

一般形式与标准式

其中 ; 为目标函数, 为等式约束, 为不等式约束。标准式约定: 改 ; 约束乘 变成 。

分类

类型特点
无约束 NLP只有目标函数,无约束
约束 NLP含等式/不等式约束
二次规划(QP)目标二次、约束线性
凸规划目标凸 + 可行域凸 ⟹ 局部最优 = 全局最优
非凸规划可能多个局部最优,求解更困难

理解

LP 是”顶点上的游戏”——最优解在可行域顶点;NLP 是”山坡上的游戏”——没有顶点可查,只能沿着梯度爬坡/下坡。凸性决定爬到哪算数:凸问题爬到哪都是全局最优,非凸问题爬到的可能是局部陷阱。所以建模第一步永远是问:目标函数和可行域是凸的吗?

无约束问题的解法

  • 梯度下降(最速下降):,只利用一阶信息;等高线被拉长(病态 Hessian)时收敛很慢;
  • 牛顿法:利用二阶信息(Hessian),收敛快但每步计算量/存储量大;
  • 共轭梯度:介于两者之间,适合大规模问题。

约束问题的解法

  • 拉格朗日乘子法(等式约束):,令各偏导为 0;
  • KKT 条件:不等式约束的推广(乘子 + 互补松弛条件),是判断”候选点是否最优”的标尺;
  • 惩罚函数法:把约束”买进”目标——

在可行域内 ,可行域外 (被惩罚);取 求解无约束问题,若解还不可行则 再解,直到约束满足(罚函数法)。

  • 求解工具:Python scipy.optimize.minimize(SLSQP / trust-constr)、MATLAB fmincon。

案例

案例 1:容器设计(体积固定,材料费最小)

目标含乘积项(非线性),体积约束是等式——典型的约束 NLP。

案例 2:机场选址:6 个城市(坐标 + 权重)加权欧氏距离和最小:

约束含”避开禁建区”(线性半平面 + 圆形禁区)——目标与约束都是非线性。

案例 3:2022 ICM Problem E(森林碳汇):

  • 生长用 Chapman-Richards 方程 ;
  • 采伐收益 ;
  • 约束:土地面积归一、轮伐周期、折现后经济非负、Shannon 多样性指数区间、采伐量不超过生长量上限()。

目标函数和约束全是非线性 → 只能上 NLP。

二、差分方程方法(离散动态建模)

为什么需要差分

很多变量天生按离散周期变化:存款按年结息、出口按月统计、人口按年普查。预测未来 = 建立”下一个 = 现在的函数”:

基本概念

  • 一阶差分 ;高阶差分 ;
  • 差分方程的阶 = 未知函数下标的最大差数( 是二阶);
  • 线性、齐次/非齐次: 齐次,否则非齐次。

建模案例

模型差分方程结论
Malthus 人口;倍增时间
Verhulst 逻辑斯蒂加入”个体竞争”阻滞项,人口有限增长
贷款还款每期固定还款,余额递推
Fibonacci 兔子特征根为黄金分割
凯恩斯乘数动力学差分方程组国民收入、消费、投资的联动
蛛网模型供给滞后一期价格产量振荡,收敛性由供需斜率决定
传染病 SEIR离散仓室方程组疫情逐日推演、干预评估

求解方法:特征方程法

  • 一阶 :设 ,特征方程 ⟹ 通解 ;
  • 二阶 :特征方程 ——
    • 相异实根:;
    • 二重根:;
    • 共轭复根 :,;
  • 非齐次:待定系数法—— 时特解取 , 是单/重特征根时分别再乘 或 ;
  • 差分方程组: ⟹ (矩阵迭代)。

稳定性直觉

差分方程长期行为由特征根的模决定: 收敛(衰减), 发散(爆炸),共轭复根对应振荡。蛛网模型是否稳定、Malthus 人口是否爆炸,本质都是看特征根。

“四个面向”里的差分

量子计算(Crank-Nicolson 离散薛定谔方程)、AI(RNN/LSTM 的隐藏状态递推、梯度更新本身就是差分)、电力价格(ARIMA)、火箭烧蚀(有限差分 + Stefan 边界)、疫情(SEIQR)——差分是把连续世界搬进计算机的通用语言。