@elaraai/east-py-datascience 0.0.2-beta.1
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.
- package/LICENSE.md +18 -0
- package/README.md +104 -0
- package/dist/gp/gp.d.ts +398 -0
- package/dist/gp/gp.d.ts.map +1 -0
- package/dist/gp/gp.js +170 -0
- package/dist/gp/gp.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -0
- package/dist/lightgbm/lightgbm.d.ts +494 -0
- package/dist/lightgbm/lightgbm.d.ts.map +1 -0
- package/dist/lightgbm/lightgbm.js +155 -0
- package/dist/lightgbm/lightgbm.js.map +1 -0
- package/dist/mads/mads.d.ts +413 -0
- package/dist/mads/mads.d.ts.map +1 -0
- package/dist/mads/mads.js +221 -0
- package/dist/mads/mads.js.map +1 -0
- package/dist/ngboost/ngboost.d.ts +433 -0
- package/dist/ngboost/ngboost.d.ts.map +1 -0
- package/dist/ngboost/ngboost.js +178 -0
- package/dist/ngboost/ngboost.js.map +1 -0
- package/dist/optuna/optuna.d.ts +797 -0
- package/dist/optuna/optuna.d.ts.map +1 -0
- package/dist/optuna/optuna.js +268 -0
- package/dist/optuna/optuna.js.map +1 -0
- package/dist/scipy/scipy.d.ts +954 -0
- package/dist/scipy/scipy.d.ts.map +1 -0
- package/dist/scipy/scipy.js +287 -0
- package/dist/scipy/scipy.js.map +1 -0
- package/dist/shap/shap.d.ts +657 -0
- package/dist/shap/shap.d.ts.map +1 -0
- package/dist/shap/shap.js +241 -0
- package/dist/shap/shap.js.map +1 -0
- package/dist/simanneal/simanneal.d.ts +531 -0
- package/dist/simanneal/simanneal.d.ts.map +1 -0
- package/dist/simanneal/simanneal.js +231 -0
- package/dist/simanneal/simanneal.js.map +1 -0
- package/dist/sklearn/sklearn.d.ts +1272 -0
- package/dist/sklearn/sklearn.d.ts.map +1 -0
- package/dist/sklearn/sklearn.js +307 -0
- package/dist/sklearn/sklearn.js.map +1 -0
- package/dist/torch/torch.d.ts +658 -0
- package/dist/torch/torch.d.ts.map +1 -0
- package/dist/torch/torch.js +233 -0
- package/dist/torch/torch.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types.d.ts +80 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +81 -0
- package/dist/types.js.map +1 -0
- package/dist/xgboost/xgboost.d.ts +504 -0
- package/dist/xgboost/xgboost.d.ts.map +1 -0
- package/dist/xgboost/xgboost.js +177 -0
- package/dist/xgboost/xgboost.js.map +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* MADS (Mesh Adaptive Direct Search) derivative-free optimization.
|
|
7
|
+
*
|
|
8
|
+
* Provides blackbox optimization using the NOMAD MADS algorithm via PyNomadBBO.
|
|
9
|
+
* MADS is designed for difficult optimization problems where:
|
|
10
|
+
* - Functions have no exploitable derivatives
|
|
11
|
+
* - Evaluations are computationally expensive
|
|
12
|
+
* - Functions may be contaminated by noise
|
|
13
|
+
* - Functions may fail for some feasible points
|
|
14
|
+
*
|
|
15
|
+
* @packageDocumentation
|
|
16
|
+
*/
|
|
17
|
+
import { StructType, VariantType, OptionType, ArrayType, IntegerType, BooleanType, FloatType } from "@elaraai/east";
|
|
18
|
+
export { VectorType, ScalarObjectiveType } from "../types.js";
|
|
19
|
+
/**
|
|
20
|
+
* MADS optimization bounds.
|
|
21
|
+
*
|
|
22
|
+
* Defines the lower and upper bounds for each dimension of the search space.
|
|
23
|
+
*/
|
|
24
|
+
export declare const MADSBoundsType: StructType<{
|
|
25
|
+
/** Lower bounds for each dimension */
|
|
26
|
+
lower: ArrayType<FloatType>;
|
|
27
|
+
/** Upper bounds for each dimension */
|
|
28
|
+
upper: ArrayType<FloatType>;
|
|
29
|
+
}>;
|
|
30
|
+
/**
|
|
31
|
+
* MADS constraint type.
|
|
32
|
+
*
|
|
33
|
+
* A variant where the tag indicates the constraint handling method:
|
|
34
|
+
* - `eb` (Extreme Barrier): Infeasible points are rejected entirely
|
|
35
|
+
* - `pb` (Progressive Barrier): Allows temporary constraint violations during search
|
|
36
|
+
*
|
|
37
|
+
* The value is the constraint function: g(x) <= 0 is feasible.
|
|
38
|
+
*/
|
|
39
|
+
export declare const MADSConstraintType: VariantType<{
|
|
40
|
+
/** Extreme barrier constraint - infeasible points rejected */
|
|
41
|
+
eb: import("@elaraai/east").FunctionType<[ArrayType<FloatType>], FloatType>;
|
|
42
|
+
/** Progressive barrier constraint - temporary violations allowed */
|
|
43
|
+
pb: import("@elaraai/east").FunctionType<[ArrayType<FloatType>], FloatType>;
|
|
44
|
+
}>;
|
|
45
|
+
/**
|
|
46
|
+
* MADS direction type for poll step.
|
|
47
|
+
*
|
|
48
|
+
* Controls how search directions are generated during the poll step.
|
|
49
|
+
*/
|
|
50
|
+
export declare const MADSDirectionType: VariantType<{
|
|
51
|
+
/** ORTHO 2N: 2n orthogonal directions (default) */
|
|
52
|
+
ortho_2n: StructType<{}>;
|
|
53
|
+
/** ORTHO N+1: n+1 directions forming a simplex */
|
|
54
|
+
ortho_n_plus_1: StructType<{}>;
|
|
55
|
+
/** LT 2N: Lower triangular with 2n directions */
|
|
56
|
+
lt_2n: StructType<{}>;
|
|
57
|
+
/** Single direction */
|
|
58
|
+
single: StructType<{}>;
|
|
59
|
+
}>;
|
|
60
|
+
/**
|
|
61
|
+
* MADS optimization configuration.
|
|
62
|
+
*
|
|
63
|
+
* Configures the MADS algorithm parameters.
|
|
64
|
+
*/
|
|
65
|
+
export declare const MADSConfigType: StructType<{
|
|
66
|
+
/** Maximum number of blackbox evaluations */
|
|
67
|
+
max_bb_eval: OptionType<IntegerType>;
|
|
68
|
+
/** Display verbosity level (0 = silent) */
|
|
69
|
+
display_degree: OptionType<IntegerType>;
|
|
70
|
+
/** Direction type for poll step */
|
|
71
|
+
direction_type: OptionType<VariantType<{
|
|
72
|
+
/** ORTHO 2N: 2n orthogonal directions (default) */
|
|
73
|
+
ortho_2n: StructType<{}>;
|
|
74
|
+
/** ORTHO N+1: n+1 directions forming a simplex */
|
|
75
|
+
ortho_n_plus_1: StructType<{}>;
|
|
76
|
+
/** LT 2N: Lower triangular with 2n directions */
|
|
77
|
+
lt_2n: StructType<{}>;
|
|
78
|
+
/** Single direction */
|
|
79
|
+
single: StructType<{}>;
|
|
80
|
+
}>>;
|
|
81
|
+
/** Initial mesh size */
|
|
82
|
+
initial_mesh_size: OptionType<FloatType>;
|
|
83
|
+
/** Minimum mesh size (stopping criterion) */
|
|
84
|
+
min_mesh_size: OptionType<FloatType>;
|
|
85
|
+
/** Random seed for reproducibility */
|
|
86
|
+
seed: OptionType<IntegerType>;
|
|
87
|
+
}>;
|
|
88
|
+
/**
|
|
89
|
+
* MADS single-objective optimization result.
|
|
90
|
+
*
|
|
91
|
+
* Contains the best solution found and optimization statistics.
|
|
92
|
+
*/
|
|
93
|
+
export declare const MADSResultType: StructType<{
|
|
94
|
+
/** Best solution vector found */
|
|
95
|
+
x_best: ArrayType<FloatType>;
|
|
96
|
+
/** Best objective value */
|
|
97
|
+
f_best: FloatType;
|
|
98
|
+
/** Number of blackbox evaluations performed */
|
|
99
|
+
bb_eval: IntegerType;
|
|
100
|
+
/** Whether optimization succeeded */
|
|
101
|
+
success: BooleanType;
|
|
102
|
+
}>;
|
|
103
|
+
/**
|
|
104
|
+
* Single-objective MADS optimization with optional constraints.
|
|
105
|
+
*
|
|
106
|
+
* Minimizes an objective function subject to bound constraints and optional
|
|
107
|
+
* nonlinear constraints using the MADS algorithm.
|
|
108
|
+
*
|
|
109
|
+
* @param objective - Objective function to minimize: x -> f(x)
|
|
110
|
+
* @param x0 - Initial starting point
|
|
111
|
+
* @param bounds - Lower and upper bounds for each dimension
|
|
112
|
+
* @param constraints - Optional array of constraint functions (g(x) <= 0 is feasible)
|
|
113
|
+
* @param config - Optimization configuration
|
|
114
|
+
* @returns Optimization result with best solution found
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```ts
|
|
118
|
+
* import { East, FloatType, variant } from "@elaraai/east";
|
|
119
|
+
* import { MADS } from "@elaraai/east-py-datascience";
|
|
120
|
+
*
|
|
121
|
+
* // Minimize sum of squares
|
|
122
|
+
* const objective = East.function([MADS.Types.VectorType], FloatType, ($, x) => {
|
|
123
|
+
* return x.reduce((acc, xi) => acc.add(xi.multiply(xi)), East.value(0.0));
|
|
124
|
+
* });
|
|
125
|
+
*
|
|
126
|
+
* const optimize = East.function([], MADS.Types.ResultType, $ => {
|
|
127
|
+
* const x0 = $.let([0.71, 0.51, 0.51]);
|
|
128
|
+
* const bounds = $.let({ lower: [-1.0, -1.0, -1.0], upper: [1.0, 1.0, 1.0] });
|
|
129
|
+
* const config = $.let({
|
|
130
|
+
* max_bb_eval: variant('some', 100n),
|
|
131
|
+
* display_degree: variant('some', 0n),
|
|
132
|
+
* direction_type: variant('none', null),
|
|
133
|
+
* initial_mesh_size: variant('none', null),
|
|
134
|
+
* min_mesh_size: variant('none', null),
|
|
135
|
+
* seed: variant('some', 42n),
|
|
136
|
+
* });
|
|
137
|
+
* return $.return(MADS.optimize(objective, x0, bounds, variant('none', null), config));
|
|
138
|
+
* });
|
|
139
|
+
*
|
|
140
|
+
* const compiled = await East.compileAsync(optimize.toIR(), MADS.Implementation);
|
|
141
|
+
* const result = await compiled();
|
|
142
|
+
* console.log(`Best: ${result.f_best}`);
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
export declare const mads_optimize: import("@elaraai/east").PlatformDefinition<[import("@elaraai/east").FunctionType<[ArrayType<FloatType>], FloatType>, ArrayType<FloatType>, StructType<{
|
|
146
|
+
/** Lower bounds for each dimension */
|
|
147
|
+
lower: ArrayType<FloatType>;
|
|
148
|
+
/** Upper bounds for each dimension */
|
|
149
|
+
upper: ArrayType<FloatType>;
|
|
150
|
+
}>, OptionType<ArrayType<VariantType<{
|
|
151
|
+
/** Extreme barrier constraint - infeasible points rejected */
|
|
152
|
+
eb: import("@elaraai/east").FunctionType<[ArrayType<FloatType>], FloatType>;
|
|
153
|
+
/** Progressive barrier constraint - temporary violations allowed */
|
|
154
|
+
pb: import("@elaraai/east").FunctionType<[ArrayType<FloatType>], FloatType>;
|
|
155
|
+
}>>>, StructType<{
|
|
156
|
+
/** Maximum number of blackbox evaluations */
|
|
157
|
+
max_bb_eval: OptionType<IntegerType>;
|
|
158
|
+
/** Display verbosity level (0 = silent) */
|
|
159
|
+
display_degree: OptionType<IntegerType>;
|
|
160
|
+
/** Direction type for poll step */
|
|
161
|
+
direction_type: OptionType<VariantType<{
|
|
162
|
+
/** ORTHO 2N: 2n orthogonal directions (default) */
|
|
163
|
+
ortho_2n: StructType<{}>;
|
|
164
|
+
/** ORTHO N+1: n+1 directions forming a simplex */
|
|
165
|
+
ortho_n_plus_1: StructType<{}>;
|
|
166
|
+
/** LT 2N: Lower triangular with 2n directions */
|
|
167
|
+
lt_2n: StructType<{}>;
|
|
168
|
+
/** Single direction */
|
|
169
|
+
single: StructType<{}>;
|
|
170
|
+
}>>;
|
|
171
|
+
/** Initial mesh size */
|
|
172
|
+
initial_mesh_size: OptionType<FloatType>;
|
|
173
|
+
/** Minimum mesh size (stopping criterion) */
|
|
174
|
+
min_mesh_size: OptionType<FloatType>;
|
|
175
|
+
/** Random seed for reproducibility */
|
|
176
|
+
seed: OptionType<IntegerType>;
|
|
177
|
+
}>], StructType<{
|
|
178
|
+
/** Best solution vector found */
|
|
179
|
+
x_best: ArrayType<FloatType>;
|
|
180
|
+
/** Best objective value */
|
|
181
|
+
f_best: FloatType;
|
|
182
|
+
/** Number of blackbox evaluations performed */
|
|
183
|
+
bb_eval: IntegerType;
|
|
184
|
+
/** Whether optimization succeeded */
|
|
185
|
+
success: BooleanType;
|
|
186
|
+
}>>;
|
|
187
|
+
/**
|
|
188
|
+
* Type definitions for MADS optimization.
|
|
189
|
+
*/
|
|
190
|
+
export declare const MADSTypes: {
|
|
191
|
+
/** Vector type (array of floats) */
|
|
192
|
+
readonly VectorType: ArrayType<FloatType>;
|
|
193
|
+
/** Scalar objective function type */
|
|
194
|
+
readonly ScalarObjectiveType: import("@elaraai/east").FunctionType<[ArrayType<FloatType>], FloatType>;
|
|
195
|
+
/** Bounds type with lower and upper vectors */
|
|
196
|
+
readonly BoundsType: StructType<{
|
|
197
|
+
/** Lower bounds for each dimension */
|
|
198
|
+
lower: ArrayType<FloatType>;
|
|
199
|
+
/** Upper bounds for each dimension */
|
|
200
|
+
upper: ArrayType<FloatType>;
|
|
201
|
+
}>;
|
|
202
|
+
/** Constraint type (eb or pb variant) */
|
|
203
|
+
readonly ConstraintType: VariantType<{
|
|
204
|
+
/** Extreme barrier constraint - infeasible points rejected */
|
|
205
|
+
eb: import("@elaraai/east").FunctionType<[ArrayType<FloatType>], FloatType>;
|
|
206
|
+
/** Progressive barrier constraint - temporary violations allowed */
|
|
207
|
+
pb: import("@elaraai/east").FunctionType<[ArrayType<FloatType>], FloatType>;
|
|
208
|
+
}>;
|
|
209
|
+
/** Direction type for poll step */
|
|
210
|
+
readonly DirectionType: VariantType<{
|
|
211
|
+
/** ORTHO 2N: 2n orthogonal directions (default) */
|
|
212
|
+
ortho_2n: StructType<{}>;
|
|
213
|
+
/** ORTHO N+1: n+1 directions forming a simplex */
|
|
214
|
+
ortho_n_plus_1: StructType<{}>;
|
|
215
|
+
/** LT 2N: Lower triangular with 2n directions */
|
|
216
|
+
lt_2n: StructType<{}>;
|
|
217
|
+
/** Single direction */
|
|
218
|
+
single: StructType<{}>;
|
|
219
|
+
}>;
|
|
220
|
+
/** Configuration type */
|
|
221
|
+
readonly ConfigType: StructType<{
|
|
222
|
+
/** Maximum number of blackbox evaluations */
|
|
223
|
+
max_bb_eval: OptionType<IntegerType>;
|
|
224
|
+
/** Display verbosity level (0 = silent) */
|
|
225
|
+
display_degree: OptionType<IntegerType>;
|
|
226
|
+
/** Direction type for poll step */
|
|
227
|
+
direction_type: OptionType<VariantType<{
|
|
228
|
+
/** ORTHO 2N: 2n orthogonal directions (default) */
|
|
229
|
+
ortho_2n: StructType<{}>;
|
|
230
|
+
/** ORTHO N+1: n+1 directions forming a simplex */
|
|
231
|
+
ortho_n_plus_1: StructType<{}>;
|
|
232
|
+
/** LT 2N: Lower triangular with 2n directions */
|
|
233
|
+
lt_2n: StructType<{}>;
|
|
234
|
+
/** Single direction */
|
|
235
|
+
single: StructType<{}>;
|
|
236
|
+
}>>;
|
|
237
|
+
/** Initial mesh size */
|
|
238
|
+
initial_mesh_size: OptionType<FloatType>;
|
|
239
|
+
/** Minimum mesh size (stopping criterion) */
|
|
240
|
+
min_mesh_size: OptionType<FloatType>;
|
|
241
|
+
/** Random seed for reproducibility */
|
|
242
|
+
seed: OptionType<IntegerType>;
|
|
243
|
+
}>;
|
|
244
|
+
/** Single-objective result type */
|
|
245
|
+
readonly ResultType: StructType<{
|
|
246
|
+
/** Best solution vector found */
|
|
247
|
+
x_best: ArrayType<FloatType>;
|
|
248
|
+
/** Best objective value */
|
|
249
|
+
f_best: FloatType;
|
|
250
|
+
/** Number of blackbox evaluations performed */
|
|
251
|
+
bb_eval: IntegerType;
|
|
252
|
+
/** Whether optimization succeeded */
|
|
253
|
+
success: BooleanType;
|
|
254
|
+
}>;
|
|
255
|
+
};
|
|
256
|
+
/**
|
|
257
|
+
* MADS derivative-free blackbox optimization.
|
|
258
|
+
*
|
|
259
|
+
* Provides optimization algorithms for expensive blackbox functions
|
|
260
|
+
* where gradient information is unavailable using the NOMAD MADS algorithm.
|
|
261
|
+
*
|
|
262
|
+
* MADS is particularly effective for:
|
|
263
|
+
* - Expensive blackbox functions (simulations, experiments)
|
|
264
|
+
* - Functions with no exploitable derivatives
|
|
265
|
+
* - Noisy or stochastic functions
|
|
266
|
+
* - Functions that may fail for some inputs
|
|
267
|
+
*
|
|
268
|
+
* @example
|
|
269
|
+
* ```ts
|
|
270
|
+
* import { East, FloatType, variant } from "@elaraai/east";
|
|
271
|
+
* import { MADS } from "@elaraai/east-py-datascience";
|
|
272
|
+
*
|
|
273
|
+
* const objective = East.function([MADS.Types.VectorType], FloatType, ($, x) => {
|
|
274
|
+
* return x.reduce((acc, xi) => acc.add(xi.multiply(xi)), East.value(0.0));
|
|
275
|
+
* });
|
|
276
|
+
*
|
|
277
|
+
* const optimize = East.function([], MADS.Types.ResultType, $ => {
|
|
278
|
+
* const x0 = $.let([0.5, 0.5]);
|
|
279
|
+
* const bounds = $.let({ lower: [-1.0, -1.0], upper: [1.0, 1.0] });
|
|
280
|
+
* const config = $.let({
|
|
281
|
+
* max_bb_eval: variant('some', 100n),
|
|
282
|
+
* display_degree: variant('some', 0n),
|
|
283
|
+
* direction_type: variant('none', null),
|
|
284
|
+
* initial_mesh_size: variant('none', null),
|
|
285
|
+
* min_mesh_size: variant('none', null),
|
|
286
|
+
* seed: variant('some', 42n),
|
|
287
|
+
* });
|
|
288
|
+
* return $.return(MADS.optimize(objective, x0, bounds, variant('none', null), config));
|
|
289
|
+
* });
|
|
290
|
+
*
|
|
291
|
+
* const compiled = await East.compileAsync(optimize.toIR(), MADS.Implementation);
|
|
292
|
+
* const result = await compiled();
|
|
293
|
+
* ```
|
|
294
|
+
*/
|
|
295
|
+
export declare const MADS: {
|
|
296
|
+
/**
|
|
297
|
+
* Single-objective optimization with optional constraints.
|
|
298
|
+
*
|
|
299
|
+
* Minimizes an objective function subject to bound and nonlinear constraints.
|
|
300
|
+
*/
|
|
301
|
+
readonly optimize: import("@elaraai/east").PlatformDefinition<[import("@elaraai/east").FunctionType<[ArrayType<FloatType>], FloatType>, ArrayType<FloatType>, StructType<{
|
|
302
|
+
/** Lower bounds for each dimension */
|
|
303
|
+
lower: ArrayType<FloatType>;
|
|
304
|
+
/** Upper bounds for each dimension */
|
|
305
|
+
upper: ArrayType<FloatType>;
|
|
306
|
+
}>, OptionType<ArrayType<VariantType<{
|
|
307
|
+
/** Extreme barrier constraint - infeasible points rejected */
|
|
308
|
+
eb: import("@elaraai/east").FunctionType<[ArrayType<FloatType>], FloatType>;
|
|
309
|
+
/** Progressive barrier constraint - temporary violations allowed */
|
|
310
|
+
pb: import("@elaraai/east").FunctionType<[ArrayType<FloatType>], FloatType>;
|
|
311
|
+
}>>>, StructType<{
|
|
312
|
+
/** Maximum number of blackbox evaluations */
|
|
313
|
+
max_bb_eval: OptionType<IntegerType>;
|
|
314
|
+
/** Display verbosity level (0 = silent) */
|
|
315
|
+
display_degree: OptionType<IntegerType>;
|
|
316
|
+
/** Direction type for poll step */
|
|
317
|
+
direction_type: OptionType<VariantType<{
|
|
318
|
+
/** ORTHO 2N: 2n orthogonal directions (default) */
|
|
319
|
+
ortho_2n: StructType<{}>;
|
|
320
|
+
/** ORTHO N+1: n+1 directions forming a simplex */
|
|
321
|
+
ortho_n_plus_1: StructType<{}>;
|
|
322
|
+
/** LT 2N: Lower triangular with 2n directions */
|
|
323
|
+
lt_2n: StructType<{}>;
|
|
324
|
+
/** Single direction */
|
|
325
|
+
single: StructType<{}>;
|
|
326
|
+
}>>;
|
|
327
|
+
/** Initial mesh size */
|
|
328
|
+
initial_mesh_size: OptionType<FloatType>;
|
|
329
|
+
/** Minimum mesh size (stopping criterion) */
|
|
330
|
+
min_mesh_size: OptionType<FloatType>;
|
|
331
|
+
/** Random seed for reproducibility */
|
|
332
|
+
seed: OptionType<IntegerType>;
|
|
333
|
+
}>], StructType<{
|
|
334
|
+
/** Best solution vector found */
|
|
335
|
+
x_best: ArrayType<FloatType>;
|
|
336
|
+
/** Best objective value */
|
|
337
|
+
f_best: FloatType;
|
|
338
|
+
/** Number of blackbox evaluations performed */
|
|
339
|
+
bb_eval: IntegerType;
|
|
340
|
+
/** Whether optimization succeeded */
|
|
341
|
+
success: BooleanType;
|
|
342
|
+
}>>;
|
|
343
|
+
/**
|
|
344
|
+
* Type definitions for MADS functions.
|
|
345
|
+
*/
|
|
346
|
+
readonly Types: {
|
|
347
|
+
/** Vector type (array of floats) */
|
|
348
|
+
readonly VectorType: ArrayType<FloatType>;
|
|
349
|
+
/** Scalar objective function type */
|
|
350
|
+
readonly ScalarObjectiveType: import("@elaraai/east").FunctionType<[ArrayType<FloatType>], FloatType>;
|
|
351
|
+
/** Bounds type with lower and upper vectors */
|
|
352
|
+
readonly BoundsType: StructType<{
|
|
353
|
+
/** Lower bounds for each dimension */
|
|
354
|
+
lower: ArrayType<FloatType>;
|
|
355
|
+
/** Upper bounds for each dimension */
|
|
356
|
+
upper: ArrayType<FloatType>;
|
|
357
|
+
}>;
|
|
358
|
+
/** Constraint type (eb or pb variant) */
|
|
359
|
+
readonly ConstraintType: VariantType<{
|
|
360
|
+
/** Extreme barrier constraint - infeasible points rejected */
|
|
361
|
+
eb: import("@elaraai/east").FunctionType<[ArrayType<FloatType>], FloatType>;
|
|
362
|
+
/** Progressive barrier constraint - temporary violations allowed */
|
|
363
|
+
pb: import("@elaraai/east").FunctionType<[ArrayType<FloatType>], FloatType>;
|
|
364
|
+
}>;
|
|
365
|
+
/** Direction type for poll step */
|
|
366
|
+
readonly DirectionType: VariantType<{
|
|
367
|
+
/** ORTHO 2N: 2n orthogonal directions (default) */
|
|
368
|
+
ortho_2n: StructType<{}>;
|
|
369
|
+
/** ORTHO N+1: n+1 directions forming a simplex */
|
|
370
|
+
ortho_n_plus_1: StructType<{}>;
|
|
371
|
+
/** LT 2N: Lower triangular with 2n directions */
|
|
372
|
+
lt_2n: StructType<{}>;
|
|
373
|
+
/** Single direction */
|
|
374
|
+
single: StructType<{}>;
|
|
375
|
+
}>;
|
|
376
|
+
/** Configuration type */
|
|
377
|
+
readonly ConfigType: StructType<{
|
|
378
|
+
/** Maximum number of blackbox evaluations */
|
|
379
|
+
max_bb_eval: OptionType<IntegerType>;
|
|
380
|
+
/** Display verbosity level (0 = silent) */
|
|
381
|
+
display_degree: OptionType<IntegerType>;
|
|
382
|
+
/** Direction type for poll step */
|
|
383
|
+
direction_type: OptionType<VariantType<{
|
|
384
|
+
/** ORTHO 2N: 2n orthogonal directions (default) */
|
|
385
|
+
ortho_2n: StructType<{}>;
|
|
386
|
+
/** ORTHO N+1: n+1 directions forming a simplex */
|
|
387
|
+
ortho_n_plus_1: StructType<{}>;
|
|
388
|
+
/** LT 2N: Lower triangular with 2n directions */
|
|
389
|
+
lt_2n: StructType<{}>;
|
|
390
|
+
/** Single direction */
|
|
391
|
+
single: StructType<{}>;
|
|
392
|
+
}>>;
|
|
393
|
+
/** Initial mesh size */
|
|
394
|
+
initial_mesh_size: OptionType<FloatType>;
|
|
395
|
+
/** Minimum mesh size (stopping criterion) */
|
|
396
|
+
min_mesh_size: OptionType<FloatType>;
|
|
397
|
+
/** Random seed for reproducibility */
|
|
398
|
+
seed: OptionType<IntegerType>;
|
|
399
|
+
}>;
|
|
400
|
+
/** Single-objective result type */
|
|
401
|
+
readonly ResultType: StructType<{
|
|
402
|
+
/** Best solution vector found */
|
|
403
|
+
x_best: ArrayType<FloatType>;
|
|
404
|
+
/** Best objective value */
|
|
405
|
+
f_best: FloatType;
|
|
406
|
+
/** Number of blackbox evaluations performed */
|
|
407
|
+
bb_eval: IntegerType;
|
|
408
|
+
/** Whether optimization succeeded */
|
|
409
|
+
success: BooleanType;
|
|
410
|
+
}>;
|
|
411
|
+
};
|
|
412
|
+
};
|
|
413
|
+
//# sourceMappingURL=mads.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mads.d.ts","sourceRoot":"","sources":["../../src/mads/mads.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* MADS (Mesh Adaptive Direct Search) derivative-free optimization.
|
|
7
|
+
*
|
|
8
|
+
* Provides blackbox optimization using the NOMAD MADS algorithm via PyNomadBBO.
|
|
9
|
+
* MADS is designed for difficult optimization problems where:
|
|
10
|
+
* - Functions have no exploitable derivatives
|
|
11
|
+
* - Evaluations are computationally expensive
|
|
12
|
+
* - Functions may be contaminated by noise
|
|
13
|
+
* - Functions may fail for some feasible points
|
|
14
|
+
*
|
|
15
|
+
* @packageDocumentation
|
|
16
|
+
*/
|
|
17
|
+
import { East, StructType, VariantType, OptionType, ArrayType, IntegerType, BooleanType, FloatType, } from "@elaraai/east";
|
|
18
|
+
import { VectorType, ScalarObjectiveType } from "../types.js";
|
|
19
|
+
// Re-export shared types for convenience
|
|
20
|
+
export { VectorType, ScalarObjectiveType } from "../types.js";
|
|
21
|
+
/**
|
|
22
|
+
* MADS optimization bounds.
|
|
23
|
+
*
|
|
24
|
+
* Defines the lower and upper bounds for each dimension of the search space.
|
|
25
|
+
*/
|
|
26
|
+
export const MADSBoundsType = StructType({
|
|
27
|
+
/** Lower bounds for each dimension */
|
|
28
|
+
lower: VectorType,
|
|
29
|
+
/** Upper bounds for each dimension */
|
|
30
|
+
upper: VectorType,
|
|
31
|
+
});
|
|
32
|
+
/**
|
|
33
|
+
* MADS constraint type.
|
|
34
|
+
*
|
|
35
|
+
* A variant where the tag indicates the constraint handling method:
|
|
36
|
+
* - `eb` (Extreme Barrier): Infeasible points are rejected entirely
|
|
37
|
+
* - `pb` (Progressive Barrier): Allows temporary constraint violations during search
|
|
38
|
+
*
|
|
39
|
+
* The value is the constraint function: g(x) <= 0 is feasible.
|
|
40
|
+
*/
|
|
41
|
+
export const MADSConstraintType = VariantType({
|
|
42
|
+
/** Extreme barrier constraint - infeasible points rejected */
|
|
43
|
+
eb: ScalarObjectiveType,
|
|
44
|
+
/** Progressive barrier constraint - temporary violations allowed */
|
|
45
|
+
pb: ScalarObjectiveType,
|
|
46
|
+
});
|
|
47
|
+
/**
|
|
48
|
+
* MADS direction type for poll step.
|
|
49
|
+
*
|
|
50
|
+
* Controls how search directions are generated during the poll step.
|
|
51
|
+
*/
|
|
52
|
+
export const MADSDirectionType = VariantType({
|
|
53
|
+
/** ORTHO 2N: 2n orthogonal directions (default) */
|
|
54
|
+
ortho_2n: StructType({}),
|
|
55
|
+
/** ORTHO N+1: n+1 directions forming a simplex */
|
|
56
|
+
ortho_n_plus_1: StructType({}),
|
|
57
|
+
/** LT 2N: Lower triangular with 2n directions */
|
|
58
|
+
lt_2n: StructType({}),
|
|
59
|
+
/** Single direction */
|
|
60
|
+
single: StructType({}),
|
|
61
|
+
});
|
|
62
|
+
/**
|
|
63
|
+
* MADS optimization configuration.
|
|
64
|
+
*
|
|
65
|
+
* Configures the MADS algorithm parameters.
|
|
66
|
+
*/
|
|
67
|
+
export const MADSConfigType = StructType({
|
|
68
|
+
/** Maximum number of blackbox evaluations */
|
|
69
|
+
max_bb_eval: OptionType(IntegerType),
|
|
70
|
+
/** Display verbosity level (0 = silent) */
|
|
71
|
+
display_degree: OptionType(IntegerType),
|
|
72
|
+
/** Direction type for poll step */
|
|
73
|
+
direction_type: OptionType(MADSDirectionType),
|
|
74
|
+
/** Initial mesh size */
|
|
75
|
+
initial_mesh_size: OptionType(FloatType),
|
|
76
|
+
/** Minimum mesh size (stopping criterion) */
|
|
77
|
+
min_mesh_size: OptionType(FloatType),
|
|
78
|
+
/** Random seed for reproducibility */
|
|
79
|
+
seed: OptionType(IntegerType),
|
|
80
|
+
});
|
|
81
|
+
/**
|
|
82
|
+
* MADS single-objective optimization result.
|
|
83
|
+
*
|
|
84
|
+
* Contains the best solution found and optimization statistics.
|
|
85
|
+
*/
|
|
86
|
+
export const MADSResultType = StructType({
|
|
87
|
+
/** Best solution vector found */
|
|
88
|
+
x_best: VectorType,
|
|
89
|
+
/** Best objective value */
|
|
90
|
+
f_best: FloatType,
|
|
91
|
+
/** Number of blackbox evaluations performed */
|
|
92
|
+
bb_eval: IntegerType,
|
|
93
|
+
/** Whether optimization succeeded */
|
|
94
|
+
success: BooleanType,
|
|
95
|
+
});
|
|
96
|
+
// ============================================================================
|
|
97
|
+
// Platform Functions
|
|
98
|
+
// ============================================================================
|
|
99
|
+
/**
|
|
100
|
+
* Single-objective MADS optimization with optional constraints.
|
|
101
|
+
*
|
|
102
|
+
* Minimizes an objective function subject to bound constraints and optional
|
|
103
|
+
* nonlinear constraints using the MADS algorithm.
|
|
104
|
+
*
|
|
105
|
+
* @param objective - Objective function to minimize: x -> f(x)
|
|
106
|
+
* @param x0 - Initial starting point
|
|
107
|
+
* @param bounds - Lower and upper bounds for each dimension
|
|
108
|
+
* @param constraints - Optional array of constraint functions (g(x) <= 0 is feasible)
|
|
109
|
+
* @param config - Optimization configuration
|
|
110
|
+
* @returns Optimization result with best solution found
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```ts
|
|
114
|
+
* import { East, FloatType, variant } from "@elaraai/east";
|
|
115
|
+
* import { MADS } from "@elaraai/east-py-datascience";
|
|
116
|
+
*
|
|
117
|
+
* // Minimize sum of squares
|
|
118
|
+
* const objective = East.function([MADS.Types.VectorType], FloatType, ($, x) => {
|
|
119
|
+
* return x.reduce((acc, xi) => acc.add(xi.multiply(xi)), East.value(0.0));
|
|
120
|
+
* });
|
|
121
|
+
*
|
|
122
|
+
* const optimize = East.function([], MADS.Types.ResultType, $ => {
|
|
123
|
+
* const x0 = $.let([0.71, 0.51, 0.51]);
|
|
124
|
+
* const bounds = $.let({ lower: [-1.0, -1.0, -1.0], upper: [1.0, 1.0, 1.0] });
|
|
125
|
+
* const config = $.let({
|
|
126
|
+
* max_bb_eval: variant('some', 100n),
|
|
127
|
+
* display_degree: variant('some', 0n),
|
|
128
|
+
* direction_type: variant('none', null),
|
|
129
|
+
* initial_mesh_size: variant('none', null),
|
|
130
|
+
* min_mesh_size: variant('none', null),
|
|
131
|
+
* seed: variant('some', 42n),
|
|
132
|
+
* });
|
|
133
|
+
* return $.return(MADS.optimize(objective, x0, bounds, variant('none', null), config));
|
|
134
|
+
* });
|
|
135
|
+
*
|
|
136
|
+
* const compiled = await East.compileAsync(optimize.toIR(), MADS.Implementation);
|
|
137
|
+
* const result = await compiled();
|
|
138
|
+
* console.log(`Best: ${result.f_best}`);
|
|
139
|
+
* ```
|
|
140
|
+
*/
|
|
141
|
+
export const mads_optimize = East.platform("mads_optimize", [
|
|
142
|
+
ScalarObjectiveType,
|
|
143
|
+
VectorType,
|
|
144
|
+
MADSBoundsType,
|
|
145
|
+
OptionType(ArrayType(MADSConstraintType)),
|
|
146
|
+
MADSConfigType,
|
|
147
|
+
], MADSResultType);
|
|
148
|
+
// ============================================================================
|
|
149
|
+
// Grouped Export
|
|
150
|
+
// ============================================================================
|
|
151
|
+
/**
|
|
152
|
+
* Type definitions for MADS optimization.
|
|
153
|
+
*/
|
|
154
|
+
export const MADSTypes = {
|
|
155
|
+
/** Vector type (array of floats) */
|
|
156
|
+
VectorType,
|
|
157
|
+
/** Scalar objective function type */
|
|
158
|
+
ScalarObjectiveType,
|
|
159
|
+
/** Bounds type with lower and upper vectors */
|
|
160
|
+
BoundsType: MADSBoundsType,
|
|
161
|
+
/** Constraint type (eb or pb variant) */
|
|
162
|
+
ConstraintType: MADSConstraintType,
|
|
163
|
+
/** Direction type for poll step */
|
|
164
|
+
DirectionType: MADSDirectionType,
|
|
165
|
+
/** Configuration type */
|
|
166
|
+
ConfigType: MADSConfigType,
|
|
167
|
+
/** Single-objective result type */
|
|
168
|
+
ResultType: MADSResultType,
|
|
169
|
+
};
|
|
170
|
+
/**
|
|
171
|
+
* MADS derivative-free blackbox optimization.
|
|
172
|
+
*
|
|
173
|
+
* Provides optimization algorithms for expensive blackbox functions
|
|
174
|
+
* where gradient information is unavailable using the NOMAD MADS algorithm.
|
|
175
|
+
*
|
|
176
|
+
* MADS is particularly effective for:
|
|
177
|
+
* - Expensive blackbox functions (simulations, experiments)
|
|
178
|
+
* - Functions with no exploitable derivatives
|
|
179
|
+
* - Noisy or stochastic functions
|
|
180
|
+
* - Functions that may fail for some inputs
|
|
181
|
+
*
|
|
182
|
+
* @example
|
|
183
|
+
* ```ts
|
|
184
|
+
* import { East, FloatType, variant } from "@elaraai/east";
|
|
185
|
+
* import { MADS } from "@elaraai/east-py-datascience";
|
|
186
|
+
*
|
|
187
|
+
* const objective = East.function([MADS.Types.VectorType], FloatType, ($, x) => {
|
|
188
|
+
* return x.reduce((acc, xi) => acc.add(xi.multiply(xi)), East.value(0.0));
|
|
189
|
+
* });
|
|
190
|
+
*
|
|
191
|
+
* const optimize = East.function([], MADS.Types.ResultType, $ => {
|
|
192
|
+
* const x0 = $.let([0.5, 0.5]);
|
|
193
|
+
* const bounds = $.let({ lower: [-1.0, -1.0], upper: [1.0, 1.0] });
|
|
194
|
+
* const config = $.let({
|
|
195
|
+
* max_bb_eval: variant('some', 100n),
|
|
196
|
+
* display_degree: variant('some', 0n),
|
|
197
|
+
* direction_type: variant('none', null),
|
|
198
|
+
* initial_mesh_size: variant('none', null),
|
|
199
|
+
* min_mesh_size: variant('none', null),
|
|
200
|
+
* seed: variant('some', 42n),
|
|
201
|
+
* });
|
|
202
|
+
* return $.return(MADS.optimize(objective, x0, bounds, variant('none', null), config));
|
|
203
|
+
* });
|
|
204
|
+
*
|
|
205
|
+
* const compiled = await East.compileAsync(optimize.toIR(), MADS.Implementation);
|
|
206
|
+
* const result = await compiled();
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
export const MADS = {
|
|
210
|
+
/**
|
|
211
|
+
* Single-objective optimization with optional constraints.
|
|
212
|
+
*
|
|
213
|
+
* Minimizes an objective function subject to bound and nonlinear constraints.
|
|
214
|
+
*/
|
|
215
|
+
optimize: mads_optimize,
|
|
216
|
+
/**
|
|
217
|
+
* Type definitions for MADS functions.
|
|
218
|
+
*/
|
|
219
|
+
Types: MADSTypes,
|
|
220
|
+
};
|
|
221
|
+
//# sourceMappingURL=mads.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mads.js","sourceRoot":"","sources":["../../src/mads/mads.ts"],"names":[],"mappings":"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"}
|