47 Commits

Author SHA1 Message Date
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
Corentin Le Molgat
b4b226801b update include guards 2025-11-05 11:54:02 +01: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
c06d62f0cb rename internal sat method; more tests 2025-04-03 16:18:34 +02: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
21a75638c2 partial sync with main (without the routing part) 2024-07-12 13:56:11 +02:00
Mizux Seiha
a76bf1c5dd bump license boilerplate 2024-01-04 13:43:15 +01:00
Laurent Perron
990fc9eb4a [CP-SAT] simplify clauses periodically (off by default); remove pure sat code path 2023-11-22 14:48:08 +01:00
Laurent Perron
08e53974c7 [CP-SAT] tweak model cloning API; implement it in java; merge pure sat presolve with normal presolve 2023-10-25 15:38:57 +02:00
Laurent Perron
407c9bb5dc [CP-SAT] fix overflow in presolve, check failed in feasibility_jump; remove obsolete macro 2023-08-30 10:04:11 -04:00
Laurent Perron
fa6883d544 mostly cleaning: remove integral_types.h and basictypes.h 2023-08-24 14:52:54 +02:00
Laurent Perron
224a38f87f cleanup code 2023-05-24 11:42:11 +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
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
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
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
9de99d789e improve logging facilities, use it in the CP-SAT solver 2021-03-10 11:40:28 +01:00
Laurent Perron
bad5c2032b int64 -> int64_t 2021-03-04 18:26:01 +01:00
Laurent Perron
d5c7c48e79 int_type_indexed_vector -> strong_vector; polish cp-sat probing workers 2020-11-19 00:17:26 +01:00
Corentin Le Molgat
c75ac92a5a Sync from Google to GitHub 2020-11-16 17:50:54 +01: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
a0cc52731e expand table constraints; improve cut management; speed up presolve 2020-03-19 00:24:10 +01:00
Laurent Perron
6ec3362ad0 speed up presolve 2019-10-24 18:24:11 +02:00
Laurent Perron
9e0f52f562 improve cp-sat internals 2019-03-12 17:41:26 +01:00
Corentin Le Molgat
b027e57e95 dotnet: Remove reference to dotnet release command
- Currently not implemented...

Add abseil patch

- Add patches/absl-config.cmake

Makefile: Add abseil-cpp on unix

- Force abseil-cpp SHA1 to 45221cc
  note: Just before the PR #136 which break all CMake

Makefile: Add abseil-cpp on windows

- Force abseil-cpp SHA1 to 45221cc
  note: Just before the PR #136 which break all CMake

CMake: Add abseil-cpp

- Force abseil-cpp SHA1 to 45221cc
  note: Just before the PR #136 which break all CMake

port to absl: C++ Part

- Fix warning with the use of ABSL_MUST_USE_RESULT
  > The macro must appear as the very first part of a function
    declaration or definition:
    ...
    Note: past advice was to place the macro after the argument list.
  src: dependencies/sources/abseil-cpp-master/absl/base/attributes.h:418
- Rename enum after windows clash
- Remove non compact table constraints
- Change index type from int64 to int in routing library
- Fix file_nonport compilation on windows
- Fix another naming conflict with windows (NO_ERROR is a macro)
- Cleanup hash containers; work on sat internals
- Add optional_boolean sub-proto

Sync cpp examples with internal code
- reenable issue173 after reducing number of loops

port to absl: Python Part

- Add back cp_model.INT32_MIN|MAX for examples

Update Python examples

- Add random_tsp.py
- Run words_square example
- Run magic_square in python tests

port to absl: Java Part

- Fix compilation of the new routing parameters in java
- Protect some code from SWIG parsing

Update Java Examples

port to absl: .Net Part

Update .Net examples

work on sat internals; Add C++ CP-SAT CpModelBuilder API; update sample code and recipes to use the new API; sync with internal code

Remove VS 2015 in Appveyor-CI

- abseil-cpp does not support VS 2015...

improve tables

upgrade C++ sat examples to use the new API; work on sat internals

update license dates

rewrite jobshop_ft06_distance.py to use the CP-SAT solver

rename last example

revert last commit

more work on SAT internals

fix
2018-11-30 14:48:55 +01:00
Laurent Perron
87b9d55b21 update license headers 2018-11-10 18:00:53 +01:00
Laurent Perron
4caaef3c23 deep sync with base library renaming; lint checking; Speedup sat; new crash procedure for glop 2018-08-28 11:19:49 +02:00
Laurent Perron
c1ab121ff7 ITIVector -> gtl::ITIVector; experimental LNS code for SAT 2018-06-26 21:24:10 +02:00
Laurent Perron
70e73d8754 clang-format 2018-06-08 16:40:43 +02:00
Laurent Perron
df333efbcd rewrite drat checker for sat; make fz presolve deterministic; more optims on sat internals 2018-05-03 15:00:06 +02:00
Laurent Perron
b238ebbdda Some fixes in the pure-SAT part of the cp_model solver:
- Use the model time limit (to make ^C work)
- Take into account some part of the presolve in the deterministic time.
- Move the drat flag there.
2018-02-23 17:28:21 +01:00
Laurent Perron
604587eec7 minor changes; change the search parameters in the cp_model.proto 2018-01-15 10:41:09 +01: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
7155047b85 cleanup includes in sat 2017-07-27 11:28:55 -07:00
Laurent Perron
0501a62221 add sat clause simplifications to cp_model solver 2017-07-20 11:30:17 -07:00
Laurent Perron
cbd8ba8641 introduce array slices and use them in sat 2017-06-01 16:28:29 +02:00
Laurent Perron
4db7d3bc4e remove hash_map/hash_set; replace with std::unordered_map|set 2017-04-27 14:14:05 +02: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