| Total Complexity | 4 |
| Total Lines | 24 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | import numpy as np |
||
| 2 | |||
| 3 | from ._base_function import BaseFunction |
||
| 4 | |||
| 5 | |||
| 6 | class SphereFunction(BaseFunction): |
||
| 7 | def __init__(self, n_dim, A=1): |
||
| 8 | self.n_dim = n_dim |
||
| 9 | self.A = A |
||
| 10 | |||
| 11 | def objective_function(self, para): |
||
| 12 | loss = 0 |
||
| 13 | for dim in range(self.n_dim): |
||
| 14 | dim_str = "x" + str(dim) |
||
| 15 | x = para[dim_str] |
||
| 16 | |||
| 17 | loss += self.A * x * x |
||
| 18 | |||
| 19 | return loss |
||
| 20 | |||
| 21 | @property |
||
| 22 | def search_space(self): |
||
| 23 | return {"x" + str(idx): np.arange(-8, 8, 0.1) for idx in range(self.n_dim)} |
||
| 24 |