ligning.optimization¶
- class ligning.optimization.BOOptimizer(name: Optional[str] = 'optimizer_0')¶
Automated BO Optimizer
- optimize(objective_func: object, para_ranges: list, n_iter: Optional[int] = 100, make_plot: Optional[bool] = True, log_flag: Optional[bool] = False) Tuple[nparray, nparray, int]¶
Training a Bayesian Optimizer
- Parameters
objective_func (object) – objective function object
para_ranges (list) – list of parameter ranges (as lists) or parameter values (as float)
n_iter (Optional[int], optional) – number of optimization iterations, by default 100
make_plot (Optional[bool], optional) – flag to make discovery plot, by default True
log_flag (Optional[bool], optional) – flag to take log of the responses, by default False
- Returns
X_opt_full (nparray) – values of optimal parameters
y_opt (nparray) – value of optimal reponse
index_opt (int) – index of the sampling points where optimum is
- class ligning.optimization.MaskedFunc(objective_func, para_ranges)¶
Wrapper for the objective function with fixed and varying inputs
- predict(X_real: nparray) nparray¶
Vectorized objective function object takes a matrix and return the reponses in a matrix
- Parameters
X_real (nparray) – input parameter matrix
- Returns
Y_real – output reponse matrix
- Return type
nparray
- class ligning.optimization.ParameterMask(para_ranges: list, return_1d: Optional[bool] = True)¶
Mask object to create full X matrix with fixed values and varying values
- prepare_X(X) nparray¶
Prepare the full X vector
- Returns
X_full – full X vector
- Return type
nparray
- class ligning.optimization.Simulation(linkage_distribution_input: list, monomer_distribution_input: list, expected_size: Tuple[int, float], max_size: Tuple[int, float], distribution_scaling: float, Tmetro: int, Tmetro_out: int, seed_init: Optional[int] = 1, library_name: Optional[str] = 'lignin_x', ResultsName: Optional[str] = 'results', trial_index: Optional[int] = None, n_population: Optional[int] = 100, i_max: Optional[int] = 1000, i_max_out: Optional[int] = 1000, i_max_ring: Optional[int] = 500, additional_metrics: Optional[Tuple[list, float]] = None, population_metrics: Optional[list] = None, size_in_MW: Optional[bool] = False, branching_propensity: Optional[float] = None, metrics_weights: Optional[Tuple[list, nparray]] = None, verbose: Optional[bool] = True, show_plots: Optional[bool] = True, save_path: Optional[str] = '/home/docs/checkouts/readthedocs.org/user_builds/ligningraphs/checkouts/latest/docs/source')¶
Full MCMC simulation to generate a population of lignin structures
- run()¶
Main body run the MCMC simulations
- class ligning.optimization.Trajectory(linkage_distribution_input: list, monomer_distribution_input: list, Tmetro: int, expected_size: Tuple[int, float], max_size: Tuple[int, float], distribution_scaling: Optional[float] = 1.0, additional_metrics: Optional[Tuple[list, float]] = None, size_in_MW: Optional[bool] = False, branching_propensity: Optional[float] = None, metrics_weights: Optional[Tuple[list, nparray]] = None, verbose: Optional[bool] = True, file: Optional[str] = None)¶
Single MCMC trajectory
- class ligning.optimization.VectorizedFunc(objective_func: object)¶
Wrapper for the vectorized objective function
- predict(X_real: nparray) nparray¶
Vectorized objective function object takes a matrix and return the reponses in a matrix
- Parameters
X_real (nparray) – input parameter matrix
- Returns
Y_real – output reponse matrix
- Return type
nparray