150 Commits

Author SHA1 Message Date
Laurent Perron
4a2de332ce [CP-SAT] bug fixes, memory utilization reduction; more work on lrat 2025-12-09 19:09:37 +01:00
Laurent Perron
29ffc72cf3 [CP-SAT] work on lrat; probing; variable encoding 2025-11-12 17:21:04 +01:00
Corentin Le Molgat
1b4d75ceb3 sat: backport from main 2025-11-05 13:55:12 +01:00
Laurent Perron
5d85f840b5 [CP-SAT] fix #4839; experimental code for lrat checker; experimental code to control the boolean expansion of small linear2 equations 2025-09-29 16:35:16 +02:00
Corentin Le Molgat
b05315de21 sat: backport from main 2025-09-22 17:24:20 +02:00
Mizux Seiha
4f381f6d07 backport from main:
* bump abseil to 20250814
* bump protobuf to v32.0
* cmake: add ccache auto support
* backport flatzinc, math_opt and sat update
2025-09-16 16:25:04 +02:00
Laurent Perron
e02b6a013c [CP-SAT] update code, mostly small bug fixes 2025-08-22 16:06:35 -07:00
Laurent Perron
f2cf147e79 [CP-SAT] rewrite and speed up the python layer; extend support for enforcement literals to more constraints 2025-07-24 23:51:00 +02:00
Laurent Perron
63b9ecdfd7 [CP-SAT] tweak and improve code 2025-06-13 13:14:13 +02:00
Laurent Perron
f4f39748a1 minor optims 2025-04-10 11:40:38 +02:00
Laurent Perron
1acdd5d6af massive cleanup of includes; work on CP-SAT routing cuts 2025-02-21 15:14:38 +01:00
Laurent Perron
bf87fd8ad4 [CP-SAT] more minor improvements 2025-01-30 12:45:02 +01:00
Corentin Le Molgat
c34026b101 Bump copyright to 2025
note: done using
```sh
git grep -l "2010-2024 Google" | xargs sed -i 's/2010-2024 Google/2010-2025 Google/'
```
2025-01-10 11:33:35 +01:00
Laurent Perron
d8c3e49e5b [CP-SAT] more work on no_overlap_2d; revisit all includes 2024-12-04 17:47:10 +01:00
Laurent Perron
c709e98327 [CP-SAT] improve 2d packing presolve; improve MIR cuts; rewrite some of the cuts managements 2024-09-25 11:21:36 +01:00
Corentin Le Molgat
e55f003faa sat: export form google3 2024-09-23 11:11:14 +02:00
Laurent Perron
66f808702a [CP-SAT] internal protocol improvements; bug fixes 2024-09-03 18:18:42 +02:00
Laurent Perron
819b9bc99e [CP-SAT] minor speedups 2024-07-10 17:41:32 +02:00
Laurent Perron
42c6e3d6ca [CP-SAT] speedup precedences 2024-04-05 14:01:10 +02:00
Laurent Perron
df9079571e [CP-SAT] fix rare sat bug; reformat 2024-03-14 15:05:53 +01:00
Laurent Perron
6a9ac77d1b [CP-SAT] improve violation computation for int_mod, experimental code for new_linear_propagation 2024-03-13 16:24:38 +01:00
Laurent Perron
b2ea6266f6 [CP-SAT] code cleanup: remove optional integer variables 2024-01-23 14:15:38 +01:00
Mizux Seiha
a76bf1c5dd bump license boilerplate 2024-01-04 13:43:15 +01:00
Laurent Perron
5bd09c376e [CP-SAT] fix c++ decision strategy API; fix #4013; tweak in processing and its parameters; tweak energetic diffn code 2023-12-12 16:20:02 +01:00
Laurent Perron
fd3c1084c1 [CP-SAT] remove base/cleanup; rewrite code that stores decision strategies to natively use affine expression 2023-12-07 19:17:57 +01:00
Laurent Perron
00fd31bd6d [CP-SAT] rewrite clause management; improve probing by probing clauses and at_most_ones from the SAT engine; experimental no_overlap_2d energetic propagator code 2023-12-04 15:06:08 +01:00
Laurent Perron
f36ad15224 [CP-SAT] fix #3958; more work on stats; fix a few potential overflows 2023-10-20 17:20:43 +02:00
Laurent Perron
01dd97f64e [CP-SAT] support int_prod with arity > 2; fix a few bugs, mostly around unsat models; add parameters for lp tolerance; optimize the code on hot spot 2023-10-18 15:47:37 +02:00
Laurent Perron
f1bbd650ab [CP-SAT] add automatic cast Literal -> LiteralIndex; implement general division where the denominator can have any domain that does not contain 0 2023-10-12 10:06:27 +02:00
Laurent Perron
9e2770f8bd [CP-SAT] extensive work on scheduling; add new cumulative with profile example 2023-10-08 11:21:00 +02:00
Laurent Perron
b8f224a8e1 [CP-SAT] tweak default search; improve scheduling cuts; move no_overlap_2d cuts in its own file; improve feasibility_jump; improve and speedup presolve 2023-09-21 13:07:09 +02:00
Laurent Perron
5024c23691 [CP-SAT] new lns (graph_dec_lns); internal code cleaning 2023-06-22 15:43:31 +02:00
Laurent Perron
ebb88d9c50 [CP-SAT] fix corner cases in presolve; rewrite part of the cut management; automatic fixes 2023-05-30 23:25:31 +02:00
Laurent Perron
224a38f87f cleanup code 2023-05-24 11:42:11 +02:00
Laurent Perron
8f2d5de90b [CP-SAT] fix #3706, add experimental work-stealing workers, fix minor bugs; improve subsolver multi-thread code 2023-03-15 11:54:58 +01:00
Laurent Perron
e544d1d5e6 [CP-SAT] add debugging facilities; fix a few minor bugs 2023-03-02 17:05:04 +04:00
Laurent Perron
11f7c04f6c [CP-SAT] small memory reduction 2023-02-17 13:56:37 +01:00
Laurent Perron
0945e9a6fb [CP-SAT] export num integers in the stats; optimize large linear constraints 2023-02-16 15:31:27 +01:00
Laurent Perron
9efd6b02ca [CP-SAT] fix encoding bug 2023-02-15 09:23:11 -08:00
Laurent Perron
34161f7cff [CP-SAT] reduce memory used in the integer encoding; fix worker info not being displayed in the log 2023-02-14 17:35:45 -08:00
Laurent Perron
acda5d226d [CP-SAT] reduce memory usage of integer variables; add option to save model in binary format 2023-02-09 16:18:46 -08:00
Laurent Perron
d2657d29a0 [CP-SAT] add lin_max presolve; fix bug in int_prod 2022-11-21 15:35:30 +01:00
Laurent Perron
b43a75c88c [CP-SAT] fix integer reasons; use fast_hash to fingerprint equations 2022-11-17 16:28:49 +01:00
Laurent Perron
500cc2c701 [CP-SAT] polish scheduling code; add experimental new linear propagator 2022-09-23 18:09:18 +02:00
Laurent Perron
70abbdf825 [CP-SAT] IsModelUnsat -> ModelIsUnsat; fix bug with variables with holes in domain; fix cumulative energetic cut with makespan 2022-09-21 13:35:11 +02:00
Laurent Perron
4a0cf8b9e7 [CP-SAT] fix detection of makespan interval; add more presolve on nearly equivalent constraints 2022-07-19 23:30:50 +02:00
Laurent Perron
4c82ba2192 [CP-SAT] Improve linearization of product; cleanup presolve code around removable variables 2022-06-29 17:04:58 +02:00
Laurent Perron
87ca4f58ad [CP-SAT] bump license years; fix scheduling cuts; improve lb_tree_search 2022-06-16 15:21:00 +02:00
Laurent Perron
8af04faff5 [CP-SAT] introduce decomposed energy and use it in scheduling propagation and cuts; remove duplicate code in presolve; simplify the name of a few parameters; add SchedulingDemandHelper class; re-enable model status in search log 2022-06-16 07:45:19 +02:00
Laurent Perron
d99e3c679c fix #3253 2022-04-25 15:35:31 +02:00