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

    ConstructionStrategy

    pub(all) enum ConstructionStrategy {
    ClarkeWright
    NearestNeighbor
    CheapestInsertion
    DemandFirst
    Radial
    Balanced
    } derive(Eq, ToJson,
    Debug
    )

    Construction strategies exposed by the library.

    SavingsCandidate

    type SavingsCandidate derive(
    Debug
    )

    SeedQuality

    pub struct SeedQuality {
    strategy : ConstructionStrategy
    objective : Double
    assigned_count : Int
    route_count : Int
    average_stops : Double
    feasible : Bool
    } derive(ToJson,
    Debug
    )

    Quality indicators for comparing constructive heuristics.

    SeedQuality::assigned_count

    fn SeedQuality::assigned_count(self : SeedQuality) -> Int

    SeedQuality::average_stops

    fn SeedQuality::average_stops(self : SeedQuality) -> Double

    SeedQuality::is_feasible

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

    SeedQuality::objective

    fn SeedQuality::objective(self : SeedQuality) -> Double

    SeedQuality::route_count

    fn SeedQuality::route_count(self : SeedQuality) -> Int

    SeedQuality::strategy

    balanced_seed

    Chooses the feasible route with the lowest post-insertion load ratio.

    best_seed

    Solves once from each supplied strategy and returns the best result.

    cheapest_insertion_seed

    Repeatedly inserts the customer/position pair with the lowest penalized cost.

    cheapest_route_insertion

    Returns the cheapest feasible insertion in one route.

    demand_first_seed

    Builds capacity-first routes, placing large deliveries before small ones.

    demand_ordered_insertion

    Repairs every unassigned customer in order of descending demand.

    evaluate_seed

    insert_customer

    Inserts a customer into the best existing route, creating a route only when the fleet still has an unused vehicle.

    nearest_neighbor_seed

    Builds routes by repeatedly appending the closest feasible customer.

    radial_seed

    Packs customers in radial order, opening a new route at each capacity break.

    seed_by_strategy

    Selects a construction heuristic for applications and benchmarks.