Skip to content

← Back to updatecouplingparametermethod

UpdateCouplingParameterMethod_SubgradientMultipliers

Source: Distributed_Design_Optimizer/coordination/updatecouplingparametermethod/UpdateCouplingParameterMethod_SubgradientMultipliers.py

Standard LC coupling parameter update method.

This module implements the standard Lagrangian Coordination update strategy for Lagrange multipliers (without penalty weights).

Classes

UpdateCouplingParameterMethod_SubgradientMultipliers

Inherits from: UpdateCouplingParameterMethodInterface

Standard LC update method for coupling parameters.

Implements the Lagrangian coordination update rules (without penalty weights): - Multipliers: λ_new = λ_old + beta * inconsistency

Note: gamma is not used in LC since there are no penalty weights to update.

Attributes:

_beta: Multiplier update step size (must be > 0).
_initialmultiplier: Initial value for Lagrange multipliers.

Methods

init(self, beta: float, initialmultiplier: float) → None

Initialize the standard LC update method.

Args:

beta: Multiplier update step size.
initialmultiplier: Initial value for Lagrange multipliers.

validate_inputs(self) → None

Validate the hyperparameters of this update method.

Raises:

ValueError: If any parameter is outside the allowed range.

update_CoordinationMultipliers(self, multiplierin: List[float], inconsistencyin: List[float]) → None

Update Lagrange multipliers using the standard LC subgradient rule.

Update formula: λ_new = λ_old + beta * inconsistency

Args:

multiplierin: Current multiplier values to update in place.
inconsistencyin: Current inconsistency values.

get_InitialMultiplier(self) → float

Get the initial Lagrange multiplier value.

Returns:

The initial Lagrange multiplier value.

print_startup_summary(self) → None

Print the subgradient multiplier parameters beta and initial multiplier at startup.

print_termination_summary(self) → None

Print the subgradient multiplier parameters beta and initial multiplier at the end.

update_state(self, other: UpdateCouplingParameterMethod_SubgradientMultipliers) → None

Update the state of this instance with values from another instance.

Args:

other: The source instance containing updated values from parallel execution.