@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.
Files changed (104) hide show
  1. package/README.ja.md +195 -105
  2. package/README.md +195 -105
  3. package/README.zh-CN.md +197 -107
  4. package/dist/browser/highs-worker.js +2 -2
  5. package/dist/browser/{highs-loader-T47YOyos.js → loader-CVt4CloI.js} +2 -2
  6. package/dist/browser/solvers/glpk.js +1065 -0
  7. package/dist/browser/solvers/glpk.min.js +1 -0
  8. package/dist/browser/solvers/z3-built.js +8245 -0
  9. package/dist/browser/solvers/z3-built.wasm +4 -0
  10. package/dist/browser/solvers/z3.js +7550 -0
  11. package/dist/browser/solvers/z3.min.js +5 -0
  12. package/dist/browser/washi.js +370 -642
  13. package/dist/browser/washi.min.js +4 -4
  14. package/dist/lib/async-mutex-Duo4jwzn.js +195 -0
  15. package/dist/lib/constraint-BRuB3ooC.js +90 -0
  16. package/dist/lib/highs-worker.js +2 -2
  17. package/dist/lib/{highs-loader-Blb99785.js → loader-Dti0v9yC.js} +1 -1
  18. package/dist/lib/registry-DksqCSjI.js +32 -0
  19. package/dist/lib/solvers/glpk.js +161 -2
  20. package/dist/lib/solvers/z3-assets.js +1 -0
  21. package/dist/lib/solvers/z3-built.js +8245 -0
  22. package/dist/lib/solvers/z3-built.wasm +4 -0
  23. package/dist/lib/solvers/z3.js +476 -2
  24. package/dist/lib/washi.js +604 -248
  25. package/dist/types/index.d.ts +7 -10
  26. package/dist/types/index.d.ts.map +1 -1
  27. package/dist/types/modeler/constraint.d.ts +0 -3
  28. package/dist/types/modeler/constraint.d.ts.map +1 -1
  29. package/dist/types/modeler/expression.d.ts +16 -10
  30. package/dist/types/modeler/expression.d.ts.map +1 -1
  31. package/dist/types/modeler/index.d.ts +3 -5
  32. package/dist/types/modeler/index.d.ts.map +1 -1
  33. package/dist/types/modeler/model.d.ts +91 -12
  34. package/dist/types/modeler/model.d.ts.map +1 -1
  35. package/dist/types/modeler/solvers/glpk/index.d.ts +3 -0
  36. package/dist/types/modeler/solvers/glpk/index.d.ts.map +1 -0
  37. package/dist/types/modeler/solvers/glpk/loader.d.ts +16 -0
  38. package/dist/types/modeler/solvers/glpk/loader.d.ts.map +1 -0
  39. package/dist/types/modeler/solvers/glpk/solver.d.ts +26 -0
  40. package/dist/types/modeler/solvers/glpk/solver.d.ts.map +1 -0
  41. package/dist/types/modeler/solvers/glpk.d.ts +1 -21
  42. package/dist/types/modeler/solvers/glpk.d.ts.map +1 -1
  43. package/dist/types/{highs-assets.d.ts → modeler/solvers/highs/assets.d.ts} +1 -1
  44. package/dist/types/modeler/solvers/highs/assets.d.ts.map +1 -0
  45. package/dist/types/modeler/solvers/highs/browser-runtime.d.ts +2 -0
  46. package/dist/types/modeler/solvers/highs/browser-runtime.d.ts.map +1 -0
  47. package/dist/types/modeler/solvers/highs/index.d.ts +6 -0
  48. package/dist/types/modeler/solvers/highs/index.d.ts.map +1 -0
  49. package/dist/types/{highs-loader.d.ts → modeler/solvers/highs/loader.d.ts} +2 -2
  50. package/dist/types/modeler/solvers/highs/loader.d.ts.map +1 -0
  51. package/dist/types/{highs-node-runtime.d.ts → modeler/solvers/highs/node-runtime.d.ts} +1 -1
  52. package/dist/types/modeler/solvers/highs/node-runtime.d.ts.map +1 -0
  53. package/dist/types/modeler/solvers/highs/solver.d.ts +33 -0
  54. package/dist/types/modeler/solvers/highs/solver.d.ts.map +1 -0
  55. package/dist/types/modeler/solvers/highs/worker-client.d.ts +13 -0
  56. package/dist/types/modeler/solvers/highs/worker-client.d.ts.map +1 -0
  57. package/dist/types/{highs-worker-factory.d.ts → modeler/solvers/highs/worker-factory.d.ts} +1 -1
  58. package/dist/types/modeler/solvers/highs/worker-factory.d.ts.map +1 -0
  59. package/dist/types/modeler/solvers/highs/worker.d.ts +2 -0
  60. package/dist/types/modeler/solvers/highs/worker.d.ts.map +1 -0
  61. package/dist/types/modeler/solvers/highs.d.ts +1 -31
  62. package/dist/types/modeler/solvers/highs.d.ts.map +1 -1
  63. package/dist/types/modeler/solvers/index.d.ts +0 -2
  64. package/dist/types/modeler/solvers/index.d.ts.map +1 -1
  65. package/dist/types/modeler/solvers/mock.d.ts +1 -0
  66. package/dist/types/modeler/solvers/mock.d.ts.map +1 -1
  67. package/dist/types/modeler/solvers/registry.d.ts +1 -2
  68. package/dist/types/modeler/solvers/registry.d.ts.map +1 -1
  69. package/dist/types/modeler/solvers/types.d.ts +1 -1
  70. package/dist/types/modeler/solvers/z3/assets.d.ts +11 -0
  71. package/dist/types/modeler/solvers/z3/assets.d.ts.map +1 -0
  72. package/dist/types/modeler/solvers/z3/index.d.ts +3 -0
  73. package/dist/types/modeler/solvers/z3/index.d.ts.map +1 -0
  74. package/dist/types/modeler/solvers/z3/loader.d.ts +56 -0
  75. package/dist/types/modeler/solvers/z3/loader.d.ts.map +1 -0
  76. package/dist/types/modeler/solvers/z3/solver.d.ts +34 -0
  77. package/dist/types/modeler/solvers/z3/solver.d.ts.map +1 -0
  78. package/dist/types/modeler/solvers/z3.d.ts +1 -35
  79. package/dist/types/modeler/solvers/z3.d.ts.map +1 -1
  80. package/dist/types/modeler/types.d.ts +8 -3
  81. package/dist/types/modeler/types.d.ts.map +1 -1
  82. package/dist/types/modeler/variable.d.ts +1 -6
  83. package/dist/types/modeler/variable.d.ts.map +1 -1
  84. package/package.json +28 -6
  85. package/dist/browser/_washi-optional-engine-282Ug7Gw.js +0 -7
  86. package/dist/lib/glpk-5cUpjyb9.js +0 -135
  87. package/dist/lib/z3-C6GeIicJ.js +0 -509
  88. package/dist/types/glpk-loader.d.ts +0 -8
  89. package/dist/types/glpk-loader.d.ts.map +0 -1
  90. package/dist/types/highs-assets.d.ts.map +0 -1
  91. package/dist/types/highs-browser-runtime.d.ts +0 -2
  92. package/dist/types/highs-browser-runtime.d.ts.map +0 -1
  93. package/dist/types/highs-loader.d.ts.map +0 -1
  94. package/dist/types/highs-node-runtime.d.ts.map +0 -1
  95. package/dist/types/highs-worker-client.d.ts +0 -12
  96. package/dist/types/highs-worker-client.d.ts.map +0 -1
  97. package/dist/types/highs-worker-factory.d.ts.map +0 -1
  98. package/dist/types/highs-worker.d.ts +0 -2
  99. package/dist/types/highs-worker.d.ts.map +0 -1
  100. package/dist/types/modeler/mip-compat.d.ts +0 -43
  101. package/dist/types/modeler/mip-compat.d.ts.map +0 -1
  102. package/dist/types/modeler/pulp-compat.d.ts +0 -67
  103. package/dist/types/modeler/pulp-compat.d.ts.map +0 -1
  104. /package/dist/browser/{highs-browser-runtime-D13gHOT5.js → browser-runtime-D13gHOT5.js} +0 -0
@@ -1,14 +1,11 @@
1
1
  /**
2
- * opt-ts: Modern Mathematical Optimization Modeler for TypeScript & JavaScript
2
+ * WaSHI: Modern Mathematical Optimization Modeler for TypeScript & JavaScript
3
3
  *
4
- * Elegant PuLP/python-mip style modeling with WebAssembly (HiGHS) and pluggable solvers.
5
- * Supports LP (Linear Programming), MIP (Mixed-Integer Programming), and QP (Quadratic 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, sum, xsum, lpSum, QuadExpr, type QuadTerm, Constraint, BoolVar, BoolExpr, BoolOp, and, or, not, implies, xor, parseExpr, parseConstraint, expr, c, generateLpString, type LpModelData, type LpExportResult, } from "./modeler/index.js";
8
- export type { VarType, OptimizationSense, ComparisonSense, SolverStatus, SolveOptions, SolverSolution, } from "./modeler/types.js";
9
- export { LpProblem, LpVariable, LpMinimize, LpMaximize, LpContinuous, LpInteger, LpBinary, LpStatus, value, } from "./modeler/pulp-compat.js";
10
- export { MipModel, MINIMIZE, MAXIMIZE, CONTINUOUS, INTEGER, BINARY, maximize, minimize, } from "./modeler/mip-compat.js";
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,GAAG,EACH,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,QAAQ,EACb,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;AAG5B,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,KAAK,GACN,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,OAAO,EACP,MAAM,EACN,QAAQ,EACR,QAAQ,GACT,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,WAAW,EACX,KAAK,EACL,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,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,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC"}
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;;;GAGG;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;IAED,qCAAqC;IACrC,IAAI,EAAE,IAAI,MAAM,GAAG,IAAI,CAEtB;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"}
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
- * PuLP style value accessor
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
- * Sum an array or iterable of variables, expressions, or numbers.
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 declare function sum<T = any>(items: Iterable<T>, mapFn?: (item: T, index: number) => LinExpr | Var | number): LinExpr;
67
+ export type Expr = LinExpr | QuadExpr;
71
68
  /**
72
- * python-mip style alias for sum
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 const xsum: typeof sum;
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
- * PuLP style alias for sum
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 const lpSum: typeof sum;
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;;;GAGG;AACH,qBAAa,OAAO;IACX,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IAExB,YAAY,KAAK,GAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAa,EAAE,QAAQ,GAAE,MAAU,EAGpE;IAED;;OAEG;IACH,KAAK,IAAI,OAAO,CAEf;IAED;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC;IAiC5C;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC;IAc5C;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC;IAuBtB;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAK3B;IAED;;OAEG;IACH,GAAG,IAAI,OAAO,CAEb;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,GAAG,IAAI,CASzB;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,IAAI,CAExB;IAED;;OAEG;IACH,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAEzD;IACD,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAEtE;IAED;;OAEG;IACH,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAEzD;IACD,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAEzE;IAED;;OAEG;IACH,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAEzD;IACD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAE9D;IAED,OAAO,CAAC,YAAY;IAuBpB,QAAQ,IAAI,MAAM,CAkBjB;CACF;AAED;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,EACzB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAClB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,GAAG,GAAG,MAAM,GACzD,OAAO,CA+BT;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,YAAM,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,KAAK,YAAM,CAAC"}
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;;GAEG;AACH,qBAAa,OAAO;IACX,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IAExB,YAAY,KAAK,GAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAa,EAAE,QAAQ,GAAE,MAAU,EAGpE;IAED;;OAEG;IACH,KAAK,IAAI,OAAO,CAEf;IAED;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC;IAiC5C;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC;IAc5C;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC;IAuBtB;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAK3B;IAED;;OAEG;IACH,GAAG,IAAI,OAAO,CAEb;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,GAAG,IAAI,CASzB;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,IAAI,CAExB;IAED;;OAEG;IACH,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAEzD;IACD,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAEtE;IAED;;OAEG;IACH,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAEzD;IACD,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAEzE;IAED;;OAEG;IACH,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAEzD;IACD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAE9D;IAED,OAAO,CAAC,YAAY;IAuBpB,QAAQ,IAAI,MAAM,CAkBjB;CACF;AAED;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEtC;;;;;;GAMG;AACH,wBAAgB,GAAG,CACjB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,GAAG,GAAG,MAAM,GAC/C,OAAO,CAAC;AACX,wBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,EACzB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAClB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,GAAG,GAAG,MAAM,GACzD,OAAO,CAAC;AAkDX;;;;;;GAMG;AACH,wBAAgB,GAAG,CACjB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAC9B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAC7B,OAAO,CAqJT"}
@@ -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, sum, xsum, lpSum } from "./expression.js";
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 "../highs-loader.js";
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":"AACA,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,GAAG,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC5D,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,OAAO,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,KAAK,GACN,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,OAAO,EACP,MAAM,EACN,QAAQ,EACR,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAGzB,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
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 { VarType, OptimizationSense, SolverStatus, SolveOptions, SolverSolution } from "./types.js";
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 intuitive mathematical programming model.
20
- * Inspired by PuLP (Python) and python-mip, running directly with HiGHS WASM in browser and Node.js.
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(options?: ModelOptions);
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
- addIndicator(binVar: Var, constraint: Constraint, options?: IndicatorOptions): Constraint[];
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 (PuLP style: prob.solve(solver))
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
- * PuLP style alias for optimize:
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":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/modeler/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./solver.js";
2
+ export * from "./loader.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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
- 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
- }
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,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAInE;;;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,CAoLvB;CACF"}
1
+ {"version":3,"file":"glpk.d.ts","sourceRoot":"","sources":["../../../../src/modeler/solvers/glpk.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  /** Vite handles this in the demo; the library build preserves a package-relative URL. */
2
2
  export declare function getBundledWasmUrl(): string;
3
- //# sourceMappingURL=highs-assets.d.ts.map
3
+ //# sourceMappingURL=assets.d.ts.map
@@ -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,2 @@
1
+ export { default } from "highs";
2
+ //# sourceMappingURL=browser-runtime.d.ts.map
@@ -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,6 @@
1
+ export * from "./solver.js";
2
+ export * from "./loader.js";
3
+ export * from "./worker-client.js";
4
+ export * from "./worker-factory.js";
5
+ export * from "./assets.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -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 "./modeler/types.js";
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=highs-loader.d.ts.map
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=highs-node-runtime.d.ts.map
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"}
@@ -1,3 +1,3 @@
1
1
  /** Kept separate from the loader so worker builds do not recursively include themselves. */
2
2
  export declare function createHighsWorker(): Worker;
3
- //# sourceMappingURL=highs-worker-factory.d.ts.map
3
+ //# sourceMappingURL=worker-factory.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=worker.d.ts.map
@@ -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
- 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
- * 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,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD;;;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,CAyDvB;CACF;AAED;;GAEG;AACH,eAAO,MAAM,KAAK,oBAAc,CAAC"}
1
+ {"version":3,"file":"highs.d.ts","sourceRoot":"","sources":["../../../../src/modeler/solvers/highs.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}