TrustRegionSolver
(class from pyomo.contrib.trustregion.TRF)
- class pyomo.contrib.trustregion.TRF.TrustRegionSolver(**kwds)[source]
Bases:
objectThe Trust Region Solver is a ‘solver’ based on the 2016/2018/2020 AiChE papers by Eason (2016/2018), Yoshio (2020), and Biegler.
Methods
__init__(**kwds)available([exception_flag])Check if solver is available.
License for using Trust Region solver.
solve(model, degrees_of_freedom_variables[, ...])This method calls the TRF algorithm.
version()Return a 3-tuple describing the solver version.
Attributes
CONFIGMember Documentation
- solve(model, degrees_of_freedom_variables, ext_fcn_surrogate_map_rule=None, **kwds)[source]
This method calls the TRF algorithm.
- Parameters:
model (ConcreteModel) – The model to be solved using the Trust Region Framework.
degrees_of_freedom_variables (List[Var]) – User-supplied input. The user must provide a list of vars which are the degrees of freedom or decision variables within the model.
ext_fcn_surrogate_map_rule (Function, optional) – In the 2020 Yoshio/Biegler paper, this is referred to as the basis function b(w). This is the low-fidelity model with which to solve the original process model problem and which is integrated into the surrogate model. The default is 0 (i.e., no basis function rule.)
- Keyword Arguments:
solver (default='ipopt') – Solver to use. Default =
ipopt.keepfiles (Bool, default=False) – Optional. Whether or not to write files of sub-problems for use in debugging. Default = False.
tee (Bool, default=False) – Optional. Sets the
teefor sub-solver(s) utilized. Default = False.verbose (Bool, default=False) – Optional. When True, print each iteration’s relevant information to the console as well as to the log. Default = False.
trust_radius (PositiveFloat, default=1.0) – Initial trust region radius
delta_0. Default = 1.0.minimum_radius (PositiveFloat, default=1e-06) – Minimum allowed trust region radius
delta_min. Default = 1e-6.maximum_radius (PositiveFloat, default=100.0) – Maximum allowed trust region radius. If trust region radius reaches maximum allowed, solver will exit. Default = 100 * trust_radius.
maximum_iterations (PositiveInt, default=50) – Maximum allowed number of iterations. Default = 50.
feasibility_termination (PositiveFloat, default=1e-05) – Feasibility measure termination tolerance
epsilon_theta. Default = 1e-5.step_size_termination (PositiveFloat, default=1e-05) – Step size termination tolerance
epsilon_s. Matches the feasibility termination tolerance by default.minimum_feasibility (PositiveFloat, default=0.0001) – Minimum feasibility measure
theta_min. Default = 1e-4.switch_condition_kappa_theta (In(0..1), default=0.1) – Switching condition parameter
kappa_theta. Contained in open set (0, 1). Default = 0.1.switch_condition_gamma_s (PositiveFloat, default=2.0) – Switching condition parameter
gamma_s. Must satisfy:gamma_s > 1/(1+mu)wheremuis contained in set (0, 1]. Default = 2.0.radius_update_param_gamma_c (In(0..1), default=0.5) – Lower trust region update parameter
gamma_c. Default = 0.5.radius_update_param_gamma_e (In[1..inf], default=2.5) – Upper trust region update parameter
gamma_e. Default = 2.5.ratio_test_param_eta_1 (In(0..1), default=0.05) – Lower ratio test parameter
eta_1. Must satisfy:0 < eta_1 <= eta_2 < 1. Default = 0.05.ratio_test_param_eta_2 (In(0..1), default=0.2) – Lower ratio test parameter
eta_2. Must satisfy:0 < eta_1 <= eta_2 < 1. Default = 0.2.maximum_feasibility (PositiveFloat, default=50.0) – Maximum allowable feasibility measure
theta_max. Parameter for use in filter method.Default = 50.0.param_filter_gamma_theta (In(0..1), default=0.01) – Fixed filter parameter
gamma_thetawithin (0, 1). Default = 0.01param_filter_gamma_f (In(0..1), default=0.01) – Fixed filter parameter
gamma_fwithin (0, 1). Default = 0.01