foxes_opt.core.farm_objective¶
Classes¶
Abstract base class for foxes wind farm |
Module Contents¶
-
class foxes_opt.core.farm_objective.FarmObjective(problem: foxes_opt.core.farm_opt_problem.FarmOptProblem, name: str, sel_turbines: list[int] | None =
None, **kwargs: Any)[source]¶ Bases:
iwopy.ObjectiveAbstract base class for foxes wind farm objective functions.
- Parameters:¶
- problem
The underlying optimization problem
- name
The name of the objective function
- sel_turbines
The selected turbines
- kwargs
Additional parameters for iwopy.Objective
- add_to_layout_figure(ax: matplotlib.axes.Axes, **kwargs: Any) matplotlib.axes.Axes[source]¶
Add to a layout figure
- Parameters:¶
- ax
The figure axis
-
ana_deriv(vars_int: numpy.ndarray, vars_float: numpy.ndarray, var: int, components: collections.abc.Sequence[int] | numpy.ndarray | None =
None) numpy.ndarray¶ Calculates the analytic derivative, if possible.
Use numpy.nan if analytic derivatives cannot be calculated.
-
abstract calc_individual(vars_int: numpy.ndarray, vars_float: numpy.ndarray, problem_results: object, components: collections.abc.Sequence[int] | numpy.ndarray | None =
None) numpy.ndarray¶ Calculate values for a single individual of the underlying problem.
- Parameters:¶
- vars_int
The integer variable values, shape: (n_vars_int,)
- vars_float
The float variable values, shape: (n_vars_float,)
- problem_results
The results of the variable application to the problem
- components
The selected components or None for all
- Returns:¶
- values
The component values, shape: (n_sel_components,)
-
calc_population(vars_int: numpy.ndarray, vars_float: numpy.ndarray, problem_results: object, components: collections.abc.Sequence[int] | numpy.ndarray | None =
None) numpy.ndarray¶ Calculate values for all individuals of a population.
- Parameters:¶
- vars_int
The integer variable values, shape: (n_pop, n_vars_int)
- vars_float
The float variable values, shape: (n_pop, n_vars_float)
- problem_results
The results of the variable application to the problem
- components
The selected components or None for all
- Returns:¶
- values
The component values, shape: (n_pop, n_sel_components)
-
finalize(verbosity: int =
0, /) None¶ -
finalize(*, verbosity: int =
0) None Finalize the object.
- Parameters:¶
- verbosity
The verbosity level, 0 = silent
-
finalize_individual(vars_int: numpy.ndarray, vars_float: numpy.ndarray, problem_results: object, verbosity: int =
1) numpy.ndarray¶ Finalization, given the champion data.
- Parameters:¶
- vars_int
The optimal integer variable values, shape: (n_vars_int,)
- vars_float
The optimal float variable values, shape: (n_vars_float,)
- problem_results
The results of the variable application to the problem
- verbosity
The verbosity level, 0 = silent
- Returns:¶
- values
The component values, shape: (n_components,)
-
finalize_population(vars_int: numpy.ndarray, vars_float: numpy.ndarray, problem_results: object, verbosity: int =
1) numpy.ndarray¶ Finalization, given the final population data.
- Parameters:¶
- vars_int
The integer variable values of the final generation, shape: (n_pop, n_vars_int)
- vars_float
The float variable values of the final generation, shape: (n_pop, n_vars_float)
- problem_results
The results of the variable application to the problem
- verbosity
The verbosity level, 0 = silent
- Returns:¶
- values
The component values, shape: (n_pop, n_components)
-
initialize(verbosity: int =
0) None¶ Initialize the object.
- Parameters:¶
- verbosity
The verbosity level, 0 = silent
- abstract maximize() numpy.ndarray¶
Returns flag for maximization of each component.
- Returns:¶
- flags
Bool array for component maximization, shape: (n_components,)
- abstract n_components() int¶
Returns the number of components of the function.
- Returns:¶
- n_components
The number of components.
- classmethod new(objective_type: str, *args: Any, **kwargs: Any) Any[source]¶
Run-time farm objective factory.
- Parameters:¶
- objective_type
The selected derived class name
- args
Additional parameters for the constructor
- kwargs
Additional parameters for the constructor
- rename_vars_float(varmap: collections.abc.Mapping[str | int, str]) None¶
Rename float variables.
- Parameters:¶
- varmap
The name mapping. Key: old name str, Value: new name str
- rename_vars_int(varmap: collections.abc.Mapping[str | int, str]) None¶
Rename integer variables.
- Parameters:¶
- varmap
The name mapping. Key: old name str, Value: new name str
- vardeps_float() numpy.ndarray¶
Gets the dependencies of all components on the function float variables
- Returns:¶
- deps
The dependencies of components on function variables, shape: (n_components, n_vars_float)
- vardeps_int() numpy.ndarray¶
Gets the dependencies of all components on the function int variables
- Returns:¶
- deps
The dependencies of components on function variables, shape: (n_components, n_vars_int)
- property component_names : list[str]¶
The names of the components
- Returns:¶
- names
The component names
- property initialized : bool¶
Flag for finished initialization
- Returns:¶
- initialized
True if initialization has been done
- property n_sel_turbines : int¶
The numer of selected turbines
- Returns:¶
- value
The numer of selected turbines
-
name =
'Base'¶
- problem¶
- property sel_turbines : list[int]¶
The list of selected turbines
- Returns:¶
- value
The list of selected turbines