desdeo.optimization.OptimizationMethod

This module contains methods for solving single-objective optimization problems.

class desdeo.optimization.OptimizationMethod.OptimalSearch(optimization_problem)[source]

Bases: desdeo.optimization.OptimizationMethod.OptimizationMethod

Abstract class for optimal search

__abstractmethods__ = frozenset({'_objective', '_search'})
__module__ = 'desdeo.optimization.OptimizationMethod'
abstract _objective(x)[source]

Return objective function value

Parameters

x (list of values) – Decision variable vector to be calclated

class desdeo.optimization.OptimizationMethod.OptimizationMethod(optimization_problem)[source]

Bases: abc.ABC

Abstract class for optimization methods

_max

True if the objective function is to be maximized

Type

bool (default:False)

_ceoff

Coefficient for the objective function

Type

float

__abstractmethods__ = frozenset({'_search'})
__init__(optimization_problem)[source]

Initialize self. See help(type(self)) for accurate signature.

__module__ = 'desdeo.optimization.OptimizationMethod'

The actual search for the optimal solution

This is an abstract class that must be implemented by the subclasses

Parameters

**params (dict [optional]) – Parameters for single objective optimization method

Return type

Tuple[ndarray, List[float]]

search(max=False, **params)[source]

Search for the optimal solution

This sets up the search for the optimization and calls the _search method

Parameters
  • max (bool (default False)) – If true find mximum of the objective function instead of minimum

  • **params (dict [optional]) – Parameters for single objective optimization method

Return type

Tuple[ndarray, List[float]]

class desdeo.optimization.OptimizationMethod.PointSearch(optimization_problem)[source]

Bases: desdeo.optimization.OptimizationMethod.OptimizationMethod

__abstractmethods__ = frozenset({})
__module__ = 'desdeo.optimization.OptimizationMethod'

The actual search for the optimal solution

This is an abstract class that must be implemented by the subclasses

Parameters

**params (dict [optional]) – Parameters for single objective optimization method

Return type

Tuple[ndarray, List[float]]

class desdeo.optimization.OptimizationMethod.SciPy(optimization_problem)[source]

Bases: desdeo.optimization.OptimizationMethod.OptimalSearch

Optimal search using scipy.optimize.minimize().

__abstractmethods__ = frozenset({})
__module__ = 'desdeo.optimization.OptimizationMethod'
_const(x, *ncon)[source]
_objective(x)[source]

Return objective function value

Parameters

x (list of values) – Decision variable vector to be calclated

The actual search for the optimal solution

This is an abstract class that must be implemented by the subclasses

Parameters

**params (dict [optional]) – Parameters for single objective optimization method

Return type

Tuple[ndarray, List[float]]

class desdeo.optimization.OptimizationMethod.SciPyDE(optimization_problem)[source]

Bases: desdeo.optimization.OptimizationMethod.OptimalSearch

Optimal search using scipy.optimize.differential_evolution().

__abstractmethods__ = frozenset({})
__init__(optimization_problem)[source]

Initialize self. See help(type(self)) for accurate signature.

__module__ = 'desdeo.optimization.OptimizationMethod'
_objective(x)[source]

Return objective function value

Parameters

x (list of values) – Decision variable vector to be calclated

The actual search for the optimal solution

This is an abstract class that must be implemented by the subclasses

Parameters

**params (dict [optional]) – Parameters for single objective optimization method

Return type

Tuple[ndarray, List[float]]