Skip to main content

FICO Xpress Optimizer libraries

Project description

FICO® Xpress Python interface

Create and solve Mathematical Optimization problems like the following:

min  x1^2 + 2 x2
s.t. x1 + 3 x2 >= 4
     -10 <= x1 <= 10
     x1 in Z
     x2 >= 0

with just a few lines of code:

import xpress as xp
p = xp.problem(name='myexample')  # problem name (optional)
x1 = p.addVariable(vartype=xp.integer, name='x1', lb=-10, ub=10)
x2 = p.addVariable(name='x2')
p.setObjective(x1**2 + 2*x2)      # objective function
p.addConstraint(x1 + 3*x2 >= 4)   # one or more constraints
p.optimize()
print ("solution: {0} = {1}; {2} = {3}".format (x1.name, p.getSolution(x1), x2.name, p.getSolution(x2)))

With the xpress module, one can create and solve optimization problems using the Python® programming language and the FICO Xpress Optimizer library. The module allows for

  • Creating, handling, solving, and querying optimization problems;
  • Using Python numerical libraries such as NumPy to create optimization problems;
  • Setting and getting the value of parameters (controls and attributes) of a problem; and
  • Using Python functions as callbacks for the Xpress Optimizer and the Xpress Nonlinear solver.

The Xpress Python interface allows for creating, handling, and solving all problems that can be solved with the FICO-Xpress library: Linear Programming (LP), Quadratic Programming (QP), Second-Order Conic Programming (SOCP), and their mixed-integer extensions: MILP, MIQP, MIQCQP, MISOCP, together with general nonlinear and mixed-integer nonlinear.

Installation

The Xpress Python interface can be downloaded from PyPI and from Anaconda. Run

pip install xpress

to install from PyPI, and

conda install -c fico-xpress xpress

to install from the Conda repository.

Xpress 9.9 will be the last release to be published on Anaconda. Subsequent releases of Xpress will be published on PyPI only.

The downloaded package contains: a directory examples with several examples of usages of the module, with varying degrees of difficulty, and a directory license containing the Xpress Community License The full HTML documentation for the Xpress Optimizer, including the Python interface and its examples, is available at the FICO Xpress Optimization Help page.

If you do not have any FICO Xpress license, the community license will be recognized by the module and no further action is needed. If you do have a license, for instance located in /users/johndoe/xpauth.xpr, make sure to set the global environment variable XPRESS to point to the folder containing the xpauth.xpr file, i.e. XPRESS=/user/johndoe.

For a list of supported versions and their end of support dates, please see https://www.fico.com/en/product-support/support-level-software-release. Customers can download selected older versions of the package from the Xpress client area site by clicking on the Archived Downloads link.

GPU installation guidelines for PDHG

The primal-dual hybrid gradient (PDHG) linear optimization solver can now take advantage of an NVIDIA® CUDA®-capable GPU, if present. The GPU support for PDHG is available as a beta release with Xpress 9.9. The following platforms have been tested: Linux (both x86_64 and ARM64) and Windows (x86_64).

Software requirements:

  • At least version 580 of the NVIDIA drivers must be installed. The latest version is available from https://www.nvidia.com/drivers.
  • At least version 13.0 of the NVIDIA CUDA Runtime must be installed.

When installing Xpress from PyPI, the CUDA Runtime can be specified as an optional dependency:

pip install "xpress[cuda]"

When installing Xpress from Conda, the CUDA Runtime can be installed using the following command:

conda install -c nvidia cuda-cudart libcusparse libcublas

Alternatively, the CUDA Runtime can be installed as part of the CUDA Toolkit, which can be downloaded from https://developer.nvidia.com/cuda-downloads.

Licensing

The Xpress software is governed by the Xpress Shrinkwrap License Agreement. When downloading the package, you accept the license terms. A copy of the Xpress Shrinkwrap License is stored in the file LICENSE.txt in the dist-info directory of the Xpress module.

This package includes the community license of Xpress, see the licensing options overview for more details.

Miscellaneous

"Python" is a registered trademark of the Python Software Foundation. "FICO" is a registered trademark of Fair Isaac Corporation in the United States and may be a registered trademark of Fair Isaac Corporation in other countries. Other product and company names herein may be trademarks of their respective owners.

Copyright (C) Fair Isaac 1983-2026

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

xpresslibs-9.9.1-py3-none-win_amd64.whl (49.1 MB view details)

Uploaded Python 3Windows x86-64

xpresslibs-9.9.1-py3-none-manylinux2014_aarch64.whl (20.8 MB view details)

Uploaded Python 3

xpresslibs-9.9.1-py3-none-manylinux1_x86_64.whl (50.6 MB view details)

Uploaded Python 3

xpresslibs-9.9.1-py3-none-macosx_14_0_arm64.whl (16.1 MB view details)

Uploaded Python 3macOS 14.0+ ARM64

File details

Details for the file xpresslibs-9.9.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: xpresslibs-9.9.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 49.1 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for xpresslibs-9.9.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 e7ee1a0fd1d03ec85a1eaa5c945fa5db808e5f7604c765d353b70d5f5f6c2129
MD5 9b59f099a8196fbe1c85cdb31f8ac915
BLAKE2b-256 2e9db4c3aaebc6fea5af13d9fe7612f5fbe5a23ae4550cbf0b1e60a9e8122512

See more details on using hashes here.

File details

Details for the file xpresslibs-9.9.1-py3-none-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for xpresslibs-9.9.1-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 04ee3738e071cac81638eeec84781af465cf24fdf4e9495c4351131da5c0292b
MD5 a51902cc4dbaa8cbd576056ccb0c8ccc
BLAKE2b-256 a12a27c3d209eb8155a79ca8aa6fb0b6fc186669299c443757687fa1908eb495

See more details on using hashes here.

File details

Details for the file xpresslibs-9.9.1-py3-none-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for xpresslibs-9.9.1-py3-none-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b72de9e5e9ce50fc0a80eb40cd6a1103d2f49c64e9b1ca98622fc093b774a111
MD5 bb13b92e14c8d48300972a0a3ee8a901
BLAKE2b-256 ab9759563a1af85840c8bea7b7675793fb16d54f7d01107138228e80fe4792ab

See more details on using hashes here.

File details

Details for the file xpresslibs-9.9.1-py3-none-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for xpresslibs-9.9.1-py3-none-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 474fa4089ebc318fcdf87ade969a93a9e045bbac6f156edd50e7e3b248a8170d
MD5 44000b6947eea8e410f764879a8b914b
BLAKE2b-256 7833b07aa8819df4790fbb4bda88a39b220697dc672a4907573207183e9302c6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page