线性约束

什么是线性约束?

几个优化求解器接受线性限制,这是在溶液限制X为了满足线性等式或不等式。接受线性约束解算器包括fminconintlinproglinproglsqlinquadprog,多目标求解器,以及一些全局优化工具箱求解。

不等式约束条件

线性不等式约束的形式为A·X≤b。什么时候一个-通过-ñ, 有上的可变约束Xñ组件。您提供的-通过-ñ矩阵一个-component矢量b

通过线性不等式约束一个b参数。

例如,假设你有如下的线性的不平等的限制:

X1+X3≤4,
2X2-X3≥-2,
X1-X2+X3-X4≥9。

这里,= 3ñ= 4

使用以下矩阵写这些约束一个和矢量b

一个 = [ 1 0 1 0 0 - 2 1 0 - 1 1 - 1 1 ] b = [ 4 2 - 9 ]

请注意,“大于”不平等首先乘以-1把他们在“小于”的不平等形式。在MATLAB®句法:

A = [1 0 1 0;0 -2 1 0;-1 1 -1 1];B = [4; 2; -9];

你并不需要给为线性约束梯度;求解器自动计算它们。线性约束不影响粗麻布。

即使你传递一个初始点X0作为基体,解算器通过当前点X作为列向量线性约束。看到矩阵参数

对于线性约束一个更复杂的例子,请参见建立一个线性规划,求解基于

中间迭代可以违反线性约束。看到迭代可以违反约束

线性等式约束

线性等式的形式为AEQ·X = BEQ,其表示用公式ñ-component矢量X。您提供的-通过-ñ矩阵AEQ-component矢量BEQ

通过在所述线性等式约束AEQBEQ以同样的方式作为论据的描述一个b在参数不等式约束条件

相关话题