连续集
(类来自 pyomo.dae.contset)
- class pyomo.dae.contset.ContinuousSet(*args, **kwds)[source]
-
表示一个有界的连续域
至少,这个集合必须包含两个定义连续范围边界的数值。可以在连续集合中添加离散的兴趣点。连续集合是一维的,并且只能包含数值。
- Parameters:
initialize (list) – 默认包含的离散化点
bounds (tuple) – 连续域的边界点。这些边界点将作为离散点包含在
ContinuousSet中,并将用于限制通过 'initialize' 参数、数据文件或 add() 方法添加到ContinuousSet的点。
- _changed
这记录了在离散化过程中ContinuousSet是否被更改。如果用户在离散化之前指定了所有需要的离散化点,那么就没有必要返回模型并重建由
ContinuousSet索引的内容。- Type:
boolean
- _fe
这是一个排序后的有限元点列表,这些点位于
ContinuousSet中。也就是说,这个列表包含了所有在ContinuousSet中的离散点,这些点不是 配点。既是有限元点又是配点的点也将包含在这个列表中。- Type:
列表
- _discretization_info
这是一个包含有关已应用于
ContinuousSet的离散化转换信息的字典。- Type:
字典
方法
__init__(*args, **kwds)构造函数
add(*values)at(index)返回集合中的指定成员。
bounds()card(index)已弃用。
已弃用。
clear()清除此组件中的数据
clear_suffix_value(suffix_or_name[, expand])设置此组件数据的后缀值
cname(*args, **kwds)已弃用。
construct([values])构建一个
ContinuousSet组件cross(*args)返回此集合与一个或多个集合之间的笛卡尔积
data()difference(*args)返回此集合与一个或多个集合之间的差异
dim()返回索引的维度
discard(val)display([ostream, verbose, prefix])find_nearest_index(目标[, 容差])返回
ContinuousSet中最近点的索引。first()get(value[, default])如果集合包含给定值,则返回 True。
返回标志,指示
ContinuousSet在离散化过程中是否被更改返回一个dict,其中包含已应用于
ContinuousSet的离散化方案的信息。返回有限元点
返回此集合的间隔为(开始,结束,步长)
get_lower_element_boundary(point)返回第一个小于或等于'point'的有限元素点
get_suffix_value(suffix_or_name[, default])获取此组件数据的后缀值
get_upper_element_boundary(point)返回第一个大于或等于'point'的有限元素点
getname([fully_qualified, name_buffer, ...])返回包含组件名称和索引的字符串
返回所有ComponentData实例的字典id->索引。
index()返回此ComponentData实例相对于父组件索引集的索引。
返回索引集
intersection(*args)返回此集合与一个或多个集合的交集
如果此类是Pyomo组件,则返回True
如果这个类已经被构造,则返回True
is_expression_type([expression_system])如果此数值是一个表达式,则返回 True
如果此组件已索引,则返回true
如果此类是Pyomo布尔对象,则返回True。
如果此数值是一个命名表达式,则返回 True
如果此类是Pyomo数值对象,则返回True
除非此类是参数对象,否则返回 False
如果此组件是引用,则返回True,其中“引用”被解释为任何不拥有自己数据的组件。
除非此类是变量对象,否则返回 False
如果此集合仅包含离散成员,则返回 True
isdisjoint(other)测试此集合是否与other不相交
isfinite()如果这是一个有限离散(可迭代)集合,则返回 True
如果这是一个有序的有限离散(可迭代)集合,则返回 True
issubset(other)测试这个集合是否是other的子集
issuperset(other)测试这个集合是否是other的超集
items()从字典返回一个(index, data)元组的迭代器
已弃用。
iterkeys()已弃用。
已弃用。
keys([sort, ordered])返回组件数据键的迭代器
last()model()返回拥有此数据的组件的模型。
next(item[, step])返回集合中的下一个项目。
nextw(item[, step])返回集合中的下一个项目,必要时进行循环。
ord(item)返回输入值的位置索引。
ordered_data()ordered_iter()返回拥有此数据的组件的父组件。
返回与此对象关联的组件。
pop()pprint([ostream, verbose, prefix])打印组件信息
prev(item[, step])返回集合中的前一个项目。
prevw(item[, step])返回集合中的前一个项目,必要时进行循环。
ranges()reconstruct([data])已移除:reconstruct() 在 Pyomo 6.0 中被移除。
remove(val)返回 self.model()
set_changed(newvalue)将
_changed标志设置为'newvalue'set_suffix_value(suffix_or_name, value[, expand])设置此组件数据的后缀值
set_value(val)设置标量组件的值。
sorted_data()sorted_iter()subsets([expand_all_set_operators])symmetric_difference(other)返回此集合与另一个集合的对称差集
待办事项
type()已弃用。
union(*args)返回此集合与一个或多个集合的并集。
update(values)如果这可以用作模型组件,则返回True。
values()返回字典中组件数据对象的迭代器
属性
返回活动属性
已弃用。
返回此组件的类类型
dimendomain已弃用。
仅在直接父容器的上下文中获取组件名称。
获取完全限定的组件名称。
已弃用。
已弃用。
已弃用。
已弃用。
成员文档
- at(index)
返回集合中的指定成员。
公共的Set API是基于1的,尽管内部的_lookup和_values(按照Python的习惯)是基于0的。
- card(index)
已弃用。
自版本6.1.2起已弃用:card() 被错误地添加到了Set API中。请使用at()(将在6.2版本(或之后)移除)
- check_values()
已弃用。
验证此集合中的值是否有效。
自版本5.7起已弃用:check_values() 已弃用:集合仅包含有效成员
- clear()
清除此组件中的数据
- clear_suffix_value(suffix_or_name, expand=True)
设置此组件数据的后缀值
- cname(*args, **kwds)
已弃用。
自版本5.0起已弃用:cname() 方法已重命名为 getname()。 获取组件名称的首选方法是使用 .name 属性,该属性返回完全限定的组件名称。 .local_name 属性将仅在直接父容器的上下文中返回组件名称。
- construct(values=None)[source]
构建一个
ContinuousSet组件
- cross(*args)
返回此集合与一个或多个集合之间的笛卡尔积
- difference(*args)
返回此集合与一个或多个集合之间的差异
- dim()
返回索引的维度
- find_nearest_index(target, tolerance=None)[source]
返回
ContinuousSet中最近点的索引。如果指定了容差,则仅当目标与最近点之间的距离小于或等于该容差时,才会返回索引。如果最近点有并列,则返回左侧的索引。
- Parameters:
目标 (float)
容差 (float 或 None)
- Return type:
float 或 None
- get(value, default=None)
如果集合包含给定值,则返回 True。
此方法将对不可哈希类型引发TypeError。
- get_changed()[source]
返回标志,指示
ContinuousSet在离散化过程中是否被更改如果在应用离散化方案时向
ContinuousSet添加了额外的点,则返回“True”- Return type:
boolean
- get_discretization_info()[source]
返回一个包含应用于
ContinuousSet的离散化方案信息的dict。- Return type:
字典
- get_finite_elements()[source]
返回有限元点
如果
ContinuousSet已经使用配点方案进行了离散化,此方法将返回有限元离散化点的列表,但不包括每个有限元内的配点。如果ContinuousSet尚未离散化或使用了有限差分离散化,此方法将返回ContinuousSet中所有离散化点的列表。- Return type:
list 的 floats
- get_interval()
返回此集合的间隔为(开始,结束,步长)
返回此集合的有效区间作为一个(开始,结束,步长)元组。开始和结束与bounds()返回的相同。对于连续范围,步长为0;对于常规离散集合(例如,整数为1),步长为正值;对于没有常规间隔的集合(例如,半连续集合、混合类型集合、维度不为1的集合等),步长为None。
- get_suffix_value(suffix_or_name, default=None)
获取此组件数据的后缀值
- getname(fully_qualified=False, name_buffer=None, relative_to=None)
返回包含组件名称和索引的字符串
- id_index_map()
返回所有ComponentData实例的字典id->索引。
- index()
返回此ComponentData实例相对于父组件索引集的索引。如果此实例没有父组件,或者由于某些未知原因此实例不属于父组件的索引集,则返回None。
- index_set()
返回索引集
- intersection(*args)
返回此集合与一个或多个集合的交集
- 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
- isdiscrete()
如果此集合仅包含离散成员,则返回 True
- isdisjoint(other)
测试此集合是否与other不相交
- Parameters:
其他 (
Set或iterable) – 要与此集合进行比较的集合或可迭代对象- Returns:
bool
- Return type:
如果此集合与other不相交,则为True
- isfinite()
如果这是一个有限离散(可迭代)集合,则返回 True
- isordered()
如果这是一个有序的有限离散(可迭代)集合,则返回 True
- issubset(other)
测试这个集合是否是other的子集
- Parameters:
其他 (
Set或iterable) – 要与此集合进行比较的集合或可迭代对象- Returns:
bool
- Return type:
如果此集合是other的子集,则为True
- issuperset(other)
测试这个集合是否是other的超集
- Parameters:
其他 (
Set或iterable) – 要与此集合进行比较的集合或可迭代对象- Returns:
bool
- Return type:
如果此集合是other的超集,则为True
- items()
从字典返回一个(index, data)元组的迭代器
- 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()
返回拥有此数据的组件的模型。
- next(item, step=1)
返回集合中的下一个项目。
默认行为是返回下一个元素。step选项可以指定获取下一个元素所需的步数。
如果搜索项不在集合中,或者下一个元素超出了集合的末尾,则会引发IndexError。
- nextw(item, step=1)
返回集合中的下一个项目,必要时进行循环。
默认行为是返回下一个元素。step选项可以指定获取下一个元素所需的步数。如果下一个元素超过了集合的末尾,搜索将回绕到集合的开头。
如果搜索项不在集合中,则会引发IndexError。
- ord(item)
返回输入值的位置索引。
请注意,Pyomo Set 对象的位置从 1 开始(而不是 0)。
如果搜索项不在集合中,则会引发IndexError。
- parent_block()
返回拥有此数据的组件的父组件。
- parent_component()
返回与此对象关联的组件。
- pprint(ostream=None, verbose=False, prefix='')
打印组件信息
- prev(item, step=1)
返回集合中的前一个项目。
默认行为是返回紧邻的前一个元素。step选项可以指定获取前一个元素所需的步数。
如果搜索项不在集合中,或者前一个元素在集合的开始之前,则会引发IndexError。
- prevw(item, step=1)
返回集合中的前一个项目,必要时进行循环。
默认行为是返回紧邻的前一个元素。step选项可以指定获取前一个元素所需的步数。如果前一个元素超出了集合的末尾,搜索将回绕到集合的末尾。
如果搜索项不在集合中,则会引发IndexError。
- 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)
设置标量组件的值。
- symmetric_difference(other)
返回此集合与另一个集合的对称差集
- to_dense_data()
待办事项
- type()
已弃用。
返回此组件的类类型
自版本5.7起已弃用:Component.type() 方法已被 .ctype 属性取代。
- union(*args)
返回此集合与一个或多个集合的并集。
- valid_model_component()
如果这可以用作模型组件,则返回True。
- values()
返回字典中组件数据对象的迭代器
- property active
返回活动属性
- property concrete
已弃用。
自版本5.7起已弃用:不再支持‘concrete’属性。请使用isdiscrete()或isfinite()
- property ctype
返回此组件的类类型
- property filter
已弃用。
自版本5.7起已弃用:‘filter’ 不再是公共属性。
- property local_name
仅在直接父容器的上下文中获取组件名称。
- property name
获取完全限定的组件名称。
- property ordered
已弃用。
自版本5.7起已弃用:不再支持‘ordered’属性。请使用isordered()
- property value
已弃用。
自版本5.7起已弃用:‘value’属性已被弃用。请使用.data()来检索有限集中的值。
- property value_list
已弃用。
自版本5.7起已弃用:‘value_list’ 属性已被弃用。请使用 .ordered_data() 以确定性顺序从有限集中检索值。
- property virtual
已弃用。
自版本5.7起已弃用:不再支持‘virtual’属性