Commit Graph

63 Commits

Author SHA1 Message Date
Laurent Perron
4e893e5080 remove solow-halim glop preprocessor as the interface has changed a lot; add a proper domain class for CP-SAT integer variables, rewrite preprocessor and other parts of the solver to use it 2018-10-02 10:35:52 +02:00
Corentin Le Molgat
62cbe9a228 dotnet: Full Rework
- Create native project runtime.{rid}.Google.OrTools
  - follow the microsoft convention e.g.:
  https://www.nuget.org/packages/Microsoft.NETCore.App/
  https://www.nuget.org/packages/runtime.linux-x64.Microsoft.NETCore.App/
- Target `make_dotnet` targets local nupkg instead of dll.
- Use 4096 RSA key for or-tools.snk
- Clean nuget cache in `clean_dotnet` recipe

Refactor:
- Move cs files to ortools/*/csharp
- Move dotnet project to ortools/dotnet/Google.OrTools
- Move example generation to temp_dotnet
  - Avoid to mess the `BIN_DIR`
- Rework Google.OrTools.FSharp

Cleanup:
- Remove deps to netfx.props since we only support:
  netstandard2.0 TFM and netcoreapp2.1 Runtime TFM
- Remove OrTools.nuspec.in
  -> use newly added properties to .csproj format
- Remove of ortools/dotnet/OrTools project
  - replaced by ortools/dotnet/Google.OrTools
- Remove provided protobuf.dll.
  - Automatically retrieved from nuget.org

Misc:
- Add **/*.csproj to gitignore
- Add **/runtime.json to gitignore

- dotnet: Makefile windows fix
  - make.exe doesn't support `else ifeq`
2018-08-30 11:58:47 +02:00
Corentin Le Molgat
b43055c128 dotnet: Fix unused variable warnings 2018-08-29 16:56:25 +02: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
507cfbea26 revisit Java SAT API; follow Java naming conventions 2018-08-03 16:42:45 -07:00
Laurent Perron
f053511567 speedup sorted interval list; use new macro 2018-07-18 10:45:00 -07:00
Laurent Perron
f1351931e3 small optim 2018-07-16 11:53:07 -07:00
Laurent Perron
8e7db4fbda use std::atomic<bool> in external boolean for time limit 2018-07-04 13:31:00 +02:00
Laurent Perron
05d9faf4d7 cleanup; move parallel code from fz to sat 2018-07-03 13:01:37 +02:00
Laurent Perron
9aaf972989 more work // flatzinc-sat; merge random utils in SAT/BOP 2018-06-21 13:54:27 +02:00
Laurent Perron
ba6127b26a objective and solution exchange between search threads in the SAT/FZ solver 2018-06-19 20:08:07 +02:00
Laurent Perron
70e73d8754 clang-format 2018-06-08 16:40:43 +02:00
Laurent Perron
3396f3a965 fix sat presolve in rare conditions 2018-06-06 10:38:37 +02:00
Laurent Perron
9402f58d1d change sat internal API; stop ignoring random seed in glop 2018-05-16 13:43:29 +02:00
Dhanar Adi Dewandaru
2b17893d7b Fix wrong marshall copy size for CppProtoType in C# wrapper 2018-04-20 07:10:22 +07: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
5f95dc86fc allow assumptions with all search mode in SAT/CP 2018-03-23 15:22:38 +01:00
Laurent Perron
fa09d4949a add SimpleMaxFlow::SetArcCapacity; change to the base library 2018-03-07 11:30:39 +01:00
Laurent Perron
9044de9355 new heuristics to minimize clauses in SAT; base library changes 2018-03-06 18:17:36 +01:00
Laurent Perron
36878edc80 change BitOffset64 API to return uint32 2018-02-12 11:39:56 +01:00
Laurent Perron
6820d51741 more work on sat c# 2018-02-06 19:47:11 +01:00
Corentin Le Molgat
5759af1a97 Move CMake gflags target to its own namespace.
Use gflags::gflags as others deps to be more consistent and modern
2018-02-06 14:16:37 +01:00
Corentin Le Molgat
6856567eda Rework CMakeLists.txt
Dependencies:
- Add dependencies as subprojects instead of prebuild (aka imported target)
- add zlib project
- Use Cbc as CMake subproject instead of prebuilt
- Add log between each subproject
- Force gflags namespace to gflags

Or-tools:
- Rework python.cmake support
- Fix missing ortool.util in python (#558)
- Try to use static library for ortools::proto
pros: can use target_link_libraries to get includes etc...
cons: lot of symbols undefined since libortools.so will strip everything -_-
- Use add_library(XXX OBJECT) for ortools/*
- fix get version from git when using small depth copy
- Create Install rule for ortools
- Don't create export rules
note: since we use subprojects instead of Imported Target,
ortools export complained against target deps "that is not in the export set."

Update windows support
- add swig project
- Protobuf force the use of /MD instead of /MT
- or-tools use /MD by default
- Add missing ws2_32
- Add missing psapi
- Update windows disable warnings list
- Build Static or-tools on Windows
- fix windows export symbols leak issue

Signed-off-by: Corentin Le Molgat <corentinl@google.com>
2018-01-19 15:03:25 +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
88ef3d0302 remove std:: from std::min|max in comments; performance improvements on the SAT, bug fixes 2018-01-10 13:21:06 +01:00
Laurent Perron
3af045b0b1 remove ortools/util/filelineiter.h in favor of ortools/base/filelineiter.h 2017-12-11 15:52:26 +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
798b7cfda7 improve sigint handler 2017-12-06 12:55:41 +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
b70b548162 add missing API to BitQueue64 2017-11-24 11:07:21 +01:00
Laurent Perron
e14ee86de3 move rcpsp parser to ortools/data; continue working on SAT 2017-11-07 15:45:52 +01:00
Laurent Perron
4710247921 skeleton files to support rcpsp loader from python 2017-11-03 23:36:21 +01:00
Laurent Perron
997608b9de add rcpsp namespace to rcpsp proto 2017-11-03 01:30:21 +01:00
Laurent Perron
32737da118 move rcpsp_parser data to a proto format 2017-11-03 01:26:52 +01:00
Laurent Perron
03fccb4032 improve incrementality of glop when used in the sat solver; change more copyright dates; more documentation on the gate scheduling problem 2017-10-18 11:09:13 +02:00
Laurent Perron
2c7a8bf8f6 change copyright date 2017-10-17 13:08:10 +02:00
Laurent Perron
394bbe232a move graph code around; improve internals of sat solver 2017-10-09 11:21:43 -07:00
Laurent Perron
086640da72 move graph code around; improve sat code 2017-09-29 15:08:48 +02:00
Laurent Perron
1ce1ff7e8b using uint64 overflow instead of int64 overflow which are undefined 2017-09-06 10:18:39 +02:00
Laurent Perron
e907d4b77b improve scaling 2017-09-06 10:18:11 +02:00
Laurent Perron
7a07804ffa minor sync 2017-08-07 12:29:30 -07:00
Laurent Perron
e42ef1e06e cleanups and minor syncs; sat: add LP guided heuristics 2017-08-03 10:20:59 -07:00
Laurent Perron
21a1d11721 fix bazel support after creation of ortools/port directory 2017-08-02 14:35:12 -07:00
Laurent Perron
9c92556791 minor adjustments with internal code 2017-08-02 14:15:55 -07:00
Laurent Perron
12234acc02 minor sync with internal code 2017-08-02 10:41:27 -07:00
Laurent Perron
6dfe2a21ab a bit more presolve of flatzinc fz 2017-07-19 16:30:15 -07:00
Laurent Perron
c2e1e16ac0 add solution observer on cp_model_solver 2017-07-10 11:12:05 -07:00
Laurent Perron
1ce88caaac improve python wrapping of functions 2017-07-07 11:13:20 -07:00
Laurent Perron
01e8b59756 improved python wrapping of functions 2017-07-05 16:26:34 -07:00
Laurent Perron
0e50e4f5b8 work on sat; misc sync 2017-06-21 11:40:11 +02:00