基数集
(类来自 pyomo.contrib.pyros.uncertainty_sets)
- class pyomo.contrib.pyros.uncertainty_sets.CardinalitySet(origin, positive_deviation, gamma)[source]
-
一个基数约束(即“gamma”)集合。
- Parameters:
origin ((N,) array_like) – 集合的原点(例如,名义不确定参数值)。
positive_deviation ((N,) array_like) – 每个维度中从原点的最大非负坐标偏差。
gamma (数值类型) – 不确定参数可能同时实现其与原点最大偏差的上限。
示例
一个3D基数集:
>>> from pyomo.contrib.pyros import CardinalitySet >>> gamma_set = CardinalitySet( ... origin=[0, 0, 0], ... positive_deviation=[1.0, 2.0, 1.5], ... gamma=1, ... ) >>> gamma_set.origin array([0, 0, 0]) >>> gamma_set.positive_deviation array([1. , 2. , 1.5]) >>> gamma_set.gamma 1
方法
__init__(origin, positive_deviation, gamma)初始化自身(参见类文档字符串)。
计算给定点的辅助不确定参数值。
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分离子问题)。
属性
基数集的维度 N。
不确定参数数量的上限,这些参数可能同时从其各自的原始值最大偏离。
基数集的几何形状。
基数集的起源(例如,标称参数值)。
基数集在每个维度上的边界。
每个维度中与原点之间的最大坐标偏差。
不确定性集合类型的简要描述。
成员文档
- compute_auxiliary_uncertain_param_vals(point, solver=None)[source]
计算给定点的辅助不确定参数值。 该点不需要位于不确定集合中。
- Parameters:
point ((N,) array-like) – 兴趣点。
solver (Pyomo solver, optional) – 如果需要,可以使用一个Pyomo求解器来计算辅助值。
- Returns:
aux_space_pt – 计算出的辅助不确定参数值。
- 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 gamma
不确定参数数量的上限,这些参数可能同时从其各自的原始值最大偏离。必须是一个数值,范围从0到设定的维度N。
请注意,从数学上讲,将gamma设置为0会将集合减少为仅包含中心的单例,而将gamma设置为集合维度N会使集合在数学上等同于具有边界的BoxSet,边界为
numpy.array([origin, origin + positive_deviation]).T。- Type:
数值类型
- property geometry
基数集的几何形状。 请参阅Geometry类文档。
- property origin
基数集合的起源 (例如,名义参数值)。
- Type:
(N,) numpy.ndarray
- property parameter_bounds
基数集在每个维度上的边界。
- Returns:
列表,长度为N,包含2元组。每个元组指定其对应维度的边界。
- Return type:
list 元组列表
- property positive_deviation
每个维度上相对于原点的最大坐标偏差。所有条目均为非负。
- Type:
(N,) numpy.ndarray