-
Notifications
You must be signed in to change notification settings - Fork 71
Expand file tree
/
Copy path__basic.py
More file actions
33 lines (25 loc) · 745 Bytes
/
__basic.py
File metadata and controls
33 lines (25 loc) · 745 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import numpy as np
from numpy.random import rand
from FS.__tran_func import tran_func
def init_position(lb, ub, N, dim):
X = np.zeros([N, dim], dtype='float')
for i in range(N):
for d in range(dim):
X[i,d] = lb[0,d] + (ub[0,d] - lb[0,d]) * rand()
return X
def binary_conversion(X, thres, N, dim, trans_func=tran_func.sl_trans):
Xbin = np.zeros([N, dim], dtype='int')
for i in range(N):
for d in range(dim):
X_trans = trans_func(X[i,d])
if X_trans > thres:
Xbin[i,d] = 1
else:
Xbin[i,d] = 0
return Xbin
def boundary(x, lb, ub):
if x < lb:
x = lb
if x > ub:
x = ub
return x