Skip to main content

espc_optimize

Function espc_optimize 

Source
pub fn espc_optimize(
    task: &PackedTask,
    cost_fluent: usize,
    sat: &mut SatGuidance,
    seed: Option<(Vec<usize>, f64)>,
    part: Option<EspcPartition>,
    threads: usize,
    cfg: SearchCfg,
) -> Option<EspcResult>
Expand description

Run the ESPC penalty-resolution outer loop. sat must be preloaded with the satisfaction/resource guidance and the static deadline pairs (M, D, base_val); this function owns the per-trigger λ schedule and mutates sat.deadline’s effective weights in place each iteration. seed is the stage-1 incumbent (used as the anytime starting point and never lost). When part supplies ≥2 components (and FF_ESPC_MONO is unset), each iteration runs the partitioned composition instead of the monolithic tightening B&B — far cheaper per iteration, so the default outer cap rises 16 → 64 and many more λ adaptations fit in the same budget. Returns the best plan found.