Optimization problem description classes.

This module implements a footprint of a single problem, storing number and types of expressions and constraints, and the specification of a problem class.


class picos.modeling.footprint.Footprint(recordsOrDict)[source]

Bases: RecordTree

Statistics on an optimization problem.


Construct a Footprint from raw data.

See picos.containers.RecordTree.__init__. The addValues argument is fixed; only variable and constraint paths are added.

classmethod from_problem(problem)[source]

Create a footprint from a problem instance.

classmethod from_types(obj_dir, obj_func, vars=[], cons=[], nd_opts={})[source]

Create a footprint from collections of detailed types.

  • obj_dir (str) – Objective direction.

  • obj_func – Detailed objective function type.

  • nd_opts (list(str)) – A dictionary mapping option names to nondefault values.

Parm list(tuple) vars

A list of pairs of detailed variable type and occurence count.

Parm list(tuple) cons

A list of pairs of detailed constraint type and occurence count.


Override updated.

This method, just like __init__, does not take the additional addValues argument.


Return a copy with additional solution search options applied.

property constraints[source]

A dictionary mapping detailed constraint types to their quantity.

property continuous

Whether no integral variable type is present.

property cost

A very rough measure on how expensive solving such a problem is.

This is logarithmic in the estimated size of the constraint matrix.

property direction

Objective function optimization direction.

property integer[source]

Whether an integral variable type is present.

property nonconvex_quadratic_objective[source]

Whether the problem has a nonconvex quadratic objective.

property nondefault_options[source]

A dictionary mapping option names to their nondefault values.


This property is cached for performance reasons, do not modify any mutable option value (make a deep copy instead)!

property objective

Detailed type of the objective function.

property options[source]

An Options object.


This property is cached for performance reasons, do not modify the returned object (make a copy instead)!

property size[source]

Return the estimated size of the (dense) scalar constraint matrix.

property variables[source]

A dictionary mapping detailed variable types to their quantity.

class picos.modeling.footprint.Specification(objectives=None, variables=None, constraints=None, nondefault_options=None)[source]

Bases: object

Representation of a mathematical class of optimization problems.

__init__(objectives=None, variables=None, constraints=None, nondefault_options=None)[source]

Create a specification from the given features.

The token None means no requirement.


Give one string reason why the given footprint does not match.