156 Commits

Author SHA1 Message Date
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
e9f9404923 Remove logging code; use absl one 2023-01-31 20:46:43 +01:00
Laurent Perron
5035573759 [CP-SAT] better symmetry handling; more robust LP search 2022-12-15 13:25:41 +01:00
Laurent Perron
e4c6bbb327 [CP-SAT] better expand_objective during presolve; improved implementation of obj_lb_search; refactor search code 2022-12-15 10:37:30 +01:00
Laurent Perron
c08b48d25b [CP-SAT] improve oveflow detection in cuts; fix fingerprint; add objective_lb_search 2022-12-12 17:19:20 +01:00
Laurent Perron
1ca305fa1c [CP-SAT] improve processing of hints; fix bug with median_value heuristic; misc cleanup 2022-11-15 16:47:05 +01:00
Laurent Perron
8948fcc24b [CP-SAT] cleaning 2022-10-17 17:11:59 +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
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
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
29662f2006 [CP-SAT] Improve assumptions algorithm; tweak lb_tree_search 2022-02-17 16:20:21 +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
fca9e871d3 simplify previous code 2022-02-11 15:02:47 +01:00
Laurent Perron
aba1f15139 polish 2022-02-09 14:07:25 +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
321d02c17c more strong integer types; use them in CP-SAT; polish shaving code; remove 1 overflow in cuts 2022-02-07 14:31:18 +01:00
Laurent Perron
19760f2791 [CP-SAT] polish shaving/probing code 2022-02-05 17:25:28 +01:00
Laurent Perron
ac28232456 [CP-SAT] rewrite probing search; fix bug with missing propagation on the first binary clause learned 2022-02-05 10:39:14 +01:00
Laurent Perron
f339e626bd [CP-SAT] code cleaning; add probing info to the log 2022-01-26 15:54:33 +01:00
Laurent Perron
18d001912d remove ortools/base/random.h|cc; adapt code everywhere; increase robustness of glop preprocessor 2021-12-06 14:03:19 +01:00
Laurent Perron
b17cc59129 fix rare bugs 2021-09-16 17:43:08 +02:00
Laurent Perron
1ea133254a [CP-SAT] improve scheduling default search 2021-09-13 14:09:11 +02:00
Laurent Perron
1c512fd12d change a bit the export code: propagate effect 2021-09-07 11:53:01 +02:00
Laurent Perron
80987d328b [CP-SAT] rewrite element expand; improve lin_max linear relaxation; detect value element and add linear relaxation; plenty of bug fixes 2021-07-23 21:59:20 +02:00
Laurent Perron
b0c79d4d4b improve scheduling heuristics 2021-07-15 18:38:26 +02:00
Laurent Perron
0f65844f2f new scheduling heuristics 2021-07-15 11:14:27 +02:00
Laurent Perron
2287ed2b58 fix #2604 2021-07-12 15:57:34 +02:00
Laurent Perron
b02ec0d22c fix bug when search was not finishing in parallel 2021-07-01 14:44:46 +02: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
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
bad5c2032b int64 -> int64_t 2021-03-04 18:26:01 +01:00
Laurent Perron
b7d2104898 fix 2 sat bugs 2020-11-25 22:38:26 +01:00
Laurent Perron
c25be42578 fix rare race in solution reporting 2020-11-20 16:15:52 +01:00
Laurent Perron
ad194e85fb polish probing code 2020-11-19 18:12:18 +01:00
Laurent Perron
d5c7c48e79 int_type_indexed_vector -> strong_vector; polish cp-sat probing workers 2020-11-19 00:17:26 +01:00
Laurent Perron
7ed855af90 remove near zero terms when converting MIP models for CP-SAT; add small presolve, and root node propagation 2020-11-16 17:01:21 +01:00
Laurent Perron
6467dc69b0 reformat the code; [CP-SAT] add dominated columns presolve 2020-10-28 13:42:51 +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
fee3fbe3ab better treatment of 'infinite' propagation loops 2020-10-07 18:57:18 +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
7268ce5589 add incremental in-search preprocessing to SAT; fix #2040; fix rare check in glop 2020-06-03 12:07:07 +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
a0cc52731e expand table constraints; improve cut management; speed up presolve 2020-03-19 00:24:10 +01:00
Laurent Perron
e1c1828b62 fix sat presolve with complex encoding interactions; speed-up scheduling code 2020-02-24 17:10:20 +01:00
Laurent Perron
5fb3bd0455 improve sat expansion; cuts management 2019-09-18 17:31:11 +02:00