98 Commits

Author SHA1 Message Date
Laurent Perron
a7fc26854a [CP-SAT] Work on linear1 encodings; more work on lrat; cleanup linear2 code; work on probing 2025-11-05 15:17:38 +01:00
Corentin Le Molgat
1b4d75ceb3 sat: backport from main 2025-11-05 13:55:12 +01: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
32bd8e0209 [CP-SAT] small cleanup, more work on linear2 2025-07-31 13:57:50 -07:00
Laurent Perron
9fa9bd4da4 [CP-SAT] better dtime for scheduling constraints; connect the time limit in the repair_hint mode; fix #4743 2025-07-29 09:07:13 -07:00
Laurent Perron
99ede3bbde [CP-SAT] more polishing on the python API; fix #4733; improve linear2 processing 2025-07-28 10:34:04 -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
8ed3f8d995 [CP-SAT] more tuning on shared tree workers; add parameter to limit linear2 efforts on restarts 2025-06-24 21:08:27 +02:00
Laurent Perron
0ac20dfcd7 [CP-SAT] improve precedences; fix #4693; tweak shared tree workers 2025-06-23 17:33:30 +02:00
Laurent Perron
c14e54cf82 [CP-SAT] print a solution after a SIGTERM; improve precedences 2025-06-20 15:11:37 +02:00
Laurent Perron
9888ce3da1 polish third_party_solvers; speed up cp-sat on no_ovrlap_2d 2025-06-19 14:08:49 +02:00
Laurent Perron
e3d4f349fe [CP-SAT] more work on precedences; and no_overlap_2d 2025-06-17 12:48:24 +02:00
Laurent Perron
63b9ecdfd7 [CP-SAT] tweak and improve code 2025-06-13 13:14:13 +02:00
Laurent Perron
d1c3c7f84b [CP-SAT] more work on precedences 2025-06-12 11:11:26 +02:00
Laurent Perron
9ca57ad2cd [CP-SAT] more precedence handling; minor python improvements 2025-06-11 15:03:52 +02:00
Laurent Perron
64fcba4be7 [CP-SAT] work on precedences; fix bug in scheduling cuts 2025-06-10 17:25:55 +02:00
Laurent Perron
d055baeca4 [CP-SAT] work on precedences; improve scheduling cuts 2025-05-27 13:49:29 +02:00
Laurent Perron
640aaeb8e0 [CP-SAT] lots of bugfixes, improvement to primary variables heuristics; cleanup scheduling cuts code 2025-05-14 13:33:20 +02:00
Corentin Le Molgat
4a25d4119d include absl/log/vlog_is_on.h when needed 2025-03-13 14:06:31 +01:00
Laurent Perron
8d4ea3d7fc [CP-SAT] more work on routing cuts; fix #4582 2025-03-05 14:07:42 +01:00
Laurent Perron
ee23527569 big includes cleanup 2025-02-24 22:59:21 +01:00
Laurent Perron
1acdd5d6af massive cleanup of includes; work on CP-SAT routing cuts 2025-02-21 15:14:38 +01:00
Laurent Perron
3355831c89 [CP-SAT] more work on scheduling; collect more info from routing models; more presolve, simplification 2025-02-19 13:33:18 +01:00
Laurent Perron
6a339f633f [CP-SAT] update routing/scheduling code; manu bug fixes; improve java doc 2025-02-16 15:22:41 +01:00
Laurent Perron
932f6866d9 [CP-SAT] polish new cumulative cuts code; more experimental code on routing cuts; cleaning, fixes 2025-02-07 22:24:22 +01:00
Laurent Perron
53a2f9e7db [CP-SAT] more bugfixes 2025-01-31 17:09:37 +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
71c94a868b [CP-SAT] fix #4458; fix overflow in cumulative propagator 2024-12-10 14:54:30 +01:00
Laurent Perron
d8c3e49e5b [CP-SAT] more work on no_overlap_2d; revisit all includes 2024-12-04 17:47:10 +01:00
Corentin Le Molgat
b9c5e21289 sat: Export from google3 2024-10-07 11:10:49 +02:00
Laurent Perron
b0eb3582f4 [CP-SAT] improve mod doc; improve precedences in scheduling; speed up circuit data structures 2024-07-23 20:01:32 +02:00
Laurent Perron
b19a39c202 small cleanups 2024-07-22 11:31:29 +02:00
Laurent Perron
c72e8bbb05 [CP-SAT] more work on clause sharing; optimize linear code; better processing of hints; fill_tightened_domains_in_response now works after a normal search; do not use inprocessing in hint search 2024-05-22 15:51:35 +02:00
Laurent Perron
c13d2af484 [CP-SAT] more absl::Stan; StrongVector namespace change; fix java best bound callback + tests; more presolve 2024-05-14 14:43:55 +02:00
Laurent Perron
c574b2661b [CP-SAT] feature parity on old precedence code and the new linear propagator 2024-04-05 11:35:18 +02:00
Laurent Perron
1f116da12d [CP-SAT] fix #4168; improve precedences propagation 2024-04-04 19:38:14 +02:00
Laurent Perron
32bffd90d5 [CP-SAT] improve no_overlap_2d propagation; improve linear propagator + precedences + disjunctive connection; change the way maximization is implemented in python 2024-03-29 15:05:05 +01:00
Laurent Perron
f48c111bea [CP-SAT] more work on python typing, tring to merge contradictory errors with mypy and pytype; better processing of at_most_one; optional flag to expand lin_max with a set of enforced linear 2024-03-12 17:24:29 +01:00
Laurent Perron
b2ea6266f6 [CP-SAT] code cleanup: remove optional integer variables 2024-01-23 14:15:38 +01:00
Laurent Perron
5ad4300122 [CP-SAT] add parameter to specify how to process large bounds when solver a MIP problem 2024-01-22 16:46:54 +01:00
Laurent Perron
ce58010fb2 memory optimization; speed optimization; fix #4047 2024-01-12 16:31:18 +01:00
Mizux Seiha
a76bf1c5dd bump license boilerplate 2024-01-04 13:43:15 +01:00
Laurent Perron
946f9453d9 [CP-SAT] more code cleanup; add inline log callbacks for C++ 2023-12-21 09:37:59 +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
9e2770f8bd [CP-SAT] extensive work on scheduling; add new cumulative with profile example 2023-10-08 11:21:00 +02:00
Laurent Perron
d07127d40a [CP-SAT] revisit search heuristics, lns workers search heuristics; scheduling propagation 2023-10-02 19:52:11 +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
24ea806809 [CP-SAT] work on scheduling 2023-06-14 15:13:14 +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