Main Content

约束的类型

Optimization Toolbox™ 求解器具有特殊的约束形式:

  • 边界约束 - 单个分量的下界和上界;x ≥ lx ≤ u

  • 线性不等式约束 - A·x ≤ b。A 是 m×n 矩阵,它表示 n 维向量 x 的 m 个约束。b 为 m 维。

  • 线性等式约束Aeq·x = beq.等式约束与不等式约束具有相同的形式。

  • 非线性约束 - c(x) ≤ 0ceq(x) = 0。c 和 ceq 都是表示几个约束的标量或向量。

Optimization Toolbox 函数假设不等式约束的形式为 ci(x) ≤ 0A·x ≤ b。通过将大于约束乘以 -1 来表示小于约束。例如,形式为 ci(x) ≥ 0 的约束等效于约束 –ci(x) ≤ 0。形式为 A·x ≥ b 的约束等效于约束 –A·x ≤ –b。有关详细信息,请参阅线性不等式约束非线性约束

有时同一约束可以有若干种编写方式。为了获得最佳结果,请尽可能使用编号最小的约束:

  1. 边界

  2. 线性等式

  3. 线性不等式

  4. 非线性等式

  5. 非线性不等式

例如,对于约束 5 x ≤ 20,使用边界 x ≤ 4 而不是线性不等式或非线性不等式。

有关如何向约束函数传递额外参数的信息,请参阅传递额外参数