opytimizer.optimizers.science.two

Tug Of War Optimization.

class opytimizer.optimizers.science.two.TWO(params: Optional[Dict[str, Any]] = None)

A TWO class, inherited from Optimizer.

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

References

A. Kaveh. Tug of War Optimization. Advances in Metaheuristic Algorithms for Optimal Design of Structures (2016).

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

Initialization method.

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

Static friction coefficient.

mu_k

Kinematic friction coefficient.

delta_t

Time displacement.

alpha

Speed constant.

beta

Scaling factor.

_constraint_handle(agents: List[opytimizer.core.agent.Agent], best_agent: opytimizer.core.agent.Agent, function: opytimizer.core.function.Function, iteration: int) → None

Performs the constraint handling procedure (eq. 11).

Parameters:
  • agents (list) – List of agents.
  • best_agent (Agent) – Global best agent.
  • function – A Function object that will be used as the objective function.
  • iteration – Current iteration.
update(space: opytimizer.core.space.Space, function: opytimizer.core.function.Function, iteration: int, n_iterations: int) → None

Wraps Tug of War Optimization 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.
  • iteration – Current iteration.
  • n_iterations – Maximum number of iterations.