← Back to consensus_alc
MiddleLevelDataStorageConsensusALC¶
Source: Distributed_Design_Optimizer/middlelevel/consensus_alc/MiddleLevelDataStorageConsensusALC.py
Middle-level data storage for consensus-based ALC.
This module provides data storage for coupling parameters in consensus-based Augmented Lagrangian Coordination.
Classes¶
MiddleLevelDataStorageConsensusALC¶
Inherits from: MiddleLevelDataStorageBasis
Data storage for consensus-based ALC coupling.
Stores coupling data between subsystems for consensus-based Augmented Lagrangian Coordination.
Methods¶
init(self, idparent: str, idchild: str, multiprocessing_lock: object) → None
📐 Pseudocode: Require hyperparameters γ, β and initial auxiliary variables/multipliers (Lines 1, 2) → Consensus Augmented Lagrangian Coordination
Initialize middle-level data storage.
Args:
idparent: Identifier of the parent subsystem.
idchild: Identifier of the child subsystem.
multiprocessing_lock: Manager-created lock for multiprocessing.
createManagedMiddleLevel(self, manager: Any, lock: Any) → Any
Create a managed proxy copy of this middle level for multiprocessing.
Args:
manager: Multiprocessing manager for creating shared objects.
lock: Multiprocessing lock for synchronization.
Returns:
Managed proxy instance of this middle-level data storage.
update_state(self, other_storage: Union[MiddleLevelDataStorageConsensusALC, MiddleLevelDataStorageProxy]) → None
Update the state from another data storage instance.
This method updates the numerical information stored in the class's attributes without changing the original memory address location. This is necessary for multiprocessing, where executed subsystems return from separate processes and their state must be transferred back to the original objects in the main process.
Args:
other_storage: Source instance to copy state from.
Note:
This class defines no additional attributes beyond the base class.
The _couplingdata attribute is updated via the base class update_state(),
which iterates over each coupling object and calls its update_state() method.