cpsat-js 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -211,6 +211,26 @@ Expression building methods:
211
211
  - `onSolution?: (solution: CpSolverSolution) => void` — called for each improving
212
212
  solution found. Observational only: the return value is ignored, and nothing here can
213
213
  steer or stop the search. Bound it with `maxTimeInSeconds`.
214
+ - `enumerateAllSolutions?: boolean` — report *every* solution rather than stopping at the
215
+ first. **Only meaningful with no objective:** CP-SAT enumerates only when there is
216
+ nothing to optimise, so with a `minimize`/`maximize` in the model this does nothing and
217
+ you get improving solutions as usual. Also disables the presolve reductions that can
218
+ remove feasible solutions.
219
+
220
+ Paired with `onSolution`, this is how you stream a complete solution set as the search
221
+ finds it. There is no objective, so there is no ordering — the solutions arrive in
222
+ whatever order the search happens on, and OR-Tools warns against reading anything into
223
+ that beyond completeness. If you want the stream to be interesting, constrain the model
224
+ so that every solution is one you would want to see.
225
+
226
+ ```ts
227
+ // Every way to pick two of three, as they are found.
228
+ solver.solve(model, {
229
+ numWorkers: 1,
230
+ enumerateAllSolutions: true,
231
+ onSolution: (s) => console.log(bits.map((b) => s.value(b)).join('')),
232
+ });
233
+ ```
214
234
 
215
235
  #### When `onSolution` fires
216
236
 
@@ -41,6 +41,22 @@ export interface SolverParams {
41
41
  * than 1 on real models. Use 1 or >= 6, never in between.
42
42
  */
43
43
  numWorkers?: number;
44
+ /**
45
+ * Report every solution rather than stopping at the first.
46
+ *
47
+ * **Only meaningful on a model with no objective.** CP-SAT's own wording is "whether
48
+ * we enumerate all solutions of a problem without objective"; with an objective the
49
+ * search reports improving solutions instead, and this does nothing for you.
50
+ *
51
+ * Combined with `onSolution` this is what streams a complete solution set as the
52
+ * search finds it. The solutions arrive in whatever order the search happens on —
53
+ * there is no objective, so there is no ordering — and OR-Tools warns against reading
54
+ * anything into it beyond completeness.
55
+ *
56
+ * Setting this also disables the presolve reductions that can remove feasible
57
+ * solutions, which is the same effect as `keep_all_feasible_solutions_in_presolve`.
58
+ */
59
+ enumerateAllSolutions?: boolean;
44
60
  /**
45
61
  * Called for each improving solution the search finds.
46
62
  *
@@ -1 +1 @@
1
- {"version":3,"file":"cp-solver.d.ts","sourceRoot":"","sources":["../../src/solver/cp-solver.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,cAAc,EACd,KAAK,gBAAgB,EACtB,MAAM,6BAA6B,CAAC;AAIrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACvC;AAED,UAAU,WAAW;IACnB,MAAM,CACJ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,MAAM,CAAC;IACV,eAAe,IAAI,MAAM,CAAC;IAC1B,YAAY,IAAI,IAAI,CAAC;IACrB,eAAe,IAAI,MAAM,CAAC;IAC1B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,mFAAmF;IACnF,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACjD;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAEtF;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAKzF,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAGzE;AAED,MAAM,WAAW,YAAY;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,yBAAyB;IACzB,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,gFAAgF;IAChF,IAAI,EAAE,OAAO,CAAC;CACf;AAgBD;;;;;;GAMG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAc;IAE5B,OAAO;WAIM,MAAM,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAajE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc;CA2F7D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,EAChD,OAAO,EAAE,MAAM,MAAM,GACpB,UAAU,CAYZ"}
1
+ {"version":3,"file":"cp-solver.d.ts","sourceRoot":"","sources":["../../src/solver/cp-solver.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,9 @@ export class CpSolver {
58
58
  if (params?.numWorkers !== undefined) {
59
59
  satParams.numWorkers = params.numWorkers;
60
60
  }
61
+ if (params?.enumerateAllSolutions !== undefined) {
62
+ satParams.enumerateAllSolutions = params.enumerateAllSolutions;
63
+ }
61
64
  // The portable build has no threads. Clamp to 1 rather than to some lower count:
62
65
  // anything in 2..5 selects a degraded portfolio and is slower than a single worker.
63
66
  if (!glueIsThreaded) {
@@ -1 +1 @@
1
- {"version":3,"file":"cp-solver.js","sourceRoot":"","sources":["../../src/solver/cp-solver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cp-solver.js","sourceRoot":"","sources":["../../src/solver/cp-solver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,GAEf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAI3C,OAAO,EAAE,cAAc,EAAE,CAAC;AAuC1B,IAAI,UAAkC,CAAC;AACvC,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B,uFAAuF;AACvF,MAAM,UAAU,aAAa,CAAC,MAAkB,EAAE,QAAiB;IACjE,UAAU,GAAG,MAAM,CAAC;IACpB,cAAc,GAAG,QAAQ,CAAC;AAC5B,CAAC;AAsED,oFAAoF;AACpF,SAAS,YAAY,CAAC,QAA0B;IAC9C,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,KAAK,CAAC,QAAgB;YACpB,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,QAAQ;IACX,MAAM,CAAc;IAE5B,YAAoB,MAAmB;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAyB;QAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,4EAA4E;gBAC1E,+EAA+E,CAClF,CAAC;QACJ,CAAC;QACD,kFAAkF;QAClF,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;QACpC,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,KAAc,EAAE,MAAqB;QACzC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;QAE5D,MAAM,SAAS,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QAClD,iFAAiF;QACjF,8EAA8E;QAC9E,kFAAkF;QAClF,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;QACzB,IAAI,MAAM,EAAE,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC3C,SAAS,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACvD,CAAC;QACD,IAAI,MAAM,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;YACrC,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAC3C,CAAC;QACD,IAAI,MAAM,EAAE,qBAAqB,KAAK,SAAS,EAAE,CAAC;YAChD,SAAS,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;QACjE,CAAC;QACD,iFAAiF;QACjF,oFAAoF;QACpF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;QAE7D,sCAAsC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAE7C,uCAAuC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU,CAAC;QACtC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC,KAAK,EAAE,EAAE;gBACxC,UAAU,CAAC,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACzF,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,SAAiB,CAAC;QACtB,IAAI,CAAC;YACH,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAC5B,QAAQ,EACR,UAAU,CAAC,MAAM,EACjB,SAAS,EACT,WAAW,CAAC,MAAM,EAClB,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACnB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACvC,CAAC;QAED,6EAA6E;QAC7E,kFAAkF;QAClF,gFAAgF;QAChF,8EAA8E;QAC9E,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACzC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACzC,kEAAkE;gBAClE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;gBACvD,UAAU,CAAC,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,UAAU,CAChC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EACzB,SAAS,EACT,SAAS,CACV,CAAC;QACF,sBAAsB;QACtB,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAE3B,MAAM,QAAQ,GAAG,UAAU,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;QAEhE,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;YAC/C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,KAAK,CAAC,QAAgB;gBACpB,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,QAAQ;SACT,CAAC;IACJ,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,UAAgD,EAChD,OAAqB;IAErB,OAAO,KAAK,EAAE,UAAU,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAkC,CAAC;QACxD,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;QACtB,MAAM,cAAc,GAClB,UAAU,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cpsat-js",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "WebAssembly port of Google OR-Tools CP-SAT constraint programming solver",
5
5
  "type": "module",
6
6
  "main": "dist/index.portable.js",