pqx123-lgtm/moonbit-vrp-solver/search does not have a README file

    AnnealingConfig

    pub struct AnnealingConfig {
    iterations : Int
    initial_temperature : Double
    cooling_rate : Double
    destroy_size : Int
    seed : Int
    } derive(ToJson,
    Debug
    )

    Parameters for the optional simulated-annealing driver.

    AnnealingConfig::cooling_rate

    fn AnnealingConfig::cooling_rate(self : AnnealingConfig) -> Double

    AnnealingConfig::default

    AnnealingConfig::destroy_size

    fn AnnealingConfig::destroy_size(self : AnnealingConfig) -> Int

    AnnealingConfig::initial_temperature

    fn AnnealingConfig::initial_temperature(self : AnnealingConfig) -> Double

    AnnealingConfig::iterations

    fn AnnealingConfig::iterations(self : AnnealingConfig) -> Int

    AnnealingConfig::seed

    fn AnnealingConfig::seed(self : AnnealingConfig) -> Int

    AnnealingConfig::tune

    fn AnnealingConfig::tune(self : AnnealingConfig, iterations? : Int, initial_temperature? : Double, cooling_rate? : Double, destroy_size? : Int, seed? : Int) -> AnnealingConfig

    AnnealingRun

    pub struct AnnealingRun {
    result :
    SolveResult

    iterations : Int
    accepted_moves : Int
    improved_moves : Int
    final_temperature : Double
    } derive(
    Debug
    )

    AnnealingRun::accepted_moves

    fn AnnealingRun::accepted_moves(self : AnnealingRun) -> Int

    AnnealingRun::final_temperature

    fn AnnealingRun::final_temperature(self : AnnealingRun) -> Double

    AnnealingRun::improved_moves

    fn AnnealingRun::improved_moves(self : AnnealingRun) -> Int

    AnnealingRun::iterations

    fn AnnealingRun::iterations(self : AnnealingRun) -> Int

    LocalSearchConfig

    pub struct LocalSearchConfig {
    max_rounds : Int
    use_two_opt : Bool
    use_relocate : Bool
    use_swap : Bool
    use_reverse : Bool
    } derive(ToJson,
    Debug
    )

    Controls deterministic neighborhood improvement after construction or ALNS.

    LocalSearchConfig::default

    LocalSearchConfig::max_rounds

    fn LocalSearchConfig::max_rounds(self : LocalSearchConfig) -> Int

    LocalSearchConfig::tune

    fn LocalSearchConfig::tune(self : LocalSearchConfig, max_rounds? : Int, use_two_opt? : Bool, use_relocate? : Bool, use_swap? : Bool, use_reverse? : Bool) -> LocalSearchConfig

    LocalSearchConfig::uses_relocate

    fn LocalSearchConfig::uses_relocate(self : LocalSearchConfig) -> Bool

    LocalSearchConfig::uses_reverse

    fn LocalSearchConfig::uses_reverse(self : LocalSearchConfig) -> Bool

    LocalSearchConfig::uses_swap

    fn LocalSearchConfig::uses_swap(self : LocalSearchConfig) -> Bool

    LocalSearchConfig::uses_two_opt

    fn LocalSearchConfig::uses_two_opt(self : LocalSearchConfig) -> Bool

    MultiStartRun

    Result of comparing several deterministic construction strategies.

    MultiStartRun::attempt_count

    fn MultiStartRun::attempt_count(self : MultiStartRun) -> Int

    PortfolioResult

    Result of a solver portfolio run across construction and improvement modes.

    PortfolioResult::evaluated

    fn PortfolioResult::evaluated(self : PortfolioResult) -> Int

    PortfolioResult::selected_index

    fn PortfolioResult::selected_index(self : PortfolioResult) -> Int

    SearchSummary

    pub struct SearchSummary {
    instance_name : String
    iterations : Int
    seed_objective : Double
    best_objective : Double
    absolute_improvement : Double
    relative_improvement : Double
    accepted_moves : Int
    improved_moves : Int
    local_improvements : Int
    evaluated_candidates : Int
    feasible : Bool
    } derive(ToJson,
    Debug
    )

    A compact convergence summary for CLI and benchmark output.

    SearchSummary::absolute_improvement

    fn SearchSummary::absolute_improvement(self : SearchSummary) -> Double

    SearchSummary::accepted_moves

    fn SearchSummary::accepted_moves(self : SearchSummary) -> Int

    SearchSummary::best_objective

    fn SearchSummary::best_objective(self : SearchSummary) -> Double

    SearchSummary::evaluated_candidates

    fn SearchSummary::evaluated_candidates(self : SearchSummary) -> Int

    SearchSummary::improved_moves

    fn SearchSummary::improved_moves(self : SearchSummary) -> Int

    SearchSummary::instance_name

    fn SearchSummary::instance_name(self : SearchSummary) -> String

    SearchSummary::is_feasible

    fn SearchSummary::is_feasible(self : SearchSummary) -> Bool

    SearchSummary::iterations

    fn SearchSummary::iterations(self : SearchSummary) -> Int

    SearchSummary::local_improvements

    fn SearchSummary::local_improvements(self : SearchSummary) -> Int

    SearchSummary::relative_improvement

    fn SearchSummary::relative_improvement(self : SearchSummary) -> Double

    SearchSummary::seed_objective

    fn SearchSummary::seed_objective(self : SearchSummary) -> Double

    WeightTable

    type WeightTable derive(
    Debug
    )

    acceptance_probability

    fn acceptance_probability(delta : Double, temperature : Double) -> Double

    Computes the Metropolis acceptance probability for a positive delta.

    anneal

    Runs a deterministic simulated-annealing search from a Clarke-Wright seed.

    annealing_text

    fn annealing_text(run : AnnealingRun) -> String

    best_result_index

    Chooses the best result by objective, preferring feasible solutions on ties.

    is_reproducible

    Checks whether repeated deterministic runs produce the same route signature.

    Performs bounded deterministic improvement and never accepts a worse solution.

    portfolio_text

    fn portfolio_text(portfolio : PortfolioResult) -> String

    quality_flags

    Returns actionable quality flags without changing solver behavior.

    search_summary_text

    fn search_summary_text(summary : SearchSummary) -> String

    solve_portfolio

    Evaluates a broad but bounded strategy portfolio and returns its best run.

    solve_with_strategies

    Solves the same instance from several independent constructive seeds.

    Converts a solver result into stable, machine-readable metrics.