连续集

(类来自 pyomo.dae.contset)

class pyomo.dae.contset.ContinuousSet(*args, **kwds)[source]

基础:SortedScalarSet

表示一个有界的连续域

至少,这个集合必须包含两个定义连续范围边界的数值。可以在连续集合中添加离散的兴趣点。连续集合是一维的,并且只能包含数值。

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)[source]

构造函数

方法

__init__(*args, **kwds)

构造函数

add(*values)

at(index)

返回集合中的指定成员。

bounds()

card(index)

已弃用。

check_values()

已弃用。

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。

get_changed()

返回标志,指示ContinuousSet在离散化过程中是否被更改

get_discretization_info()

返回一个dict,其中包含已应用于ContinuousSet的离散化方案的信息。

get_finite_elements()

返回有限元点

get_interval()

返回此集合的间隔为(开始,结束,步长)

get_lower_element_boundary(point)

返回第一个小于或等于'point'的有限元素点

get_suffix_value(suffix_or_name[, default])

获取此组件数据的后缀值

get_upper_element_boundary(point)

返回第一个大于或等于'point'的有限元素点

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

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

id_index_map()

返回所有ComponentData实例的字典id->索引。

index()

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

index_set()

返回索引集

intersection(*args)

返回此集合与一个或多个集合的交集

is_component_type()

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

is_constructed()

如果这个类已经被构造,则返回True

is_expression_type([expression_system])

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

isfinite()

如果这是一个有限离散(可迭代)集合,则返回 True

isordered()

如果这是一个有序的有限离散(可迭代)集合,则返回 True

issubset(other)

测试这个集合是否是other的子集

issuperset(other)

测试这个集合是否是other的超集

items()

从字典返回一个(index, data)元组的迭代器

iteritems()

已弃用。

iterkeys()

已弃用。

itervalues()

已弃用。

keys([sort, ordered])

返回组件数据键的迭代器

last()

model()

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

next(item[, step])

返回集合中的下一个项目。

nextw(item[, step])

返回集合中的下一个项目,必要时进行循环。

ord(item)

返回输入值的位置索引。

ordered_data()

ordered_iter()

parent_block()

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

parent_component()

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

pop()

pprint([ostream, verbose, prefix])

打印组件信息

prev(item[, step])

返回集合中的前一个项目。

prevw(item[, step])

返回集合中的前一个项目,必要时进行循环。

ranges()

reconstruct([data])

已移除:reconstruct() 在 Pyomo 6.0 中被移除。

remove(val)

root_block()

返回 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)

返回此集合与另一个集合的对称差集

to_dense_data()

待办事项

type()

已弃用。

union(*args)

返回此集合与一个或多个集合的并集。

update(values)

valid_model_component()

如果这可以用作模型组件,则返回True。

values()

返回字典中组件数据对象的迭代器

属性

active

返回活动属性

concrete

已弃用。

ctype

返回此组件的类类型

dimen

domain

filter

已弃用。

local_name

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

name

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

ordered

已弃用。

value

已弃用。

value_list

已弃用。

virtual

已弃用。

成员文档

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)

  • 容差 (floatNone)

Return type:

floatNone

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:

listfloats

get_interval()

返回此集合的间隔为(开始,结束,步长)

返回此集合的有效区间作为一个(开始,结束,步长)元组。开始和结束与bounds()返回的相同。对于连续范围,步长为0;对于常规离散集合(例如,整数为1),步长为正值;对于没有常规间隔的集合(例如,半连续集合、混合类型集合、维度不为1的集合等),步长为None

get_lower_element_boundary(point)[source]

返回第一个小于或等于‘point’的有限元素点

Parameters:

(浮点数)

Return type:

float

get_suffix_value(suffix_or_name, default=None)

获取此组件数据的后缀值

get_upper_element_boundary(point)[source]

返回第一个大于或等于‘point’的有限元素点

Parameters:

(浮点数)

Return type:

float

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:

其他 (Setiterable) – 要与此集合进行比较的集合或可迭代对象

Returns:

bool

Return type:

如果此集合与other不相交,则为True

isfinite()

如果这是一个有限离散(可迭代)集合,则返回 True

isordered()

如果这是一个有序的有限离散(可迭代)集合,则返回 True

issubset(other)

测试这个集合是否是other的子集

Parameters:

其他 (Setiterable) – 要与此集合进行比较的集合或可迭代对象

Returns:

bool

Return type:

如果此集合是other的子集,则为True

issuperset(other)

测试这个集合是否是other的超集

Parameters:

其他 (Setiterable) – 要与此集合进行比较的集合或可迭代对象

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 (boolSortComponents) – 以指定的排序顺序迭代声明的组件键。有关有效选项和描述,请参见 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_changed(newvalue)[source]

_changed标志设置为‘newvalue’

Parameters:

newvalue (boolean)

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’属性