Skip to content

FlexQAOA Optimizers

CombinedOptimizerParams

Bases: BaseModel

Combination of LinearOptimizer and ScipyOptimizer.

Optimizer that first performs an optimization of the linear schedule and then fine tunes individual parameters. Only works in conjunction with LinearQAOAParams.

Attributes:

Name Type Description
linear ScipyOptimizerParams

Parameters of the linear optimizer.

fine_tune ScipyOptimizerParams | None

Parameters of the fine tuning optimizer. If None, the same optimizer is used. Default: None.

fine_tune class-attribute instance-attribute

fine_tune: ScipyOptimizerParams | None = None

linear class-attribute instance-attribute

linear: ScipyOptimizerParams = Field(
    default_factory=lambda: ScipyOptimizerParams()
)

optimizer_type class-attribute instance-attribute

optimizer_type: Literal['combined'] = 'combined'

InterpolateOptimizerParams

Bases: BaseModel

Optimizer with sequentially increasing number of QAOA layers.

Optimizer that starts with reps iteration and interpolates sequentially in reps_step steps to reps_end. In between it performs a full optimization routine tunes individual parameters.

Attributes:

Name Type Description
optimizer ScipyOptimizerParams

Parameters of the optimizer.

reps_step int

Number of QAOA layers added for one interpolation.

reps_end int

Final number of QAOA layers to be reached.

optimizer class-attribute instance-attribute

optimizer: ScipyOptimizerParams = Field(
    default_factory=lambda: ScipyOptimizerParams()
)

optimizer_type class-attribute instance-attribute

optimizer_type: Literal['interpolate'] = 'interpolate'

reps_end class-attribute instance-attribute

reps_end: int = Field(default=10, ge=1, lt=1000)

reps_step class-attribute instance-attribute

reps_step: int = Field(default=1, ge=1)