UQPyL 2.0.2__tar.gz → 2.0.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {UQPyL-2.0.2 → UQPyL-2.0.4}/PKG-INFO +1 -1
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/__init__.py +1 -1
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/optimization/asmo.py +17 -10
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/optimization/mo_asmo.py +2 -2
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/problems/problem_ABC.py +2 -1
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/gp_kernels/base_kernel.py +3 -3
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL.egg-info/PKG-INFO +1 -1
- {UQPyL-2.0.2 → UQPyL-2.0.4}/pyproject.toml +1 -1
- {UQPyL-2.0.2 → UQPyL-2.0.4}/setup.py +1 -1
- {UQPyL-2.0.2 → UQPyL-2.0.4}/LICENSE.md +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/README.md +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/DoE/__init__.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/DoE/_lhs.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/DoE/fast_sequence.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/DoE/full_fact.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/DoE/lhs.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/DoE/morris_sequence.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/DoE/random.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/DoE/sampler_ABC.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/DoE/sobol_sequence.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/optimization/__init__.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/optimization/_binary_ga.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/optimization/adam.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/optimization/boxmin.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/optimization/ga.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/optimization/moea_d.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/optimization/nsga_ii.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/optimization/pso.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/optimization/sce_ua.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/optimization/utility_functions/_NDsort.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/optimization/utility_functions/__init__.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/optimization/utility_functions/_uniformPoint.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/problems/__init__.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/problems/multi_DTLZ.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/problems/multi_ZDT.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/problems/pratical_problem.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/problems/single_Benchmarks.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/problems/utility_functions/_NDsort.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/problems/utility_functions/__init__.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/problems/utility_functions/_uniformPoint.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/sensibility/__init__.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/sensibility/delta_test.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/sensibility/fast.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/sensibility/mars_sa.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/sensibility/morris.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/sensibility/rbd_fast.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/sensibility/rsa.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/sensibility/sa_ABC.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/sensibility/sobol.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/BaggingEnsemble.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/BootstrapEnsemble.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/__init__.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/fully_connect_neural_network.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/gaussian_process.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/gp_kernels/__init__.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/gp_kernels/c_kernel.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/gp_kernels/dot_kernel.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/gp_kernels/matern_kernel.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/gp_kernels/rbf_kernel.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/gp_kernels/rq_kernel.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/krg_kernels/__init__.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/krg_kernels/base_kernel.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/krg_kernels/cubic_kernel.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/krg_kernels/exp_kernel.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/krg_kernels/guass_kernel.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/kriging.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/lasso_/__init__.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/lasso_/lasso_fast.c +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/linear_regression.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/mars.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/mars_/__init__.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/mars_/_basis.c +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/mars_/_forward.c +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/mars_/_knot_search.c +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/mars_/_pruning.c +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/mars_/_qr.c +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/mars_/_record.c +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/mars_/_types.c +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/mars_/_util.c +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/mars_/pyearth/__init__.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/mlp_utility/__init__.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/mlp_utility/_activation_funcs.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/mlp_utility/base.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/polynomial_regression.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/radial_basis_function.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/rbf_kernels/__init__.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/rbf_kernels/base_kernel.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/rbf_kernels/cubic_kernel.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/rbf_kernels/gaussian_kernel.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/rbf_kernels/linear_kernel.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/rbf_kernels/multiquadric_kernel.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/rbf_kernels/thin_plate_spline_kernel.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/support_vector_machine.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/surrogate_ABC.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/svr_/__init__.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/svr_/libsvm_interface.cpp +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/surrogates/svr_/svm.cpp +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/utility/__init__.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/utility/grid_search.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/utility/metrics.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/utility/model_selections.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/utility/polynomial_features.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL/utility/scalers.py +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL.egg-info/SOURCES.txt +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL.egg-info/dependency_links.txt +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL.egg-info/requires.txt +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/UQPyL.egg-info/top_level.txt +0 -0
- {UQPyL-2.0.2 → UQPyL-2.0.4}/setup.cfg +0 -0
|
@@ -3,6 +3,7 @@ from tqdm import tqdm
|
|
|
3
3
|
from typing import Optional
|
|
4
4
|
|
|
5
5
|
from .sce_ua import SCE_UA
|
|
6
|
+
from .pso import PSO
|
|
6
7
|
from ..DoE import LHS
|
|
7
8
|
from ..problems import Problem
|
|
8
9
|
from ..surrogates import Surrogate
|
|
@@ -46,11 +47,11 @@ class ASMO():
|
|
|
46
47
|
#construct optimization problem to combine surrogate and algorithm
|
|
47
48
|
self.subProblem=Problem(self.surrogate.predict, self.n_input, 1, self.ub, self.lb)
|
|
48
49
|
|
|
49
|
-
def run(self,
|
|
50
|
+
def run(self, oneStep=False):
|
|
50
51
|
'''
|
|
51
52
|
main procedure
|
|
52
53
|
'''
|
|
53
|
-
show_process=tqdm(total=maxFE)
|
|
54
|
+
show_process=tqdm(total=self.maxFE)
|
|
54
55
|
FE=0
|
|
55
56
|
TT=0
|
|
56
57
|
n_input=self.n_input
|
|
@@ -65,22 +66,24 @@ class ASMO():
|
|
|
65
66
|
XPop=self.x_init
|
|
66
67
|
YPop=self.y_init
|
|
67
68
|
|
|
68
|
-
|
|
69
|
-
show_process.update(
|
|
69
|
+
FE=YPop.shape[0]
|
|
70
|
+
show_process.update(FE)
|
|
70
71
|
###
|
|
71
72
|
idx=np.argsort(YPop, axis=0)
|
|
72
73
|
BestY=YPop[idx[0,0],0]
|
|
73
74
|
BestX=XPop[idx[0,0],:]
|
|
75
|
+
history_best_decs={}
|
|
76
|
+
history_best_objs={}
|
|
74
77
|
# history_BestY=[]; history_BestX=[]
|
|
75
78
|
# history_BestX.append(BestX)
|
|
76
79
|
# history_BestY.append(BestY)
|
|
77
80
|
|
|
78
81
|
if (oneStep==False):
|
|
79
|
-
while
|
|
82
|
+
while FE<self.maxFE and TT<self.maxTolerateTime:
|
|
80
83
|
show_process.update(1)
|
|
81
84
|
# Build surrogate model
|
|
82
85
|
self.surrogate.fit(XPop, YPop)
|
|
83
|
-
res=
|
|
86
|
+
res=PSO(self.subProblem).run()
|
|
84
87
|
BestX_SM=res['best_dec']
|
|
85
88
|
|
|
86
89
|
TempY=self.evaluate(BestX_SM)
|
|
@@ -89,24 +92,28 @@ class ASMO():
|
|
|
89
92
|
YPop=np.vstack((YPop,TempY))
|
|
90
93
|
|
|
91
94
|
if TempY[0,0]<BestY:
|
|
92
|
-
BestY=np.copy(TempY)
|
|
95
|
+
BestY=np.copy(TempY[0,0])
|
|
93
96
|
BestX=np.copy(BestX_SM)
|
|
97
|
+
history_best_decs[FE]=BestX
|
|
98
|
+
history_best_objs[FE]=BestY
|
|
94
99
|
else:
|
|
95
100
|
self.surrogate.fit(XPop, YPop)
|
|
96
101
|
res=SCE_UA(self.subProblem).run()
|
|
97
|
-
BestX_SM=res['
|
|
102
|
+
BestX_SM=res['best_dec']
|
|
98
103
|
|
|
99
104
|
TempY=self.evaluate(BestX_SM)
|
|
100
105
|
|
|
101
|
-
|
|
106
|
+
FE+=1
|
|
102
107
|
XPop=np.vstack((XPop,BestX_SM))
|
|
103
108
|
YPop=np.vstack((YPop,TempY))
|
|
104
109
|
|
|
105
110
|
if TempY[0,0]<BestY:
|
|
106
111
|
BestY=np.copy(TempY)
|
|
107
112
|
BestX=np.copy(BestX_SM)
|
|
113
|
+
history_best_decs[FE]=BestX
|
|
114
|
+
history_best_objs[FE]=BestY
|
|
108
115
|
|
|
109
|
-
Result={'best_dec':BestX, 'best_obj':BestY, 'FE':
|
|
116
|
+
Result={'best_dec':BestX, 'best_obj':BestY, 'history_best_decs': history_best_decs, 'history_best_objs':history_best_objs ,'FE':FE}
|
|
110
117
|
|
|
111
118
|
return Result
|
|
112
119
|
|
|
@@ -101,8 +101,8 @@ class MOASMO():
|
|
|
101
101
|
nsga_ii=NSGAII(self.subProblem, self.n_pop)
|
|
102
102
|
#main optimization
|
|
103
103
|
Result=nsga_ii.run()
|
|
104
|
-
BestX=Result['
|
|
105
|
-
BestY=Result['
|
|
104
|
+
BestX=Result['pareto_x']
|
|
105
|
+
BestY=Result['pareto_y']
|
|
106
106
|
CrowdDis=Result['crowdDis']
|
|
107
107
|
|
|
108
108
|
if self.advance_infilling==False:
|
|
@@ -48,6 +48,7 @@ class ProblemABC(metaclass=abc.ABCMeta):
|
|
|
48
48
|
|
|
49
49
|
def _check_bound(self,bound: np.ndarray):
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
bound=bound.ravel()
|
|
52
|
+
if(not bound.shape[0]==self.n_input):
|
|
52
53
|
raise ValueError('the input bound is inconsistent with the input n_inputensions')
|
|
53
54
|
|
|
@@ -41,7 +41,7 @@ extensions=cythonize(cython_extensions, compiler_directives={'cdivision': True,
|
|
|
41
41
|
setup(
|
|
42
42
|
name="UQPyL",
|
|
43
43
|
author="wmtSky",
|
|
44
|
-
version="2.0.
|
|
44
|
+
version="2.0.4",
|
|
45
45
|
author_email="wmtsky@hhu.edu.cn",
|
|
46
46
|
# ... 其他常规setup参数 ...
|
|
47
47
|
ext_modules=extensions, # 如果有自定义的编译行为
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|