@ohtaman/washi 0.6.0 → 0.7.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 +103 -421
- package/README.md +103 -421
- package/README.zh-CN.md +103 -421
- package/THIRD_PARTY_LICENSES.md +5 -3
- package/dist/browser/solvers/glpk.js +2 -2
- package/dist/browser/solvers/glpk.min.js +1 -1
- package/dist/browser/washi.js +777 -261
- package/dist/browser/washi.min.js +3 -3
- package/dist/lib/{registry-C20sxTwm.js → registry-D7TZ3Wh_.js} +88 -18
- package/dist/lib/solvers/glpk.js +3 -3
- package/dist/lib/solvers/z3.js +1 -1
- package/dist/lib/washi.js +864 -421
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/modeler/expression.d.ts +47 -26
- package/dist/types/modeler/expression.d.ts.map +1 -1
- package/dist/types/modeler/index.d.ts +2 -2
- package/dist/types/modeler/index.d.ts.map +1 -1
- package/dist/types/modeler/model.d.ts +12 -6
- package/dist/types/modeler/model.d.ts.map +1 -1
- package/dist/types/modeler/parser.d.ts +25 -5
- package/dist/types/modeler/parser.d.ts.map +1 -1
- package/dist/types/modeler/solvers/glpk/solver.d.ts.map +1 -1
- package/dist/types/modeler/solvers/highs/solver.d.ts.map +1 -1
- package/dist/types/modeler/solvers/highs/worker-client.d.ts.map +1 -1
- package/dist/types/modeler/solvers/types.d.ts +2 -0
- package/dist/types/modeler/solvers/types.d.ts.map +1 -1
- package/docs/examples/diet-sensitivity.md +15 -14
- package/docs/examples/ecommerce-coupons.md +15 -22
- package/docs/examples/index.md +14 -12
- package/docs/examples/knapsack.md +8 -7
- package/docs/examples/portfolio-qp.md +11 -4
- package/docs/examples/production.md +4 -4
- package/docs/examples/shift-scheduling.md +20 -7
- package/docs/examples/smt-security.md +16 -4
- package/docs/examples/transportation.md +46 -19
- package/docs/examples/traveling-salesperson.md +28 -44
- package/docs/examples/unsat-core.md +15 -5
- package/docs/examples/vehicle-routing.md +10 -8
- package/docs/getting-started/ai-agents.md +25 -14
- package/docs/getting-started/cross-origin.md +56 -28
- package/docs/getting-started/index.md +40 -69
- package/docs/getting-started/runtimes.md +66 -61
- package/docs/guide/constraints.md +46 -40
- package/docs/guide/decomposition.md +127 -259
- package/docs/guide/expressions.md +90 -39
- package/docs/guide/formulation-tips.md +212 -0
- package/docs/guide/objectives.md +7 -4
- package/docs/guide/unsat-core.md +18 -6
- package/docs/guide/variables.md +33 -38
- package/docs/ja/getting-started/ai-agents.md +24 -14
- package/docs/solvers/highs.md +27 -6
- package/docs/solvers/index.md +1 -1
- package/docs/solvers/z3.md +3 -0
- package/docs/zh/getting-started/ai-agents.md +24 -14
- package/llms-full.txt +929 -687
- package/llms.txt +21 -19
- package/package.json +3 -3
- package/skills/washi/SKILL.md +14 -10
package/dist/types/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Domain-pure algebraic modeling with WebAssembly (HiGHS, Z3, GLPK) and pluggable solvers.
|
|
5
5
|
* Supports LP (Linear Programming), MIP (Mixed-Integer Programming), QP (Quadratic Programming), and SMT.
|
|
6
6
|
*/
|
|
7
|
-
export { Model, type ModelOptions, type BoundsOptions, type BinaryOptions, type IndicatorOptions, type ConstraintItem, type KeyCollection, deriveBigMForLe, deriveBigMForGe, validateUserBigM, buildIndicatorLinearization, linearizeModelForMip, type LinearizationResult, validateModelIntegrity, maximize, minimize, type ObjectiveExpr, type ObjectiveSpec, Var, type VarOptions, LinExpr, QuadExpr, type Expr, type DotTerm, type DotVarContainer, type DotCoeffContainer, type QuadTerm, sum, dot, Constraint, BoolVar, BoolExpr, BoolOp, type LogicElement, type LogicInput, and, or, not, implies, xor, parseExpr, parseConstraint, expr, type ParsedExpr, type ExprResolver, generateLpString, buildLpSymbolMaps, isLpExportResult, sanitizeIdentifier, type LpModelData, type LpSymbolMaps, type LpExportResult, validateModelSolution, type SolutionValidationOptions, type ViolationType, type SolutionViolation, type SolutionValidationSummary, type SolutionValidationReport, } from "./modeler/index.js";
|
|
7
|
+
export { Model, type ModelOptions, type BoundsOptions, type BinaryOptions, type IndicatorOptions, type ConstraintItem, type KeyCollection, deriveBigMForLe, deriveBigMForGe, validateUserBigM, buildIndicatorLinearization, linearizeModelForMip, type LinearizationResult, validateModelIntegrity, maximize, minimize, type ObjectiveExpr, type ObjectiveSpec, Var, type VarOptions, LinExpr, QuadExpr, type Expr, type DotTerm, type DotVarContainer, type DotCoeffContainer, type SumTerm, type SumContainer, type QuadTerm, sum, dot, Constraint, BoolVar, BoolExpr, BoolOp, type LogicElement, type LogicInput, and, or, not, implies, xor, parseExpr, parseConstraint, expr, type ParsedExpr, type ExprResolver, type ExprContainerLeaf, type ExprRecordContainer, type ExprMapperFn, type ExprInterpolation, generateLpString, buildLpSymbolMaps, isLpExportResult, sanitizeIdentifier, type LpModelData, type LpSymbolMaps, type LpExportResult, validateModelSolution, type SolutionValidationOptions, type ViolationType, type SolutionViolation, type SolutionValidationSummary, type SolutionValidationReport, } from "./modeler/index.js";
|
|
8
8
|
export { normalizeSense, type VarType, type OptimizationSense, type ComparisonSense, type SolverStatus, type TerminationStatus, type SolveProgressEvent, type SolveOptions, type SolverSolution, type CheckResult, type ColumnDefinition, } from "./modeler/types.js";
|
|
9
9
|
export { solveColumnGeneration, solveBenders, type ColumnProposal, type PricingContext, type ColumnGenerationIterationInfo, type ColumnGenerationOptions, type ColumnGenerationResult, type BendersCut, type BendersSubproblemContext, type BendersSubproblemResult, type BendersIterationInfo, type BendersOptions, type BendersResult, } from "./decomposition/index.js";
|
|
10
10
|
export { type Solver, type SolverOptions, type SolverResult, type SolverCheckResult, type SolverCapabilities, type SolveModelData, type CheckModelData, type LogicalConstraintItem, HighsSolver, HiGHS, MockSolver, type MockSolverOptions, registerSolver, getSolver, setDefaultSolver, listAvailableSolvers, } from "./modeler/solvers/index.js";
|
|
@@ -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,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC3B,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,sBAAsB,EACtB,QAAQ,EACR,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,GAAG,EACH,KAAK,UAAU,EACf,OAAO,EACP,QAAQ,EACR,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,GAAG,EACH,GAAG,EACH,UAAU,EACV,OAAO,EACP,QAAQ,EACR,MAAM,EACN,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,GAAG,EACH,EAAE,EACF,GAAG,EACH,OAAO,EACP,GAAG,EACH,SAAS,EACT,eAAe,EACf,IAAI,EACJ,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,qBAAqB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,cAAc,EACd,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EACf,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EACL,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,WAAW,EACX,KAAK,EACL,UAAU,EACV,KAAK,iBAAiB,EACtB,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,KAAK,EACL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACtB,MAAM,kCAAkC,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,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC3B,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,sBAAsB,EACtB,QAAQ,EACR,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,GAAG,EACH,KAAK,UAAU,EACf,OAAO,EACP,QAAQ,EACR,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,GAAG,EACH,GAAG,EACH,UAAU,EACV,OAAO,EACP,QAAQ,EACR,MAAM,EACN,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,GAAG,EACH,EAAE,EACF,GAAG,EACH,OAAO,EACP,GAAG,EACH,SAAS,EACT,eAAe,EACf,IAAI,EACJ,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,qBAAqB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,cAAc,EACd,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EACf,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EACL,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,WAAW,EACX,KAAK,EACL,UAAU,EACV,KAAK,iBAAiB,EACtB,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,KAAK,EACL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACtB,MAAM,kCAAkC,CAAC"}
|
|
@@ -79,32 +79,6 @@ export declare class LinExpr {
|
|
|
79
79
|
* Union expression type covering linear and quadratic expressions.
|
|
80
80
|
*/
|
|
81
81
|
export type Expr = LinExpr | QuadExpr;
|
|
82
|
-
/**
|
|
83
|
-
* Sum an `Iterable` of `Var` / `LinExpr` / `number` items, an `Iterable` with a mapping function,
|
|
84
|
-
* or a numeric count `n` with an index mapper `(0 .. n - 1)` into a single `LinExpr`.
|
|
85
|
-
*
|
|
86
|
-
* **Formulation notes**:
|
|
87
|
-
* - Produces a linear expression (`LinExpr`).
|
|
88
|
-
* - Passing comparison `Constraint`s (`<=`, `>=`, `==`) or non-linear `QuadExpr` terms throws an Error
|
|
89
|
-
* (quadratic terms are supported in objectives only via `expr` or `.mul()`).
|
|
90
|
-
*
|
|
91
|
-
* @example
|
|
92
|
-
* ```ts
|
|
93
|
-
* const m = new Model("SumExample");
|
|
94
|
-
* const x = m.continuous(3, { lb: 0, prefix: "x" });
|
|
95
|
-
* const byItem = m.integer(["desk", "chair"] as const, { lb: 0 });
|
|
96
|
-
*
|
|
97
|
-
* // Sum an array or iterable directly
|
|
98
|
-
* m.constraint(expr`${sum(x)} <= 100`, "total_x");
|
|
99
|
-
* m.constraint(expr`${sum(Object.values(byItem))} <= 50`, "total_items");
|
|
100
|
-
*
|
|
101
|
-
* // Sum with a mapper or over a count range (0..2)
|
|
102
|
-
* const weighted = sum(3, (i) => expr`${i + 1} * ${x[i]}`);
|
|
103
|
-
* m.objective(maximize(weighted));
|
|
104
|
-
* ```
|
|
105
|
-
*/
|
|
106
|
-
export declare function sum(count: number, mapFn: (index: number) => LinExpr | QuadExpr | Constraint | Var | number): LinExpr;
|
|
107
|
-
export declare function sum<T = any>(items: Iterable<T>, mapFn?: (item: T, index: number) => LinExpr | QuadExpr | Constraint | Var | number): LinExpr;
|
|
108
82
|
export type DotTerm = Var | LinExpr;
|
|
109
83
|
export type DotVarContainer<R extends string | number = string | number, C extends string | number = string | number> = ReadonlyArray<DotTerm> | {
|
|
110
84
|
readonly [K in R]: DotTerm;
|
|
@@ -142,6 +116,53 @@ type DotRecordShape<T, Leaf, Inner = never> = object & {
|
|
|
142
116
|
readonly [K in keyof T]: Leaf | ReadonlyArray<Leaf> | DotRecordLeafMap<T[K], Leaf> | DotRecordLeafMap<Inner, Leaf>;
|
|
143
117
|
} & NoSymbolKeys<T>;
|
|
144
118
|
type DotContainerArg<T, Leaf, Inner = never> = ReadonlyArray<Leaf> | ReadonlyArray<ReadonlyArray<Leaf>> | ReadonlyArray<DotRecordLeafMap<T[number & keyof T], Leaf>> | DotRecordShape<T, Leaf, Inner>;
|
|
119
|
+
export type SumTerm = Var | LinExpr | number;
|
|
120
|
+
export type SumContainer<R extends string | number = string | number, C extends string | number = string | number> = Iterable<SumTerm> | {
|
|
121
|
+
readonly [K in R]: SumTerm;
|
|
122
|
+
} | Iterable<Iterable<SumTerm>> | Iterable<{
|
|
123
|
+
readonly [K in C]: SumTerm;
|
|
124
|
+
}> | {
|
|
125
|
+
readonly [K in R]: Iterable<SumTerm>;
|
|
126
|
+
} | {
|
|
127
|
+
readonly [K in R]: {
|
|
128
|
+
readonly [L in C]: SumTerm;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
type SumRecordLeaf = LinExpr | QuadExpr | Constraint | Var | number;
|
|
132
|
+
type SumRecordShape<T, Inner = never> = object & {
|
|
133
|
+
readonly [K in keyof T]: SumRecordLeaf | Iterable<SumRecordLeaf> | DotRecordLeafMap<T[K], SumRecordLeaf> | DotRecordLeafMap<Inner, SumRecordLeaf>;
|
|
134
|
+
} & NoSymbolKeys<T>;
|
|
135
|
+
/**
|
|
136
|
+
* Sum a 1D or 2D `Iterable` / `Array` / plain `Record` of `Var` / `LinExpr` / `number` items,
|
|
137
|
+
* an `Iterable` or `Record` with a mapping function, or a numeric count `n` with an index mapper `(0 .. n - 1)`
|
|
138
|
+
* into a single `LinExpr`.
|
|
139
|
+
*
|
|
140
|
+
* **Formulation notes**:
|
|
141
|
+
* - Produces a linear expression (`LinExpr`).
|
|
142
|
+
* - Accepts 1D/2D `Record` containers directly without `Object.values()`.
|
|
143
|
+
* - Passing comparison `Constraint`s (`<=`, `>=`, `==`) or non-linear `QuadExpr` terms throws an Error
|
|
144
|
+
* (quadratic terms are supported in objectives only via `expr` or `.mul()`).
|
|
145
|
+
*
|
|
146
|
+
* @example
|
|
147
|
+
* ```ts
|
|
148
|
+
* const m = new Model("SumExample");
|
|
149
|
+
* const x = m.continuous(3, { lb: 0, prefix: "x" });
|
|
150
|
+
* const byItem = m.integer(["desk", "chair"] as const, { lb: 0 });
|
|
151
|
+
*
|
|
152
|
+
* // Sum an array, iterable, or Record directly (or inside expr`sum(...)`)
|
|
153
|
+
* m.constraint(expr`sum(${x}) <= 100`, "total_x");
|
|
154
|
+
* m.constraint(expr`sum(${byItem}) <= 50`, "total_items");
|
|
155
|
+
*
|
|
156
|
+
* // Sum with a mapper or over a count range (0..2)
|
|
157
|
+
* const weighted = sum(3, (i) => expr`${i + 1} * ${x[i]}`);
|
|
158
|
+
* m.objective(maximize(weighted));
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
export declare function sum(count: number, mapFn: (index: number) => LinExpr | QuadExpr | Constraint | Var | number): LinExpr;
|
|
162
|
+
export declare function sum<T = any>(items: Iterable<T>, mapFn?: (item: T, index: number) => LinExpr | QuadExpr | Constraint | Var | number): LinExpr;
|
|
163
|
+
export declare function sum<T extends object>(record: T & NoSymbolKeys<T>, mapFn: (value: T[keyof T], index: number) => LinExpr | QuadExpr | Constraint | Var | number): LinExpr;
|
|
164
|
+
export declare function sum<T = SumContainer, TI = never>(container: T & (Record<any, TI> | unknown) & SumRecordShape<T, TI>): LinExpr;
|
|
165
|
+
export declare function sum(container: SumContainer<any, any>): LinExpr;
|
|
145
166
|
/**
|
|
146
167
|
* Compute the inner product (linear combination `LinExpr`) of numeric coefficients and
|
|
147
168
|
* `Var` / `LinExpr` containers across 1D arrays, 2D matrices (`number[][]` / `Var[][]`),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../src/modeler/expression.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../src/modeler/expression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,UAAU,EAAgB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;GAEG;AACH,qBAAa,OAAO;IAClB,SAAgB,IAAI,EAAG,QAAQ,CAAU;IAClC,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;;;OAGG;IACH,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAOnC;IAED;;;OAGG;IACH,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CASnC;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;IAC5C,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,GAAG,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IAsC/E;;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,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,GAAG,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IAgB/E;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC;IACtB,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACxC,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IA6DjF;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAG9D;IAED;;OAEG;IACH,GAAG,IAAI,OAAO,CAEb;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,GAAG,IAAI,CASzB;IAED;;OAEG;IACH,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAEjF;IAED;;OAEG;IACH,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAEjF;IAED;;OAEG;IACH,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAEjF;IAED,OAAO,CAAC,YAAY;IA+Cb,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CAIjC;IAEM,EAAE,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CAIhC;IAEM,OAAO,CAAC,WAAW,EAAE,OAAO,GAAG,KAAK,CAI1C;IAEM,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CAIjC;IAEM,GAAG,IAAI,KAAK,CAIlB;IAED,QAAQ,IAAI,MAAM,CAkBjB;CACF;AAED;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEtC,MAAM,MAAM,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC;AAEpC,MAAM,MAAM,eAAe,CACzB,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAC3C,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAEzC,aAAa,CAAC,OAAO,CAAC,GACtB;IAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,OAAO;CAAE,GAC9B,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GACrC,aAAa,CAAC;IAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,OAAO;CAAE,CAAC,GAC7C;IAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC;CAAE,GAC7C;IAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG;QAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,OAAO;KAAE;CAAE,CAAC;AAE1D,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAC3C,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAEzC,aAAa,CAAC,MAAM,CAAC,GACrB;IAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM;CAAE,GAC7B,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GACpC,aAAa,CAAC;IAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM;CAAE,CAAC,GAC5C;IAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;CAAE,GAC5C;IAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG;QAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM;KAAE;CAAE,CAAC;AAEzD,KAAK,YAAY,CAAC,CAAC,IAAI;IACrB,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC;CACpC,GAAG,CACA;IAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,GAC/B;IAAE,QAAQ,EAAE,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK;CAAE,CACvD,CAAC;AAEF,KAAK,gBAAgB,CAAC,CAAC,EAAE,IAAI,IAAI,MAAM,GAAG;IACxC,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI;CAC9B,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAEpB,KAAK,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,IAAI,MAAM,GAAG;IACrD,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAClB,IAAI,GACJ,aAAa,CAAC,IAAI,CAAC,GACnB,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAC5B,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC;CAClC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAEpB,KAAK,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,IACvC,aAAa,CAAC,IAAI,CAAC,GACnB,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAClC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAC1D,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAEnC,MAAM,MAAM,OAAO,GAAG,GAAG,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7C,MAAM,MAAM,YAAY,CACtB,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAC3C,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAEzC,QAAQ,CAAC,OAAO,CAAC,GACjB;IAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,OAAO;CAAE,GAC9B,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAC3B,QAAQ,CAAC;IAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,OAAO;CAAE,CAAC,GACxC;IAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;CAAE,GACxC;IAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG;QAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,OAAO;KAAE;CAAE,CAAC;AAE1D,KAAK,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,GAAG,GAAG,MAAM,CAAC;AAEpE,KAAK,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,IAAI,MAAM,GAAG;IAC/C,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAClB,aAAa,GACb,QAAQ,CAAC,aAAa,CAAC,GACvB,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,GACrC,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC;CAC3C,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,GAAG,CACjB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,GAAG,GAAG,MAAM,GACvE,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,QAAQ,GAAG,UAAU,GAAG,GAAG,GAAG,MAAM,GACjF,OAAO,CAAC;AACX,wBAAgB,GAAG,CAAC,CAAC,SAAS,MAAM,EAClC,MAAM,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EAC3B,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,GAAG,GAAG,MAAM,GAC1F,OAAO,CAAC;AACX,wBAAgB,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,EAAE,GAAG,KAAK,EAC9C,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,GACjE,OAAO,CAAC;AACX,wBAAgB,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;AAqPhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,GAAG,CACjB,CAAC,GAAG,iBAAiB,EACrB,CAAC,GAAG,eAAe,EACnB,EAAE,GAAG,KAAK,EACV,EAAE,GAAG,KAAK,EAEV,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EACxE,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,GACtE,OAAO,CAAC;AACX,wBAAgB,GAAG,CACjB,CAAC,GAAG,eAAe,EACnB,CAAC,GAAG,iBAAiB,EACrB,EAAE,GAAG,KAAK,EACV,EAAE,GAAG,KAAK,EAEV,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,EACvE,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,GACvE,OAAO,CAAC;AACX,wBAAgB,GAAG,CACjB,MAAM,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,EACnC,IAAI,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,GAC9B,OAAO,CAAC;AACX,wBAAgB,GAAG,CACjB,IAAI,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAC/B,MAAM,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAClC,OAAO,CAAC"}
|
|
@@ -4,11 +4,11 @@ export { linearizeModelForMip, type LinearizationResult } from "./linearizer.js"
|
|
|
4
4
|
export { validateModelIntegrity } from "./validation.js";
|
|
5
5
|
export { maximize, minimize, type ObjectiveExpr, type ObjectiveSpec, } from "./objective.js";
|
|
6
6
|
export { Var, type VarOptions } from "./variable.js";
|
|
7
|
-
export { LinExpr, type Expr, type DotTerm, type DotVarContainer, type DotCoeffContainer, sum, dot, } from "./expression.js";
|
|
7
|
+
export { LinExpr, type Expr, type DotTerm, type DotVarContainer, type DotCoeffContainer, type SumTerm, type SumContainer, sum, dot, } from "./expression.js";
|
|
8
8
|
export { QuadExpr, type QuadTerm } from "./quad-expr.js";
|
|
9
9
|
export { Constraint } from "./constraint.js";
|
|
10
10
|
export { BoolVar, BoolExpr, BoolOp, type LogicElement, type LogicInput, and, or, not, implies, xor, } from "./boolean-expr.js";
|
|
11
|
-
export { parseExpr, parseConstraint, expr, type ParsedExpr, type ExprResolver, } from "./parser.js";
|
|
11
|
+
export { parseExpr, parseConstraint, expr, type ParsedExpr, type ExprResolver, type ExprContainerLeaf, type ExprRecordContainer, type ExprMapperFn, type ExprInterpolation, } from "./parser.js";
|
|
12
12
|
export { generateLpString, buildLpSymbolMaps, isLpExportResult, sanitizeIdentifier, type LpModelData, type LpSymbolMaps, type LpExportResult, } from "./lp-writer.js";
|
|
13
13
|
export { validateModelSolution, type SolutionValidationOptions, type ViolationType, type SolutionViolation, type SolutionValidationSummary, type SolutionValidationReport, } from "./solution-validator.js";
|
|
14
14
|
export type { VarType, OptimizationSense, ComparisonSense, SolverStatus, TerminationStatus, SolveProgressEvent, SolveOptions, SolverSolution, CheckResult, ColumnDefinition, } from "./types.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modeler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAC7G,OAAO,EAAE,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACL,OAAO,EACP,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,GAAG,EACH,GAAG,GACJ,MAAM,iBAAiB,CAAC;AACzB,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,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,GAAG,EACH,EAAE,EACF,GAAG,EACH,OAAO,EACP,GAAG,GACJ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,SAAS,EACT,eAAe,EACf,IAAI,EACJ,KAAK,UAAU,EACf,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modeler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAC7G,OAAO,EAAE,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACL,OAAO,EACP,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,GAAG,EACH,GAAG,GACJ,MAAM,iBAAiB,CAAC;AACzB,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,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,GAAG,EACH,EAAE,EACF,GAAG,EACH,OAAO,EACP,GAAG,GACJ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,SAAS,EACT,eAAe,EACf,IAAI,EACJ,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -407,7 +407,7 @@ export declare class Model {
|
|
|
407
407
|
private applyObjective;
|
|
408
408
|
/**
|
|
409
409
|
* Register linear comparison constraint(s) (`<=`, `>=`, `==`), SMT logical constraint(s) (`BoolVar`, `BoolExpr`),
|
|
410
|
-
* or constraint formula string(s) on the model
|
|
410
|
+
* or constraint formula string(s) on the model, returning the registered constraint(s).
|
|
411
411
|
*
|
|
412
412
|
* **Formulation & solver capability notes**:
|
|
413
413
|
* - Rejects raw arithmetic expressions (`LinExpr`, `QuadExpr`) without a comparison operator and quadratic constraints.
|
|
@@ -421,13 +421,18 @@ export declare class Model {
|
|
|
421
421
|
* const chairs = m.integer("chairs", { lb: 0 });
|
|
422
422
|
* const x = m.continuous(3, { lb: 0, prefix: "x" });
|
|
423
423
|
*
|
|
424
|
-
* m.constraint(expr`${desks} + 2 * ${chairs} <= 40`, "wood");
|
|
425
|
-
* m.constraint(x.map((v) => expr`${v} <= 10`));
|
|
426
|
-
* m.constraint(desks.ge(2))
|
|
424
|
+
* const wood = m.constraint(expr`${desks} + 2 * ${chairs} <= 40`, "wood");
|
|
425
|
+
* const caps = m.constraint(x.map((v) => expr`${v} <= 10`));
|
|
426
|
+
* m.constraint(desks.ge(2));
|
|
427
|
+
* m.constraint(chairs.ge(4));
|
|
427
428
|
* ```
|
|
428
429
|
*/
|
|
429
|
-
constraint(constraint:
|
|
430
|
-
constraint(
|
|
430
|
+
constraint(constraint: Constraint | LinExpr | QuadExpr | string, name?: string): Constraint;
|
|
431
|
+
constraint<T extends BoolExpr>(constraint: T, name?: string): T;
|
|
432
|
+
constraint(constraint: ConstraintItem | LinExpr | QuadExpr, name?: string): Constraint | BoolExpr;
|
|
433
|
+
constraint(constraints: ReadonlyArray<Constraint | LinExpr | QuadExpr | string>): Constraint[];
|
|
434
|
+
constraint<T extends BoolExpr>(constraints: ReadonlyArray<T>): T[];
|
|
435
|
+
constraint(constraints: ReadonlyArray<ConstraintItem | LinExpr | QuadExpr>): Array<Constraint | BoolExpr>;
|
|
431
436
|
/**
|
|
432
437
|
* Extract primal solution values directly into plain primitives, preserving container shapes:
|
|
433
438
|
* - `m.getValues(x)` -> `number | null`
|
|
@@ -512,6 +517,7 @@ export declare class Model {
|
|
|
512
517
|
private ensureExecutionValid;
|
|
513
518
|
private wrapSolveOptions;
|
|
514
519
|
private hasPrimalFromResult;
|
|
520
|
+
private normalizePrimalValue;
|
|
515
521
|
/**
|
|
516
522
|
* Resolves the target solver and execution options without mutating caller-owned objects,
|
|
517
523
|
* stripping the routing `solver` field from the returned `SolverOptions`.
|
|
@@ -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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"}
|
|
@@ -18,15 +18,30 @@ export declare function parseConstraint(text: string, resolver: ExprResolver, na
|
|
|
18
18
|
* - `Constraint` for linear relational comparisons (`expr\`2 * \${x} <= 10\``)
|
|
19
19
|
*/
|
|
20
20
|
export type ParsedExpr = LinExpr | QuadExpr | Constraint;
|
|
21
|
+
export type ExprContainerLeaf = Var | ParsedExpr | number;
|
|
22
|
+
export type ExprRecordContainer = {
|
|
23
|
+
readonly [key: string]: ExprContainerLeaf | Iterable<ExprContainerLeaf> | {
|
|
24
|
+
readonly [subKey: string]: ExprContainerLeaf;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
type ExprRecordShape<T> = object & {
|
|
28
|
+
readonly [K in keyof T]: ExprContainerLeaf | Iterable<ExprContainerLeaf> | (object & {
|
|
29
|
+
readonly [L in keyof T[K]]: ExprContainerLeaf;
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
export type ExprMapperFn = (item: any, index: number) => Var | ParsedExpr | number;
|
|
33
|
+
export type ExprInterpolation<T = any> = Var | ParsedExpr | number | ExprMapperFn | ReadonlyArray<any> | Iterable<any> | ExprRecordContainer | ExprRecordShape<T>;
|
|
21
34
|
/**
|
|
22
35
|
* Unified tagged template literal for linear/quadratic arithmetic expressions and linear comparison constraints:
|
|
23
36
|
* - Linear expression (`LinExpr`): `` expr`45 * ${chairs} + 80 * ${tables} - 10` ``
|
|
24
|
-
* -
|
|
37
|
+
* - Aggregations (`sum`, `dot`) & element-wise container ops: `` expr`dot(${profit}, ${qty}) - 20 * ${lineOpen}` ``, `` expr`sum((${price} - ${cost}) * ${qty}) <= 100` ``
|
|
38
|
+
* - Quadratic expression (`QuadExpr`): `` expr`${x}^2 + 2 * ${x} * ${y} + ${y}^2` ``, `` expr`sum((${x} - ${target})^2)` ``
|
|
25
39
|
* - Linear comparison constraint (`Constraint`): `` expr`${chairs} + 2 * ${tables} <= 40` `` (supports `<=`, `>=`, `==`, and `=`)
|
|
26
40
|
*
|
|
27
41
|
* **Formulation & solver capability notes**:
|
|
28
42
|
* - **Quadratic terms (`^2`, `${x} * ${y}`) are supported in objectives only** (convex QP on QP-capable solvers such as HiGHS; throws on GLPK and Z3).
|
|
29
43
|
* - Using quadratic terms inside a comparison constraint (`<=`, `>=`, `==`) throws an Error (`"Quadratic constraints are not supported"`).
|
|
44
|
+
* - Interpolated containers (`Array` or `Record`) must be reduced to a scalar via `sum(...)` or `dot(..., ...)`.
|
|
30
45
|
* - Interpolating a `Constraint` inside another `expr` template throws an Error.
|
|
31
46
|
* - Constructing an `expr` does not attach it to a `Model` until passed to `m.objective(...)` or `m.constraint(...)`.
|
|
32
47
|
*
|
|
@@ -35,18 +50,23 @@ export type ParsedExpr = LinExpr | QuadExpr | Constraint;
|
|
|
35
50
|
* const m = new Model("TemplateExprExample");
|
|
36
51
|
* const x = m.continuous("x", { lb: 0 });
|
|
37
52
|
* const y = m.continuous("y", { lb: 0 });
|
|
53
|
+
* const qty = m.integer(["desk", "chair"] as const, { lb: 0 });
|
|
54
|
+
* const profit = { desk: 30, chair: 50 };
|
|
38
55
|
*
|
|
39
|
-
* // 1. Linear arithmetic expression (LinExpr)
|
|
40
|
-
* const linCost = expr`30 * ${x} + 50 * ${y} - 10`;
|
|
56
|
+
* // 1. Linear arithmetic expression (LinExpr) with sum() and dot()
|
|
57
|
+
* const linCost = expr`30 * ${x} + 50 * ${y} + dot(${profit}, ${qty}) - 10`;
|
|
41
58
|
*
|
|
42
59
|
* // 2. Quadratic objective expression (QuadExpr — supported in objectives only)
|
|
43
60
|
* m.objective(minimize(expr`${x}^2 + 2 * ${x} * ${y} + ${y}^2 + ${linCost}`));
|
|
44
61
|
*
|
|
45
62
|
* // 3. Linear comparison constraints (Constraint: <=, >=, ==)
|
|
46
63
|
* m.constraint(expr`${x} + 2 * ${y} <= 40`, "upper_cap");
|
|
47
|
-
* m.constraint(expr
|
|
64
|
+
* m.constraint(expr`sum(${qty}) >= 4`, "min_total");
|
|
48
65
|
* m.constraint(expr`${x} - ${y} == 0`, "balance");
|
|
49
66
|
* ```
|
|
50
67
|
*/
|
|
51
|
-
export declare function expr(strings: TemplateStringsArray, ...values:
|
|
68
|
+
export declare function expr<const Args extends readonly unknown[] = readonly any[]>(strings: TemplateStringsArray, ...values: {
|
|
69
|
+
[I in keyof Args]: ExprInterpolation<Args[I]>;
|
|
70
|
+
}): ParsedExpr;
|
|
71
|
+
export {};
|
|
52
72
|
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/modeler/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/modeler/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,OAAO,EAAO,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAiB,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAosClF;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,GAAG,QAAQ,CAElF;AAiFD;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAE/F;AA8DD;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GAAG,GAAG,GAAG,UAAU,GAAG,MAAM,CAAC;AAE1D,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,GAAG,EAAE,MAAM,GACjB,iBAAiB,GACjB,QAAQ,CAAC,iBAAiB,CAAC,GAC3B;QAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAAA;KAAE,CAAC;CACtD,CAAC;AAEF,KAAK,eAAe,CAAC,CAAC,IAAI,MAAM,GAAG;IACjC,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAClB,iBAAiB,GACjB,QAAQ,CAAC,iBAAiB,CAAC,GAC3B,CAAC,MAAM,GAAG;QAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB;KAAE,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,GAAG,GAAG,UAAU,GAAG,MAAM,CAAC;AAEnF,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,GAAG,IACjC,GAAG,GACH,UAAU,GACV,MAAM,GACN,YAAY,GACZ,aAAa,CAAC,GAAG,CAAC,GAClB,QAAQ,CAAC,GAAG,CAAC,GACb,mBAAmB,GACnB,eAAe,CAAC,CAAC,CAAC,CAAC;AAsGvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,GAAG,SAAS,GAAG,EAAE,EACzE,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE;KAAG,CAAC,IAAI,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CAAE,GAC3D,UAAU,CAMZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solver.d.ts","sourceRoot":"","sources":["../../../../../src/modeler/solvers/glpk/solver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAanD;;;;;;;;;GASG;AACH,qBAAa,UAAW,YAAW,MAAM;IACvC,gBAAuB,YAAY;QACjC,WAAW;QACX,UAAU;QACV,iBAAiB;MACjB;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,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACjF,KAAK,CACT,SAAS,EAAE,WAAW,EACtB,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"solver.d.ts","sourceRoot":"","sources":["../../../../../src/modeler/solvers/glpk/solver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAanD;;;;;;;;;GASG;AACH,qBAAa,UAAW,YAAW,MAAM;IACvC,gBAAuB,YAAY;QACjC,WAAW;QACX,UAAU;QACV,iBAAiB;MACjB;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,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACjF,KAAK,CACT,SAAS,EAAE,WAAW,EACtB,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,CAAC;CA6W1B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,YAAY,CA6B1E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
|
|
@@ -1 +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,cAAc,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAItE;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,OAAO,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,iBAAiB,CAsInB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,OAAO,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,OAAO,GAC1B,YAAY,CA6Bd;AAED;;;GAGG;AACH,qBAAa,WAAY,YAAW,MAAM;IACxC,gBAAuB,YAAY;QACjC,WAAW;QACX,UAAU;QACV,iBAAiB;MACjB;IACF,SAAgB,IAAI,WAAW;IAC/B,SAAgB,OAAO,YAAY;IACnC,SAAgB,YAAY;;;;MAA4B;IACjD,OAAO,EAAE,aAAa,CAAC;IAE9B,YAAY,OAAO,GAAE,aAAkB,EAEtC;IAED,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACjF,KAAK,CACH,SAAS,EAAE,WAAW,EACtB,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,CAAC;
|
|
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,cAAc,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAItE;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,OAAO,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,iBAAiB,CAsInB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,OAAO,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,OAAO,GAC1B,YAAY,CA6Bd;AAED;;;GAGG;AACH,qBAAa,WAAY,YAAW,MAAM;IACxC,gBAAuB,YAAY;QACjC,WAAW;QACX,UAAU;QACV,iBAAiB;MACjB;IACF,SAAgB,IAAI,WAAW;IAC/B,SAAgB,OAAO,YAAY;IACnC,SAAgB,YAAY;;;;MAA4B;IACjD,OAAO,EAAE,aAAa,CAAC;IAE9B,YAAY,OAAO,GAAE,aAAkB,EAEtC;IAED,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACjF,KAAK,CACH,SAAS,EAAE,WAAW,EACtB,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,CAAC;CAqN1B;AAED;;GAEG;AACH,eAAO,MAAM,KAAK,oBAAc,CAAC;AAGjC,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C"}
|
|
@@ -1 +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,EAAsB,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAEL,KAAK,mBAAmB,EAGzB,MAAM,aAAa,CAAC;AAmMrB;;;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,
|
|
1
|
+
{"version":3,"file":"worker-client.d.ts","sourceRoot":"","sources":["../../../../../src/modeler/solvers/highs/worker-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAEL,KAAK,mBAAmB,EAGzB,MAAM,aAAa,CAAC;AAmMrB;;;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,CAqF3D"}
|
|
@@ -136,6 +136,8 @@ export interface Solver {
|
|
|
136
136
|
readonly version?: string;
|
|
137
137
|
/** Feature capabilities of this solver */
|
|
138
138
|
readonly capabilities?: SolverCapabilities;
|
|
139
|
+
/** Default options configured on this solver instance */
|
|
140
|
+
readonly options?: SolverOptions;
|
|
139
141
|
/**
|
|
140
142
|
* Solve the given mathematical programming model data
|
|
141
143
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/modeler/solvers/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/modeler/solvers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,KAAK,EAAE,iBAAiB,CAAC;IACzB,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,QAAQ,CAAC;IACnC,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+FAA+F;IAC/F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,wEAAwE;IACxE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACpD,yCAAyC;IACzC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yCAAyC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mDAAmD;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8GAA8G;IAC9G,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,mFAAmF;IACnF,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAC3C,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC;;OAEG;IACH,KAAK,CACH,SAAS,EAAE,cAAc,EACzB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC,CAAC;IACzB;;OAEG;IACH,KAAK,CAAC,CACJ,SAAS,EAAE,cAAc,EACzB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC/B"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
| Problem Class | Solver | Key APIs | Links |
|
|
4
4
|
| :--- | :--- | :--- | :--- |
|
|
5
|
-
| Linear Programming (LP) | HiGHS (default) | `m.continuous()`, `m.constraint()`, `expr
|
|
5
|
+
| Linear Programming (LP) | HiGHS (default) | `m.continuous()`, `m.constraint()`, `expr` (`dot`), `minimize` | <ul><li><a href="https://washi.ohtaman.dev/demo/?preset=diet_sensitivity">Open in Playground</a></li><li><a href="https://github.com/ohtaman/washi/blob/main/examples/node/10-diet-sensitivity.ts">Source Code</a></li></ul> |
|
|
6
6
|
|
|
7
7
|
When solving a Linear Programming model, the optimal variable values (`var.value`) are only half the story. In practice, decision-makers need to know:
|
|
8
8
|
|
|
@@ -28,7 +28,7 @@ We choose daily servings ($0 \le x_i \le 4$) among 6 food items to meet 4 daily
|
|
|
28
28
|
<CodeRunner preset="diet_sensitivity">
|
|
29
29
|
|
|
30
30
|
```typescript
|
|
31
|
-
import { Model, minimize,
|
|
31
|
+
import { Model, minimize, expr } from "@ohtaman/washi";
|
|
32
32
|
|
|
33
33
|
const foods = [
|
|
34
34
|
{ name: "Oats", cost: 0.60, calories: 150, protein: 5, calcium: 20, iron: 1.8 },
|
|
@@ -51,14 +51,16 @@ async function runDietSensitivity() {
|
|
|
51
51
|
const calcs = Object.fromEntries(foods.map((f) => [f.name, f.calcium]));
|
|
52
52
|
const irons = Object.fromEntries(foods.map((f) => [f.name, f.iron]));
|
|
53
53
|
|
|
54
|
-
// Objective: Minimize total daily cost via dot
|
|
55
|
-
m.objective(minimize(dot(costs, srv)));
|
|
54
|
+
// Objective: Minimize total daily cost via dot() inside expr
|
|
55
|
+
m.objective(minimize(expr`dot(${costs}, ${srv})`));
|
|
56
56
|
|
|
57
57
|
// Nutritional constraints defined declaratively with expr and constraint()
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
const nutConstraints = [
|
|
59
|
+
m.constraint(expr`dot(${cals}, ${srv}) >= 2000`, "min_calories"),
|
|
60
|
+
m.constraint(expr`dot(${prots}, ${srv}) >= 105`, "min_protein"),
|
|
61
|
+
m.constraint(expr`dot(${calcs}, ${srv}) >= 1000`, "min_calcium"),
|
|
62
|
+
m.constraint(expr`dot(${irons}, ${srv}) >= 18`, "min_iron"),
|
|
63
|
+
];
|
|
62
64
|
|
|
63
65
|
const status = await m.solve();
|
|
64
66
|
|
|
@@ -69,11 +71,8 @@ async function runDietSensitivity() {
|
|
|
69
71
|
console.log(` ${f.name.padEnd(8)}: value=${v.value?.toFixed(2)}, reducedCost=${v.reducedCost?.toFixed(4)}`);
|
|
70
72
|
}
|
|
71
73
|
console.log("--- Nutritional Constraints (Dual & Slack) ---");
|
|
72
|
-
for (const
|
|
73
|
-
|
|
74
|
-
if (c) {
|
|
75
|
-
console.log(` ${c.name.padEnd(13)}: dual=$${c.dual?.toFixed(4)}, slack=${Math.abs(c.slack ?? 0).toFixed(2)}`);
|
|
76
|
-
}
|
|
74
|
+
for (const c of nutConstraints) {
|
|
75
|
+
console.log(` ${c.name.padEnd(13)}: dual=$${c.dual?.toFixed(4)}, slack=${Math.abs(c.slack ?? 0).toFixed(2)}`);
|
|
77
76
|
}
|
|
78
77
|
}
|
|
79
78
|
|
|
@@ -86,5 +85,7 @@ runDietSensitivity();
|
|
|
86
85
|
|
|
87
86
|
- **Bottleneck constraints (`slack == 0`, `dual > 0`):** Calories (`2000 kcal`) and Iron (`18 mg`) are tight at their lower bounds. Increasing the daily Iron requirement by 1 mg increases the minimum daily diet cost by **$0.3241**.
|
|
88
87
|
- **Constraints with surplus (`slack > 0`, `dual == 0`):** Protein (`+46.46 g` surplus) and Calcium (`+483.02 mg` surplus) are already exceeded with room to spare, so their shadow prices are `$0`.
|
|
89
|
-
- **Reduced cost (`Salmon`):** Unselected `Salmon` (`0.00` servings) has a reduced cost of `+1.5125`, meaning its price per serving would need to drop by at least **$1.51** before it enters the optimal daily menu.
|
|
88
|
+
- **Reduced cost at lower bound (`Salmon`):** Unselected `Salmon` (`0.00` servings) has a reduced cost of `+1.5125`, meaning its price per serving would need to drop by at least **$1.51** before it enters the optimal daily menu.
|
|
89
|
+
- **Negative reduced cost at upper bound (`Oats`, `Eggs`):** Both `Oats` (`reducedCost = -0.2581`) and `Eggs` (`reducedCost = -0.0887`) are pinned against their upper serving cap (`ub = 4.0`). In a minimization LP, a negative reduced cost on an upper-bounded variable tells you how much the total objective would **decrease** per unit increase in `ub`—raising the daily cap on `Oats` from 4 to 5 servings would save **$0.26/day**.
|
|
90
|
+
- **Basis stability range:** Shadow prices (`dual`) and reduced costs (`reducedCost`) represent local marginal rates of change within the current optimal simplex basis. If a right-hand side or bound changes enough to trigger a basis change (for example, once another variable hits its bound), the marginal rate shifts to a new piece of the piecewise-linear optimal cost curve.
|
|
90
91
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
| Problem Class | Solver | Key APIs | Links |
|
|
4
4
|
| :--- | :--- | :--- | :--- |
|
|
5
|
-
| Mixed-Integer Programming (MIP) | HiGHS (default) | `m.binary()`, `m.constraint()`, `m.indicator()`, `expr`, `minimize` | <ul><li><a href="https://ohtaman.
|
|
5
|
+
| Mixed-Integer Programming (MIP) | HiGHS (default) | `m.binary()`, `m.constraint()`, `m.indicator()`, `expr`, `minimize` | <ul><li><a href="https://washi.ohtaman.dev/demo/?preset=cart_coupon">Open in Playground</a></li><li><a href="https://github.com/ohtaman/washi/blob/main/examples/node/12-ecommerce-coupon-optimizer.ts">Source Code</a></li></ul> |
|
|
6
6
|
|
|
7
7
|
Modern e-commerce checkouts often feature complex promotional rules: minimum spend thresholds, category-specific discounts, stackable vs. mutually exclusive coupons, and maximum coupon limits per order. Running an optimizer directly in the browser (or an edge worker) lets the checkout UI automatically apply the best coupon combination—and even recommend a small "filler" item when crossing a spend threshold lowers the customer's net bill.
|
|
8
8
|
|
|
@@ -31,7 +31,7 @@ By adding the `$10` cable (`$252` gross), the customer unlocks `MEGA45_250` (`-$
|
|
|
31
31
|
<CodeRunner preset="cart_coupon">
|
|
32
32
|
|
|
33
33
|
```typescript
|
|
34
|
-
import { Model,
|
|
34
|
+
import { Model, minimize, expr } from "@ohtaman/washi";
|
|
35
35
|
|
|
36
36
|
async function optimizeCheckoutCart() {
|
|
37
37
|
const m = new Model("CartCouponOptimizer");
|
|
@@ -52,50 +52,43 @@ async function optimizeCheckoutCart() {
|
|
|
52
52
|
|
|
53
53
|
// Binary decision variables for each coupon
|
|
54
54
|
const useCoupon = m.binary(coupons.map((c) => c.id));
|
|
55
|
+
const discounts = Object.fromEntries(coupons.map((c) => [c.id, c.discount]));
|
|
55
56
|
|
|
56
|
-
const merchSpend = addUsbCable
|
|
57
|
-
const techSpend = addUsbCable
|
|
57
|
+
const merchSpend = expr`${baseCartSubtotal} + ${usbCablePrice} * ${addUsbCable}`;
|
|
58
|
+
const techSpend = expr`${baseTechSubtotal} + ${usbCablePrice} * ${addUsbCable}`;
|
|
58
59
|
|
|
59
|
-
// 1. Indicator constraints: If useCoupon[id] == 1, minimum spend threshold must hold
|
|
60
|
+
// 1. Indicator constraints: If useCoupon[id] == 1, minimum spend threshold must hold.
|
|
61
|
+
// Omitting `M` lets WaSHI automatically derive the tightest Big-M from variable bounds!
|
|
60
62
|
for (const cpn of coupons) {
|
|
61
63
|
if (cpn.minCart > 0) {
|
|
62
|
-
m.indicator(useCoupon[cpn.id], merchSpend
|
|
64
|
+
m.indicator(useCoupon[cpn.id], expr`${merchSpend} >= ${cpn.minCart}`, {
|
|
63
65
|
activeValue: 1,
|
|
64
|
-
M: 500,
|
|
65
66
|
name: `min_spend_${cpn.id}`,
|
|
66
67
|
});
|
|
67
68
|
}
|
|
68
69
|
if (cpn.minTech > 0) {
|
|
69
|
-
m.indicator(useCoupon[cpn.id], techSpend
|
|
70
|
+
m.indicator(useCoupon[cpn.id], expr`${techSpend} >= ${cpn.minTech}`, {
|
|
70
71
|
activeValue: 1,
|
|
71
|
-
M: 500,
|
|
72
72
|
name: `min_tech_${cpn.id}`,
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
// 2. Mutual exclusion among non-stackable ("Exclusive") coupons
|
|
78
|
-
const
|
|
79
|
-
m.constraint(
|
|
80
|
-
expr`${sum(exclusiveCoupons, (c) => useCoupon[c.id])} <= 1`,
|
|
81
|
-
"at_most_one_exclusive"
|
|
82
|
-
);
|
|
78
|
+
const exclusiveVars = coupons.filter((c) => !c.stackable).map((c) => useCoupon[c.id]);
|
|
79
|
+
m.constraint(expr`sum(${exclusiveVars}) <= 1`, "at_most_one_exclusive");
|
|
83
80
|
|
|
84
81
|
// 3. Max 2 coupons per order
|
|
85
|
-
m.constraint(
|
|
86
|
-
expr`${sum(coupons, (c) => useCoupon[c.id])} <= 2`,
|
|
87
|
-
"max_two_coupons"
|
|
88
|
-
);
|
|
82
|
+
m.constraint(expr`sum(${useCoupon}) <= 2`, "max_two_coupons");
|
|
89
83
|
|
|
90
84
|
// Objective: Minimize final net payable amount (merchSpend - totalDiscounts)
|
|
91
|
-
|
|
92
|
-
m.objective(minimize(merchSpend.sub(totalDiscount)));
|
|
85
|
+
m.objective(minimize(expr`${merchSpend} - dot(${discounts}, ${useCoupon})`));
|
|
93
86
|
|
|
94
87
|
const status = await m.solve();
|
|
95
88
|
console.log(`Status: ${status}, Optimal Net Payable: $${m.objectiveValue}`);
|
|
96
|
-
console.log(`Recommended Add-on (+$10 USB-C Cable): ${
|
|
89
|
+
console.log(`Recommended Add-on (+$10 USB-C Cable): ${addUsbCable.value === 1 ? "YES" : "NO"}`);
|
|
97
90
|
for (const cpn of coupons) {
|
|
98
|
-
const applied =
|
|
91
|
+
const applied = useCoupon[cpn.id].value === 1;
|
|
99
92
|
console.log(` ${applied ? "✅ [APPLIED]" : " [skipped]"} ${cpn.id.padEnd(11)} (-$${cpn.discount})`);
|
|
100
93
|
}
|
|
101
94
|
}
|