主要内容

本页采用了机器翻译。点击此处可查看英文原文。

SensitivityAnalysis

线性规划系数的灵敏度

自 R2026a 起

说明

SensitivityAnalysis 对象用于存储关于线性规划解的灵敏度分析信息。对象属性给出了目标函数值对各种系数的变化率,以及在保持最优基的情况下系数变化的限制条件。有关详细信息,请参阅详细信息

创建对象

通过将 sensitivity 指定为 linprog 函数的第六个输出,创建一个 SensitivityAnalysis 对象:

[x,fval,exitflag,output,lambda,sensitivity] = linprog(...)

属性

全部展开

每个属性都是一张包含以下五列的表。

列名描述
LowerLimit模型参数在不改变当前最优基的情况下所能取的最小值
UpperLimit模型参数在不改变当前最优基的情况下所能取的最大值
ObjectiveValueAtLowerLimit如果将模型参数更改为 LowerLimit,则在最优解处的目标函数值为
ObjectiveValueAtUpperLimit如果将模型参数更改为 UpperLimit,则在最优解处的目标函数值为
ObjectiveValueChangeRate目标函数值对模型参数在区间 (LowerLimit, UpperLimit) 内的变化率

此 属性 为只读。

目标函数系数 f 的灵敏度,以 N×5 的表形式返回,其中 N 是该问题中的变量个数。

此 属性 为只读。

线性等式约束 beq 的灵敏度,以 Neq×5 的表形式返回,其中 Neq 表示该问题中的线性等式约束个数。

此 属性 为只读。

线性不等式约束 b 的灵敏度,以 Nineq×5 的表形式返回,其中 Nineq 是该问题中线性不等式约束的个数。

此 属性 为只读。

线性不等式约束 bl 的灵敏度,以 Nineq×5 的表形式返回,其中 Nineq 是该问题中线性不等式约束的个数。

此 属性 为只读。

下界 lb 的灵敏度,以 N×5 的表形式返回,其中 N 是问题中的变量个数。

数据类型: table

此 属性 为只读。

上界 ub 的灵敏度,以 N×5 表形式返回,其中 N 是问题中的变量个数。

示例

全部折叠

编写一个线性规划程序。

f = [-2,-1];
A = [-1 -1;
    1 -1/2;
    -1 1];
bl = [-5 -Inf -Inf];
b = [Inf 2 3];
lb = [0 0];
ub = [];
Aeq = [];
beq = [];

求解该线性规划问题,并计算灵敏度。

[x,fval,exitflag,output,lambda,sensitivity] = ...
    linprog(f,A,b,Aeq,beq,lb,ub)
Optimal solution found.
x = 2×1

     7
    10

fval = 
-24
exitflag = 
1
output = struct with fields:
         iterations: 0
    constrviolation: 0
            message: 'Optimal solution found.'
          algorithm: 'dual-simplex-highs'
      firstorderopt: 0

lambda = struct with fields:
           lower: [2×1 double]
           upper: [2×1 double]
           eqlin: [0×1 double]
    ineqlinLower: [3×1 double]
         ineqlin: [3×1 double]

sensitivity = 
  SensitivityAnalysis with properties:

   Variables Sensitivity:
    ObjectiveCoefficient: [2×5 table]
              LowerBound: [2×5 table]
              UpperBound: [2×5 table]

   Constraints Sensitivity:
           InequalityLHS: [3×5 table]
           InequalityRHS: [3×5 table]
             EqualityRHS: [0×5 table]

分析灵敏度。

sensitivity.ObjectiveCoefficient
ans=2×5 table
    LowerLimit    UpperLimit    ObjectiveValueAtLowerLimit    ObjectiveValueAtUpperLimit    ObjectiveValueChangeRate
    __________    __________    __________________________    __________________________    ________________________

       -Inf           1                    -Inf                           -3                            7           
       -Inf           1                    -Inf                           -4                           10           

sensitivity.LowerBound
ans=2×5 table
    LowerLimit    UpperLimit    ObjectiveValueAtLowerLimit    ObjectiveValueAtUpperLimit    ObjectiveValueChangeRate
    __________    __________    __________________________    __________________________    ________________________

       -Inf            7                   -24                           -24                           0            
       -Inf           10                   -24                           -24                           0            

sensitivity.InequalityLHS
ans=3×5 table
    LowerLimit    UpperLimit    ObjectiveValueAtLowerLimit    ObjectiveValueAtUpperLimit    ObjectiveValueChangeRate
    __________    __________    __________________________    __________________________    ________________________

       -Inf          -17                   -24                           -24                           0            
       -Inf            2                   -24                           -24                           0            
       -Inf            3                   -24                           -24                           0            

sensitivity.InequalityRHS
ans=3×5 table
    LowerLimit    UpperLimit    ObjectiveValueAtLowerLimit    ObjectiveValueAtUpperLimit    ObjectiveValueChangeRate
    __________    __________    __________________________    __________________________    ________________________

        -17          Inf                   -24                            -24                           0           
       -1.5          Inf                    -3                           -Inf                          -6           
         -2          Inf                    -4                           -Inf                          -4           

有关返回的灵敏度的说明,请参阅SensitivityAnalysis

详细信息

全部展开

版本历史记录

在 R2026a 中推出