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)available([exception_flag])检查求解器是否可用。
使用信任域求解器的许可证。
solve(model, degrees_of_freedom_variables[, ...])此方法调用TRF算法。
version()返回一个描述求解器版本的3元组。
属性
CONFIG成员文档
- 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.01param_filter_gamma_f (In(0..1), default=0.01) – 固定过滤器参数
gamma_f在 (0, 1) 范围内。默认值 = 0.01