class_docstr: A GWO class, inherited from Optimizer.
  
  This is the designed class to define GWO-related
  variables and methods.
  
  References:
      S. Mirjalili, S. Mirjalili and A. Lewis. Grey Wolf Optimizer.
      Advances in Engineering Software (2014).
class_docstr_tok: ["A","GWO","class",",","inherited","from","Optimizer",".","This","is","the","designed","class","to","define","GWO-related","variables","and","methods",".","References",":","S.","Mirjalili",",","S.","Mirjalili","and","A.","Lewis",".","Grey","Wolf","Optimizer",".","Advances","in","Engineering","Software","(","2014",")","."]
docstr: Calculates the mathematical coefficients.
  
  Args:
      a: Linear constant.
  
  Returns:
      (Tuple[float, float]): Both `A` and `C` coefficients.
docstr_tok: ["Calculates","the","mathematical","coefficients",".","Args",":","a",":","Linear","constant",".","Returns",":","(","Tuple","[","float",",","float","]",")",":","Both","`","A","`","and","`","C","`","coefficients","."]
code: def _calculate_coefficients(self, a: float) -> Tuple[float, float]:
      """Calculates the mathematical coefficients.
  
      Args:
          a: Linear constant.
  
      Returns:
          (Tuple[float, float]): Both `A` and `C` coefficients.
  
      """
  
      r1 = r.generate_uniform_random_number()
      r2 = r.generate_uniform_random_number()
  
      # Calculates the `A` coefficient (eq. 3.3)
      A = 2 * a * r1 - a
  
      # Calculates the `C` coefficient (eq. 3.4)
      C = 2 * r2
  
      return A, C
  
file_path: opytimizer/opytimizer/optimizers/population/gwo.py
imports: import copy
  from typing import Any, Dict, Optional, Tuple
  import numpy
  import opytimizer.math.random
  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 2 for calling the GWO obj's underlying member method code with example usage: obj._calculate_coefficients(a) and returns: A,  C