PICOS: A Python Interface for Conic Optimization Solvers¶
Welcome to the documentations of PICOS, a user-friendly python interface to many linear and conic optimization solvers, see more about PICOS in the introduction.
The latest version can be downloaded here,
and can be installed by following these instructions.
Alternatively, you can clone the latest development version from github:
$ git clone https://github.com/gsagnol/picos.git. If you wish to collaborate on PICOS,
please make a pull request on github.
This documentation contains a tutorial and some examples, which should already be enough for a quick start with PICOS. There is also a summary of useful implemented functions. To go deeper, have a look at the picos reference, which provides information on every function of PICOS.
- 29 Aug. 15: Picos 1.1.1 Released
- Minor release with following changes:
- Partial trace of an Affine Expression, cf.
- Bugfix for compatibility with python3 (thanks to Sergio Callegari)
- Initial support for the SDPA solver (with the option
solver='sdpa', picos works as a wrapper around the SDPA executable based on the
write_to_file()function; thanks to Petter Wittek )
- Better PEP8-compliance
- 15 Apr. 15: Picos 1.1.0 Released
- PICOS is now compatible with python 3+ (and remains compatible with python 2.6+). Many thanks to Sergio Callegari for this compatibility layer ! If you plan to work with PICOS and python3, think to install the most recent version of your solver (Mosek, Cplex, Gurobi, or Cvxopt). SCIP is not supported in python3+ at this point (but remains supported with python 2.x).
- PICOS is now available on github.
- 30 Jan. 15: Picos 1.0.2 Released
- Major release with following new functionalities:
- Support (read and write) for
.cbfproblem files (conic benchmark format ), which should be the standard for (mixed integer) conic optimization problems, cf.
- Improved support for complex SDP (more efficient implementation of
to_real(), corrected bug in the implementation of the scalar product for Hermitian matrices and the conjugate of a complex expression, support for equality constraints involving complex coefficients)
- Support for inequalities involving the sum of k largest elements of an affine expression, or the k largest eigenvalues of a symmetric matrix expression, cf. the functions
- Support for inequalities involving the norm of an affine expresison, cf.
vtypefor antisymmetric matrix variables (
- Constraints can be specified as membership in a
Set. Sets can be created by the functions
- New functions
maximizeto specify the objective function of a problem and solve it.
- And many thanks to Petter Wittek for the following improvements, who were motivated by the use of PICOS in the package ncpol2sdpa for optimization over noncommutative polynomials:
- More efficient implementation of the writer to the sparse - SDPA file format (
- Hadamard (elementwise) product of affine expression is implemented, as an overload of the
^operator, cf. an example here .
- Partial transposition of an Affine Expression, cf.
Former changes are listed here.
PICOS Documentation contents
- User’s guide
- The PICOS Reference
- Change History