45 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
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
Mizux Seiha
068359c162 ortools: backport from main 2025-03-04 21:09:32 +01:00
Corentin Le Molgat
a66a6daac7 Bump Copyright to 2025 2025-01-10 11:35:44 +01:00
Corentin Le Molgat
cd8fe14232 graph: rename io.h as graph_io.h
This avoid compile errors on windows since msvc already provide a io.h system header.
Which is included by googletest (gtest-port.h IIRC), so enabling graph tests will fail
2024-10-21 11:01:37 +02: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
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
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
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
bad5c2032b int64 -> int64_t 2021-03-04 18:26:01 +01:00
Laurent Perron
111f43b139 add deterministic time limit to the graph symmetry finder; improve support for scheduling constraints in regular LNS for CP-SAT; improve symmetry detection for CP-SAT 2021-02-03 15:39:48 +01:00
Corentin Le Molgat
a5b5c79f9f Sync g3 to gh 2020-12-11 17:50:03 +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
6467dc69b0 reformat the code; [CP-SAT] add dominated columns presolve 2020-10-28 13:42:51 +01:00
Laurent Perron
f1bb445810 first version without gflags and glog
* Add custom glog using absl::flags
* Fix lpi_glop patch to use absl::flags

Abseil:
* remove gflags and glog deps

Make:
* remove gflags and glog deps (unix & windows)
* regenerate makefile.gen.mk
* Cleanup install recipe
* Cleanup archive
* Cleanup doc
2020-10-24 00:49:50 +02: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
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
c32598a573 remove warning 2020-05-06 18:51:46 +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
2ff000ab9a bump abseil to the latest version, adapt the code all around 2019-11-20 14:28:11 -08:00
Laurent Perron
c9b7d58e5a plenty of minor format issues; fix one numerical issue with glop; improve cut management in CP-SAT; automatic tightening of big-M in CP-SAT 2019-04-08 19:00:46 +02: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
8623fc3580 speed up sat cumulative; add namespaces to base library + fix code 2018-04-11 13:00:30 +02:00
Laurent Perron
9044de9355 new heuristics to minimize clauses in SAT; base library changes 2018-03-06 18:17:36 +01:00
Laurent Perron
4cd6ecccb3 revisit time limit; add special sigint handler; fix bug in sat presolve with enforcement literals 2017-12-06 11:23:11 +01:00
Laurent Perron
2c7a8bf8f6 change copyright date 2017-10-17 13:08:10 +02:00
Laurent Perron
48837ce11f Assignment -> Assignments in cp_model.py 2017-10-09 17:19:33 -07: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
33314b1869 cleanup sat code after change to allow linear objective 2017-07-05 16:27:00 -07:00
Amit Prakash Ambasta
b2cf45a161 Added cmath for fabs, append current root to protobuf include dirs 2017-05-30 12:02:56 +05:30
Laurent Perron
8c08d72260 replace hash_map and hash_set by unordered_map and unordered_set 2017-04-27 17:34:24 +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