File size: 1,497 Bytes
f6213fc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! Planning-model manifest and domain-layer exports.
//!
//! `planning_model!` is the single SolverForge model boundary. It lists the
//! file-backed domain modules, exports the public names used by the rest of the
//! app, and keeps list-variable hooks close to the domain they describe.

solverforge::planning_model! {
    root = "src/domain";

    // @solverforge:begin domain-exports
    mod coord_value;
    mod delivery;
    mod plan;
    mod preview;
    mod vehicle;

    pub use coord_value::CoordValue;
    pub use delivery::Delivery;
    pub use delivery::DeliveryKind;
    pub use plan::{Plan, PlanConstraintStreams};
    pub use preview::{
        DeliveryPreview, PlanPreview, PlanViewState, RoutingMode, TimelineView, VehiclePreview,
        VehiclePreviewStop,
    };
    pub use vehicle::Vehicle;
    // @solverforge:end domain-exports

    mod route_metrics;

    pub use route_metrics::{
        build_routes_snapshot, delivery_clarke_wright_depot, delivery_element_load,
        delivery_k_opt_depot, delivery_k_opt_feasible, delivery_route_capacity,
        delivery_route_distance, evaluate_plan, get_delivery_route, prepare_plan,
        preview_for_plan, rank_delivery_insertions, replace_delivery_route,
        DeliveryInsertionCandidate, DeliveryRoutingSolution, PlanScoreComponents,
        PreparedVehicleRouting, RouteLegGeometry, RouteLegSummary, RoutesSnapshot,
        VehicleRouteMetrics, UNASSIGNED_DELIVERY_HARD_PENALTY,
    };
}

#[cfg(test)]
mod plan_tests;