标量约束

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

class pyomo.core.base.constraint.ScalarConstraint(*args, **kwds)[source]

基础类: ConstraintData, Constraint

ScalarConstraint 是表示单个非索引约束的实现。

__init__(*args, **kwds)[源代码]

方法

__init__(*args, **kwds)

activate()

将活动属性设置为True

add(index, expr)

添加一个具有给定索引的约束。

clear()

清除此组件中的数据

clear_suffix_value(suffix_or_name[, expand])

设置此组件数据的后缀值

cname(*args, **kwds)

已弃用。

construct([data])

为此约束构建表达式。

deactivate()

将活动属性设置为False

dim()

返回索引的维度

display([prefix, ostream])

打印组件状态信息

get_suffix_value(suffix_or_name[, default])

获取此组件数据的后缀值

get_value()

获取此约束上的表达式。

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

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

has_lb()

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

has_ub()

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

id_index_map()

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

index()

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

index_set()

返回索引集

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

items([sort, ordered])

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

iteritems()

已弃用。

iterkeys()

已弃用。

itervalues()

已弃用。

keys([sort, ordered])

返回组件数据键的迭代器

lslack()

返回形式为以下约束的 f(x)-L 的值:

model()

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

parent_block()

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

parent_component()

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

pprint([ostream, verbose, prefix])

打印组件信息

reconstruct([data])

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

root_block()

返回 self.model()

set_suffix_value(suffix_or_name, value[, expand])

设置此组件数据的后缀值

set_value(expr)

在此约束上设置表达式。

slack()

返回 lslack 和 uslack 值中的较小者

to_bounded_expression([evaluate_bounds])

将此约束转换为由3个表达式组成的元组(lb, body, ub)

to_dense_data()

待办事项

type()

已弃用。

uslack()

返回形式为以下约束的 U-f(x) 的值:

valid_model_component()

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

values([sort, ordered])

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

属性

active

返回活动属性

body

约束表达式的主体(可变部分)。

ctype

返回此组件的类类型

equality

如果这是一个等式约束,则为真。

expr

返回与此约束关联的表达式。

lb

约束表达式的下限值。

local_name

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

lower

约束表达式的下限。

name

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

strict_lower

如果此约束具有严格的下限,则为True。

strict_upper

如果此约束具有严格的上限,则为True。

ub

约束表达式的上限值。

upper

访问约束表达式的上限。

成员文档

activate()

将活动属性设置为True

add(index, expr)[source]

添加一个具有给定索引的约束。

clear()[source]

清除此组件中的数据

clear_suffix_value(suffix_or_name, expand=True)

设置此组件数据的后缀值

cname(*args, **kwds)

已弃用。

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

construct(data=None)

为此约束构建表达式。

deactivate()

将活动属性设置为False

dim()

返回索引的维度

display(prefix='', ostream=None)

打印组件状态信息

这重复了Component.pprint()中的逻辑

get_suffix_value(suffix_or_name, default=None)

获取此组件数据的后缀值

get_value()

获取此约束上的表达式。

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

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

has_lb()

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

has_ub()

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

id_index_map()

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

index()

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

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

lslack()
Returns the value of f(x)-L for constraints of the form:

L <= f(x) (<= U) (U >=) f(x) >= L

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_suffix_value(suffix_or_name, value, expand=True)

设置此组件数据的后缀值

set_value(expr)[source]

在此约束上设置表达式。

slack()

返回 lslack 和 uslack 值中的较小者

to_bounded_expression(evaluate_bounds=False)

将此约束转换为由3个表达式组成的元组(lb, body, ub)

此方法将表达式“标准化”为一个由三个表达式组成的元组:(lower_bound, body, upper_bound)。在转换后,lower_boundupper_bound 保证为 None、数字常量或固定(不一定是常量)表达式。

注意

由于此方法在表达式的当前状态上操作,任何所需的表达式操作(以及结果)在修复/取消修复Var对象后可能会发生变化。

Parameters:

evaluate_bounds (bool) – 如果为True,则下界和上界将被评估为一个有限的数值常量或None。

Raises:

ValueError – 如果表达式无法映射到此形式(即,RangedExpression 约束具有可变的下限或上限)时引发。

to_dense_data()

待办事项

type()

已弃用。

返回此组件的类类型

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

uslack()
Returns the value of U-f(x) for constraints of the form:

(L <=) f(x) <= U U >= f(x) (>= L)

valid_model_component()

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

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

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

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

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

property active

返回活动属性

property body

约束表达式的主体(可变部分)。

property ctype

返回此组件的类类型

property equality

如果这是一个等式约束,则为真。

Type:

bool

property expr

返回与此约束关联的表达式。

property lb

约束表达式的下限值。

Type:

float

property local_name

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

property lower

约束表达式的下限。

这是约束的固定下界,作为Pyomo表达式。这可能包含当前固定的潜在变量项。如果没有下界,这将返回None

property name

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

property strict_lower

如果此约束具有严格的下限,则为True。

Type:

bool

property strict_upper

如果此约束具有严格的上限,则为True。

Type:

bool

property ub

约束表达式的上限值。

Type:

float

property upper

访问约束表达式的上限。

这是约束的固定上限,作为一个Pyomo表达式。这可能包含当前固定的潜在变量项。如果没有上限,这将返回None