AbstractScalarVar
(类来自 pyomo.core.base.var)
- class pyomo.core.base.var.AbstractScalarVar(*args, **kwargs)[source]
基础类:
ScalarVar- __init__(*args, **kwd)
方法
__init__(*args, **kwd)add(index)添加一个具有特定索引的变量。
clear()清除此组件中的数据
clear_suffix_value(suffix_or_name[, expand])设置此组件数据的后缀值
cname(*args, **kwds)已弃用。
construct([data])为此变量构建VarData对象
copy(src)dim()返回索引的维度
display([ostream, verbose, prefix])extract_values([include_fixed_values])返回一个索引-值对的字典。
fix([value, skip_validation])修复此变量的值(视为非变量)
将每个变量数据对象的'stale'属性设置为True。
free()unfix()的别名get_suffix_value(suffix_or_name[, default])获取此组件数据的后缀值
返回此变量条目的单位。
get_values([include_fixed_values])返回一个索引-值对的字典。
getname([fully_qualified, name_buffer, ...])返回包含组件名称和索引的字符串
has_lb()当下限为
None或负无穷大时返回Falsehas_ub()当上限为
None或正无穷大时返回False返回所有ComponentData实例的字典id->索引。
index()返回此ComponentData实例相对于父组件索引集的索引。
返回索引集
当域被限制为二进制值时返回True。
如果此类是Pyomo组件,则返回True
返回 False,因为这不是表达式中的常量。
如果这个类已经被构造,则返回True
当域是连续实数范围时返回True
is_expression_type([expression_system])如果此数值是一个表达式,则返回 True
is_fixed()如果此变量是固定的,则返回True,否则返回False。
如果此组件已索引,则返回true
当域是一个连续的整数范围时返回True。
如果此类是Pyomo布尔对象,则返回True。
如果此数值是一个命名表达式,则返回 True
如果此类是Pyomo数值对象,则返回True
除非此类是参数对象,否则返回 False
返回 True,因为这是一个变量。
如果此组件是引用,则返回True,其中“引用”被解释为任何不拥有自己数据的组件。
已弃用。
返回 True,因为这是一个变量。
items([排序, 有序])返回一个包含(index, data)组件数据元组的迭代器
已弃用。
iterkeys()已弃用。
已弃用。
keys([sort, ordered])返回组件数据键的迭代器
model()返回拥有此数据的组件的模型。
返回拥有此数据的组件的父组件。
返回与此对象关联的组件。
返回表达式的多项式次数。
pprint([ostream, verbose, prefix])打印组件信息
reconstruct([data])已移除:reconstruct() 在 Pyomo 6.0 中被移除。
返回 self.model()
set_suffix_value(suffix_or_name, value[, expand])设置此组件数据的后缀值
set_value(val[, skip_validation])设置当前变量值。
set_values(new_values[, skip_validation])设置字典的值。
setlb(val)在验证值已固定(或为None)后,设置此变量的下限。
setub(val)在验证值已固定(或为None)后,设置此变量的上限。
待办事项
to_string([详细, 标签器, smap, ...])返回表达式树的字符串表示。
type()已弃用。
unfix()取消固定此变量(在求解器接口中视为变量)
如果这可以用作模型组件,则返回True。
values([sort, ordered])返回组件数据对象的迭代器
属性
返回活动属性
返回(或设置)元组(下限,上限)。
返回此组件的类类型
返回(或设置)此变量的域。
返回(或设置)此变量的固定指示器。
返回(或设置)变量下限的数值。
仅在直接父容器的上下文中获取组件名称。
返回(或设置)变量下界的表达式。
获取完全限定的组件名称。
此变量的陈旧状态。
返回(或设置)变量上限的数值。
返回(或设置)变量上限的表达式。
返回(或设置)此变量的值。
成员文档
- add(index)
添加一个具有特定索引的变量。
- clear()
清除此组件中的数据
- clear_suffix_value(suffix_or_name, expand=True)
设置此组件数据的后缀值
- cname(*args, **kwds)
已弃用。
自版本5.0起已弃用:cname() 方法已重命名为 getname()。 获取组件名称的首选方法是使用 .name 属性,该属性返回完全限定的组件名称。 .local_name 属性将仅在直接父容器的上下文中返回组件名称。
- construct(data=None)
为此变量构建VarData对象
- dim()
返回索引的维度
- extract_values(include_fixed_values=True)
返回一个索引-值对的字典。
- fix(value=NOTSET, skip_validation=False)
修复此变量的值(视为非变量)
这将
fixed指示器设置为True。如果提供了value,则首先将值(以及skip_validation标志)传递给set_value()。
- flag_as_stale()
将每个变量数据对象的‘stale’属性设置为True。
- get_suffix_value(suffix_or_name, default=None)
获取此组件数据的后缀值
- get_units()
返回此变量条目的单位。
- get_values(include_fixed_values=True)
返回一个索引-值对的字典。
- getname(fully_qualified=False, name_buffer=None, relative_to=None)
返回包含组件名称和索引的字符串
- has_lb()
当下限为
None或负无穷时返回False
- has_ub()
当上限为
None或正无穷大时返回False
- id_index_map()
返回所有ComponentData实例的字典id->索引。
- index()
返回此ComponentData实例相对于父组件索引集的索引。如果此实例没有父组件,或者由于某些未知原因此实例不属于父组件的索引集,则返回None。
- index_set()
返回索引集
- is_binary()
当域被限制为二进制值时返回True。
- is_component_type()
如果此类是Pyomo组件,则返回True
- is_constant()
返回 False,因为这不是表达式中的常量。
- is_constructed()
如果这个类已经被构造,则返回True
- is_continuous()
当域是连续实数范围时返回True
- is_expression_type(expression_system=None)
如果此数值是一个表达式,则返回 True
- is_fixed()
如果此变量是固定的,则返回True,否则返回False。
- is_indexed()
如果此组件已索引,则返回true
- is_integer()
当域是一个连续的整数范围时返回True。
- is_logical_type()
如果此类是Pyomo布尔对象,则返回True。
布尔对象包括常量、变量或逻辑表达式。
- is_named_expression_type()
如果此数值是一个命名表达式,则返回 True
- is_numeric_type()
如果此类是Pyomo数值对象,则返回True
- is_parameter_type()
除非此类是参数对象,否则返回 False
- is_potentially_variable()
返回 True,因为这是一个变量。
- is_reference()
如果此组件是引用,则返回True,其中“引用”被解释为不拥有自己数据的任何组件。
- is_relational()
已弃用。
如果此数值表示一个关系表达式,则返回True。
自版本6.4.3起已弃用:is_relational() 已被弃用,推荐使用 is_expression_type(ExpressionType.RELATIONAL)
- is_variable_type()
返回 True,因为这是一个变量。
- items(sort=<SortComponents.UNSORTED: 0>, ordered=NOTSET)
返回一个包含(index, data)组件数据元组的迭代器
- Parameters:
sort (bool 或 SortComponents) – 以指定的排序顺序迭代声明的组件项。有关有效选项和描述,请参见
SortComponents。ordered (bool) – 已弃用:请使用 sort=SortComponents.ORDERED_INDICES。 如果为 True,则项目将以确定性顺序返回 (使用底层集合的 ordered_iter()。
- iteritems()
已弃用。
从字典返回一个包含(索引,数据)元组的列表
自版本6.0起已弃用:iteritems方法已被弃用。请使用dict.items()。
- iterkeys()
已弃用。
返回字典中的键列表
自版本6.0起已弃用:iterkeys方法已被弃用。请使用dict.keys()。
- itervalues()
已弃用。
返回字典中组件数据对象的列表
自版本6.0起已弃用:itervalues方法已被弃用。请使用dict.values()。
- keys(sort=<SortComponents.UNSORTED: 0>, ordered=NOTSET)
返回组件数据键的迭代器
此方法设置此IndexedComponent容器内组件数据对象的排序。为了保持一致性,
__init__()、values()和items()都利用此方法来确保一致的排序。- Parameters:
sort (bool 或 SortComponents) – 以指定的排序顺序迭代声明的组件键。有关有效选项和描述,请参见
SortComponents。ordered (bool) – 已弃用:请使用 sort=SortComponents.ORDERED_INDICES。 如果为 True,则键将以确定性顺序返回 (使用底层集合的 ordered_iter())。
- model()
返回拥有此数据的组件的模型。
- parent_block()
返回拥有此数据的组件的父组件。
- parent_component()
返回与此对象关联的组件。
- polynomial_degree()
返回表达式的多项式次数。
- Returns:
None
- pprint(ostream=None, verbose=False, prefix='')
打印组件信息
- reconstruct(data=None)
已移除:reconstruct() 在 Pyomo 6.0 中被移除。
重新构建模型组件是脆弱的,并且不能正确更新在其他组件或上下文中使用的组件实例(这对于Var、Param和Set尤其成问题)。希望重现reconstruct()旧行为的用户,如果愿意操作非公开接口,并且愿意花时间验证他们的模型是否正确执行,可以通过以下方式近似实现reconstruct的旧行为:
component.clear() component._constructed = False component.construct()
- root_block()
返回 self.model()
- set_suffix_value(suffix_or_name, value, expand=True)
设置此组件数据的后缀值
- set_value(val, skip_validation=False)
设置当前变量值。
设置此变量的值。传入的值将转换为数值(即表达式被评估)。如果变量有单位,传入的值在存储之前将转换为正确的单位。最终值将根据变量的域和边界进行检查,如果值无效,则会引发异常。可以通过将
skip_validation参数设置为True来绕过域和边界检查。
- set_values(new_values, skip_validation=False)
设置字典的值。
默认行为是验证字典中的值。
- setlb(val)
在验证值已固定(或为None)后,设置此变量的下限。
- setub(val)
在验证值已固定(或为None)后,设置此变量的上限。
- to_dense_data()
待办事项
- to_string(verbose=None, labeler=None, smap=None, compute_values=False)
返回表达式树的字符串表示。
- type()
已弃用。
返回此组件的类类型
自版本5.7起已弃用:Component.type() 方法已被 .ctype 属性取代。
- valid_model_component()
如果这可以用作模型组件,则返回True。
- values(sort=<SortComponents.UNSORTED: 0>, ordered=NOTSET)
返回组件数据对象的迭代器
- Parameters:
sort (bool 或 SortComponents) – 以指定的排序顺序迭代声明的组件值。有关有效选项和描述,请参见
SortComponents。ordered (bool) – 已弃用:请使用 sort=SortComponents.ORDERED_INDICES。 如果为 True,则值将以确定性顺序返回 (使用底层集合的 ordered_iter()。
- property active
返回活动属性
- property bounds
返回(或设置)元组(下限,上限)。
这将返回当前的下限和上限的(数值)值作为一个元组。如果没有界限,则返回None(而不是+/-无穷大)
- property ctype
返回此组件的类类型
- property domain
返回(或设置)此变量的域。
- property fixed
返回(或设置)此变量的固定指示器。
is_fixed()/fix()/unfix()的别名。
- property lb
返回(或设置)变量下限的数值。
- property local_name
仅在直接父容器的上下文中获取组件名称。
- property lower
返回(或设置)变量下界的表达式。
这将返回一个(可能不是变量的)表达式,用于变量的下限。这表示当前域和分配给
lower的常量或表达式中较紧的一个。请注意,表达式不会自动反映对域或边界表达式的更改(例如,由于分配给lower或domain的更改)。
- property name
获取完全限定的组件名称。
- property stale
此变量的陈旧状态。
如果变量的当前值未作为最近模型更新的一部分进行更新,则这些变量是“过时的”。 “模型更新”可以是以下几种情况之一:求解器调用、加载先前的解决方案或手动更新非过时的
Var值。- Return type:
注释
修复了在调用求解器后,
Var对象将变得陈旧的问题(因为它们的值未被求解器更新)。更新一个过时的
Var值不会导致其他变量值变得过时。然而,在求解或加载解决方案后更新第一个非过时的Var值将会导致所有其他变量被标记为过时。
- property ub
返回(或设置)变量上限的数值。
- property upper
返回(或设置)变量上限的表达式。
这将返回一个(可能不是变量的)表达式,用于变量的上限。这表示当前域和分配给
upper的常量或表达式中较紧的一个。请注意,表达式不会自动反映对域或边界表达式的更改(例如,由于分配给upper或domain的更改)。
- property value
返回(或设置)此变量的值。