foxes_opt.problems.layout.geom_layouts.constraints¶
Classes¶
Boundary constraint for purely geometrical layouts problems. |
|
Fixed number of turbines constraint for purely geometrical layouts problems. |
|
Maximal number of turbines constraint for purely geometrical layouts problems. |
|
Minimal turbine density constraint for purely geometrical layouts problems. |
|
Minimal number of turbines constraint for purely geometrical layouts problems. |
|
Minimal distance constraint for purely geometrical layouts problems. |
|
Validity constraint for purely geometrical layouts problems. |
Module Contents¶
-
class foxes_opt.problems.layout.geom_layouts.constraints.Boundary(problem: iwopy.Problem, n_turbines: int | None =
None, D: float | None =None, name: str ='boundary', **kwargs: Any)[source]¶ Bases:
iwopy.ConstraintBoundary constraint for purely geometrical layouts problems.
- Parameters:¶
- problem
The underlying geometrical layout optimization problem
- n_turbines
The number of turbines
- D
The rotor diameter
- name
The constraint name
- kwargs
Additioal parameters for the base class
-
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,)
-
calc_individual(vars_int: numpy.ndarray, vars_float: numpy.ndarray, problem_results: tuple[numpy.ndarray, numpy.ndarray], cmpnts: 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: tuple[numpy.ndarray, numpy.ndarray], cmpnts: 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, verbosity=
0)¶ Check if the constraints are fullfilled for the given individual.
- Parameters:¶
- constraint_values: np.array
The constraint values, shape: (n_components,)
- verbosity: int
The verbosity level, 0 = silent
- Returns
- values: np.array
- ——-
The boolean result, shape: (n_components,)
-
check_population(constraint_values, verbosity=
0)¶ Check if the constraints are fullfilled for the given population.
-
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)
- get_bounds()¶
Returns the bounds for all components.
Non-existing bounds are expressed by np.inf.
- Returns:¶
- min: np.array
The lower bounds, shape: (n_components,)
- max: np.array
The upper bounds, shape: (n_components,)
-
initialize(verbosity=
0)¶ Initialize the object.
- Parameters:¶
- verbosity: int
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, *args, **kwargs)¶
Run-time constraint factory.
- Parameters:¶
- constraint_type: str
The selected derived class name
- args: tuple, optional
Additional parameters for constructor
- kwargs: dict, optional
Additional parameters for 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)
- D¶
- 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
- n_turbines¶
- name¶
- problem¶
-
tol =
1e-05¶
-
class foxes_opt.problems.layout.geom_layouts.constraints.CFixN(problem: iwopy.Problem, N: int, name: str =
'cfixN', **kwargs: Any)[source]¶ Bases:
iwopy.ConstraintFixed number of turbines constraint for purely geometrical layouts problems.
- Parameters:¶
- problem
The underlying geometrical layout optimization problem
- N
The number of turbines
- name
The constraint name
- kwargs
Additioal parameters for the base class
-
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,)
-
calc_individual(vars_int: numpy.ndarray, vars_float: numpy.ndarray, problem_results: tuple[numpy.ndarray, numpy.ndarray], cmpnts: 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: tuple[numpy.ndarray, numpy.ndarray], cmpnts: 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, verbosity=
0)¶ Check if the constraints are fullfilled for the given individual.
- Parameters:¶
- constraint_values: np.array
The constraint values, shape: (n_components,)
- verbosity: int
The verbosity level, 0 = silent
- Returns
- values: np.array
- ——-
The boolean result, shape: (n_components,)
-
check_population(constraint_values, verbosity=
0)¶ Check if the constraints are fullfilled for the given population.
-
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)
- get_bounds()¶
Returns the bounds for all components.
Non-existing bounds are expressed by np.inf.
- Returns:¶
- min: np.array
The lower bounds, shape: (n_components,)
- max: np.array
The upper bounds, shape: (n_components,)
-
initialize(verbosity=
0)¶ Initialize the object.
- Parameters:¶
- verbosity: int
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, *args, **kwargs)¶
Run-time constraint factory.
- Parameters:¶
- constraint_type: str
The selected derived class name
- args: tuple, optional
Additional parameters for constructor
- kwargs: dict, optional
Additional parameters for 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)
- N¶
- 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
- name¶
- problem¶
-
tol =
1e-05¶
-
class foxes_opt.problems.layout.geom_layouts.constraints.CMaxN(problem: iwopy.Problem, N: int, name: str =
'cmaxN', **kwargs: Any)[source]¶ Bases:
iwopy.ConstraintMaximal number of turbines constraint for purely geometrical layouts problems.
- Parameters:¶
- problem
The underlying geometrical layout optimization problem
- N
The maximal number of turbines
- name
The constraint name
- kwargs
Additioal parameters for the base class
-
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,)
-
calc_individual(vars_int: numpy.ndarray, vars_float: numpy.ndarray, problem_results: tuple[numpy.ndarray, numpy.ndarray], cmpnts: 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: tuple[numpy.ndarray, numpy.ndarray], cmpnts: 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, verbosity=
0)¶ Check if the constraints are fullfilled for the given individual.
- Parameters:¶
- constraint_values: np.array
The constraint values, shape: (n_components,)
- verbosity: int
The verbosity level, 0 = silent
- Returns
- values: np.array
- ——-
The boolean result, shape: (n_components,)
-
check_population(constraint_values, verbosity=
0)¶ Check if the constraints are fullfilled for the given population.
-
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)
- get_bounds()¶
Returns the bounds for all components.
Non-existing bounds are expressed by np.inf.
- Returns:¶
- min: np.array
The lower bounds, shape: (n_components,)
- max: np.array
The upper bounds, shape: (n_components,)
-
initialize(verbosity=
0)¶ Initialize the object.
- Parameters:¶
- verbosity: int
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, *args, **kwargs)¶
Run-time constraint factory.
- Parameters:¶
- constraint_type: str
The selected derived class name
- args: tuple, optional
Additional parameters for constructor
- kwargs: dict, optional
Additional parameters for 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)
- N¶
- 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
- name¶
- problem¶
-
tol =
1e-05¶
-
class foxes_opt.problems.layout.geom_layouts.constraints.CMinDensity(problem: iwopy.Problem, min_value: float, dfactor: int =
1, name: str ='min_density')[source]¶ Bases:
iwopy.ConstraintMinimal turbine density constraint for purely geometrical layouts problems.
- Parameters:¶
- problem
The underlying geometrical layout optimization problem
- min_value
The minimal turbine density
- dfactor
Delta factor for grid spacing
- name
The constraint name
- kwargs
Additioal parameters for the base class
-
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,)
-
calc_individual(vars_int: numpy.ndarray, vars_float: numpy.ndarray, problem_results: tuple[numpy.ndarray, numpy.ndarray], cmpnts: 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: tuple[numpy.ndarray, numpy.ndarray], cmpnts: 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, verbosity=
0)¶ Check if the constraints are fullfilled for the given individual.
- Parameters:¶
- constraint_values: np.array
The constraint values, shape: (n_components,)
- verbosity: int
The verbosity level, 0 = silent
- Returns
- values: np.array
- ——-
The boolean result, shape: (n_components,)
-
check_population(constraint_values, verbosity=
0)¶ Check if the constraints are fullfilled for the given population.
-
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)
- get_bounds()¶
Returns the bounds for all components.
Non-existing bounds are expressed by np.inf.
- Returns:¶
- min: np.array
The lower bounds, shape: (n_components,)
- max: np.array
The upper bounds, shape: (n_components,)
- initialize(verbosity: int) None[source]¶
Initialize the object.
- 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, *args, **kwargs)¶
Run-time constraint factory.
- Parameters:¶
- constraint_type: str
The selected derived class name
- args: tuple, optional
Additional parameters for constructor
- kwargs: dict, optional
Additional parameters for 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
-
dfactor =
1¶
- property initialized¶
Flag for finished initialization
- Returns:¶
- bool
True if initialization has been done
- min_value¶
- name¶
- problem¶
-
tol =
1e-05¶
-
class foxes_opt.problems.layout.geom_layouts.constraints.CMinN(problem: iwopy.Problem, N: int, name: str =
'cminN', **kwargs: Any)[source]¶ Bases:
iwopy.ConstraintMinimal number of turbines constraint for purely geometrical layouts problems.
Constructor
- Parameters:¶
- tol: float
The tolerance for constraint violations
-
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,)
-
calc_individual(vars_int: numpy.ndarray, vars_float: numpy.ndarray, problem_results: tuple[numpy.ndarray, numpy.ndarray], cmpnts: 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: tuple[numpy.ndarray, numpy.ndarray], cmpnts: 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, verbosity=
0)¶ Check if the constraints are fullfilled for the given individual.
- Parameters:¶
- constraint_values: np.array
The constraint values, shape: (n_components,)
- verbosity: int
The verbosity level, 0 = silent
- Returns
- values: np.array
- ——-
The boolean result, shape: (n_components,)
-
check_population(constraint_values, verbosity=
0)¶ Check if the constraints are fullfilled for the given population.
-
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)
- get_bounds()¶
Returns the bounds for all components.
Non-existing bounds are expressed by np.inf.
- Returns:¶
- min: np.array
The lower bounds, shape: (n_components,)
- max: np.array
The upper bounds, shape: (n_components,)
-
initialize(verbosity=
0)¶ Initialize the object.
- Parameters:¶
- verbosity: int
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, *args, **kwargs)¶
Run-time constraint factory.
- Parameters:¶
- constraint_type: str
The selected derived class name
- args: tuple, optional
Additional parameters for constructor
- kwargs: dict, optional
Additional parameters for 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)
- N¶
- 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
- name¶
- problem¶
-
tol =
1e-05¶
-
class foxes_opt.problems.layout.geom_layouts.constraints.MinDist(problem: iwopy.Problem, min_dist: float | None =
None, n_turbines: int | None =None, name: str ='min_dist', **kwargs: Any)[source]¶ Bases:
iwopy.ConstraintMinimal distance constraint for purely geometrical layouts problems.
- Parameters:¶
- problem
The underlying geometrical layout optimization problem
- min_dist
The minimal distance between turbines
- n_turbines
The number of turbines
- name
The constraint name
- kwargs
Additioal parameters for the base class
-
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,)
-
calc_individual(vars_int: numpy.ndarray, vars_float: numpy.ndarray, problem_results: tuple[numpy.ndarray, numpy.ndarray], cmpnts: 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: tuple[numpy.ndarray, numpy.ndarray], cmpnts: 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, verbosity=
0)¶ Check if the constraints are fullfilled for the given individual.
- Parameters:¶
- constraint_values: np.array
The constraint values, shape: (n_components,)
- verbosity: int
The verbosity level, 0 = silent
- Returns
- values: np.array
- ——-
The boolean result, shape: (n_components,)
-
check_population(constraint_values, verbosity=
0)¶ Check if the constraints are fullfilled for the given population.
-
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)
- get_bounds()¶
Returns the bounds for all components.
Non-existing bounds are expressed by np.inf.
- Returns:¶
- min: np.array
The lower bounds, shape: (n_components,)
- max: np.array
The upper bounds, shape: (n_components,)
-
initialize(verbosity: int =
0) None[source]¶ Initialize the constaint.
- 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, *args, **kwargs)¶
Run-time constraint factory.
- Parameters:¶
- constraint_type: str
The selected derived class name
- args: tuple, optional
Additional parameters for constructor
- kwargs: dict, optional
Additional parameters for 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
- min_dist¶
- n_turbines¶
- name¶
- problem¶
-
tol =
1e-05¶
-
class foxes_opt.problems.layout.geom_layouts.constraints.Valid(problem: iwopy.Problem, name: str =
'valid', **kwargs: Any)[source]¶ Bases:
iwopy.ConstraintValidity constraint for purely geometrical layouts problems.
- Parameters:¶
- problem
The underlying geometrical layout optimization problem
- name
The constraint name
- kwargs
Additioal parameters for the base class
-
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,)
-
calc_individual(vars_int: numpy.ndarray, vars_float: numpy.ndarray, problem_results: tuple[numpy.ndarray, numpy.ndarray], cmpnts: 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: tuple[numpy.ndarray, numpy.ndarray], cmpnts: 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, verbosity=
0)¶ Check if the constraints are fullfilled for the given individual.
- Parameters:¶
- constraint_values: np.array
The constraint values, shape: (n_components,)
- verbosity: int
The verbosity level, 0 = silent
- Returns
- values: np.array
- ——-
The boolean result, shape: (n_components,)
-
check_population(constraint_values, verbosity=
0)¶ Check if the constraints are fullfilled for the given population.
-
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)
- get_bounds()¶
Returns the bounds for all components.
Non-existing bounds are expressed by np.inf.
- Returns:¶
- min: np.array
The lower bounds, shape: (n_components,)
- max: np.array
The upper bounds, shape: (n_components,)
-
initialize(verbosity=
0)¶ Initialize the object.
- Parameters:¶
- verbosity: int
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, *args, **kwargs)¶
Run-time constraint factory.
- Parameters:¶
- constraint_type: str
The selected derived class name
- args: tuple, optional
Additional parameters for constructor
- kwargs: dict, optional
Additional parameters for 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
- name¶
- problem¶
-
tol =
1e-05¶