Research KB 登录

CPT-022 Concept

non-linear program

id
updated
type concept
name non-linear program
aliases 非线性规划, NLP, nonlinear programming, 非线性规划问题
defined-by PPR-004

Definition

非线性规划(non-linear program, NLP)是目标或约束含非线性项的带约束参数优化问题PPR-004 §1.6)。典型形式(PPR-004 式 1.10):

\[\min_{z} J(z) \quad \text{subject to: } f(z)=0,\quad g(z)\le 0,\quad z_{\text{low}} \le z \le z_{\text{upp}}\]

直接法轨迹优化把连续时间问题转录(transcription) 为 NLP:状态与控制在离散点上的取值成为决策变量 \(z\),动力学成为节点间的代数约束,目标被求积公式近似(CPT-020)。

特例与求解难度:当约束(含动力学)线性且目标线性时退化为线性规划(LP),目标二次时退化为二次规划(QP);LP/QP 显著易于 NLP,因而在实时应用(尤其机器人)中更可取(PPR-004 §1.6、§2.5)。

求解器的基本性质PPR-004 §5.1):NLP 求解器需要初始猜测;它不能保证找到解,即使找到也只保证局部最优。差的初始化可能使求解器卡在坏解或不收敛。

一致性要求PPR-004 §5.5):主流求解器(SNOPT、IPOPT、FMINCON)要求用户提供的目标与约束函数一致——每次调用执行完全相同的算术运算序列;这是求解器计算梯度/海森矩阵的前提(CPT-025)。

Disambiguation

  • 与轨迹优化(CPT-021)的实质区分:轨迹优化的决策变量是函数 \(x(t),u(t)\);NLP 的决策变量是有限维实向量 \(z\)。直接法的作用就是把前者转录成后者,因此 NLP 是直接法的目标问题类而非同类问题。
  • 与线性/二次规划的实质区分:LP/QP 是 NLP 的子类(约束线性、目标线性或二次),不是独立方法;PPR-004 §2.5 指出块移动算例在梯形配点下恰好是 QP。
  • 一致函数(CPT-025)不是 NLP 的定义属性,而是求解器对输入函数的要求;不满足一致性会导致收敛问题,但不改变问题本身是否 NLP。

关联(16)

  • PPR-004 An Introduction to Trajectory Optimization: How to Do Your Own Direct Collocation
  • FRM-004 Kelly(2017)直接配点轨迹优化教程的五层重建:以“连续问题→多项式样条近似→非线性规划”为主线,规范术语与约束分类(D),列出作者接受的前提(AX),重建从配点构造、插值、误差估计到网格细化与不连续性处理的论证链(AR),并分节记录作者评论与本库评论;Theorems/Evidence 层待 P3 投影回填。
  • CPT-020 collocation method
  • CPT-021 trajectory optimization
  • CPT-023 mesh refinement
  • CPT-025 consistent function
  • EX-001 直接配点法算例(最小功双积分器):梯形配点 + 松弛变量把问题变成线性规划,N=10→160 网格下目标值 0.7958→0.76405 逼近解析 bang-off-bang 解的 0.763932,状态误差约按 O(h²) 下降,切换时刻收敛到 τ≈0.381966。
  • CPT-019 co-definer shooting method
  • CPT-020 co-definer collocation method
  • CPT-021 co-definer trajectory optimization
  • CPT-023 co-definer mesh refinement
  • CPT-024 co-definer bang-bang control
  • CPT-025 co-definer consistent function
  • CPT-026 co-definer open-loop vs closed-loop solution
  • CPT-027 co-definer slack variable
  • CPT-028 co-definer Runge-Kutta method