Skip to main content

OptimizationNodeSpec

class OptimizationNodeSpec(BaseModel)  # adk.models.optimization.optimization_node
Internal / read-only

Part of the platform payload parsed into OptimizationSpec. Not constructed by agent code. Today the executor uses the first optimization node's graph only when building OptimizationContext.

Per-node specification within an optimization graph: parameters, targets, and optional NetworkX topology.

Definition

class OptimizationNodeSpec(BaseModel):
name: str = Field(min_length=1)

static_parameters: dict[str, DesignParamSpec]
optimized_parameters: dict[str, DesignParamSpec]
randomized_parameters: dict[str, DesignParamSpec]

targets: dict[str, TargetSpec]

model_config = ConfigDict(arbitrary_types_allowed=True)
graph: nx.Graph | None

Members

name

name: str = Field(min_length=1)

The unique identifier or name of the optimization node. Must be at least one character long.

static_parameters

static_parameters: dict[str, DesignParamSpec]

Dictionary of parameters with fixed values that remain constant throughout the optimization process. Each entry maps a parameter name to its corresponding DesignParamSpec.

optimized_parameters

optimized_parameters: dict[str, DesignParamSpec]

Dictionary of parameters that are subject to optimization. These parameters will be tuned or modified by the optimization algorithm to improve performance or meet objectives.

randomized_parameters

randomized_parameters: dict[str, DesignParamSpec]

Dictionary of parameters that are assigned randomized values. Typically used for stochastic optimization or to introduce variability in simulation runs.

targets

targets: dict[str, TargetSpec]

Collection of optimization targets associated with the node. Each key corresponds to a target name, and each value is a runtime TargetSpec.

graph

graph: nx.Graph | None

Optional NetworkX graph object representing the connectivity or relationship of the node within the larger optimization graph. Used to define dependencies or system topology.