@elaraai/east-py-datascience 0.0.2-beta.68 → 0.0.2-beta.69
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/README.md +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/optimization/optimization.d.ts +143 -28
- package/dist/optimization/optimization.d.ts.map +1 -1
- package/dist/optimization/optimization.js +112 -28
- package/dist/optimization/optimization.js.map +1 -1
- package/dist/sklearn/sklearn.d.ts +2746 -1464
- package/dist/sklearn/sklearn.d.ts.map +1 -1
- package/dist/sklearn/sklearn.js +125 -0
- package/dist/sklearn/sklearn.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -42,7 +42,7 @@ When using a git dependency in `pyproject.toml`:
|
|
|
42
42
|
| **Scipy** | `scipy` | scipy, cloudpickle |
|
|
43
43
|
| **Optimization** | *(none)* | *(core only — numpy)* |
|
|
44
44
|
| **GoogleOr** | `google-or` | ortools |
|
|
45
|
-
| **Sklearn** | `sklearn` | scikit-learn, skl2onnx, onnxruntime |
|
|
45
|
+
| **Sklearn** | `sklearn` | scikit-learn, skl2onnx, onnxruntime, cloudpickle |
|
|
46
46
|
| **XGBoost** | `xgboost` | xgboost, cloudpickle |
|
|
47
47
|
| **LightGBM** | `lightgbm` | lightgbm, cloudpickle |
|
|
48
48
|
| **NGBoost** | `ngboost` | ngboost, cloudpickle |
|
|
@@ -103,7 +103,7 @@ const optimize = East.function([], MADS.Types.ResultType, $ => {
|
|
|
103
103
|
|
|
104
104
|
| Module | Description | Use Cases |
|
|
105
105
|
|--------|-------------|-----------|
|
|
106
|
-
| **Sklearn** | Core ML utilities from scikit-learn | Train/test split, preprocessing (StandardScaler, MinMaxScaler), metrics, multi-target regression |
|
|
106
|
+
| **Sklearn** | Core ML utilities from scikit-learn | Train/test split, preprocessing (StandardScaler, MinMaxScaler), metrics, multi-target regression, Gaussian Mixture Models |
|
|
107
107
|
| **XGBoost** | Gradient boosting with XGBoost | Regression, classification, feature importance, fast training |
|
|
108
108
|
| **LightGBM** | Fast gradient boosting with leaf-wise growth | Large datasets, high cardinality features, faster than XGBoost on big data |
|
|
109
109
|
| **NGBoost** | Natural gradient boosting with uncertainty | Probabilistic predictions, confidence intervals, uncertainty quantification |
|
package/dist/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
export { MADS, mads_optimize, MADSTypes, VectorType, ScalarObjectiveType, MADSBoundsType, MADSConstraintType, MADSDirectionType, MADSConfigType, MADSResultType, } from "./mads/mads.js";
|
|
16
16
|
export { Optuna, optuna_optimize, OptunaTypes, ParamValueType, ParamSpaceKindType, ParamSpaceType, NamedParamType, OptimizationDirectionType, PrunerType, OptunaStudyConfigType, TrialResultType, StudyResultType, ObjectiveFunctionType, } from "./optuna/optuna.js";
|
|
17
17
|
export { SimAnneal, simanneal_optimize, simanneal_optimize_permutation, simanneal_optimize_subset, SimAnnealTypes, DiscreteStateType, EnergyFunctionType, MoveFunctionType, PermutationEnergyType, SubsetEnergyType, AnnealConfigType, AnnealResultType, } from "./simanneal/simanneal.js";
|
|
18
|
-
export { Sklearn, sklearn_split, sklearn_overlap, OverlapConfigType, OverlapResultType, sklearn_standard_scaler_fit, sklearn_standard_scaler_transform, sklearn_min_max_scaler_fit, sklearn_min_max_scaler_transform, sklearn_compute_metrics, sklearn_compute_metrics_multi, sklearn_compute_classification_metrics, sklearn_compute_classification_metrics_multi, sklearn_regressor_chain_train, sklearn_regressor_chain_predict, SklearnTypes, SplitConfigType, SplitResultType, SklearnModelBlobType, RegressorChainBaseConfigType, RegressorChainConfigType, RegressionMetricType, MetricResultType, MetricsResultType, MetricAggregationType, MultiMetricsConfigType, MultiMetricResultType, MultiMetricsResultType, ClassificationMetricType, ClassificationAverageType, ClassificationMetricsConfigType, ClassificationMetricResultType, ClassificationMetricResultsType, MultiClassificationConfigType, MultiClassificationMetricResultType, MultiClassificationMetricResultsType, } from "./sklearn/sklearn.js";
|
|
18
|
+
export { Sklearn, sklearn_split, sklearn_overlap, OverlapConfigType, OverlapResultType, sklearn_standard_scaler_fit, sklearn_standard_scaler_transform, sklearn_min_max_scaler_fit, sklearn_min_max_scaler_transform, sklearn_compute_metrics, sklearn_compute_metrics_multi, sklearn_compute_classification_metrics, sklearn_compute_classification_metrics_multi, sklearn_regressor_chain_train, sklearn_regressor_chain_predict, sklearn_gmm_fit, sklearn_gmm_predict, sklearn_gmm_predict_proba, sklearn_gmm_score_samples, sklearn_gmm_sample, sklearn_gmm_bic, sklearn_gmm_aic, GMMCovarianceType, GMMConfigType, SklearnTypes, SplitConfigType, SplitResultType, SklearnModelBlobType, RegressorChainBaseConfigType, RegressorChainConfigType, RegressionMetricType, MetricResultType, MetricsResultType, MetricAggregationType, MultiMetricsConfigType, MultiMetricResultType, MultiMetricsResultType, ClassificationMetricType, ClassificationAverageType, ClassificationMetricsConfigType, ClassificationMetricResultType, ClassificationMetricResultsType, MultiClassificationConfigType, MultiClassificationMetricResultType, MultiClassificationMetricResultsType, } from "./sklearn/sklearn.js";
|
|
19
19
|
export { Scipy, scipy_curve_fit, scipy_stats_describe, scipy_stats_pearsonr, scipy_stats_spearmanr, scipy_interpolate_1d_fit, scipy_interpolate_1d_predict, scipy_optimize_minimize, scipy_optimize_minimize_quadratic, ScipyTypes, OptimizeMethodType, InterpolationKindType, OptimizeConfigType, InterpolateConfigType, ParamBoundsType, CustomCurveFunctionType, CurveFunctionType, CurveFitConfigType, QuadraticConfigType, StatsDescribeResultType, CorrelationResultType, CurveFitResultType, OptimizeResultType, ScipyModelBlobType, } from "./scipy/scipy.js";
|
|
20
20
|
export { XGBoost, xgboost_train_regressor, xgboost_train_classifier, xgboost_train_quantile, xgboost_predict, xgboost_predict_class, xgboost_predict_proba, xgboost_predict_quantile, XGBoostTypes, XGBoostConfigType, XGBoostQuantileConfigType, XGBoostQuantilePredictResultType, XGBoostModelBlobType, } from "./xgboost/xgboost.js";
|
|
21
21
|
export { LightGBM, lightgbm_train_regressor, lightgbm_train_classifier, lightgbm_predict, lightgbm_predict_class, lightgbm_predict_proba, LightGBMTypes, LightGBMConfigType, LightGBMModelBlobType, } from "./lightgbm/lightgbm.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;GASG;AAGH,OAAO,EACH,IAAI,EACJ,aAAa,EACb,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,cAAc,GACjB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACH,MAAM,EACN,eAAe,EACf,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,yBAAyB,EACzB,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,qBAAqB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACH,SAAS,EACT,kBAAkB,EAClB,8BAA8B,EAC9B,yBAAyB,EACzB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACH,OAAO,EACP,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,iCAAiC,EACjC,0BAA0B,EAC1B,gCAAgC,EAChC,uBAAuB,EACvB,6BAA6B,EAC7B,sCAAsC,EACtC,4CAA4C,EAC5C,6BAA6B,EAC7B,+BAA+B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;GASG;AAGH,OAAO,EACH,IAAI,EACJ,aAAa,EACb,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,cAAc,GACjB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACH,MAAM,EACN,eAAe,EACf,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,yBAAyB,EACzB,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,qBAAqB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACH,SAAS,EACT,kBAAkB,EAClB,8BAA8B,EAC9B,yBAAyB,EACzB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACH,OAAO,EACP,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,iCAAiC,EACjC,0BAA0B,EAC1B,gCAAgC,EAChC,uBAAuB,EACvB,6BAA6B,EAC7B,sCAAsC,EACtC,4CAA4C,EAC5C,6BAA6B,EAC7B,+BAA+B,EAE/B,eAAe,EACf,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,4BAA4B,EAC5B,wBAAwB,EAExB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,6BAA6B,EAC7B,mCAAmC,EACnC,oCAAoC,GACvC,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACH,KAAK,EACL,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,EACvB,iCAAiC,EACjC,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACH,OAAO,EACP,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,YAAY,EACZ,iBAAiB,EACjB,yBAAyB,EACzB,gCAAgC,EAChC,oBAAoB,GACvB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACH,QAAQ,EACR,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,qBAAqB,GACxB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACH,OAAO,EACP,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,GACvB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACH,IAAI,EACJ,0BAA0B,EAC1B,4BAA4B,EAC5B,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACH,KAAK,EACL,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,GACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACH,EAAE,EACF,QAAQ,EACR,UAAU,EACV,cAAc,EACd,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,eAAe,GAClB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,GACnB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACH,KAAK,EACL,+BAA+B,EAC/B,eAAe,EACf,sBAAsB,EACtB,gCAAgC,EAChC,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,GAC1B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACH,IAAI,EACJ,aAAa,EACb,SAAS,EACT,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,cAAc,GACjB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACH,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACH,QAAQ,EACR,aAAa,EACb,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,GACvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACH,UAAU,IAAI,gBAAgB,EAC9B,UAAU,IAAI,gBAAgB,EAC9B,mBAAmB,IAAI,yBAAyB,EAChD,mBAAmB,GACtB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -19,7 +19,9 @@ export { Optuna, optuna_optimize, OptunaTypes, ParamValueType, ParamSpaceKindTyp
|
|
|
19
19
|
// SimAnneal - Discrete optimization
|
|
20
20
|
export { SimAnneal, simanneal_optimize, simanneal_optimize_permutation, simanneal_optimize_subset, SimAnnealTypes, DiscreteStateType, EnergyFunctionType, MoveFunctionType, PermutationEnergyType, SubsetEnergyType, AnnealConfigType, AnnealResultType, } from "./simanneal/simanneal.js";
|
|
21
21
|
// Sklearn - ML utilities
|
|
22
|
-
export { Sklearn, sklearn_split, sklearn_overlap, OverlapConfigType, OverlapResultType, sklearn_standard_scaler_fit, sklearn_standard_scaler_transform, sklearn_min_max_scaler_fit, sklearn_min_max_scaler_transform, sklearn_compute_metrics, sklearn_compute_metrics_multi, sklearn_compute_classification_metrics, sklearn_compute_classification_metrics_multi, sklearn_regressor_chain_train, sklearn_regressor_chain_predict,
|
|
22
|
+
export { Sklearn, sklearn_split, sklearn_overlap, OverlapConfigType, OverlapResultType, sklearn_standard_scaler_fit, sklearn_standard_scaler_transform, sklearn_min_max_scaler_fit, sklearn_min_max_scaler_transform, sklearn_compute_metrics, sklearn_compute_metrics_multi, sklearn_compute_classification_metrics, sklearn_compute_classification_metrics_multi, sklearn_regressor_chain_train, sklearn_regressor_chain_predict,
|
|
23
|
+
// GMM
|
|
24
|
+
sklearn_gmm_fit, sklearn_gmm_predict, sklearn_gmm_predict_proba, sklearn_gmm_score_samples, sklearn_gmm_sample, sklearn_gmm_bic, sklearn_gmm_aic, GMMCovarianceType, GMMConfigType, SklearnTypes, SplitConfigType, SplitResultType, SklearnModelBlobType, RegressorChainBaseConfigType, RegressorChainConfigType,
|
|
23
25
|
// Flexible metrics types
|
|
24
26
|
RegressionMetricType, MetricResultType, MetricsResultType, MetricAggregationType, MultiMetricsConfigType, MultiMetricResultType, MultiMetricsResultType, ClassificationMetricType, ClassificationAverageType, ClassificationMetricsConfigType, ClassificationMetricResultType, ClassificationMetricResultsType, MultiClassificationConfigType, MultiClassificationMetricResultType, MultiClassificationMetricResultsType, } from "./sklearn/sklearn.js";
|
|
25
27
|
// Scipy - Scientific computing
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;GASG;AAEH,sCAAsC;AACtC,OAAO,EACH,IAAI,EACJ,aAAa,EACb,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,cAAc,GACjB,MAAM,gBAAgB,CAAC;AAExB,iCAAiC;AACjC,OAAO,EACH,MAAM,EACN,eAAe,EACf,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,yBAAyB,EACzB,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,qBAAqB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,oCAAoC;AACpC,OAAO,EACH,SAAS,EACT,kBAAkB,EAClB,8BAA8B,EAC9B,yBAAyB,EACzB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,0BAA0B,CAAC;AAElC,yBAAyB;AACzB,OAAO,EACH,OAAO,EACP,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,iCAAiC,EACjC,0BAA0B,EAC1B,gCAAgC,EAChC,uBAAuB,EACvB,6BAA6B,EAC7B,sCAAsC,EACtC,4CAA4C,EAC5C,6BAA6B,EAC7B,+BAA+B
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,16 @@ export declare const EvaluationOrderType: VariantType<{
|
|
|
41
41
|
readonly sequential: NullType;
|
|
42
42
|
readonly random: NullType;
|
|
43
43
|
}>;
|
|
44
|
+
/**
|
|
45
|
+
* Optimization mode.
|
|
46
|
+
*
|
|
47
|
+
* - `coordinate`: Standard coordinate descent — optimize each element independently (default)
|
|
48
|
+
* - `swap`: Swap-based moves — swap pairs of elements, preserving valid permutations
|
|
49
|
+
*/
|
|
50
|
+
export declare const ModeType: VariantType<{
|
|
51
|
+
readonly coordinate: NullType;
|
|
52
|
+
readonly swap: NullType;
|
|
53
|
+
}>;
|
|
44
54
|
/**
|
|
45
55
|
* Configuration for iterative optimization.
|
|
46
56
|
*
|
|
@@ -63,6 +73,11 @@ export declare const IterativeConfigType: StructType<{
|
|
|
63
73
|
}>>;
|
|
64
74
|
/** Random seed for reproducibility */
|
|
65
75
|
readonly random_state: OptionType<IntegerType>;
|
|
76
|
+
/** Optimization mode: coordinate (default) or swap for permutations */
|
|
77
|
+
readonly mode: OptionType<VariantType<{
|
|
78
|
+
readonly coordinate: NullType;
|
|
79
|
+
readonly swap: NullType;
|
|
80
|
+
}>>;
|
|
66
81
|
}>;
|
|
67
82
|
/**
|
|
68
83
|
* Result of iterative optimization.
|
|
@@ -80,42 +95,43 @@ export declare const IterativeResultType: StructType<{
|
|
|
80
95
|
readonly success: BooleanType;
|
|
81
96
|
}>;
|
|
82
97
|
/**
|
|
83
|
-
* Iterative
|
|
98
|
+
* Iterative optimization over integer parameter vectors.
|
|
84
99
|
*
|
|
85
100
|
* Maximizes an objective function over a vector of discrete integer parameters.
|
|
86
101
|
* Each parameter position has its own set of candidate values (vector).
|
|
87
|
-
* The algorithm optimizes one element at a time (coordinate descent),
|
|
88
|
-
* with multiple independent restarts (samples).
|
|
89
102
|
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
103
|
+
* Two modes are available:
|
|
104
|
+
* - **coordinate** (default): Coordinate descent — optimizes each element independently
|
|
105
|
+
* by trying all candidate values while holding others fixed. Best for assignment problems
|
|
106
|
+
* where each position can take any value independently.
|
|
107
|
+
* - **swap**: Swap-based moves — swaps pairs of elements, preserving valid permutations.
|
|
108
|
+
* Use this for permutation problems (scheduling, ordering) where each value must appear
|
|
109
|
+
* exactly once.
|
|
94
110
|
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
* const total = $.let(0.0);
|
|
98
|
-
* $.for(East.Array.range(0n, params.length()), ($, i) => {
|
|
99
|
-
* $.assign(total, total.add(params.get(i).toFloat()));
|
|
100
|
-
* });
|
|
101
|
-
* return $.return(total);
|
|
102
|
-
* });
|
|
103
|
-
*
|
|
104
|
-
* const spaces = $.let([
|
|
105
|
-
* new BigInt64Array([0n, 1n, 2n]),
|
|
106
|
-
* new BigInt64Array([0n, 1n, 2n]),
|
|
107
|
-
* new BigInt64Array([0n, 1n, 2n]),
|
|
108
|
-
* ]);
|
|
111
|
+
* @example Coordinate mode (assignment)
|
|
112
|
+
* ```ts
|
|
109
113
|
* const config = $.let({
|
|
110
114
|
* iterations: variant('some', 10n),
|
|
111
115
|
* samples: variant('some', 3n),
|
|
112
116
|
* initial: variant('some', variant('random', null)),
|
|
113
117
|
* order: variant('some', variant('sequential', null)),
|
|
114
118
|
* random_state: variant('some', 42n),
|
|
119
|
+
* mode: variant('none', null), // coordinate is the default
|
|
115
120
|
* });
|
|
121
|
+
* const result = $.let(Optimization.iterative(objective, spaces, config));
|
|
122
|
+
* ```
|
|
116
123
|
*
|
|
124
|
+
* @example Swap mode (permutation)
|
|
125
|
+
* ```ts
|
|
126
|
+
* const config = $.let({
|
|
127
|
+
* iterations: variant('some', 50n),
|
|
128
|
+
* samples: variant('some', 10n),
|
|
129
|
+
* initial: variant('some', variant('random', null)),
|
|
130
|
+
* order: variant('some', variant('random', null)),
|
|
131
|
+
* random_state: variant('some', 42n),
|
|
132
|
+
* mode: variant('some', variant('swap', null)),
|
|
133
|
+
* });
|
|
117
134
|
* const result = $.let(Optimization.iterative(objective, spaces, config));
|
|
118
|
-
* // result.best_objective = 6.0
|
|
119
135
|
* ```
|
|
120
136
|
*/
|
|
121
137
|
export declare const optimization_iterative: import("@elaraai/east").PlatformDefinition<[FunctionType<[VectorType<IntegerType>], FloatType>, ArrayType<VectorType<IntegerType>>, StructType<{
|
|
@@ -135,6 +151,11 @@ export declare const optimization_iterative: import("@elaraai/east").PlatformDef
|
|
|
135
151
|
}>>;
|
|
136
152
|
/** Random seed for reproducibility */
|
|
137
153
|
readonly random_state: OptionType<IntegerType>;
|
|
154
|
+
/** Optimization mode: coordinate (default) or swap for permutations */
|
|
155
|
+
readonly mode: OptionType<VariantType<{
|
|
156
|
+
readonly coordinate: NullType;
|
|
157
|
+
readonly swap: NullType;
|
|
158
|
+
}>>;
|
|
138
159
|
}>], StructType<{
|
|
139
160
|
/** Best parameter values found */
|
|
140
161
|
readonly best_parameters: VectorType<IntegerType>;
|
|
@@ -167,6 +188,11 @@ export declare const OptimizationTypes: {
|
|
|
167
188
|
readonly sequential: NullType;
|
|
168
189
|
readonly random: NullType;
|
|
169
190
|
}>;
|
|
191
|
+
/** Optimization mode variant */
|
|
192
|
+
readonly ModeType: VariantType<{
|
|
193
|
+
readonly coordinate: NullType;
|
|
194
|
+
readonly swap: NullType;
|
|
195
|
+
}>;
|
|
170
196
|
/** Configuration type */
|
|
171
197
|
readonly ConfigType: StructType<{
|
|
172
198
|
/** Maximum coordinate descent iterations per sample (default: 100) */
|
|
@@ -185,6 +211,11 @@ export declare const OptimizationTypes: {
|
|
|
185
211
|
}>>;
|
|
186
212
|
/** Random seed for reproducibility */
|
|
187
213
|
readonly random_state: OptionType<IntegerType>;
|
|
214
|
+
/** Optimization mode: coordinate (default) or swap for permutations */
|
|
215
|
+
readonly mode: OptionType<VariantType<{
|
|
216
|
+
readonly coordinate: NullType;
|
|
217
|
+
readonly swap: NullType;
|
|
218
|
+
}>>;
|
|
188
219
|
}>;
|
|
189
220
|
/** Result type */
|
|
190
221
|
readonly ResultType: StructType<{
|
|
@@ -201,15 +232,17 @@ export declare const OptimizationTypes: {
|
|
|
201
232
|
}>;
|
|
202
233
|
};
|
|
203
234
|
/**
|
|
204
|
-
* Iterative
|
|
235
|
+
* Iterative optimization for discrete combinatorial problems.
|
|
205
236
|
*
|
|
206
|
-
*
|
|
207
|
-
*
|
|
208
|
-
*
|
|
237
|
+
* Supports two modes:
|
|
238
|
+
* - **coordinate** (default): Element-wise coordinate descent. Best for
|
|
239
|
+
* assignment problems where positions are independent.
|
|
240
|
+
* - **swap**: Pair-wise swap moves preserving permutations. Best for
|
|
241
|
+
* scheduling/ordering where each value must appear exactly once.
|
|
209
242
|
*
|
|
210
243
|
* Use cases:
|
|
211
|
-
* - Task-worker assignment
|
|
212
|
-
* - Scheduling and
|
|
244
|
+
* - Task-worker assignment (coordinate mode)
|
|
245
|
+
* - Scheduling and ordering (swap mode)
|
|
213
246
|
* - Combinatorial selection problems
|
|
214
247
|
* - Any discrete optimization with per-element candidate sets
|
|
215
248
|
*/
|
|
@@ -218,6 +251,73 @@ export declare const Optimization: {
|
|
|
218
251
|
* Iterative optimization over integer parameter vectors.
|
|
219
252
|
*
|
|
220
253
|
* `Optimization.iterative(objective, spaces, config)`
|
|
254
|
+
*
|
|
255
|
+
* @example Coordinate mode — task-worker assignment
|
|
256
|
+
* ```ts
|
|
257
|
+
* // 3 tasks, 2 workers. Maximize total skill match.
|
|
258
|
+
* const skill = $.let([[3.0, 1.0], [1.0, 3.0], [2.0, 2.0]]);
|
|
259
|
+
* const objective = East.function(
|
|
260
|
+
* [VectorType(IntegerType)], FloatType,
|
|
261
|
+
* ($, assignments) => {
|
|
262
|
+
* const total = $.let(0.0);
|
|
263
|
+
* $.for(East.Array.range(0n, East.value(3n)), ($, i) => {
|
|
264
|
+
* $.assign(total, total.add(skill.get(i).get(assignments.get(i))));
|
|
265
|
+
* });
|
|
266
|
+
* return $.return(total);
|
|
267
|
+
* }
|
|
268
|
+
* );
|
|
269
|
+
* const spaces = $.let([
|
|
270
|
+
* new BigInt64Array([0n, 1n]),
|
|
271
|
+
* new BigInt64Array([0n, 1n]),
|
|
272
|
+
* new BigInt64Array([0n, 1n]),
|
|
273
|
+
* ]);
|
|
274
|
+
* const config = $.let({
|
|
275
|
+
* iterations: variant('some', 10n),
|
|
276
|
+
* samples: variant('some', 3n),
|
|
277
|
+
* initial: variant('some', variant('random', null)),
|
|
278
|
+
* order: variant('some', variant('sequential', null)),
|
|
279
|
+
* random_state: variant('some', 42n),
|
|
280
|
+
* mode: variant('none', null),
|
|
281
|
+
* });
|
|
282
|
+
* const result = $.let(Optimization.iterative(objective, spaces, config));
|
|
283
|
+
* // result.best_objective = 8.0 (task 0→worker 0, task 1→worker 1, task 2→either)
|
|
284
|
+
* ```
|
|
285
|
+
*
|
|
286
|
+
* @example Swap mode — scheduling permutation
|
|
287
|
+
* ```ts
|
|
288
|
+
* // 4 jobs: find execution order minimizing weighted completion time.
|
|
289
|
+
* const durations = $.let([10.0, 5.0, 20.0, 3.0]);
|
|
290
|
+
* const values = $.let([1.0, 8.0, 2.0, 10.0]);
|
|
291
|
+
* const objective = East.function(
|
|
292
|
+
* [VectorType(IntegerType)], FloatType,
|
|
293
|
+
* ($, perm) => {
|
|
294
|
+
* const cum = $.let(0.0);
|
|
295
|
+
* const total = $.let(0.0);
|
|
296
|
+
* $.for(East.Array.range(0n, East.value(4n)), ($, i) => {
|
|
297
|
+
* const idx = $.let(perm.get(i));
|
|
298
|
+
* $.assign(cum, cum.add(durations.get(idx)));
|
|
299
|
+
* $.assign(total, total.add(values.get(idx).multiply(cum)));
|
|
300
|
+
* });
|
|
301
|
+
* return $.return(total.negate());
|
|
302
|
+
* }
|
|
303
|
+
* );
|
|
304
|
+
* const spaces = $.let([
|
|
305
|
+
* new BigInt64Array([0n, 1n, 2n, 3n]),
|
|
306
|
+
* new BigInt64Array([0n, 1n, 2n, 3n]),
|
|
307
|
+
* new BigInt64Array([0n, 1n, 2n, 3n]),
|
|
308
|
+
* new BigInt64Array([0n, 1n, 2n, 3n]),
|
|
309
|
+
* ]);
|
|
310
|
+
* const config = $.let({
|
|
311
|
+
* iterations: variant('some', 50n),
|
|
312
|
+
* samples: variant('some', 10n),
|
|
313
|
+
* initial: variant('some', variant('random', null)),
|
|
314
|
+
* order: variant('some', variant('random', null)),
|
|
315
|
+
* random_state: variant('some', 42n),
|
|
316
|
+
* mode: variant('some', variant('swap', null)),
|
|
317
|
+
* });
|
|
318
|
+
* const result = $.let(Optimization.iterative(objective, spaces, config));
|
|
319
|
+
* // result.best_objective = -188.0 (optimal WSPT order)
|
|
320
|
+
* ```
|
|
221
321
|
*/
|
|
222
322
|
readonly iterative: import("@elaraai/east").PlatformDefinition<[FunctionType<[VectorType<IntegerType>], FloatType>, ArrayType<VectorType<IntegerType>>, StructType<{
|
|
223
323
|
/** Maximum coordinate descent iterations per sample (default: 100) */
|
|
@@ -236,6 +336,11 @@ export declare const Optimization: {
|
|
|
236
336
|
}>>;
|
|
237
337
|
/** Random seed for reproducibility */
|
|
238
338
|
readonly random_state: OptionType<IntegerType>;
|
|
339
|
+
/** Optimization mode: coordinate (default) or swap for permutations */
|
|
340
|
+
readonly mode: OptionType<VariantType<{
|
|
341
|
+
readonly coordinate: NullType;
|
|
342
|
+
readonly swap: NullType;
|
|
343
|
+
}>>;
|
|
239
344
|
}>], StructType<{
|
|
240
345
|
/** Best parameter values found */
|
|
241
346
|
readonly best_parameters: VectorType<IntegerType>;
|
|
@@ -268,6 +373,11 @@ export declare const Optimization: {
|
|
|
268
373
|
readonly sequential: NullType;
|
|
269
374
|
readonly random: NullType;
|
|
270
375
|
}>;
|
|
376
|
+
/** Optimization mode variant */
|
|
377
|
+
readonly ModeType: VariantType<{
|
|
378
|
+
readonly coordinate: NullType;
|
|
379
|
+
readonly swap: NullType;
|
|
380
|
+
}>;
|
|
271
381
|
/** Configuration type */
|
|
272
382
|
readonly ConfigType: StructType<{
|
|
273
383
|
/** Maximum coordinate descent iterations per sample (default: 100) */
|
|
@@ -286,6 +396,11 @@ export declare const Optimization: {
|
|
|
286
396
|
}>>;
|
|
287
397
|
/** Random seed for reproducibility */
|
|
288
398
|
readonly random_state: OptionType<IntegerType>;
|
|
399
|
+
/** Optimization mode: coordinate (default) or swap for permutations */
|
|
400
|
+
readonly mode: OptionType<VariantType<{
|
|
401
|
+
readonly coordinate: NullType;
|
|
402
|
+
readonly swap: NullType;
|
|
403
|
+
}>>;
|
|
289
404
|
}>;
|
|
290
405
|
/** Result type */
|
|
291
406
|
readonly ResultType: StructType<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optimization.d.ts","sourceRoot":"","sources":["../../src/optimization/optimization.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,EAEH,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACf,MAAM,eAAe,CAAC;AAMvB,wCAAwC;AACxC,eAAO,MAAM,mBAAmB,yBAA0B,CAAC;AAE3D,mDAAmD;AACnD,eAAO,MAAM,sBAAsB,oDAAiD,CAAC;AAErF,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,oCAAiC,CAAC;AAElE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;EAG9B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;EAG9B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;IAC5B,sEAAsE;;IAEtE,kDAAkD;;IAElD,0DAA0D;;;;;IAE1D,yDAAyD;;;;;IAEzD,sCAAsC;;
|
|
1
|
+
{"version":3,"file":"optimization.d.ts","sourceRoot":"","sources":["../../src/optimization/optimization.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,EAEH,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACf,MAAM,eAAe,CAAC;AAMvB,wCAAwC;AACxC,eAAO,MAAM,mBAAmB,yBAA0B,CAAC;AAE3D,mDAAmD;AACnD,eAAO,MAAM,sBAAsB,oDAAiD,CAAC;AAErF,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,oCAAiC,CAAC;AAElE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;EAG9B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;EAG9B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,QAAQ;;;EAGnB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;IAC5B,sEAAsE;;IAEtE,kDAAkD;;IAElD,0DAA0D;;;;;IAE1D,yDAAyD;;;;;IAEzD,sCAAsC;;IAEtC,uEAAuE;;;;;EAEzE,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC5B,kCAAkC;;IAElC,yCAAyC;;IAEzC,6DAA6D;;IAE7D,4CAA4C;;IAE5C,qCAAqC;;EAEvC,CAAC;AAMH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,sBAAsB;IA1E/B,sEAAsE;;IAEtE,kDAAkD;;IAElD,0DAA0D;;;;;IAE1D,yDAAyD;;;;;IAEzD,sCAAsC;;IAEtC,uEAAuE;;;;;;IAQvE,kCAAkC;;IAElC,yCAAyC;;IAEzC,6DAA6D;;IAE7D,4CAA4C;;IAE5C,qCAAqC;;GAwDxC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC1B,4BAA4B;;IAE5B,8BAA8B;;IAE9B,4BAA4B;;IAE5B,qCAAqC;;;;;IAErC,+BAA+B;;;;;IAE/B,gCAAgC;;;;;IAEhC,yBAAyB;;QAxGzB,sEAAsE;;QAEtE,kDAAkD;;QAElD,0DAA0D;;;;;QAE1D,yDAAyD;;;;;QAEzD,sCAAsC;;QAEtC,uEAAuE;;;;;;IAgGvE,kBAAkB;;QAxFlB,kCAAkC;;QAElC,yCAAyC;;QAEzC,6DAA6D;;QAE7D,4CAA4C;;QAE5C,qCAAqC;;;CAkF/B,CAAC;AAEX;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY;IACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuEG;;QArMH,sEAAsE;;QAEtE,kDAAkD;;QAElD,0DAA0D;;;;;QAE1D,yDAAyD;;;;;QAEzD,sCAAsC;;QAEtC,uEAAuE;;;;;;QAQvE,kCAAkC;;QAElC,yCAAyC;;QAEzC,6DAA6D;;QAE7D,4CAA4C;;QAE5C,qCAAqC;;;IA8KrC;;OAEG;;QA9GH,4BAA4B;;QAE5B,8BAA8B;;QAE9B,4BAA4B;;QAE5B,qCAAqC;;;;;QAErC,+BAA+B;;;;;QAE/B,gCAAgC;;;;;QAEhC,yBAAyB;;YAxGzB,sEAAsE;;YAEtE,kDAAkD;;YAElD,0DAA0D;;;;;YAE1D,yDAAyD;;;;;YAEzD,sCAAsC;;YAEtC,uEAAuE;;;;;;QAgGvE,kBAAkB;;YAxFlB,kCAAkC;;YAElC,yCAAyC;;YAEzC,6DAA6D;;YAE7D,4CAA4C;;YAE5C,qCAAqC;;;;CAkL/B,CAAC"}
|
|
@@ -44,6 +44,16 @@ export const EvaluationOrderType = VariantType({
|
|
|
44
44
|
sequential: NullType,
|
|
45
45
|
random: NullType,
|
|
46
46
|
});
|
|
47
|
+
/**
|
|
48
|
+
* Optimization mode.
|
|
49
|
+
*
|
|
50
|
+
* - `coordinate`: Standard coordinate descent — optimize each element independently (default)
|
|
51
|
+
* - `swap`: Swap-based moves — swap pairs of elements, preserving valid permutations
|
|
52
|
+
*/
|
|
53
|
+
export const ModeType = VariantType({
|
|
54
|
+
coordinate: NullType,
|
|
55
|
+
swap: NullType,
|
|
56
|
+
});
|
|
47
57
|
/**
|
|
48
58
|
* Configuration for iterative optimization.
|
|
49
59
|
*
|
|
@@ -60,6 +70,8 @@ export const IterativeConfigType = StructType({
|
|
|
60
70
|
order: OptionType(EvaluationOrderType),
|
|
61
71
|
/** Random seed for reproducibility */
|
|
62
72
|
random_state: OptionType(IntegerType),
|
|
73
|
+
/** Optimization mode: coordinate (default) or swap for permutations */
|
|
74
|
+
mode: OptionType(ModeType),
|
|
63
75
|
});
|
|
64
76
|
/**
|
|
65
77
|
* Result of iterative optimization.
|
|
@@ -80,42 +92,43 @@ export const IterativeResultType = StructType({
|
|
|
80
92
|
// Platform Functions
|
|
81
93
|
// ============================================================================
|
|
82
94
|
/**
|
|
83
|
-
* Iterative
|
|
95
|
+
* Iterative optimization over integer parameter vectors.
|
|
84
96
|
*
|
|
85
97
|
* Maximizes an objective function over a vector of discrete integer parameters.
|
|
86
98
|
* Each parameter position has its own set of candidate values (vector).
|
|
87
|
-
* The algorithm optimizes one element at a time (coordinate descent),
|
|
88
|
-
* with multiple independent restarts (samples).
|
|
89
99
|
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
100
|
+
* Two modes are available:
|
|
101
|
+
* - **coordinate** (default): Coordinate descent — optimizes each element independently
|
|
102
|
+
* by trying all candidate values while holding others fixed. Best for assignment problems
|
|
103
|
+
* where each position can take any value independently.
|
|
104
|
+
* - **swap**: Swap-based moves — swaps pairs of elements, preserving valid permutations.
|
|
105
|
+
* Use this for permutation problems (scheduling, ordering) where each value must appear
|
|
106
|
+
* exactly once.
|
|
94
107
|
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
* const total = $.let(0.0);
|
|
98
|
-
* $.for(East.Array.range(0n, params.length()), ($, i) => {
|
|
99
|
-
* $.assign(total, total.add(params.get(i).toFloat()));
|
|
100
|
-
* });
|
|
101
|
-
* return $.return(total);
|
|
102
|
-
* });
|
|
103
|
-
*
|
|
104
|
-
* const spaces = $.let([
|
|
105
|
-
* new BigInt64Array([0n, 1n, 2n]),
|
|
106
|
-
* new BigInt64Array([0n, 1n, 2n]),
|
|
107
|
-
* new BigInt64Array([0n, 1n, 2n]),
|
|
108
|
-
* ]);
|
|
108
|
+
* @example Coordinate mode (assignment)
|
|
109
|
+
* ```ts
|
|
109
110
|
* const config = $.let({
|
|
110
111
|
* iterations: variant('some', 10n),
|
|
111
112
|
* samples: variant('some', 3n),
|
|
112
113
|
* initial: variant('some', variant('random', null)),
|
|
113
114
|
* order: variant('some', variant('sequential', null)),
|
|
114
115
|
* random_state: variant('some', 42n),
|
|
116
|
+
* mode: variant('none', null), // coordinate is the default
|
|
115
117
|
* });
|
|
118
|
+
* const result = $.let(Optimization.iterative(objective, spaces, config));
|
|
119
|
+
* ```
|
|
116
120
|
*
|
|
121
|
+
* @example Swap mode (permutation)
|
|
122
|
+
* ```ts
|
|
123
|
+
* const config = $.let({
|
|
124
|
+
* iterations: variant('some', 50n),
|
|
125
|
+
* samples: variant('some', 10n),
|
|
126
|
+
* initial: variant('some', variant('random', null)),
|
|
127
|
+
* order: variant('some', variant('random', null)),
|
|
128
|
+
* random_state: variant('some', 42n),
|
|
129
|
+
* mode: variant('some', variant('swap', null)),
|
|
130
|
+
* });
|
|
117
131
|
* const result = $.let(Optimization.iterative(objective, spaces, config));
|
|
118
|
-
* // result.best_objective = 6.0
|
|
119
132
|
* ```
|
|
120
133
|
*/
|
|
121
134
|
export const optimization_iterative = East.platform("optimization_iterative", [
|
|
@@ -140,21 +153,25 @@ export const OptimizationTypes = {
|
|
|
140
153
|
InitialStrategyType,
|
|
141
154
|
/** Evaluation order variant */
|
|
142
155
|
EvaluationOrderType,
|
|
156
|
+
/** Optimization mode variant */
|
|
157
|
+
ModeType,
|
|
143
158
|
/** Configuration type */
|
|
144
159
|
ConfigType: IterativeConfigType,
|
|
145
160
|
/** Result type */
|
|
146
161
|
ResultType: IterativeResultType,
|
|
147
162
|
};
|
|
148
163
|
/**
|
|
149
|
-
* Iterative
|
|
164
|
+
* Iterative optimization for discrete combinatorial problems.
|
|
150
165
|
*
|
|
151
|
-
*
|
|
152
|
-
*
|
|
153
|
-
*
|
|
166
|
+
* Supports two modes:
|
|
167
|
+
* - **coordinate** (default): Element-wise coordinate descent. Best for
|
|
168
|
+
* assignment problems where positions are independent.
|
|
169
|
+
* - **swap**: Pair-wise swap moves preserving permutations. Best for
|
|
170
|
+
* scheduling/ordering where each value must appear exactly once.
|
|
154
171
|
*
|
|
155
172
|
* Use cases:
|
|
156
|
-
* - Task-worker assignment
|
|
157
|
-
* - Scheduling and
|
|
173
|
+
* - Task-worker assignment (coordinate mode)
|
|
174
|
+
* - Scheduling and ordering (swap mode)
|
|
158
175
|
* - Combinatorial selection problems
|
|
159
176
|
* - Any discrete optimization with per-element candidate sets
|
|
160
177
|
*/
|
|
@@ -163,6 +180,73 @@ export const Optimization = {
|
|
|
163
180
|
* Iterative optimization over integer parameter vectors.
|
|
164
181
|
*
|
|
165
182
|
* `Optimization.iterative(objective, spaces, config)`
|
|
183
|
+
*
|
|
184
|
+
* @example Coordinate mode — task-worker assignment
|
|
185
|
+
* ```ts
|
|
186
|
+
* // 3 tasks, 2 workers. Maximize total skill match.
|
|
187
|
+
* const skill = $.let([[3.0, 1.0], [1.0, 3.0], [2.0, 2.0]]);
|
|
188
|
+
* const objective = East.function(
|
|
189
|
+
* [VectorType(IntegerType)], FloatType,
|
|
190
|
+
* ($, assignments) => {
|
|
191
|
+
* const total = $.let(0.0);
|
|
192
|
+
* $.for(East.Array.range(0n, East.value(3n)), ($, i) => {
|
|
193
|
+
* $.assign(total, total.add(skill.get(i).get(assignments.get(i))));
|
|
194
|
+
* });
|
|
195
|
+
* return $.return(total);
|
|
196
|
+
* }
|
|
197
|
+
* );
|
|
198
|
+
* const spaces = $.let([
|
|
199
|
+
* new BigInt64Array([0n, 1n]),
|
|
200
|
+
* new BigInt64Array([0n, 1n]),
|
|
201
|
+
* new BigInt64Array([0n, 1n]),
|
|
202
|
+
* ]);
|
|
203
|
+
* const config = $.let({
|
|
204
|
+
* iterations: variant('some', 10n),
|
|
205
|
+
* samples: variant('some', 3n),
|
|
206
|
+
* initial: variant('some', variant('random', null)),
|
|
207
|
+
* order: variant('some', variant('sequential', null)),
|
|
208
|
+
* random_state: variant('some', 42n),
|
|
209
|
+
* mode: variant('none', null),
|
|
210
|
+
* });
|
|
211
|
+
* const result = $.let(Optimization.iterative(objective, spaces, config));
|
|
212
|
+
* // result.best_objective = 8.0 (task 0→worker 0, task 1→worker 1, task 2→either)
|
|
213
|
+
* ```
|
|
214
|
+
*
|
|
215
|
+
* @example Swap mode — scheduling permutation
|
|
216
|
+
* ```ts
|
|
217
|
+
* // 4 jobs: find execution order minimizing weighted completion time.
|
|
218
|
+
* const durations = $.let([10.0, 5.0, 20.0, 3.0]);
|
|
219
|
+
* const values = $.let([1.0, 8.0, 2.0, 10.0]);
|
|
220
|
+
* const objective = East.function(
|
|
221
|
+
* [VectorType(IntegerType)], FloatType,
|
|
222
|
+
* ($, perm) => {
|
|
223
|
+
* const cum = $.let(0.0);
|
|
224
|
+
* const total = $.let(0.0);
|
|
225
|
+
* $.for(East.Array.range(0n, East.value(4n)), ($, i) => {
|
|
226
|
+
* const idx = $.let(perm.get(i));
|
|
227
|
+
* $.assign(cum, cum.add(durations.get(idx)));
|
|
228
|
+
* $.assign(total, total.add(values.get(idx).multiply(cum)));
|
|
229
|
+
* });
|
|
230
|
+
* return $.return(total.negate());
|
|
231
|
+
* }
|
|
232
|
+
* );
|
|
233
|
+
* const spaces = $.let([
|
|
234
|
+
* new BigInt64Array([0n, 1n, 2n, 3n]),
|
|
235
|
+
* new BigInt64Array([0n, 1n, 2n, 3n]),
|
|
236
|
+
* new BigInt64Array([0n, 1n, 2n, 3n]),
|
|
237
|
+
* new BigInt64Array([0n, 1n, 2n, 3n]),
|
|
238
|
+
* ]);
|
|
239
|
+
* const config = $.let({
|
|
240
|
+
* iterations: variant('some', 50n),
|
|
241
|
+
* samples: variant('some', 10n),
|
|
242
|
+
* initial: variant('some', variant('random', null)),
|
|
243
|
+
* order: variant('some', variant('random', null)),
|
|
244
|
+
* random_state: variant('some', 42n),
|
|
245
|
+
* mode: variant('some', variant('swap', null)),
|
|
246
|
+
* });
|
|
247
|
+
* const result = $.let(Optimization.iterative(objective, spaces, config));
|
|
248
|
+
* // result.best_objective = -188.0 (optimal WSPT order)
|
|
249
|
+
* ```
|
|
166
250
|
*/
|
|
167
251
|
iterative: optimization_iterative,
|
|
168
252
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optimization.js","sourceRoot":"","sources":["../../src/optimization/optimization.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,EACH,IAAI,EACJ,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,GACf,MAAM,eAAe,CAAC;AAEvB,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,wCAAwC;AACxC,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;AAE3D,mDAAmD;AACnD,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAAC,CAAC,mBAAmB,CAAC,EAAE,SAAS,CAAC,CAAC;AAErF,2DAA2D;AAC3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAC;AAElE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC3C,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;CACnB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC3C,UAAU,EAAE,QAAQ;IACpB,MAAM,EAAE,QAAQ;CACnB,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;IAC1C,sEAAsE;IACtE,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC;IACnC,kDAAkD;IAClD,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC;IAChC,0DAA0D;IAC1D,OAAO,EAAE,UAAU,CAAC,mBAAmB,CAAC;IACxC,yDAAyD;IACzD,KAAK,EAAE,UAAU,CAAC,mBAAmB,CAAC;IACtC,sCAAsC;IACtC,YAAY,EAAE,UAAU,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"optimization.js","sourceRoot":"","sources":["../../src/optimization/optimization.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,EACH,IAAI,EACJ,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,GACf,MAAM,eAAe,CAAC;AAEvB,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,wCAAwC;AACxC,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;AAE3D,mDAAmD;AACnD,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAAC,CAAC,mBAAmB,CAAC,EAAE,SAAS,CAAC,CAAC;AAErF,2DAA2D;AAC3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAC;AAElE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC3C,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;CACnB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC3C,UAAU,EAAE,QAAQ;IACpB,MAAM,EAAE,QAAQ;CACnB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC;IAChC,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;IAC1C,sEAAsE;IACtE,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC;IACnC,kDAAkD;IAClD,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC;IAChC,0DAA0D;IAC1D,OAAO,EAAE,UAAU,CAAC,mBAAmB,CAAC;IACxC,yDAAyD;IACzD,KAAK,EAAE,UAAU,CAAC,mBAAmB,CAAC;IACtC,sCAAsC;IACtC,YAAY,EAAE,UAAU,CAAC,WAAW,CAAC;IACrC,uEAAuE;IACvE,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;CAC7B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;IAC1C,kCAAkC;IAClC,eAAe,EAAE,mBAAmB;IACpC,yCAAyC;IACzC,cAAc,EAAE,SAAS;IACzB,6DAA6D;IAC7D,UAAU,EAAE,WAAW;IACvB,4CAA4C;IAC5C,WAAW,EAAE,WAAW;IACxB,qCAAqC;IACrC,OAAO,EAAE,WAAW;CACvB,CAAC,CAAC;AAEH,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAC/C,wBAAwB,EACxB;IACI,sBAAsB,EAAI,sCAAsC;IAChE,mBAAmB,EAAO,2CAA2C;IACrE,mBAAmB,EAAO,SAAS;CACtC,EACD,mBAAmB,CACtB,CAAC;AAEF,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,4BAA4B;IAC5B,mBAAmB;IACnB,8BAA8B;IAC9B,aAAa,EAAE,sBAAsB;IACrC,4BAA4B;IAC5B,UAAU,EAAE,mBAAmB;IAC/B,qCAAqC;IACrC,mBAAmB;IACnB,+BAA+B;IAC/B,mBAAmB;IACnB,gCAAgC;IAChC,QAAQ;IACR,yBAAyB;IACzB,UAAU,EAAE,mBAAmB;IAC/B,kBAAkB;IAClB,UAAU,EAAE,mBAAmB;CACzB,CAAC;AAEX;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuEG;IACH,SAAS,EAAE,sBAAsB;IAEjC;;OAEG;IACH,KAAK,EAAE,iBAAiB;CAClB,CAAC"}
|