标量块

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

class pyomo.core.base.block.ScalarBlock(*args, **kwds)[source]

基础类: BlockData, Block

__init__(*args, **kwds)[source]

构造函数

方法

__init__(*args, **kwds)

构造函数

activate()

将活动属性设置为True

active_blocks(*args, **kwargs)

已弃用。

active_component_data(*args, **kwargs)

已弃用。

active_components(*args, **kwargs)

已弃用。

add_component(name, val)

向块中添加一个组件 'name'。

all_blocks(*args, **kwargs)

已弃用。

all_component_data(*args, **kwargs)

已弃用。

all_components(*args, **kwargs)

已弃用。

block_data_objects([active, sort, ...])

返回此块及任何匹配的子块。

clear()

清除此组件中的数据

clear_suffix_value(suffix_or_name[, expand])

设置此组件数据的后缀值

clone([memo])

待办事项

cname(*args, **kwds)

已弃用。

collect_ctypes([active, descend_into])

计算存储在此块上或下的所有组件类型的数量。

component(name_or_object)

返回此块的一个子组件。

component_data_iterindex([ctype, active, ...])

已弃用。

component_data_objects([ctype, active, ...])

返回一个生成器,该生成器遍历块中所有组件的组件数据对象。

component_map([ctype, active, sort])

返回此块中组件的伪映射。

component_objects([ctype, active, sort, ...])

返回一个生成器,用于遍历块中的组件对象。

construct([data])

初始化块

contains_component(ctype)

如果组件类型在_ctypes中,则返回True。

deactivate()

将活动属性设置为False

del_component(name_or_object)

从此块中删除一个组件。

dim()

返回索引的维度

display([filename, ostream, prefix])

在块中显示值

find_component(label_or_component)

返回给定名称的块中的组件。

fix_all_vars()

get_suffix_value(suffix_or_name[, default])

获取此组件数据的后缀值

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

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

id_index_map()

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

index()

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

index_set()

返回索引集

is_component_type()

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

is_constructed()

一个布尔值,指示输入模型的所有活动组件是否已正确构建。

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

items([sort, ordered])

返回一个包含(index, data)组件数据元组的迭代器

iteritems()

已弃用。

iterkeys()

已弃用。

itervalues()

已弃用。

keys([sort, ordered])

返回组件数据键的迭代器

model()

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

parent_block()

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

parent_component()

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

pprint([ostream, verbose, prefix])

打印组件信息

private_data([scope])

reclassify_component_type(name_or_object, ...)

待办事项

reconstruct([data])

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

register_private_data_initializer(initializer)

root_block()

返回 self.model()

set_suffix_value(suffix_or_name, value[, expand])

设置此组件数据的后缀值

set_value(val)

设置标量组件的值。

to_dense_data()

待办事项

transfer_attributes_from(src)

将用户定义的属性从src传输到此块

type()

已弃用。

unfix_all_vars()

valid_model_component()

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

valid_problem_types()

此方法允许pyomo.opt转换函数与Model对象一起工作。

values([sort, ordered])

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

write([文件名, 格式, 求解器能力, ...])

将模型写入文件,使用给定的格式。

属性

active

返回活动属性

ctype

返回此组件的类类型

local_name

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

name

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

成员文档

activate()

将活动属性设置为True

active_blocks(*args, **kwargs)

已弃用。

自版本4.1.10486起已弃用:active_blocks方法已被弃用。请使用Block.block_data_objects()方法。

active_component_data(*args, **kwargs)

已弃用。

自版本4.1.10486起已弃用:active_component_data方法已被弃用。请使用Block.component_data_objects()方法。

active_components(*args, **kwargs)

已弃用。

自版本4.1.10486起已弃用:active_components方法已被弃用。请使用Block.component_objects()方法。

add_component(name, val)

向块中添加一个组件‘name’。

该方法假设属性不在模型中。

all_blocks(*args, **kwargs)

已弃用。

自版本4.1.10486起已弃用:all_blocks方法已被弃用。请使用Block.block_data_objects()方法。

all_component_data(*args, **kwargs)

已弃用。

自版本4.1.10486起已弃用:all_component_data方法已被弃用。请使用Block.component_data_objects()方法。

all_components(*args, **kwargs)

已弃用。

自版本4.1.10486起已弃用:all_components方法已被弃用。请使用Block.component_objects()方法。

block_data_objects(active=None, sort=False, descend_into=True, descent_order=None)

返回此块及任何匹配的子块。

这大致相当于

iter(block for block in itertools.chain(
     [self], self.component_data_objects(descend_into, ...))
     if block.active == active)

注释

无论descend_into指示的类型如何,self块总是返回。

活动标志在所有块上强制执行,包括self

Parameters:
  • active (Nonebool) – 如果不是 None,则根据 active 标志过滤组件

  • sort (NoneboolSortComponents) – 以指定的排序顺序迭代组件

  • descend_into (Nonetypeiterable) – 指定要返回并深入的类型组件(ctypes)。如果为 TrueNone,则默认为 (Block,)。如果为 False,则仅返回 self

  • descent_order (NoneTraversalStrategy) – 用于遍历块层次结构的策略。默认为 TraversalStrategy.PrefixDepthFirstSearch

Return type:

tuple 或生成器

clear()

清除此组件中的数据

clear_suffix_value(suffix_or_name, expand=True)

设置此组件数据的后缀值

clone(memo=None)

待办事项

cname(*args, **kwds)

已弃用。

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

collect_ctypes(active=None, descend_into=True)

计算存储在此块上或下的所有组件类型的数量。

Parameters:
  • active (True/None) – 设置为True表示只应计算活动组件。默认值None表示应计算所有组件(包括已停用的组件)。

  • descend_into (bool) – 表示是否应该在子块上计算组件类型。默认值为 True。

返回:一组组件类型。

component(name_or_object)

返回此块的一个子组件。

如果传递一个字符串,这将返回通过该名称注册的子组件。如果传递一个组件,这将返回该组件,仅当该组件是此块的子组件时。查找失败时返回None。

component_data_iterindex(ctype=None, active=None, sort=False, descend_into=True, descent_order=None)

已弃用。

返回一个生成器,该生成器为块中的每个组件数据对象返回一个元组。默认情况下,此生成器会递归地深入到子块中。元组是

((组件名称, 索引值), 组件数据)

自版本6.6.0起已弃用:component_data_iterindex方法已被弃用。组件现在知道它们的索引,因此更高效的方法是使用Block.component_data_objects()方法,然后使用.index()。

component_data_objects(ctype=None, active=None, sort=False, descend_into=True, descent_order=None)

返回一个生成器,该生成器遍历块中所有组件的数据对象。默认情况下,此生成器会递归地深入到子块中。

component_map(ctype=None, active=None, sort=False)

返回此块中组件的伪映射。

Parameters:
  • ctype (Nonetypeiterable) –

    指定要包含在结果PseudoMap中的组件类型(ctypes

    None

    所有组件

    type

    单个组件类型

    iterable

    可迭代对象中的所有组件类型

  • active (Nonebool) –

    通过活动标志过滤组件

    None

    返回所有组件

    True

    仅返回活动组件

    False

    仅返回非活动组件

  • sort (bool) –

    按排序顺序遍历组件

    True

    使用 Block.alphabetizeComponentAndIndex 进行遍历

    False

    使用 Block.declarationOrder 进行遍历

component_objects(ctype=None, active=None, sort=False, descend_into=True, descent_order=None)

返回一个生成器,该生成器遍历块中的组件对象。默认情况下,生成器会递归地深入到子块中。

construct(data=None)

初始化块

contains_component(ctype)

如果组件类型在_ctypes中并且… 待办事项,则返回True。

deactivate()

将活动属性设置为False

del_component(name_or_object)

从此块中删除一个组件。

dim()

返回索引的维度

display(filename=None, ostream=None, prefix='')

在块中显示值

find_component(label_or_component)

返回给定名称的块中的组件。

Parameters:

label_or_component (str, Component, or ComponentUID) – 要在此块中查找的组件的名称。字符串或组件参数首先转换为ComponentUID。

Returns:

由ComponentUID标识的块上的组件。如果未找到匹配的组件,则返回None。

Return type:

Component

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()

返回索引集

is_component_type()

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

is_constructed()

一个布尔值,指示输入模型的所有活动组件是否已正确构建。

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

  • ordered (bool) – 已弃用:请使用 sort=SortComponents.ORDERED_INDICES。 如果为 True,则键将以确定性顺序返回 (使用底层集合的 ordered_iter())。

model()

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

parent_block()

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

parent_component()

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

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

打印组件信息

reclassify_component_type(name_or_object, new_ctype, preserve_declaration_order=True)

待办事项

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)

设置标量组件的值。

to_dense_data()

待办事项

transfer_attributes_from(src)

将用户定义的属性从src传输到此块

这将从块或字典src中传输所有组件和用户定义的属性,并将它们放置在此块上。组件按声明顺序传输。

如果在src上的一个组件也在本块中声明为组件或属性,则本地组件或属性将被传入的组件替换。如果src上的属性名称与本块中声明的组件匹配,则传入的属性将传递给本地组件的set_value()方法。出现在本块的_Block_reserved_words集合中的属性名称不会被转移(尽管组件会被转移)。

Parameters:

src (BlockDatadict) – 包含要分配给此块的新属性的块或映射。

type()

已弃用。

返回此组件的类类型

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

valid_model_component()

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

valid_problem_types()

此方法允许pyomo.opt转换函数与模型对象一起工作。

values(sort=<SortComponents.UNSORTED: 0>, ordered=NOTSET)

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

Parameters:
  • sort (boolSortComponents) – 以指定的排序顺序迭代声明的组件值。有关有效选项和描述,请参见 SortComponents

  • ordered (bool) – 已弃用:请使用 sort=SortComponents.ORDERED_INDICES。 如果为 True,则值将以确定性顺序返回 (使用底层集合的 ordered_iter()

write(filename=None, format=None, solver_capability=None, io_options={}, int_marker=False)

将模型写入文件,使用给定的格式。

property active

返回活动属性

property ctype

返回此组件的类类型

property local_name

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

property name

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