| @@ 162-189 (lines=28) @@ | ||
| 159 | """ |
|
| 160 | return r'''Ali, Ramzy. (2016). Novel Optimization Algorithm Inspired by Camel Traveling Behavior. Iraq J. Electrical and Electronic Engineering. 12. 167-177.''' |
|
| 161 | ||
| 162 | @staticmethod |
|
| 163 | def typeParameters(): |
|
| 164 | r"""Get dictionary with functions for checking values of parameters. |
|
| 165 | ||
| 166 | Returns: |
|
| 167 | Dict[str, Callable]: |
|
| 168 | * omega (Callable[[Union[int, float]], bool]) |
|
| 169 | * mu (Callable[[float], bool]) |
|
| 170 | * alpha (Callable[[float], bool]) |
|
| 171 | * S_init (Callable[[Union[float, int]], bool]) |
|
| 172 | * E_init (Callable[[Union[float, int]], bool]) |
|
| 173 | * T_min (Callable[[Union[float, int], bool]) |
|
| 174 | * T_max (Callable[[Union[float, int], bool]) |
|
| 175 | ||
| 176 | See Also: |
|
| 177 | * :func:`NiaPy.algorithms.Algorithm.typeParameters` |
|
| 178 | """ |
|
| 179 | d = Algorithm.typeParameters() |
|
| 180 | d.update({ |
|
| 181 | 'omega': lambda x: isinstance(x, (float, int)), |
|
| 182 | 'mu': lambda x: isinstance(x, float) and 0 <= x <= 1, |
|
| 183 | 'alpha': lambda x: isinstance(x, float) and 0 <= x <= 1, |
|
| 184 | 'S_init': lambda x: isinstance(x, (float, int)) and x > 0, |
|
| 185 | 'E_init': lambda x: isinstance(x, (float, int)) and x > 0, |
|
| 186 | 'T_min': lambda x: isinstance(x, (float, int)) and x > 0, |
|
| 187 | 'T_max': lambda x: isinstance(x, (float, int)) and x > 0 |
|
| 188 | }) |
|
| 189 | return d |
|
| 190 | ||
| 191 | def setParameters(self, NP=50, omega=0.25, mu=0.5, alpha=0.5, S_init=10, E_init=10, T_min=-10, T_max=10, **ukwargs): |
|
| 192 | r"""Set the arguments of an algorithm. |
|
| @@ 244-264 (lines=21) @@ | ||
| 241 | """ |
|
| 242 | return r"""Fister Jr., Iztok and Fister, Dusan and Yang, Xin-She. "A Hybrid Bat Algorithm". Elektrotehniski vestnik, 2013. 1-7.""" |
|
| 243 | ||
| 244 | @staticmethod |
|
| 245 | def typeParameters(): |
|
| 246 | r"""Get dictionary with functions for checking values of parameters. |
|
| 247 | ||
| 248 | Returns: |
|
| 249 | Dict[str, Callable]: TODO |
|
| 250 | ||
| 251 | See Also: |
|
| 252 | * :func:`NiaPy.algorithms.basic.BatAlgorithm.typeParameters` |
|
| 253 | """ |
|
| 254 | d = AdaptiveBatAlgorithm.typeParameters() |
|
| 255 | d.pop('A', None), d.pop('r', None) |
|
| 256 | d.update({ |
|
| 257 | 'A_l': lambda x: isinstance(x, (float, int)) and x >= 0, |
|
| 258 | 'A_u': lambda x: isinstance(x, (float, int)) and x >= 0, |
|
| 259 | 'r_l': lambda x: isinstance(x, (float, int)) and x >= 0, |
|
| 260 | 'r_u': lambda x: isinstance(x, (float, int)) and x >= 0, |
|
| 261 | 'tao_1': lambda x: isinstance(x, (float, int)) and 0 <= x <= 1, |
|
| 262 | 'tao_2': lambda x: isinstance(x, (float, int)) and 0 <= x <= 1 |
|
| 263 | }) |
|
| 264 | return d |
|
| 265 | ||
| 266 | def setParameters(self, A_l=0.9, A_u=1.0, r_l=0.001, r_u=0.1, tao_1=0.1, tao_2=0.1, **ukwargs): |
|
| 267 | r"""Set core parameters of HybridBatAlgorithm algorithm. |
|