Constraints¶

class Constraints¶

Bases: object

Class for multiple constraints.

Methods

__init__

Initialize the class from constraint(s) in different form.

append

Add constraints to the class.

is_satisfied

Return whether a given solution (input) meets all constraints.

to_amplify_constraint

Convert the constraints to the Amplify SDK's ConstraintList.

unify_variables

Unify duplicate variables used in the constraint and across different constraints.

__init__(
c: Constraint | Constraints | list[Constraint | Constraints] | None = None,
) None¶

Initialize the class from constraint(s) in different form.

Parameters:

c (Constraint | Constraints | list[Constraint | Constraints] | None, optional) – Created constraints. If set None an empty Constraints will be created. Defaults to None.

__iter__() Iterator[Constraint]¶
__len__() int¶

Return a number of constraints in the class.

Returns:

A number of constraints in the class.

Return type:

int

__repr__() str¶

Return repr(self).

__str__() str¶

Return human-readable constraint expressions.

Returns:

Constraint expressions.

Return type:

str

append(
c: Constraint | Constraints | list[Constraint | Constraints] | list[Constraint] | list[Constraints],
) None¶

Add constraints to the class.

Parameters:

c (Constraint | Constraints | list[Constraint | Constraints] | list[Constraint] | list[Constraints]) – Constraints.

is_satisfied(solution_dict: FlatSolutionDict) bool¶

Return whether a given solution (input) meets all constraints.

Parameters:

solution_dict (FlatSolutionDict) – A solution to evaluate.

Returns:

True if all constraints are met.

Return type:

bool

to_amplify_constraint() ConstraintList¶

Convert the constraints to the Amplify SDK’s ConstraintList.

Returns:

Converted constraints.

Return type:

amplify.ConstraintList

unify_variables(var_dict_universe: dict[str, Any]) None¶

Unify duplicate variables used in the constraint and across different constraints. Intended for multi-objective optimizations where the same variable is used in different black-box objective functions. Calling this for single-objective optimization has no effect.

Parameters:

var_dict_universe (dict[str, Any]) – A dictionary of all variable names and variables appearing in black-box functions. In the same form as Variables.var_dict (structured).

__dict__ = mappingproxy({'__module__': 'amplify_bbopt.constraint', '__doc__': 'Class for multiple constraints.', '__init__': <function Constraints.__init__>, '__str__': <function Constraints.__str__>, '__repr__': <function Constraints.__repr__>, '__len__': <function Constraints.__len__>, '__iter__': <function Constraints.__iter__>, 'append': <function Constraints.append>, 'to_amplify_constraint': <function Constraints.to_amplify_constraint>, 'is_satisfied': <function Constraints.is_satisfied>, 'unify_variables': <function Constraints.unify_variables>, '__dict__': <attribute '__dict__' of 'Constraints' objects>, '__weakref__': <attribute '__weakref__' of 'Constraints' objects>, '__annotations__': {'_constraint_list': 'list[Constraint]'}})¶
__weakref__¶

list of weak references to the object (if defined)