Skip to main content

solve_nlp_batch_parallel_warm

Function solve_nlp_batch_parallel_warm 

Source
pub fn solve_nlp_batch_parallel_warm<T, C>(
    problems: Vec<T>,
    warms: Vec<NlpWarmStart>,
    configure: C,
) -> Vec<NlpBatchResult>
where T: TNLP + Send + 'static, C: Fn(usize, &mut IpoptApplication) + Sync,
Expand description

Warm-started parallel batch: like solve_nlp_batch_parallel but each instance is seeded from the corresponding entry of warms — typically the previous step’s NlpBatchSolutions for a sequence of nearby batches (receding-horizon MPC, sequential parameter continuation, B&B dives). The NLP analog of the QP batch’s solve_qp_batch_parallel_warm.

Each worker forces warm_start_init_point=yes after configure runs (that option is the point of this entry; pair it with mu_init / warm_start_target_mu via configure for the full re-optimization effect), then serves the warm iterate through get_starting_point. A warm start only affects an instance’s iteration count, not its solution; a per-instance dimension mismatch falls back to that instance’s own (cold) starting point.

§Panics

Panics if warms.len() != problems.len().