离散求解
(函数来自 pyomo.contrib.pyros.separation_problem_methods)
- pyomo.contrib.pyros.separation_problem_methods.discrete_solve(separation_data, master_data, solve_globally, ss_ineq_con_to_maximize, ss_ineq_cons_to_evaluate)[source]
为尚未添加到最新主问题的不确定性集合的每个情景获取分离问题解决方案。
- Parameters:
separation_data (SeparationProblemData) – 分离问题数据。
master_data (MasterProblemData) – 主问题数据。
solver (solver type) – 用于解决模型的主要次级优化器。
solve_globally (bool) – 分离问题是否要全局解决。
ss_ineq_con_to_maximize (Constraint) – 用于解决分离问题的第二阶段不等式约束。
ss_ineq_cons_to_evaluate (list of Constraint) – 第二阶段的约束条件,其表达式将在每个分离问题解决方案中进行评估。
- Returns:
discrete_separation_results – 对每个考虑的场景中感兴趣的第二阶段不等式约束的分离求解器调用结果。
- Return type:
注释
由于我们假设传递给PyROS的模型是使得自由度变量和不确定参数值唯一地定义了状态变量,因此这个方法在每次分离循环中只需要调用一次。根据我们的假设,目标的选择(
ss_ineq_con_to_maximize)不应影响返回的解,除了子求解器的容忍度之外。对于其他第二阶段的不等式约束,可以通过简单枚举此函数返回的解来评估最优分离问题的解,因为对于离散的不确定集,根据我们的假设,可行的分离解的数量仅仅等于不确定集中的场景数量。