VarData

(类来自 pyomo.core.base.var)

class pyomo.core.base.var.VarData(component=None)[source]

基础类: ComponentData, NumericValue

此类定义了单个变量的数据。

__init__(component=None)[源代码]

方法

__init__([component])

clear()

clear_suffix_value(suffix_or_name[, expand])

设置此组件数据的后缀值

cname(*args, **kwds)

已弃用。

copy(src)

fix([value, skip_validation])

修复此变量的值(视为非变量)

free()

unfix() 的别名

get_suffix_value(suffix_or_name[, default])

获取此组件数据的后缀值

get_units()

返回此变量条目的单位。

getname([fully_qualified, name_buffer, ...])

返回包含组件名称和索引的字符串

has_lb()

当下限为None或负无穷大时返回False

has_ub()

当上限为None或正无穷大时返回False

index()

返回此ComponentData实例相对于父组件索引集的索引。

is_binary()

当域被限制为二进制值时返回True。

is_component_type()

如果此类是Pyomo组件,则返回True

is_constant()

返回 False,因为这不是表达式中的常量。

is_continuous()

当域是连续实数范围时返回True

is_expression_type([expression_system])

如果此数值是一个表达式,则返回 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()

已弃用。

is_variable_type()

返回 True,因为这是一个变量。

model()

返回拥有此数据的组件的模型。

parent_block()

返回拥有此数据的组件的父组件。

parent_component()

返回与此对象关联的组件。

polynomial_degree()

返回表达式的多项式次数。

pprint([ostream, verbose, prefix])

打印组件信息

set_suffix_value(suffix_or_name, value[, expand])

设置此组件数据的后缀值

set_value(val[, skip_validation])

设置当前变量值。

setlb(val)

在验证值已固定(或为None)后,设置此变量的下限。

setub(val)

在验证值已固定(或为None)后,设置此变量的上限。

to_string([verbose, labeler, smap, ...])

返回表达式树的字符串表示。

type()

已弃用。

unfix()

取消固定此变量(在求解器接口中视为变量)

属性

active

返回活动属性

bounds

返回(或设置)元组(下限,上限)。

ctype

返回此组件的类类型

domain

返回(或设置)此变量的域。

fixed

返回(或设置)此变量的固定指示器。

lb

返回(或设置)变量下限的数值。

local_name

仅在直接父容器的上下文中获取组件名称。

lower

返回(或设置)变量下界的表达式。

name

获取完全限定的组件名称。

stale

此变量的陈旧状态。

ub

返回(或设置)变量上限的数值。

upper

返回(或设置)变量上限的表达式。

value

返回(或设置)此变量的值。

成员文档

clear_suffix_value(suffix_or_name, expand=True)

设置此组件数据的后缀值

cname(*args, **kwds)

已弃用。

自版本5.0起已弃用:cname() 方法已重命名为 getname()。 获取组件名称的首选方法是使用 .name 属性,该属性返回完全限定的组件名称。 .local_name 属性将仅在直接父容器的上下文中返回组件名称。

fix(value=NOTSET, skip_validation=False)[source]

修复此变量的值(视为非变量)

这将fixed指示器设置为True。如果提供了value,则首先将值(以及skip_validation标志)传递给set_value()

free()[source]

unfix() 的别名

get_suffix_value(suffix_or_name, default=None)

获取此组件数据的后缀值

get_units()[source]

返回此变量条目的单位。

getname(fully_qualified=False, name_buffer=None, relative_to=None)

返回包含组件名称和索引的字符串

has_lb()[source]

当下限为None或负无穷时返回False

has_ub()[source]

当上限为None或正无穷大时返回False

index()

返回此ComponentData实例相对于父组件索引集的索引。如果此实例没有父组件,或者由于某些未知原因此实例不属于父组件的索引集,则返回None。

is_binary()[source]

当域被限制为二进制值时返回True。

is_component_type()

如果此类是Pyomo组件,则返回True

is_constant()[source]

返回 False,因为这不是表达式中的常量。

is_continuous()[来源]

当域是连续实数范围时返回True

is_expression_type(expression_system=None)

如果此数值是一个表达式,则返回 True

is_fixed()[source]

如果此变量是固定的,则返回True,否则返回False。

is_indexed()

如果此组件已索引,则返回true

is_integer()[source]

当域是一个连续的整数范围时返回True。

is_logical_type()

如果此类是Pyomo布尔对象,则返回True。

布尔对象包括常量、变量或逻辑表达式。

is_named_expression_type()

如果此数值是一个命名表达式,则返回 True

is_numeric_type()

如果此类是Pyomo数值对象,则返回True

is_parameter_type()

除非此类是参数对象,否则返回 False

is_potentially_variable()[source]

返回 True,因为这是一个变量。

is_reference()

如果此对象是引用,则返回 True。

is_relational()

已弃用。

如果此数值表示一个关系表达式,则返回True。

自版本6.4.3起已弃用:is_relational() 已被弃用,推荐使用 is_expression_type(ExpressionType.RELATIONAL)

is_variable_type()[source]

返回 True,因为这是一个变量。

model()

返回拥有此数据的组件的模型。

parent_block()

返回拥有此数据的组件的父组件。

parent_component()

返回与此对象关联的组件。

polynomial_degree()

返回表达式的多项式次数。

Returns:

None

pprint(ostream=None, verbose=False, prefix='')

打印组件信息

请注意,此方法通常只能通过IndexedComponent容器中的ComponentData对象访问。组件,包括未索引的Component派生类以及标量和索引的IndexedComponent派生类,将会看到Component.pprint()

set_suffix_value(suffix_or_name, value, expand=True)

设置此组件数据的后缀值

set_value(val, skip_validation=False)[source]

设置当前变量值。

设置此变量的值。传入的值将转换为数值(即表达式被评估)。如果变量有单位,传入的值在存储之前将转换为正确的单位。最终值将根据变量的域和边界进行检查,如果值无效,则会引发异常。可以通过将skip_validation参数设置为True来绕过域和边界检查。

setlb(val)[source]

在验证值已固定(或为None)后,设置此变量的下限。

setub(val)[source]

在验证值已固定(或为None)后,设置此变量的上限。

to_string(verbose=None, labeler=None, smap=None, compute_values=False)

返回表达式树的字符串表示。

Parameters:
  • verbose (bool) – 如果为 True,则字符串表示由嵌套函数组成。否则,字符串表示为一个中缀代数方程。默认为 False

  • labeler – 一个为表达式树中的非常量生成字符串标签的对象。默认为 None

  • smap – 一个SymbolMap实例,用于存储表达式树中非常量节点的字符串标签。默认为 None

  • compute_values (bool) – 如果 True,则固定表达式会被评估,并返回结果值的字符串表示。

Returns:

表达式树的字符串表示。

type()

已弃用。

返回此组件的类类型

自版本5.7起已弃用:Component.type() 方法已被 .ctype 属性取代。

unfix()[source]

取消固定此变量(在求解器接口中视为变量)

这将fixed指示器设置为False。

property active

返回活动属性

property bounds

返回(或设置)元组(下限,上限)。

这将返回当前的下限和上限的(数值)值作为一个元组。如果没有界限,则返回None(而不是+/-无穷大)

property ctype

返回此组件的类类型

property domain

返回(或设置)此变量的域。

property fixed

返回(或设置)此变量的固定指示器。

is_fixed() / fix() / unfix() 的别名。

property lb

返回(或设置)变量下限的数值。

property local_name

仅在直接父容器的上下文中获取组件名称。

property lower

返回(或设置)变量下界的表达式。

这将返回一个(可能不是变量的)表达式,用于变量的下限。这表示当前域和分配给lower的常量或表达式中较紧的一个。请注意,表达式不会自动反映域或边界表达式的更改(例如,由于分配给lowerdomain)。

property name

获取完全限定的组件名称。

property stale

此变量的陈旧状态。

如果变量的当前值未作为最近模型更新的一部分进行更新,则这些变量是“过时的”。 “模型更新”可以是以下几种情况之一:求解器调用、加载先前的解决方案或手动更新非过时的Var值。

Return type:

bool

注释

修复了在调用求解器后,Var 对象将变得陈旧的问题(因为它们的值未被求解器更新)。

更新一个过时的Var值不会导致其他变量值变得过时。然而,在求解或加载解决方案后更新第一个非过时的Var将会导致所有其他变量被标记为过时。

property ub

返回(或设置)变量上限的数值。

property upper

返回(或设置)变量上限的表达式。

这将返回一个(不可能是变量的)表达式,用于变量的上限。这表示当前域和分配给upper的常量或表达式中较紧的一个。请注意,表达式不会自动反映对域或边界表达式的更改(例如,由于分配给upperdomain的更改)。

property value

返回(或设置)此变量的值。