Skip to main content

solverforge_solver/phase/construction/
mod.rs

1/* Construction heuristic phase
2
3Builds an initial solution by assigning values to uninitialized
4planning variables one at a time.
5*/
6
7mod config;
8mod decision;
9mod evaluation;
10mod forager;
11mod forager_impl;
12mod forager_step;
13mod frontier;
14pub(crate) mod grouped_scalar;
15mod phase;
16mod placer;
17mod runtime_slots;
18mod slot;
19mod telemetry;
20
21pub use config::{ConstructionHeuristicConfig, ForagerType};
22pub use forager::{
23    BestFitForager, ConstructionChoice, ConstructionForager, FirstFeasibleForager, FirstFitForager,
24    StrongestFitForager, WeakestFitForager,
25};
26pub(crate) use frontier::ConstructionFrontier;
27pub(crate) use grouped_scalar::{
28    build_scalar_group_construction, record_scalar_assignment_remaining,
29    scalar_group_work_remaining,
30};
31pub use phase::ConstructionHeuristicPhase;
32pub(crate) use placer::ConstructionTarget;
33pub use placer::{
34    EntityPlacer, EntityPlacerCursor, Placement, QueuedEntityPlacer, SortedEntityPlacer,
35};
36pub(crate) use runtime_slots::{
37    FrozenRuntimeListConstructionSlot, FrozenScalarOrMixedConstruction, ScalarConstructionSchedule,
38    ScalarOrMixedSlotOrder,
39};
40pub(crate) use slot::{
41    ConstructionGroupSlotId, ConstructionGroupSlotKey, ConstructionListElementId,
42    ConstructionSlotId,
43};
44pub(crate) use telemetry::{
45    record_construction_candidate, report_construction_progress_if_due, run_construction_phase,
46    PendingConstructionMoveTelemetry,
47};