← Back to innerloop_iterationscheme
ParallelOddThenEvenLevels¶
Source: Distributed_Design_Optimizer/coordination/innerloop_iterationscheme/ParallelOddThenEvenLevels.py
Odd-even level iteration scheme module.
This module provides an iteration scheme where odd levels are solved first in parallel, followed by even levels with updated values.
Classes¶
ParallelOddThenEvenLevels¶
Inherits from: IterationSchemeBasis
Iteration scheme that executes subsystems by level parity, odd levels first.
All subsystems at odd levels are solved in parallel first, after which all subsystems at even levels are solved, also in parallel, using the updated targets and responses determined at the odd levels. For more reference, read Chapter 4 of Simon Tosseram's dissertation.
Methods¶
init(self) → None
Initialize the ParallelOddThenEvenLevels iteration scheme.
run_innerloop_jobs_multiprocessing(self, subsystemsIn: List[SubSystemInterface]) → Tuple[List[SubSystemInterface], List[int]]
Run inner loop jobs using multiprocessing with odd-even level ordering.
Executes all subsystems at odd levels (1, 3, 5, ...) in parallel first, then all subsystems at even levels (0, 2, 4, ...) in parallel.
Args:
subsystemsIn: List of subsystems to execute.
Returns:
Tuple containing the list of executed subsystems and their original 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.