92 Commits

Author SHA1 Message Date
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
640aaeb8e0 [CP-SAT] lots of bugfixes, improvement to primary variables heuristics; cleanup scheduling cuts code 2025-05-14 13:33:20 +02:00
Laurent Perron
9d82a36f55 [CP-SAT] improve opb file support; minor fuzzer bug fixes 2025-04-14 16:35:59 +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
ee23527569 big includes cleanup 2025-02-24 22:59:21 +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
17e798fe07 [CP-SAT] improve no_overlap_2d propagator, add the try_edge no_overlap_2d in the more-scheduling mode; defensive programming on the table constraint 2024-11-07 18:17:35 -08:00
Laurent Perron
2865361533 [CP-SAT] change the element constraint proto to support affine expressions everywhere; more work on lp folding and support of symmetries in the LP and the linear subsystem 2024-10-18 11:53:38 +02:00
Laurent Perron
b8626a31f8 [CP-SAT] check the time limit more frequently; experimental support for lp folding; more pedantic tests in presolve 2024-10-16 14:12:38 +02:00
Corentin Le Molgat
b9c5e21289 sat: Export from google3 2024-10-07 11:10:49 +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
8d4b32967c [CP-SAT] cleanup diffn propagation; remove dead code 2024-01-31 14:44:02 +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
Laurent Perron
e9c81911c4 [CP-SAT] memory optimizations; improve no_overlap_2d; change default parameters 2024-01-10 16:42:04 +01:00
Mizux Seiha
a76bf1c5dd bump license boilerplate 2024-01-04 13:43:15 +01:00
Laurent Perron
44948b1860 [CP-SAT] fix bug in symmetries; 2023-11-03 15:08:51 +01:00
Laurent Perron
ae8bb2dd23 [CP-SAT] rewrite the after solver LP log 2023-10-19 21:58:05 +02:00
Laurent Perron
a7b26f6d8d [CP-SAT] new example; regroup some linear code 2023-09-23 10:16:08 +02:00
Laurent Perron
823ce1188c [CP-SAT] better management of cuts; better overflow detection; do not run feasibility_jump if search is globally finished; fix #3842 2023-07-04 14:11:25 +02:00
Laurent Perron
c3fdb12908 Switch algorithms and scheduling python libraries from swig to pybind11; switch protobuf support from forced serialization to pybind11_protobuf -- with patch; [CP-SAT] rewrite cut management; reformat samples with black 2023-06-30 22:49:35 +02:00
Laurent Perron
224a38f87f cleanup code 2023-05-24 11:42:11 +02:00
Laurent Perron
ff3bbcc0b3 [CP-SAT] improve cut management 2023-05-10 17:19:43 +02:00
Laurent Perron
31157e3aaa [CP-SAT] improve cut management 2023-05-06 09:04:12 +02:00
Laurent Perron
8348ec8f94 [CP-SAT] Switch cut code to int128; more work on feasibility_jump and violation_ls 2023-05-03 09:33:50 +02:00
Laurent Perron
dbaef62eb5 [CP-SAT] improvements to feasibility_jump, better presolve on lin_max; tuning 2023-04-21 12:48:03 +02:00
Laurent Perron
e544d1d5e6 [CP-SAT] add debugging facilities; fix a few minor bugs 2023-03-02 17:05:04 +04:00
Laurent Perron
c6fbcf57e4 speed up linear relaxation, cuts code 2023-02-01 17:46:22 +01:00
Laurent Perron
584275eb06 [CP-SAT] rewrite cut code 2022-11-17 17:23:30 +01:00
Laurent Perron
256e717b90 [CP-SAT] reorganize synchronization code; improve linear cuts strenthening 2022-10-25 20:31:33 +02:00
Laurent Perron
e8e53ae6ee [CP-SAT] coefficient strenghtening 2022-10-18 14:19:15 +02:00
Laurent Perron
363a6fb198 [CP-SAT] more work on experimental linear propagation; fix #3483; start cleaning up the synchronization code 2022-10-03 18:12:14 +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
f3b935a371 [CP-SAT] better encoding/compression of the table constraint; better scheduling LNS (follow laborie/nuijten/godard 2005 article; stronger presolve on linear when some variables belong to a at_most_one/exactly_one; improve cut management routine 2022-05-24 07:52:06 +02:00
Laurent Perron
74d5a10f50 minor sync 2022-04-08 11:01:13 +02:00
Laurent Perron
2a5a2b7069 remove types warnings; add stronger scheduling cuts 2022-04-06 17:33:00 +02:00
Laurent Perron
1605046dba remove diffn energetic propagator, use the cumulative_energy overload checker 2022-03-21 17:37:47 +01:00
Laurent Perron
13dbe6a387 [CP-SAT] fix crash in core search and in presolve; add more needed stl includes 2022-03-14 15:06:11 +01:00
Laurent Perron
c82cfdc9ad remove map_util from most of the code; absl::make_unique and absl::optional -> stl version 2022-03-09 09:08:40 +01:00
Laurent Perron
19667205a2 std::set/map -> absl::btree_set/map 2022-02-25 09:47:39 +01:00
Laurent Perron
8fe2df9a18 [CP-SAT] regenerates all includes; improve core solver when the objective is pseudo-boolean 2022-02-15 18:00:11 +01:00
Laurent Perron
cce9db62ec [CP-SAT] lighter and much faster encoding of the automaton constraint; fix two rare bugs with linear constraints; small improvement of the table constraint 2021-11-03 19:29:01 +01:00
Laurent Perron
00ad4a5bee [CP-SAT] implement lb_tree search; speedup diffn (presolve, propagation); implement median search; remove unused affine relation during presolve; add sub-solver search statistics 2021-05-25 23:05:12 +02:00
Laurent Perron
851bdaa7eb fix #2525; rewrite scheduling cuts; add cumulative cuts; reorganize internal search 2021-04-30 14:20:46 +02:00
Laurent Perron
f0c6c3b487 [CP-SAT] prepare for custom search; enable ExportToFile in binary format; add balas scheduling cut 2021-04-23 14:57:27 +02:00
Mizux Seiha
8bb54b04ef Bump Copyright to 2021
FYI:
find ortools \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i 's/\(Copyright 2010\)-2018/\1-2021/g'
2021-04-01 21:00:53 +02:00
Laurent Perron
4d1b9d227f capture CP-SAT log in python/java/.NET; visual tweak of the log; tweak the logging facilities for CP-SAT 2021-03-11 21:07:17 +01:00