Skip to content

← Back to innerloop_iterationscheme

IterationSchemeInterface

Source: Distributed_Design_Optimizer/coordination/innerloop_iterationscheme/IterationSchemeInterface.py

Interface module for inner loop iteration schemes.

This module defines the abstract base class for iteration schemes that control how subsystems are executed during inner loop iterations.

Classes

IterationSchemeInterface

Inherits from: ABC

Abstract base class for inner loop iteration schemes.

Defines the interface for different strategies to execute hierarchic subsystems during inner loop iterations.

Methods

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

📐 Pseudocode: Inner loop repeat (following some iteration scheme) (Line 7) → Unified Algorithmic Structure; Innerloop repeat (decentralized Primal Update) (Lines 7, 8) → Augmented Lagrangian Coordination; Innerloop decentralized Primal Update optimization (Lines 7, 8) → Consensus Augmented Lagrangian Coordination; Local subsystem NLP optimization (Line 12) → Augmented Lagrangian Alternating Direction Inexact Newton; Decentralized subsystem jobs in parallel (Line 5) → Sensitivity Based Distributed Programming

Execute inner loop jobs using multiprocessing.

Args:

subsystemsIn: List of subsystems to execute.

Returns:

Tuple containing the list of executed subsystems and their indices.

print_startup_summary(self) → None

Print the iteration scheme configuration at startup.

print_termination_summary(self) → None

Print the iteration scheme configuration at the end.

print_beginning_of_run_innerloop_jobs_multiprocessing(self) → None

Print a banner before executing inner loop jobs via multiprocessing.