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, vars_float, var, components=
None)¶ Calculates the analytic derivative, if possible.
Use numpy.nan if analytic derivatives cannot be calculated.
- Parameters:¶
- vars_int: np.array
The integer variable values, shape: (n_vars_int,)
- vars_float: np.array
The float variable values, shape: (n_vars_float,)
- var: int
The index of the differentiation float variable
- components: list of int
The selected components, or None for all
- Returns:¶
- deriv: numpy.ndarray
The derivative values, shape: (n_sel_components,)
-
abstract calc_individual(vars_int, vars_float, problem_results, components=
None)¶ Calculate values for a single individual of the underlying problem.
- Parameters:¶
- vars_int: np.array
The integer variable values, shape: (n_vars_int,)
- vars_float: np.array
The float variable values, shape: (n_vars_float,)
- problem_results: Any
The results of the variable application to the problem
- components: list of int, optional
The selected components or None for all
- Returns:¶
- values: np.array
The component values, shape: (n_sel_components,)
-
calc_population(vars_int, vars_float, problem_results, components=
None)¶ Calculate values for all individuals of a population.
- Parameters:¶
- vars_int: np.array
The integer variable values, shape: (n_pop, n_vars_int)
- vars_float: np.array
The float variable values, shape: (n_pop, n_vars_float)
- problem_results: Any
The results of the variable application to the problem
- components: list of int, optional
The selected components or None for all
- Returns:¶
- values: np.array
The component values, shape: (n_pop, n_sel_components)
-
finalize(verbosity=
0)¶ Finalize the object.
- Parameters:¶
- verbosity: int
The verbosity level, 0 = silent
-
finalize_individual(vars_int, vars_float, problem_results, verbosity=
1)¶ Finalization, given the champion data.
- Parameters:¶
- vars_int: np.array
The optimal integer variable values, shape: (n_vars_int,)
- vars_float: np.array
The optimal float variable values, shape: (n_vars_float,)
- problem_results: Any
The results of the variable application to the problem
- verbosity: int
The verbosity level, 0 = silent
- Returns:¶
- values: np.array
The component values, shape: (n_components,)
-
finalize_population(vars_int, vars_float, problem_results, verbosity=
1)¶ Finalization, given the final population data.
- Parameters:¶
- vars_int: np.array
The integer variable values of the final generation, shape: (n_pop, n_vars_int)
- vars_float: np.array
The float variable values of the final generation, shape: (n_pop, n_vars_float)
- problem_results: Any
The results of the variable application to the problem
- verbosity: int
The verbosity level, 0 = silent
- Returns:¶
- values: np.array
The component values, shape: (n_pop, n_components)
-
initialize(verbosity=
0)¶ Initialize the object.
- Parameters:¶
- verbosity: int
The verbosity level, 0 = silent
- abstract maximize()¶
Returns flag for maximization of each component.
- Returns:¶
- flags: np.array
Bool array for component maximization, shape: (n_components,)
- abstract n_components()¶
Returns the number of components of the function.
- Returns:¶
- int:
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)¶
Rename float variables.
- Parameters:¶
- varmap: dict
The name mapping. Key: old name str, Value: new name str
- rename_vars_int(varmap)¶
Rename integer variables.
- Parameters:¶
- varmap: dict
The name mapping. Key: old name str, Value: new name str
- vardeps_float()¶
Gets the dependencies of all components on the function float variables
- Returns:¶
- deps: numpy.ndarray of bool
The dependencies of components on function variables, shape: (n_components, n_vars_float)
- vardeps_int()¶
Gets the dependencies of all components on the function int variables
- Returns:¶
- deps: numpy.ndarray of bool
The dependencies of components on function variables, shape: (n_components, n_vars_int)
- property component_names¶
The names of the components
- Returns:¶
- names: list of str
The component names
- property initialized¶
Flag for finished initialization
- Returns:¶
- bool
True if initialization has been done
- property n_sel_turbines : int¶
The numer of selected turbines
- Returns:¶
- value
The numer of selected turbines
- name¶
- problem¶
- property sel_turbines : list[int]¶
The list of selected turbines
- Returns:¶
- value
The list of selected turbines