optimisation.objective.objective module
Define a class to hold optimisation objective with its ideal value.
- class Objective(name: str, weight: float, descriptor: str | None = None, ideal_value: tuple[float] | float | None = None)
Bases:
ABC
Hold an objective and methods to evaluate it.
- Parameters:
name (str) – A short string to describe the objective and access to it.
weight (float) – A scaling constant to set the weight of current objective.
descriptor (str | None, optional) – A longer string to explain the objective. The default is None.
ideal_value (float | tuple[float], optional) – The ideal value or range of values that we should tend to.
- __init__(name: str, weight: float, descriptor: str | None = None, ideal_value: tuple[float] | float | None = None) None
- __post_init__() None
Avoid line jumps in the descriptor.
- _abc_impl = <_abc._abc_data object>
- abstract current_value(simulation_output: SimulationOutput | float) str
Give value of current objective and residue.
- static current_value_header() str
Give a header to explain what
current_value()
returns.
- descriptor: str | None = None
- abstract evaluate(simulation_output: SimulationOutput | float) float
Compute residue of this objective.
- Parameters:
simulation_output (SimulationOutput | float) – Object containing simulation results of the broken linac.
- Returns:
residue – Difference between current evaluation and ideal_value value for
self.name
, scaled byself.weight
.- Return type:
float
- ideal_value: tuple[float] | float | None = None
- name: str
- static str_header() str
Give a header to explain what
__str__()
returns.
- weight: float