# sage-numerical-backends-cplex: CPLEX mixed integer linear programming backend for SageMath
[![PyPI](https://img.shields.io/pypi/v/sage-numerical-backends-cplex)](https://pypi.org/project/sage-numerical-backends-cplex/ "PyPI: sage-numerical-backends-cplex")
Prior to SageMath 9.1, `CPLEXBackend` was available as part of the [SageMath](http://www.sagemath.org/) source tree,
from which it would be built as an "optional extension" if the proprietary CPLEX library and header files have been symlinked into `$SAGE_LOCAL` manually.
Because of the proprietary nature of the CPLEX software, `CPLEXBackend` is not available in any binary distributions of SageMath.
The present standalone Python package `sage-numerical-backends-cplex` has been created from the SageMath sources, version 9.0.beta10; the in-tree version of `CPLEXBackend` has been removed in Sage ticket https://trac.sagemath.org/ticket/28175. SageMath 9.1 and later makes the package available as an optional Sage package (SPKG).
The current version of this package can also be installed on top of various Sage installations using pip.
(Your installation of Sage must be based on Python 3; if your SageMath is version 9.2 or newer, it is.)
## Installation of CPLEX
[CPLEX](https://www.ibm.com/products/ilog-cplex-optimization-studio)
is proprietary software. It is available for free for researchers and students through IBM's Academic Initiative.
Install CPLEX according to the instructions on the website.
To prepare installation of `sage-numerical-backends-cplex`, find the installation directory of your ILOG CPLEX Studio installation, which contains subdirectories ``cplex``, ``doc``, ``opl``, etc. Set the environment variable ``CPLEX_HOME`` to this directory; for example using the following shell command (on macOS):
$ export CPLEX_HOME=/Applications/CPLEX_Studio1210
or (on Linux):
$ export CPLEX_HOME=/opt/ibm/ILOG/CPLEX_Studio1210
Now verify that the CPLEX binary that you will find in the subdirectory ``cplex/bin/ARCH_OS`` starts correctly, for example::
$ $CPLEX_HOME/cplex/bin/x86-64_osx/cplex
Welcome to IBM(R) ILOG(R) CPLEX(R) Interactive Optimizer...
(Alternatively, set compiler/linker flags (or use symbolic links) so that `cplex.h` and `libcplex.so` can be found.)
## Installation of the version of this package shipped by SageMath 9.1 or later
This package is prepared as an optional Sage package (SPKG) in SageMath 9.1 or later.
To install it, use
$ sage -i sage_numerical_backends_cplex
After a successful installation, Sage will automatically make this new backend
the default MIP solver.
## Installation of the current version of this package in an existing installation of SageMath
Install this package from PyPI using
$ sage -pip install sage-numerical-backends-cplex
or from a checked out source tree using
$ sage -pip install .
or from GitHub using
$ sage -pip install git+https://github.com/sagemath/sage-numerical-backends-cplex
(See [`build.yml` in the related package sage-numerical-backends-coin package](https://github.com/sagemath/sage-numerical-backends-coin/blob/master/.github/workflows/build.yml) for details about package prerequisites on various systems.)
## Running doctests
To run the (limited) testsuite of this package, use:
$ sage setup.py test
To run the Sage testsuite with the default MIP solver set to the backend provided by this package, use:
$ sage setup.py check_sage_testsuite
Raw data
{
"_id": null,
"home_page": "https://github.com/mkoeppe/sage-numerical-backends-cplex",
"name": "sage-numerical-backends-cplex",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "milp, linear-programming, optimization",
"author": "Nathann Cohen, David Coudert, Matthias Koeppe, Martin Albrecht, John Perry, Jeroen Demeyer, Jori M\u00e4ntysalo, Erik M. Bray, and others",
"author_email": "mkoeppe@math.ucdavis.edu",
"download_url": "https://files.pythonhosted.org/packages/88/f1/3a3429c395bd8776477ac63c33952af9e3a6752e5b3d86890e160a75552d/sage_numerical_backends_cplex-10.4rc3.tar.gz",
"platform": null,
"description": "# sage-numerical-backends-cplex: CPLEX mixed integer linear programming backend for SageMath\n\n[![PyPI](https://img.shields.io/pypi/v/sage-numerical-backends-cplex)](https://pypi.org/project/sage-numerical-backends-cplex/ \"PyPI: sage-numerical-backends-cplex\")\n\nPrior to SageMath 9.1, `CPLEXBackend` was available as part of the [SageMath](http://www.sagemath.org/) source tree,\nfrom which it would be built as an \"optional extension\" if the proprietary CPLEX library and header files have been symlinked into `$SAGE_LOCAL` manually.\n\nBecause of the proprietary nature of the CPLEX software, `CPLEXBackend` is not available in any binary distributions of SageMath.\n\nThe present standalone Python package `sage-numerical-backends-cplex` has been created from the SageMath sources, version 9.0.beta10; the in-tree version of `CPLEXBackend` has been removed in Sage ticket https://trac.sagemath.org/ticket/28175. SageMath 9.1 and later makes the package available as an optional Sage package (SPKG).\n\nThe current version of this package can also be installed on top of various Sage installations using pip.\n(Your installation of Sage must be based on Python 3; if your SageMath is version 9.2 or newer, it is.)\n\n\n## Installation of CPLEX\n\n[CPLEX](https://www.ibm.com/products/ilog-cplex-optimization-studio)\nis proprietary software. It is available for free for researchers and students through IBM's Academic Initiative.\n\nInstall CPLEX according to the instructions on the website.\n\nTo prepare installation of `sage-numerical-backends-cplex`, find the installation directory of your ILOG CPLEX Studio installation, which contains subdirectories ``cplex``, ``doc``, ``opl``, etc. Set the environment variable ``CPLEX_HOME`` to this directory; for example using the following shell command (on macOS):\n\n $ export CPLEX_HOME=/Applications/CPLEX_Studio1210\n\nor (on Linux):\n\n $ export CPLEX_HOME=/opt/ibm/ILOG/CPLEX_Studio1210\n\nNow verify that the CPLEX binary that you will find in the subdirectory ``cplex/bin/ARCH_OS`` starts correctly, for example::\n\n $ $CPLEX_HOME/cplex/bin/x86-64_osx/cplex\n Welcome to IBM(R) ILOG(R) CPLEX(R) Interactive Optimizer...\n\n(Alternatively, set compiler/linker flags (or use symbolic links) so that `cplex.h` and `libcplex.so` can be found.)\n\n## Installation of the version of this package shipped by SageMath 9.1 or later\n\nThis package is prepared as an optional Sage package (SPKG) in SageMath 9.1 or later.\nTo install it, use\n\n $ sage -i sage_numerical_backends_cplex\n\nAfter a successful installation, Sage will automatically make this new backend\nthe default MIP solver.\n\n## Installation of the current version of this package in an existing installation of SageMath\n\nInstall this package from PyPI using\n\n $ sage -pip install sage-numerical-backends-cplex\n\nor from a checked out source tree using\n\n $ sage -pip install .\n\nor from GitHub using\n\n $ sage -pip install git+https://github.com/sagemath/sage-numerical-backends-cplex\n\n(See [`build.yml` in the related package sage-numerical-backends-coin package](https://github.com/sagemath/sage-numerical-backends-coin/blob/master/.github/workflows/build.yml) for details about package prerequisites on various systems.)\n\n## Running doctests\n\nTo run the (limited) testsuite of this package, use:\n\n $ sage setup.py test\n\nTo run the Sage testsuite with the default MIP solver set to the backend provided by this package, use:\n\n $ sage setup.py check_sage_testsuite\n",
"bugtrack_url": null,
"license": "GPLv2+",
"summary": "Cplex backend for Sage MixedIntegerLinearProgram",
"version": "10.4rc3",
"project_urls": {
"Homepage": "https://github.com/mkoeppe/sage-numerical-backends-cplex"
},
"split_keywords": [
"milp",
" linear-programming",
" optimization"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "88f13a3429c395bd8776477ac63c33952af9e3a6752e5b3d86890e160a75552d",
"md5": "0d451966967a28927a451e9648d5ade0",
"sha256": "e8e0df70845eadba33ab469ebdd5d1fb0f279f4a0005541c987728df5b71ce47"
},
"downloads": -1,
"filename": "sage_numerical_backends_cplex-10.4rc3.tar.gz",
"has_sig": false,
"md5_digest": "0d451966967a28927a451e9648d5ade0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 28370,
"upload_time": "2024-07-03T08:26:42",
"upload_time_iso_8601": "2024-07-03T08:26:42.104010Z",
"url": "https://files.pythonhosted.org/packages/88/f1/3a3429c395bd8776477ac63c33952af9e3a6752e5b3d86890e160a75552d/sage_numerical_backends_cplex-10.4rc3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-03 08:26:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mkoeppe",
"github_project": "sage-numerical-backends-cplex",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "sage-numerical-backends-cplex"
}