从约束计算变量

(函数来自 pyomo.util.calc_var_value)

pyomo.util.calc_var_value.calculate_variable_from_constraint(variable, constraint, eps=1e-08, iterlim=1000, linesearch=True, alpha_min=1e-08, diff_mode=None)[源代码]

计算给定特定等式约束的变量值

此函数计算使提供的等式约束可行所需的指定变量的值(假设任何其他变量的值都是固定的)。该方法首先尝试假设变量在约束中线性出现来求解变量值。如果这不能收敛约束残差,则使用精确(符号)导数回退到牛顿法。

注释

这是一个无约束求解器,不保证会遵守变量的边界或域。求解器可能会使变量值处于不可行状态(超出声明的边界或域边界)。

参数:

variable: VarData

要解决的变量

constraint: ConstraintData or relational expression or tuple

用于求解变量值的等式约束。 可以是ConstraintData对象或Constraint(expr=<>)的任何有效参数(即关系表达式或2元或3元组)

eps: float

用于确定相等性的容差 [默认=1e-8]。

iterlim: int

如果此方法必须回退到使用牛顿法,则最大迭代次数。在达到迭代限制时引发RuntimeError [默认=1000]

linesearch: bool

决定是否使用线搜索(推荐)。 [默认=True]

alpha_min: float

在线搜索中使用的最小分数步长 [默认=1e-8]。

diff_mode: pyomo.core.expr.calculus.derivatives.Modes

用于区分表达式的模式。如果未指定,默认为Modes.sympy

返回: