41 Commits

Author SHA1 Message Date
Corentin Le Molgat
b4b226801b update include guards 2025-11-05 11:54:02 +01:00
Corentin Le Molgat
b05315de21 sat: backport from main 2025-09-22 17:24:20 +02:00
Laurent Perron
a841258da7 [CP-SAT] misc improvements to the internals; more work on general constraints with enforcements 2025-09-17 07:47:03 +02:00
Laurent Perron
5341feef73 [CP-SAT] add experimental routing constraint; more no_overlap_2d presolve; add random_half branching heuristics 2025-01-28 13:34:40 +01:00
Corentin Le Molgat
a66a6daac7 Bump Copyright to 2025 2025-01-10 11:35:44 +01:00
Laurent Perron
198a4d3f12 [CP-SAT] fir rare bug in dependency graph and implications; speed up no_overlap_2d and cumulative relaxation 2024-12-16 14:20:09 +01:00
Laurent Perron
dba2281f13 [CP-SAT] more work on no_overlap_2d; revisit all includes 2024-12-04 17:47:28 +01:00
Laurent Perron
503b038dfc [CP-SAT] optimize binary implication graph; rewrite some no_overlap_2d constraints; lot of spans 2024-11-28 15:52:59 +01:00
Laurent Perron
c930dd656e [CP-SAT] check the time limit more frequently; experimental support for lp folding; more pedantic tests in presolve 2024-10-16 14:13:02 +02:00
Laurent Perron
d6de78c923 [CP-SAT] vivification after import; remove unused affine in presolve; remove obsolete ThreadPool usage 2024-10-08 16:06:05 +02:00
Laurent Perron
21a75638c2 partial sync with main (without the routing part) 2024-07-12 13:56:11 +02: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
7d0d173a0f [CP-SAT] optimize feasibility jump; optimize linear presolve; better presolve logging; fix #3917; rewrite and simplify search heuristics code 2023-09-13 18:16:28 +02:00
Laurent Perron
fa6883d544 mostly cleaning: remove integral_types.h and basictypes.h 2023-08-24 14:52:54 +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
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
2264cb9059 [CP-SAT] more aggregate presolve; fix bug with no_overlap and duplicated intervals; add parameter for the probing time limit; use all threads to find the first solution while the lns workers are idle; tweak lb_tree_search by allowing more glop iterations at the root node 2022-11-29 14:39:27 +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
3ed32f3dd3 [CP-SAT] Add new scheduling lns; improve cover cuts; improve the propagation of the timetable constraint; speed-up domination detection (abort early if possible); remove deprecated knapsack cut code 2022-05-09 14:44:50 +02: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
89ea9e4eeb [CP-SAT] improve presolve on combinations of linear constraints; stricter validation of models coming from MPSolver; remove some contentions on the mutex regulating workers new info shared centrally; remove wrongs DCHECKs in the expansion phase; rewrite multithreading and workers control; allows specifying which workers to run in the portfolio; periodically import shared info in lb_tree_search 2022-02-09 10:52:29 +01:00
Laurent Perron
dd85ab7a03 [CP-SAT] reorganize loader/linear_relaxation/cut code; improve SchedulingConstraintHelper; fix/speedup diffn propagation and cuts 2021-06-04 08:35:20 +02: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
efd16c78da [CP-SAT] deprecate SearchAllSolutions and SolveWithSolutionCallback 2021-05-03 12:11:39 +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
bcb7b3073d large synchro with internal code: linear solver: introduce intermediate SCIP layer called gscip; sat: more work on slow propagation detection; base: remove statusor, use abseil version; constraint solver: more work on internal local search 2020-10-18 16:38:25 +02:00
Laurent Perron
484aafb903 A few fixes on CP-SAT; work on scheduling LP cuts 2020-10-01 18:08:34 +02:00
Laurent Perron
6b230b3b83 rewrite internal search workflow for CP-SAT 2019-04-15 08:54:06 -07:00
Laurent Perron
87b9d55b21 update license headers 2018-11-10 18:00:53 +01:00
Laurent Perron
eb10fb9c7a change LNS implementation in SAT; improve logging in SAT/FZ 2018-06-29 18:29:19 +02:00
Laurent Perron
c1ab121ff7 ITIVector -> gtl::ITIVector; experimental LNS code for SAT 2018-06-26 21:24:10 +02:00
Laurent Perron
3cc06b82c7 move search diversification from flatzinc to sat 2018-06-22 14:03:11 +02:00
Laurent Perron
8d7320b962 deep sync with base library; prepare for abseil.io integration 2017-12-08 14:52:49 +01:00
Laurent Perron
2c7a8bf8f6 change copyright date 2017-10-17 13:08:10 +02:00
Laurent Perron
086640da72 move graph code around; improve sat code 2017-09-29 15:08:48 +02:00