| @@ 159-186 (lines=28) @@ | ||
| 156 | """ |
|
| 157 | return r'''Ali, Ramzy. (2016). Novel Optimization Algorithm Inspired by Camel Traveling Behavior. Iraq J. Electrical and Electronic Engineering. 12. 167-177.''' |
|
| 158 | ||
| 159 | @staticmethod |
|
| 160 | def typeParameters(): |
|
| 161 | r"""Get dictionary with functions for checking values of parameters. |
|
| 162 | ||
| 163 | Returns: |
|
| 164 | Dict[str, Callable]: |
|
| 165 | * omega (Callable[[Union[int, float]], bool]) |
|
| 166 | * mu (Callable[[float], bool]) |
|
| 167 | * alpha (Callable[[float], bool]) |
|
| 168 | * S_init (Callable[[Union[float, int]], bool]) |
|
| 169 | * E_init (Callable[[Union[float, int]], bool]) |
|
| 170 | * T_min (Callable[[Union[float, int], bool]) |
|
| 171 | * T_max (Callable[[Union[float, int], bool]) |
|
| 172 | ||
| 173 | See Also: |
|
| 174 | * :func:`NiaPy.algorithms.Algorithm.typeParameters` |
|
| 175 | """ |
|
| 176 | d = Algorithm.typeParameters() |
|
| 177 | d.update({ |
|
| 178 | 'omega': lambda x: isinstance(x, (float, int)), |
|
| 179 | 'mu': lambda x: isinstance(x, float) and 0 <= x <= 1, |
|
| 180 | 'alpha': lambda x: isinstance(x, float) and 0 <= x <= 1, |
|
| 181 | 'S_init': lambda x: isinstance(x, (float, int)) and x > 0, |
|
| 182 | 'E_init': lambda x: isinstance(x, (float, int)) and x > 0, |
|
| 183 | 'T_min': lambda x: isinstance(x, (float, int)) and x > 0, |
|
| 184 | 'T_max': lambda x: isinstance(x, (float, int)) and x > 0 |
|
| 185 | }) |
|
| 186 | return d |
|
| 187 | ||
| 188 | 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): |
|
| 189 | r"""Set the arguments of an algorithm. |
|
| @@ 210-230 (lines=21) @@ | ||
| 207 | """ |
|
| 208 | return r"""Fister Jr., Iztok and Fister, Dusan and Yang, Xin-She. "A Hybrid Bat Algorithm". Elektrotehniski vestnik, 2013. 1-7.""" |
|
| 209 | ||
| 210 | @staticmethod |
|
| 211 | def typeParameters(): |
|
| 212 | r"""Get dictionary with functions for checking values of parameters. |
|
| 213 | ||
| 214 | Returns: |
|
| 215 | Dict[str, Callable]: TODO |
|
| 216 | ||
| 217 | See Also: |
|
| 218 | * :func:`NiaPy.algorithms.basic.BatAlgorithm.typeParameters` |
|
| 219 | """ |
|
| 220 | d = AdaptiveBatAlgorithm.typeParameters() |
|
| 221 | d.pop('A_s', None), d.pop('A_min', None) |
|
| 222 | d.update({ |
|
| 223 | 'A_l': lambda x: isinstance(x, (float, int)) and x >= 0, |
|
| 224 | 'A_u': lambda x: isinstance(x, (float, int)) and x >= 0, |
|
| 225 | 'r_l': lambda x: isinstance(x, (float, int)) and x >= 0, |
|
| 226 | 'r_u': lambda x: isinstance(x, (float, int)) and x >= 0, |
|
| 227 | 'tao_1': lambda x: isinstance(x, (float, int)) and 0 <= x <= 1, |
|
| 228 | 'tao_2': lambda x: isinstance(x, (float, int)) and 0 <= x <= 1 |
|
| 229 | }) |
|
| 230 | return d |
|
| 231 | ||
| 232 | def setParameters(self, A_l=0.001, A_u=0.1, r_l=0.1, r_u=0.9, tao_1=0.5, tao_2=0.5, **ukwargs): |
|
| 233 | r"""Set core parameters of HybridBatAlgorithm algorithm. |
|