57 Commits

Author SHA1 Message Date
Laurent Perron
cd37bacd2a backport sat from main 2025-11-24 16:26:34 +01:00
Laurent Perron
72d75ca109 [CP-SAT] work on lrat; better expansion of variables only appearing in encoding constraints 2025-11-18 16:24:18 +01:00
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
Corentin Le Molgat
b4b226801b update include guards 2025-11-05 11:54:02 +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
Laurent Perron
7f463e1a68 sync with main 2025-06-02 14:25:50 +02:00
Laurent Perron
188cfcbde5 [CP-SAT] work on precedences; improve scheduling cuts 2025-05-27 14:34:42 +02:00
Laurent Perron
0a5e8db6af [CP-SAT] lots of bugfixes, improvement to primary variables heuristics; cleanup scheduling cuts code 2025-05-14 13:34:04 +02:00
Laurent Perron
c3dd11050e CP-SAT cleanups 2025-03-25 07:33:46 -07:00
Laurent Perron
d432627bbc cleanups 2025-03-24 04:53:51 -07:00
Laurent Perron
d7b250cf5e Add StopSearch function in C++ CP-SAT 2025-03-23 20:46:46 -07:00
Laurent Perron
f9b6212649 [CP-SAT] experimental routing cuts; new cumulative cuts; improve no_overlap_2d code all around 2025-02-05 18:12:33 +01:00
Corentin Le Molgat
da058cd01b cmake: Fix and enabled shared lib support with MSVC
* Add decldll to proto
* rework init to make it working for MSVC
* fix test_xprs_interface build
dotnet: Fix MSVC shared libs support
  * Fix csproj to include libortools.dll
java: Fix MSVC shared_libs support
  * Fix runtime jar to include libortools.dll
python: Fix MSVC shared_libs support
  * fix __init__.py.in loading for MSVC
2025-02-04 14:28:08 +01:00
Corentin Le Molgat
a66a6daac7 Bump Copyright to 2025 2025-01-10 11:35:44 +01:00
Laurent Perron
21a75638c2 partial sync with main (without the routing part) 2024-07-12 13:56:11 +02:00
Laurent Perron
ec453aafb6 [CP-SAT] fix best bound callback non C++ code; more work on pseudo-costs 2024-05-30 10:52:46 +02:00
Laurent Perron
d28edd701c [CP-SAT] code cleanup; more pseudo-cost experimental code; add objective best bound callback 2024-05-30 10:52:46 +02: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
fa6883d544 mostly cleaning: remove integral_types.h and basictypes.h 2023-08-24 14:52:54 +02:00
Laurent Perron
65eedeb038 [CP-SAT] revisit core based search; polish graph_arc_lns 2023-07-17 14:41:57 -07: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
1f8a0a7770 Add version string to sat/glop; export MPSolver::SolverVersion() in python/java/C# 2022-12-20 11:54:29 +01: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
3414942957 [CP-SAT] add parameter to control the size of the solution pool; improve expand of multiplications spanning across 0; fix scaling bug 2021-09-14 17:32:15 +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
Corentin Le Molgat
e4caaf96bc format file forcing the left alignment 2020-10-29 14:25:39 +01:00
Mizux Seiha
20d0496bfb reapply google format 2020-10-23 00:45:17 +02:00
Laurent Perron
a4258f2bdf switch flags setters and getters to the absl format 2020-10-21 00:21:54 +02:00
Laurent Perron
581d5606e0 fix #2005; massive rewrite of pure sat processing; RINS/RENS improvements in CP-SAT; get rid of base/status.h in favor of the absl version 2020-05-06 18:22:10 +02:00
Laurent Perron
2ff000ab9a bump abseil to the latest version, adapt the code all around 2019-11-20 14:28:11 -08:00
Laurent Perron
09655b81ea add LinearExpr.Term() API; improve internals 2019-08-22 13:15:49 +02:00
Laurent Perron
44c7d142cf polish doc 2019-08-13 08:32:44 -07:00
Laurent Perron
5401b57553 add CP-SAT C++ doxygen tags 2019-08-12 23:14:22 -07:00
Laurent Perron
7115cf570f reorganize SIGINT catching 2019-06-27 17:28:56 +02:00
Laurent Perron
b78002be05 remove CP-SAT SolveWithModel, keep the equivalent SolveCpModel; optimize internal model 2019-05-15 20:19:00 +02:00
Laurent Perron
292d98620b move swig bridge code on logging to base/logging.h 2019-04-06 12:48:04 +02:00
Laurent Perron
17b9b597a1 change CP-SAT C++ Api to call Build() on the model before solving; use log_search_progress parameters to display all log; enable this parameter in non C++ language; call InitGoogleLogging() automatically in non C++ languages 2019-04-05 14:58:33 +02:00
Laurent Perron
4342c010f6 improve info sharing between bounds, reorganize code, fix bug in presolve found by lns 2018-12-19 16:05:16 +01:00
Laurent Perron
b70c189167 minor fix in CP element; improve time limit support of CP-SAT during presolve; clean up lower bound sharing code in parallel CP-SAT 2018-12-10 17:33:20 +01:00
Laurent Perron
49816f439b experimental objective lower bound sharing in // CP-SAT search 2018-12-06 17:16:54 +01:00
Laurent Perron
87b9d55b21 update license headers 2018-11-10 18:00:53 +01:00
Laurent Perron
9aaf972989 more work // flatzinc-sat; merge random utils in SAT/BOP 2018-06-21 13:54:27 +02:00
Laurent Perron
ba6127b26a objective and solution exchange between search threads in the SAT/FZ solver 2018-06-19 20:08:07 +02:00
Laurent Perron
7bbe09d26a [SAT,FZ] pass best solution found so far to LNS workers 2018-06-18 15:27:25 +02:00
Laurent Perron
43d2de294a tweak // and lns search in sat/fz 2018-06-15 19:36:33 +02:00
Laurent Perron
70e73d8754 clang-format 2018-06-08 16:40:43 +02:00
Laurent Perron
4cd6ecccb3 revisit time limit; add special sigint handler; fix bug in sat presolve with enforcement literals 2017-12-06 11:23:11 +01:00