分段DCC

(类来自 pyomo.core.kernel.piecewise_library.transforms)

class pyomo.core.kernel.piecewise_library.transforms.piecewise_dcc(*args, **kwds)[源代码]

基础类: TransformedPiecewiseLinearFunction

离散DCC分段表示

使用DCC公式表达分段线性函数。

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

方法

__init__(*args, **kwds)

activate([shallow])

激活此容器。

block_data_objects(**kwds)

child(key)

获取与此容器关联的给定存储键的子对象。

child_ctypes()

返回存储在此容器中的子对象类别类型的集合。

children([ctype])

遍历此块的子元素。

clone()

返回此对象的副本,并将父指针设置为None

collect_ctypes([active, descend_into])

返回可以在此容器下找到的对象类别类型的集合。

component_data_objects(*args, **kwds)

component_objects(*args, **kwds)

components([ctype, active, descend_into])

生成对此容器下存储的所有组件的高效遍历。

deactivate([shallow])

停用此容器。

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

动态生成此对象的名称。

load_solution(solution[, ...])

加载一个解决方案。

valid_problem_types()

validate(**kwds)

通过验证断点、值和输入变量的各种属性(例如,断点列表是非递减的)来验证这个分段线性函数。

write(filename[, format, ...])

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

属性

active

此对象的活动状态。

bound

分配给分段关系的绑定类型('lb','ub','eq')。

breakpoints

用于定义此函数的断点集合

ctype

对象的类别类型。

input

存储分段函数输入的表达式。

local_name

对象在其父级上下文中的本地名称。

name

对象的完全限定名称。

output

存储分段函数输出的表达式。

parent

对象的父级(可能为None)。

storage_key

对象在其父级中的存储键

values

用于定义此函数的值集

成员文档

activate(shallow=True)

激活此容器。

child(key)

获取与此容器关联的给定存储键的子对象。

Raises:

KeyError – 如果参数不是此容器的任何子项的存储键

child_ctypes()

返回存储在此容器中的子对象类别类型的集合。

children(ctype=<class 'pyomo.core.kernel.base._no_ctype'>)

遍历此块的子元素。

Parameters:

ctype – 表示要包含的子类别。默认值表示应包含所有类别。

Returns:

子对象的迭代器

clone()

返回此对象的副本,并将父指针设置为None

克隆几乎等同于深拷贝,除了遇到的任何分类对象如果不是该对象的后代,将在克隆上引用相同的对象。

collect_ctypes(active=True, descend_into=True)

返回可以在此容器下找到的对象类别类型的集合。

Parameters:
  • active (True/None) – 控制是否过滤迭代以仅包括存储树的活跃部分。默认值为True。将此关键字设置为None会导致忽略对象的活跃状态。

  • descend_into (bool, function) – 表示是否 要进入一个异构容器。默认值为True,这 相当于lambda x: True,意味着所有 异构容器都将被进入。

Returns:

一组对象类别类型

components(ctype=<class 'pyomo.core.kernel.base._no_ctype'>, active=True, descend_into=True)

生成对此容器下存储的所有组件的高效遍历。组件是分类的对象,它们要么是(1)非容器,要么是(2)异构容器。

Parameters:
  • ctype – 表示要包含的组件类别。默认值表示应包含所有类别。

  • active (True/None) – 控制是否过滤迭代以仅包括存储树的活跃部分。默认值为True。将此关键字设置为None会导致忽略对象的活跃状态。

  • descend_into (bool, function) – 表示是否 要进入一个异构容器。默认值为True,这 相当于lambda x: True,意味着所有 异构容器都将被进入。

Returns:

存储树中的组件迭代器

deactivate(shallow=True)

停用此容器。

getname(fully_qualified=False, name_buffer={}, convert=<class 'str'>, relative_to=None)

动态生成此对象的名称。

Parameters:
  • fully_qualified (bool) – 通过迭代所有祖先容器生成完整名称。 默认值为 False

  • convert (function) – 一个将存储键转换为字符串表示的函数。默认是内置函数 str。

  • relative_to (object) – 在生成完全限定名称时,生成相对于此块的名称。

Returns:

如果存在父对象,此方法返回一个字符串,表示该对象在其父对象上下文中的名称;否则(如果不存在父对象),此方法返回None

load_solution(solution, allow_consistent_values_for_fixed_vars=False, comparison_tolerance_for_fixed_vars=1e-05)

加载一个解决方案。

Parameters:
  • 解决方案 – 一个带有符号映射的pyomo.opt.Solution对象。可选地,解决方案可以用一个默认的变量值(例如,0)进行标记,该值将应用于符号映射中没有值的变量。

  • allow_consistent_values_for_fixed_vars – 表示解决方案是否可以为固定的变量指定一致的值。

  • comparison_tolerance_for_fixed_vars – 用于定义解中的值是否与固定变量的值一致的容差。

validate(**kwds)[source]

通过验证断点、值和输入变量的各种属性(例如,断点列表是非递减的)来验证这个分段线性函数。

请参阅基类文档以获取关键字描述。

write(filename, format=None, _solver_capability=None, _called_by_solver=False, **kwds)

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

Parameters:
  • filename (str) – 要写入的文件名。

  • format – 使用的文件格式。如果未指定,将从文件名的后缀推断文件格式。

  • **kwds – 传递给模型写入器的额外关键字选项。

Returns:

一个 SymbolMap

property active

此对象的活动状态。

property bound

分配给分段关系的绑定类型('lb','ub','eq')。

property breakpoints

用于定义此函数的断点集合

property ctype

对象的类别类型。

property input

存储分段函数输入的表达式。可以通过为其expr属性赋值来更新返回的对象。

property local_name

对象在其父级上下文中的本地名称。是 obj.getname(fully_qualified=False)的别名。

property name

对象的完全限定名称。obj.getname(fully_qualified=True)的别名。

property output

存储分段函数输出的表达式。可以通过赋值给其expr属性来更新返回的对象。

property parent

对象的父级(可能为None)。

property storage_key

对象在其父级中的存储键

property values

用于定义此函数的值集