@ohtaman/washi 0.1.2 → 0.3.0
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.ja.md +195 -105
- package/README.md +195 -105
- package/README.zh-CN.md +197 -107
- package/dist/browser/highs-worker.js +2 -2
- package/dist/browser/{highs-loader-T47YOyos.js → loader-CVt4CloI.js} +2 -2
- package/dist/browser/solvers/glpk.js +1065 -0
- package/dist/browser/solvers/glpk.min.js +1 -0
- package/dist/browser/solvers/z3-built.js +8245 -0
- package/dist/browser/solvers/z3-built.wasm +4 -0
- package/dist/browser/solvers/z3.js +7550 -0
- package/dist/browser/solvers/z3.min.js +5 -0
- package/dist/browser/washi.js +370 -642
- package/dist/browser/washi.min.js +4 -4
- package/dist/lib/async-mutex-Duo4jwzn.js +195 -0
- package/dist/lib/constraint-BRuB3ooC.js +90 -0
- package/dist/lib/highs-worker.js +2 -2
- package/dist/lib/{highs-loader-Blb99785.js → loader-Dti0v9yC.js} +1 -1
- package/dist/lib/registry-DksqCSjI.js +32 -0
- package/dist/lib/solvers/glpk.js +161 -2
- package/dist/lib/solvers/z3-assets.js +1 -0
- package/dist/lib/solvers/z3-built.js +8245 -0
- package/dist/lib/solvers/z3-built.wasm +4 -0
- package/dist/lib/solvers/z3.js +476 -2
- package/dist/lib/washi.js +604 -248
- package/dist/types/index.d.ts +7 -10
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/modeler/constraint.d.ts +0 -3
- package/dist/types/modeler/constraint.d.ts.map +1 -1
- package/dist/types/modeler/expression.d.ts +16 -10
- package/dist/types/modeler/expression.d.ts.map +1 -1
- package/dist/types/modeler/index.d.ts +3 -5
- package/dist/types/modeler/index.d.ts.map +1 -1
- package/dist/types/modeler/model.d.ts +91 -12
- package/dist/types/modeler/model.d.ts.map +1 -1
- package/dist/types/modeler/solvers/glpk/index.d.ts +3 -0
- package/dist/types/modeler/solvers/glpk/index.d.ts.map +1 -0
- package/dist/types/modeler/solvers/glpk/loader.d.ts +16 -0
- package/dist/types/modeler/solvers/glpk/loader.d.ts.map +1 -0
- package/dist/types/modeler/solvers/glpk/solver.d.ts +26 -0
- package/dist/types/modeler/solvers/glpk/solver.d.ts.map +1 -0
- package/dist/types/modeler/solvers/glpk.d.ts +1 -21
- package/dist/types/modeler/solvers/glpk.d.ts.map +1 -1
- package/dist/types/{highs-assets.d.ts → modeler/solvers/highs/assets.d.ts} +1 -1
- package/dist/types/modeler/solvers/highs/assets.d.ts.map +1 -0
- package/dist/types/modeler/solvers/highs/browser-runtime.d.ts +2 -0
- package/dist/types/modeler/solvers/highs/browser-runtime.d.ts.map +1 -0
- package/dist/types/modeler/solvers/highs/index.d.ts +6 -0
- package/dist/types/modeler/solvers/highs/index.d.ts.map +1 -0
- package/dist/types/{highs-loader.d.ts → modeler/solvers/highs/loader.d.ts} +2 -2
- package/dist/types/modeler/solvers/highs/loader.d.ts.map +1 -0
- package/dist/types/{highs-node-runtime.d.ts → modeler/solvers/highs/node-runtime.d.ts} +1 -1
- package/dist/types/modeler/solvers/highs/node-runtime.d.ts.map +1 -0
- package/dist/types/modeler/solvers/highs/solver.d.ts +33 -0
- package/dist/types/modeler/solvers/highs/solver.d.ts.map +1 -0
- package/dist/types/modeler/solvers/highs/worker-client.d.ts +13 -0
- package/dist/types/modeler/solvers/highs/worker-client.d.ts.map +1 -0
- package/dist/types/{highs-worker-factory.d.ts → modeler/solvers/highs/worker-factory.d.ts} +1 -1
- package/dist/types/modeler/solvers/highs/worker-factory.d.ts.map +1 -0
- package/dist/types/modeler/solvers/highs/worker.d.ts +2 -0
- package/dist/types/modeler/solvers/highs/worker.d.ts.map +1 -0
- package/dist/types/modeler/solvers/highs.d.ts +1 -31
- package/dist/types/modeler/solvers/highs.d.ts.map +1 -1
- package/dist/types/modeler/solvers/index.d.ts +0 -2
- package/dist/types/modeler/solvers/index.d.ts.map +1 -1
- package/dist/types/modeler/solvers/mock.d.ts +1 -0
- package/dist/types/modeler/solvers/mock.d.ts.map +1 -1
- package/dist/types/modeler/solvers/registry.d.ts +1 -2
- package/dist/types/modeler/solvers/registry.d.ts.map +1 -1
- package/dist/types/modeler/solvers/types.d.ts +1 -1
- package/dist/types/modeler/solvers/z3/assets.d.ts +11 -0
- package/dist/types/modeler/solvers/z3/assets.d.ts.map +1 -0
- package/dist/types/modeler/solvers/z3/index.d.ts +3 -0
- package/dist/types/modeler/solvers/z3/index.d.ts.map +1 -0
- package/dist/types/modeler/solvers/z3/loader.d.ts +56 -0
- package/dist/types/modeler/solvers/z3/loader.d.ts.map +1 -0
- package/dist/types/modeler/solvers/z3/solver.d.ts +34 -0
- package/dist/types/modeler/solvers/z3/solver.d.ts.map +1 -0
- package/dist/types/modeler/solvers/z3.d.ts +1 -35
- package/dist/types/modeler/solvers/z3.d.ts.map +1 -1
- package/dist/types/modeler/types.d.ts +8 -3
- package/dist/types/modeler/types.d.ts.map +1 -1
- package/dist/types/modeler/variable.d.ts +1 -6
- package/dist/types/modeler/variable.d.ts.map +1 -1
- package/package.json +28 -6
- package/dist/browser/_washi-optional-engine-282Ug7Gw.js +0 -7
- package/dist/lib/glpk-5cUpjyb9.js +0 -135
- package/dist/lib/z3-C6GeIicJ.js +0 -509
- package/dist/types/glpk-loader.d.ts +0 -8
- package/dist/types/glpk-loader.d.ts.map +0 -1
- package/dist/types/highs-assets.d.ts.map +0 -1
- package/dist/types/highs-browser-runtime.d.ts +0 -2
- package/dist/types/highs-browser-runtime.d.ts.map +0 -1
- package/dist/types/highs-loader.d.ts.map +0 -1
- package/dist/types/highs-node-runtime.d.ts.map +0 -1
- package/dist/types/highs-worker-client.d.ts +0 -12
- package/dist/types/highs-worker-client.d.ts.map +0 -1
- package/dist/types/highs-worker-factory.d.ts.map +0 -1
- package/dist/types/highs-worker.d.ts +0 -2
- package/dist/types/highs-worker.d.ts.map +0 -1
- package/dist/types/modeler/mip-compat.d.ts +0 -43
- package/dist/types/modeler/mip-compat.d.ts.map +0 -1
- package/dist/types/modeler/pulp-compat.d.ts +0 -67
- package/dist/types/modeler/pulp-compat.d.ts.map +0 -1
- /package/dist/browser/{highs-browser-runtime-D13gHOT5.js → browser-runtime-D13gHOT5.js} +0 -0
package/dist/types/index.d.ts
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* WaSHI: Modern Mathematical Optimization Modeler for TypeScript & JavaScript
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Supports LP (Linear Programming), MIP (Mixed-Integer Programming),
|
|
4
|
+
* Domain-pure algebraic modeling with WebAssembly (HiGHS, Z3, GLPK) and pluggable solvers.
|
|
5
|
+
* Supports LP (Linear Programming), MIP (Mixed-Integer Programming), QP (Quadratic Programming), and SMT.
|
|
6
6
|
*/
|
|
7
|
-
export { Model, type ModelOptions, Var, type VarOptions, LinExpr,
|
|
8
|
-
export type
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export { type Solver, type SolverOptions, type SolverResult, type SolverCheckResult, type SolverCapabilities, HighsSolver, HiGHS, GLPKSolver, Z3Solver, registerZ3Solver, MockSolver, registerSolver, getSolver, setDefaultSolver, listAvailableSolvers, } from "./modeler/solvers/index.js";
|
|
12
|
-
export { getHighs, solveLpWithHighs, setHighsWasmUrl, getHighsWasmUrl, OFFICIAL_HIGHS_CDN_WASM_URL, isValidWasmHeader, probeWasmUrl, resolveBrowserWasmUrl, } from "./highs-loader.js";
|
|
13
|
-
export { getGlpk } from "./glpk-loader.js";
|
|
7
|
+
export { Model, type ModelOptions, type BoundsOptions, Var, type VarOptions, LinExpr, QuadExpr, type Expr, type QuadTerm, sum, dot, Constraint, BoolVar, BoolExpr, BoolOp, and, or, not, implies, xor, parseExpr, parseConstraint, expr, c, generateLpString, type LpModelData, type LpExportResult, } from "./modeler/index.js";
|
|
8
|
+
export { normalizeSense, type VarType, type OptimizationSense, type ComparisonSense, type SolverStatus, type SolveOptions, type SolverSolution, } from "./modeler/types.js";
|
|
9
|
+
export { type Solver, type SolverOptions, type SolverResult, type SolverCheckResult, type SolverCapabilities, HighsSolver, HiGHS, MockSolver, registerSolver, getSolver, setDefaultSolver, listAvailableSolvers, } from "./modeler/solvers/index.js";
|
|
10
|
+
export { getHighs, solveLpWithHighs, setHighsWasmUrl, getHighsWasmUrl, OFFICIAL_HIGHS_CDN_WASM_URL, isValidWasmHeader, probeWasmUrl, resolveBrowserWasmUrl, } from "./modeler/solvers/highs/index.js";
|
|
14
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,KAAK,EACL,KAAK,YAAY,EACjB,GAAG,EACH,KAAK,UAAU,EACf,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,KAAK,EACL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,GAAG,EACH,KAAK,UAAU,EACf,OAAO,EACP,QAAQ,EACR,KAAK,IAAI,EACT,KAAK,QAAQ,EACb,GAAG,EACH,GAAG,EACH,UAAU,EACV,OAAO,EACP,QAAQ,EACR,MAAM,EACN,GAAG,EACH,EAAE,EACF,GAAG,EACH,OAAO,EACP,GAAG,EACH,SAAS,EACT,eAAe,EACf,IAAI,EACJ,CAAC,EACD,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,cAAc,EACd,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EACL,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,WAAW,EACX,KAAK,EACL,UAAU,EACV,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,2BAA2B,EAC3B,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,GACtB,MAAM,kCAAkC,CAAC"}
|
|
@@ -3,7 +3,6 @@ import type { LinExpr } from "./expression.js";
|
|
|
3
3
|
import { BoolOp, type LogicElement } from "./boolean-expr.js";
|
|
4
4
|
/**
|
|
5
5
|
* Represents a linear constraint: lhs (terms) <=, >=, or == rhs (constant)
|
|
6
|
-
* Compatible with PuLP (LpConstraint) and python-mip (Constr).
|
|
7
6
|
*/
|
|
8
7
|
export declare class Constraint {
|
|
9
8
|
readonly id: number;
|
|
@@ -16,8 +15,6 @@ export declare class Constraint {
|
|
|
16
15
|
/** Dual value (shadow price) after solve */
|
|
17
16
|
dual: number | null;
|
|
18
17
|
constructor(lhs: LinExpr, sense: ComparisonSense, rhs: number, name?: string);
|
|
19
|
-
/** PuLP style dual price accessor */
|
|
20
|
-
get pi(): number | null;
|
|
21
18
|
and(other: LogicElement): BoolOp;
|
|
22
19
|
or(other: LogicElement): BoolOp;
|
|
23
20
|
implies(consequent: LogicElement): BoolOp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraint.d.ts","sourceRoot":"","sources":["../../../src/modeler/constraint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAI9D
|
|
1
|
+
{"version":3,"file":"constraint.d.ts","sourceRoot":"","sources":["../../../src/modeler/constraint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAI9D;;GAEG;AACH,qBAAa,UAAU;IACrB,SAAgB,EAAE,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,eAAe,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IAEpB,8BAA8B;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnC,4CAA4C;IACrC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAQ;IAElC,YACE,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,MAAM,EAOd;IAGM,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAEtC;IAEM,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAErC;IAEM,OAAO,CAAC,UAAU,EAAE,YAAY,GAAG,MAAM,CAE/C;IAEM,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAEtC;IAEM,GAAG,IAAI,MAAM,CAEnB;IAED,QAAQ,IAAI,MAAM,CAGjB;CACF"}
|
|
@@ -3,7 +3,6 @@ import { Constraint } from "./constraint.js";
|
|
|
3
3
|
import { QuadExpr } from "./quad-expr.js";
|
|
4
4
|
/**
|
|
5
5
|
* Represents a linear expression: c0 + c1*x1 + c2*x2 + ...
|
|
6
|
-
* Compatible with PuLP (LpAffineExpression) and python-mip (LinExpr).
|
|
7
6
|
*/
|
|
8
7
|
export declare class LinExpr {
|
|
9
8
|
terms: Map<Var, number>;
|
|
@@ -41,7 +40,7 @@ export declare class LinExpr {
|
|
|
41
40
|
*/
|
|
42
41
|
get value(): number | null;
|
|
43
42
|
/**
|
|
44
|
-
*
|
|
43
|
+
* Helper value accessor for expression
|
|
45
44
|
*/
|
|
46
45
|
getValue(): number | null;
|
|
47
46
|
/**
|
|
@@ -63,17 +62,24 @@ export declare class LinExpr {
|
|
|
63
62
|
toString(): string;
|
|
64
63
|
}
|
|
65
64
|
/**
|
|
66
|
-
*
|
|
67
|
-
* Also supports mapping functions: sum(items, item => expr)
|
|
68
|
-
* Compatible with PuLP's lpSum and python-mip's xsum.
|
|
65
|
+
* Union expression type covering linear and quadratic expressions.
|
|
69
66
|
*/
|
|
70
|
-
export
|
|
67
|
+
export type Expr = LinExpr | QuadExpr;
|
|
71
68
|
/**
|
|
72
|
-
*
|
|
69
|
+
* Sum an array, iterable, or count-range of variables, expressions, or numbers.
|
|
70
|
+
* Supports:
|
|
71
|
+
* - sum([x, y, z])
|
|
72
|
+
* - sum(items, item => expr)
|
|
73
|
+
* - sum(10, i => expr) (range 0..9)
|
|
73
74
|
*/
|
|
74
|
-
export declare
|
|
75
|
+
export declare function sum(count: number, mapFn: (index: number) => LinExpr | Var | number): LinExpr;
|
|
76
|
+
export declare function sum<T = any>(items: Iterable<T>, mapFn?: (item: T, index: number) => LinExpr | Var | number): LinExpr;
|
|
75
77
|
/**
|
|
76
|
-
*
|
|
78
|
+
* Compute the vector dot product (linear combination) of coefficients and variables.
|
|
79
|
+
* Works with 1D/2D arrays and records in either order:
|
|
80
|
+
* - dot(costs, vars)
|
|
81
|
+
* - dot(vars, costs)
|
|
82
|
+
* - dot(costMatrix, flowMatrix)
|
|
77
83
|
*/
|
|
78
|
-
export declare
|
|
84
|
+
export declare function dot(a: Record<string, any> | any[], b: Record<string, any> | any[]): LinExpr;
|
|
79
85
|
//# sourceMappingURL=expression.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../src/modeler/expression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C
|
|
1
|
+
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../src/modeler/expression.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
export { Model, type ModelOptions, type IndicatorOptions } from "./model.js";
|
|
1
|
+
export { Model, type ModelOptions, type BoundsOptions, type IndicatorOptions } from "./model.js";
|
|
2
2
|
export { Var, type VarOptions } from "./variable.js";
|
|
3
|
-
export { LinExpr,
|
|
3
|
+
export { LinExpr, type Expr, sum, dot } from "./expression.js";
|
|
4
4
|
export { QuadExpr, type QuadTerm } from "./quad-expr.js";
|
|
5
5
|
export { Constraint } from "./constraint.js";
|
|
6
6
|
export { BoolVar, BoolExpr, BoolOp, and, or, not, implies, xor, } from "./boolean-expr.js";
|
|
7
7
|
export { parseExpr, parseConstraint, expr, c } from "./parser.js";
|
|
8
8
|
export { generateLpString, type LpModelData, type LpExportResult } from "./lp-writer.js";
|
|
9
9
|
export type { VarType, OptimizationSense, ComparisonSense, SolverStatus, SolveOptions, SolverSolution, } from "./types.js";
|
|
10
|
-
export { LpProblem, LpVariable, LpMinimize, LpMaximize, LpContinuous, LpInteger, LpBinary, LpStatus, value, } from "./pulp-compat.js";
|
|
11
|
-
export { MipModel, MINIMIZE, MAXIMIZE, CONTINUOUS, INTEGER, BINARY, maximize, minimize, } from "./mip-compat.js";
|
|
12
10
|
export * from "./solvers/index.js";
|
|
13
|
-
export { getHighs, solveLpWithHighs, setHighsWasmUrl, getHighsWasmUrl } from "
|
|
11
|
+
export { getHighs, solveLpWithHighs, setHighsWasmUrl, getHighsWasmUrl } from "./solvers/highs/index.js";
|
|
14
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modeler/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modeler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,GAAG,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,OAAO,EACP,QAAQ,EACR,MAAM,EACN,GAAG,EACH,EAAE,EACF,GAAG,EACH,OAAO,EACP,GAAG,GACJ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGzF,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type VarType, type OptimizationSense, type SolverStatus, type SolveOptions, type SolverSolution } from "./types.js";
|
|
2
2
|
import { Var, type VarOptions } from "./variable.js";
|
|
3
3
|
import { LinExpr } from "./expression.js";
|
|
4
4
|
import { QuadExpr } from "./quad-expr.js";
|
|
@@ -10,14 +10,20 @@ export interface ModelOptions {
|
|
|
10
10
|
sense?: OptimizationSense;
|
|
11
11
|
solver?: Solver | string;
|
|
12
12
|
}
|
|
13
|
+
export interface BoundsOptions {
|
|
14
|
+
name?: string;
|
|
15
|
+
prefix?: string;
|
|
16
|
+
lb?: number;
|
|
17
|
+
ub?: number;
|
|
18
|
+
}
|
|
13
19
|
export interface IndicatorOptions {
|
|
14
20
|
activeValue?: 0 | 1;
|
|
15
21
|
M?: number;
|
|
16
22
|
name?: string;
|
|
17
23
|
}
|
|
18
24
|
/**
|
|
19
|
-
* High-level
|
|
20
|
-
*
|
|
25
|
+
* High-level mathematical programming model for LP, MIP, QP, and SMT,
|
|
26
|
+
* running directly with WebAssembly solvers (HiGHS, Z3, GLPK) in browser and Node.js.
|
|
21
27
|
*/
|
|
22
28
|
export interface LogicalConstraint {
|
|
23
29
|
name: string;
|
|
@@ -40,11 +46,60 @@ export declare class Model {
|
|
|
40
46
|
runTime: number;
|
|
41
47
|
solution: SolverSolution | null;
|
|
42
48
|
solver: Solver | null;
|
|
43
|
-
constructor(
|
|
49
|
+
constructor(nameOrOptions?: string | ModelOptions, maybeOptions?: ModelOptions);
|
|
44
50
|
get vars(): Var[];
|
|
45
51
|
get constrs(): Constraint[];
|
|
46
52
|
get numVars(): number;
|
|
47
53
|
get numConstrs(): number;
|
|
54
|
+
/**
|
|
55
|
+
* Internal generator for domain-specific variables
|
|
56
|
+
*/
|
|
57
|
+
private createDomainVars;
|
|
58
|
+
/**
|
|
59
|
+
* Create 0-1 binary variable(s) (x in {0, 1}).
|
|
60
|
+
* Supports:
|
|
61
|
+
* - m.binary("x") -> Var
|
|
62
|
+
* - m.binary(5) -> Var[]
|
|
63
|
+
* - m.binary(["a", "b"]) -> Record<string, Var>
|
|
64
|
+
* - m.binary(rows, cols) -> Record<string, Record<string, Var>>
|
|
65
|
+
*/
|
|
66
|
+
binary(name: string): Var;
|
|
67
|
+
binary(count: number, options?: {
|
|
68
|
+
prefix?: string;
|
|
69
|
+
name?: string;
|
|
70
|
+
}): Var[];
|
|
71
|
+
binary<K extends string | number>(keys: K[] | Iterable<K>, options?: {
|
|
72
|
+
prefix?: string;
|
|
73
|
+
name?: string;
|
|
74
|
+
}): Record<K, Var>;
|
|
75
|
+
binary<R extends string | number, C extends string | number>(dim1: R[] | number, dim2: C[] | number, options?: {
|
|
76
|
+
prefix?: string;
|
|
77
|
+
name?: string;
|
|
78
|
+
}): Record<R, Record<C, Var>>;
|
|
79
|
+
/**
|
|
80
|
+
* Create integer variable(s) (y in Z).
|
|
81
|
+
* Supports:
|
|
82
|
+
* - m.integer("y", { lb: 0, ub: 10 }) -> Var
|
|
83
|
+
* - m.integer(5, { lb: 0 }) -> Var[]
|
|
84
|
+
* - m.integer(["a", "b"], { lb: 0, ub: 5 }) -> Record<string, Var>
|
|
85
|
+
* - m.integer(rows, cols, options) -> Record<string, Record<string, Var>>
|
|
86
|
+
*/
|
|
87
|
+
integer(name: string, options?: BoundsOptions): Var;
|
|
88
|
+
integer(count: number, options?: BoundsOptions): Var[];
|
|
89
|
+
integer<K extends string | number>(keys: K[] | Iterable<K>, options?: BoundsOptions): Record<K, Var>;
|
|
90
|
+
integer<R extends string | number, C extends string | number>(dim1: R[] | number, dim2: C[] | number, options?: BoundsOptions): Record<R, Record<C, Var>>;
|
|
91
|
+
/**
|
|
92
|
+
* Create continuous (real) variable(s) (z in R).
|
|
93
|
+
* Supports:
|
|
94
|
+
* - m.continuous("z", { lb: 0 }) -> Var
|
|
95
|
+
* - m.continuous(5, { lb: 0 }) -> Var[]
|
|
96
|
+
* - m.continuous(["a", "b"], { lb: 0 }) -> Record<string, Var>
|
|
97
|
+
* - m.continuous(rows, cols, options) -> Record<string, Record<string, Var>>
|
|
98
|
+
*/
|
|
99
|
+
continuous(name: string, options?: BoundsOptions): Var;
|
|
100
|
+
continuous(count: number, options?: BoundsOptions): Var[];
|
|
101
|
+
continuous<K extends string | number>(keys: K[] | Iterable<K>, options?: BoundsOptions): Record<K, Var>;
|
|
102
|
+
continuous<R extends string | number, C extends string | number>(dim1: R[] | number, dim2: C[] | number, options?: BoundsOptions): Record<R, Record<C, Var>>;
|
|
48
103
|
/**
|
|
49
104
|
* Add a decision variable to the model
|
|
50
105
|
*/
|
|
@@ -75,15 +130,35 @@ export declare class Model {
|
|
|
75
130
|
/**
|
|
76
131
|
* Set the objective function
|
|
77
132
|
*/
|
|
78
|
-
setObjective(expr: LinExpr | QuadExpr | Var | number | string, sense?: OptimizationSense): void;
|
|
133
|
+
setObjective(expr: LinExpr | QuadExpr | Var | number | string | Constraint, sense?: OptimizationSense): void;
|
|
79
134
|
/**
|
|
80
135
|
* Set objective to maximize
|
|
81
136
|
*/
|
|
82
|
-
maximize(expr: LinExpr | QuadExpr | Var | number | string): void;
|
|
137
|
+
maximize(expr: LinExpr | QuadExpr | Var | number | string | Constraint): void;
|
|
83
138
|
/**
|
|
84
139
|
* Set objective to minimize
|
|
85
140
|
*/
|
|
86
|
-
minimize(expr: LinExpr | QuadExpr | Var | number | string): void;
|
|
141
|
+
minimize(expr: LinExpr | QuadExpr | Var | number | string | Constraint): void;
|
|
142
|
+
/**
|
|
143
|
+
* Constrain the model with linear, boolean, or string formula constraints (primary default API).
|
|
144
|
+
* Supports single constraint, array of constraints, and fluent chaining:
|
|
145
|
+
* - m.constrain(expr`${desks} + 2 * ${chairs} <= 40`, "wood")
|
|
146
|
+
* - m.constrain(items.map(i => expr`${x[i]} <= 10`))
|
|
147
|
+
* - m.constrain(c1).constrain(c2)
|
|
148
|
+
*/
|
|
149
|
+
constrain(constraint: Constraint | LinExpr | BoolExpr | string, name?: string): this;
|
|
150
|
+
constrain(constraints: (Constraint | LinExpr | BoolExpr | string)[]): this;
|
|
151
|
+
/**
|
|
152
|
+
* Extract primal solution values directly into plain primitives:
|
|
153
|
+
* - m.getValues(x) -> number | null
|
|
154
|
+
* - m.getValues([x, y]) -> (number | null)[]
|
|
155
|
+
* - m.getValues(record) -> Record<string, number | null>
|
|
156
|
+
* - m.getValues(matrix) -> Record<string, Record<string, number | null>>
|
|
157
|
+
*/
|
|
158
|
+
getValues(item: Var): number | null;
|
|
159
|
+
getValues(items: Var[]): (number | null)[];
|
|
160
|
+
getValues<K extends string | number>(items: Record<K, Var>): Record<K, number | null>;
|
|
161
|
+
getValues<R extends string | number, C extends string | number>(items: Record<R, Record<C, Var>>): Record<R, Record<C, number | null>>;
|
|
87
162
|
/**
|
|
88
163
|
* Add a Boolean (propositional logic) variable for SMT / SAT modeling
|
|
89
164
|
*/
|
|
@@ -91,9 +166,9 @@ export declare class Model {
|
|
|
91
166
|
/**
|
|
92
167
|
* Add a linear or logical constraint to the model
|
|
93
168
|
*/
|
|
94
|
-
addConstraint(constraint: Constraint | string, name?: string): Constraint;
|
|
169
|
+
addConstraint(constraint: Constraint | LinExpr | string, name?: string): Constraint;
|
|
95
170
|
addConstraint(constraint: BoolExpr, name?: string): BoolExpr;
|
|
96
|
-
addConstraint(constraint: Constraint | BoolExpr | string, name?: string): Constraint | BoolExpr;
|
|
171
|
+
addConstraint(constraint: Constraint | LinExpr | BoolExpr | string, name?: string): Constraint | BoolExpr;
|
|
97
172
|
/**
|
|
98
173
|
* python-mip / Gurobi style alias for addConstraint
|
|
99
174
|
*/
|
|
@@ -124,18 +199,22 @@ export declare class Model {
|
|
|
124
199
|
* Automatically handles <=, >=, and == constraints.
|
|
125
200
|
* Enables solving conditional logic in MIP solvers (HiGHS, GLPK) without requiring SMT.
|
|
126
201
|
*/
|
|
127
|
-
|
|
202
|
+
indicator(binVar: Var, constraint: Constraint | LinExpr, options?: IndicatorOptions): Constraint[];
|
|
203
|
+
/**
|
|
204
|
+
* @deprecated Use m.indicator(binVar, constraint, options) instead.
|
|
205
|
+
*/
|
|
206
|
+
addIndicator(binVar: Var, constraint: Constraint | LinExpr, options?: IndicatorOptions): Constraint[];
|
|
128
207
|
/**
|
|
129
208
|
* Export model to CPLEX LP format string
|
|
130
209
|
*/
|
|
131
210
|
toLpString(): string;
|
|
132
211
|
/**
|
|
133
212
|
* Solve the optimization model using the configured solver (defaults to HiGHS WASM)
|
|
134
|
-
* or a solver passed dynamically (
|
|
213
|
+
* or a solver passed dynamically (e.g., await model.optimize(new HiGHS()))
|
|
135
214
|
*/
|
|
136
215
|
optimize(solverOrOptions?: Solver | string | SolveOptions, options?: SolveOptions): Promise<SolverStatus>;
|
|
137
216
|
/**
|
|
138
|
-
*
|
|
217
|
+
* Convenience alias for optimize():
|
|
139
218
|
* await model.solve()
|
|
140
219
|
* await model.solve(new HiGHS())
|
|
141
220
|
* await model.solve(new GLPK())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/modeler/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/modeler/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modeler/solvers/glpk/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Loader for GLPK (GNU Linear Programming Kit) WebAssembly / JS engine.
|
|
3
|
+
* Supports both Node.js (glpk.js/node) and modern browsers (glpk.js worker).
|
|
4
|
+
*/
|
|
5
|
+
type GlpkInstance = any;
|
|
6
|
+
export declare function getGlpk(): Promise<GlpkInstance>;
|
|
7
|
+
/**
|
|
8
|
+
* Terminate GLPK Worker if active and reset cached instance.
|
|
9
|
+
*/
|
|
10
|
+
export declare function terminateGlpk(): void;
|
|
11
|
+
/**
|
|
12
|
+
* Reset cached GLPK loader promise (for testing and retry).
|
|
13
|
+
*/
|
|
14
|
+
export declare function resetGlpkCache(): void;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../../src/modeler/solvers/glpk/loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,YAAY,GAAG,GAAG,CAAC;AAKxB,wBAAsB,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CA6CrD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAUpC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Solver, SolverOptions, SolverResult } from "../types.js";
|
|
2
|
+
import type { LpModelData, LpExportResult } from "../../lp-writer.js";
|
|
3
|
+
/**
|
|
4
|
+
* GLPK Solver adapter (GNU Linear Programming Kit via WebAssembly / JS).
|
|
5
|
+
* Supports standard Linear Programming (LP) and Mixed-Integer Programming (MIP).
|
|
6
|
+
*/
|
|
7
|
+
export declare class GLPKSolver implements Solver {
|
|
8
|
+
static readonly capabilities: {
|
|
9
|
+
supportsMIP: boolean;
|
|
10
|
+
supportsQP: boolean;
|
|
11
|
+
};
|
|
12
|
+
readonly name = "GLPK";
|
|
13
|
+
readonly version = "5.0.0";
|
|
14
|
+
readonly capabilities: {
|
|
15
|
+
supportsMIP: boolean;
|
|
16
|
+
supportsQP: boolean;
|
|
17
|
+
};
|
|
18
|
+
options: SolverOptions;
|
|
19
|
+
constructor(options?: SolverOptions);
|
|
20
|
+
solve(modelData: LpModelData, lpResult: LpExportResult, options?: SolverOptions): Promise<SolverResult>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Register GLPK solver into the solver registry.
|
|
24
|
+
*/
|
|
25
|
+
export declare function registerGLPKSolver(): void;
|
|
26
|
+
//# sourceMappingURL=solver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solver.d.ts","sourceRoot":"","sources":["../../../../../src/modeler/solvers/glpk/solver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKtE;;;GAGG;AACH,qBAAa,UAAW,YAAW,MAAM;IACvC,gBAAuB,YAAY;QACjC,WAAW;QACX,UAAU;MACV;IACF,SAAgB,IAAI,UAAU;IAC9B,SAAgB,OAAO,WAAW;IAClC,SAAgB,YAAY;;;MAA2B;IAChD,OAAO,EAAE,aAAa,CAAC;IAE9B,YAAY,OAAO,GAAE,aAAkB,EAEtC;IAEK,KAAK,CACT,SAAS,EAAE,WAAW,EACtB,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAmMvB;CACF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
|
|
@@ -1,22 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import type { LpModelData, LpExportResult } from "../lp-writer.js";
|
|
3
|
-
/**
|
|
4
|
-
* GLPK Solver adapter (GNU Linear Programming Kit via WebAssembly / JS).
|
|
5
|
-
* Supports standard Linear Programming (LP) and Mixed-Integer Programming (MIP).
|
|
6
|
-
*/
|
|
7
|
-
export declare class GLPKSolver implements Solver {
|
|
8
|
-
static readonly capabilities: {
|
|
9
|
-
supportsMIP: boolean;
|
|
10
|
-
supportsQP: boolean;
|
|
11
|
-
};
|
|
12
|
-
readonly name = "GLPK";
|
|
13
|
-
readonly version = "5.0.0";
|
|
14
|
-
readonly capabilities: {
|
|
15
|
-
supportsMIP: boolean;
|
|
16
|
-
supportsQP: boolean;
|
|
17
|
-
};
|
|
18
|
-
options: SolverOptions;
|
|
19
|
-
constructor(options?: SolverOptions);
|
|
20
|
-
solve(modelData: LpModelData, lpResult: LpExportResult, options?: SolverOptions): Promise<SolverResult>;
|
|
21
|
-
}
|
|
1
|
+
export * from "./glpk/index.js";
|
|
22
2
|
//# sourceMappingURL=glpk.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glpk.d.ts","sourceRoot":"","sources":["../../../../src/modeler/solvers/glpk.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"glpk.d.ts","sourceRoot":"","sources":["../../../../src/modeler/solvers/glpk.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../../../../src/modeler/solvers/highs/assets.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/modeler/solvers/highs/browser-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modeler/solvers/highs/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SolveOptions } from "
|
|
1
|
+
import type { SolveOptions } from "../../types.js";
|
|
2
2
|
export declare const OFFICIAL_HIGHS_CDN_WASM_URL = "https://cdn.jsdelivr.net/npm/highs@1.15.3/build/highs.wasm";
|
|
3
3
|
type HighsInstance = any;
|
|
4
4
|
export declare function setHighsWasmUrl(url: string | null): void;
|
|
@@ -52,4 +52,4 @@ export declare function solveLpWithHighs(lpString: string, options?: SolveOption
|
|
|
52
52
|
runTime: number;
|
|
53
53
|
}>;
|
|
54
54
|
export {};
|
|
55
|
-
//# sourceMappingURL=
|
|
55
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../../src/modeler/solvers/highs/loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInD,eAAO,MAAM,2BAA2B,+DACsB,CAAC;AAE/D,KAAK,aAAa,GAAG,GAAG,CAAC;AAMzB,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,QAKjD;AAED,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAE/C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAQ5D;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgChE;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CASjF;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CA8CjF;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA6B3D"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare function loadNodeHighs(): Promise<any>;
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=node-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/modeler/solvers/highs/node-runtime.ts"],"names":[],"mappings":"AAAA,wBAAsB,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,CAElD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Solver, SolverOptions, SolverResult } from "../types.js";
|
|
2
|
+
import type { LpModelData, LpExportResult } from "../../lp-writer.js";
|
|
3
|
+
import type { SolverStatus } from "../../types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Map a raw HiGHS model status string to WaSHI's standardized SolverStatus.
|
|
6
|
+
* Only verified optimality maps to "Optimal"; missing or unrecognized statuses map to "Unknown".
|
|
7
|
+
*/
|
|
8
|
+
export declare function mapHighsStatus(rawStatus: unknown): SolverStatus;
|
|
9
|
+
/**
|
|
10
|
+
* HiGHS Solver adapter (WebAssembly in Browser / Node.js)
|
|
11
|
+
* High-performance simplex / interior point / branch-and-cut solver.
|
|
12
|
+
*/
|
|
13
|
+
export declare class HighsSolver implements Solver {
|
|
14
|
+
static readonly capabilities: {
|
|
15
|
+
supportsMIP: boolean;
|
|
16
|
+
supportsQP: boolean;
|
|
17
|
+
};
|
|
18
|
+
readonly name = "HiGHS";
|
|
19
|
+
readonly version = "1.15.3";
|
|
20
|
+
readonly capabilities: {
|
|
21
|
+
supportsMIP: boolean;
|
|
22
|
+
supportsQP: boolean;
|
|
23
|
+
};
|
|
24
|
+
options: SolverOptions;
|
|
25
|
+
constructor(options?: SolverOptions);
|
|
26
|
+
solve(modelData: LpModelData, lpResult: LpExportResult, options?: SolverOptions): Promise<SolverResult>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Short alias for HighsSolver
|
|
30
|
+
*/
|
|
31
|
+
export declare const HiGHS: typeof HighsSolver;
|
|
32
|
+
export declare function registerHighsSolver(): void;
|
|
33
|
+
//# sourceMappingURL=solver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solver.d.ts","sourceRoot":"","sources":["../../../../../src/modeler/solvers/highs/solver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,OAAO,GAAG,YAAY,CAkE/D;AAED;;;GAGG;AACH,qBAAa,WAAY,YAAW,MAAM;IACxC,gBAAuB,YAAY;QACjC,WAAW;QACX,UAAU;MACV;IACF,SAAgB,IAAI,WAAW;IAC/B,SAAgB,OAAO,YAAY;IACnC,SAAgB,YAAY;;;MAA4B;IACjD,OAAO,EAAE,aAAa,CAAC;IAE9B,YAAY,OAAO,GAAE,aAAkB,EAEtC;IAEK,KAAK,CACT,SAAS,EAAE,WAAW,EACtB,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAsEvB;CACF;AAED;;GAEG;AACH,eAAO,MAAM,KAAK,oBAAc,CAAC;AAGjC,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SolveOptions } from "../../types.js";
|
|
2
|
+
import { type RawHighsSolveResult } from "./loader.js";
|
|
3
|
+
/**
|
|
4
|
+
* Solve an LP model using a Web Worker if supported and requested,
|
|
5
|
+
* falling back to the main thread WASM solver otherwise.
|
|
6
|
+
*/
|
|
7
|
+
export declare function solveLp(lpString: string, options?: SolveOptions & {
|
|
8
|
+
useWorker?: boolean;
|
|
9
|
+
}): Promise<{
|
|
10
|
+
result: RawHighsSolveResult;
|
|
11
|
+
runTime: number;
|
|
12
|
+
}>;
|
|
13
|
+
//# sourceMappingURL=worker-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-client.d.ts","sourceRoot":"","sources":["../../../../../src/modeler/solvers/highs/worker-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAEL,KAAK,mBAAmB,EAEzB,MAAM,aAAa,CAAC;AA8DrB;;;GAGG;AACH,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,YAAY,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAAC;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA8B3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-factory.d.ts","sourceRoot":"","sources":["../../../../../src/modeler/solvers/highs/worker-factory.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../../../src/modeler/solvers/highs/worker.ts"],"names":[],"mappings":""}
|
|
@@ -1,32 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import type { LpModelData, LpExportResult } from "../lp-writer.js";
|
|
3
|
-
import type { SolverStatus } from "../types.js";
|
|
4
|
-
/**
|
|
5
|
-
* Map a raw HiGHS model status string to WaSHI's standardized SolverStatus.
|
|
6
|
-
* Only verified optimality maps to "Optimal"; missing or unrecognized statuses map to "Unknown".
|
|
7
|
-
*/
|
|
8
|
-
export declare function mapHighsStatus(rawStatus: unknown): SolverStatus;
|
|
9
|
-
/**
|
|
10
|
-
* HiGHS Solver adapter (WebAssembly in Browser / Node.js)
|
|
11
|
-
* High-performance simplex / interior point / branch-and-cut solver.
|
|
12
|
-
*/
|
|
13
|
-
export declare class HighsSolver implements Solver {
|
|
14
|
-
static readonly capabilities: {
|
|
15
|
-
supportsMIP: boolean;
|
|
16
|
-
supportsQP: boolean;
|
|
17
|
-
};
|
|
18
|
-
readonly name = "HiGHS";
|
|
19
|
-
readonly version = "1.15.3";
|
|
20
|
-
readonly capabilities: {
|
|
21
|
-
supportsMIP: boolean;
|
|
22
|
-
supportsQP: boolean;
|
|
23
|
-
};
|
|
24
|
-
options: SolverOptions;
|
|
25
|
-
constructor(options?: SolverOptions);
|
|
26
|
-
solve(modelData: LpModelData, lpResult: LpExportResult, options?: SolverOptions): Promise<SolverResult>;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* PuLP-style alias: pulp.HiGHS()
|
|
30
|
-
*/
|
|
31
|
-
export declare const HiGHS: typeof HighsSolver;
|
|
1
|
+
export * from "./highs/index.js";
|
|
32
2
|
//# sourceMappingURL=highs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"highs.d.ts","sourceRoot":"","sources":["../../../../src/modeler/solvers/highs.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"highs.d.ts","sourceRoot":"","sources":["../../../../src/modeler/solvers/highs.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
|