Skip to content

Design Problems

adore.api.schema.adore_schema.DesignProblem

DesignProblem

Represents an interpretation of the choices and Quantities Of Interest of the design space as a design (optimization) problem. A design problem is defined as a problem where the goal is to find the best possible objective values (minimal or maximal, depending on the definition of the objectives), while making sure that all constraints are satisfied (i.e. their value is above or below the reference value, depending on the definition of the constraint), by systematically varying the design variable values. In an optimization problem, the design variables are varied using an optimization algorithm, but in principle it is also possible to manually tune the design variables. QOIs can also be interpreted as metrics, which means that they are considered generic output of the analysis, but do not mean anything to the design problem.

constraints
constraints: List[Constraint] = constraints
design_vars
design_vars: List[Union[DiscreteDesignVar, ContinuousDesignVar]] = design_vars
encoder
encoder: Optional[str] = encoder
fixed_stats
fixed_stats: Optional[Statistics] = fixed_stats
id
id: int = id
metrics
metrics: List[Metric] = metrics
name
name: str = name
notes
notes: Optional[str] = notes
objectives
objectives: List[Objective] = objectives
opt_config
opt_config: Optional[OptConfig] = opt_config
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

stats
stats: Optional[Statistics] = stats

adore.api.schema.adore_schema.DiscreteDesignVar

DiscreteDesignVar

Represents a discrete design variable, which can have any value from a predefined list of options. A discrete design variable is either derived from a QOI or from an architecture choice.

component_idx
component_idx: Optional[int] = component_idx
decision_id
decision_id: int = decision_id
fixed_option_index
fixed_option_index: Optional[int] = fixed_option_index

Optionally a fixed option to choose. This effectively means the design variable is not active in the design problem.

id
id: int = id
name
name: str = name
notes
notes: Optional[str] = notes
options
options: List[str] = options

The list of options to choose from.

qoi_id
qoi_id: Optional[int] = qoi_id
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

system_idx
system_idx: Optional[List[int]] = system_idx

adore.api.schema.adore_schema.ContinuousDesignVar

ContinuousDesignVar

Represents a continuous design variable, which can have any value between the lower and upper bound (inclusive). A continuous design variable is always derived from a QOI.

bounds
bounds: List[float] = bounds

The upper and lower bound (inclusive) of the design variable.

component_idx
component_idx: Optional[int] = component_idx
decision_id
decision_id: int = decision_id
fixed_value
fixed_value: Optional[float] = fixed_value

Optionally a fixed value. This effectively means the design variable is not active in the design problem.

id
id: int = id
name
name: str = name
notes
notes: Optional[str] = notes
qoi_id
qoi_id: int = qoi_id
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

system_idx
system_idx: Optional[List[int]] = system_idx

adore.api.schema.adore_schema.Objective

Objective

Represents an optimization objective, to be either minimized or maximized. An objective is always derived from a QOI.

always_exists
always_exists: bool = always_exists

Whether this element exists in all architectures (allows it to be used as an objective).

component_idx
component_idx: Optional[int] = component_idx
id
id: int = id
maximize
maximize: bool = maximize

Whether this is maximization (true) or minimization (false) target.

name
name: str = name
notes
notes: Optional[str] = notes
original_type
original_type: QOIType = original_type

Original type of the associated QOI.

qoi_id
qoi_id: int = qoi_id
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

system_idx
system_idx: Optional[List[int]] = system_idx

adore.api.schema.adore_schema.Constraint

Constraint

Represents an optimization inequality constraint. The value should be either above, below or equal to the reference value. A constraint is always derived from a QOI.

always_exists
always_exists: bool = always_exists

Whether this element exists in all architectures (allows it to be used as an objective).

component_idx
component_idx: Optional[int] = component_idx
id
id: int = id
name
name: str = name
notes
notes: Optional[str] = notes
original_type
original_type: QOIType = original_type

Original type of the associated QOI.

pos_feasible
pos_feasible: bool = pos_feasible

Whether positive (i.e. greater than or equal to the reference value) yields a satisfied (feasible) constraint or not.

qoi_id
qoi_id: int = qoi_id
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

ref_value
ref_value: float = ref_value

The reference value for determining whether the constraint is satisfied or not.

system_idx
system_idx: Optional[List[int]] = system_idx

adore.api.schema.adore_schema.Objective

Objective

Represents an optimization objective, to be either minimized or maximized. An objective is always derived from a QOI.

always_exists
always_exists: bool = always_exists

Whether this element exists in all architectures (allows it to be used as an objective).

component_idx
component_idx: Optional[int] = component_idx
id
id: int = id
maximize
maximize: bool = maximize

Whether this is maximization (true) or minimization (false) target.

name
name: str = name
notes
notes: Optional[str] = notes
original_type
original_type: QOIType = original_type

Original type of the associated QOI.

qoi_id
qoi_id: int = qoi_id
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

system_idx
system_idx: Optional[List[int]] = system_idx

Types

adore.api.schema.adore_schema_defs.DesignVar