PICOS: A Python Interface for Conic Optimization Solvers


  • 19 Jul. 13: Picos 1.0.0 Released
    Major Release with following changes:

    • Semidefinite Programming Interface for MOSEK 7.0 !!!
    • New options handleBarVars and handleConeVars to customize how SOCP and SDPs are passed to MOSEK (When these options are set to True , PICOS tries to minimize the number of variables of the MOSEK instance, see the doc in set_all_options_to_default()).
    • The function dualize() returns the Lagrangian dual of a Problem.
    • The option solve_via_dual (documented in set_all_options_to_default() ) allows the user to pass the dual of a problem to a solver, instead of the primal problem itself. This can yield important speed-up for certain problems.
    • In addition to the geometric mean function picos.geomean() , it is now possible to pass rational powers of affine expressions (through an overload of the ** operator), trace of matrix powers with picos.tracepow() , (generalized) p-norms with picos.norm(), and nth root of a determinant with picos.detrootn(). These functions automatically reformulate the entered inequalities as a set of equivalent SOCP or SDP constraints.
    • It is now possible to specify variable bounds directly (rather than adding constraints of the type x >= 0 ). This can be done with the Keywords lower and upper of the function add_variable() , or by the methods set_lower() , set_upper() , set_sparse_lower() , and set_sparse_upper() of the class Variable.
    • It is now more efficient to update a Problem and resolve it. This is done thanks to the attribute passed of the classes Constraint and Variable , that stores which solvers are already aware of a constraint / variable. There is also an attribute obj_passed of the class Problem , that lists the solver instances where the objective function has already been passed. The option onlyChangeObjective has been deprecated.
  • Former changes are listed here.

PICOS Documentation contents

Welcome to the documentation of PICOS. The latest version can be downloaded here, and can be installed by following these instructions. This documentation contains a tutorial and some examples, which should already be enough for a quick start with PICOS. To go deeper, have a look at the picos reference, which provides information on every function of PICOS.

Indices and tables