deepcave.runs.objective

# Objective

This module provides utilities to convert and create objectives. It also provides functions for merging and comparing objectives.

## Classes
  • Objective: Convert and create objectives.

Classes

Objective(name[, lower, upper, optimize])

Convert, create and merge objectives.

class deepcave.runs.objective.Objective(name, lower=None, upper=None, optimize='lower')[source]

Bases: object

Convert, create and merge objectives.

Properties

lowerOptional[Union[int, float]]

The lower bound of the objective.

upperOptional[Union[int, float]]

The upper bound of the objective.

optimizestr

Define whether to optimize lower or upper.

lock_lowerbool

Whether to lock the lower bound.

lock_upperbool

Whether to lock the upper bound.

namestr

The name of the objective.

__eq__(other)[source]

Compare if two instances are equal based on their attributes.

Parameters:

other (Any) – The other instance to compare.

Returns:

True if equal, else False.

Return type:

bool

__post_init__()[source]

Check if bounds should be locked.

Lock the lower bound if lower is not None. Lock the upper bound if upper is not None.

Raises:

RuntimeError – If optimize is not lower or upper.

Return type:

None

static from_json(d)[source]

Create an objective from a JSON friendly dictionary format.

Parameters:

d (Dict[str, Any]) – A dictionary in a JSON friendly format containing the attributes.

Returns:

An objective created from the provided data.

Return type:

Objective

get_worst_value()[source]

Get the worst value based on the optimization setting.

Returns:

The worst value based on the optimization setting.

Return type:

float

merge(other)[source]

Merge two Objectives over their attributes.

Parameters:

other (Any) – The other Objective to merge.

Raises:
  • NotMergeableError – If parts of the two Objectives are not mergeable.

  • ValueError – If the lower bound of one Objective is None. If the upper bound of one Objective is None.

Return type:

None

to_json()[source]

Convert objectives attributes to a dictionary in a JSON friendly format.

Returns:

A dictionary in a JSON friendly format with the objects attributes.

Return type:

Dict[str, Any]