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 |