Commit Graph

17 Commits

Author SHA1 Message Date
Laurent Perron
2a4fc564b4 add constraint with index in linear solver (API + Proto); rewrite MPS reader/writer; update base library as needed 2019-04-18 19:18:48 +02:00
Laurent Perron
fedf3d4ff4 revamp and simplify swig support, force typed enums for C# and Java for all except the constraint_solver/routing module; port examples; Fix SAT on very large problems 2018-12-11 17:03:03 +01:00
Laurent Perron
1e59a36509 reduce swig complexity 2018-12-11 11:52:50 +01:00
Laurent Perron
589047ce90 python support int64 -> int64_t 2018-12-10 13:35:41 +01:00
Corentin Le Molgat
47fefdc3bb Remove tab from CMakeLists.txt
- Mandatory to follow google internal convention
2018-11-13 10:12:02 +01:00
Laurent Perron
87b9d55b21 update license headers 2018-11-10 18:00:53 +01:00
Laurent Perron
7a1889bb1f make name -> var or constraint optional in linear solver 2018-07-24 13:23:58 -07:00
Ying-zong Huang
b400cf8c2f Add exception handling to the solver creation call
This is a very targeted addition, which can be generalized. It
makes the following changes:

1. In the solver creation call of the Gurobi interface, i.e.
the constructor `GurobiInterface::GurobiInterface`, the GLOG
severity level is reduced to `DFATAL`, which becomes `ERROR` in
production. This means errors in calls to `GRBloadenv` no longer
automatically kill the process as a side effect.

2. An `std::runtime_error` exception is raised with the return code
and the error message from GRBloadenv. This replaces the functionality
of exiting the process when this error is unhandled. Additionally,
it enables alternate handling by the caller.

3. In the linear solver SWIG wrapper, exception wrapping is turned
on specifically for the `MPSolver::MPSolver` constructor call and
the `std::runtime_error` that may now occur there. This exception
is re-raised as the corresponding RuntimeError in the target language.

Addresses issue #699.
2018-05-24 21:40:38 -04:00
Corentin Le Molgat
e452a83dc4 Add missing enum to Python MPSolverParameters (Fix #97) 2018-04-27 18:10:59 +02:00
Laurent Perron
a12d754e8f export CPLEX in python 2018-04-03 07:28:26 +02:00
Corentin Le Molgat
19ae1c121c Fix python loader_path 2018-01-22 14:33:20 +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
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
Amit Prakash Ambasta
553772d03c Removed python build for cleaner patches 2017-05-31 12:00:50 +05:30
Amit Prakash Ambasta
2a12468b93 Added cmake support for C++, initial python build support 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
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