class_docstr: A WDO class, inherited from Optimizer.
  
  This is the designed class to define WDO-related
  variables and methods.
  
  References:
      Z. Bayraktar et al. The wind driven optimization technique and its application in electromagnetics.
      IEEE transactions on antennas and propagation (2013).
docstr: Wraps Wind Driven Optimization over all agents and variables.
  
  Args:
      space: Space containing agents and update-related information.
      function: A function object.
docstr_tok: ["Wraps","Wind","Driven","Optimization","over","all","agents","and","variables",".","Args",":","space",":","Space","containing","agents","and","update-related","information",".","function",":","A","function","object","."]
code: def update(self, space: Space, function: Function) -> None:
      """Wraps Wind Driven Optimization over all agents and variables.
  
      Args:
          space: Space containing agents and update-related information.
          function: A function object.
  
      """
  
      for i, agent in enumerate(space.agents):
          index = r.generate_integer_random_number(0, len(space.agents))
  
          # Updates velocity (eq. 15)
          self.velocity[i] = (
              (1 - self.alpha) * self.velocity[i]
              - self.g * agent.position
              + (
                  self.RT
                  * np.abs(1 / (index + 1) - 1)
                  * (space.best_agent.position - agent.position)
              )
              + (self.c * self.velocity[index] / (index + 1))
          )
  
          self.velocity = np.clip(
              self.velocity, -self.v_max, self.v_max
          )
  
          # Updates agent's position (eq. 16)
          agent.position += self.velocity[i]
          agent.clip_by_bound()
  
          agent.fit = function(agent.position)
  
imports: from typing import Any, Dict, Optional
  import numpy
  import opytimizer.math.random
  import opytimizer.utils.exception
  from opytimizer.core import Optimizer
  from opytimizer.core.function import Function
  from opytimizer.core.space import Space
  from opytimizer.utils import logging
label_desc: Use image node_id 15 for calling the WDO obj's underlying member method code with example usage: obj.update(space, function) without return types