Mizux Seiha
655eec5260
cmake: rework python
2021-12-03 14:20:19 +01:00
Laurent Perron
9fefaadfaf
[LP] change default tolerance on verify solution; add missing base include
2021-11-28 13:01:55 +01:00
Laurent Perron
475880c6c7
show load model errors in python linear solver
2021-10-12 10:51:42 +02:00
Laurent Perron
778b1b3854
[MPSolver] Add better code to interrupt solve; rewrite thread management code when using the CP-SAT solver backend
2021-09-23 14:30:01 +02:00
Laurent Perron
6a84a52d9e
switch from pdoc3 to pdoc
2021-09-20 15:23:45 +02:00
Mizux Seiha
c7441c346c
cmake: Migrate to Python3 and use Development.Module
...
note: Development.Module is use to look for python header only
since library is not available on manylinux.
see: https://gitlab.kitware.com/cmake/cmake/-/issues/20425
note2: Development.Module has been introduced in CMake 3.18
ref: https://cmake.org/cmake/help/latest/module/FindPython3.html
2021-09-08 16:08:52 +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
Corentin Le Molgat
9662b630d6
python: Fix linear_solver.i wrapper
2021-04-01 16:39:12 +02:00
Laurent Perron
3779db1f83
deep rewrite of the gurobi loading code
2021-03-19 16:24:35 +01:00
Laurent Perron
6e15467065
linear solver: int64 -> int64_t; use new CP-SAT logging
2021-03-12 16:59:39 +01:00
Laurent Perron
c55f00b7ed
improve StopSearch() robustness
2021-01-08 09:48:52 +01:00
Laurent Perron
bcb7b3073d
large synchro with internal code: linear solver: introduce intermediate SCIP layer called gscip; sat: more work on slow propagation detection; base: remove statusor, use abseil version; constraint solver: more work on internal local search
2020-10-18 16:38:25 +02:00
Mizux Seiha
dbb878aa36
python: Fix LoadSolutionFromProto leak ( Fix #2190 )
2020-10-08 13:51:47 +02:00
Laurent Perron
23aeaf6072
fix #2094
2020-07-06 11:53:52 +02:00
Laurent Perron
f0f675debd
remove non C++ leaks with the linear solver
2020-06-25 11:15:19 +02:00
Laurent Perron
a8fc48e1fd
polish linear solver backend selection code
2020-06-25 10:32:58 +02:00
Laurent Perron
d6ecea46ad
experimental support for dynamic loading of gurobi; add MPSolver.CreateSolver() factory method for non C++ languages to check correctly installed linear solver backends and licenses when needed; port all non C++ examples
2020-06-24 18:11:12 +02:00
Mizux Seiha
90a3155af1
cmake(python): Fix module update
2020-05-20 18:46:57 +02:00
Mizux Seiha
775aec03dd
cmake(python): Refactor
...
* Use new Python module
* Use setup.py.in input file (should fix windows error)
2020-05-20 10:13:14 +02:00
Corentin Le Molgat
22356ff523
Sync g3 -> gh part_2
2020-03-09 18:34:21 +01:00
Corentin Le Molgat
f2981e11c3
CMake:python: Add missing definition for swig
2020-03-05 13:04:08 +01:00
Corentin Le Molgat
4c7456b175
CMake: Update Python support
...
* Add define SWIGWORDSIZE64 on Linux
* Add -doxygen option
* add ortools/util/python
* Move python generated stuff to BINARY_DIR/python
* Bump CMake >= 3.14 as requirement
* SWIG module rework from 3.9 to 3.14
* Python module rework in 3.12
* Drop Python 2.7 support (like in Makefile)
* Fix clean target
* OUTPUT/BYPRODUCTS path are relative to CURRENT_BINARY_DIR not WORKING_DIR
* Fix ortools package install in virtualenv
* Clean target now remove the <build>/venv directory
2020-02-28 08:21:27 +01: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
bc43e37c90
add sat inferface to the linear solver wrapper
2019-10-18 14:39:51 +02:00
Laurent Perron
439cebb9c8
polish xpress support
2019-09-04 15:20:45 +02:00
Laurent Perron
d216e3caab
remove obsolete unignore
2019-07-18 11:36:10 -07:00
Laurent Perron
8152464418
document more linear solver code
2019-07-17 07:08:02 -07:00
Laurent Perron
ef8be0d86e
polish doc
2019-07-16 10:13:02 -07:00
Laurent Perron
afc4ad1214
simplify python vector swig
2019-07-05 09:32:43 +02:00
Laurent Perron
e6ff7153aa
polish new linear_solver non C++ API
2019-07-01 14:13:15 +02:00
Laurent Perron
d4c088a367
test linear solver constraints(), variables(), and SetHint in Python/Java/C#
2019-07-01 13:41:17 +02:00
Laurent Perron
92891ceb01
implement #506
2019-06-29 17:20:42 +02:00
Laurent Perron
8d492a7dfc
fix and test SetHint for linear_solver/Python
2019-06-29 15:54:26 +02:00
Laurent Perron
8a4ae8bff0
working SetNumTheads in Python/Java/C#; Working SetHint in java/C#
2019-06-29 12:35:15 +02:00
Laurent Perron
8ade2b9209
revert useless previous CL
2019-06-24 15:43:03 +02:00
Laurent Perron
c5554f6ea7
fix #1374
2019-06-24 11:25:24 +02:00
Laurent Perron
342d703d18
wrap linear solver proto APIs in python
2019-05-17 14:02:59 +02:00
Laurent Perron
dbef2bb42f
expose SetNumThreads in python
2019-05-16 08:12:33 +02:00
Corentin Le Molgat
361df3bab6
Expose SetUB and SetLB methods on MPVariables in python.
2019-05-14 11:24:32 +02:00
Laurent Perron
aeec2312d7
fix missing export methods in python
2019-05-10 14:23:28 +02:00
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