TrustRegionSolver

(类来自 pyomo.contrib.trustregion.TRF)

class pyomo.contrib.trustregion.TRF.TrustRegionSolver(**kwds)[source]

基础类:object

信任域求解器是一种基于2016/2018/2020年AiChE论文的“求解器”,这些论文由Eason(2016/2018)、Yoshio(2020)和Biegler撰写。

__init__(**kwds)[source]

方法

__init__(**kwds)

available([exception_flag])

检查求解器是否可用。

license_is_valid()

使用信任域求解器的许可证。

solve(model, degrees_of_freedom_variables[, ...])

此方法调用TRF算法。

version()

返回一个描述求解器版本的3元组。

属性

CONFIG

成员文档

available(exception_flag=True)[source]

检查求解器是否可用。

license_is_valid()[source]

使用信任域求解器的许可证。

solve(model, degrees_of_freedom_variables, ext_fcn_surrogate_map_rule=None, **kwds)[source]

此方法调用TRF算法。

Parameters:
  • model (ConcreteModel) – 使用信任域框架求解的模型。

  • degrees_of_freedom_variables (List[Var]) – 用户提供的输入。用户必须提供一个变量列表,这些变量是模型中的自由度或决策变量。

  • ext_fcn_surrogate_map_rule (Function, optional) – 在2020年Yoshio/Biegler的论文中,这被称为基函数b(w)。 这是用于解决原始过程模型问题的低保真模型,并被集成到代理模型中。 默认值为0(即没有基函数规则)。

Keyword Arguments:
  • solver (默认='ipopt') – 使用的求解器。默认 = ipopt.

  • keepfiles (Bool, default=False) – 可选。是否写入子问题的文件以用于调试。默认值为 False。

  • tee (布尔值, 默认=False) – 可选。设置用于子求解器的tee。默认值为False。

  • verbose (Bool, default=False) – 可选。当为True时,将每次迭代的相关信息打印到控制台以及日志中。默认值为False。

  • trust_radius (PositiveFloat, default=1.0) – 初始信任区域半径 delta_0。默认值 = 1.0。

  • minimum_radius (PositiveFloat, default=1e-06) – 最小允许的信任区域半径 delta_min。默认值 = 1e-6。

  • maximum_radius (PositiveFloat, default=100.0) – 最大允许的信任区域半径。如果信任区域半径达到最大允许值,求解器将退出。默认值 = 100 * trust_radius。

  • maximum_iterations (PositiveInt, default=50) – 允许的最大迭代次数。默认值为50。

  • feasibility_termination (PositiveFloat, default=1e-05) – 可行性度量终止容差 epsilon_theta。默认值 = 1e-5。

  • step_size_termination (PositiveFloat, default=1e-05) – 步长终止容差 epsilon_s。默认与可行性终止容差匹配。

  • minimum_feasibility (PositiveFloat, default=0.0001) – 最小可行性度量 theta_min。默认值 = 1e-4。

  • switch_condition_kappa_theta (In(0..1), default=0.1) – 切换条件参数 kappa_theta。包含在开集 (0, 1) 中。默认值 = 0.1。

  • switch_condition_gamma_s (PositiveFloat, default=2.0) – 切换条件参数 gamma_s。必须满足:gamma_s > 1/(1+mu) 其中 mu 包含在集合 (0, 1] 中。默认值 = 2.0。

  • radius_update_param_gamma_c (In(0..1), default=0.5) – 下信任区域更新参数 gamma_c。默认值 = 0.5。

  • radius_update_param_gamma_e (In[1..inf], default=2.5) – 上信任区域更新参数 gamma_e。默认值 = 2.5。

  • ratio_test_param_eta_1 (In(0..1), default=0.05) – 下比率测试参数 eta_1。必须满足:0 < eta_1 <= eta_2 < 1。默认值 = 0.05。

  • ratio_test_param_eta_2 (In(0..1), default=0.2) – 较低的比率测试参数 eta_2。必须满足:0 < eta_1 <= eta_2 < 1。默认值 = 0.2。

  • maximum_feasibility (PositiveFloat, default=50.0) – 最大允许的可行性度量 theta_max。用于过滤器方法的参数。默认值 = 50.0。

  • param_filter_gamma_theta (In(0..1), default=0.01) – 固定过滤器参数 gamma_theta 在 (0, 1) 范围内。默认值 = 0.01

  • param_filter_gamma_f (In(0..1), default=0.01) – 固定过滤器参数 gamma_f 在 (0, 1) 范围内。默认值 = 0.01

version()[source]

返回一个描述求解器版本的3元组。