opytimizer.optimizers.social.ssd

Social Ski Driver.

class opytimizer.optimizers.social.ssd.SSD(params: Optional[Dict[str, Any]] = None)

An SSD class, inherited from Optimizer.

This is the designed class to define SSD-related variables and methods.

References

A. Tharwat and T. Gabel. Parameters optimization of support vector machines for imbalanced data using social ski driver algorithm. Neural Computing and Applications (2019).

__init__(params: Optional[Dict[str, Any]] = None) → None

Initialization method.

Parameters:params – Contains key-value parameters to the meta-heuristics.
c

Exploration parameter.

decay

Decay rate.

local_position

Array of local positions.

velocity

Array of velocities.

compile(space: opytimizer.core.space.Space) → None

Compiles additional information that is used by this optimizer.

Parameters:space – A Space object containing meta-information.
_mean_global_solution(alpha: numpy.ndarray, beta: numpy.ndarray, gamma: numpy.ndarray) → numpy.ndarray

Calculates the mean global solution (eq. 9).

Parameters:
  • alpha – 1st agent’s current position.
  • beta – 2nd agent’s current position.
  • gamma – 3rd agent’s current position.
Returns:

Mean global solution.

Return type:

(np.ndarray)

_update_position(position: numpy.ndarray, index: int) → numpy.ndarray

Updates a particle position (eq. 10).

Parameters:
  • position – Agent’s current position.
  • index – Index of current agent.
Returns:

A new position.

Return type:

(np.ndarray)

_update_velocity(position: numpy.ndarray, mean: numpy.ndarray, index: int) → numpy.ndarray

Updates a particle velocity (eq. 11).

Parameters:
  • position – Agent’s current position.
  • mean – Mean global best position.
  • index – Index of current agent.
Returns:

A new velocity.

Return type:

(np.ndarray)

evaluate(space: opytimizer.core.space.Space, function: opytimizer.core.function.Function) → None

Evaluates the search space according to the objective function.

Parameters:
  • space – A Space object that will be evaluated.
  • function – A Function object that will be used as the objective function.
update(space: opytimizer.core.space.Space, function: opytimizer.core.function.Function) → None

Wraps Social Ski Driver over all agents and variables.

Parameters:
  • space – Space containing agents and update-related information.
  • function – A Function object that will be used as the objective function.