iwopy.benchmarks.branin.BraninObjective
- class iwopy.benchmarks.branin.BraninObjective[source]
Bases:
SimpleObjective
The objective function for the Branin problem.
The Branin (or Branin-Hoo) function is defined as
f(x,y) = a(y-bx^2+cx-r)^2 + s(1-t)cos(x)+s
Recommended values for the parameters are: a = 1 b = 5.1/(4*pi^2) c = 5/pi r = 6 s = 10 t = 1/(8*pi)
Domain: x = [-5, 10] y = [0, 15]
The Branin function has three global minima at
(x,y) = (-pi, 12.275), (pi, 2.275), (9.42478, 2.475)
with a function value of
f(x,y) = 0.397887
- Parameters:
Methods
__init__
(problem[, ana_deriv, name])ana_deriv
(vars_int, vars_float, var[, ...])Calculates the analytic derivative, if possible.
calc_individual
(vars_int, vars_float, ...[, ...])Calculate values for a single individual of the underlying problem.
calc_population
(vars_int, vars_float, ...[, ...])Calculate values for all individuals of a population.
f
(x, y)The Branin function f(x, y)
finalize
([verbosity])Finalize the object.
finalize_individual
(vars_int, vars_float, ...)Finalization, given the champion data.
finalize_population
(vars_int, vars_float, ...)Finalization, given the final population data.
g
(var, x, y[, components])The derivative of the Branin function
initialize
([verbosity])Initialize the object.
maximize
()Returns flag for maximization of each component.
Returns the number of components of the function.
rename_vars_float
(varmap)Rename float variables.
rename_vars_int
(varmap)Rename integer variables.
Gets the dependencies of all components on the function float variables
Gets the dependencies of all components on the function int variables
Attributes
The names of the components
Returns analyical derivatives flag
Flag for finished initialization
The number of float variables
The number of int variables
The names of the float variables
The names of the integer variables
- 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:
- Returns:
deriv – The derivative values, shape: (n_sel_components,)
- Return type:
- 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 – The component values, shape: (n_sel_components,)
- Return type:
np.array
- 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 – The component values, shape: (n_pop, n_sel_components,)
- Return type:
np.array
- property component_names
The names of the 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 – The component values, shape: (n_components,)
- Return type:
np.array
- 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 – The component values, shape: (n_pop, n_components)
- Return type:
np.array
- property has_ana_derivs
Returns analyical derivatives flag
- Returns:
Analitical derivatives flag
- Return type:
- initialize(verbosity=0)
Initialize the object.
- Parameters:
verbosity (int) – The verbosity level, 0 = silent
- property initialized
Flag for finished initialization
- Returns:
True if initialization has been done
- Return type:
- maximize()
Returns flag for maximization of each component.
- Returns:
flags – Bool array for component maximization, shape: (n_components,)
- Return type:
np.array
- n_components()
Returns the number of components of the function.
- Returns:
The number of components.
- Return type:
- property n_vars_float
The number of float variables
- Returns:
n – The number of float variables
- Return type:
- property n_vars_int
The number of int variables
- Returns:
n – The number of int variables
- Return type:
- 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
- property var_names_float
The names of the float variables
- property var_names_int
The names of the integer variables
- vardeps_float()
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)
- Return type:
- vardeps_int()
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)
- Return type: