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/bin differential-evolution scout.

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.