49 Commits

Author SHA1 Message Date
Corentin Le Molgat
1b4d75ceb3 sat: backport from main 2025-11-05 13:55:12 +01: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
88c61c005b [CP-SAT] more minor improvements 2025-01-30 12:45:32 +01:00
Laurent Perron
54b8c24839 big graph cleaning; rewrite CP-SAT python layer; rewrite model_builder python layer; reorganize CP-SAT scheduling and packing code 2025-01-15 13:51:40 +01:00
Corentin Le Molgat
a66a6daac7 Bump Copyright to 2025 2025-01-10 11:35:44 +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
99d869a4a1 [CP-SAT] more span; minor scheduling optims 2024-08-02 19:57:27 +02:00
Mizux Seiha
a76bf1c5dd bump license boilerplate 2024-01-04 13:43:15 +01:00
Laurent Perron
691cbc0b72 [CP-SAT] speed up timetable 2023-10-26 15:41:29 +02:00
Laurent Perron
224a38f87f cleanup code 2023-05-24 11:42:11 +02:00
Laurent Perron
9931205f7c [CP-SAT] prepare for reservoir with variable demand; internal tweakes 2022-09-09 16:48:39 +02:00
Laurent Perron
5bf40c04f2 fix timetable explanation 2022-08-23 16:35:50 +02:00
Laurent Perron
f119e22b5b [CP-SAT] improve cumulative propagation, use precedence graph; speedup timetable and cumulative_energy; remove reduced_memory parameter 2022-06-23 16:16:17 +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
e3eb35132b [CP-SAT] add more CpModel C++ methods; fix #3248; fix #3251; specify restrictions in cp_model.proto 2022-04-21 16:28:13 +02:00
Laurent Perron
20b1c7eeab [CP-SAT] Speedup timetable, fix bug in base SAT engine, improve scheduling cuts 2022-04-20 17:38:59 +02:00
Laurent Perron
3ba6968b67 [CP-SAT] improve scheduling cuts and explanations 2022-04-14 16:42:13 +02:00
Laurent Perron
0f99350f64 [CP-SAT] improve scheduling code (propagator, cuts) 2022-04-13 17:29:48 +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
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
068a71104a [CP-SAT] fix cumulative presolve; use strong_index 2022-02-04 14:20:08 +01:00
Corentin Le Molgat
4defaa23ed Export strong_int.h 2022-01-31 18:44:25 +01:00
slowy07
2e0ec51049 fix: typo spelling grammar 2021-08-16 10:49:00 +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
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
b7d2104898 fix 2 sat bugs 2020-11-25 22:38:26 +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
7d413479f6 refactor code 2020-09-14 22:23:17 +02:00
Laurent Perron
2357139f9c expand all diff; change namespace in boolean_problem.proto 2020-09-10 10:39:29 +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
dd6fbc32b1 move MakeCleanup from gtl:: to absl::; CP-SAT improvements 2020-02-05 11:27:02 +01:00
Laurent Perron
87b9d55b21 update license headers 2018-11-10 18:00:53 +01:00
Laurent Perron
e323bba2e7 backport sat improvements from the abseil branch 2018-11-05 16:24:47 +01:00
Laurent Perron
b1da9320f9 enable objective lower bound (when minimizing) on the SAT solver in Python, Java, C#; change objective_value to be double (as in C++) for these languages. 2018-09-20 11:30:19 +02:00
Laurent Perron
01815e2d6d fix bug in the sat scheduling code found by the rcpsp 2018-09-13 16:26:03 +02:00
Laurent Perron
70e73d8754 clang-format 2018-06-08 16:40:43 +02:00
Laurent Perron
3e401080f9 [SAT] preprocess tasks with 0-1 demands in cumulative as optional tasks; fix scheduling code with optional intervals 2018-05-18 13:45:49 +02:00
Laurent Perron
8623fc3580 speed up sat cumulative; add namespaces to base library + fix code 2018-04-11 13:00:30 +02:00
Laurent Perron
2c7a8bf8f6 change copyright date 2017-10-17 13:08:10 +02:00
Laurent Perron
2003500276 improve sat performance 2017-09-06 10:18:51 +02:00
Laurent Perron
7155047b85 cleanup includes in sat 2017-07-27 11:28:55 -07:00
Laurent Perron
66b8d23079 move src to ortools; simplified python generation; remove some namespaces in the ortools/base helper files 2017-04-26 17:30:25 +02:00