  Circuits play a fundamental role in polyhedral theory and linear programming.
For instance, circuits are used as step directions in various augmentation
schemes for solving linear programs or to leave degenerate vertices while
running the simplex method. However, there are significant challenges when
implementing these approaches: The set of circuits of a polyhedron may be of
exponential size and is highly sensitive to the representation of the
polyhedron.
  In this paper, we provide a universal framework for enumerating the set of
circuits and optimizing over sets of circuits of a polyhedron in any
representation - we propose a polyhedral model in which the circuits of the
original polyhedron are encoded as extreme rays or vertices. Many methods in
the literature and software assume that a polyhedron is in standard form; our
framework is a direct generalization. We demonstrate its value by showing that
the conversion of a general representation to standard form may introduce
exponentially many new circuits.
  We then discuss the main advantages of the generalized polyhedral model. It
enables the direct enumeration of useful subsets of circuits such as strictly
feasible circuits or sign-compatible circuits, as well as optimization over
these sets. In particular, this leads to the efficient computation of a
steepest-descent circuit, which can be used in an augmentation scheme for
solving linear programs or the construction of sign-compatible circuit walks
with additional
