iwopy.wrappers.simple_objective.SimpleObjective
- class iwopy.wrappers.simple_objective.SimpleObjective[source]
Bases:
Objective
A simple objective that assumes the same variables as defined by the problem.
- Parameters:
problem (iwopy.Problem) – The underlying optimization problem
name (str) – The function name
n_components (int) – The number of components
maximize (bool or list of bool) – For each component, the maximization goal
cnames (list of str, optional) – The names of the components
bool (has_ana_derivs =) – Flag for analytical derivatives
- __init__(problem, name='f', n_components=1, maximize=False, cnames=None, has_ana_derivs=True)[source]
Methods
__init__
(problem[, name, n_components, ...])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)The function.
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, components)The analytical derivative of the function f, df/dvar, if available.
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
- __init__(problem, name='f', n_components=1, maximize=False, cnames=None, has_ana_derivs=True)[source]
- ana_deriv(vars_int, vars_float, var, components=None)[source]
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)[source]
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)[source]
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
- abstract f(*x)[source]
The function.
- Parameters:
x (tuple) – The int and float variables in that order. Variables are either scalars or numpy arrays in case of populations.
- Returns:
result – For one component, a float, else a list of floats. For population results, a array with shape (n_pop,) in case of one component or a list of such arrays otherwise.
- Return type:
float (or numpy.ndarray) or list of float (or numpy.ndarray)
- 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
- g(var, *x, components)[source]
The analytical derivative of the function f, df/dvar, if available.
- Parameters:
- Returns:
result – For one component, a float, else a list of floats. The length of list is 0 or 1 in case of single component, or n_sel_components otherwise.
- Return type:
- 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()[source]
Returns flag for maximization of each component.
- Returns:
flags – Bool array for component maximization, shape: (n_components,)
- Return type:
np.array
- n_components()[source]
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: