Skip to content

← Back to innerloop_iterationscheme

ParallelPerLevelIncreasing

Source: Distributed_Design_Optimizer/coordination/innerloop_iterationscheme/ParallelPerLevelIncreasing.py

Level-by-level iteration scheme module.

This module provides an iteration scheme where subsystems at each level are executed in parallel before moving to the next level.

Classes

ParallelPerLevelIncreasing

Inherits from: IterationSchemeBasis

Iteration scheme that executes subsystems level by level.

This scheme processes subsystems by their level, executing all subsystems at the same level in parallel before moving to the next level.

Methods

init(self) → None

Initialize the ParallelPerLevelIncreasing iteration scheme.

run_innerloop_jobs_multiprocessing(self, subsystemsIn: List[SubSystemInterface]) → Tuple[List[SubSystemInterface], List[int]]

Execute inner loop jobs level by level using multiprocessing.

Subsystems are grouped by their subsystem level and executed in parallel within each level. Processing proceeds from level 0 upward.

Args:

subsystemsIn: List of subsystems to execute.

Returns:

Tuple containing the list of executed subsystems and their indices.

print_startup_summary(self) → None

Nothing to print.

print_termination_summary(self) → None

Nothing to print.

print_beginning_of_run_innerloop_jobs_multiprocessing(self) → None

Print a banner before executing inner loop jobs with multiprocessing.