交集集合
(类来自 pyomo.contrib.pyros.uncertainty_sets)
- class pyomo.contrib.pyros.uncertainty_sets.IntersectionSet(**unc_sets)[源代码]
-
一系列不确定性集合的交集,每个集合由一个UncertaintySet对象表示。
- Parameters:
**unc_sets (dict) – PyROS UncertaintySet 对象,用于构造交集。必须提供至少两个不确定性集。所有集合必须具有相同的维度。
示例
以原点为中心的2D盒子(正方形)与2D超球面(圆)的交集:
>>> from pyomo.contrib.pyros import ( ... BoxSet, AxisAlignedEllipsoidalSet, IntersectionSet, ... ) >>> square = BoxSet(bounds=[[-1.5, 1.5], [-1.5, 1.5]]) >>> circle = AxisAlignedEllipsoidalSet( ... center=[0, 0], ... half_lengths=[2, 2], ... ) >>> # to construct intersection, pass sets as keyword arguments >>> intersection = IntersectionSet(set1=square, set2=circle) >>> intersection.all_sets UncertaintySetList([...])
方法
__init__(**unc_sets)初始化自身(参见类文档字符串)。
计算给定点的辅助不确定参数值。
intersect(Q1, Q2)获取两个不确定性集合的交集,考虑其中任一集合为离散的情况。
is_bounded(config)确定不确定性集合是否有界。
is_nonempty(config)如果不确定性集合非空,则返回True,否则返回False。
is_valid(config)如果不确定性集合是有界且非空的,则返回True,否则返回False。
point_in_set(point)确定给定点是否位于交集集中。
set_as_constraint([uncertain_params, block])构建一个Pyomo约束块,定义表示不确定参数的变量的不确定性集,用于两阶段鲁棒优化问题或子问题(如PyROS分离子问题)。
属性
要取其交集的不确定性集合的列表。
交集集的维度。
交集集合的几何形状。
交集集的不确定参数值边界。
不确定性集合类型的简要描述。
成员文档
- compute_auxiliary_uncertain_param_vals(point, solver=None)
计算给定点的辅助不确定参数值。 该点不需要位于不确定集合中。
- Parameters:
point ((N,) array-like) – 兴趣点。
solver (Pyomo solver, optional) – 如果需要,可以使用一个Pyomo求解器来计算辅助值。
- Returns:
aux_space_pt – 计算出的辅助不确定参数值。
- Return type:
- static intersect(Q1, Q2)[source]
获取两个不确定性集合的交集,考虑其中任一集合为离散的情况。
- Parameters:
Q1 (UncertaintySet) – 操作数的不确定性集合。
Q2 (UncertaintySet) – 操作数不确定性集合。
- Returns:
集合的交集。如果两个操作数集合都是DiscreteScenarioSet实例,则返回DiscreteScenarioSet;否则,返回IntersectionSet。
- Return type:
- is_bounded(config)
确定不确定性集合是否有界。
- Parameters:
config (ConfigDict) – PyROS 求解器配置。
- Returns:
如果不确定性集合被证明是有界的,则为True,否则为False。
- Return type:
注释
此检查通过解决一系列最大化和最小化问题来执行(其中每个问题的目标是一个不确定参数的值)。如果任何优化模型无法成功解决到最优,则返回False。
此方法在PyROS求解器调用的验证步骤期间被调用。
- is_nonempty(config)
如果不确定性集合非空,则返回True,否则返回False。
- is_valid(config)
如果不确定性集合是有界且非空的,则返回True,否则返回False。
- point_in_set(point)[source]
确定给定点是否位于交集集中。
- Parameters:
point ((N,) array-like) – 感兴趣的点(参数值)。
- Returns:
如果点在集合中则为真,否则为假。
- Return type:
- set_as_constraint(uncertain_params=None, block=None)[source]
构建一个Pyomo约束块,定义表示不确定参数的变量的不确定性集,用于两阶段鲁棒优化问题或子问题(如PyROS分离子问题)。
- Parameters:
- Returns:
添加或处理的组件集合。
- Return type:
- property all_sets
要取其交集的不确定性集合的列表。必须至少包含2个元素。
此属性可以通过任何UncertaintySet对象的可迭代对象设置,并且表现出与list类似的行为。
- Type:
- property geometry
交集集的几何。 参见Geometry类文档。
- property parameter_bounds
交集集的不确定参数值边界。
目前,由于通常无法在没有访问优化求解器的情况下计算边界,因此列表为空。