导数变量
(类来自 pyomo.dae.diffvar)
- class pyomo.dae.diffvar.DerivativeVar(*args, **kwargs)[source]
基础:
Var表示模型中的导数,并定义了如何对
Var进行微分DerivativeVar组件用于声明一个Var的导数。 构造函数接受一个位置参数,即被微分的Var。 一个Var只能相对于它所索引的ContinuousSet进行微分。DerivativeVar的索引集与它所微分的Var的索引集相同。- Parameters:
sVar (
pyomo.environ.Var) – 被微分的变量wrt (
pyomo.dae.ContinuousSet或 tuple) – 等同于 withrespectto 关键字参数。该参数表示导数所针对的ContinuousSet。高阶导数通过在发送到此关键字的元组中多次包含ContinuousSet来表示。例如,wrt=(m.t, m.t)表示关于m.t的二阶导数。
方法
__init__(sVar, **kwds)add(index)添加一个具有特定索引的变量。
clear()清除此组件中的数据
clear_suffix_value(suffix_or_name[, expand])清除此组件数据的后缀值
cname(*args, **kwds)已弃用。
construct([data])为此变量构建VarData对象
dim()返回索引的维度
display([ostream, verbose, prefix])extract_values([include_fixed_values])返回一个索引-值对的字典。
将每个变量数据对象的'stale'属性设置为True。
返回一个
ContinuousSet组件的列表,该列表是导数所针对的。返回此导数的当前离散化表达式,或在首次调用此方法时创建对其
Var的访问函数。返回正在被微分的
Var。get_suffix_value(suffix_or_name[, default])获取此组件数据的后缀值
返回此变量的单位表达式。
get_values([include_fixed_values])返回一个索引-值对的字典。
getname([fully_qualified, name_buffer, ...])返回与此对象关联的组件名称。
返回所有ComponentData实例的字典id->索引。
返回索引集
如果此类是Pyomo组件,则返回True
如果这个类已经被构造,则返回True
is_expression_type([expression_system])如果此数值是一个表达式,则返回 True
检查是否所有
ContinuousSets这个导数所涉及的集合都已被离散化。如果此组件已索引,则返回true
如果此类是Pyomo布尔对象,则返回True。
如果此数值是一个命名表达式,则返回 True
如果此类是Pyomo数值对象,则返回True
除非此类是参数对象,否则返回 False
如果此组件是引用,则返回True,其中“引用”被解释为任何不拥有自己数据的组件。
除非此类是变量对象,否则返回 False
items([排序, 有序])返回一个包含(index, data)组件数据元组的迭代器
已弃用。
iterkeys()已弃用。
已弃用。
keys([排序, 有序])返回组件数据键的迭代器
model()返回与此对象关联的模型。
返回此对象的父对象。
返回与此对象关联的组件。
pprint([ostream, verbose, prefix])打印组件信息
reconstruct([data])已移除:reconstruct() 在 Pyomo 6.0 中被移除。
返回 self.model()
设置``_expr``,一个表示离散化方程的表达式,该方程将
DerivativeVar与其状态Var连接起来set_suffix_value(suffix_or_name, value[, expand])设置此组件数据的后缀值
set_value(value)设置标量组件的值。
set_values(new_values[, skip_validation])设置字典的值。
待办事项
type()已弃用。
如果这可以用作模型组件,则返回True。
values([排序, 有序])返回组件数据对象的迭代器
属性
返回活动属性
返回此组件的类类型
仅在直接父容器的上下文中获取组件名称。
获取完全限定的组件名称。
成员文档
- 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)
返回一个索引-值对的字典。
- flag_as_stale()
将每个变量数据对象的‘stale’属性设置为True。
- get_derivative_expression()[source]
返回此导数的当前离散化表达式,或首次调用此方法时创建对其
Var的访问函数。表达式随着离散化变换依次应用于模型中的每个ContinuousSet而逐步构建。
- 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)
返回与此对象关联的组件名称。
- id_index_map()
返回所有ComponentData实例的字典id->索引。
- index_set()
返回索引集
- is_component_type()
如果此类是Pyomo组件,则返回True
- is_constructed()
如果这个类已经被构造,则返回True
- is_expression_type(expression_system=None)
如果此数值是一个表达式,则返回 True
- is_indexed()
如果此组件已索引,则返回true
- is_logical_type()
如果此类是Pyomo布尔对象,则返回True。
布尔对象包括常量、变量或逻辑表达式。
- is_named_expression_type()
如果此数值是一个命名表达式,则返回 True
- is_numeric_type()
如果此类是Pyomo数值对象,则返回True
- is_parameter_type()
除非此类是参数对象,否则返回 False
- is_reference()
如果此组件是引用,则返回True,其中“引用”被解释为不拥有自己数据的任何组件。
- is_variable_type()
除非此类是变量对象,否则返回 False
- 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()
返回与此对象关联的组件。
- 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_derivative_expression(expr)[source]
设置``_expr``,一个表示离散化方程的表达式,该方程将
DerivativeVar与其状态Var连接起来
- set_suffix_value(suffix_or_name, value, expand=True)
设置此组件数据的后缀值
- set_value(value)
设置标量组件的值。
- set_values(new_values, skip_validation=False)
设置字典的值。
默认行为是验证字典中的值。
- to_dense_data()
待办事项
- 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 ctype
返回此组件的类类型
- property local_name
仅在直接父容器的上下文中获取组件名称。
- property name
获取完全限定的组件名称。