foxes_opt.constraints.area_geometry¶
Classes¶
Constrains turbine positions to the inside |
|
Constrains turbine positions to the inside of |
Module Contents¶
-
class foxes_opt.constraints.area_geometry.AreaGeometryConstraint(problem: foxes_opt.core.farm_opt_problem.FarmOptProblem, name: str, geometry: foxes.utils.geom2d.AreaGeometry, sel_turbines: list[int] | None =
None, disc_inside: bool =False, D: float | None =None, infer_vars: bool =True, **kwargs: Any)[source]¶ Bases:
foxes_opt.core.farm_constraint.FarmConstraintConstrains turbine positions to the inside of a given area geometry.
- Parameters:¶
- problem
The underlying optimization problem
- name
The name of the constraint
- geometry
The area geometry
- sel_turbines
The selected turbines
- disc_inside
Ensure full rotor disc inside boundary
- D
Use this radius for rotor disc inside condition
- infer_vars
Whether to infer the float variables automatically
- kwargs
Additional parameters for iwopy.Constraint
- active_components(vars_float: numpy.ndarray, lower: numpy.ndarray, upper: numpy.ndarray) numpy.ndarray¶
Select components that can bind within a guarded variable box.
- Parameters:¶
- vars_float
Initial values in this function’s float-variable order.
- lower, upper
Enforced variable bounds in the same order. Infinite bounds must be treated conservatively.
- Returns:¶
- components
Unique local component indices. The default retains all. Overrides may omit a component only when it is guaranteed feasible throughout the box, not merely at the initial point. Full evaluation and feasibility contracts remain unchanged.
- add_to_layout_figure(ax: matplotlib.axes.Axes, **kwargs: Any) matplotlib.axes.Axes¶
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[source]¶ Calculate the analytical derivative for one float variable.
-
calc_individual(vars_int: numpy.ndarray, vars_float: numpy.ndarray, problem_results: Any, components: list[int] | None =
None) numpy.ndarray[source]¶ 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: Any, components: list[int] | None =
None) numpy.ndarray[source]¶ 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)
-
check_individual(constraint_values: numpy.ndarray, verbosity: int =
0) numpy.ndarray¶ Check if the constraints are fullfilled for the given individual.
-
check_population(constraint_values: numpy.ndarray, verbosity: int =
0) numpy.ndarray¶ Check if the constraints are fullfilled for the given population.
-
component_turbines(components: collections.abc.Sequence[int] | numpy.ndarray | None =
None) set[int]¶ Return turbines associated with constraint 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)
- get_bounds() tuple[numpy.ndarray, numpy.ndarray]¶
Returns the bounds for all components.
Non-existing bounds are expressed by np.inf.
- Returns:¶
- min
The lower bounds, shape: (n_components,)
- max
The upper bounds, shape: (n_components,)
-
initialize(verbosity: int =
0) None[source]¶ Initialize the constraint.
- Parameters:¶
- verbosity
The verbosity level, 0 = silent
- n_components() int[source]¶
Returns the number of components of the function.
- Returns:¶
- value
The number of components.
- classmethod new(constraint_type: str, *args: Any, **kwargs: Any) Any¶
Run-time farm constraint factory.
- Parameters:¶
- constraint_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[tuple[int, int], numpy.dtype[numpy.bool_]][source]¶
Gets the dependencies of all components on the function float variables
- Returns:¶
- deps
The dependencies of components on function variables, shape
- 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)
-
D =
None¶
- property component_names : list[str]¶
The names of the components
- Returns:¶
- names
The component names
-
disc_inside =
False¶
- geometry¶
-
infer_vars =
True¶
- 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
-
tol =
1e-05¶
-
class foxes_opt.constraints.area_geometry.FarmBoundaryConstraint(problem: foxes_opt.core.farm_opt_problem.FarmOptProblem, name: str =
'boundary', **kwargs: Any)[source]¶ Bases:
AreaGeometryConstraintConstrains turbine positions to the inside of the wind farm boundary
- Parameters:¶
- problem
The underlying optimization problem
- name
The name of the constraint
- kwargs
Additional parameters for AreaGeometryConstraint
- active_components(vars_float: numpy.ndarray, lower: numpy.ndarray, upper: numpy.ndarray) numpy.ndarray¶
Select components that can bind within a guarded variable box.
- Parameters:¶
- vars_float
Initial values in this function’s float-variable order.
- lower, upper
Enforced variable bounds in the same order. Infinite bounds must be treated conservatively.
- Returns:¶
- components
Unique local component indices. The default retains all. Overrides may omit a component only when it is guaranteed feasible throughout the box, not merely at the initial point. Full evaluation and feasibility contracts remain unchanged.
- add_to_layout_figure(ax: matplotlib.axes.Axes, **kwargs: Any) matplotlib.axes.Axes¶
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¶ Calculate the analytical derivative for one float variable.
-
calc_individual(vars_int: numpy.ndarray, vars_float: numpy.ndarray, problem_results: Any, components: list[int] | 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: Any, components: list[int] | 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)
-
check_individual(constraint_values: numpy.ndarray, verbosity: int =
0) numpy.ndarray¶ Check if the constraints are fullfilled for the given individual.
-
check_population(constraint_values: numpy.ndarray, verbosity: int =
0) numpy.ndarray¶ Check if the constraints are fullfilled for the given population.
-
component_turbines(components: collections.abc.Sequence[int] | numpy.ndarray | None =
None) set[int]¶ Return turbines associated with constraint 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)
- get_bounds() tuple[numpy.ndarray, numpy.ndarray]¶
Returns the bounds for all components.
Non-existing bounds are expressed by np.inf.
- Returns:¶
- min
The lower bounds, shape: (n_components,)
- max
The upper bounds, shape: (n_components,)
-
initialize(verbosity: int =
0) None¶ Initialize the constraint.
- Parameters:¶
- verbosity
The verbosity level, 0 = silent
- n_components() int¶
Returns the number of components of the function.
- Returns:¶
- value
The number of components.
- classmethod new(constraint_type: str, *args: Any, **kwargs: Any) Any¶
Run-time farm constraint factory.
- Parameters:¶
- constraint_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[tuple[int, int], numpy.dtype[numpy.bool_]]¶
Gets the dependencies of all components on the function float variables
- Returns:¶
- deps
The dependencies of components on function variables, shape
- 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)
-
D =
None¶
- property component_names : list[str]¶
The names of the components
- Returns:¶
- names
The component names
-
disc_inside =
False¶
- geometry¶
-
infer_vars =
True¶
- 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
-
tol =
1e-05¶