从约束计算变量
(函数来自 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:
ConstraintDataor 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
返回:
无
- variable: