mod local_polish¶
- module local_polish¶
Bounded local refinement used as the deterministic polish stage after a stochastic annealing or pilot phase.
Functions
-
fn projected_gradient_polish<O, G>(obj: &O, gradient: &G, x0: Array1<f64>, max_fevals: usize, step0: f64, grad_tol: f64) -> LocalPolishResult¶
where
O: Objective<f64>,
G: Gradient<f64>
¶ Refine a point with bounded quasi-Newton backtracking inside objective bounds.
-
fn qmc_best1bin_scout<O>(obj: &O, max_evals: usize, seed: u64, population_size: usize, weight_min: f64, weight_span: f64, crossover_rate: f64) -> QmcPolishResult¶
where
O: Objective<f64>
¶ Run a QMC-initialized
best/1/bindifferential-evolution scout.
-
fn qmc_gsa_global_search<O>(obj: &O, max_evals: usize, seed: u64, n_chains: usize, t_init: f64, q_v: f64, q_a: f64) -> QmcPolishResult¶
where
O: Objective<f64>
¶ Run bounded QMC-initialized generalized simulated annealing.
-
fn qmc_projected_gradient_polish<O, G>(obj: &O, gradient: &G, n_starts: usize, max_fevals_per_start: usize, seed: u64, step0: f64, grad_tol: f64, top_k: usize) -> QmcPolishResult¶
where
O: Objective<f64>,
G: Gradient<f64>
¶ Refine low-discrepancy starts with bounded quasi-Newton polish.
-
fn qmc_trust_region_poll<O>(obj: &O, center: Array1<f64>, max_evals: usize, seed: u64, radius_fraction: f64, n_levels: usize, points_per_level: usize) -> QmcPolishResult¶
where
O: Objective<f64>
¶ Poll a local trust region with shifted low-discrepancy batches.
-
fn shifted_qmc_projected_gradient_polish<O, G>(obj: &O, gradient: &G, n_starts: usize, max_fevals_per_start: usize, seed: u64, n_replicates: usize, step0: f64, grad_tol: f64, top_k: usize) -> QmcPolishResult¶
where
O: Objective<f64>,
G: Gradient<f64>
¶ Refine replicated shifted low-discrepancy starts with bounded polish.
Structs and Unions
- struct LocalPolishResult¶
Result of bounded local refinement.
- best_pos: Array1<f64>¶
Best point found by the local refinement.
- best_val: f64¶
Objective value at
best_pos.
- n_evals: usize¶
Objective evaluations consumed by the refinement.
- n_grads: usize¶
Gradient evaluations consumed by the refinement.
- projected_grad_norm: f64¶
Norm of the projected gradient at
best_pos.
- projected_stationary: bool¶
Whether the projected gradient satisfies the requested tolerance.
- struct QmcPolishResult¶
Result of QMC-seeded bounded local refinement.
- best_pos: Array1<f64>¶
Best point found across the screened low-discrepancy starts.
- best_val: f64¶
Objective value at
best_pos.
- n_evals: usize¶
Objective evaluations consumed by screening and refinement.
- n_grads: usize¶
Gradient evaluations consumed by refinement.
- n_starts: usize¶
Number of low-discrepancy starts screened.
- n_polished: usize¶
Number of screened starts sent to local refinement.
- polished_values: Vec<f64>¶
Objective values returned by each local refinement, in polish order.
- polished_projected_grad_norms: Vec<f64>¶
Projected-gradient norms returned by each local refinement, in polish order.
- polished_stationary: Vec<bool>¶
Stationarity flags returned by each local refinement, in polish order.
-
fn projected_gradient_polish<O, G>(obj: &O, gradient: &G, x0: Array1<f64>, max_fevals: usize, step0: f64, grad_tol: f64) -> LocalPolishResult¶