iwopy 0.1.9__py3-none-any.whl → 0.2__py3-none-any.whl
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.
Potentially problematic release.
This version of iwopy might be problematic. Click here for more details.
- iwopy/VERSION +1 -1
- iwopy/__init__.py +6 -1
- iwopy/benchmarks/branin/__init__.py +1 -0
- iwopy/benchmarks/{branin.py → branin/branin.py} +29 -19
- iwopy/benchmarks/rosenbrock/__init__.py +1 -0
- iwopy/benchmarks/{rosenbrock.py → rosenbrock/rosenbrock.py} +35 -27
- iwopy/core/base.py +14 -8
- iwopy/core/constraint.py +20 -14
- iwopy/core/function.py +66 -60
- iwopy/core/function_list.py +51 -45
- iwopy/core/function_subset.py +33 -28
- iwopy/core/memory.py +43 -35
- iwopy/core/objective.py +4 -1
- iwopy/core/opt_results.py +79 -68
- iwopy/core/optimizer.py +15 -9
- iwopy/core/problem.py +116 -104
- iwopy/interfaces/pygmo/__init__.py +3 -0
- iwopy/interfaces/pygmo/algos.py +5 -2
- iwopy/interfaces/pygmo/imports.py +11 -0
- iwopy/interfaces/pygmo/optimizer.py +24 -18
- iwopy/interfaces/pygmo/problem.py +24 -19
- iwopy/interfaces/pymoo/__init__.py +4 -1
- iwopy/interfaces/pymoo/factory.py +6 -0
- iwopy/interfaces/pymoo/imports.py +11 -0
- iwopy/interfaces/pymoo/optimizer.py +75 -48
- iwopy/interfaces/pymoo/problem.py +330 -314
- iwopy/interfaces/scipy/optimizer.py +26 -20
- iwopy/optimizers/gg.py +41 -35
- iwopy/utils/discretization.py +106 -100
- iwopy/utils/stdout.py +2 -0
- iwopy/wrappers/discretize_reg_grid.py +65 -59
- iwopy/wrappers/local_fd.py +40 -34
- iwopy/wrappers/problem_wrapper.py +43 -37
- iwopy/wrappers/simple_constraint.py +47 -41
- iwopy/wrappers/simple_objective.py +42 -36
- iwopy/wrappers/simple_problem.py +40 -34
- {iwopy-0.1.9.dist-info → iwopy-0.2.dist-info}/METADATA +12 -3
- iwopy-0.2.dist-info/RECORD +50 -0
- iwopy-0.1.9.dist-info/RECORD +0 -48
- {iwopy-0.1.9.dist-info → iwopy-0.2.dist-info}/LICENSE +0 -0
- {iwopy-0.1.9.dist-info → iwopy-0.2.dist-info}/WHEEL +0 -0
- {iwopy-0.1.9.dist-info → iwopy-0.2.dist-info}/top_level.txt +0 -0
- {iwopy-0.1.9.dist-info → iwopy-0.2.dist-info}/zip-safe +0 -0
|
@@ -12,31 +12,37 @@ class Optimizer_scipy(Optimizer):
|
|
|
12
12
|
Note that these solvers do not support
|
|
13
13
|
vectorized evaluation.
|
|
14
14
|
|
|
15
|
-
Parameters
|
|
16
|
-
----------
|
|
17
|
-
problem : iwopy.Problem
|
|
18
|
-
The problem to optimize
|
|
19
|
-
scipy_pars : dict
|
|
20
|
-
Additional parameters for
|
|
21
|
-
scipy.optimze.minimize()
|
|
22
|
-
mem_size : int
|
|
23
|
-
The memory size, number of
|
|
24
|
-
stored obj, cons evaluations
|
|
25
|
-
kwargs : dict, optional
|
|
26
|
-
Additional parameters for base class
|
|
27
|
-
|
|
28
15
|
Attributes
|
|
29
16
|
----------
|
|
30
|
-
scipy_pars
|
|
17
|
+
scipy_pars: dict
|
|
31
18
|
Additional parameters for
|
|
32
19
|
scipy.optimze.minimize()
|
|
33
|
-
mem_size
|
|
20
|
+
mem_size: int
|
|
34
21
|
The memory size, number of
|
|
35
22
|
stored obj, cons evaluations
|
|
36
23
|
|
|
24
|
+
:group: interfaces.scipy
|
|
25
|
+
|
|
37
26
|
"""
|
|
38
27
|
|
|
39
28
|
def __init__(self, problem, scipy_pars={}, mem_size=100, **kwargs):
|
|
29
|
+
"""
|
|
30
|
+
Constructor
|
|
31
|
+
|
|
32
|
+
Parameters
|
|
33
|
+
----------
|
|
34
|
+
problem: iwopy.Problem
|
|
35
|
+
The problem to optimize
|
|
36
|
+
scipy_pars: dict
|
|
37
|
+
Additional parameters for
|
|
38
|
+
scipy.optimze.minimize()
|
|
39
|
+
mem_size: int
|
|
40
|
+
The memory size, number of
|
|
41
|
+
stored obj, cons evaluations
|
|
42
|
+
kwargs: dict, optional
|
|
43
|
+
Additional parameters for base class
|
|
44
|
+
|
|
45
|
+
"""
|
|
40
46
|
super().__init__(problem, **kwargs)
|
|
41
47
|
self.scipy_pars = scipy_pars
|
|
42
48
|
self.mem_size = mem_size
|
|
@@ -63,7 +69,7 @@ class Optimizer_scipy(Optimizer):
|
|
|
63
69
|
|
|
64
70
|
Parameters
|
|
65
71
|
----------
|
|
66
|
-
verbosity
|
|
72
|
+
verbosity: int
|
|
67
73
|
The verbosity level, 0 = silent
|
|
68
74
|
|
|
69
75
|
"""
|
|
@@ -97,11 +103,11 @@ class Optimizer_scipy(Optimizer):
|
|
|
97
103
|
|
|
98
104
|
Returns
|
|
99
105
|
-------
|
|
100
|
-
objs
|
|
106
|
+
objs: np.array
|
|
101
107
|
The objective function values, shape: (n_objectives,)
|
|
102
|
-
cons
|
|
108
|
+
cons: np.array
|
|
103
109
|
The constraints values, shape: (n_constraints,)
|
|
104
|
-
prob_results
|
|
110
|
+
prob_results: object
|
|
105
111
|
The problem results
|
|
106
112
|
|
|
107
113
|
"""
|
|
@@ -173,7 +179,7 @@ class Optimizer_scipy(Optimizer):
|
|
|
173
179
|
|
|
174
180
|
Parameters
|
|
175
181
|
----------
|
|
176
|
-
verbosity
|
|
182
|
+
verbosity: int
|
|
177
183
|
The verbosity level, 0 = silent
|
|
178
184
|
|
|
179
185
|
Returns
|
iwopy/optimizers/gg.py
CHANGED
|
@@ -12,54 +12,31 @@ class GG(Optimizer):
|
|
|
12
12
|
in a finite number of steps on the way. Step directions
|
|
13
13
|
that violate constraints are projected out or reversed.
|
|
14
14
|
|
|
15
|
-
Parameters
|
|
16
|
-
----------
|
|
17
|
-
problem: iwopy.Problem
|
|
18
|
-
The problem to optimize
|
|
19
|
-
step_max : float or list or dict
|
|
20
|
-
The maximal steps. Either uniform float value
|
|
21
|
-
or list of floats for each problem variable,
|
|
22
|
-
or dict with entry for each variable
|
|
23
|
-
step_min : float or list or dict
|
|
24
|
-
The minimal steps. Either uniform float value
|
|
25
|
-
or list of floats for each problem variable,
|
|
26
|
-
or dict with entry for each variable
|
|
27
|
-
step_div_factor : float
|
|
28
|
-
Step size division factor until step_min is reached
|
|
29
|
-
f_tol : float
|
|
30
|
-
The objective function tolerance
|
|
31
|
-
vectorized : bool
|
|
32
|
-
Flag for running in vectorized mode
|
|
33
|
-
n_max_steps : int
|
|
34
|
-
The maximal number of steps without fresh gradient
|
|
35
|
-
memory_size : int
|
|
36
|
-
The number of memorized visited points
|
|
37
|
-
name: str, optional
|
|
38
|
-
The name
|
|
39
|
-
|
|
40
15
|
Attributes
|
|
41
16
|
----------
|
|
42
|
-
step_max
|
|
17
|
+
step_max: numpy.ndarray
|
|
43
18
|
Maximal step size for each problem variable,
|
|
44
19
|
shape: (n_vars_float,)
|
|
45
|
-
step_min
|
|
20
|
+
step_min: numpy.ndarray
|
|
46
21
|
Minimal step size for each problem variable,
|
|
47
22
|
shape: (n_vars_float,)
|
|
48
|
-
step_div_factor
|
|
23
|
+
step_div_factor: float
|
|
49
24
|
Step size division factor until step_min is reached
|
|
50
|
-
f_tol
|
|
25
|
+
f_tol: float
|
|
51
26
|
The objective function tolerance
|
|
52
|
-
vectorized
|
|
27
|
+
vectorized: bool
|
|
53
28
|
Flag for running in vectorized mode
|
|
54
|
-
n_max_steps
|
|
29
|
+
n_max_steps: int
|
|
55
30
|
The maximal number of steps without fresh gradient
|
|
56
|
-
memory_size
|
|
31
|
+
memory_size: int
|
|
57
32
|
The number of memorized visited points
|
|
58
|
-
memory
|
|
33
|
+
memory: tuple
|
|
59
34
|
Memorized data: (x, obj, grad, all_valid), each a
|
|
60
35
|
numpy.ndarray, shapes: (memory_size, n_vars),
|
|
61
36
|
(memory_size, n_vars), (memory_size,), (memory_size,)
|
|
62
37
|
|
|
38
|
+
:group: optimizers
|
|
39
|
+
|
|
63
40
|
"""
|
|
64
41
|
|
|
65
42
|
def __init__(
|
|
@@ -74,6 +51,35 @@ class GG(Optimizer):
|
|
|
74
51
|
memory_size=100,
|
|
75
52
|
name="GG",
|
|
76
53
|
):
|
|
54
|
+
"""
|
|
55
|
+
Constructor
|
|
56
|
+
|
|
57
|
+
Parameters
|
|
58
|
+
----------
|
|
59
|
+
problem: iwopy.Problem
|
|
60
|
+
The problem to optimize
|
|
61
|
+
step_max: float or list or dict
|
|
62
|
+
The maximal steps. Either uniform float value
|
|
63
|
+
or list of floats for each problem variable,
|
|
64
|
+
or dict with entry for each variable
|
|
65
|
+
step_min: float or list or dict
|
|
66
|
+
The minimal steps. Either uniform float value
|
|
67
|
+
or list of floats for each problem variable,
|
|
68
|
+
or dict with entry for each variable
|
|
69
|
+
step_div_factor: float
|
|
70
|
+
Step size division factor until step_min is reached
|
|
71
|
+
f_tol: float
|
|
72
|
+
The objective function tolerance
|
|
73
|
+
vectorized: bool
|
|
74
|
+
Flag for running in vectorized mode
|
|
75
|
+
n_max_steps: int
|
|
76
|
+
The maximal number of steps without fresh gradient
|
|
77
|
+
memory_size: int
|
|
78
|
+
The number of memorized visited points
|
|
79
|
+
name: str, optional
|
|
80
|
+
The name
|
|
81
|
+
|
|
82
|
+
"""
|
|
77
83
|
super().__init__(problem, name)
|
|
78
84
|
self.step_max = step_max
|
|
79
85
|
self.step_min = step_min
|
|
@@ -90,7 +96,7 @@ class GG(Optimizer):
|
|
|
90
96
|
|
|
91
97
|
Parameters
|
|
92
98
|
----------
|
|
93
|
-
verbosity
|
|
99
|
+
verbosity: int
|
|
94
100
|
The verbosity level, 0 = silent
|
|
95
101
|
|
|
96
102
|
"""
|
|
@@ -203,7 +209,7 @@ class GG(Optimizer):
|
|
|
203
209
|
|
|
204
210
|
Parameters
|
|
205
211
|
----------
|
|
206
|
-
verbosity
|
|
212
|
+
verbosity: int
|
|
207
213
|
The verbosity level, 0 = silent
|
|
208
214
|
|
|
209
215
|
Returns
|