Commit Graph

101 Commits

Author SHA1 Message Date
Laurent Perron
d99e3c679c fix #3253 2022-04-25 15:35:31 +02:00
Laurent Perron
2a5a2b7069 remove types warnings; add stronger scheduling cuts 2022-04-06 17:33:00 +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
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
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
cfeb2e49d7 [CP-SAT] Reservoir constraint uses affine expression for the time part; rename fields in the reservoir constraint 2021-11-25 14:53:05 +01:00
Laurent Perron
50e38f1750 [CP-SAT] accept affine expressions as argument of AllDiff 2021-11-23 21:38:20 +01:00
Laurent Perron
9a5986631e [CP-SAT] improve modulo propagator 2021-10-28 15:44:12 +02:00
Laurent Perron
93c7e252eb [CP-SAT] Cleanup propagator API 2021-10-25 16:30:57 +02:00
Laurent Perron
1eec259105 [CP-SAT] Cleanup intervals (remove start/size/end fields, remove _view from the other ones); change demands and capacity of the cumulative constraint to affine expressions; remove the experimental energies field from the cumulative constraint; first pass at detecting linear encoding of product of variab;es. This happens when both variables are encoded by the same literals, in an exactly_one relation; speed up the lb_tree_search worker 2021-10-20 19:50:09 +02:00
Laurent Perron
d5c777ddfa [CP-SAT] detect connected components in the model and start using the info in LNS; display var/constraints stats during search; simplify model loader; improve presolve 2021-10-16 14:48:43 +02:00
Laurent Perron
1ea133254a [CP-SAT] improve scheduling default search 2021-09-13 14:09:11 +02:00
Laurent Perron
8f5bfbc252 [CP-SAT] Fix performance bug on product/square cuts; polish new interval code 2021-09-10 15:11:11 +02:00
Laurent Perron
cc6c89823c better treatment of solution hints; add checks 2021-08-25 16:35:47 +02:00
slowy07
2e0ec51049 fix: typo spelling grammar 2021-08-16 10:49:00 +02:00
Laurent Perron
5879441a97 [CP-SAT] add quadratic term to the linear constraint builder 2021-07-01 17:44:12 +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
c80eec373b [CP-SAT] Change semantics/API of the reservoir constraint; added presolve on the reservoir constraint; experimental propagator for the reservoir constraint; fix #2293 2020-12-24 06:41:44 +01:00
Laurent Perron
cccc1b8120 more input validation, internal changes in the scheduling engine to accept affine expression in intervals 2020-12-04 17:50:43 +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
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
e28a499b0f [CP-SAT] improve feasibility pump; improve scaling of linear model; internal improvements 2020-07-05 00:29:47 +02: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
456a73d213 improve cut numerical precision; speed up presolve; fix bug with inverse constraint expansion 2020-02-03 16:21:57 +01:00
Laurent Perron
6d61ac1cb0 query the domain from an IntVar in Python/Java/C# + tests; small speedup of sat reversible data structures 2020-01-24 12:20:08 -08:00
Laurent Perron
e9342c2bc5 used strongly typed reversible data structures 2020-01-21 11:00:12 +01:00
Laurent Perron
f9f2d7b5b4 [CP-SAT] improve presolve; improve linear subsystem 2019-12-16 12:34:56 +01:00
Laurent Perron
0546d763ba fix 2019-11-25 21:39:01 +01: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
b60ed00a8f speedup sat probing 2019-10-23 17:35:31 +02:00
Laurent Perron
d0081e5409 more work on CP-SAT internals 2019-09-27 17:01:54 +02:00
Laurent Perron
fff236d800 work on CP-SAT internals 2019-09-11 12:50:25 +02:00
Laurent Perron
3d7a5c0945 some memory optimization 2019-09-03 23:30:41 +02:00
Laurent Perron
dbc4c9e673 bigbang in CP-SAT, remove element and inverse code/constraints, replace by expansion of the model; improve the internals to regain performance 2019-08-30 17:17:25 +02:00
Laurent Perron
98b59bc5e2 continue re-architecture of CP-SAT search 2019-07-05 09:33:04 +02:00
Laurent Perron
a71db75df1 more work on SAT LNS/Parallelism 2019-07-03 13:10:22 +02:00
Laurent Perron
8022fdfbc3 reduce memory in CP-SAT integer encoding; better presolve of the objective 2019-05-24 16:40:18 +02:00
Laurent Perron
8ce29056b5 dynamic tightening of the LP relaxation in the CP-SAT solver 2019-04-05 17:00:40 +02:00
Laurent Perron
11311ec8c7 fix bug with hinting + core in CP-SAT 2019-04-03 18:10:56 +02:00
Laurent Perron
92b6096403 optimize diffn a little more 2019-03-28 16:25:54 +01:00
Laurent Perron
e81e12ec45 improve CP-SAT diffn; add 2 more examples to CP-SAT cookbook; internal cleanup and improvements 2019-03-25 11:26:21 +01:00
Laurent Perron
3c436d1542 more minor sync with internal code 2019-03-13 14:45:05 +01:00
Laurent Perron
9e0f52f562 improve cp-sat internals 2019-03-12 17:41:26 +01:00