Classes | |
struct | Bounds |
Upper and lower bound for optimization variables and constraints. More... | |
class | Component |
Interface representing either Variable, Cost or Constraint. More... | |
class | Composite |
A collection of components which is treated as another Component. More... | |
class | ConstraintSet |
A container holding a set of related constraints. More... | |
class | CostTerm |
A container holding a single cost term. More... | |
class | ExComponent |
class | ExConstraint |
class | ExCost |
class | ExVariables |
class | Problem |
A generic optimization problem with variables, costs and constraints. More... | |
class | VariableSet |
A container holding a set of related optimization variables. More... | |
Variables | |
static const Bounds | BoundGreaterZero = Bounds( 0.0, +inf) |
static const Bounds | BoundSmallerZero = Bounds(-inf, 0.0) |
static const Bounds | BoundZero = Bounds( 0.0, 0.0) |
static const double | inf = 1.0e20 |
static const Bounds | NoBound = Bounds(-inf, +inf) |
static int | print_counter = 0 |
Example to generate a solver-independent formulation for the problem, taken from the IPOPT cpp_example.
min_x f(x) = -(x1-2)^2 s.t. 0 = x0^2 + x1 - 1 -1 <= x0 <= 1
In this simple example we only use one set of variables, constraints and cost. However, most real world problems have multiple different constraints and also different variable sets representing different quantities. This framework allows to define each set of variables or constraints absolutely independently from another and correctly stitches them together to form the final optimization problem.
const Bounds ifopt::BoundGreaterZero = Bounds( 0.0, +inf) [static] |
const Bounds ifopt::BoundSmallerZero = Bounds(-inf, 0.0) [static] |
const Bounds ifopt::BoundZero = Bounds( 0.0, 0.0) [static] |
const double ifopt::inf = 1.0e20 [static] |
int ifopt::print_counter = 0 [static] |
Definition at line 167 of file composite.cc.